Closed Bug 1652418 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 24575 - [nativeio] NativeIO: Add setLength via workaround

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox82 fixed)

RESOLVED FIXED
82 Branch
Tracking Status
firefox82 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 24575 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/24575
Details from upstream follow.

Richard Stotz <rstz@chromium.org> wrote:

[nativeio] NativeIO: Add setLength via workaround

The MacOS sandbox does not allow calling setLength from the renderer
directly, see crbug.com/1084565. The call to setLength is therefore
routed through the browser process, which likely decreases performance
and increases complexity. Another option would be to create a
SeatbeltExtensionToken that allows to pierce the sandbox on MacOS for a
single file. As this would likely lead to more complex code, we decided
that going through the browser process is the better option for now.

Bug: 914488
Change-Id: Idc58d804e19751a2e37cfeb5c645f778edf4639c
Reviewed-on: https://chromium-review.googlesource.com/2257855
WPT-Export-Revision: 8ace4834aa4b40328e94bd152054bda075568421

PR 24575 applied with additional changes from upstream: e91d7d8c9a1f14438e44000dcd05ce6e658e4ae5
PR 24575 applied with additional changes from upstream: e0a417a2f108468d245fb2dd9562ef6838197842
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

Ran 12 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 35 tests and 5 subtests

Status Summary

Firefox

OK : 35
FAIL : 174

Chrome

OK : 31
PASS : 72
FAIL : 94
ERROR : 4
NOTRUN: 8

Safari

OK : 27
FAIL : 133
ERROR : 8

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/native-io/close_async.tentative.https.any.html
NativeIOFile.setLength fails after NativeIOFile.close settles: FAIL (Chrome: NOTRUN, Safari: FAIL)
NativeIOFile.read fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.close is idempotent: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.setLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: NOTRUN, Safari: FAIL)
NativeIOFile.getLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.write fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.flush fails immediately after calling NativeIOFile.close: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.write fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.close is idempotent when called immediately: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.getLength fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.read fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.flush fails after NativeIOFile.close settles: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/close_async.tentative.https.any.worker.html
NativeIOFile.setLength fails after NativeIOFile.close settles: FAIL (Chrome: NOTRUN, Safari: FAIL)
NativeIOFile.read fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.close is idempotent: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.setLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: NOTRUN, Safari: FAIL)
NativeIOFile.getLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.write fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.flush fails immediately after calling NativeIOFile.close: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.write fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.close is idempotent when called immediately: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.getLength fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.read fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.flush fails after NativeIOFile.close settles: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_setLength_async.tentative.https.any.serviceworker.html
write() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
read() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
setLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/close_async.tentative.https.any.sharedworker.html
NativeIOFile.setLength fails after NativeIOFile.close settles: FAIL (Chrome: NOTRUN)
NativeIOFile.read fails after NativeIOFile.close settles: FAIL (Chrome: PASS)
NativeIOFile.close is idempotent: FAIL (Chrome: PASS)
NativeIOFile.setLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: NOTRUN)
NativeIOFile.getLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS)
NativeIOFile.write fails after NativeIOFile.close settles: FAIL (Chrome: PASS)
NativeIOFile.flush fails immediately after calling NativeIOFile.close: FAIL (Chrome: FAIL)
NativeIOFile.write fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS)
NativeIOFile.close is idempotent when called immediately: FAIL (Chrome: PASS)
NativeIOFile.getLength fails after NativeIOFile.close settles: FAIL (Chrome: PASS)
NativeIOFile.read fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS)
NativeIOFile.flush fails after NativeIOFile.close settles: FAIL (Chrome: FAIL)
/native-io/concurrent_io/concurrent_io_write_async.tentative.https.any.serviceworker.html
setLength() rejects while write() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
flush() rejects while write() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
read() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_getLength_async.tentative.https.any.html
read() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
write() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
flush() rejects while getLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
setLength() rejects while getLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_getLength_async.tentative.https.any.worker.html
read() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
write() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
flush() rejects while getLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
setLength() rejects while getLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/setLength_bounds_async.tentative.https.any.html
NativeIOFile.setLength does not throw an error when descreasing the file length to 0.: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.setLength() throws when setting negative lengths.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_flush_async.tentative.https.any.serviceworker.html
setLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
read() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/close_async.tentative.https.any.serviceworker.html
NativeIOFile.setLength fails after NativeIOFile.close settles: FAIL (Chrome: NOTRUN, Safari: FAIL)
NativeIOFile.read fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.close is idempotent: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.setLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: NOTRUN, Safari: FAIL)
NativeIOFile.getLength fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.write fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.flush fails immediately after calling NativeIOFile.close: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.write fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.close is idempotent when called immediately: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.getLength fails after NativeIOFile.close settles: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.read fails immediately after calling NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.flush fails after NativeIOFile.close settles: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/setLength_bounds_async.tentative.https.any.worker.html
NativeIOFile.setLength does not throw an error when descreasing the file length to 0.: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.setLength() throws when setting negative lengths.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/setLength_bounds_sync.tentative.https.any.worker.html
NativeIOFileSync.setLength() does not throw an error when descreasing the file length to 0.: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFileSync.setLength() throws when setting negative lengths.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/getLength_setLength_async_basic.tentative.https.any.serviceworker.html
NativeIOFile.setLength appends zeros to a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.setLength shrinks a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_flush_async.tentative.https.any.sharedworker.html
setLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL)
flush() rejects while flush() is resolving.: FAIL (Chrome: FAIL)
write() rejects while flush() is resolving.: FAIL (Chrome: FAIL)
read() rejects while flush() is resolving.: FAIL (Chrome: FAIL)
getLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL)
/native-io/concurrent_io/concurrent_io_setLength_async.tentative.https.any.html
write() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
read() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
setLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_getLength_async.tentative.https.any.sharedworker.html
read() rejects while getLength() is resolving.: FAIL (Chrome: PASS)
write() rejects while getLength() is resolving.: FAIL (Chrome: PASS)
flush() rejects while getLength() is resolving.: FAIL (Chrome: FAIL)
setLength() rejects while getLength() is resolving.: FAIL (Chrome: FAIL)
getLength() rejects while getLength() is resolving.: FAIL (Chrome: PASS)
/native-io/concurrent_io/concurrent_io_read_async.tentative.https.any.html
setLength() rejects while read() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while read() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
getLength() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
read() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/getLength_setLength_async_basic.tentative.https.any.worker.html
NativeIOFile.setLength appends zeros to a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.setLength shrinks a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_flush_async.tentative.https.any.html
setLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
read() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_read_async.tentative.https.any.worker.html
setLength() rejects while read() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while read() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
getLength() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
read() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/getLength_setLength_sync_basic.tentative.https.any.worker.html
NativeIOFileSync.setLength appends zeros to a file and NativeIOFileSync.getLength reports its new length.: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFileSync.setLength shrinks a file and NativeIOFileSync.getLength reports its new length.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/setLength_bounds_async.tentative.https.any.sharedworker.html
NativeIOFile.setLength does not throw an error when descreasing the file length to 0.: FAIL (Chrome: FAIL)
NativeIOFile.setLength() throws when setting negative lengths.: FAIL (Chrome: FAIL)
/native-io/concurrent_io/concurrent_io_setLength_async.tentative.https.any.sharedworker.html
write() rejects while setLength() is resolving.: FAIL (Chrome: FAIL)
read() rejects while setLength() is resolving.: FAIL (Chrome: FAIL)
getLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL)
setLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL)
flush() rejects while setLength() is resolving.: FAIL (Chrome: FAIL)
/native-io/getLength_setLength_async_basic.tentative.https.any.sharedworker.html
NativeIOFile.setLength appends zeros to a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL)
NativeIOFile.setLength shrinks a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL)
/native-io/concurrent_io/concurrent_io_read_async.tentative.https.any.sharedworker.html
setLength() rejects while read() is resolving.: FAIL (Chrome: FAIL)
flush() rejects while read() is resolving.: FAIL (Chrome: FAIL)
write() rejects while read() is resolving.: FAIL (Chrome: PASS)
getLength() rejects while read() is resolving.: FAIL (Chrome: PASS)
read() rejects while read() is resolving.: FAIL (Chrome: PASS)
/native-io/getLength_setLength_async_basic.tentative.https.any.html
NativeIOFile.setLength appends zeros to a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.setLength shrinks a file, NativeIOFile.getLength reports new length: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_flush_async.tentative.https.any.worker.html
setLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
read() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while flush() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_getLength_async.tentative.https.any.serviceworker.html
read() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
write() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
flush() rejects while getLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
setLength() rejects while getLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while getLength() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/setLength_bounds_async.tentative.https.any.serviceworker.html
NativeIOFile.setLength does not throw an error when descreasing the file length to 0.: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFile.setLength() throws when setting negative lengths.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_setLength_async.tentative.https.any.worker.html
write() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
read() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
setLength() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while setLength() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_write_async.tentative.https.any.sharedworker.html
setLength() rejects while write() is resolving.: FAIL (Chrome: FAIL)
write() rejects while write() is resolving.: FAIL (Chrome: PASS)
flush() rejects while write() is resolving.: FAIL (Chrome: FAIL)
getLength() rejects while write() is resolving.: FAIL (Chrome: PASS)
read() rejects while write() is resolving.: FAIL (Chrome: PASS)
/native-io/concurrent_io/concurrent_io_write_async.tentative.https.any.html
setLength() rejects while write() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
flush() rejects while write() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
read() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/close_sync.tentative.https.any.worker.html
NativeIOFileSync.read fails after NativeIOFileSync.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFileSync.setLength fails after NativeIOFileSync.close: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFileSync.flush fails after NativeIOFileSync.close: FAIL (Chrome: FAIL, Safari: FAIL)
NativeIOFileSync.getLength fails after NativeIOFileSync.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFile.write fails after NativeIOFile.close: FAIL (Chrome: PASS, Safari: FAIL)
NativeIOFileSync.close is idempotent: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_read_async.tentative.https.any.serviceworker.html
setLength() rejects while read() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
flush() rejects while read() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
getLength() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
read() rejects while read() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/concurrent_io/concurrent_io_write_async.tentative.https.any.worker.html
setLength() rejects while write() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
write() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
flush() rejects while write() is resolving.: FAIL (Chrome: FAIL, Safari: FAIL)
getLength() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)
read() rejects while write() is resolving.: FAIL (Chrome: PASS, Safari: FAIL)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/68f4ace33c0b [wpt PR 24575] - [nativeio] NativeIO: Add setLength, a=testonly https://hg.mozilla.org/integration/autoland/rev/49b5744afff5 [wpt PR 24575] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch
You need to log in before you can comment on or make changes to this bug.