OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "mojo/services/view_manager/root_view_manager.h" | 5 #include "mojo/services/view_manager/root_view_manager.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/scoped_observer.h" | 8 #include "base/scoped_observer.h" |
9 #include "mojo/public/cpp/application/application_connection.h" | 9 #include "mojo/public/cpp/application/application_connection.h" |
| 10 #include "mojo/services/public/interfaces/gpu/gpu.mojom.h" |
10 #include "mojo/services/view_manager/root_node_manager.h" | 11 #include "mojo/services/view_manager/root_node_manager.h" |
11 #include "mojo/services/view_manager/root_view_manager_delegate.h" | 12 #include "mojo/services/view_manager/root_view_manager_delegate.h" |
12 #include "mojo/services/view_manager/screen_impl.h" | 13 #include "mojo/services/view_manager/screen_impl.h" |
13 #include "mojo/services/view_manager/window_tree_host_impl.h" | 14 #include "mojo/services/view_manager/window_tree_host_impl.h" |
14 #include "ui/aura/client/default_capture_client.h" | 15 #include "ui/aura/client/default_capture_client.h" |
15 #include "ui/aura/client/focus_client.h" | 16 #include "ui/aura/client/focus_client.h" |
16 #include "ui/aura/client/window_tree_client.h" | 17 #include "ui/aura/client/window_tree_client.h" |
17 #include "ui/aura/window.h" | 18 #include "ui/aura/window.h" |
18 #include "ui/aura/window_observer.h" | 19 #include "ui/aura/window_observer.h" |
19 | 20 |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 RootViewManagerDelegate* delegate, | 75 RootViewManagerDelegate* delegate, |
75 const Callback<void()>& native_viewport_closed_callback) | 76 const Callback<void()>& native_viewport_closed_callback) |
76 : delegate_(delegate), | 77 : delegate_(delegate), |
77 root_node_manager_(root_node), | 78 root_node_manager_(root_node), |
78 in_setup_(false) { | 79 in_setup_(false) { |
79 screen_.reset(ScreenImpl::Create()); | 80 screen_.reset(ScreenImpl::Create()); |
80 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get()); | 81 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get()); |
81 NativeViewportPtr viewport; | 82 NativeViewportPtr viewport; |
82 app_connection->ConnectToService( | 83 app_connection->ConnectToService( |
83 "mojo:mojo_native_viewport_service", &viewport); | 84 "mojo:mojo_native_viewport_service", &viewport); |
| 85 GpuPtr gpu_service; |
| 86 // TODO(jamesr): Should be mojo:mojo_gpu_service |
| 87 app_connection->ConnectToService("mojo:mojo_native_viewport_service", |
| 88 &gpu_service); |
84 window_tree_host_.reset(new WindowTreeHostImpl( | 89 window_tree_host_.reset(new WindowTreeHostImpl( |
85 viewport.Pass(), | 90 viewport.Pass(), |
86 gfx::Rect(800, 600), | 91 gpu_service.Pass(), |
87 base::Bind(&RootViewManager::OnCompositorCreated, | 92 gfx::Rect(800, 600), |
88 base::Unretained(this)), | 93 base::Bind(&RootViewManager::OnCompositorCreated, base::Unretained(this)), |
89 native_viewport_closed_callback, | 94 native_viewport_closed_callback, |
90 base::Bind(&RootNodeManager::DispatchNodeInputEventToWindowManager, | 95 base::Bind(&RootNodeManager::DispatchNodeInputEventToWindowManager, |
91 base::Unretained(root_node_manager_)))); | 96 base::Unretained(root_node_manager_)))); |
92 } | 97 } |
93 | 98 |
94 RootViewManager::~RootViewManager() { | 99 RootViewManager::~RootViewManager() { |
95 window_tree_client_.reset(); | 100 window_tree_client_.reset(); |
96 window_tree_host_.reset(); | 101 window_tree_host_.reset(); |
97 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, NULL); | 102 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, NULL); |
98 } | 103 } |
99 | 104 |
100 void RootViewManager::OnCompositorCreated() { | 105 void RootViewManager::OnCompositorCreated() { |
101 base::AutoReset<bool> resetter(&in_setup_, true); | 106 base::AutoReset<bool> resetter(&in_setup_, true); |
(...skipping 11 matching lines...) Expand all Loading... |
113 aura::client::SetFocusClient(window_tree_host_->window(), | 118 aura::client::SetFocusClient(window_tree_host_->window(), |
114 focus_client_.get()); | 119 focus_client_.get()); |
115 | 120 |
116 window_tree_host_->Show(); | 121 window_tree_host_->Show(); |
117 | 122 |
118 delegate_->OnRootViewManagerWindowTreeHostCreated(); | 123 delegate_->OnRootViewManagerWindowTreeHostCreated(); |
119 } | 124 } |
120 | 125 |
121 } // namespace service | 126 } // namespace service |
122 } // namespace mojo | 127 } // namespace mojo |
OLD | NEW |