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

Unified Diff: mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc

Issue 698883005: Update mojo sdk to rev cfc99316100efdfa7d53d83f9e07f1d4d3765c21 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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/public/cpp/view_manager/lib/view_manager_client_impl.cc
diff --git a/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc b/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc
index 896da9d3f6d72a9381d081f9be60ef55ac12ba63..79bde294b9007982d9796d64f427d695b8eb6e00 100644
--- a/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc
+++ b/mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.cc
@@ -94,10 +94,6 @@ class RootObserver : public ViewObserver {
ViewManagerClientImpl::ViewManagerClientImpl(ViewManagerDelegate* delegate,
Shell* shell)
: connected_(false), connection_id_(0), next_id_(1), delegate_(delegate) {
- InterfacePtr<ServiceProvider> sp;
- shell->ConnectToApplication("mojo:window_manager", GetProxy(&sp));
- ConnectToService(sp.get(), &window_manager_);
- window_manager_.set_client(this);
}
ViewManagerClientImpl::~ViewManagerClientImpl() {
@@ -170,6 +166,9 @@ void ViewManagerClientImpl::SetSurfaceId(Id view_id, SurfaceIdPtr surface_id) {
}
void ViewManagerClientImpl::SetFocus(Id view_id) {
+ // In order for us to get here we had to have exposed a view, which implies we
+ // got a connection.
+ DCHECK(window_manager_.get());
window_manager_->FocusWindow(view_id, ActionCompletedCallback());
}
@@ -245,7 +244,8 @@ void ViewManagerClientImpl::OnEmbed(
ConnectionSpecificId connection_id,
const String& creator_url,
ViewDataPtr root_data,
- InterfaceRequest<ServiceProvider> service_provider) {
+ InterfaceRequest<ServiceProvider> parent_services,
+ ScopedMessagePipeHandle window_manager_pipe) {
if (!connected_) {
connected_ = true;
connection_id_ = connection_id;
@@ -264,12 +264,14 @@ void ViewManagerClientImpl::OnEmbed(
ServiceProviderImpl* exported_services = nullptr;
scoped_ptr<ServiceProvider> remote;
- if (service_provider.is_pending()) {
+ if (parent_services.is_pending()) {
// BindToRequest() binds the lifetime of |exported_services| to the pipe.
exported_services = new ServiceProviderImpl;
- BindToRequest(exported_services, &service_provider);
+ BindToRequest(exported_services, &parent_services);
remote.reset(exported_services->CreateRemoteServiceProvider());
}
+ window_manager_.Bind(window_manager_pipe.Pass());
+ window_manager_.set_client(this);
delegate_->OnEmbed(this, root, exported_services, remote.Pass());
}
@@ -360,9 +362,7 @@ void ViewManagerClientImpl::OnViewInputEvent(
}
////////////////////////////////////////////////////////////////////////////////
-// ViewManagerClientImpl, WindowManagerClient2 implementation:
-
-void ViewManagerClientImpl::OnWindowManagerReady() {}
+// ViewManagerClientImpl, WindowManagerClient implementation:
void ViewManagerClientImpl::OnCaptureChanged(Id old_capture_view_id,
Id new_capture_view_id) {}

Powered by Google App Engine
This is Rietveld 408576698