0

Rename web_usb_permission_bubble.cc/h and webusb_permission_bubble.mojom

This patch renamed the following three files:
web_usb_permission_bubble.cc/h  ->  web_usb_chooser_service.cc/h
//components/webusb/public/interfaces/webusb_permission_bubble.mojom  ->
//device/usb/public/interfaces/chooser_service.mojom

The previous filenames are misleading and confusing,
since the word "bubble" in the original filename
is a Chrome UI concept, but these files are not UI
related. The new filenames better reflect the
responsibilities and roles of these files.

By moving
//components/webusb/public/interfaces/webusb_permission_bubble.mojom to
//device/usb/public/interfaces/chooser_service.mojom,
it removes the //components dependency of:
//content/renderer/usb/DEPS, the depencency breaks the DEP rule at:
//content/renderer/DEPS

This patch is a follow-up patch for:
https://codereview.chromium.org/1624573004/
The above patch is closed.

BUG=492204, 590268

Review URL: https://codereview.chromium.org/1742753002

Cr-Commit-Position: refs/heads/master@{#381004}
This commit is contained in:
juncai
2016-03-14 11:04:30 -07:00
committed by Commit bot
parent 2052a822d8
commit 0f6c2ac3d7
21 changed files with 59 additions and 91 deletions

@ -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)
}

@ -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),

@ -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_;

@ -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)

@ -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_;

@ -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));
}

@ -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_

@ -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',

@ -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',
],
},
],
}

@ -11,7 +11,6 @@ source_set("webusb") {
public_deps = [
"//base",
"//components/webusb/public/interfaces",
"//device/usb",
]
deps = [

@ -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",
]
}

@ -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",

@ -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',

@ -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',

@ -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",

@ -1,4 +1,3 @@
include_rules = [
"+components/webusb/public/interfaces",
"+device/usb/public",
]

@ -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())));

@ -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);

@ -6,6 +6,7 @@ import("//mojo/public/tools/bindings/mojom.gni")
mojom("interfaces") {
sources = [
"chooser_service.mojom",
"device.mojom",
"device_manager.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

@ -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',
],