Commit 12048384 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert WebUsbService client to use BrowserInterfaceBroker

This change converts WebUsbService mojom interface client in blink
to use BrowserInterfaceBroker.

Bug: 936482
Change-Id: I03f8d6b061eed920ffd68305702f73fff66fe871
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1844005Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Cr-Commit-Position: refs/heads/master@{#703611}
parent 2ee87b95
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
#include "third_party/blink/public/mojom/sms/sms_receiver.mojom.h" #include "third_party/blink/public/mojom/sms/sms_receiver.mojom.h"
#include "third_party/blink/public/mojom/speech/speech_recognizer.mojom.h" #include "third_party/blink/public/mojom/speech/speech_recognizer.mojom.h"
#include "third_party/blink/public/mojom/speech/speech_synthesis.mojom.h" #include "third_party/blink/public/mojom/speech/speech_synthesis.mojom.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom.h"
#include "third_party/blink/public/mojom/wake_lock/wake_lock.mojom.h" #include "third_party/blink/public/mojom/wake_lock/wake_lock.mojom.h"
#include "third_party/blink/public/mojom/webaudio/audio_context_manager.mojom.h" #include "third_party/blink/public/mojom/webaudio/audio_context_manager.mojom.h"
#include "third_party/blink/public/mojom/webauthn/authenticator.mojom.h" #include "third_party/blink/public/mojom/webauthn/authenticator.mojom.h"
...@@ -181,6 +182,9 @@ void PopulateFrameBinders(RenderFrameHostImpl* host, ...@@ -181,6 +182,9 @@ void PopulateFrameBinders(RenderFrameHostImpl* host,
&RenderFrameHostImpl::BindSmsReceiverReceiver, base::Unretained(host))); &RenderFrameHostImpl::BindSmsReceiverReceiver, base::Unretained(host)));
} }
map->Add<blink::mojom::WebUsbService>(base::BindRepeating(
&RenderFrameHostImpl::CreateWebUsbService, base::Unretained(host)));
map->Add<blink::mojom::LockManager>(base::BindRepeating( map->Add<blink::mojom::LockManager>(base::BindRepeating(
&RenderFrameHostImpl::CreateLockManager, base::Unretained(host))); &RenderFrameHostImpl::CreateLockManager, base::Unretained(host)));
...@@ -307,6 +311,8 @@ void PopulateDedicatedWorkerBinders(DedicatedWorkerHost* host, ...@@ -307,6 +311,8 @@ void PopulateDedicatedWorkerBinders(DedicatedWorkerHost* host,
map->Add<blink::mojom::SmsReceiver>(base::BindRepeating( map->Add<blink::mojom::SmsReceiver>(base::BindRepeating(
&DedicatedWorkerHost::BindSmsReceiverReceiver, base::Unretained(host))); &DedicatedWorkerHost::BindSmsReceiverReceiver, base::Unretained(host)));
} }
map->Add<blink::mojom::WebUsbService>(base::BindRepeating(
&DedicatedWorkerHost::CreateWebUsbService, base::Unretained(host)));
map->Add<media::mojom::VideoDecodePerfHistory>( map->Add<media::mojom::VideoDecodePerfHistory>(
base::BindRepeating(&DedicatedWorkerHost::BindVideoDecodePerfHistory, base::BindRepeating(&DedicatedWorkerHost::BindVideoDecodePerfHistory,
base::Unretained(host))); base::Unretained(host)));
......
...@@ -4436,9 +4436,6 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() { ...@@ -4436,9 +4436,6 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
} }
} }
registry_->AddInterface(base::BindRepeating(
&RenderFrameHostImpl::CreateWebUsbService, base::Unretained(this)));
registry_->AddInterface<media::mojom::InterfaceFactory>( registry_->AddInterface<media::mojom::InterfaceFactory>(
base::Bind(&RenderFrameHostImpl::BindMediaInterfaceFactoryRequest, base::Bind(&RenderFrameHostImpl::BindMediaInterfaceFactoryRequest,
base::Unretained(this))); base::Unretained(this)));
......
...@@ -1133,6 +1133,10 @@ class CONTENT_EXPORT RenderFrameHostImpl ...@@ -1133,6 +1133,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
void BindSmsReceiverReceiver( void BindSmsReceiverReceiver(
mojo::PendingReceiver<blink::mojom::SmsReceiver> receiver); mojo::PendingReceiver<blink::mojom::SmsReceiver> receiver);
// Creates connections to WebUSB interfaces bound to this frame.
void CreateWebUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver);
// https://mikewest.github.io/corpp/#initialize-embedder-policy-for-global // https://mikewest.github.io/corpp/#initialize-embedder-policy-for-global
network::mojom::CrossOriginEmbedderPolicy cross_origin_embedder_policy() network::mojom::CrossOriginEmbedderPolicy cross_origin_embedder_policy()
const { const {
...@@ -1604,10 +1608,6 @@ class CONTENT_EXPORT RenderFrameHostImpl ...@@ -1604,10 +1608,6 @@ class CONTENT_EXPORT RenderFrameHostImpl
void DeleteWebBluetoothService( void DeleteWebBluetoothService(
WebBluetoothServiceImpl* web_bluetooth_service); WebBluetoothServiceImpl* web_bluetooth_service);
// Creates connections to WebUSB interfaces bound to this frame.
void CreateWebUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver);
void CreateAudioInputStreamFactory( void CreateAudioInputStreamFactory(
mojo::PendingReceiver<mojom::RendererAudioInputStreamFactory> receiver); mojo::PendingReceiver<mojom::RendererAudioInputStreamFactory> receiver);
void CreateAudioOutputStreamFactory( void CreateAudioOutputStreamFactory(
......
...@@ -84,6 +84,8 @@ class DedicatedWorkerHost final ...@@ -84,6 +84,8 @@ class DedicatedWorkerHost final
mojo::PendingReceiver<blink::mojom::IDBFactory> receiver); mojo::PendingReceiver<blink::mojom::IDBFactory> receiver);
void BindSmsReceiverReceiver( void BindSmsReceiverReceiver(
mojo::PendingReceiver<blink::mojom::SmsReceiver> receiver); mojo::PendingReceiver<blink::mojom::SmsReceiver> receiver);
void CreateWebUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver);
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
void BindSerialService( void BindSerialService(
...@@ -148,9 +150,6 @@ class DedicatedWorkerHost final ...@@ -148,9 +150,6 @@ class DedicatedWorkerHost final
RenderFrameHostImpl* render_frame_host, RenderFrameHostImpl* render_frame_host,
bool* bypass_redirect_checks); bool* bypass_redirect_checks);
void CreateWebUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver);
void CreateWebSocketConnector( void CreateWebSocketConnector(
mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver); mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver);
......
...@@ -179,7 +179,6 @@ const service_manager::Manifest& GetContentBrowserManifest() { ...@@ -179,7 +179,6 @@ const service_manager::Manifest& GetContentBrowserManifest() {
"blink.mojom.NativeFileSystemManager", "blink.mojom.NativeFileSystemManager",
"blink.mojom.NotificationService", "blink.mojom.NotificationService",
"blink.mojom.QuotaDispatcherHost", "blink.mojom.QuotaDispatcherHost",
"blink.mojom.WebUsbService",
"blink.mojom.WebSocketConnector"}) "blink.mojom.WebSocketConnector"})
.ExposeInterfaceFilterCapability_Deprecated( .ExposeInterfaceFilterCapability_Deprecated(
"navigation:service_worker", "renderer", "navigation:service_worker", "renderer",
...@@ -212,7 +211,6 @@ const service_manager::Manifest& GetContentBrowserManifest() { ...@@ -212,7 +211,6 @@ const service_manager::Manifest& GetContentBrowserManifest() {
"blink.mojom.SharedWorkerConnector", "blink.mojom.SharedWorkerConnector",
"blink.mojom.TextSuggestionHost", "blink.mojom.TextSuggestionHost",
"blink.mojom.UnhandledTapNotifier", "blink.mojom.UnhandledTapNotifier",
"blink.mojom.WebUsbService",
"content.mojom.BrowserTarget", "content.mojom.BrowserTarget",
"content.mojom.InputInjector", "content.mojom.InputInjector",
"content.mojom.RendererAudioInputStreamFactory", "content.mojom.RendererAudioInputStreamFactory",
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/device/public/mojom/usb_device.mojom-blink.h" #include "services/device/public/mojom/usb_device.mojom-blink.h"
#include "services/device/public/mojom/usb_enumeration_options.mojom-blink.h" #include "services/device/public/mojom/usb_enumeration_options.mojom-blink.h"
#include "services/service_manager/public/cpp/interface_provider.h" #include "third_party/blink/public/common/browser_interface_broker_proxy.h"
#include "third_party/blink/public/mojom/feature_policy/feature_policy.mojom-blink.h" #include "third_party/blink/public/mojom/feature_policy/feature_policy.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
...@@ -299,7 +299,7 @@ void USB::EnsureServiceConnection() { ...@@ -299,7 +299,7 @@ void USB::EnsureServiceConnection() {
// See https://bit.ly/2S0zRAS for task types. // See https://bit.ly/2S0zRAS for task types.
auto task_runner = auto task_runner =
GetExecutionContext()->GetTaskRunner(TaskType::kMiscPlatformAPI); GetExecutionContext()->GetTaskRunner(TaskType::kMiscPlatformAPI);
GetExecutionContext()->GetInterfaceProvider()->GetInterface( GetExecutionContext()->GetBrowserInterfaceBroker().GetInterface(
service_.BindNewPipeAndPassReceiver(task_runner)); service_.BindNewPipeAndPassReceiver(task_runner));
service_.set_disconnect_handler( service_.set_disconnect_handler(
WTF::Bind(&USB::OnServiceConnectionError, WrapWeakPersistent(this))); WTF::Bind(&USB::OnServiceConnectionError, WrapWeakPersistent(this)));
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
if (messageEvent.data.type === 'Attach') { if (messageEvent.data.type === 'Attach') {
messageEvent.data.interfaces.forEach(interfaceName => { messageEvent.data.interfaces.forEach(interfaceName => {
let interfaceInterceptor = let interfaceInterceptor =
new MojoInterfaceInterceptor(interfaceName); new MojoInterfaceInterceptor(interfaceName, "context", true);
interfaceInterceptor.oninterfacerequest = interfaceInterceptor.oninterfacerequest =
e => messageChannel.port1.postMessage({ e => messageChannel.port1.postMessage({
type: interfaceName, type: interfaceName,
......
...@@ -476,7 +476,7 @@ class USBTest { ...@@ -476,7 +476,7 @@ class USBTest {
internal.webUsbService = new FakeWebUsbService(); internal.webUsbService = new FakeWebUsbService();
internal.webUsbServiceInterceptor = internal.webUsbServiceInterceptor =
new MojoInterfaceInterceptor(blink.mojom.WebUsbService.name); new MojoInterfaceInterceptor(blink.mojom.WebUsbService.name, "context", true);
internal.webUsbServiceInterceptor.oninterfacerequest = internal.webUsbServiceInterceptor.oninterfacerequest =
e => internal.webUsbService.addBinding(e.handle); e => internal.webUsbService.addBinding(e.handle);
internal.webUsbServiceInterceptor.start(); internal.webUsbServiceInterceptor.start();
......
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