Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Unified Diff: mojo/services/window_manager/window_manager_app.cc

Issue 636363002: Splits window manager like methods into ViewManagerServiceDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge 2 trunk Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/services/window_manager/window_manager_app.cc
diff --git a/mojo/services/window_manager/window_manager_app.cc b/mojo/services/window_manager/window_manager_app.cc
index 518671ce2cefe19b5709f12cfa784c0e453c0292..ffd80a89d6a10f1314690ecac41265597814e6af 100644
--- a/mojo/services/window_manager/window_manager_app.cc
+++ b/mojo/services/window_manager/window_manager_app.cc
@@ -81,12 +81,14 @@ WindowManagerApp::WindowManagerApp(
ViewManagerDelegate* view_manager_delegate,
WindowManagerDelegate* window_manager_delegate)
: shell_(nullptr),
+ window_manager_service2_factory_(this),
window_manager_service_factory_(this),
wrapped_view_manager_delegate_(view_manager_delegate),
- wrapped_window_manager_delegate_(window_manager_delegate),
+ window_manager_delegate_(window_manager_delegate),
view_manager_(NULL),
root_(NULL),
- dummy_delegate_(new DummyDelegate) {
+ dummy_delegate_(new DummyDelegate),
+ window_manager_client_(nullptr) {
}
WindowManagerApp::~WindowManagerApp() {}
@@ -101,12 +103,12 @@ aura::Window* WindowManagerApp::GetWindowForViewId(Id view) {
return it != view_id_to_window_map_.end() ? it->second : NULL;
}
-void WindowManagerApp::AddConnection(WindowManagerServiceImpl* connection) {
+void WindowManagerApp::AddConnection(WindowManagerService2Impl* connection) {
DCHECK(connections_.find(connection) == connections_.end());
connections_.insert(connection);
}
-void WindowManagerApp::RemoveConnection(WindowManagerServiceImpl* connection) {
+void WindowManagerApp::RemoveConnection(WindowManagerService2Impl* connection) {
DCHECK(connections_.find(connection) != connections_.end());
connections_.erase(connection);
}
@@ -157,8 +159,9 @@ void WindowManagerApp::Initialize(ApplicationImpl* impl) {
bool WindowManagerApp::ConfigureIncomingConnection(
ApplicationConnection* connection) {
- connection->AddService(&window_manager_service_factory_);
+ connection->AddService(&window_manager_service2_factory_);
connection->AddService(view_manager_client_factory_.get());
+ connection->AddService(&window_manager_service_factory_);
return true;
}
@@ -171,7 +174,6 @@ void WindowManagerApp::OnEmbed(ViewManager* view_manager,
scoped_ptr<ServiceProvider> imported_services) {
DCHECK(!view_manager_ && !root_);
view_manager_ = view_manager;
- view_manager_->SetWindowManagerDelegate(this);
root_ = root;
window_tree_host_.reset(new WindowTreeHostMojo(shell_, root_));
@@ -204,22 +206,6 @@ void WindowManagerApp::OnViewManagerDisconnected(
}
////////////////////////////////////////////////////////////////////////////////
-// WindowManagerApp, WindowManagerDelegate implementation:
-
-void WindowManagerApp::Embed(
- const String& url,
- InterfaceRequest<ServiceProvider> service_provider) {
- if (wrapped_window_manager_delegate_)
- wrapped_window_manager_delegate_->Embed(url, service_provider.Pass());
-}
-
-void WindowManagerApp::DispatchEvent(EventPtr event) {
- scoped_ptr<ui::Event> ui_event = event.To<scoped_ptr<ui::Event> >();
- if (ui_event)
- window_tree_host_->SendEventToProcessor(ui_event.get());
-}
-
-////////////////////////////////////////////////////////////////////////////////
// WindowManagerApp, ViewObserver implementation:
void WindowManagerApp::OnTreeChanged(
@@ -270,8 +256,15 @@ void WindowManagerApp::OnViewBoundsChanged(View* view,
// WindowManagerApp, ui::EventHandler implementation:
void WindowManagerApp::OnEvent(ui::Event* event) {
- aura::Window* window = static_cast<aura::Window*>(event->target());
- view_manager_->DispatchEvent(GetViewForWindow(window), Event::From(*event));
+ if (!window_manager_client_)
+ return;
+
+ View* view = GetViewForWindow(static_cast<aura::Window*>(event->target()));
+ if (!view)
+ return;
+
+ window_manager_client_->DispatchInputEventToView(view->id(),
+ Event::From(*event));
}
////////////////////////////////////////////////////////////////////////////////
« no previous file with comments | « mojo/services/window_manager/window_manager_app.h ('k') | mojo/services/window_manager/window_manager_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698