1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_SHELL_BROWSER_MINIMAL_SHELL_H_
6 #define CONTENT_SHELL_BROWSER_MINIMAL_SHELL_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "ui/aura/client/stacking_client.h"
16 class DefaultCaptureClient
;
20 class TestActivationClient
;
31 class CompoundEventFilter
;
32 class InputMethodEventFilter
;
38 // Creates a minimal environment for running the shell. We can't pull in all of
39 // ash here, but we can create attach several of the same things we'd find in
40 // the ash parts of the code.
41 class MinimalShell
: public aura::client::StackingClient
{
43 explicit MinimalShell(const gfx::Size
& default_window_size
);
44 virtual ~MinimalShell();
46 // Overridden from client::StackingClient:
47 virtual aura::Window
* GetDefaultParent(aura::Window
* context
,
49 const gfx::Rect
& bounds
) OVERRIDE
;
52 scoped_ptr
<aura::RootWindow
> root_window_
;
54 // Owned by RootWindow
55 views::corewm::CompoundEventFilter
* root_window_event_filter_
;
57 scoped_ptr
<aura::client::DefaultCaptureClient
> capture_client_
;
58 scoped_ptr
<views::corewm::InputMethodEventFilter
> input_method_filter_
;
59 scoped_ptr
<aura::test::TestActivationClient
> test_activation_client_
;
60 scoped_ptr
<aura::client::FocusClient
> focus_client_
;
62 DISALLOW_COPY_AND_ASSIGN(MinimalShell
);
65 } // namespace content;
67 #endif // CONTENT_SHELL_BROWSER_MINIMAL_SHELL_H_