diff options
21 files changed, 59 insertions, 91 deletions
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc index 12bd4d5..4f77f23 100644 --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc @@ -294,7 +294,7 @@ #endif #if !defined(OS_ANDROID) -#include "components/webusb/public/interfaces/webusb_permission_bubble.mojom.h" +#include "device/usb/public/interfaces/chooser_service.mojom.h" #endif #if defined(ENABLE_WAYLAND_SERVER) @@ -690,9 +690,9 @@ void CreateUsbDeviceManager( } #if !defined(OS_ANDROID) -void CreateWebUsbPermissionBubble( +void CreateWebUsbChooserService( RenderFrameHost* render_frame_host, - mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request) { + mojo::InterfaceRequest<device::usb::ChooserService> request) { WebContents* web_contents = WebContents::FromRenderFrameHost(render_frame_host); if (!web_contents) { @@ -702,7 +702,7 @@ void CreateWebUsbPermissionBubble( UsbTabHelper* tab_helper = UsbTabHelper::GetOrCreateForWebContents(web_contents); - tab_helper->CreatePermissionBubble(render_frame_host, std::move(request)); + tab_helper->CreateChooserService(render_frame_host, std::move(request)); } #endif // !defined(OS_ANDROID) @@ -2793,7 +2793,7 @@ void ChromeContentBrowserClient::RegisterRenderFrameMojoServices( registry->AddService(base::Bind(&CreateUsbDeviceManager, render_frame_host)); #if !defined(OS_ANDROID) registry->AddService( - base::Bind(&CreateWebUsbPermissionBubble, render_frame_host)); + base::Bind(&CreateWebUsbChooserService, render_frame_host)); #endif // !defined(OS_ANDROID) } diff --git a/chrome/browser/usb/usb_chooser_bubble_controller.cc b/chrome/browser/usb/usb_chooser_bubble_controller.cc index b4cce8f..8d2b3f6 100644 --- a/chrome/browser/usb/usb_chooser_bubble_controller.cc +++ b/chrome/browser/usb/usb_chooser_bubble_controller.cc @@ -77,7 +77,7 @@ UsbChooserBubbleController::UsbChooserBubbleController( content::RenderFrameHost* owner, mojo::Array<device::usb::DeviceFilterPtr> device_filters, content::RenderFrameHost* render_frame_host, - const webusb::WebUsbPermissionBubble::GetPermissionCallback& callback) + const device::usb::ChooserService::GetPermissionCallback& callback) : ChooserBubbleController(owner), render_frame_host_(render_frame_host), callback_(callback), diff --git a/chrome/browser/usb/usb_chooser_bubble_controller.h b/chrome/browser/usb/usb_chooser_bubble_controller.h index 6de8fb0..7793f97 100644 --- a/chrome/browser/usb/usb_chooser_bubble_controller.h +++ b/chrome/browser/usb/usb_chooser_bubble_controller.h @@ -13,7 +13,7 @@ #include "base/scoped_observer.h" #include "chrome/browser/ui/website_settings/chooser_bubble_controller.h" #include "components/bubble/bubble_reference.h" -#include "components/webusb/public/interfaces/webusb_permission_bubble.mojom.h" +#include "device/usb/public/interfaces/chooser_service.mojom.h" #include "device/usb/usb_service.h" #include "mojo/public/cpp/bindings/array.h" @@ -34,7 +34,7 @@ class UsbChooserBubbleController : public ChooserBubbleController, content::RenderFrameHost* owner, mojo::Array<device::usb::DeviceFilterPtr> device_filters, content::RenderFrameHost* render_frame_host, - const webusb::WebUsbPermissionBubble::GetPermissionCallback& callback); + const device::usb::ChooserService::GetPermissionCallback& callback); ~UsbChooserBubbleController() override; // ChooserBubbleController: @@ -56,7 +56,7 @@ class UsbChooserBubbleController : public ChooserBubbleController, private: content::RenderFrameHost* const render_frame_host_; - webusb::WebUsbPermissionBubble::GetPermissionCallback callback_; + device::usb::ChooserService::GetPermissionCallback callback_; ScopedObserver<device::UsbService, device::UsbService::Observer> usb_service_observer_; std::vector<device::UsbDeviceFilter> filters_; diff --git a/chrome/browser/usb/usb_tab_helper.cc b/chrome/browser/usb/usb_tab_helper.cc index 91977fd..a0f0998 100644 --- a/chrome/browser/usb/usb_tab_helper.cc +++ b/chrome/browser/usb/usb_tab_helper.cc @@ -7,7 +7,7 @@ #include <utility> #include "base/memory/scoped_ptr.h" -#include "chrome/browser/usb/web_usb_permission_bubble.h" +#include "chrome/browser/usb/web_usb_chooser_service.h" #include "chrome/browser/usb/web_usb_permission_provider.h" #include "device/usb/mojo/device_manager_impl.h" @@ -18,7 +18,7 @@ DEFINE_WEB_CONTENTS_USER_DATA_KEY(UsbTabHelper); struct FrameUsbServices { scoped_ptr<WebUSBPermissionProvider> permission_provider; - scoped_ptr<ChromeWebUsbPermissionBubble> permission_bubble; + scoped_ptr<WebUsbChooserService> chooser_service; }; // static @@ -43,10 +43,10 @@ void UsbTabHelper::CreateDeviceManager( } #if !defined(OS_ANDROID) -void UsbTabHelper::CreatePermissionBubble( +void UsbTabHelper::CreateChooserService( content::RenderFrameHost* render_frame_host, - mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request) { - GetPermissionBubble(render_frame_host, std::move(request)); + mojo::InterfaceRequest<device::usb::ChooserService> request) { + GetChooserService(render_frame_host, std::move(request)); } #endif // !defined(OS_ANDROID) @@ -81,14 +81,14 @@ UsbTabHelper::GetPermissionProvider(RenderFrameHost* render_frame_host) { } #if !defined(OS_ANDROID) -void UsbTabHelper::GetPermissionBubble( +void UsbTabHelper::GetChooserService( content::RenderFrameHost* render_frame_host, - mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request) { + mojo::InterfaceRequest<device::usb::ChooserService> request) { FrameUsbServices* frame_usb_services = GetFrameUsbService(render_frame_host); - if (!frame_usb_services->permission_bubble) { - frame_usb_services->permission_bubble.reset( - new ChromeWebUsbPermissionBubble(render_frame_host)); + if (!frame_usb_services->chooser_service) { + frame_usb_services->chooser_service.reset( + new WebUsbChooserService(render_frame_host)); } - frame_usb_services->permission_bubble->Bind(std::move(request)); + frame_usb_services->chooser_service->Bind(std::move(request)); } #endif // !defined(OS_ANDROID) diff --git a/chrome/browser/usb/usb_tab_helper.h b/chrome/browser/usb/usb_tab_helper.h index 688f501..1771981 100644 --- a/chrome/browser/usb/usb_tab_helper.h +++ b/chrome/browser/usb/usb_tab_helper.h @@ -14,15 +14,12 @@ namespace device { namespace usb { +class ChooserService; class DeviceManager; class PermissionProvider; } } -namespace webusb { -class WebUsbPermissionBubble; -} - struct FrameUsbServices; typedef std::map<content::RenderFrameHost*, scoped_ptr<FrameUsbServices>> @@ -42,9 +39,9 @@ class UsbTabHelper : public content::WebContentsObserver, mojo::InterfaceRequest<device::usb::DeviceManager> request); #if !defined(OS_ANDROID) - void CreatePermissionBubble( + void CreateChooserService( content::RenderFrameHost* render_frame_host, - mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request); + mojo::InterfaceRequest<device::usb::ChooserService> request); #endif // !defined(OS_ANDROID) private: @@ -61,9 +58,9 @@ class UsbTabHelper : public content::WebContentsObserver, content::RenderFrameHost* render_frame_host); #if !defined(OS_ANDROID) - void GetPermissionBubble( + void GetChooserService( content::RenderFrameHost* render_frame_host, - mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request); + mojo::InterfaceRequest<device::usb::ChooserService> request); #endif // !defined(OS_ANDROID) FrameUsbServicesMap frame_usb_services_; diff --git a/chrome/browser/usb/web_usb_permission_bubble.cc b/chrome/browser/usb/web_usb_chooser_service.cc index 8b6b7d1..b035b48 100644 --- a/chrome/browser/usb/web_usb_permission_bubble.cc +++ b/chrome/browser/usb/web_usb_chooser_service.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/usb/web_usb_permission_bubble.h" +#include "chrome/browser/usb/web_usb_chooser_service.h" #include <utility> @@ -13,21 +13,21 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/render_frame_host.h" -ChromeWebUsbPermissionBubble::ChromeWebUsbPermissionBubble( +WebUsbChooserService::WebUsbChooserService( content::RenderFrameHost* render_frame_host) : render_frame_host_(render_frame_host) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); DCHECK(render_frame_host); } -ChromeWebUsbPermissionBubble::~ChromeWebUsbPermissionBubble() { +WebUsbChooserService::~WebUsbChooserService() { for (const auto& bubble : bubbles_) { if (bubble) bubble->CloseBubble(BUBBLE_CLOSE_FORCED); } } -void ChromeWebUsbPermissionBubble::GetPermission( +void WebUsbChooserService::GetPermission( mojo::Array<device::usb::DeviceFilterPtr> device_filters, const GetPermissionCallback& callback) { content::WebContents* web_contents = @@ -44,8 +44,8 @@ void ChromeWebUsbPermissionBubble::GetPermission( bubbles_.push_back(bubble_reference); } -void ChromeWebUsbPermissionBubble::Bind( - mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request) { +void WebUsbChooserService::Bind( + mojo::InterfaceRequest<device::usb::ChooserService> request) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); bindings_.AddBinding(this, std::move(request)); } diff --git a/chrome/browser/usb/web_usb_permission_bubble.h b/chrome/browser/usb/web_usb_chooser_service.h index d55ffc6..e0cffe5 100644 --- a/chrome/browser/usb/web_usb_permission_bubble.h +++ b/chrome/browser/usb/web_usb_chooser_service.h @@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_USB_WEB_USB_PERMISSION_BUBBLE_H_ -#define CHROME_BROWSER_USB_WEB_USB_PERMISSION_BUBBLE_H_ +#ifndef CHROME_BROWSER_USB_WEB_USB_CHOOSER_SERVICE_H_ +#define CHROME_BROWSER_USB_WEB_USB_CHOOSER_SERVICE_H_ #include <vector> #include "base/macros.h" #include "components/bubble/bubble_reference.h" -#include "components/webusb/public/interfaces/webusb_permission_bubble.mojom.h" +#include "device/usb/public/interfaces/chooser_service.mojom.h" #include "mojo/public/cpp/bindings/array.h" #include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/interface_request.h" @@ -22,27 +22,27 @@ namespace device { class UsbDevice; } -// Implementation of the public webusb::WebUsbPermissionBubble interface. +// Implementation of the public device::usb::ChooserService interface. // This interface can be used by a webpage to request permission from user // to access a certain device. -class ChromeWebUsbPermissionBubble : public webusb::WebUsbPermissionBubble { +class WebUsbChooserService : public device::usb::ChooserService { public: - explicit ChromeWebUsbPermissionBubble( - content::RenderFrameHost* render_frame_host); + explicit WebUsbChooserService(content::RenderFrameHost* render_frame_host); - ~ChromeWebUsbPermissionBubble() override; + ~WebUsbChooserService() override; - // webusb::WebUsbPermissionBubble: + // device::usb::ChooserService: void GetPermission(mojo::Array<device::usb::DeviceFilterPtr> device_filters, const GetPermissionCallback& callback) override; - void Bind(mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request); + + void Bind(mojo::InterfaceRequest<device::usb::ChooserService> request); private: content::RenderFrameHost* const render_frame_host_; - mojo::BindingSet<webusb::WebUsbPermissionBubble> bindings_; + mojo::BindingSet<device::usb::ChooserService> bindings_; std::vector<BubbleReference> bubbles_; - DISALLOW_COPY_AND_ASSIGN(ChromeWebUsbPermissionBubble); + DISALLOW_COPY_AND_ASSIGN(WebUsbChooserService); }; -#endif // CHROME_BROWSER_USB_WEB_USB_PERMISSION_BUBBLE_H_ +#endif // CHROME_BROWSER_USB_WEB_USB_CHOOSER_SERVICE_H_ diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 438c20b..0013ce7 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1382,8 +1382,8 @@ 'browser/upgrade_detector.h', 'browser/usb/usb_chooser_bubble_controller.cc', 'browser/usb/usb_chooser_bubble_controller.h', - 'browser/usb/web_usb_permission_bubble.cc', - 'browser/usb/web_usb_permission_bubble.h', + 'browser/usb/web_usb_chooser_service.cc', + 'browser/usb/web_usb_chooser_service.h', ], 'chrome_browser_win_sources': [ 'browser/first_run/try_chrome_dialog_view.cc', diff --git a/components/webusb.gypi b/components/webusb.gypi index cad67c9..caf6c92 100644 --- a/components/webusb.gypi +++ b/components/webusb.gypi @@ -11,7 +11,6 @@ '../base/base.gyp:base', '../device/core/core.gyp:device_core', '../device/usb/usb.gyp:device_usb', - 'components_webusb_mojo_bindings', ], 'include_dirs': [ '..', @@ -22,18 +21,5 @@ 'webusb/webusb_detector.h', ], }, - { - 'target_name': 'components_webusb_mojo_bindings', - 'type': 'static_library', - 'dependencies': [ - '../device/usb/usb.gyp:device_usb_mojo_bindings', - ], - 'sources': [ - 'webusb/public/interfaces/webusb_permission_bubble.mojom', - ], - 'includes': [ - '../mojo/mojom_bindings_generator.gypi', - ], - }, ], } diff --git a/components/webusb/BUILD.gn b/components/webusb/BUILD.gn index de279d6..7b23f54 100644 --- a/components/webusb/BUILD.gn +++ b/components/webusb/BUILD.gn @@ -11,7 +11,6 @@ source_set("webusb") { public_deps = [ "//base", - "//components/webusb/public/interfaces", "//device/usb", ] deps = [ diff --git a/components/webusb/public/interfaces/BUILD.gn b/components/webusb/public/interfaces/BUILD.gn deleted file mode 100644 index 88f0340..0000000 --- a/components/webusb/public/interfaces/BUILD.gn +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2015 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import("//mojo/public/tools/bindings/mojom.gni") - -mojom("interfaces") { - sources = [ - "webusb_permission_bubble.mojom", - ] - - deps = [ - "//device/usb/public/interfaces", - ] -} diff --git a/content/app/BUILD.gn b/content/app/BUILD.gn index 96dca6d..6d4514b 100644 --- a/content/app/BUILD.gn +++ b/content/app/BUILD.gn @@ -42,6 +42,7 @@ if (is_win) { content_app_sources -= [ "content_main.cc" ] content_app_deps += [ "//content/public/android:jni", + "//device/usb", "//device/vibration", "//skia", "//third_party/android_tools:cpu_features", diff --git a/content/content_app.gypi b/content/content_app.gypi index e25a00c..2ed4ed7 100644 --- a/content/content_app.gypi +++ b/content/content_app.gypi @@ -50,6 +50,7 @@ 'dependencies': [ 'content.gyp:content_jni_headers', '../build/android/ndk.gyp:cpu_features', + '../device/usb/usb.gyp:device_usb', '../gpu/gpu.gyp:gpu_ipc_common', '../skia/skia.gyp:skia', '../ui/android/ui_android.gyp:ui_android', diff --git a/content/content_renderer.gypi b/content/content_renderer.gypi index 5c03975..ae749a1 100644 --- a/content/content_renderer.gypi +++ b/content/content_renderer.gypi @@ -9,7 +9,6 @@ '../cc/cc.gyp:cc', '../cc/cc.gyp:cc_proto', '../cc/blink/cc_blink.gyp:cc_blink', - '../components/components.gyp:webusb', '../components/scheduler/scheduler.gyp:scheduler', '../components/url_formatter/url_formatter.gyp:url_formatter', '../device/battery/battery.gyp:device_battery', diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn index bd41605..e654492 100644 --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn @@ -32,7 +32,6 @@ source_set("renderer") { "//cc/surfaces:surface_id", "//components/scheduler:scheduler", "//components/url_formatter", - "//components/webusb", "//content:resources", "//content/common:mojo_bindings", "//content/public/child:child_sources", diff --git a/content/renderer/usb/DEPS b/content/renderer/usb/DEPS index a0fda84..b7aeef5 100644 --- a/content/renderer/usb/DEPS +++ b/content/renderer/usb/DEPS @@ -1,4 +1,3 @@ include_rules = [ - "+components/webusb/public/interfaces", "+device/usb/public", ] diff --git a/content/renderer/usb/web_usb_client_impl.cc b/content/renderer/usb/web_usb_client_impl.cc index cf30b9d..f315de4 100644 --- a/content/renderer/usb/web_usb_client_impl.cc +++ b/content/renderer/usb/web_usb_client_impl.cc @@ -107,9 +107,9 @@ void WebUSBClientImpl::getDevices( void WebUSBClientImpl::requestDevice( const blink::WebUSBDeviceRequestOptions& options, blink::WebUSBClientRequestDeviceCallbacks* callbacks) { - if (!webusb_permission_bubble_) { + if (!chooser_service_) { service_registry_->ConnectToRemoteService( - mojo::GetProxy(&webusb_permission_bubble_)); + mojo::GetProxy(&chooser_service_)); } auto scoped_callbacks = MakeScopedUSBCallbacks(callbacks); @@ -117,7 +117,7 @@ void WebUSBClientImpl::requestDevice( mojo::Array<device::usb::DeviceFilterPtr> device_filters = mojo::Array<device::usb::DeviceFilterPtr>::From(options.filters); - webusb_permission_bubble_->GetPermission( + chooser_service_->GetPermission( std::move(device_filters), base::Bind(&OnRequestDevicesComplete, base::Passed(&scoped_callbacks), base::Unretained(device_manager_.get()))); diff --git a/content/renderer/usb/web_usb_client_impl.h b/content/renderer/usb/web_usb_client_impl.h index 0d0f1ba..b3b504b 100644 --- a/content/renderer/usb/web_usb_client_impl.h +++ b/content/renderer/usb/web_usb_client_impl.h @@ -6,7 +6,7 @@ #define CONTENT_RENDERER_USB_WEB_USB_CLIENT_IMPL_H_ #include "base/macros.h" -#include "components/webusb/public/interfaces/webusb_permission_bubble.mojom.h" +#include "device/usb/public/interfaces/chooser_service.mojom.h" #include "device/usb/public/interfaces/device_manager.mojom.h" #include "third_party/WebKit/public/platform/modules/webusb/WebUSBClient.h" @@ -33,7 +33,7 @@ class WebUSBClientImpl : public blink::WebUSBClient { ServiceRegistry* const service_registry_; device::usb::DeviceManagerPtr device_manager_; - webusb::WebUsbPermissionBubblePtr webusb_permission_bubble_; + device::usb::ChooserServicePtr chooser_service_; Observer* observer_ = nullptr; DISALLOW_COPY_AND_ASSIGN(WebUSBClientImpl); diff --git a/device/usb/public/interfaces/BUILD.gn b/device/usb/public/interfaces/BUILD.gn index eca5418..7f12a84 100644 --- a/device/usb/public/interfaces/BUILD.gn +++ b/device/usb/public/interfaces/BUILD.gn @@ -6,6 +6,7 @@ import("//mojo/public/tools/bindings/mojom.gni") mojom("interfaces") { sources = [ + "chooser_service.mojom", "device.mojom", "device_manager.mojom", ] diff --git a/components/webusb/public/interfaces/webusb_permission_bubble.mojom b/device/usb/public/interfaces/chooser_service.mojom index 685c7f7..29f130b 100644 --- a/components/webusb/public/interfaces/webusb_permission_bubble.mojom +++ b/device/usb/public/interfaces/chooser_service.mojom @@ -2,12 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -module webusb; +module device.usb; -import "device/usb/public/interfaces/device.mojom"; -import "device/usb/public/interfaces/device_manager.mojom"; +import "device.mojom"; +import "device_manager.mojom"; -interface WebUsbPermissionBubble { +interface ChooserService { // Get permission from user to use the device. // // |device_filters| filters the available devices and the filtered diff --git a/device/usb/usb.gyp b/device/usb/usb.gyp index a553f57..ef2cf89 100644 --- a/device/usb/usb.gyp +++ b/device/usb/usb.gyp @@ -128,6 +128,7 @@ 'target_name': 'device_usb_mojo_bindings', 'type': 'static_library', 'sources': [ + 'public/interfaces/chooser_service.mojom', 'public/interfaces/device.mojom', 'public/interfaces/device_manager.mojom', ], |