Closed Bug 1681288 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 26798 - Reland:NativeIO: Add Error Handling for file errors

Categories

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

task

Tracking

(firefox86 fixed)

RESOLVED FIXED
86 Branch
Tracking Status
firefox86 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

b'Richard Stotz <rstz@chromium.org>' wrote:

Reland:NativeIO: Add Error Handling for file errors

This is a reland of https://crrev.com/c/2436344

This CL adds a mechanism to report file errors, as reported by
base::File::Error, though DOMExceptions. Due to security and privacy
considerations, not all errors are exposed to the user. For those
operations performed by the browser process (open, rename), the exact
error type is not exposed to the renderer.

Errors that are not reported by base::File::Error are left unchanged and
will be addressed in a followup CL.

The design document for this change is
https://docs.google.com/document/d/1rvs615AU2s8kVsmUlukbmtQNvUWFny0yzAS_gsnYZEs/

Bug: 1095537
Change-Id: I5b9623d22653daff168221468c2a1be837668c6c

Reviewed-on: https://chromium-review.googlesource.com/2577472
WPT-Export-Revision: 21b1c69d49aa369105c6d558d4ae462175272f35

CI Results

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

Total 10 tests and 6 subtests

Status Summary

Firefox

OK : 5
FAIL : 22
ERROR : 5
NOTRUN: 12

Chrome

OK : 10
PASS : 15
FAIL : 25

Safari

OK : 4
FAIL : 17
ERROR : 6
NOTRUN: 9

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/native-io/delete_async_basic.tentative.https.any.sharedworker.html
nativeIO.getAll does not return file deleted by nativeIO.delete: FAIL (Chrome: PASS)
nativeIO.delete does not fail when deleting a non-existing file: FAIL (Chrome: PASS)
/native-io/delete_async_basic.tentative.https.any.serviceworker.html
nativeIO.getAll does not return file deleted by nativeIO.delete: FAIL (Chrome: PASS, Safari: FAIL)
nativeIO.delete does not fail when deleting a non-existing file: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/delete_async_basic.tentative.https.any.worker.html
nativeIO.getAll does not return file deleted by nativeIO.delete: FAIL (Chrome: PASS, Safari: FAIL)
nativeIO.delete does not fail when deleting a non-existing file: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/delete_async_basic.tentative.https.any.html
nativeIO.getAll does not return file deleted by nativeIO.delete: FAIL (Chrome: PASS, Safari: FAIL)
nativeIO.delete does not fail when deleting a non-existing file: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/delete_sync_basic.tentative.https.any.worker.html
nativeIO.getAllSync does not return file deleted by nativeIO.deleteSync: FAIL (Chrome: PASS, Safari: FAIL)
nativeIO.deleteSync does not fail when deleting a non-existing file: FAIL (Chrome: PASS, Safari: FAIL)
/native-io/rename_async_failure_handling.tentative.https.any.worker.html: ERROR (Chrome: OK, Safari: ERROR)
nativeIO.rename does not overwrite an existing file.: FAIL (Chrome: FAIL, Safari: FAIL)
nativeIO.rename does not allow renaming an open file.: FAIL (Chrome: FAIL, Safari: FAIL)
nativeIO.rename does not allow renaming from or to invalid names.: FAIL (Chrome: PASS, Safari: FAIL)
Failed nativeIO.rename does not unlock the source.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
Failed nativeIO.rename does not unlock the destination.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
Renaming a non-existing file fails with a NotFoundError.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
/native-io/rename_async_failure_handling.tentative.https.any.html: ERROR (Chrome: OK, Safari: ERROR)
nativeIO.rename does not overwrite an existing file.: FAIL (Chrome: FAIL, Safari: FAIL)
nativeIO.rename does not allow renaming an open file.: FAIL (Chrome: FAIL, Safari: FAIL)
nativeIO.rename does not allow renaming from or to invalid names.: FAIL (Chrome: PASS, Safari: FAIL)
Failed nativeIO.rename does not unlock the source.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
Failed nativeIO.rename does not unlock the destination.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
Renaming a non-existing file fails with a NotFoundError.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
/native-io/rename_async_failure_handling.tentative.https.any.serviceworker.html: ERROR (Chrome: OK, Safari: ERROR)
nativeIO.rename does not overwrite an existing file.: FAIL (Chrome: FAIL, Safari: FAIL)
nativeIO.rename does not allow renaming an open file.: FAIL (Chrome: FAIL, Safari: FAIL)
nativeIO.rename does not allow renaming from or to invalid names.: FAIL (Chrome: PASS, Safari: FAIL)
Failed nativeIO.rename does not unlock the source.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
Failed nativeIO.rename does not unlock the destination.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
Renaming a non-existing file fails with a NotFoundError.: NOTRUN (Chrome: FAIL, Safari: NOTRUN)
/native-io/rename_async_failure_handling.tentative.https.any.sharedworker.html: ERROR (Chrome: OK, Safari: ERROR)
nativeIO.rename does not overwrite an existing file.: FAIL (Chrome: FAIL)
nativeIO.rename does not allow renaming an open file.: FAIL (Chrome: FAIL)
nativeIO.rename does not allow renaming from or to invalid names.: FAIL (Chrome: PASS)
Failed nativeIO.rename does not unlock the source.: NOTRUN (Chrome: FAIL)
Failed nativeIO.rename does not unlock the destination.: NOTRUN (Chrome: FAIL)
Renaming a non-existing file fails with a NotFoundError.: NOTRUN (Chrome: FAIL)
/native-io/rename_sync_failure_handling.tentative.https.any.worker.html: ERROR (Chrome: OK, Safari: ERROR)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/37c9117fd7d6 [wpt PR 26798] - Reland:NativeIO: Add Error Handling for file errors, a=testonly https://hg.mozilla.org/integration/autoland/rev/b70660b2d26e [wpt PR 26798] - Update wpt metadata, a=testonly
You need to log in before you can comment on or make changes to this bug.