Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 35 users
Status: Fixed
Owner:
Closed: Jul 26
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Launch-OWP
Launch-Accessibility: ----
Launch-Legal: ----
Launch-M-Approved: ----
Launch-M-Target: ----
Launch-Privacy: ----
Launch-Security: ----
Launch-Status: ----
Launch-Test: ----
Launch-UI: ----
Product-Review: ----

Blocked on:
issue 529950
issue 556845
issue 574389
issue 586824
issue 592105
issue 593164
issue 595375
issue 674353
issue 711443

Blocking:
issue 576958


Show other hotlists

Hotlists containing this issue:
Top-Starred-Bugs
USB


Sign in to add a comment
WebUSB API
Project Member Reported by roc...@chromium.org, May 26 2015 Back to list
Change description:
Implement the WebUSB API.

Changes to API surface:
Introduction of a new navigator.usb interface for enumerating and interacting with attached USB devices.

Links:
Draft spec (WIP): http://reillyeon.github.io/webusb/

Support in other browsers:
Not yet applicable, but the intent is to propose this as a standard web API.

Launch Issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=576958
 
Labels: -Type-Launch-OWP Type-Launch
Can you please create a corresponding Type-Launch bug so this feature is tracked by Chrome privacy and security?
I'm confused. What is the purpose of having two different launch bugs? And do you mean we should create a corresponding Type-Launch-OWP bug, given that this bug has been changed to Type-Launch?

The process documentation (http://www.chromium.org/blink#TOC-Web-Platform-Changes:-Process) only indicates the need to create an OWP launch bug.
Comment 3 by roc...@chromium.org, Jul 29 2015
Intent-to-implement thread here for posterity: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/abdK8Ak-W5Y/gDRQpPFhU54J
Project Member Comment 4 by bugdroid1@chromium.org, Jul 31 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=199777

------------------------------------------------------------------
r199777 | rockot@chromium.org | 2015-07-31T02:16:08.335513Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/OWNERS?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBClient.h?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBController.cpp?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/OWNERS?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.h?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.idl?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDeviceEnumerationOptions.h?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBController.h?r1=199777&r2=199776&pathrev=199777
   M http://src.chromium.org/viewvc/blink/trunk/Source/web/WebLocalFrameImpl.cpp?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/NavigatorUSB.cpp?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDeviceFilter.idl?r1=199777&r2=199776&pathrev=199777
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=199777&r2=199776&pathrev=199777
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=199777&r2=199776&pathrev=199777
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/NavigatorUSB.h?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.h?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.idl?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDeviceEnumerationOptions.idl?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDeviceFilter.h?r1=199777&r2=199776&pathrev=199777
   M http://src.chromium.org/viewvc/blink/trunk/public/web/WebFrameClient.h?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.cpp?r1=199777&r2=199776&pathrev=199777
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/NavigatorUSB.idl?r1=199777&r2=199776&pathrev=199777

Add WebUSB bindings and client interface [part 1]

This is part 1 of a multipart change set to add WebUSB
bindings to Blink. In this CL, a basic client interface
is added for device enumeration.

The original full CL is here: 
https://codereview.chromium.org/1245363002/

And the WebUSB draft spec is here:
http://reillyeon.github.io/webusb/

BUG=492204

Review URL: https://codereview.chromium.org/1262163003
-----------------------------------------------------------------
Project Member Comment 5 by bugdroid1@chromium.org, Jul 31 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=199793

------------------------------------------------------------------
r199793 | yutak@chromium.org | 2015-07-31T06:15:58.706981Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBController.h?r1=199793&r2=199792&pathrev=199793

Oilpan: Fix compile after r199777.

BUG=492204
TBR=haraken@chromium.org, oilpan-reviews@chromium.org

Review URL: https://codereview.chromium.org/1266153002 .
-----------------------------------------------------------------
Project Member Comment 6 by bugdroid1@chromium.org, Aug 3 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=199921

------------------------------------------------------------------
r199921 | rockot@chromium.org | 2015-08-03T23:15:57.694416Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBError.h?r1=199921&r2=199920&pathrev=199921
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBError.h?r1=199921&r2=199920&pathrev=199921
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.cpp?r1=199921&r2=199920&pathrev=199921
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDeviceInfo.h?r1=199921&r2=199920&pathrev=199921
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.h?r1=199921&r2=199920&pathrev=199921
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDevice.h?r1=199921&r2=199920&pathrev=199921
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.idl?r1=199921&r2=199920&pathrev=199921
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBTransferInfo.h?r1=199921&r2=199920&pathrev=199921
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBError.cpp?r1=199921&r2=199920&pathrev=199921
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=199921&r2=199920&pathrev=199921
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=199921&r2=199920&pathrev=199921

Add WebUSB bindings and client interface [part 2]

This is part 2 of a multipart change set to add WebUSB
bindings to Blink. In this CL, device enumeration logic
is implemented and some additional getters are added
to the USBDevice interface.

The original full CL is here:
https://codereview.chromium.org/1245363002/

The WebUSB draft spec is here:
http://reillyeon.github.io/webusb/

Part 1 landed as
https://src.chromium.org/viewvc/blink?revision=199777&view=revision

BUG=492204

Review URL: https://codereview.chromium.org/1264483005
-----------------------------------------------------------------
Project Member Comment 7 by bugdroid1@chromium.org, Aug 4 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=199941

------------------------------------------------------------------
r199941 | rockot@chromium.org | 2015-08-04T06:02:26.696233Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInterface.idl?r1=199941&r2=199940&pathrev=199941
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConfiguration.cpp?r1=199941&r2=199940&pathrev=199941
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConfiguration.h?r1=199941&r2=199940&pathrev=199941
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=199941&r2=199940&pathrev=199941
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=199941&r2=199940&pathrev=199941
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConfiguration.idl?r1=199941&r2=199940&pathrev=199941
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.cpp?r1=199941&r2=199940&pathrev=199941
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInterface.cpp?r1=199941&r2=199940&pathrev=199941
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDeviceInfo.h?r1=199941&r2=199940&pathrev=199941
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.h?r1=199941&r2=199940&pathrev=199941
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.idl?r1=199941&r2=199940&pathrev=199941
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInterface.h?r1=199941&r2=199940&pathrev=199941

WebUSB bindings part 3

This adds USBConfiguration and USBInterface interfaces,
and also fills out the rest of the WebUSBDeviceInfo structure.

BUG=492204
R=reillyg@chromium.org

Review URL: https://codereview.chromium.org/1252913014
-----------------------------------------------------------------
Project Member Comment 8 by bugdroid1@chromium.org, Aug 4 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=200002

------------------------------------------------------------------
r200002 | rockot@chromium.org | 2015-08-04T23:07:51.918901Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBAlternateInterface.h?r1=200002&r2=200001&pathrev=200002
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBEndpoint.h?r1=200002&r2=200001&pathrev=200002
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInterface.h?r1=200002&r2=200001&pathrev=200002
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBAlternateInterface.idl?r1=200002&r2=200001&pathrev=200002
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBEndpoint.idl?r1=200002&r2=200001&pathrev=200002
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInterface.idl?r1=200002&r2=200001&pathrev=200002
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=200002&r2=200001&pathrev=200002
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=200002&r2=200001&pathrev=200002
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBAlternateInterface.cpp?r1=200002&r2=200001&pathrev=200002
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBEndpoint.cpp?r1=200002&r2=200001&pathrev=200002
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInterface.cpp?r1=200002&r2=200001&pathrev=200002
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDeviceInfo.h?r1=200002&r2=200001&pathrev=200002

WebUSB bindings part 4

This adds USBAlternateInterface and USBEndpoint.

BUG=492204

Review URL: https://codereview.chromium.org/1270983002
-----------------------------------------------------------------
Project Member Comment 9 by bugdroid1@chromium.org, Aug 5 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d80d79b21fbad4eb834f154660dcdca3720f5622

commit d80d79b21fbad4eb834f154660dcdca3720f5622
Author: reillyg <reillyg@chromium.org>
Date: Wed Aug 05 20:27:14 2015

Add utilities to parse WebUSB device descriptors.

These structs and methods will be used to parse the WebUSB descriptors
on compatible devices as part of the enumeration process. Tests are
provided for example descriptors and a number of various corrupt cases.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#341959}

[modify] http://crrev.com/d80d79b21fbad4eb834f154660dcdca3720f5622/device/device_tests.gyp
[modify] http://crrev.com/d80d79b21fbad4eb834f154660dcdca3720f5622/device/usb/BUILD.gn
[modify] http://crrev.com/d80d79b21fbad4eb834f154660dcdca3720f5622/device/usb/usb.gyp
[add] http://crrev.com/d80d79b21fbad4eb834f154660dcdca3720f5622/device/usb/webusb_descriptors.cc
[add] http://crrev.com/d80d79b21fbad4eb834f154660dcdca3720f5622/device/usb/webusb_descriptors.h
[add] http://crrev.com/d80d79b21fbad4eb834f154660dcdca3720f5622/device/usb/webusb_descriptors_unittest.cc

Project Member Comment 10 by bugdroid1@chromium.org, Aug 6 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6eb7a8ae9630f17bcb0673c05d983577b8652862

commit 6eb7a8ae9630f17bcb0673c05d983577b8652862
Author: reillyg <reillyg@chromium.org>
Date: Thu Aug 06 00:34:07 2015

Try to read BOS and WebUSB descriptors from USB devices.

When a USB 2.1 or higher device is enumerated this patch attempts to
read its binary device object store (BOS) descriptor. If a WebUSB
platform capability descriptor is found the WebUSB landing page and
allowed origin descriptors are requested.

These requests should be safe as the USB 3.0 specification requires
that devices announcing support for version 2.1 (which is just USB 3.0
for non-super-speed devices) or higher must implement the BOS
descriptor request.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#342028}

[modify] http://crrev.com/6eb7a8ae9630f17bcb0673c05d983577b8652862/device/usb/usb_device.cc
[modify] http://crrev.com/6eb7a8ae9630f17bcb0673c05d983577b8652862/device/usb/usb_device.h
[modify] http://crrev.com/6eb7a8ae9630f17bcb0673c05d983577b8652862/device/usb/usb_device_impl.h
[modify] http://crrev.com/6eb7a8ae9630f17bcb0673c05d983577b8652862/device/usb/usb_service_impl.cc

Project Member Comment 11 by bugdroid1@chromium.org, Aug 12 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=200368

------------------------------------------------------------------
r200368 | rockot@chromium.org | 2015-08-12T02:02:05.384291Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBClient.h?r1=200368&r2=200367&pathrev=200368
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBTransferInfo.h?r1=200368&r2=200367&pathrev=200368
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBError.cpp?r1=200368&r2=200367&pathrev=200368
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBError.h?r1=200368&r2=200367&pathrev=200368
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.cpp?r1=200368&r2=200367&pathrev=200368

WebUSB bindings part 5

This enables getDevices to call the client and fixes some type
definitions so things will actually compile in chromium.

BUG=492204

Review URL: https://codereview.chromium.org/1284033002
-----------------------------------------------------------------
Project Member Comment 12 by bugdroid1@chromium.org, Aug 12 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=200433

------------------------------------------------------------------
r200433 | reillyg@chromium.org | 2015-08-12T22:39:28.037143Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=200433&r2=200432&pathrev=200433
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.cpp?r1=200433&r2=200432&pathrev=200433
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBClient.h?r1=200433&r2=200432&pathrev=200433
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.h?r1=200433&r2=200432&pathrev=200433
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.h?r1=200433&r2=200432&pathrev=200433
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.idl?r1=200433&r2=200432&pathrev=200433
   D http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDeviceEnumerationOptions.h?r1=200433&r2=200432&pathrev=200433
   D http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDeviceEnumerationOptions.idl?r1=200433&r2=200432&pathrev=200433
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDeviceRequestOptions.h?r1=200433&r2=200432&pathrev=200433
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDeviceRequestOptions.idl?r1=200433&r2=200432&pathrev=200433

WebUSB: Create a requestDevice method separate from getDevice.

This change reflects an update I just made to the spec to define a
separate requestDevice() method that prompts the user to select a single
device vs. getDevices() that returns the devices the origin currently
has access to.

BUG=492204

Review URL: https://codereview.chromium.org/1288793003
-----------------------------------------------------------------
Labels: -Type-Launch Type-Launch-OWP
Correcting Type-Launch to Type-Launch-OWP to remove implicit Restrict-View-Google.
Labels: -M-46 M-47
Presumably not shipping in M46
Project Member Comment 15 by bugdroid1@chromium.org, Aug 20 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=200912

------------------------------------------------------------------
r200912 | reillyg@chromium.org | 2015-08-20T17:32:56.115407Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced-expected.txt?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-expected.txt?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated-expected.txt?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/EventTargetModulesFactory.in?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.cpp?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.h?r1=200912&r2=200911&pathrev=200912
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.idl?r1=200912&r2=200911&pathrev=200912

Add onconnect and ondisconnect events to navigator.usb.

This patch updates USB.idl to add these two events, making it an
EventTarget. WebUSBClient still needs to be updated to support
delivering these events to Blink.

BUG=492204

Review URL: https://codereview.chromium.org/1291753004
-----------------------------------------------------------------
Project Member Comment 16 by bugdroid1@chromium.org, Aug 20 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=200925

------------------------------------------------------------------
r200925 | sigbjornf@opera.com | 2015-08-20T19:54:58.939136Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.h?r1=200925&r2=200924&pathrev=200925

Oilpan: fix build after r200912.

TBR=oilpan-reviews
BUG=492204
NOTRY=true

Review URL: https://codereview.chromium.org/1298253004
-----------------------------------------------------------------
Project Member Comment 17 by bugdroid1@chromium.org, Aug 20 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=200935

------------------------------------------------------------------
r200935 | reillyg@chromium.org | 2015-08-20T22:42:39.840516Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConnectionEvent.cpp?r1=200935&r2=200934&pathrev=200935
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConnectionEvent.h?r1=200935&r2=200934&pathrev=200935
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConnectionEvent.idl?r1=200935&r2=200934&pathrev=200935
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConnectionEventInit.idl?r1=200935&r2=200934&pathrev=200935
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=200935&r2=200934&pathrev=200935
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=200935&r2=200934&pathrev=200935

Add USBConnectionEvent to webusb module.

This is the object passed to onconnected and ondisconnected event
handlers connected to navigator.usb.

BUG=492204

Review URL: https://codereview.chromium.org/1307483002
-----------------------------------------------------------------
Project Member Comment 18 by bugdroid1@chromium.org, Aug 21 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d926098e2e2be270c80a5ba25ab8a611b80b8556

commit d926098e2e2be270c80a5ba25ab8a611b80b8556
Author: rockot <rockot@chromium.org>
Date: Fri Aug 21 22:26:30 2015

Connect WebUSB client interface to the devices app

This provides a basic WebUSB client interface in
content/renderer. Most of the interface is unimplemented,
but this CL hooks up navigator.usb.getDevices() to the
browser's Mojo devices app to enumerate available USB
devices.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#344881}

[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/child/scoped_web_callbacks.h
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/content_child.gypi
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/content_renderer.gypi
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/public/test/render_view_test.cc
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/BUILD.gn
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/DEPS
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/render_frame_impl.cc
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/render_frame_impl.h
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/DEPS
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/OWNERS
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/type_converters.cc
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/type_converters.h
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/web_usb_client_impl.cc
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/web_usb_client_impl.h
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/web_usb_device_impl.cc
[add] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/content/renderer/usb/web_usb_device_impl.h
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/device/devices_app/devices_app.gyp
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/device/devices_app/usb/device_manager_impl.cc
[modify] http://crrev.com/d926098e2e2be270c80a5ba25ab8a611b80b8556/mojo/common/weak_binding_set.h

Project Member Comment 19 by bugdroid1@chromium.org, Aug 24 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3a5e7bccbe7dc0e6c58ebb60e840d13794ce5a7b

commit 3a5e7bccbe7dc0e6c58ebb60e840d13794ce5a7b
Author: rockot <rockot@chromium.org>
Date: Mon Aug 24 23:39:34 2015

Implement most of WebUSB device client interface

This wires up the WebUSB device client interface from content/renderer
to the devices app. Bulk and interrupt transfer support remains
unimplemented, pending changes to the underlying service interface.

BUG=492204
R=reillyg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#345208}

[modify] http://crrev.com/3a5e7bccbe7dc0e6c58ebb60e840d13794ce5a7b/content/renderer/usb/web_usb_device_impl.cc

Project Member Comment 20 by bugdroid1@chromium.org, Aug 25 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=201107

------------------------------------------------------------------
r201107 | rockot@chromium.org | 2015-08-25T06:14:41.462853Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=201107&r2=201106&pathrev=201107
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/modules.gypi?r1=201107&r2=201106&pathrev=201107
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBControlTransferParameters.idl?r1=201107&r2=201106&pathrev=201107
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.cpp?r1=201107&r2=201106&pathrev=201107
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInTransferResult.h?r1=201107&r2=201106&pathrev=201107
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBInTransferResult.idl?r1=201107&r2=201106&pathrev=201107
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBOutTransferResult.h?r1=201107&r2=201106&pathrev=201107
   A http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBOutTransferResult.idl?r1=201107&r2=201106&pathrev=201107
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.h?r1=201107&r2=201106&pathrev=201107
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDevice.h?r1=201107&r2=201106&pathrev=201107
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.idl?r1=201107&r2=201106&pathrev=201107

WebUSB bindings part 6

This connects USBDevice interface methods to the embedder.

BUG=492204
R=reillyg@chromium.org

Review URL: https://codereview.chromium.org/1315683002
-----------------------------------------------------------------
Project Member Comment 21 by bugdroid1@chromium.org, Sep 4 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b115256c55c867df10795991178c766e5604aa6

commit 1b115256c55c867df10795991178c766e5604aa6
Author: juncai <juncai@chromium.org>
Date: Fri Sep 04 02:36:08 2015

Add webusb notification UI code

This patch added code to display notification on chrome when a USB
device is plugged in.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#347310}

[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/app/generated_resources.grd
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/BUILD.gn
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/DEPS
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/OWNERS
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/about_flags.cc
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/chrome_browser_main.cc
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/chrome_browser_main.h
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/chrome_webusb_browser_client.cc
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/browser/chrome_webusb_browser_client.h
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/chrome_browser.gypi
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/common/chrome_switches.cc
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/chrome/common/chrome_switches.h
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/BUILD.gn
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/OWNERS
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/components.gyp
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/webusb.gypi
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/webusb/BUILD.gn
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/webusb/DEPS
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/webusb/OWNERS
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/webusb/webusb_browser_client.h
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/webusb/webusb_detector.cc
[add] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/components/webusb/webusb_detector.h
[modify] http://crrev.com/1b115256c55c867df10795991178c766e5604aa6/tools/metrics/histograms/histograms.xml

Project Member Comment 22 by bugdroid1@chromium.org, Sep 9 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a764fd3e6431e3932b20d1c364a8d92a55120167

commit a764fd3e6431e3932b20d1c364a8d92a55120167
Author: juncai <juncai@chromium.org>
Date: Wed Sep 09 09:04:40 2015

Add webusb notification UI unit tests

This patch added webusb notification UI unit tests code.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#347866}

[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/chrome/browser/chrome_webusb_browser_client.h
[add] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/chrome/browser/chrome_webusb_browser_client_unittest.cc
[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/chrome/chrome_tests_unit.gypi
[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/components/BUILD.gn
[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/components/components_tests.gyp
[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/components/webusb/BUILD.gn
[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/components/webusb/webusb_browser_client.h
[add] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/components/webusb/webusb_detector_unittest.cc
[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/device/usb/mock_usb_device.cc
[modify] http://crrev.com/a764fd3e6431e3932b20d1c364a8d92a55120167/device/usb/mock_usb_device.h

Project Member Comment 23 by bugdroid1@chromium.org, Sep 9 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/17b8a58c99537bab4d8944ec2f96023dac0a15e7

commit 17b8a58c99537bab4d8944ec2f96023dac0a15e7
Author: reillyg <reillyg@chromium.org>
Date: Wed Sep 09 20:58:55 2015

Convert DeviceManagerDelegate to PermissionProvider mojo interface.

This changes the device::usb::DeviceManager service so that instead of
expecting a C++ implementation of the DeviceManagerDelegate interface it
depends on the client connecting to the devices app to provide an
implementation of the PermissionProvider mojo service interface. This
will allow the permissions checker to be injected by the FrameMojoShell
when a renderer requests a connection to the devices app.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#347998}

[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/chrome/browser/chrome_content_browser_client.cc
[add] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/chrome/browser/usb/DEPS
[add] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/chrome/browser/usb/OWNERS
[add] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/chrome/browser/usb/web_usb_permission_provider.cc
[add] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/chrome/browser/usb/web_usb_permission_provider.h
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/chrome/chrome_browser.gypi
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/BUILD.gn
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/BUILD.gn
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/devices_app.cc
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/devices_app.gyp
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/usb/device_manager_impl.cc
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/usb/device_manager_impl.h
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/usb/device_manager_impl_unittest.cc
[delete] http://crrev.com/60b43d0fb14581c647034594f29e98f4ec2babf5/device/devices_app/usb/public/cpp/BUILD.gn
[delete] http://crrev.com/60b43d0fb14581c647034594f29e98f4ec2babf5/device/devices_app/usb/public/cpp/device_manager_delegate.h
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/usb/public/interfaces/BUILD.gn
[modify] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/usb/public/interfaces/device_manager.mojom
[add] http://crrev.com/17b8a58c99537bab4d8944ec2f96023dac0a15e7/device/devices_app/usb/public/interfaces/permission_provider.mojom

Blockedon: chromium:529950
Project Member Comment 25 by bugdroid1@chromium.org, Sep 10 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50087e6d65a05df6992a69301af7c273d670c788

commit 50087e6d65a05df6992a69301af7c273d670c788
Author: juncai <juncai@chromium.org>
Date: Thu Sep 10 00:02:23 2015

Reset webusb detector before browser client.

This patch modified code to reset webusb detector before browser
client, and added explicit keyword to WebUsbDetector constructor.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#348042}

[modify] http://crrev.com/50087e6d65a05df6992a69301af7c273d670c788/chrome/browser/chrome_browser_main.cc
[modify] http://crrev.com/50087e6d65a05df6992a69301af7c273d670c788/components/webusb/webusb_detector.h

Project Member Comment 26 by bugdroid1@chromium.org, Sep 16 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=202309

------------------------------------------------------------------
r202309 | reillyg@chromium.org | 2015-09-16T01:40:28.112729Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.cpp?r1=202309&r2=202308&pathrev=202309
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConnectionEvent.cpp?r1=202309&r2=202308&pathrev=202309
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBClient.h?r1=202309&r2=202308&pathrev=202309
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.h?r1=202309&r2=202308&pathrev=202309
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConnectionEvent.h?r1=202309&r2=202308&pathrev=202309

Implement USB connection events through the WebUSB client interface.

This patch adds an observer to WebUSBClient so that the embeder can
provide device connect and disconnect events. This interface is then
used to dispatch these events.

WebUSBClient::setObserver can be made a pure virtual function once
Chrome's WebUSBClientImpl implements it.

BUG=492204

Review URL: https://codereview.chromium.org/1340523004
-----------------------------------------------------------------
Project Member Comment 27 by bugdroid1@chromium.org, Sep 16 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/181022b6787c55ef0da34d9644eaa87b5b8d8f3c

commit 181022b6787c55ef0da34d9644eaa87b5b8d8f3c
Author: reillyg <reillyg@chromium.org>
Date: Wed Sep 16 16:13:44 2015

Implement WebUSBClient::setObserver in WebUSBClientImpl.

This patch updates WebUSBClientImpl to use the new Mojo
DeviceManager::GetDeviceChanges interface to send USB device connection
events to the observer provided by Blink.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#349137}

[modify] http://crrev.com/181022b6787c55ef0da34d9644eaa87b5b8d8f3c/content/renderer/usb/web_usb_client_impl.cc
[modify] http://crrev.com/181022b6787c55ef0da34d9644eaa87b5b8d8f3c/content/renderer/usb/web_usb_client_impl.h

Project Member Comment 28 by bugdroid1@chromium.org, Sep 17 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=202432

------------------------------------------------------------------
r202432 | sigbjornf@opera.com | 2015-09-17T07:33:22.923636Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USB.h?r1=202432&r2=202431&pathrev=202432

Oilpan: fix build after r202421.

TBR=oilpan-reviews
BUG=492204
NOTRY=true

Review URL: https://codereview.chromium.org/1346413003
-----------------------------------------------------------------
Project Member Comment 29 by bugdroid1@chromium.org, Sep 22 2015
The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=202621

------------------------------------------------------------------
r202621 | reillyg@chromium.org | 2015-09-22T04:41:25.036168Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/webexposed/global-interface-listing-expected.txt?r1=202621&r2=202620&pathrev=202621
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.cpp?r1=202621&r2=202620&pathrev=202621
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.h?r1=202621&r2=202620&pathrev=202621
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/modules/webusb/WebUSBDevice.h?r1=202621&r2=202620&pathrev=202621
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBDevice.idl?r1=202621&r2=202620&pathrev=202621
   M http://src.chromium.org/viewvc/blink/trunk/public/blink_headers.gypi?r1=202621&r2=202620&pathrev=202621
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConfiguration.cpp?r1=202621&r2=202620&pathrev=202621
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/webusb/USBConfiguration.h?r1=202621&r2=202620&pathrev=202621

Add getConfiguration method to USBDevice.

This allows a site to determine the current configuration state of a
device. WebUSBDevice::getConfiguration is left as non-pure until
Chromium provides an implementation.

BUG=492204

Review URL: https://codereview.chromium.org/1352283005
-----------------------------------------------------------------
Project Member Comment 30 by bugdroid1@chromium.org, Sep 22 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b606624ecade50e8b5be2c9d423c976ac23ce7a

commit 8b606624ecade50e8b5be2c9d423c976ac23ce7a
Author: reillyg <reillyg@chromium.org>
Date: Tue Sep 22 19:30:21 2015

Implement getConfiguration in WebUSBDeviceImpl.

This USBDevice method allows a site to determine the current
configuration state of the device. A follow-up to this change will make
WebUSBDevice::getConfiguration a pure virtual method.

Blink change: https://codereview.chromium.org/1352283005/

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#350212}

[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/content/renderer/usb/web_usb_device_impl.cc
[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/content/renderer/usb/web_usb_device_impl.h
[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/device/devices_app/usb/device_impl.cc
[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/device/devices_app/usb/public/interfaces/device.mojom

Project Member Comment 31 by bugdroid1@chromium.org, Sep 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50142acc227ce3a9711ee70d6243f76a1a98ce1c

commit 50142acc227ce3a9711ee70d6243f76a1a98ce1c
Author: reillyg@chromium.org <reillyg@chromium.org>
Date: Tue Sep 22 04:41:25 2015

Add getConfiguration method to USBDevice.

This allows a site to determine the current configuration state of a
device. WebUSBDevice::getConfiguration is left as non-pure until
Chromium provides an implementation.

BUG=492204

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

git-svn-id: svn://svn.chromium.org/blink/trunk@202621 bbb929c8-8fbe-4397-9dbb-9b2b20218538

[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/Source/modules/webusb/USBConfiguration.cpp
[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/Source/modules/webusb/USBConfiguration.h
[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/Source/modules/webusb/USBDevice.cpp
[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/Source/modules/webusb/USBDevice.h
[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/public/blink_headers.gypi
[modify] http://crrev.com/50142acc227ce3a9711ee70d6243f76a1a98ce1c/third_party/WebKit/public/platform/modules/webusb/WebUSBDevice.h

Project Member Comment 32 by bugdroid1@chromium.org, Sep 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b606624ecade50e8b5be2c9d423c976ac23ce7a

commit 8b606624ecade50e8b5be2c9d423c976ac23ce7a
Author: reillyg <reillyg@chromium.org>
Date: Tue Sep 22 19:30:21 2015

Implement getConfiguration in WebUSBDeviceImpl.

This USBDevice method allows a site to determine the current
configuration state of the device. A follow-up to this change will make
WebUSBDevice::getConfiguration a pure virtual method.

Blink change: https://codereview.chromium.org/1352283005/

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#350212}

[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/content/renderer/usb/web_usb_device_impl.cc
[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/content/renderer/usb/web_usb_device_impl.h
[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/device/devices_app/usb/device_impl.cc
[modify] http://crrev.com/8b606624ecade50e8b5be2c9d423c976ac23ce7a/device/devices_app/usb/public/interfaces/device.mojom

Project Member Comment 33 by bugdroid1@chromium.org, Sep 23 2015
Labels: merge-merged-2490
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0a0f07717f27ceb3131ef518c8bf3486e046adf

commit a0a0f07717f27ceb3131ef518c8bf3486e046adf
Author: rockot@chromium.org <rockot@chromium.org>
Date: Wed Aug 12 02:02:05 2015

WebUSB bindings part 5

This enables getDevices to call the client and fixes some type
definitions so things will actually compile in chromium.

BUG=492204

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

git-svn-id: svn://svn.chromium.org/blink/trunk@200368 bbb929c8-8fbe-4397-9dbb-9b2b20218538

[modify] http://crrev.com/a0a0f07717f27ceb3131ef518c8bf3486e046adf/third_party/WebKit/Source/modules/webusb/USB.cpp
[modify] http://crrev.com/a0a0f07717f27ceb3131ef518c8bf3486e046adf/third_party/WebKit/Source/modules/webusb/USBError.cpp
[modify] http://crrev.com/a0a0f07717f27ceb3131ef518c8bf3486e046adf/third_party/WebKit/Source/modules/webusb/USBError.h
[modify] http://crrev.com/a0a0f07717f27ceb3131ef518c8bf3486e046adf/third_party/WebKit/public/platform/modules/webusb/WebUSBClient.h
[modify] http://crrev.com/a0a0f07717f27ceb3131ef518c8bf3486e046adf/third_party/WebKit/public/platform/modules/webusb/WebUSBTransferInfo.h

Project Member Comment 34 by bugdroid1@chromium.org, Sep 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d664d7350d8375878464d53e67c8b5fbb612e008

commit d664d7350d8375878464d53e67c8b5fbb612e008
Author: reillyg@chromium.org <reillyg@chromium.org>
Date: Wed Aug 12 22:39:28 2015

WebUSB: Create a requestDevice method separate from getDevice.

This change reflects an update I just made to the spec to define a
separate requestDevice() method that prompts the user to select a single
device vs. getDevices() that returns the devices the origin currently
has access to.

BUG=492204

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

git-svn-id: svn://svn.chromium.org/blink/trunk@200433 bbb929c8-8fbe-4397-9dbb-9b2b20218538

[modify] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/Source/modules/modules.gypi
[modify] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/Source/modules/webusb/USB.cpp
[modify] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/Source/modules/webusb/USB.h
[modify] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/Source/modules/webusb/USB.idl
[modify] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/Source/modules/webusb/USBDevice.h
[rename] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/Source/modules/webusb/USBDeviceRequestOptions.idl
[modify] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/public/platform/modules/webusb/WebUSBClient.h
[delete] http://crrev.com/15b4095089b209e3aecfb989a213cdb91964fc46/third_party/WebKit/public/platform/modules/webusb/WebUSBDeviceEnumerationOptions.h
[add] http://crrev.com/d664d7350d8375878464d53e67c8b5fbb612e008/third_party/WebKit/public/platform/modules/webusb/WebUSBDeviceRequestOptions.h

Project Member Comment 35 by bugdroid1@chromium.org, Sep 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38d3363ab6a42acc1518d1a956c97fe7dacd96bf

commit 38d3363ab6a42acc1518d1a956c97fe7dacd96bf
Author: reillyg@chromium.org <reillyg@chromium.org>
Date: Thu Aug 20 17:32:56 2015

Add onconnect and ondisconnect events to navigator.usb.

This patch updates USB.idl to add these two events, making it an
EventTarget. WebUSBClient still needs to be updated to support
delivering these events to Blink.

BUG=492204

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

git-svn-id: svn://svn.chromium.org/blink/trunk@200912 bbb929c8-8fbe-4397-9dbb-9b2b20218538

[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated-expected.txt
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced-expected.txt
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-expected.txt
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/Source/modules/EventTargetModulesFactory.in
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/Source/modules/webusb/USB.cpp
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/Source/modules/webusb/USB.h
[modify] http://crrev.com/38d3363ab6a42acc1518d1a956c97fe7dacd96bf/third_party/WebKit/Source/modules/webusb/USB.idl

Project Member Comment 36 by bugdroid1@chromium.org, Sep 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1768ccd7477d879f6f7e4df1643e570c6d0708ba

commit 1768ccd7477d879f6f7e4df1643e570c6d0708ba
Author: sigbjornf@opera.com <sigbjornf@opera.com>
Date: Thu Aug 20 19:54:58 2015

Oilpan: fix build after r200912.

TBR=oilpan-reviews
BUG=492204
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@200925 bbb929c8-8fbe-4397-9dbb-9b2b20218538

[modify] http://crrev.com/1768ccd7477d879f6f7e4df1643e570c6d0708ba/third_party/WebKit/Source/modules/webusb/USB.h

Project Member Comment 37 by bugdroid1@chromium.org, Sep 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6814dc1ae4e590644d75846a314e121626c95f22

commit 6814dc1ae4e590644d75846a314e121626c95f22
Author: reillyg@chromium.org <reillyg@chromium.org>
Date: Thu Aug 20 22:42:39 2015

Add USBConnectionEvent to webusb module.

This is the object passed to onconnected and ondisconnected event
handlers connected to navigator.usb.

BUG=492204

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

git-svn-id: svn://svn.chromium.org/blink/trunk@200935 bbb929c8-8fbe-4397-9dbb-9b2b20218538

[modify] http://crrev.com/6814dc1ae4e590644d75846a314e121626c95f22/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] http://crrev.com/6814dc1ae4e590644d75846a314e121626c95f22/third_party/WebKit/Source/modules/modules.gypi
[add] http://crrev.com/6814dc1ae4e590644d75846a314e121626c95f22/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.cpp
[add] http://crrev.com/6814dc1ae4e590644d75846a314e121626c95f22/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.h
[add] http://crrev.com/6814dc1ae4e590644d75846a314e121626c95f22/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.idl
[add] http://crrev.com/6814dc1ae4e590644d75846a314e121626c95f22/third_party/WebKit/Source/modules/webusb/USBConnectionEventInit.idl

Project Member Comment 38 by bugdroid1@chromium.org, Sep 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48291d82d4080d05975da8949b5cd7e92d7a0a1e

commit 48291d82d4080d05975da8949b5cd7e92d7a0a1e
Author: reillyg <reillyg@chromium.org>
Date: Wed Sep 23 20:28:14 2015

Fix WebUSB notification on Chrome OS with no windows open.

This patch fixes WebUSB notifications so that Chrome does not crash when
opening the landing page URL on Chrome OS when there are no windows
open. This is done with a ScopedTabbedBrowserDisplayer which will create
a new browser window if one is not visible. The notification strings are
also updated to match the most recent mocks.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#350360}

[modify] http://crrev.com/48291d82d4080d05975da8949b5cd7e92d7a0a1e/chrome/app/generated_resources.grd
[modify] http://crrev.com/48291d82d4080d05975da8949b5cd7e92d7a0a1e/chrome/browser/chrome_webusb_browser_client.cc
[modify] http://crrev.com/48291d82d4080d05975da8949b5cd7e92d7a0a1e/chrome/browser/chrome_webusb_browser_client_unittest.cc

Project Member Comment 39 by bugdroid1@chromium.org, Sep 24 2015
The following revision refers to this bug:
  https://chrome-internal.googlesource.com/bling/chromium.git/+/38d3363ab6a42acc1518d1a956c97fe7dacd96bf

commit 38d3363ab6a42acc1518d1a956c97fe7dacd96bf
Author: reillyg@chromium.org <reillyg@chromium.org>
Date: Thu Aug 20 17:32:56 2015

Project Member Comment 40 by bugdroid1@chromium.org, Sep 24 2015
The following revision refers to this bug:
  https://chrome-internal.googlesource.com/bling/chromium.git/+/1768ccd7477d879f6f7e4df1643e570c6d0708ba

commit 1768ccd7477d879f6f7e4df1643e570c6d0708ba
Author: sigbjornf@opera.com <sigbjornf@opera.com>
Date: Thu Aug 20 19:54:58 2015

Project Member Comment 41 by bugdroid1@chromium.org, Sep 24 2015
The following revision refers to this bug:
  https://chrome-internal.googlesource.com/bling/chromium.git/+/6814dc1ae4e590644d75846a314e121626c95f22

commit 6814dc1ae4e590644d75846a314e121626c95f22
Author: reillyg@chromium.org <reillyg@chromium.org>
Date: Thu Aug 20 22:42:39 2015

Project Member Comment 42 by bugdroid1@chromium.org, Sep 29 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2

commit 83746f46774aef7ca1b7b5ef33d49a6bc90d24e2
Author: reillyg <reillyg@chromium.org>
Date: Tue Sep 29 21:30:00 2015

Add configuration and interface permission checks to DeviceImpl.

New methods to check whether a client has permission to access a device
configuration or interface have been added to the PermissionProvider
interface. DeviceManagerImpl then uses the new Bind() method to give
DeviceImpl a new pointer to the object it has been using for permission
checks. Permission checks are not required for bulk, interrupt and
isochronous transfers because they require the interface to be claimed
first.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#351408}

[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/chrome/browser/usb/web_usb_permission_provider.cc
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/chrome/browser/usb/web_usb_permission_provider.h
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/BUILD.gn
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/device_tests.gyp
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/device_impl.cc
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/device_impl.h
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/device_impl_unittest.cc
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/device_manager_impl.cc
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/device_manager_impl_unittest.cc
[add] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/fake_permission_provider.cc
[add] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/fake_permission_provider.h
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/public/interfaces/device.mojom
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/devices_app/usb/public/interfaces/permission_provider.mojom
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/usb/mock_usb_device_handle.h
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/usb/usb_device.h
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/usb/usb_device_handle.h
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/usb/usb_device_handle_impl.cc
[modify] http://crrev.com/83746f46774aef7ca1b7b5ef33d49a6bc90d24e2/device/usb/usb_device_handle_impl.h

Labels: Cr-Blink-USB
New tag for WebUSB things.
Project Member Comment 44 by bugdroid1@chromium.org, Oct 16 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e3fbccf392bc87e66424051e94978d7802bba0e

commit 9e3fbccf392bc87e66424051e94978d7802bba0e
Author: juncai <juncai@chromium.org>
Date: Fri Oct 16 03:59:11 2015

Add webusb permission bubble mojom

This patch added webusb permission bubble mojom.
It has function GetPermission to get a device after
user has granted permission to it. And this function
is used by class WebUSBClientImpl.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#354442}

[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/components/webusb.gypi
[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/components/webusb/BUILD.gn
[add] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/components/webusb/public/interfaces/BUILD.gn
[add] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/components/webusb/public/interfaces/webusb_permission_bubble.mojom
[add] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/child/mojo/type_converters.h
[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/content_child.gypi
[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/content_renderer.gypi
[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/renderer/BUILD.gn
[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/renderer/usb/DEPS
[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/renderer/usb/web_usb_client_impl.cc
[modify] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/renderer/usb/web_usb_client_impl.h

Project Member Comment 45 by bugdroid1@chromium.org, Oct 16 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b

commit eb99c7158258a20b1bda6873ee1ab7f2a7d5394b
Author: mpearson <mpearson@chromium.org>
Date: Fri Oct 16 04:27:51 2015

Revert of Add webusb permission bubble mojom (patchset #3 id:40001 of https://codereview.chromium.org/1404213004/ )

Reason for revert:
Causes compile failure on Windows builder:
http://build.chromium.org/p/chromium/builders/Win/builds/36553

c:\b\build\slave\win\build\src\out\release\gen\components\webusb\public\interfaces\webusb_permission_bubble.mojom-internal.h(13) : fatalerror C1083: Cannot open include file: 'device/devices_app/usb/public/interfaces/device.mojom-internal.h': No such file or directory

Original issue's description:
> Add webusb permission bubble mojom
>
> This patch added webusb permission bubble mojom.
> It has function GetPermission to get a device after
> user has granted permission to it. And this function
> is used by class WebUSBClientImpl.
>
> BUG=492204
>
> Committed: https://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e
> Cr-Commit-Position: refs/heads/master@{#354442}

TBR=reillyg@chromium.org,nick@chromium.org,tsepez@chromium.org,juncai@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#354443}

[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/components/webusb.gypi
[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/components/webusb/BUILD.gn
[delete] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/components/webusb/public/interfaces/BUILD.gn
[delete] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/components/webusb/public/interfaces/webusb_permission_bubble.mojom
[delete] http://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e/content/child/mojo/type_converters.h
[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/content/content_child.gypi
[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/content/content_renderer.gypi
[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/content/renderer/BUILD.gn
[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/content/renderer/usb/DEPS
[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/content/renderer/usb/web_usb_client_impl.cc
[modify] http://crrev.com/eb99c7158258a20b1bda6873ee1ab7f2a7d5394b/content/renderer/usb/web_usb_client_impl.h

Project Member Comment 46 by bugdroid1@chromium.org, Oct 16 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09f57e5938da96e39cc0739d78d52019fb686a82

commit 09f57e5938da96e39cc0739d78d52019fb686a82
Author: juncai <juncai@chromium.org>
Date: Fri Oct 16 21:14:50 2015

Reland: Add webusb permission bubble mojom

This patch added webusb permission bubble mojom.
It has function GetPermission to get a device after
user has granted permission to it. And this function
is used by class WebUSBClientImpl.

BUG=492204

Committed: https://crrev.com/9e3fbccf392bc87e66424051e94978d7802bba0e
Cr-Commit-Position: refs/heads/master@{#354442}

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

Cr-Commit-Position: refs/heads/master@{#354597}

[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/components/webusb.gypi
[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/components/webusb/BUILD.gn
[add] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/components/webusb/public/interfaces/BUILD.gn
[add] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/components/webusb/public/interfaces/webusb_permission_bubble.mojom
[add] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/content/child/mojo/type_converters.h
[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/content/content_child.gypi
[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/content/content_renderer.gypi
[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/content/renderer/BUILD.gn
[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/content/renderer/usb/DEPS
[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/content/renderer/usb/web_usb_client_impl.cc
[modify] http://crrev.com/09f57e5938da96e39cc0739d78d52019fb686a82/content/renderer/usb/web_usb_client_impl.h

Project Member Comment 47 by bugdroid1@chromium.org, Oct 31 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/137122cd8ba7036907425da2f550251bc7b423f4

commit 137122cd8ba7036907425da2f550251bc7b423f4
Author: reillyg <reillyg@chromium.org>
Date: Sat Oct 31 00:08:56 2015

Add image assets for WebUSB notification.

This change adds the missing image assets for the notification displayed
when a WebUSB-enabled device is connected to the system.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#357235}

[add] http://crrev.com/137122cd8ba7036907425da2f550251bc7b423f4/chrome/app/theme/default_100_percent/common/notification_usb_icon.png
[add] http://crrev.com/137122cd8ba7036907425da2f550251bc7b423f4/chrome/app/theme/default_200_percent/common/notification_usb_icon.png
[modify] http://crrev.com/137122cd8ba7036907425da2f550251bc7b423f4/chrome/app/theme/theme_resources.grd
[modify] http://crrev.com/137122cd8ba7036907425da2f550251bc7b423f4/chrome/browser/chrome_webusb_browser_client.cc

Project Member Comment 48 by bugdroid1@chromium.org, Nov 3 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d58e643f244fea3c9ab3a03d306414cbf48b5a20

commit d58e643f244fea3c9ab3a03d306414cbf48b5a20
Author: reillyg <reillyg@chromium.org>
Date: Tue Nov 03 21:43:23 2015

Merge WebUSB notification flag into experimental web platform features.

The WebUSB notification flag tells Chrome to scan for WebUSB-enabled
devices when they are connected to the system. This patch will expose
this code to a larger population to make sure that such scanning does
not introduce new crashes and reduce the number of flags developers must
enable to try out WebUSB.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#357639}

[modify] http://crrev.com/d58e643f244fea3c9ab3a03d306414cbf48b5a20/chrome/app/generated_resources.grd
[modify] http://crrev.com/d58e643f244fea3c9ab3a03d306414cbf48b5a20/chrome/browser/about_flags.cc
[modify] http://crrev.com/d58e643f244fea3c9ab3a03d306414cbf48b5a20/chrome/browser/chrome_browser_main.cc
[modify] http://crrev.com/d58e643f244fea3c9ab3a03d306414cbf48b5a20/chrome/common/chrome_switches.cc
[modify] http://crrev.com/d58e643f244fea3c9ab3a03d306414cbf48b5a20/chrome/common/chrome_switches.h

Project Member Comment 49 by bugdroid1@chromium.org, Nov 5 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9d1653ef4155ed241f01c5aa7ff2203a561dc4c7

commit 9d1653ef4155ed241f01c5aa7ff2203a561dc4c7
Author: juncai <juncai@chromium.org>
Date: Wed Nov 04 22:44:54 2015

Add flag to TableView to control if selection is automatically updated
when the selected item is removed.

This patch added a member variable select_on_remove_ to TableView
to control if selection is automatically updated when the selected item is
removed. This is useful for permission chooser which uses TableView, since
when user chooses an item to grant permission, if that selected item is
then removed from the list, there should be no item automatically selected
to grant permission before user makes another choice.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#357918}

[modify] http://crrev.com/9d1653ef4155ed241f01c5aa7ff2203a561dc4c7/ui/views/controls/table/table_view.cc
[modify] http://crrev.com/9d1653ef4155ed241f01c5aa7ff2203a561dc4c7/ui/views/controls/table/table_view.h
[modify] http://crrev.com/9d1653ef4155ed241f01c5aa7ff2203a561dc4c7/ui/views/controls/table/table_view_unittest.cc

Labels: -M-47 -merge-merged-2490 M-49
Project Member Comment 51 by bugdroid1@chromium.org, Nov 11 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3a7f1e35efc1b70975193ec4b475e74b59bdf63c

commit 3a7f1e35efc1b70975193ec4b475e74b59bdf63c
Author: reillyg <reillyg@chromium.org>
Date: Wed Nov 11 02:27:58 2015

Require secure contexts and user gestures to use WebUSB.

Adds checks in Blink to only allow secure contexts to call getDevices
and requestDevice. As requestDevice also displays a permission prompt it
also requires a user gesture.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#359021}

[modify] http://crrev.com/3a7f1e35efc1b70975193ec4b475e74b59bdf63c/third_party/WebKit/Source/modules/webusb/USB.cpp

Blockedon: chromium:556845
Project Member Comment 53 by bugdroid1@chromium.org, Dec 8 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d55e30c0ecc69e95377d7417a60f8eff585a25c4

commit d55e30c0ecc69e95377d7417a60f8eff585a25c4
Author: reillyg <reillyg@chromium.org>
Date: Tue Dec 08 23:26:03 2015

Enable WebUSB on Android.

This change finishes up the work done to remove #ifdefs disabling USB on
Android by making the WebUSB flag available on all platforms and
removing the #ifdef preventing the WebUSBClient from being provided to
the render frame on Android.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#363826}

[modify] http://crrev.com/d55e30c0ecc69e95377d7417a60f8eff585a25c4/chrome/browser/about_flags.cc
[modify] http://crrev.com/d55e30c0ecc69e95377d7417a60f8eff585a25c4/content/content_renderer.gypi
[modify] http://crrev.com/d55e30c0ecc69e95377d7417a60f8eff585a25c4/content/renderer/BUILD.gn
[modify] http://crrev.com/d55e30c0ecc69e95377d7417a60f8eff585a25c4/content/renderer/render_frame_impl.cc

Project Member Comment 54 by bugdroid1@chromium.org, Dec 11 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7dd94484b64397611deaf2177f28dcb83a7903b

commit a7dd94484b64397611deaf2177f28dcb83a7903b
Author: juncai <juncai@chromium.org>
Date: Fri Dec 11 02:37:39 2015

Add chrome side webusb permission UI code

This patch added chrome side webusb permission UI code.
It displays a device chooser permission dialog box asking
permission from user so that website can access
the device.

This patch is for Linux, Windows, and ChromeOS. There will
be another patch for Mac.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#364593}

[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/app/generated_resources.grd
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/chrome_content_browser_client.cc
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/ui/chrome_bubble_manager.cc
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/ui/website_settings/chooser_bubble_delegate.cc
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/ui/website_settings/chooser_bubble_delegate.h
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/usb/DEPS
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/usb/usb_chooser_bubble_delegate.cc
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/usb/usb_chooser_bubble_delegate.h
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/usb/usb_tab_helper.cc
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/usb/usb_tab_helper.h
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/usb/web_usb_permission_bubble.cc
[add] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/browser/usb/web_usb_permission_bubble.h
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/chrome_browser.gypi
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/chrome/chrome_browser_ui.gypi
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/content/renderer/usb/web_usb_client_impl.cc
[modify] http://crrev.com/a7dd94484b64397611deaf2177f28dcb83a7903b/tools/metrics/histograms/histograms.xml

Project Member Comment 55 by bugdroid1@chromium.org, Dec 12 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f68bb8302e9140e9f521511fe723de4f4278418f

commit f68bb8302e9140e9f521511fe723de4f4278418f
Author: juncai <juncai@chromium.org>
Date: Sat Dec 12 01:22:56 2015

Add chooser permission UI code for Mac

This patch added chooser permission UI code for Mac.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#364857}

[add] http://crrev.com/f68bb8302e9140e9f521511fe723de4f4278418f/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.h
[add] http://crrev.com/f68bb8302e9140e9f521511fe723de4f4278418f/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm
[modify] http://crrev.com/f68bb8302e9140e9f521511fe723de4f4278418f/chrome/browser/ui/website_settings/chooser_bubble_delegate.cc
[modify] http://crrev.com/f68bb8302e9140e9f521511fe723de4f4278418f/chrome/chrome_browser_ui.gypi
[modify] http://crrev.com/f68bb8302e9140e9f521511fe723de4f4278418f/content/renderer/usb/web_usb_client_impl.cc

Project Member Comment 56 by bugdroid1@chromium.org, Dec 15 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e708cef743e4245064bafb701cf78a97106fa59a

commit e708cef743e4245064bafb701cf78a97106fa59a
Author: reillyg <reillyg@chromium.org>
Date: Tue Dec 15 08:21:53 2015

Match WebUSB errors more closely to the specificiation.

This change updates USBError to generate the set of DOMExceptions
used in the WebUSB specification and updates WebUSBClientImpl and
WebUSBDeviceImpl to generate them where possible. At this point accurate
errors are limited by the granularity of the results returned by the
Mojo interface.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#365209}

[modify] http://crrev.com/e708cef743e4245064bafb701cf78a97106fa59a/content/renderer/usb/web_usb_client_impl.cc
[modify] http://crrev.com/e708cef743e4245064bafb701cf78a97106fa59a/content/renderer/usb/web_usb_device_impl.cc
[modify] http://crrev.com/e708cef743e4245064bafb701cf78a97106fa59a/third_party/WebKit/Source/modules/webusb/USBError.cpp
[modify] http://crrev.com/e708cef743e4245064bafb701cf78a97106fa59a/third_party/WebKit/public/platform/modules/webusb/WebUSBError.h

Project Member Comment 57 by bugdroid1@chromium.org, Dec 15 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d8566b68b85d50ede8e069c69e1ea9dc6693d3d

commit 5d8566b68b85d50ede8e069c69e1ea9dc6693d3d
Author: juncai <juncai@chromium.org>
Date: Tue Dec 15 22:09:07 2015

Update chooser bubble ui cocoa code

This patch updated chooser bubble ui cocoa code based on rsesek@'s
comments at:
https://codereview.chromium.org/1473393003/

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#365355}

[modify] http://crrev.com/5d8566b68b85d50ede8e069c69e1ea9dc6693d3d/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm

Project Member Comment 58 by bugdroid1@chromium.org, Dec 21 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0fb3bf0999836d2c383a7952225d793187c4201e

commit 0fb3bf0999836d2c383a7952225d793187c4201e
Author: juncai <juncai@chromium.org>
Date: Mon Dec 21 22:22:47 2015

Call bubble delegate Close function when bubble is closed by tab
closing, switching, etc.

This patch added code to call bubble delegate Close when bubble is
closed by tab closing, switching, etc. (instead of being caused by
the Connect/Cancel button is pressed).

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#366472}

[modify] http://crrev.com/0fb3bf0999836d2c383a7952225d793187c4201e/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm

Project Member Comment 59 by bugdroid1@chromium.org, Dec 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/22707c4f0558a333b63f6b99c7f06d5bd27a4f4e

commit 22707c4f0558a333b63f6b99c7f06d5bd27a4f4e
Author: juncai <juncai@chromium.org>
Date: Wed Dec 23 00:20:11 2015

Remove Close button for chooser bubble and call CloseBubble when Cancel
button is pressed.

The Close button (the upper-right X) is redundant since the Cancel
button exists for the chooser bubble. The Close button is already
removed at chooser_bubble_ui_cocoa.mm, so also do it here for non-Mac
implementation. Also added code to call CloseBubble when Cancel button
is pressed.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#366699}

[modify] http://crrev.com/22707c4f0558a333b63f6b99c7f06d5bd27a4f4e/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
[modify] http://crrev.com/22707c4f0558a333b63f6b99c7f06d5bd27a4f4e/chrome/browser/usb/usb_chooser_bubble_delegate.cc
[modify] http://crrev.com/22707c4f0558a333b63f6b99c7f06d5bd27a4f4e/chrome/browser/usb/usb_chooser_bubble_delegate.h
[modify] http://crrev.com/22707c4f0558a333b63f6b99c7f06d5bd27a4f4e/chrome/browser/usb/web_usb_permission_bubble.cc

Project Member Comment 60 by bugdroid1@chromium.org, Jan 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d445832300217e3951ce0dd6f9f569ab4912351

commit 7d445832300217e3951ce0dd6f9f569ab4912351
Author: juncai <juncai@chromium.org>
Date: Tue Jan 05 03:42:37 2016

Address some TODOs for ChooserBubbleDelegate class.

This patch did the following changes:

1. Changed
ChooserBubbleDelegate::Observer::OnOptionAdded(int index)
ChooserBubbleDelegate::Observer::OnOptionRemoved(int index)
to
ChooserBubbleDelegate::Observer::OnOptionAdded(size_t index)
ChooserBubbleDelegate::Observer::OnOptionRemoved(size_t index)

2. Changed
ChooserBubbleDelegate::GetOptions()
function to two functions:
ChooserBubbleDelegate::NumOptions
ChooserBubbleDelegate::GetOption(size_t index)
to improve class encapsulation.

3. Changed
ChooserBubbleDelegate::Select(int index)
to:
ChooserBubbleDelegate::Select(size_t index)

4. For USB/Bluetooth bubble delegate class, use a vector
containing a pair of device information instead of two
vectors.

5. Changed code that uses the above functions.

BUG=492204, 535633, 535635

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

Cr-Commit-Position: refs/heads/master@{#367476}

[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.cc
[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.h
[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.h
[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm
[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/ui/website_settings/chooser_bubble_delegate.h
[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/usb/usb_chooser_bubble_delegate.cc
[modify] http://crrev.com/7d445832300217e3951ce0dd6f9f569ab4912351/chrome/browser/usb/usb_chooser_bubble_delegate.h

Blockedon: chromium:574389
Labels: PrivacyReview-574389
Labels: -M-49 M-50
Blocking: chromium:576958
Project Member Comment 65 by bugdroid1@chromium.org, Jan 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0905b87187340fc9aa99f2226fff9c9b08af2f16

commit 0905b87187340fc9aa99f2226fff9c9b08af2f16
Author: reillyg <reillyg@chromium.org>
Date: Tue Jan 26 02:26:52 2016

Update URLs referencing the draft WebUSB API specification.

The WebUSB repository has moved into the WICG organization. This patch
updates the URLs referencing it to match.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#371427}

[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/device/usb/webusb_descriptors.cc
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/NavigatorUSB.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USB.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBAlternateInterface.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBConfiguration.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBConnectionEventInit.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBDeviceFilter.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBDeviceRequestOptions.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBEndpoint.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBInTransferResult.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBInterface.idl
[modify] http://crrev.com/0905b87187340fc9aa99f2226fff9c9b08af2f16/third_party/WebKit/Source/modules/webusb/USBOutTransferResult.idl

Project Member Comment 66 by bugdroid1@chromium.org, Jan 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/426b5b601387ae458592dab96c0e2b18b7ba1e70

commit 426b5b601387ae458592dab96c0e2b18b7ba1e70
Author: reillyg <reillyg@chromium.org>
Date: Tue Jan 26 19:36:11 2016

Change USBTransferInResult.data to a DataView.

This modification is copied from Web Bluetooth where it was found to be
more ergonomic to provide a DataView as the default type for a buffer
value as it provides methods such as getUint8() by default.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#371560}

[modify] http://crrev.com/426b5b601387ae458592dab96c0e2b18b7ba1e70/third_party/WebKit/Source/modules/webusb/USBInTransferResult.h
[modify] http://crrev.com/426b5b601387ae458592dab96c0e2b18b7ba1e70/third_party/WebKit/Source/modules/webusb/USBInTransferResult.idl

Project Member Comment 67 by bugdroid1@chromium.org, Jan 29 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2437acdda282dee93adead76ef98eaabda819e91

commit 2437acdda282dee93adead76ef98eaabda819e91
Author: reillyg <reillyg@chromium.org>
Date: Fri Jan 29 01:51:37 2016

Update webusb_descriptors.cc to parse the new WebUSB descriptors.

The format of WebUSB descriptors as defined by the draft specification
has changed. This patch brings Chrome up to date.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#372249}

[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/chrome/browser/usb/usb_chooser_bubble_delegate.cc
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/devices_app/usb/device_impl_unittest.cc
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/devices_app/usb/type_converters.cc
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/devices_app/usb/type_converters.h
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/usb/usb_device.h
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/usb/usb_device_impl.h
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/usb/usb_service_impl.cc
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/usb/webusb_descriptors.cc
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/usb/webusb_descriptors.h
[modify] http://crrev.com/2437acdda282dee93adead76ef98eaabda819e91/device/usb/webusb_descriptors_unittest.cc

Project Member Comment 68 by bugdroid1@chromium.org, Feb 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/051c98e9d3e843295d659b5676fcfa9dc1be5da6

commit 051c98e9d3e843295d659b5676fcfa9dc1be5da6
Author: reillyg <reillyg@chromium.org>
Date: Tue Feb 02 00:56:15 2016

Update device/usb and its Mojo interface for variable size ISO packets.

To support the WebUSB API our underlying USB library needs to support
isochronous transfers with full control over the packet size. We also
need to know the completion status of each packet which was previously
not available.

This patch updates the interface to match that provided by libusb and
the underlying platform specific APIs.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#372844}

[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/devices_app/usb/device_impl.cc
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/devices_app/usb/device_impl.h
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/devices_app/usb/device_impl_unittest.cc
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/devices_app/usb/public/interfaces/device.mojom
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/devices_app/usb/type_converters.cc
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/devices_app/usb/type_converters.h
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/usb/mock_usb_device_handle.h
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/usb/usb_device_handle.h
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/usb/usb_device_handle_impl.cc
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/device/usb/usb_device_handle_impl.h
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/extensions/browser/api/usb/usb_api.cc
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/extensions/browser/api/usb/usb_api.h
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/extensions/browser/api/usb/usb_apitest.cc
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/extensions/test/data/api_test/usb/transfer_event/test.js
[modify] http://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6/extensions/test/data/api_test/usb/transfer_failure/test.js

Project Member Comment 69 by bugdroid1@chromium.org, Feb 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c40c36ef3d3a722e0df920a4bbae25695f0b18e8

commit c40c36ef3d3a722e0df920a4bbae25695f0b18e8
Author: zhaoqin <zhaoqin@chromium.org>
Date: Tue Feb 02 17:25:43 2016

Revert of Update device/usb and its Mojo interface for variable size ISO packets. (patchset #3 id:120001 of https://codereview.chromium.org/1618393004/ )

Reason for revert:
Uninit error from UsbApiTest.TransferFailure

BUG=583343

Original issue's description:
> Update device/usb and its Mojo interface for variable size ISO packets.
>
> To support the WebUSB API our underlying USB library needs to support
> isochronous transfers with full control over the packet size. We also
> need to know the completion status of each packet which was previously
> not available.
>
> This patch updates the interface to match that provided by libusb and
> the underlying platform specific APIs.
>
> BUG=492204
>
> Committed: https://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6
> Cr-Commit-Position: refs/heads/master@{#372844}

TBR=scheib@chromium.org,dgozman@chromium.org,reillyg@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#372971}

[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/devices_app/usb/device_impl.cc
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/devices_app/usb/device_impl.h
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/devices_app/usb/device_impl_unittest.cc
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/devices_app/usb/public/interfaces/device.mojom
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/devices_app/usb/type_converters.cc
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/devices_app/usb/type_converters.h
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/usb/mock_usb_device_handle.h
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/usb/usb_device_handle.h
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/usb/usb_device_handle_impl.cc
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/device/usb/usb_device_handle_impl.h
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/extensions/browser/api/usb/usb_api.cc
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/extensions/browser/api/usb/usb_api.h
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/extensions/browser/api/usb/usb_apitest.cc
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/extensions/test/data/api_test/usb/transfer_event/test.js
[modify] http://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8/extensions/test/data/api_test/usb/transfer_failure/test.js

Project Member Comment 70 by bugdroid1@chromium.org, Feb 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ccbaed85d9538dc645535efdb58c0af6ebafdd43

commit ccbaed85d9538dc645535efdb58c0af6ebafdd43
Author: reillyg <reillyg@chromium.org>
Date: Tue Feb 02 22:50:28 2016

Reland of Update device/usb and its Mojo interface for variable size ISO packets. (patchset #1 id:1 of https://codereview.chromium.org/1658953003/ )

Reason for revert:
Fixed the uninitialized test buffer.

Original issue's description:
> Revert of Update device/usb and its Mojo interface for variable size ISO packets. (patchset #3 id:120001 of https://codereview.chromium.org/1618393004/ )
>
> Reason for revert:
> Uninit error from UsbApiTest.TransferFailure
>
> BUG=583343
>
> Original issue's description:
> > Update device/usb and its Mojo interface for variable size ISO packets.
> >
> > To support the WebUSB API our underlying USB library needs to support
> > isochronous transfers with full control over the packet size. We also
> > need to know the completion status of each packet which was previously
> > not available.
> >
> > This patch updates the interface to match that provided by libusb and
> > the underlying platform specific APIs.
> >
> > BUG=492204
> >
> > Committed: https://crrev.com/051c98e9d3e843295d659b5676fcfa9dc1be5da6
> > Cr-Commit-Position: refs/heads/master@{#372844}
>
> TBR=scheib@chromium.org,dgozman@chromium.org,reillyg@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=492204
>
> Committed: https://crrev.com/c40c36ef3d3a722e0df920a4bbae25695f0b18e8
> Cr-Commit-Position: refs/heads/master@{#372971}

TBR=scheib@chromium.org,dgozman@chromium.org,zhaoqin@chromium.org
BUG=583343

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

Cr-Commit-Position: refs/heads/master@{#373065}

[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/devices_app/usb/device_impl.cc
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/devices_app/usb/device_impl.h
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/devices_app/usb/device_impl_unittest.cc
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/devices_app/usb/public/interfaces/device.mojom
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/devices_app/usb/type_converters.cc
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/devices_app/usb/type_converters.h
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/usb/mock_usb_device_handle.h
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/usb/usb_device_handle.h
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/usb/usb_device_handle_impl.cc
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/device/usb/usb_device_handle_impl.h
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/extensions/browser/api/usb/usb_api.cc
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/extensions/browser/api/usb/usb_api.h
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/extensions/browser/api/usb/usb_apitest.cc
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/extensions/test/data/api_test/usb/transfer_event/test.js
[modify] http://crrev.com/ccbaed85d9538dc645535efdb58c0af6ebafdd43/extensions/test/data/api_test/usb/transfer_failure/test.js

Project Member Comment 71 by bugdroid1@chromium.org, Feb 4 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2ddf523a83030d970cf5868103881adc0f41ae2b

commit 2ddf523a83030d970cf5868103881adc0f41ae2b
Author: reillyg <reillyg@chromium.org>
Date: Thu Feb 04 02:42:11 2016

Add support for isochronous transfers in WebUSB.

This change adds support for the newly speced isochronousTransferIn and
isochronousTransferOut functions on the USBDevice object.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#373439}

[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/content/renderer/usb/web_usb_device_impl.cc
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/content/renderer/usb/web_usb_device_impl.h
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/modules.gypi
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBDevice.cpp
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBDevice.h
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferPacket.h
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferPacket.idl
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.h
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.idl
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferPacket.h
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferPacket.idl
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferResult.h
[add] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferResult.idl
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/public/platform/modules/webusb/WebUSBDevice.h
[modify] http://crrev.com/2ddf523a83030d970cf5868103881adc0f41ae2b/third_party/WebKit/public/platform/modules/webusb/WebUSBTransferInfo.h

Project Member Comment 72 by bugdroid1@chromium.org, Feb 11 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/01bda807e1f107f607b767281c62d5f9ddb582b0

commit 01bda807e1f107f607b767281c62d5f9ddb582b0
Author: reillyg <reillyg@chromium.org>
Date: Thu Feb 11 21:38:49 2016

webusb: Reject the promise if the device is already open.

This change adds the necessary plumbing for the USB Mojo service
implementation to detect when a device is already open and to report
this error so that the WebUSB API can reject the promise returned by
USBDevice::open() with an InvalidStateError.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#375003}

[modify] http://crrev.com/01bda807e1f107f607b767281c62d5f9ddb582b0/content/renderer/usb/web_usb_device_impl.cc
[modify] http://crrev.com/01bda807e1f107f607b767281c62d5f9ddb582b0/device/usb/mojo/device_impl.cc
[modify] http://crrev.com/01bda807e1f107f607b767281c62d5f9ddb582b0/device/usb/mojo/device_impl_unittest.cc
[modify] http://crrev.com/01bda807e1f107f607b767281c62d5f9ddb582b0/device/usb/public/interfaces/device.mojom
[modify] http://crrev.com/01bda807e1f107f607b767281c62d5f9ddb582b0/third_party/WebKit/Source/modules/webusb/USBError.cpp
[modify] http://crrev.com/01bda807e1f107f607b767281c62d5f9ddb582b0/third_party/WebKit/public/platform/modules/webusb/WebUSBError.h

Project Member Comment 73 by bugdroid1@chromium.org, Feb 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b61e467059e55ad71f1b7ae5e1412beb3d4803e0

commit b61e467059e55ad71f1b7ae5e1412beb3d4803e0
Author: reillyg <reillyg@chromium.org>
Date: Sat Feb 13 01:54:22 2016

Parse USB interface association descriptors.

USB interface association descriptors are used to combine multiple
interfaces into a single functional group. This patch adds support for
parsing them out of the |extra_data| field left by libusb's parsing of
configuration, interface and endpoint descriptors. The resulting
association is then represented by setting the |first_interface| field
of each interface in a function to the |interface_number| of the first
interface in the function.

WebUSB will use these associations to set permissions for an entire
function with a single descriptor.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#375324}

[modify] http://crrev.com/b61e467059e55ad71f1b7ae5e1412beb3d4803e0/device/usb/usb_descriptors.cc
[modify] http://crrev.com/b61e467059e55ad71f1b7ae5e1412beb3d4803e0/device/usb/usb_descriptors.h
[modify] http://crrev.com/b61e467059e55ad71f1b7ae5e1412beb3d4803e0/device/usb/usb_descriptors_unittest.cc
[modify] http://crrev.com/b61e467059e55ad71f1b7ae5e1412beb3d4803e0/device/usb/usb_device_impl.cc

Project Member Comment 74 by bugdroid1@chromium.org, Feb 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1474f931e1e45778c3287bd4f7a20620eafb8ab9

commit 1474f931e1e45778c3287bd4f7a20620eafb8ab9
Author: reillyg <reillyg@chromium.org>
Date: Sat Feb 13 02:07:45 2016

Destroy DeviceImpl when the underlying UsbDevice is disconnected.

A open message pipe to a DeviceImpl represents a physical resource, the
USB device connected to the host. Instead of continuing to support
handling messages sent on this pipe after the device is disconnected it
makes more sense to simply close it.

For efficiency and because DeviceImpls can outlive the DeviceManagerImpl
that created them a new observer interface is added to UsbDevice so that
the DeviceImpl can listed for the removal of the physical device all on
its own.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#375329}

[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/mock_usb_device.cc
[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/mock_usb_device.h
[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/mojo/device_impl.cc
[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/mojo/device_impl.h
[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/mojo/device_impl_unittest.cc
[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/usb_device.cc
[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/usb_device.h
[modify] http://crrev.com/1474f931e1e45778c3287bd4f7a20620eafb8ab9/device/usb/usb_service.cc

Comment 75 by gab@chromium.org, Feb 14 2016
Blockedon: chromium:586824
Project Member Comment 76 by bugdroid1@chromium.org, Feb 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/894ae258c08e0b531cefcf6167d9d189d44d26e0

commit 894ae258c08e0b531cefcf6167d9d189d44d26e0
Author: gab <gab@chromium.org>
Date: Sun Feb 14 22:08:54 2016

Revert of Parse USB interface association descriptors. (patchset #3 id:100001 of https://codereview.chromium.org/1568673002/ )

Reason for revert:
http://crbug.com/586824

Makes Chrome hang when using USB devices.

Original issue's description:
> Parse USB interface association descriptors.
>
> USB interface association descriptors are used to combine multiple
> interfaces into a single functional group. This patch adds support for
> parsing them out of the |extra_data| field left by libusb's parsing of
> configuration, interface and endpoint descriptors. The resulting
> association is then represented by setting the |first_interface| field
> of each interface in a function to the |interface_number| of the first
> interface in the function.
>
> WebUSB will use these associations to set permissions for an entire
> function with a single descriptor.
>

TBR=rockot@chromium.org,pfeldman@chromium.org,stevenjb@chromium.org,reillyg@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=492204, 586824

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

Cr-Commit-Position: refs/heads/master@{#375392}

[modify] http://crrev.com/894ae258c08e0b531cefcf6167d9d189d44d26e0/device/usb/usb_descriptors.cc
[modify] http://crrev.com/894ae258c08e0b531cefcf6167d9d189d44d26e0/device/usb/usb_descriptors.h
[modify] http://crrev.com/894ae258c08e0b531cefcf6167d9d189d44d26e0/device/usb/usb_descriptors_unittest.cc
[modify] http://crrev.com/894ae258c08e0b531cefcf6167d9d189d44d26e0/device/usb/usb_device_impl.cc

Project Member Comment 77 by bugdroid1@chromium.org, Feb 18 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4a7d78df22965e54b3f0e3609152e73eae327e5

commit e4a7d78df22965e54b3f0e3609152e73eae327e5
Author: juncai <juncai@chromium.org>
Date: Thu Feb 18 20:42:42 2016

Navigations from WebUSB notifications are not renderer initiated

The |is_renderer_initiated| flag in the OpenURLParams
should be set to false as the navigation initiated when
the user clicks on a WebUSB notification is initiated by
the browser and not the renderer.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#376250}

[modify] https://crrev.com/e4a7d78df22965e54b3f0e3609152e73eae327e5/chrome/browser/chrome_webusb_browser_client.cc

Project Member Comment 78 by bugdroid1@chromium.org, Feb 24 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e26da162b7de08b3918352deff9f5897f1e2cf2a

commit e26da162b7de08b3918352deff9f5897f1e2cf2a
Author: juncai <juncai@chromium.org>
Date: Wed Feb 24 04:12:07 2016

Add message and Help Center link to the chooser UI

This patch added message "Not seeing your device? Get
help" at the bottom of the chooser UI, and the "Get help"
links to a Help Center URL. The message is added below
the "Connect" and "Cancel" button with a grey separator.

BUG=492204, 583479

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

Cr-Commit-Position: refs/heads/master@{#377216}

[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/app/generated_resources.grd
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.cc
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.h
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/browser/ui/website_settings/chooser_bubble_delegate.cc
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/browser/ui/website_settings/chooser_bubble_delegate.h
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/browser/usb/usb_chooser_bubble_delegate.cc
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/browser/usb/usb_chooser_bubble_delegate.h
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/common/url_constants.cc
[modify] https://crrev.com/e26da162b7de08b3918352deff9f5897f1e2cf2a/chrome/common/url_constants.h

Project Member Comment 79 by bugdroid1@chromium.org, Feb 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8

commit a6f677309a7741a1b9d6f6c510ee8282bfbff8c8
Author: reillyg <reillyg@chromium.org>
Date: Thu Feb 25 00:10:44 2016

First set of WebUSB layout tests with Mojo service mocks.

This patch adds a minimal set of layout tests for the WebUSB API that
work by registering mock implementations of the Mojo services the Blink
implementation depends on. Since these mocks are implemented using the
Javascript Mojo bindings they can live right next to the tests that
depend on them.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#377429}

[modify] https://crrev.com/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8/third_party/WebKit/LayoutTests/resources/mojo-helpers.js
[add] https://crrev.com/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8/third_party/WebKit/LayoutTests/usb/mock-services.html
[add] https://crrev.com/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8/third_party/WebKit/LayoutTests/usb/resources/fake-devices.js
[add] https://crrev.com/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
[add] https://crrev.com/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8/third_party/WebKit/LayoutTests/usb/usb.html
[add] https://crrev.com/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8/third_party/WebKit/LayoutTests/usb/usbDevice.html

Project Member Comment 80 by bugdroid1@chromium.org, Feb 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/55b630ea4b1677d3d67758a8fd2d258a53d0e39e

commit 55b630ea4b1677d3d67758a8fd2d258a53d0e39e
Author: dpranke <dpranke@chromium.org>
Date: Thu Feb 25 05:53:31 2016

Revert of First set of WebUSB layout tests with Mojo service mocks. (patchset #3 id:40001 of https://codereview.chromium.org/1726943002/ )

Reason for revert:
Odd, I'm not sure what happened, but these layout tests appear to have passed the trybots and crashed on the waterfall bots:

https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/39956
https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.9/builds/28655

Original issue's description:
> First set of WebUSB layout tests with Mojo service mocks.
>
> This patch adds a minimal set of layout tests for the WebUSB API that
> work by registering mock implementations of the Mojo services the Blink
> implementation depends on. Since these mocks are implemented using the
> Javascript Mojo bindings they can live right next to the tests that
> depend on them.
>
> BUG=492204
>
> Committed: https://crrev.com/a6f677309a7741a1b9d6f6c510ee8282bfbff8c8
> Cr-Commit-Position: refs/heads/master@{#377429}

TBR=rockot@chromium.org,reillyg@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#377519}

[modify] https://crrev.com/55b630ea4b1677d3d67758a8fd2d258a53d0e39e/third_party/WebKit/LayoutTests/resources/mojo-helpers.js
[delete] https://crrev.com/3791ed548d0b9d34e71af96fb3b86f8961cc0b05/third_party/WebKit/LayoutTests/usb/mock-services.html
[delete] https://crrev.com/3791ed548d0b9d34e71af96fb3b86f8961cc0b05/third_party/WebKit/LayoutTests/usb/resources/fake-devices.js
[delete] https://crrev.com/3791ed548d0b9d34e71af96fb3b86f8961cc0b05/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
[delete] https://crrev.com/3791ed548d0b9d34e71af96fb3b86f8961cc0b05/third_party/WebKit/LayoutTests/usb/usb.html
[delete] https://crrev.com/3791ed548d0b9d34e71af96fb3b86f8961cc0b05/third_party/WebKit/LayoutTests/usb/usbDevice.html

Project Member Comment 81 by bugdroid1@chromium.org, Feb 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b6f450f53651f903bfe9613d9159b59326ea0ff

commit 4b6f450f53651f903bfe9613d9159b59326ea0ff
Author: juncai <juncai@chromium.org>
Date: Thu Feb 25 19:11:42 2016

Remove unnecessary class forward declaration for usb/bluetooth_chooser_bubble_delegate.h

This patch removed unnecessary class forward declaration for
usb_chooser_bubble_delegate.h and bluetooth_chooser_bubble_delegate.h

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#377635}

[modify] https://crrev.com/4b6f450f53651f903bfe9613d9159b59326ea0ff/chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.h
[modify] https://crrev.com/4b6f450f53651f903bfe9613d9159b59326ea0ff/chrome/browser/usb/usb_chooser_bubble_delegate.h

Project Member Comment 82 by bugdroid1@chromium.org, Feb 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5b45dd0879a8a43ef1d0183a1fa13677a9af6900

commit 5b45dd0879a8a43ef1d0183a1fa13677a9af6900
Author: juncai <juncai@chromium.org>
Date: Fri Feb 26 20:00:56 2016

Add message and Help Center link to the chooser UI for Mac

This patch added message "Not seeing your device? Get
help" at the bottom of the chooser UI, and the "Get help"
links to a Helper Center URL. The message is added below
the "Connect" and "Cancel" button with a grey separator.

This is a follow-up patch for:
https://codereview.chromium.org/1661063002/

BUG=492204, 583479

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

Cr-Commit-Position: refs/heads/master@{#377949}

[modify] https://crrev.com/5b45dd0879a8a43ef1d0183a1fa13677a9af6900/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm

Project Member Comment 83 by bugdroid1@chromium.org, Feb 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2ad62074ea877b0440571c074fe49352e49aa4f

commit a2ad62074ea877b0440571c074fe49352e49aa4f
Author: juncai <juncai@chromium.org>
Date: Fri Feb 26 21:56:55 2016

Change ChooserBubbleDelegate class name to ChooserBubbleController

This patch changed ChooserBubbleDelegate class name to
ChooserBubbleController since it better reflects the class's
responsibilities and clarifies the roles of the class.

BUG=492204, 588933

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

Cr-Commit-Position: refs/heads/master@{#377989}

[rename] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_controller.cc
[rename] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_controller.h
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/bluetooth/bluetooth_chooser_desktop.cc
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/bluetooth/bluetooth_chooser_desktop.h
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/browser.cc
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.h
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/cocoa/website_settings/chooser_bubble_ui_cocoa.mm
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.cc
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/views/website_settings/chooser_bubble_ui_view.h
[rename] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/website_settings/chooser_bubble_controller.cc
[rename] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/ui/website_settings/chooser_bubble_controller.h
[rename] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/usb/usb_chooser_bubble_controller.cc
[rename] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/usb/usb_chooser_bubble_controller.h
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/browser/usb/web_usb_permission_bubble.cc
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/chrome_browser.gypi
[modify] https://crrev.com/a2ad62074ea877b0440571c074fe49352e49aa4f/chrome/chrome_browser_ui.gypi

Project Member Comment 84 by bugdroid1@chromium.org, Mar 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d20e8f05588bdcc60a94d91f767a08c9bb44fc92

commit d20e8f05588bdcc60a94d91f767a08c9bb44fc92
Author: reillyg <reillyg@chromium.org>
Date: Tue Mar 01 22:19:51 2016

Basic layout tests for WebUSB.

This change relands https://codereview.chromium.org/1734753003/ with
additional layout tests that provide basic coverage of all the functions
defined by the WebUSB API. The tests are implemented by providing mock
implementations of the Mojo services that Blink depends on to provide
the WebUSB API, allowing the entire test implementation to be done in
Javascript.

Discovered a number of bugs in isochronous packet handling while writing
these.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#378578}

[modify] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/content/renderer/usb/web_usb_device_impl.cc
[modify] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/LayoutTests/resources/mojo-helpers.js
[add] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/LayoutTests/usb/mock-services.html
[add] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/LayoutTests/usb/resources/fake-devices.js
[add] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
[add] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/LayoutTests/usb/usb.html
[add] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/LayoutTests/usb/usbDevice.html
[modify] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/Source/modules/webusb/USBDevice.cpp
[modify] https://crrev.com/d20e8f05588bdcc60a94d91f767a08c9bb44fc92/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.h

Project Member Comment 85 by bugdroid1@chromium.org, Mar 2 2016
Labels: Merge-Merged-master1
The following revision refers to this bug:
  https://chrome-internal.googlesource.com/bling/chromium.git/+/d20e8f05588bdcc60a94d91f767a08c9bb44fc92

commit d20e8f05588bdcc60a94d91f767a08c9bb44fc92
Author: reillyg <reillyg@chromium.org>
Date: Tue Mar 01 22:19:51 2016

Project Member Comment 86 by bugdroid1@chromium.org, Mar 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a2ccc59a9951d04d92d721c399f9ceef6e64b11

commit 0a2ccc59a9951d04d92d721c399f9ceef6e64b11
Author: reillyg <reillyg@chromium.org>
Date: Wed Mar 02 20:27:15 2016

Add WebUSB layout tests for device disconnection.

These tests ensure that when a device has been disconnected and thus
the Mojo pipe between the renderer and browser process is closed calls
to methods on the USBDevice object fail correctly by rejecting with a
NotFoundError.

At the moment this requires WebUSBDeviceImpl to explicitly monitor for
connection errors and reset its interface pointer. Ideally this should
happen automatically.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#378816}

[modify] https://crrev.com/0a2ccc59a9951d04d92d721c399f9ceef6e64b11/content/renderer/usb/web_usb_device_impl.cc
[modify] https://crrev.com/0a2ccc59a9951d04d92d721c399f9ceef6e64b11/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
[modify] https://crrev.com/0a2ccc59a9951d04d92d721c399f9ceef6e64b11/third_party/WebKit/LayoutTests/usb/usb.html
[modify] https://crrev.com/0a2ccc59a9951d04d92d721c399f9ceef6e64b11/third_party/WebKit/LayoutTests/usb/usbDevice.html

Project Member Comment 87 by bugdroid1@chromium.org, Mar 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c1f5522feb3c65ac1543621e22c75513e3a6f5d

commit 0c1f5522feb3c65ac1543621e22c75513e3a6f5d
Author: reillyg <reillyg@chromium.org>
Date: Wed Mar 02 22:14:58 2016

Skip attempting to bind a DevicePtr for a removed device.

This patch skips calling DeviceManager::GetDevice for a removed device
as this is guaranteed to fail. Instead a null DevicePtr is simply passed
to WebUSBDeviceImpl which has been updated to handle this.

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#378856}

[modify] https://crrev.com/0c1f5522feb3c65ac1543621e22c75513e3a6f5d/content/renderer/usb/web_usb_client_impl.cc
[modify] https://crrev.com/0c1f5522feb3c65ac1543621e22c75513e3a6f5d/content/renderer/usb/web_usb_device_impl.cc
[modify] https://crrev.com/0c1f5522feb3c65ac1543621e22c75513e3a6f5d/third_party/WebKit/LayoutTests/usb/usb.html

Blockedon: 593164
Project Member Comment 89 by bugdroid1@chromium.org, Mar 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59

commit 0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59
Author: juncai <juncai@chromium.org>
Date: Mon Mar 14 18:04:30 2016

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}

[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/browser/usb/usb_chooser_bubble_controller.cc
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/browser/usb/usb_chooser_bubble_controller.h
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/browser/usb/usb_tab_helper.cc
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/browser/usb/usb_tab_helper.h
[rename] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/browser/usb/web_usb_chooser_service.cc
[add] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/browser/usb/web_usb_chooser_service.h
[delete] https://crrev.com/2052a822d87267737a19c85b1e88edb8ec2f7e23/chrome/browser/usb/web_usb_permission_bubble.h
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/chrome/chrome_browser.gypi
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/components/webusb.gypi
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/components/webusb/BUILD.gn
[delete] https://crrev.com/2052a822d87267737a19c85b1e88edb8ec2f7e23/components/webusb/public/interfaces/BUILD.gn
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/content/app/BUILD.gn
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/content/content_app.gypi
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/content/content_renderer.gypi
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/content/renderer/BUILD.gn
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/content/renderer/usb/DEPS
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/content/renderer/usb/web_usb_client_impl.cc
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/content/renderer/usb/web_usb_client_impl.h
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/device/usb/public/interfaces/BUILD.gn
[rename] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/device/usb/public/interfaces/chooser_service.mojom
[modify] https://crrev.com/0f6c2ac3d767f8bd859db4cc0bdddaf08a2ffd59/device/usb/usb.gyp

Blockedon: 595375
Labels: -M-50 M-51
Project Member Comment 92 by bugdroid1@chromium.org, Mar 28 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a2b2b5dafce11505958fbb945088347540fb9f7

commit 6a2b2b5dafce11505958fbb945088347540fb9f7
Author: reillyg <reillyg@chromium.org>
Date: Mon Mar 28 19:45:17 2016

Reland of Parse USB interface association descriptors. (patchset #1 id:1 of https://codereview.chromium.org/1697863003/ )

Reason for revert:
Relanding this with a new implementation and fixed the test bug that led this issue to not be caught in the first place.

Original issue's description:
> Revert of Parse USB interface association descriptors. (patchset #3 id:100001 of https://codereview.chromium.org/1568673002/ )
>
> Reason for revert:
> http://crbug.com/586824
>
> Makes Chrome hang when using USB devices.
>
> Original issue's description:
> > Parse USB interface association descriptors.
> >
> > USB interface association descriptors are used to combine multiple
> > interfaces into a single functional group. This patch adds support for
> > parsing them out of the |extra_data| field left by libusb's parsing of
> > configuration, interface and endpoint descriptors. The resulting
> > association is then represented by setting the |first_interface| field
> > of each interface in a function to the |interface_number| of the first
> > interface in the function.
> >
> > WebUSB will use these associations to set permissions for an entire
> > function with a single descriptor.

BUG=492204, 586824

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

Cr-Commit-Position: refs/heads/master@{#383543}

[modify] https://crrev.com/6a2b2b5dafce11505958fbb945088347540fb9f7/device/usb/usb_descriptors.cc
[modify] https://crrev.com/6a2b2b5dafce11505958fbb945088347540fb9f7/device/usb/usb_descriptors.h
[modify] https://crrev.com/6a2b2b5dafce11505958fbb945088347540fb9f7/device/usb/usb_descriptors_unittest.cc
[modify] https://crrev.com/6a2b2b5dafce11505958fbb945088347540fb9f7/device/usb/usb_device_impl.cc

Project Member Comment 93 by bugdroid1@chromium.org, Apr 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f45f77b4fa4afef5b1abeda6bfed21485630d90

commit 1f45f77b4fa4afef5b1abeda6bfed21485630d90
Author: reillyg <reillyg@chromium.org>
Date: Sat Apr 02 02:46:55 2016

Use interface associations to check function permissions.

This patch expands on r383543 to use correctly use the interface
associations parsed out of device descriptors to allow WebUSB
access controls to be specified at a function, rather than interface,
level.

BUG=492204
TBR=pfeldman@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#384785}

[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/chrome/browser/devtools/device/usb/android_usb_browsertest.cc
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/chrome/browser/usb/web_usb_permission_provider.cc
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/chrome/browser/usb/web_usb_permission_provider.h
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/BUILD.gn
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/device_tests.gyp
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mock_usb_device_handle.h
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mojo/device_impl.cc
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mojo/device_impl_unittest.cc
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mojo/device_manager_impl_unittest.cc
[delete] https://crrev.com/6f3d7c412a3e923c1a4372a40b2e811da1b46023/device/usb/mojo/fake_permission_provider.cc
[delete] https://crrev.com/6f3d7c412a3e923c1a4372a40b2e811da1b46023/device/usb/mojo/fake_permission_provider.h
[add] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mojo/mock_permission_provider.cc
[add] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mojo/mock_permission_provider.h
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mojo/permission_provider.h
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/mojo/type_converters.cc
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/public/interfaces/device.mojom
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/usb_device_handle.h
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/usb_device_handle_impl.cc
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/usb_device_handle_impl.h
[modify] https://crrev.com/1f45f77b4fa4afef5b1abeda6bfed21485630d90/device/usb/usb_device_handle_unittest.cc

Blockedon: -591735
Project Member Comment 95 by bugdroid1@chromium.org, Apr 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c00cb62536b679d52c3741598d3f08f79e7e32f

commit 5c00cb62536b679d52c3741598d3f08f79e7e32f
Author: reillyg <reillyg@chromium.org>
Date: Fri Apr 08 21:13:10 2016

Enable WebUSB through the Experimental Framework.

Adds the APIExperimentEnabled annotation to all of WebUSB's IDL
interfaces. If the Experimental Framework is not enabled (or the
experiment key check fails) this API can still be enabled using the
--experimental-web-platform-features flag.

The USB interface is now always added to the local frame and WebUSB
notifications are enabled for all users (as the assumption is that only
sites with an EF key will actually be producing devices with the
necessary descriptors).

BUG=492204

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

Cr-Commit-Position: refs/heads/master@{#386201}

[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/NavigatorUSB.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USB.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBAlternateInterface.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBConfiguration.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBController.cpp
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBEndpoint.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBInTransferResult.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBInterface.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferPacket.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferPacket.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferResult.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/modules/webusb/USBOutTransferResult.idl
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
[modify] https://crrev.com/5c00cb62536b679d52c3741598d3f08f79e7e32f/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member Comment 96 by bugdroid1@chromium.org, May 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/403af928b91df81acac1fc3b27fc093f2eb6da24

commit 403af928b91df81acac1fc3b27fc093f2eb6da24
Author: scheib <scheib@chromium.org>
Date: Mon May 02 23:28:39 2016

Move WebUSB from OriginTrialEnabled to RuntimeEnabled.

This reverses commit 5c00cb62536b679d52c3741598d3f08f79e7e32f.

BUG=605326, 492204

TEST=To verify:

On Windows, Chrome OS, Mac OSX:

Check the following with chrome launched without command line flags:

For each site:
 https://permission.site
 http://permission.site
Load and press the USB button.
 Expect in Chrome Developer Tools: Console output:
  "Uncaught TypeError: Cannot read property 'requestDevice' of undefined"

Check the following with chrome launched with command line flag:
 --enable-blink-features=ExperimentalFramework

For https://permission.site
Load and press the USB button.
 Expect a chooser dialog to open.

For http://permission.site
Load and press the USB button.
 Expect in Chrome Developer Tools: Console output:
  "error usb DOMException: Only secure origins are allowed (see: https://goo.gl/Y0ZkNV)."

Review-Url: https://codereview.chromium.org/1917103004
Cr-Commit-Position: refs/heads/master@{#391090}

[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/NavigatorUSB.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USB.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBAlternateInterface.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBConfiguration.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBEndpoint.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBInTransferResult.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBInterface.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferPacket.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferPacket.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferResult.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/modules/webusb/USBOutTransferResult.idl
[modify] https://crrev.com/403af928b91df81acac1fc3b27fc093f2eb6da24/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Project Member Comment 97 by bugdroid1@chromium.org, May 9 2016
Labels: merge-merged-2704
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/499429ab56d93c5e90c338fdb6d42e9987b3e508

commit 499429ab56d93c5e90c338fdb6d42e9987b3e508
Author: Vincent Scheib <scheib@chromium.org>
Date: Mon May 09 19:12:19 2016

Move WebUSB from OriginTrialEnabled to RuntimeEnabled.

This reverses commit 5c00cb62536b679d52c3741598d3f08f79e7e32f.

BUG=605326, 492204

TEST=To verify:

On Windows, Chrome OS, Mac OSX:

Check the following with chrome launched without command line flags:

For each site:
 https://permission.site
 http://permission.site
Load and press the USB button.
 Expect in Chrome Developer Tools: Console output:
  "Uncaught TypeError: Cannot read property 'requestDevice' of undefined"

Check the following with chrome launched with command line flag:
 --enable-blink-features=ExperimentalFramework

For https://permission.site
Load and press the USB button.
 Expect a chooser dialog to open.

For http://permission.site
Load and press the USB button.
 Expect in Chrome Developer Tools: Console output:
  "error usb DOMException: Only secure origins are allowed (see: https://goo.gl/Y0ZkNV)."

Review-Url: https://codereview.chromium.org/1917103004
Cr-Commit-Position: refs/heads/master@{#391090}
(cherry picked from commit 403af928b91df81acac1fc3b27fc093f2eb6da24)

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

Cr-Commit-Position: refs/branch-heads/2704@{#449}
Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251}

[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/NavigatorUSB.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USB.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBAlternateInterface.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBConfiguration.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBEndpoint.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBInTransferResult.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBInterface.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferPacket.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferPacket.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferResult.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/modules/webusb/USBOutTransferResult.idl
[modify] https://crrev.com/499429ab56d93c5e90c338fdb6d42e9987b3e508/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

FYI for those reading, we hope to enable WebUSB as an Origin Trial in Chrome 54, which will allow sites to enable USB for all of their users.
Project Member Comment 99 by bugdroid1@chromium.org, Aug 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9882e9ddab06dd2acc556707d0feb8c129a8b3c3

commit 9882e9ddab06dd2acc556707d0feb8c129a8b3c3
Author: reillyg <reillyg@chromium.org>
Date: Thu Aug 25 09:06:53 2016

Add an UMA histogram for WebUSB function calls.

Each WebUSB function (on the USB and USBDevice IDL objects) is given a
histogram value that is recorded when the function is called.

BUG=492204

Review-Url: https://codereview.chromium.org/2272563003
Cr-Commit-Position: refs/heads/master@{#414367}

[modify] https://crrev.com/9882e9ddab06dd2acc556707d0feb8c129a8b3c3/third_party/WebKit/Source/core/frame/UseCounter.h
[modify] https://crrev.com/9882e9ddab06dd2acc556707d0feb8c129a8b3c3/third_party/WebKit/Source/modules/webusb/USB.cpp
[modify] https://crrev.com/9882e9ddab06dd2acc556707d0feb8c129a8b3c3/third_party/WebKit/Source/modules/webusb/USBDevice.cpp
[modify] https://crrev.com/9882e9ddab06dd2acc556707d0feb8c129a8b3c3/tools/metrics/histograms/histograms.xml

Project Member Comment 100 by bugdroid1@chromium.org, Aug 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2fe96ea775a73ad5dcc05105f57be096d302baa2

commit 2fe96ea775a73ad5dcc05105f57be096d302baa2
Author: reillyg <reillyg@chromium.org>
Date: Fri Aug 26 00:17:14 2016

Enable the WebUSB Origin Trial.

This patch enables the WebUSB interfaces if a site has an Origin Trial
key for the feature "WebUSB". They can still also be enabled by passing
the --enable-experimental-web-platform-features flag.

BUG=492204

Review-Url: https://codereview.chromium.org/2274303002
Cr-Commit-Position: refs/heads/master@{#414591}

[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/NavigatorUSB.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USB.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBAlternateInterface.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBConfiguration.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBEndpoint.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBInTransferResult.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBInterface.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferPacket.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferPacket.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferResult.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/modules/webusb/USBOutTransferResult.idl
[modify] https://crrev.com/2fe96ea775a73ad5dcc05105f57be096d302baa2/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Trying to experiment with this via the --enable-experimental-web-platform-features flag, but I'm always getting the "No devices found" error. I have multiple devices connected to my computer (Mac OS X 10.11.6) and I'm using the API as follows:

navigator.usb.requestDevice({ filters: [ { vendorId: 0x046d } ] }). I've tried with vendor codes 0x05ac, 0x0b0e, 0x0451, 0x046d, 0x045e in both M54.0.2840 and M56.0.2923 - anything else I could do?
Xander, I'm going to move this discussion off this issue and onto the WebUSB mailing list, webusb@chromium.org, because there are already too many comments here and this isn't the place to be diagnosing individual developer issues.
Blockedon: 674353
Project Member Comment 104 by bugdroid1@chromium.org, Jan 7 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d890f99cb3e60ad71c087b4d9a628c0c400aa196

commit d890f99cb3e60ad71c087b4d9a628c0c400aa196
Author: reillyg <reillyg@chromium.org>
Date: Sat Jan 07 00:18:17 2017

Allow top-level frames to request any USB device.

This patch changes the rules for WebUSB so that a top level frame can
request access to any USB device, while embedded frames must have an
origin matching the allowed origins structure read from the device.

Integration tests for WebUSB are added which exercise this.

BUG=492204

Review-Url: https://codereview.chromium.org/2611773004
Cr-Commit-Position: refs/heads/master@{#442105}

[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/ui/startup/bad_flags_prompt.cc
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/ui/webui/print_preview/extension_printer_handler_unittest.cc
[add] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/usb/usb_browsertest.cc
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/usb/usb_chooser_controller.cc
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/usb/usb_chooser_controller.h
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/usb/usb_chooser_controller_unittest.cc
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/usb/web_usb_chooser_service.cc
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/browser/usb/web_usb_permission_provider.cc
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/common/chrome_switches.cc
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/common/chrome_switches.h
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/chrome/test/BUILD.gn
[modify] https://crrev.com/d890f99cb3e60ad71c087b4d9a628c0c400aa196/device/usb/mock_usb_service.cc

Blockedon: 711443
Labels: -M-51
Status: Started
Project Member Comment 108 by bugdroid1@chromium.org, Jun 1
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64bff37c24aefed6abfc5066f8ff5c49e71072f7

commit 64bff37c24aefed6abfc5066f8ff5c49e71072f7
Author: Reilly Grant <reillyg@chromium.org>
Date: Thu Jun 01 13:31:01 2017

Ship WebUSB

This change ends the WebUSB Origin Trial and enables the feature by
default.

Intent to Ship thread:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/KuXx_k2KIis/-g-75FScBgAJ

Bug: 492204
Change-Id: I8af69ccd39c9eb0d7200f0fb25566ad189d5f42e
Reviewed-on: https://chromium-review.googlesource.com/513366
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Vincent Scheib <scheib@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#476267}
[delete] https://crrev.com/a262e4f88d16b143b9f754865db584e3bc9ec01c/third_party/WebKit/LayoutTests/http/tests/origin_trials/webexposed/webusb-origin-trial-interfaces-script-added-expected.txt
[delete] https://crrev.com/a262e4f88d16b143b9f754865db584e3bc9ec01c/third_party/WebKit/LayoutTests/http/tests/origin_trials/webexposed/webusb-origin-trial-interfaces-script-added.html
[delete] https://crrev.com/a262e4f88d16b143b9f754865db584e3bc9ec01c/third_party/WebKit/LayoutTests/http/tests/origin_trials/webexposed/webusb-origin-trial-interfaces.html
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.cpp
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/NavigatorUSB.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USB.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBAlternateInterface.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBConfiguration.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBConnectionEvent.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBDevice.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBEndpoint.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBInTransferResult.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBInterface.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferPacket.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBIsochronousInTransferResult.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferPacket.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBIsochronousOutTransferResult.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/modules/webusb/USBOutTransferResult.idl
[modify] https://crrev.com/64bff37c24aefed6abfc5066f8ff5c49e71072f7/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5

Description: Show this description
Labels: Merge-Request-60
Requesting Merge for commit 64bff37c24aefed6abfc5066f8ff5c49e71072f7

Intent to Ship approved launch, the last patch barely missed M60, is localized to just transitioning out of origin trial, and has been tested in Canary 61.0.3118.0.
Project Member Comment 111 by sheriffbot@chromium.org, Jun 2
Labels: -Merge-Request-60 Hotlist-Merge-Review Merge-Review-60
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Hotlist-Merge-Review -Merge-Review-60
WebUSB will wait for M61.
Status: Fixed
Shipping in Chrome 61.
Sign in to add a comment