[content shell] implement testRunner.overridePreference
[chromium-blink-merge.git] / content / shell / shell_stacking_client_ash.h
blobde169c4932a881199b8bd2d6d85318204cf590b2
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"
12 namespace aura {
13 class RootWindow;
14 class Window;
15 namespace client {
16 class DefaultCaptureClient;
17 class FocusClient;
19 namespace test {
20 class TestActivationClient;
24 namespace gfx {
25 class Rect;
28 namespace views {
29 namespace corewm {
30 class CompoundEventFilter;
31 class InputMethodEventFilter;
35 namespace content {
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 {
41 public:
42 ShellStackingClientAsh();
43 virtual ~ShellStackingClientAsh();
45 // Overridden from client::StackingClient:
46 virtual aura::Window* GetDefaultParent(aura::Window* context,
47 aura::Window* window,
48 const gfx::Rect& bounds) OVERRIDE;
50 private:
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_