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() {
if (command_line->HasSwitch(
switches::kEnableExperimentalWebPlatformFeatures)) {
registry_->AddInterface(
base::BindRepeating(&RenderFrameHostImpl::BindSerialServiceRequest,
base::BindRepeating(&RenderFrameHostImpl::BindSerialServiceReceiver,
base::Unretained(this)));
registry_->AddInterface(
base::BindRepeating(&HidService::Create, base::Unretained(this)));
......@@ -6307,8 +6307,8 @@ void RenderFrameHostImpl::BindNFCReceiver(
#endif
#if !defined(OS_ANDROID)
void RenderFrameHostImpl::BindSerialServiceRequest(
blink::mojom::SerialServiceRequest request) {
void RenderFrameHostImpl::BindSerialServiceReceiver(
mojo::PendingReceiver<blink::mojom::SerialService> receiver) {
if (!IsFeatureEnabled(blink::mojom::FeaturePolicyFeature::kSerial)) {
mojo::ReportBadMessage("Feature policy blocks access to Serial.");
return;
......@@ -6317,7 +6317,7 @@ void RenderFrameHostImpl::BindSerialServiceRequest(
if (!serial_service_)
serial_service_ = std::make_unique<SerialService>(this);
serial_service_->Bind(std::move(request));
serial_service_->Bind(std::move(receiver));
}
void RenderFrameHostImpl::BindAuthenticatorRequest(
......
......@@ -1543,7 +1543,8 @@ class CONTENT_EXPORT RenderFrameHostImpl
#endif
#if !defined(OS_ANDROID)
void BindSerialServiceRequest(blink::mojom::SerialServiceRequest request);
void BindSerialServiceReceiver(
mojo::PendingReceiver<blink::mojom::SerialService> receiver);
void BindAuthenticatorRequest(
mojo::PendingReceiver<blink::mojom::Authenticator> receiver);
#endif
......
......@@ -50,8 +50,9 @@ SerialService::~SerialService() {
DecrementActiveFrameCount();
}
void SerialService::Bind(blink::mojom::SerialServiceRequest request) {
bindings_.AddBinding(this, std::move(request));
void SerialService::Bind(
mojo::PendingReceiver<blink::mojom::SerialService> receiver) {
receivers_.Add(this, std::move(receiver));
}
void SerialService::GetPorts(GetPortsCallback callback) {
......
......@@ -12,6 +12,7 @@
#include "base/memory/weak_ptr.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 "services/device/public/mojom/serial.mojom.h"
#include "third_party/blink/public/mojom/serial/serial.mojom.h"
......@@ -26,7 +27,7 @@ class SerialService : public blink::mojom::SerialService,
explicit SerialService(RenderFrameHost* render_frame_host);
~SerialService() override;
void Bind(blink::mojom::SerialServiceRequest request);
void Bind(mojo::PendingReceiver<blink::mojom::SerialService> receiver);
// SerialService implementation
void GetPorts(GetPortsCallback callback) override;
......@@ -47,7 +48,7 @@ class SerialService : public blink::mojom::SerialService,
// This raw pointer is safe because instances of this class are owned by
// RenderFrameHostImpl.
RenderFrameHost* const render_frame_host_;
mojo::BindingSet<blink::mojom::SerialService> bindings_;
mojo::ReceiverSet<blink::mojom::SerialService> receivers_;
// The last shown serial port chooser UI.
std::unique_ptr<SerialChooser> chooser_;
......
......@@ -8,6 +8,7 @@
#include "content/public/common/content_switches.h"
#include "content/test/test_render_view_host.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 "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -56,10 +57,10 @@ class SerialTest : public RenderViewHostImplTestHarness {
TEST_F(SerialTest, OpenAndClosePort) {
NavigateAndCommit(GURL(kTestUrl));
blink::mojom::SerialServicePtr service;
mojo::Remote<blink::mojom::SerialService> service;
contents()->GetMainFrame()->BinderRegistryForTesting().BindInterface(
blink::mojom::SerialService::Name_,
mojo::MakeRequest(&service).PassMessagePipe());
service.BindNewPipeAndPassReceiver().PassPipe());
auto token = base::UnguessableToken::Create();
auto port_info = device::mojom::SerialPortInfo::New();
......@@ -81,10 +82,10 @@ TEST_F(SerialTest, OpenAndClosePort) {
TEST_F(SerialTest, OpenAndNavigateCrossOrigin) {
NavigateAndCommit(GURL(kTestUrl));
blink::mojom::SerialServicePtr service;
mojo::Remote<blink::mojom::SerialService> service;
contents()->GetMainFrame()->BinderRegistryForTesting().BindInterface(
blink::mojom::SerialService::Name_,
mojo::MakeRequest(&service).PassMessagePipe());
service.BindNewPipeAndPassReceiver().PassPipe());
auto token = base::UnguessableToken::Create();
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