Index: content/shell/minimal_ash.cc |
diff --git a/content/shell/minimal_ash.cc b/content/shell/minimal_ash.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e1ff94abd8d95b426521059c8a7c93b9ae8d9c96 |
--- /dev/null |
+++ b/content/shell/minimal_ash.cc |
@@ -0,0 +1,53 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "content/shell/minimal_ash.h" |
+ |
+#include "ui/aura/client/default_capture_client.h" |
+#include "ui/aura/focus_manager.h" |
+#include "ui/aura/root_window.h" |
+#include "ui/aura/test/test_activation_client.h" |
+#include "ui/views/corewm/compound_event_filter.h" |
+#include "ui/views/corewm/input_method_event_filter.h" |
+ |
+namespace content { |
+ |
+MinimalAsh::MinimalAsh() { |
+ root_window_.reset(new aura::RootWindow( |
+ aura::RootWindow::CreateParams(gfx::Rect(100, 100)))); |
+ root_window_->Init(); |
+ aura::client::SetStackingClient(root_window_.get(), this); |
+ |
+ focus_client_.reset(new aura::FocusManager); |
+ aura::client::SetFocusClient(root_window_.get(), focus_client_.get()); |
+ |
+ root_window_event_filter_ = new views::corewm::CompoundEventFilter; |
+ // Pass ownership of the filter to the root_window. |
+ root_window_->SetEventFilter(root_window_event_filter_); |
+ |
+ input_method_filter_.reset(new views::corewm::InputMethodEventFilter( |
+ root_window_->GetAcceleratedWidget())); |
+ input_method_filter_->SetInputMethodPropertyInRootWindow( |
+ root_window_.get()); |
+ root_window_event_filter_->AddHandler(input_method_filter_.get()); |
+ |
+ test_activation_client_.reset( |
+ new aura::test::TestActivationClient(root_window_.get())); |
+ |
+ capture_client_.reset( |
+ new aura::client::DefaultCaptureClient(root_window_.get())); |
+} |
+ |
+MinimalAsh::~MinimalAsh() { |
+ root_window_event_filter_->RemoveHandler(input_method_filter_.get()); |
+} |
+ |
+aura::Window* MinimalAsh::GetDefaultParent( |
+ aura::Window* context, |
+ aura::Window* window, |
+ const gfx::Rect& bounds) { |
+ return root_window_.get(); |
+} |
+ |
+} // namespace content |