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

Side by Side Diff: services/window_manager/window_manager_app.h

Issue 815003002: Nukes ViewManager arg from ViewManagerDelegate::OnEmbed (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: format Created 6 years 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 unified diff | Download patch
OLDNEW
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 #ifndef SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_APP_H_ 5 #ifndef SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_APP_H_
6 #define SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_APP_H_ 6 #define SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_APP_H_
7 7
8 #include <set> 8 #include <set>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 mojo::ApplicationConnection* connection) override; 97 mojo::ApplicationConnection* connection) override;
98 98
99 private: 99 private:
100 // TODO(sky): rename this. Connections is ambiguous. 100 // TODO(sky): rename this. Connections is ambiguous.
101 typedef std::set<WindowManagerImpl*> Connections; 101 typedef std::set<WindowManagerImpl*> Connections;
102 typedef std::set<mojo::Id> RegisteredViewIdSet; 102 typedef std::set<mojo::Id> RegisteredViewIdSet;
103 103
104 struct PendingEmbed; 104 struct PendingEmbed;
105 class WindowManagerInternalImpl; 105 class WindowManagerInternalImpl;
106 106
107 mojo::ViewManager* view_manager() {
108 return root_ ? root_->view_manager() : nullptr;
109 }
110
107 // Creates an ViewTarget for every view in the hierarchy beneath |view|, 111 // Creates an ViewTarget for every view in the hierarchy beneath |view|,
108 // and adds to the registry so that it can be retrieved later via 112 // and adds to the registry so that it can be retrieved later via
109 // GetViewTargetForViewId(). 113 // GetViewTargetForViewId().
110 // TODO(beng): perhaps View should have a property bag. 114 // TODO(beng): perhaps View should have a property bag.
111 void RegisterSubtree(mojo::View* view); 115 void RegisterSubtree(mojo::View* view);
112 116
113 // Recursively invokes Unregister() for |view| and all its descendants. 117 // Recursively invokes Unregister() for |view| and all its descendants.
114 void UnregisterSubtree(mojo::View* view); 118 void UnregisterSubtree(mojo::View* view);
115 119
116 // Deletes the ViewTarget associated with the hierarchy beneath |id|, 120 // Deletes the ViewTarget associated with the hierarchy beneath |id|,
117 // and removes from the registry. 121 // and removes from the registry.
118 void Unregister(mojo::View* view); 122 void Unregister(mojo::View* view);
119 123
120 // Overridden from ViewManagerDelegate: 124 // Overridden from ViewManagerDelegate:
121 void OnEmbed(mojo::ViewManager* view_manager, 125 void OnEmbed(mojo::View* root,
122 mojo::View* root,
123 mojo::ServiceProviderImpl* exported_services, 126 mojo::ServiceProviderImpl* exported_services,
124 scoped_ptr<mojo::ServiceProvider> imported_services) override; 127 scoped_ptr<mojo::ServiceProvider> imported_services) override;
125 void OnViewManagerDisconnected(mojo::ViewManager* view_manager) override; 128 void OnViewManagerDisconnected(mojo::ViewManager* view_manager) override;
126 129
127 // Overridden from ViewObserver: 130 // Overridden from ViewObserver:
128 void OnTreeChanged(const ViewObserver::TreeChangeParams& params) override; 131 void OnTreeChanged(const ViewObserver::TreeChangeParams& params) override;
129 void OnViewDestroying(mojo::View* view) override; 132 void OnViewDestroying(mojo::View* view) override;
130 133
131 // Overridden from ui::EventHandler: 134 // Overridden from ui::EventHandler:
132 void OnEvent(ui::Event* event) override; 135 void OnEvent(ui::Event* event) override;
(...skipping 26 matching lines...) Expand all
159 162
160 mojo::Shell* shell_; 163 mojo::Shell* shell_;
161 164
162 mojo::InterfaceFactoryImplWithContext<NativeViewportEventDispatcherImpl, 165 mojo::InterfaceFactoryImplWithContext<NativeViewportEventDispatcherImpl,
163 WindowManagerApp> 166 WindowManagerApp>
164 native_viewport_event_dispatcher_factory_; 167 native_viewport_event_dispatcher_factory_;
165 168
166 ViewManagerDelegate* wrapped_view_manager_delegate_; 169 ViewManagerDelegate* wrapped_view_manager_delegate_;
167 WindowManagerDelegate* window_manager_delegate_; 170 WindowManagerDelegate* window_manager_delegate_;
168 171
169 mojo::ViewManager* view_manager_;
170 scoped_ptr<mojo::ViewManagerClientFactory> view_manager_client_factory_; 172 scoped_ptr<mojo::ViewManagerClientFactory> view_manager_client_factory_;
171 mojo::View* root_; 173 mojo::View* root_;
172 174
173 scoped_ptr<FocusController> focus_controller_; 175 scoped_ptr<FocusController> focus_controller_;
174 scoped_ptr<CaptureController> capture_controller_; 176 scoped_ptr<CaptureController> capture_controller_;
175 177
176 Connections connections_; 178 Connections connections_;
177 RegisteredViewIdSet registered_view_id_set_; 179 RegisteredViewIdSet registered_view_id_set_;
178 180
179 mojo::WindowManagerInternalClientPtr window_manager_client_; 181 mojo::WindowManagerInternalClientPtr window_manager_client_;
180 182
181 ScopedVector<PendingEmbed> pending_embeds_; 183 ScopedVector<PendingEmbed> pending_embeds_;
182 184
183 scoped_ptr<mojo::ViewManagerClient> view_manager_client_; 185 scoped_ptr<mojo::ViewManagerClient> view_manager_client_;
184 186
185 scoped_ptr<ViewEventDispatcher> view_event_dispatcher_; 187 scoped_ptr<ViewEventDispatcher> view_event_dispatcher_;
186 188
187 scoped_ptr<mojo::Binding<WindowManagerInternal>> wm_internal_binding_; 189 scoped_ptr<mojo::Binding<WindowManagerInternal>> wm_internal_binding_;
188 190
189 DISALLOW_COPY_AND_ASSIGN(WindowManagerApp); 191 DISALLOW_COPY_AND_ASSIGN(WindowManagerApp);
190 }; 192 };
191 193
192 } // namespace window_manager 194 } // namespace window_manager
193 195
194 #endif // SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_APP_H_ 196 #endif // SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_APP_H_
OLDNEW
« no previous file with comments | « services/window_manager/window_manager_api_unittest.cc ('k') | services/window_manager/window_manager_app.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698