Commit 572c7c86 authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Convert ServiceProcess to new Mojo types

This CL converts ServiceProcessPtrto new Mojo types
using ReceiverSet, Remote, and PendingReceiver.

Bug: 955171
Change-Id: Ia215917271955a80c677bf8222d06f25dd5d950f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1829630Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
Commit-Queue: Julie Kim(OoO until 4 Oct) <jkim@igalia.com>
Cr-Commit-Position: refs/heads/master@{#701814}
parent a6e38f8b
......@@ -59,6 +59,7 @@
#include "ipc/ipc_channel_proxy.h"
#include "mojo/core/embedder/embedder.h"
#include "mojo/core/embedder/scoped_ipc_support.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/platform/named_platform_channel.h"
#include "mojo/public/cpp/system/isolated_connection.h"
#include "testing/gmock/include/gmock/gmock.h"
......@@ -450,9 +451,9 @@ void CloudPrintProxyPolicyStartupTest::WaitForConnect(
void CloudPrintProxyPolicyStartupTest::ShutdownAndWaitForExitWithTimeout(
base::Process process) {
chrome::mojom::ServiceProcessPtr service_process;
mojo::Remote<chrome::mojom::ServiceProcess> service_process;
ServiceProcessControl::GetInstance()->remote_interfaces().GetInterface(
&service_process);
service_process.BindNewPipeAndPassReceiver());
service_process->ShutDown();
int exit_code = -100;
......
......@@ -131,7 +131,8 @@ void ServiceProcessControl::SetMojoHandle(
&ServiceProcessControl::OnChannelError, base::Unretained(this)));
// TODO(hclam): Handle error connecting to channel.
remote_interfaces_.GetInterface(&service_process_);
remote_interfaces_.GetInterface(
service_process_.BindNewPipeAndPassReceiver());
service_process_->Hello(base::BindOnce(
&ServiceProcessControl::OnChannelConnected, base::Unretained(this)));
}
......
......@@ -22,6 +22,7 @@
#include "build/build_config.h"
#include "chrome/browser/upgrade_detector/upgrade_observer.h"
#include "chrome/common/service_process.mojom.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/service_manager/public/cpp/interface_provider.h"
#if defined(OS_CHROMEOS)
......@@ -191,7 +192,7 @@ class ServiceProcessControl : public UpgradeObserver {
std::unique_ptr<mojo::IsolatedConnection> mojo_connection_;
service_manager::InterfaceProvider remote_interfaces_;
chrome::mojom::ServiceProcessPtr service_process_;
mojo::Remote<chrome::mojom::ServiceProcess> service_process_;
// Service process launcher.
scoped_refptr<Launcher> launcher_;
......
......@@ -87,6 +87,6 @@ void ServiceIPCServer::GetInterface(const std::string& interface_name,
}
void ServiceIPCServer::HandleServiceProcessConnection(
chrome::mojom::ServiceProcessRequest request) {
service_process_bindings_.AddBinding(this, std::move(request));
mojo::PendingReceiver<chrome::mojom::ServiceProcess> receiver) {
service_process_receivers_.Add(this, std::move(receiver));
}
......@@ -14,7 +14,8 @@
#include "base/single_thread_task_runner.h"
#include "chrome/common/service_process.mojom.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "mojo/public/cpp/system/message_pipe.h"
#include "services/service_manager/public/cpp/binder_registry.h"
#include "services/service_manager/public/mojom/interface_provider.mojom.h"
......@@ -82,7 +83,7 @@ class ServiceIPCServer : public service_manager::mojom::InterfaceProvider,
mojo::ScopedMessagePipeHandle pipe) override;
void HandleServiceProcessConnection(
chrome::mojom::ServiceProcessRequest request);
mojo::PendingReceiver<chrome::mojom::ServiceProcess> receiver);
Client* client_;
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
......@@ -96,7 +97,7 @@ class ServiceIPCServer : public service_manager::mojom::InterfaceProvider,
histogram_delta_serializer_;
mojo::Binding<service_manager::mojom::InterfaceProvider> binding_;
mojo::BindingSet<chrome::mojom::ServiceProcess> service_process_bindings_;
mojo::ReceiverSet<chrome::mojom::ServiceProcess> service_process_receivers_;
service_manager::BinderRegistry binder_registry_;
......
......@@ -14,6 +14,7 @@
#include "base/test/task_environment.h"
#include "base/threading/thread.h"
#include "build/build_config.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/system/message_pipe.h"
#include "services/service_manager/public/cpp/interface_provider.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -84,7 +85,7 @@ class ServiceIPCServerTest : public ::testing::Test {
base::WaitableEvent shutdown_event_;
std::unique_ptr<ServiceIPCServer> server_;
service_manager::InterfaceProvider remote_interfaces_;
chrome::mojom::ServiceProcessPtr service_process_;
mojo::Remote<chrome::mojom::ServiceProcess> service_process_;
};
ServiceIPCServerTest::ServiceIPCServerTest()
......@@ -128,7 +129,8 @@ void ServiceIPCServerTest::ConnectClientChannel() {
remote_interfaces_.Bind(
std::move(service_process_client_.interface_provider_));
remote_interfaces_.GetInterface(&service_process_);
remote_interfaces_.GetInterface(
service_process_.BindNewPipeAndPassReceiver());
service_process_->Hello(base::DoNothing());
PumpLoops();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment