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

Unified Diff: examples/window_manager/window_manager.cc

Issue 858103002: Remove [Client=] annotation from ServiceProvider (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: rebase for trybots (no code changes from ps2) Created 5 years, 11 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
« no previous file with comments | « examples/sky_compositor_app/sky_compositor_app.cc ('k') | examples/wm_flow/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: examples/window_manager/window_manager.cc
diff --git a/examples/window_manager/window_manager.cc b/examples/window_manager/window_manager.cc
index 09226baf53cd8c5b7337ddfd52866f188cbc73d3..a2d53e4cac85cebffce056921ec332c2c0b8d876 100644
--- a/examples/window_manager/window_manager.cc
+++ b/examples/window_manager/window_manager.cc
@@ -152,17 +152,19 @@ class RootLayoutManager : public ViewObserver {
class Window : public InterfaceFactory<NavigatorHost> {
public:
Window(WindowManager* window_manager, View* view)
- : window_manager_(window_manager), view_(view) {}
+ : window_manager_(window_manager), view_(view) {
+ exposed_services_impl_.AddService<NavigatorHost>(this);
+ }
virtual ~Window() {}
View* view() const { return view_; }
void Embed(const std::string& url) {
- scoped_ptr<ServiceProviderImpl> service_provider_impl(
- new ServiceProviderImpl());
- service_provider_impl->AddService<NavigatorHost>(this);
- view_->Embed(url, service_provider_impl.Pass());
+ // TODO: Support embedding multiple times?
+ ServiceProviderPtr exposed_services;
+ exposed_services_impl_.Bind(GetProxy(&exposed_services));
+ view_->Embed(url, nullptr, exposed_services.Pass());
}
private:
@@ -175,6 +177,7 @@ class Window : public InterfaceFactory<NavigatorHost> {
WindowManager* window_manager_;
View* view_;
+ ServiceProviderImpl exposed_services_impl_;
};
class WindowManager : public ApplicationDelegate,
@@ -266,8 +269,8 @@ class WindowManager : public ApplicationDelegate,
// Overridden from ViewManagerDelegate:
virtual void OnEmbed(View* root,
- ServiceProviderImpl* exported_services,
- scoped_ptr<ServiceProvider> imported_services) override {
+ InterfaceRequest<ServiceProvider> services,
+ ServiceProviderPtr exposed_services) override {
DCHECK(!view_manager_);
view_manager_ = root->view_manager();
@@ -303,7 +306,8 @@ class WindowManager : public ApplicationDelegate,
// Overridden from WindowManagerDelegate:
void Embed(const String& url,
- InterfaceRequest<ServiceProvider> service_provider) override {
+ InterfaceRequest<ServiceProvider> services,
+ ServiceProviderPtr exposed_services) override {
const Id kInvalidSourceViewId = 0;
OnLaunch(kInvalidSourceViewId, TARGET_DEFAULT, url);
}
@@ -399,12 +403,12 @@ class WindowManager : public ApplicationDelegate,
view->SetBounds(bounds);
view->SetVisible(true);
- scoped_ptr<mojo::ServiceProviderImpl> exported_services(
- new mojo::ServiceProviderImpl());
- exported_services->AddService(this);
+ ServiceProviderPtr exposed_services;
+ control_panel_exposed_services_impl_.Bind(GetProxy(&exposed_services));
+ control_panel_exposed_services_impl_.AddService(this);
GURL frame_url = url_.Resolve("/examples/window_manager/debug_panel.sky");
- debug_panel_ = view->Embed(frame_url.spec(), exported_services.Pass());
+ view->Embed(frame_url.spec(), nullptr, exposed_services.Pass());
return view->id();
}
@@ -425,11 +429,11 @@ class WindowManager : public ApplicationDelegate,
InterfaceFactoryImplWithContext<WindowManagerConnection, WindowManager>
window_manager_factory_;
- scoped_ptr<mojo::ServiceProvider> debug_panel_;
Window* launcher_ui_;
WindowVector windows_;
ViewManager* view_manager_;
scoped_ptr<RootLayoutManager> root_layout_manager_;
+ ServiceProviderImpl control_panel_exposed_services_impl_;
scoped_ptr<window_manager::WindowManagerApp> window_manager_app_;
« no previous file with comments | « examples/sky_compositor_app/sky_compositor_app.cc ('k') | examples/wm_flow/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698