1 // Copyright (c) 2012 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_SHELL_STACKING_CLIENT_ASH_H_
6 #define CONTENT_SHELL_SHELL_STACKING_CLIENT_ASH_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
;
30 class CompoundEventFilter
;
31 class InputMethodEventFilter
;
37 // Creates a minimal environment for running the shell. We can't pull in all of
38 // ash here, but we can create attach several of the same things we'd find in
39 // the ash parts of the code.
40 class ShellStackingClientAsh
: public aura::client::StackingClient
{
42 ShellStackingClientAsh();
43 virtual ~ShellStackingClientAsh();
45 // Overridden from client::StackingClient:
46 virtual aura::Window
* GetDefaultParent(aura::Window
* context
,
48 const gfx::Rect
& bounds
) OVERRIDE
;
51 scoped_ptr
<aura::RootWindow
> root_window_
;
53 // Owned by RootWindow
54 views::corewm::CompoundEventFilter
* root_window_event_filter_
;
56 scoped_ptr
<aura::client::DefaultCaptureClient
> capture_client_
;
57 scoped_ptr
<views::corewm::InputMethodEventFilter
> input_method_filter_
;
58 scoped_ptr
<aura::test::TestActivationClient
> test_activation_client_
;
59 scoped_ptr
<aura::client::FocusClient
> focus_client_
;
61 DISALLOW_COPY_AND_ASSIGN(ShellStackingClientAsh
);
64 } // namespace content;
66 #endif // CONTENT_SHELL_SHELL_STACKING_CLIENT_ASH_H_