[wpt-sync] Sync PR 46849 - usb: Reject transfer size more than 32MB on renderer
Categories
(Core :: DOM: Device Interfaces, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox129 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 46849 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/46849
Details from upstream follow.
Jack Hsieh <chengweih@chromium.org> wrote:
usb: Reject transfer size more than 32MB on renderer
Enforce a 32MB transfer size limit on WebUSB renderer side. This
enforcement is to avoid user allocating a big buffer (e.g. close to 4GB)
that might crash the browser in case no enough memory resources.Bug: 338955051
Change-Id: Ieac572e1abf6e85199e34550bf8e6434cad57052
Reviewed-on: https://chromium-review.googlesource.com/5633505
WPT-Export-Revision: 4ee8552690aad438b0305a331a33a7a8d74c5e4b
Assignee | ||
Updated•3 months ago
|
Assignee | ||
Comment 1•3 months ago
|
||
Assignee | ||
Comment 2•3 months ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 2 tests and 65 subtests
Status Summary
Firefox
OK
: 2
FAIL
: 130
Chrome
OK
: 2
PASS
: 120
FAIL
: 10
Safari
OK
: 2
FAIL
: 130
Links
Details
New Tests That Don't Pass
- /webusb/usbDevice.https.any.html [wpt.fyi]
- open rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - disconnection closes the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device can be opened and closed:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close can be called multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close cannot be called again while open or close are in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an device state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - close rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is not open:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device configuration can be set and queried:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device configuration value can be set again:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects on invalid configurations:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is unconfigured:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released in parallel:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be claimed multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be released multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an interface state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces are released on close:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a non-existent interface cannot be claimed or released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - claimInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - releaseInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential interface number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential alternative setting value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - cannot select a non-existent alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectAlternateInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of IN control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope IN control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require claiming the interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of OUT control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope OUT control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid request type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid recipient type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers to a non-existant interface reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - requests to interfaces and endpoint require an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can clear a halt condition:
FAIL
(Chrome:PASS
, Safari:FAIL
) - clearHalt rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transfers to unavailable endpoints are rejected:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN interrupt transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferIn rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can reset the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - resetDevice rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when buffer size exceeds packet lengths:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed buffer size:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferIn rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - transferIn rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - transferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - controlTransferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- open rejects when called on a disconnected device:
- /webusb/usbDevice.https.any.worker.html [wpt.fyi]
- open rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - disconnection closes the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device can be opened and closed:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close can be called multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close cannot be called again while open or close are in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an device state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - close rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is not open:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device configuration can be set and queried:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device configuration value can be set again:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects on invalid configurations:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is unconfigured:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released in parallel:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be claimed multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be released multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an interface state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces are released on close:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a non-existent interface cannot be claimed or released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - claimInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - releaseInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential interface number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential alternative setting value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - cannot select a non-existent alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectAlternateInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of IN control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope IN control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require claiming the interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of OUT control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope OUT control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid request type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid recipient type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers to a non-existant interface reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - requests to interfaces and endpoint require an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can clear a halt condition:
FAIL
(Chrome:PASS
, Safari:FAIL
) - clearHalt rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transfers to unavailable endpoints are rejected:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN interrupt transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferIn rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can reset the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - resetDevice rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when buffer size exceeds packet lengths:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed buffer size:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferIn rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - transferIn rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - transferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - controlTransferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- open rejects when called on a disconnected device:
Comment 4•3 months ago
|
||
bugherder |
Description
•