| 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..dc8b2a84273c422777a2acbdc79f54b868f72c85 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"
|
| @@ -105,10 +107,7 @@ void UsbChooserBubbleController::Close() {}
|
|
|
| void UsbChooserBubbleController::OnDeviceAdded(
|
| scoped_refptr<device::UsbDevice> device) {
|
| - if (device::UsbDeviceFilter::MatchesAny(device, filters_) &&
|
| - FindInWebUsbAllowedOrigins(
|
| - device->webusb_allowed_origins(),
|
| - render_frame_host_->GetLastCommittedURL().GetOrigin())) {
|
| + if (DisplayDevice(device)) {
|
| devices_.push_back(std::make_pair(device, device->product_string()));
|
| if (observer())
|
| observer()->OnOptionAdded(devices_.size() - 1);
|
| @@ -142,13 +141,19 @@ void UsbChooserBubbleController::set_bubble_reference(
|
| void UsbChooserBubbleController::GotUsbDeviceList(
|
| const std::vector<scoped_refptr<device::UsbDevice>>& devices) {
|
| for (const auto& device : devices) {
|
| - if (device::UsbDeviceFilter::MatchesAny(device, filters_) &&
|
| - FindInWebUsbAllowedOrigins(
|
| - device->webusb_allowed_origins(),
|
| - render_frame_host_->GetLastCommittedURL().GetOrigin())) {
|
| + if (DisplayDevice(device))
|
| devices_.push_back(std::make_pair(device, device->product_string()));
|
| - }
|
| }
|
| if (observer())
|
| observer()->OnOptionsInitialized();
|
| }
|
| +
|
| +bool UsbChooserBubbleController::DisplayDevice(
|
| + scoped_refptr<device::UsbDevice> device) const {
|
| + return device::UsbDeviceFilter::MatchesAny(device, filters_) &&
|
| + (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kDisableWebUsbSecurity) ||
|
| + device::FindInWebUsbAllowedOrigins(
|
| + device->webusb_allowed_origins(),
|
| + render_frame_host_->GetLastCommittedURL().GetOrigin()));
|
| +}
|
|
|