[wpt-sync] Sync PR 38202 - Fix storage bucket quota overflow
Categories
(Core :: Storage: Quota Manager, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox111 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 38202 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/38202
Details from upstream follow.
Nathan Memmott <memmott@chromium.org> wrote:
Fix storage bucket quota overflow
This fixes overflow and underflow issues with storage buckets. Creating
a bucket with a quota 2^31 or greater would cause the bucket's quota to
overflow when stored in the quota database. A negative number would
overflow the other way when processed by v8.This updates all variables representing quota to signed int64s to match
how it is represented in the database. It also adds the EnforceRange
attribute to the idl, so that it automatically errors when out of range
(-(2^53) to 2^53-1).This also adds checks for negative quotas and errors if there is one.
Bug: 1406355
Change-Id: I5ba8d7716e8ec9735b2da453ff3e6a90e47211e4
Reviewed-on: https://chromium-review.googlesource.com/4171741
WPT-Export-Revision: 7b909775c8ae1b31a09b5799e9f050b6a5be6ff4
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 1•2 years ago
|
||
| Assignee | ||
Comment 2•2 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 4 tests and 1 subtests
Status Summary
Firefox
FAIL : 4
ERROR: 4
Chrome
OK : 4
FAIL : 4
Safari
FAIL : 4
ERROR: 4
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /storage/buckets/buckets_storage_policy.tentative.https.any.serviceworker.html [wpt.fyi]:
ERROR(Chrome:OK, Safari:ERROR)- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
FAIL(Chrome:FAIL, Safari:FAIL)
- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
- /storage/buckets/buckets_storage_policy.tentative.https.any.sharedworker.html [wpt.fyi]:
ERROR(Chrome:OK, Safari:ERROR)- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
FAIL(Chrome:FAIL, Safari:FAIL)
- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
- /storage/buckets/buckets_storage_policy.tentative.https.any.html [wpt.fyi]:
ERROR(Chrome:OK, Safari:ERROR)- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
FAIL(Chrome:FAIL, Safari:FAIL)
- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
- /storage/buckets/buckets_storage_policy.tentative.https.any.worker.html [wpt.fyi]:
ERROR(Chrome:OK, Safari:ERROR)- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
FAIL(Chrome:FAIL, Safari:FAIL)
- The open promise should reject with a TypeError when quota is requested outside the range of 1 to Number.MAX_SAFE_INTEGER.:
Comment 4•2 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/68a7ef0d262c
https://hg.mozilla.org/mozilla-central/rev/703572a88589
Description
•