Index: extensions/common/api/printer_provider/usb_printer_manifest_data.cc |
diff --git a/extensions/common/api/printer_provider/usb_printer_manifest_data.cc b/extensions/common/api/printer_provider/usb_printer_manifest_data.cc |
index 61dc9e83bbead07cb385cdeaf0c91b279b754d75..4cfca0082fb140f713b6dce0593ba2bb57718138 100644 |
--- a/extensions/common/api/printer_provider/usb_printer_manifest_data.cc |
+++ b/extensions/common/api/printer_provider/usb_printer_manifest_data.cc |
@@ -5,10 +5,13 @@ |
#include "extensions/common/api/printer_provider/usb_printer_manifest_data.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "device/usb/usb_device.h" |
#include "device/usb/usb_device_filter.h" |
#include "extensions/common/api/extensions_manifest_types.h" |
#include "extensions/common/manifest_constants.h" |
+using device::UsbDeviceFilter; |
+ |
namespace extensions { |
UsbPrinterManifestData::UsbPrinterManifestData() { |
@@ -37,7 +40,7 @@ scoped_ptr<UsbPrinterManifestData> UsbPrinterManifestData::FromValue( |
scoped_ptr<UsbPrinterManifestData> result(new UsbPrinterManifestData()); |
for (const auto& input : usb_printers->filters) { |
DCHECK(input.get()); |
- device::UsbDeviceFilter output; |
+ UsbDeviceFilter output; |
output.SetVendorId(input->vendor_id); |
if (input->product_id && input->interface_class) { |
*error = base::ASCIIToUTF16( |
@@ -61,4 +64,9 @@ scoped_ptr<UsbPrinterManifestData> UsbPrinterManifestData::FromValue( |
return result.Pass(); |
} |
+bool UsbPrinterManifestData::SupportsDevice( |
+ const scoped_refptr<device::UsbDevice>& device) const { |
+ return UsbDeviceFilter::MatchesAny(device, filters_); |
+} |
+ |
} // namespace extensions |