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 @@
#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_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/webaudio/audio_context_manager.mojom.h"
#include "third_party/blink/public/mojom/webauthn/authenticator.mojom.h"
......@@ -181,6 +182,9 @@ void PopulateFrameBinders(RenderFrameHostImpl* 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(
&RenderFrameHostImpl::CreateLockManager, base::Unretained(host)));
......@@ -307,6 +311,8 @@ void PopulateDedicatedWorkerBinders(DedicatedWorkerHost* host,
map->Add<blink::mojom::SmsReceiver>(base::BindRepeating(
&DedicatedWorkerHost::BindSmsReceiverReceiver, base::Unretained(host)));
}
map->Add<blink::mojom::WebUsbService>(base::BindRepeating(
&DedicatedWorkerHost::CreateWebUsbService, base::Unretained(host)));
map->Add<media::mojom::VideoDecodePerfHistory>(
base::BindRepeating(&DedicatedWorkerHost::BindVideoDecodePerfHistory,
base::Unretained(host)));
......
......@@ -4436,9 +4436,6 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
}
}
registry_->AddInterface(base::BindRepeating(
&RenderFrameHostImpl::CreateWebUsbService, base::Unretained(this)));
registry_->AddInterface<media::mojom::InterfaceFactory>(
base::Bind(&RenderFrameHostImpl::BindMediaInterfaceFactoryRequest,
base::Unretained(this)));
......
......@@ -1133,6 +1133,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
void BindSmsReceiverReceiver(
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
network::mojom::CrossOriginEmbedderPolicy cross_origin_embedder_policy()
const {
......@@ -1604,10 +1608,6 @@ class CONTENT_EXPORT RenderFrameHostImpl
void DeleteWebBluetoothService(
WebBluetoothServiceImpl* web_bluetooth_service);
// Creates connections to WebUSB interfaces bound to this frame.
void CreateWebUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver);
void CreateAudioInputStreamFactory(
mojo::PendingReceiver<mojom::RendererAudioInputStreamFactory> receiver);
void CreateAudioOutputStreamFactory(
......
......@@ -84,6 +84,8 @@ class DedicatedWorkerHost final
mojo::PendingReceiver<blink::mojom::IDBFactory> receiver);
void BindSmsReceiverReceiver(
mojo::PendingReceiver<blink::mojom::SmsReceiver> receiver);
void CreateWebUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver);
#if !defined(OS_ANDROID)
void BindSerialService(
......@@ -148,9 +150,6 @@ class DedicatedWorkerHost final
RenderFrameHostImpl* render_frame_host,
bool* bypass_redirect_checks);
void CreateWebUsbService(
mojo::PendingReceiver<blink::mojom::WebUsbService> receiver);
void CreateWebSocketConnector(
mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver);
......
......@@ -179,7 +179,6 @@ const service_manager::Manifest& GetContentBrowserManifest() {
"blink.mojom.NativeFileSystemManager",
"blink.mojom.NotificationService",
"blink.mojom.QuotaDispatcherHost",
"blink.mojom.WebUsbService",
"blink.mojom.WebSocketConnector"})
.ExposeInterfaceFilterCapability_Deprecated(
"navigation:service_worker", "renderer",
......@@ -212,7 +211,6 @@ const service_manager::Manifest& GetContentBrowserManifest() {
"blink.mojom.SharedWorkerConnector",
"blink.mojom.TextSuggestionHost",
"blink.mojom.UnhandledTapNotifier",
"blink.mojom.WebUsbService",
"content.mojom.BrowserTarget",
"content.mojom.InputInjector",
"content.mojom.RendererAudioInputStreamFactory",
......
......@@ -9,7 +9,7 @@
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/device/public/mojom/usb_device.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/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
......@@ -299,7 +299,7 @@ void USB::EnsureServiceConnection() {
// See https://bit.ly/2S0zRAS for task types.
auto task_runner =
GetExecutionContext()->GetTaskRunner(TaskType::kMiscPlatformAPI);
GetExecutionContext()->GetInterfaceProvider()->GetInterface(
GetExecutionContext()->GetBrowserInterfaceBroker().GetInterface(
service_.BindNewPipeAndPassReceiver(task_runner));
service_.set_disconnect_handler(
WTF::Bind(&USB::OnServiceConnectionError, WrapWeakPersistent(this)));
......
......@@ -14,7 +14,7 @@
if (messageEvent.data.type === 'Attach') {
messageEvent.data.interfaces.forEach(interfaceName => {
let interfaceInterceptor =
new MojoInterfaceInterceptor(interfaceName);
new MojoInterfaceInterceptor(interfaceName, "context", true);
interfaceInterceptor.oninterfacerequest =
e => messageChannel.port1.postMessage({
type: interfaceName,
......
......@@ -476,7 +476,7 @@ class USBTest {
internal.webUsbService = new FakeWebUsbService();
internal.webUsbServiceInterceptor =
new MojoInterfaceInterceptor(blink.mojom.WebUsbService.name);
new MojoInterfaceInterceptor(blink.mojom.WebUsbService.name, "context", true);
internal.webUsbServiceInterceptor.oninterfacerequest =
e => internal.webUsbService.addBinding(e.handle);
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