Commit 89100c66 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert SerialService to new Mojo types

This CL converts SerialService{Ptr, Request} in content to the new
Mojo type.

Bug: 955171
Change-Id: I764b3209cd35ec5593088c4b81e32167f3417b8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1810503
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Reviewed-by: default avatarDave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#697593}
parent 0b20ee6c
...@@ -4396,7 +4396,7 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() { ...@@ -4396,7 +4396,7 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
if (command_line->HasSwitch( if (command_line->HasSwitch(
switches::kEnableExperimentalWebPlatformFeatures)) { switches::kEnableExperimentalWebPlatformFeatures)) {
registry_->AddInterface( registry_->AddInterface(
base::BindRepeating(&RenderFrameHostImpl::BindSerialServiceRequest, base::BindRepeating(&RenderFrameHostImpl::BindSerialServiceReceiver,
base::Unretained(this))); base::Unretained(this)));
registry_->AddInterface( registry_->AddInterface(
base::BindRepeating(&HidService::Create, base::Unretained(this))); base::BindRepeating(&HidService::Create, base::Unretained(this)));
...@@ -6307,8 +6307,8 @@ void RenderFrameHostImpl::BindNFCReceiver( ...@@ -6307,8 +6307,8 @@ void RenderFrameHostImpl::BindNFCReceiver(
#endif #endif
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
void RenderFrameHostImpl::BindSerialServiceRequest( void RenderFrameHostImpl::BindSerialServiceReceiver(
blink::mojom::SerialServiceRequest request) { mojo::PendingReceiver<blink::mojom::SerialService> receiver) {
if (!IsFeatureEnabled(blink::mojom::FeaturePolicyFeature::kSerial)) { if (!IsFeatureEnabled(blink::mojom::FeaturePolicyFeature::kSerial)) {
mojo::ReportBadMessage("Feature policy blocks access to Serial."); mojo::ReportBadMessage("Feature policy blocks access to Serial.");
return; return;
...@@ -6317,7 +6317,7 @@ void RenderFrameHostImpl::BindSerialServiceRequest( ...@@ -6317,7 +6317,7 @@ void RenderFrameHostImpl::BindSerialServiceRequest(
if (!serial_service_) if (!serial_service_)
serial_service_ = std::make_unique<SerialService>(this); serial_service_ = std::make_unique<SerialService>(this);
serial_service_->Bind(std::move(request)); serial_service_->Bind(std::move(receiver));
} }
void RenderFrameHostImpl::BindAuthenticatorRequest( void RenderFrameHostImpl::BindAuthenticatorRequest(
......
...@@ -1543,7 +1543,8 @@ class CONTENT_EXPORT RenderFrameHostImpl ...@@ -1543,7 +1543,8 @@ class CONTENT_EXPORT RenderFrameHostImpl
#endif #endif
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
void BindSerialServiceRequest(blink::mojom::SerialServiceRequest request); void BindSerialServiceReceiver(
mojo::PendingReceiver<blink::mojom::SerialService> receiver);
void BindAuthenticatorRequest( void BindAuthenticatorRequest(
mojo::PendingReceiver<blink::mojom::Authenticator> receiver); mojo::PendingReceiver<blink::mojom::Authenticator> receiver);
#endif #endif
......
...@@ -50,8 +50,9 @@ SerialService::~SerialService() { ...@@ -50,8 +50,9 @@ SerialService::~SerialService() {
DecrementActiveFrameCount(); DecrementActiveFrameCount();
} }
void SerialService::Bind(blink::mojom::SerialServiceRequest request) { void SerialService::Bind(
bindings_.AddBinding(this, std::move(request)); mojo::PendingReceiver<blink::mojom::SerialService> receiver) {
receivers_.Add(this, std::move(receiver));
} }
void SerialService::GetPorts(GetPortsCallback callback) { void SerialService::GetPorts(GetPortsCallback callback) {
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "services/device/public/mojom/serial.mojom.h" #include "services/device/public/mojom/serial.mojom.h"
#include "third_party/blink/public/mojom/serial/serial.mojom.h" #include "third_party/blink/public/mojom/serial/serial.mojom.h"
...@@ -26,7 +27,7 @@ class SerialService : public blink::mojom::SerialService, ...@@ -26,7 +27,7 @@ class SerialService : public blink::mojom::SerialService,
explicit SerialService(RenderFrameHost* render_frame_host); explicit SerialService(RenderFrameHost* render_frame_host);
~SerialService() override; ~SerialService() override;
void Bind(blink::mojom::SerialServiceRequest request); void Bind(mojo::PendingReceiver<blink::mojom::SerialService> receiver);
// SerialService implementation // SerialService implementation
void GetPorts(GetPortsCallback callback) override; void GetPorts(GetPortsCallback callback) override;
...@@ -47,7 +48,7 @@ class SerialService : public blink::mojom::SerialService, ...@@ -47,7 +48,7 @@ class SerialService : public blink::mojom::SerialService,
// This raw pointer is safe because instances of this class are owned by // This raw pointer is safe because instances of this class are owned by
// RenderFrameHostImpl. // RenderFrameHostImpl.
RenderFrameHost* const render_frame_host_; RenderFrameHost* const render_frame_host_;
mojo::BindingSet<blink::mojom::SerialService> bindings_; mojo::ReceiverSet<blink::mojom::SerialService> receivers_;
// The last shown serial port chooser UI. // The last shown serial port chooser UI.
std::unique_ptr<SerialChooser> chooser_; std::unique_ptr<SerialChooser> chooser_;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "content/public/common/content_switches.h" #include "content/public/common/content_switches.h"
#include "content/test/test_render_view_host.h" #include "content/test/test_render_view_host.h"
#include "content/test/test_web_contents.h" #include "content/test/test_web_contents.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/device/public/cpp/test/fake_serial_port_manager.h" #include "services/device/public/cpp/test/fake_serial_port_manager.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -56,10 +57,10 @@ class SerialTest : public RenderViewHostImplTestHarness { ...@@ -56,10 +57,10 @@ class SerialTest : public RenderViewHostImplTestHarness {
TEST_F(SerialTest, OpenAndClosePort) { TEST_F(SerialTest, OpenAndClosePort) {
NavigateAndCommit(GURL(kTestUrl)); NavigateAndCommit(GURL(kTestUrl));
blink::mojom::SerialServicePtr service; mojo::Remote<blink::mojom::SerialService> service;
contents()->GetMainFrame()->BinderRegistryForTesting().BindInterface( contents()->GetMainFrame()->BinderRegistryForTesting().BindInterface(
blink::mojom::SerialService::Name_, blink::mojom::SerialService::Name_,
mojo::MakeRequest(&service).PassMessagePipe()); service.BindNewPipeAndPassReceiver().PassPipe());
auto token = base::UnguessableToken::Create(); auto token = base::UnguessableToken::Create();
auto port_info = device::mojom::SerialPortInfo::New(); auto port_info = device::mojom::SerialPortInfo::New();
...@@ -81,10 +82,10 @@ TEST_F(SerialTest, OpenAndClosePort) { ...@@ -81,10 +82,10 @@ TEST_F(SerialTest, OpenAndClosePort) {
TEST_F(SerialTest, OpenAndNavigateCrossOrigin) { TEST_F(SerialTest, OpenAndNavigateCrossOrigin) {
NavigateAndCommit(GURL(kTestUrl)); NavigateAndCommit(GURL(kTestUrl));
blink::mojom::SerialServicePtr service; mojo::Remote<blink::mojom::SerialService> service;
contents()->GetMainFrame()->BinderRegistryForTesting().BindInterface( contents()->GetMainFrame()->BinderRegistryForTesting().BindInterface(
blink::mojom::SerialService::Name_, blink::mojom::SerialService::Name_,
mojo::MakeRequest(&service).PassMessagePipe()); service.BindNewPipeAndPassReceiver().PassPipe());
auto token = base::UnguessableToken::Create(); auto token = base::UnguessableToken::Create();
auto port_info = device::mojom::SerialPortInfo::New(); auto port_info = device::mojom::SerialPortInfo::New();
......
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