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

Side by Side Diff: content/child/mojo/mojo_application.cc

Issue 2079943002: Change RenderFrame to use InterfaceRegistry et al. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@a2
Patch Set: . Created 4 years, 6 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 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 #include "content/child/mojo/mojo_application.h" 5 #include "content/child/mojo/mojo_application.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "content/common/application_setup.mojom.h" 10 #include "content/common/application_setup.mojom.h"
11 #include "mojo/edk/embedder/embedder.h" 11 #include "mojo/edk/embedder/embedder.h"
12 12
13 namespace content { 13 namespace content {
14 14
15 MojoApplication::MojoApplication() { 15 MojoApplication::MojoApplication() {
16 } 16 }
17 17
18 MojoApplication::~MojoApplication() { 18 MojoApplication::~MojoApplication() {
19 } 19 }
20 20
21 void MojoApplication::InitWithToken(const std::string& token) { 21 void MojoApplication::InitWithToken(const std::string& token) {
22 DCHECK(!interface_registry_.get());
22 mojo::ScopedMessagePipeHandle handle = 23 mojo::ScopedMessagePipeHandle handle =
23 mojo::edk::CreateChildMessagePipe(token); 24 mojo::edk::CreateChildMessagePipe(token);
24 DCHECK(handle.is_valid()); 25 DCHECK(handle.is_valid());
25 26
26 mojom::ApplicationSetupPtr application_setup; 27 mojom::ApplicationSetupPtr application_setup;
27 application_setup.Bind( 28 application_setup.Bind(
28 mojo::InterfacePtrInfo<mojom::ApplicationSetup>(std::move(handle), 0u)); 29 mojo::InterfacePtrInfo<mojom::ApplicationSetup>(std::move(handle), 0u));
29 30
30 shell::mojom::InterfaceProviderPtr services; 31 // TODO(beng): null Connection.
Ken Rockot(use gerrit already) 2016/06/21 16:16:23 What does this mean?
31 shell::mojom::InterfaceProviderPtr exposed_services; 32 interface_registry_.reset(new shell::InterfaceRegistry(nullptr));
32 service_registry_.Bind(GetProxy(&exposed_services)); 33 shell::mojom::InterfaceProviderPtr exposed_interfaces;
34 interface_registry_->Bind(GetProxy(&exposed_interfaces));
35
36 shell::mojom::InterfaceProviderPtr remote_interfaces;
37 shell::mojom::InterfaceProviderRequest remote_interfaces_request =
38 GetProxy(&remote_interfaces);
39 remote_interfaces_.reset(
40 new shell::InterfaceProvider(std::move(remote_interfaces)));
33 application_setup->ExchangeInterfaceProviders( 41 application_setup->ExchangeInterfaceProviders(
34 service_registry_.TakeRemoteRequest(), 42 std::move(remote_interfaces_request),
35 std::move(exposed_services)); 43 std::move(exposed_interfaces));
36 } 44 }
37 45
38 } // namespace content 46 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698