| Index: mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.cc
|
| diff --git a/mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.cc b/mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.cc
|
| index 532fbcf6a5396d1d374a13f0c3061b8564fbd899..78daeb3244d4a6b6b953b5fd2ee44893195fbf04 100644
|
| --- a/mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.cc
|
| +++ b/mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.cc
|
| @@ -195,18 +195,15 @@ void ViewManagerClientImpl::SetProperty(
|
| }
|
|
|
| void ViewManagerClientImpl::Embed(const String& url, Id view_id) {
|
| - MessagePipe pipe;
|
| - InterfaceRequest<ServiceProvider> request;
|
| - request.Bind(pipe.handle0.Pass());
|
| - Embed(url, view_id, request.Pass());
|
| + Embed(url, view_id, nullptr, nullptr);
|
| }
|
|
|
| -void ViewManagerClientImpl::Embed(
|
| - const String& url,
|
| - Id view_id,
|
| - InterfaceRequest<ServiceProvider> service_provider) {
|
| +void ViewManagerClientImpl::Embed(const String& url,
|
| + Id view_id,
|
| + InterfaceRequest<ServiceProvider> services,
|
| + ServiceProviderPtr exposed_services) {
|
| DCHECK(connected_);
|
| - service_->Embed(url, view_id, service_provider.Pass(),
|
| + service_->Embed(url, view_id, services.Pass(), exposed_services.Pass(),
|
| ActionCompletedCallback());
|
| }
|
|
|
| @@ -261,7 +258,8 @@ void ViewManagerClientImpl::OnEmbed(
|
| ConnectionSpecificId connection_id,
|
| const String& creator_url,
|
| ViewDataPtr root_data,
|
| - InterfaceRequest<ServiceProvider> parent_services,
|
| + InterfaceRequest<ServiceProvider> services,
|
| + ServiceProviderPtr exposed_services,
|
| ScopedMessagePipeHandle window_manager_pipe) {
|
| DCHECK(!connected_);
|
| connected_ = true;
|
| @@ -272,14 +270,6 @@ void ViewManagerClientImpl::OnEmbed(
|
| root_ = AddViewToViewManager(this, nullptr, root_data);
|
| root_->AddObserver(new RootObserver(root_));
|
|
|
| - ServiceProviderImpl* exported_services = nullptr;
|
| - scoped_ptr<ServiceProvider> remote;
|
| -
|
| - // BindToRequest() binds the lifetime of |exported_services| to the pipe.
|
| - exported_services = new ServiceProviderImpl;
|
| - BindToRequest(exported_services, &parent_services);
|
| - remote.reset(exported_services->CreateRemoteServiceProvider());
|
| -
|
| window_manager_.Bind(window_manager_pipe.Pass());
|
| window_manager_.set_client(this);
|
| // base::Unretained() is safe here as |window_manager_| is bound to our
|
| @@ -287,7 +277,8 @@ void ViewManagerClientImpl::OnEmbed(
|
| window_manager_->GetFocusedAndActiveViews(
|
| base::Bind(&ViewManagerClientImpl::OnGotFocusedAndActiveViews,
|
| base::Unretained(this)));
|
| - delegate_->OnEmbed(root_, exported_services, remote.Pass());
|
| +
|
| + delegate_->OnEmbed(root_, services.Pass(), exposed_services.Pass());
|
| }
|
|
|
| void ViewManagerClientImpl::OnEmbeddedAppDisconnected(Id view_id) {
|
|
|