Index: chrome/browser/usb/usb_chooser_bubble_controller.cc |
diff --git a/chrome/browser/usb/usb_chooser_bubble_controller.cc b/chrome/browser/usb/usb_chooser_bubble_controller.cc |
index a9e00c8972d9c0ae47d398fc3cf90a6871ce8fef..28cdaddf158b0ed8edcf5e8db996682ba965151e 100644 |
--- a/chrome/browser/usb/usb_chooser_bubble_controller.cc |
+++ b/chrome/browser/usb/usb_chooser_bubble_controller.cc |
@@ -8,10 +8,12 @@ |
#include <utility> |
#include "base/bind.h" |
+#include "base/command_line.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/usb/usb_chooser_context.h" |
#include "chrome/browser/usb/usb_chooser_context_factory.h" |
#include "chrome/browser/usb/web_usb_histograms.h" |
+#include "chrome/common/chrome_switches.h" |
#include "chrome/common/url_constants.h" |
#include "components/bubble/bubble_controller.h" |
#include "content/public/browser/render_frame_host.h" |
@@ -23,6 +25,19 @@ |
#include "device/usb/webusb_descriptors.h" |
#include "url/gurl.h" |
+namespace { |
+ |
+bool FindInWebUsbAllowedOrigins( |
+ const device::WebUsbAllowedOrigins* allowed_origins, |
+ const GURL& origin) { |
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kDisableWebUsbSecurity)) |
+ return true; |
+ return device::FindInWebUsbAllowedOrigins(allowed_origins, origin); |
Peter Kasting
2016/03/29 23:29:31
Nit: Shorter:
return base::CommandLine::ForCurr
Reilly Grant (use Gerrit)
2016/03/30 20:26:43
Done.
|
+} |
+ |
+} // namespace |
+ |
UsbChooserBubbleController::UsbChooserBubbleController( |
content::RenderFrameHost* owner, |
mojo::Array<device::usb::DeviceFilterPtr> device_filters, |
@@ -106,7 +121,7 @@ void UsbChooserBubbleController::Close() {} |
void UsbChooserBubbleController::OnDeviceAdded( |
scoped_refptr<device::UsbDevice> device) { |
if (device::UsbDeviceFilter::MatchesAny(device, filters_) && |
- FindInWebUsbAllowedOrigins( |
+ ::FindInWebUsbAllowedOrigins( |
Peter Kasting
2016/03/29 23:29:31
Don't make changes where we add identically-named
Reilly Grant (use Gerrit)
2016/03/30 20:26:43
Layering-wise I can't move the check into device::
|
device->webusb_allowed_origins(), |
render_frame_host_->GetLastCommittedURL().GetOrigin())) { |
devices_.push_back(std::make_pair(device, device->product_string())); |
@@ -143,7 +158,7 @@ void UsbChooserBubbleController::GotUsbDeviceList( |
const std::vector<scoped_refptr<device::UsbDevice>>& devices) { |
for (const auto& device : devices) { |
if (device::UsbDeviceFilter::MatchesAny(device, filters_) && |
- FindInWebUsbAllowedOrigins( |
+ ::FindInWebUsbAllowedOrigins( |
device->webusb_allowed_origins(), |
render_frame_host_->GetLastCommittedURL().GetOrigin())) { |
devices_.push_back(std::make_pair(device, device->product_string())); |