summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/fs
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/meta/fs')
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-IndexedDB.https.any.js.ini100
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-buckets.https.any.js.ini42
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-getUniqueId.https.any.js.ini130
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-isSameEntry.https.any.js.ini112
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.js.ini6
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-Error.https.window.js.ini32
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-frames.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-windows.https.window.js.ini3
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-workers.https.window.js.ini4
-rw-r--r--testing/web-platform/meta/fs/FileSystemBaseHandle-remove.https.any.js.ini107
-rw-r--r--testing/web-platform/meta/fs/FileSystemDirectoryHandle-getDirectoryHandle.https.any.js.ini34
-rw-r--r--testing/web-platform/meta/fs/FileSystemDirectoryHandle-getFileHandle.https.any.js.ini42
-rw-r--r--testing/web-platform/meta/fs/FileSystemDirectoryHandle-iteration.https.any.js.ini53
-rw-r--r--testing/web-platform/meta/fs/FileSystemDirectoryHandle-removeEntry.https.any.js.ini184
-rw-r--r--testing/web-platform/meta/fs/FileSystemDirectoryHandle-resolve.https.any.js.ini31
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-cross-primitive-locking.https.tentative.worker.js.ini544
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-getFile.https.any.js.ini28
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-move.https.any.js.ini124
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-back-forward-cache.https.tentative.window.js.ini3
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-lock-modes.https.tentative.worker.js.ini155
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-writable-lock.https.tentative.worker.js.ini2
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-back-forward-cache.https.tentative.window.js.ini3
-rw-r--r--testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-lock-modes.https.tentative.worker.js.ini91
-rw-r--r--testing/web-platform/meta/fs/FileSystemObserver.https.tentative.window.js.ini9
-rw-r--r--testing/web-platform/meta/fs/FileSystemSyncAccessHandle-read-write.https.worker.js.ini60
-rw-r--r--testing/web-platform/meta/fs/FileSystemWritableFileStream-piped.https.any.js.ini56
-rw-r--r--testing/web-platform/meta/fs/FileSystemWritableFileStream-write.https.any.js.ini322
-rw-r--r--testing/web-platform/meta/fs/FileSystemWritableFileStream.https.any.js.ini81
-rw-r--r--testing/web-platform/meta/fs/__dir__.ini2
-rw-r--r--testing/web-platform/meta/fs/idlharness.https.any.js.ini31
-rw-r--r--testing/web-platform/meta/fs/opaque-origin.https.window.js.ini12
34 files changed, 2415 insertions, 0 deletions
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-IndexedDB.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-IndexedDB.https.any.js.ini
new file mode 100644
index 0000000000..62873457b7
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-IndexedDB.https.any.js.ini
@@ -0,0 +1,100 @@
+[FileSystemBaseHandle-IndexedDB.https.any.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64"): [OK, TIMEOUT, ERROR]
+ if (os == "win") and debug and (processor == "x86"): [OK, ERROR, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [TIMEOUT, ERROR, OK]
+ if (os == "win") and not debug and (processor == "x86"): [OK, ERROR, TIMEOUT]
+ if (os == "mac") and not debug: [OK, ERROR, TIMEOUT]
+ [Store handle in IndexedDB and read from new transaction.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [TIMEOUT, NOTRUN, PASS]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [Store handles and blobs in IndexedDB.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [Store handle in IndexedDB and read using a cursor.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Store handle in IndexedDB using inline keys.]
+ expected:
+ if (os == "win") and (processor == "x86_64") and debug: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and (processor == "x86_64") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Store handle in IndexedDB and read from pending transaction.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64"): [PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT]
+
+ [Store and retrieve the root directory from IndexedDB.]
+ expected:
+ if (os == "win") and (processor == "x86_64") and debug: [PASS, NOTRUN]
+ if (os == "win") and (processor == "x86_64") and not debug: [NOTRUN, PASS]
+ if (os == "win") and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+
+[FileSystemBaseHandle-IndexedDB.https.any.worker.html]
+ expected:
+ if (os == "win") and not debug: [TIMEOUT, OK]
+ if (os == "mac") and debug: OK
+ if os == "linux": OK
+ if os == "android": OK
+ [OK, TIMEOUT]
+ [Store handles and blobs in IndexedDB.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [Store handle in IndexedDB and read using a cursor.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [Store handle in IndexedDB using inline keys.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [Store handle in IndexedDB and read from new transaction.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: [TIMEOUT, NOTRUN, PASS]
+
+ [Store handle in IndexedDB and read from pending transaction.]
+ expected:
+ if os == "mac": PASS
+ if os == "linux": PASS
+ if os == "android": PASS
+ [PASS, TIMEOUT]
+
+ [Store and retrieve the root directory from IndexedDB.]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and debug: PASS
+ if os == "linux": PASS
+ if os == "android": PASS
+ [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-buckets.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-buckets.https.any.js.ini
new file mode 100644
index 0000000000..7305ef3210
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-buckets.https.any.js.ini
@@ -0,0 +1,42 @@
+[FileSystemBaseHandle-buckets.https.any.worker.html]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [OK, TIMEOUT]
+ [isSameEntry works as expected with buckets]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [FAIL, TIMEOUT]
+ FAIL
+
+ [getDirectory promise rejects if bucket has been deleted]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [Bucket quota restricts the size of a file that can be created]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+
+[FileSystemBaseHandle-buckets.https.any.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [OK, TIMEOUT]
+ [isSameEntry works as expected with buckets]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, TIMEOUT]
+ FAIL
+
+ [getDirectory promise rejects if bucket has been deleted]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [Bucket quota restricts the size of a file that can be created]
+ expected: FAIL
+
+ [Bucket quota restricts the size of a file that can be created]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-getUniqueId.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-getUniqueId.https.any.js.ini
new file mode 100644
index 0000000000..2bd8cd9e55
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-getUniqueId.https.any.js.ini
@@ -0,0 +1,130 @@
+[FileSystemBaseHandle-getUniqueId.https.any.html]
+ expected:
+ if (os == "win") and debug and swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [ERROR, OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [OK, ERROR, TIMEOUT]
+ [identical directory handles return the same ID]
+ expected: FAIL
+
+ [different directories return different IDs]
+ expected: FAIL
+
+ [different handles for the same directory return the same ID]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [identical file handles return the same unique ID]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [different files return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [different handles for the same file return the same ID]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [two files of the same name in different directories return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [a file and a directory return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [a file and a directory of the same path return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [unique ID of a file handle does not change after writes]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [unique ID is in GUID version 4 format]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+
+[FileSystemBaseHandle-getUniqueId.https.any.worker.html]
+ expected:
+ if (os == "win") and debug and swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug: [OK, TIMEOUT]
+ [identical directory handles return the same ID]
+ expected: FAIL
+
+ [different directories return different IDs]
+ expected: FAIL
+
+ [different handles for the same directory return the same ID]
+ expected: FAIL
+
+ [identical file handles return the same unique ID]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, TIMEOUT]
+ FAIL
+
+ [different files return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [different handles for the same file return the same ID]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [two files of the same name in different directories return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [a file and a directory return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [a file and a directory of the same path return different IDs]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [unique ID of a file handle does not change after writes]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [unique ID is in GUID version 4 format]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-isSameEntry.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-isSameEntry.https.any.js.ini
new file mode 100644
index 0000000000..d896849095
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-isSameEntry.https.any.js.ini
@@ -0,0 +1,112 @@
+[FileSystemBaseHandle-isSameEntry.https.any.worker.html]
+ expected:
+ if (os == "win") and debug and swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug: [OK, TIMEOUT]
+ [isSameEntry comparing two files pointing to the same path returns true]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [isSameEntry comparing two directories pointing to the same path returns true]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [isSameEntry comparing a file to a directory of the same path returns false]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [PASS, NOTRUN]
+
+ [isSameEntry comparing a file to a file in a different directory returns false]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, TIMEOUT, NOTRUN]
+
+ [isSameEntry for different files returns false]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, TIMEOUT, NOTRUN]
+
+ [isSameEntry comparing a file to a directory returns false]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, NOTRUN]
+
+ [isSameEntry for identical file handles returns true]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, NOTRUN]
+
+ [isSameEntry for different handles for the same directory]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, TIMEOUT]
+ if (os == "win") and swgl: [PASS, TIMEOUT]
+
+ [isSameEntry for different handles for the same file]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, NOTRUN]
+
+
+[FileSystemBaseHandle-isSameEntry.https.any.html]
+ expected:
+ if (os == "win") and debug and swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, ERROR, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [OK, TIMEOUT, ERROR]
+ [isSameEntry comparing two directories pointing to the same path returns true]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [isSameEntry comparing a file to a directory of the same path returns false]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [isSameEntry for different handles for the same directory]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and swgl: [PASS, TIMEOUT]
+
+ [isSameEntry for identical file handles returns true]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, NOTRUN]
+
+ [isSameEntry for different files returns false]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, TIMEOUT, NOTRUN]
+
+ [isSameEntry for different handles for the same file]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and swgl: [PASS, NOTRUN]
+
+ [isSameEntry comparing a file to a file in a different directory returns false]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and swgl: [PASS, TIMEOUT, NOTRUN]
+
+ [isSameEntry comparing a file to a directory returns false]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [isSameEntry comparing two files pointing to the same path returns true]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [isSameEntry for different directories returns false]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [PASS, NOTRUN]
+
+ [isSameEntry for identical directory handles returns true]
+ expected:
+ if (processor == "x86") and (os == "win") and not debug: [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.js.ini
new file mode 100644
index 0000000000..f3e7a6f4db
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.js.ini
@@ -0,0 +1,6 @@
+[FileSystemBaseHandle-postMessage-BroadcastChannel.https.window.html]
+ expected:
+ if (processor == "x86") and debug: [OK, TIMEOUT]
+ [Send and receive messages using a broadcast channel in an iframe, dedicated worker and service worker.]
+ expected:
+ if (processor == "x86") and debug: [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-Error.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-Error.https.window.js.ini
new file mode 100644
index 0000000000..f6ff92e032
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-Error.https.window.js.ini
@@ -0,0 +1,32 @@
+[FileSystemBaseHandle-postMessage-Error.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [Fail to send and receive messages using a cross origin iframe.]
+ expected: PASS
+
+ [Fail to send and receive messages using a cross origin message port in an iframe.]
+ expected: PASS
+
+ [Fail to send to a sandboxed iframe.]
+ expected: PASS
+
+ [Fail to send messages using a message port to a sandboxed iframe.]
+ expected: PASS
+
+ [Fail to send messages to a data URI iframe.]
+ expected: PASS
+
+ [Fail to send messages using a message port in a data URI iframe.]
+ expected: PASS
+
+ [Fail to send and receive messages using a cross origin window.]
+ expected: PASS
+
+ [Fail to send and receive messages using a cross origin message port in a window.]
+ expected: PASS
+
+ [Fail to send messages to a sandboxed window.]
+ expected: PASS
+
+ [Fail to send messages using a message port to a sandboxed window.]
+ expected: PASS
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.js.ini
new file mode 100644
index 0000000000..39b29f619d
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.js.ini
@@ -0,0 +1,3 @@
+[FileSystemBaseHandle-postMessage-MessagePort-frames.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.js.ini
new file mode 100644
index 0000000000..b1d7c8aab9
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.js.ini
@@ -0,0 +1,3 @@
+[FileSystemBaseHandle-postMessage-MessagePort-windows.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.js.ini
new file mode 100644
index 0000000000..1d707e60b0
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.js.ini
@@ -0,0 +1,3 @@
+[FileSystemBaseHandle-postMessage-MessagePort-workers.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-frames.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-frames.https.window.js.ini
new file mode 100644
index 0000000000..ec14dafb69
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-frames.https.window.js.ini
@@ -0,0 +1,3 @@
+[FileSystemBaseHandle-postMessage-frames.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-windows.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-windows.https.window.js.ini
new file mode 100644
index 0000000000..3f60d62641
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-windows.https.window.js.ini
@@ -0,0 +1,3 @@
+[FileSystemBaseHandle-postMessage-windows.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-workers.https.window.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-workers.https.window.js.ini
new file mode 100644
index 0000000000..5600af1779
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-postMessage-workers.https.window.js.ini
@@ -0,0 +1,4 @@
+[FileSystemBaseHandle-postMessage-workers.https.window.html]
+ expected:
+ if (os == "linux") and not fission and not debug: [OK, CRASH]
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemBaseHandle-remove.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemBaseHandle-remove.https.any.js.ini
new file mode 100644
index 0000000000..ea76026b5b
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemBaseHandle-remove.https.any.js.ini
@@ -0,0 +1,107 @@
+[FileSystemBaseHandle-remove.https.any.worker.html]
+ expected:
+ if (os == "win") and debug and swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [TIMEOUT, OK]
+ [remove() to remove a file]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, TIMEOUT]
+ FAIL
+
+ [remove() on an already removed file should fail]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() to remove an empty directory]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() on an already removed directory should fail]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() on a non-empty directory should fail]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() on a directory recursively should delete all sub-items]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() on a file should ignore the recursive option]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [remove() while the file has an open writable fails]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [TIMEOUT, FAIL, NOTRUN]
+ FAIL
+
+ [can remove the root of a sandbox file system]
+ expected:
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [NOTRUN, FAIL]
+ FAIL
+
+
+[FileSystemBaseHandle-remove.https.any.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [TIMEOUT, OK]
+ [remove() to remove a file]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, TIMEOUT]
+ FAIL
+
+ [remove() on an already removed file should fail]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() to remove an empty directory]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() on an already removed directory should fail]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() on a non-empty directory should fail]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [remove() on a directory recursively should delete all sub-items]
+ expected:
+ if (processor == "x86") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [remove() on a file should ignore the recursive option]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [TIMEOUT, FAIL, NOTRUN]
+ FAIL
+
+ [remove() while the file has an open writable fails]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [NOTRUN, FAIL]
+ FAIL
+
+ [can remove the root of a sandbox file system]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [NOTRUN, FAIL]
+ FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemDirectoryHandle-getDirectoryHandle.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-getDirectoryHandle.https.any.js.ini
new file mode 100644
index 0000000000..bbeef42b93
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-getDirectoryHandle.https.any.js.ini
@@ -0,0 +1,34 @@
+[FileSystemDirectoryHandle-getDirectoryHandle.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [getDirectoryHandle() when a file already exists with the same name]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [getDirectoryHandle(create=false) with a path separator when the directory exists]
+ expected:
+ if os == "win": PASS
+ FAIL
+
+ [getDirectoryHandle(create=true) with a path separator]
+ expected:
+ if os == "win": PASS
+ FAIL
+
+
+[FileSystemDirectoryHandle-getDirectoryHandle.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [getDirectoryHandle() when a file already exists with the same name]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [getDirectoryHandle(create=false) with a path separator when the directory exists]
+ expected:
+ if os == "win": PASS
+ FAIL
+
+ [getDirectoryHandle(create=true) with a path separator]
+ expected:
+ if os == "win": PASS
+ FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemDirectoryHandle-getFileHandle.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-getFileHandle.https.any.js.ini
new file mode 100644
index 0000000000..943d8410ae
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-getFileHandle.https.any.js.ini
@@ -0,0 +1,42 @@
+[FileSystemDirectoryHandle-getFileHandle.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [getFileHandle(create=false) when a directory already exists with the same name]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [getFileHandle(create=true) when a directory already exists with the same name]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [getFileHandle(create=false) with a path separator when the file exists.]
+ expected:
+ if os == "win": PASS
+ FAIL
+
+ [getFileHandle(create=true) with a path separator]
+ expected:
+ if os == "win": PASS
+ FAIL
+
+
+[FileSystemDirectoryHandle-getFileHandle.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [getFileHandle(create=false) when a directory already exists with the same name]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [getFileHandle(create=true) when a directory already exists with the same name]
+ expected:
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [getFileHandle(create=false) with a path separator when the file exists.]
+ expected:
+ if os == "win": PASS
+ FAIL
+
+ [getFileHandle(create=true) with a path separator]
+ expected:
+ if os == "win": PASS
+ FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemDirectoryHandle-iteration.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-iteration.https.any.js.ini
new file mode 100644
index 0000000000..f683fc14b0
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-iteration.https.any.js.ini
@@ -0,0 +1,53 @@
+[FileSystemDirectoryHandle-iteration.https.any.worker.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug: [OK, TIMEOUT]
+ [iteration while iterator gets garbage collected]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [keys: full iteration works]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [values: full iteration works]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [entries: full iteration works]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, TIMEOUT]
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [@@asyncIterator: full iteration works]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [returning early from an iteration doesn't crash]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT]
+
+
+[FileSystemDirectoryHandle-iteration.https.any.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, ERROR]
+ if (os == "win") and not debug and (processor == "x86"): [OK, ERROR, TIMEOUT]
+ [iteration while iterator gets garbage collected]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [PASS, NOTRUN]
+
+ [keys: full iteration works]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [values: full iteration works]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, TIMEOUT]
+ if (os == "win") and not debug: [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fs/FileSystemDirectoryHandle-removeEntry.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-removeEntry.https.any.js.ini
new file mode 100644
index 0000000000..e19e28c491
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-removeEntry.https.any.js.ini
@@ -0,0 +1,184 @@
+[FileSystemDirectoryHandle-removeEntry.https.any.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [TIMEOUT, ERROR]
+ if (os == "mac") and debug: ERROR
+ if os == "linux": ERROR
+ if os == "android": ERROR
+ [ERROR, TIMEOUT]
+ [removeEntry() to remove a file]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() on an already removed file should fail]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() to remove an empty directory]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [removeEntry() on a directory recursively should delete all sub-items]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [removeEntry() while the file has an open writable fails]
+ expected:
+ if (os == "win") and (processor == "x86_64") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and (processor == "x86_64") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [createWritable after removeEntry succeeds but doesnt recreate the file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [removeEntry() with a path separator should fail.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: PASS
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ FAIL
+
+ [removeEntry() with empty name should fail]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() with "." name should fail]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [removeEntry() on a non-empty directory should fail]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [removeEntry() of a directory while a containing file has an open writable fails]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, TIMEOUT]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "mac") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() with ".." name should fail]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+
+[FileSystemDirectoryHandle-removeEntry.https.any.worker.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [TIMEOUT, OK, ERROR]
+ if (os == "win") and not debug and (processor == "x86"): [ERROR, OK, TIMEOUT]
+ if (os == "win") and debug: [ERROR, TIMEOUT]
+ if (os == "mac") and not debug: [ERROR, TIMEOUT]
+ ERROR
+ [removeEntry() with "." name should fail]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() with ".." name should fail]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [removeEntry() with a path separator should fail.]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: PASS
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ FAIL
+
+ [removeEntry() while the file has an open writable fails]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, FAIL, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, FAIL, NOTRUN]
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [createWritable after removeEntry succeeds but doesnt recreate the file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [removeEntry() on a directory recursively should delete all sub-items]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() on an already removed file should fail]
+ expected:
+ if (os == "win") and (processor == "x86_64") and debug and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and (processor == "x86_64") and not debug: [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and (processor == "x86"): [PASS, NOTRUN]
+
+ [removeEntry() to remove an empty directory]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() with empty name should fail]
+ expected:
+ if (os == "win") and not swgl and debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [NOTRUN, PASS, TIMEOUT]
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and swgl: [PASS, NOTRUN]
+
+ [removeEntry() on a non-empty directory should fail]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [removeEntry() to remove a file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+
+ [removeEntry() of a directory while a containing file has an open writable fails]
+ expected:
+ if (os == "win") and (processor == "x86_64") and debug and swgl: [PASS, NOTRUN]
+ if (os == "win") and (processor == "x86_64") and debug and not swgl: [PASS, TIMEOUT]
+ if (os == "win") and (processor == "x86_64") and not debug: [NOTRUN, PASS]
+ if (os == "win") and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "mac") and not debug: [PASS, TIMEOUT, NOTRUN]
diff --git a/testing/web-platform/meta/fs/FileSystemDirectoryHandle-resolve.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-resolve.https.any.js.ini
new file mode 100644
index 0000000000..3ba3923000
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemDirectoryHandle-resolve.https.any.js.ini
@@ -0,0 +1,31 @@
+[FileSystemDirectoryHandle-resolve.https.any.html]
+ expected:
+ if (os == "win") and (processor == "x86_64") and debug and swgl: [OK, TIMEOUT]
+ if (os == "win") and (processor == "x86_64") and not debug: [OK, TIMEOUT]
+ [Resolve returns correct path with non-ascii characters]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+ [Resolve returns null when entry is not a child]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and swgl: [PASS, TIMEOUT]
+
+
+[FileSystemDirectoryHandle-resolve.https.any.worker.html]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and swgl: [OK, TIMEOUT]
+ [Resolve returns correct path with non-ascii characters]
+ expected:
+ if (os == "win") and (processor == "x86_64") and debug and swgl: [PASS, TIMEOUT]
+ if (os == "win") and (processor == "x86_64") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [Resolve returns null when entry is not a child]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, NOTRUN, TIMEOUT]
+ if (os == "win") and swgl: [PASS, NOTRUN]
+
+ [Resolve returns correct path]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-cross-primitive-locking.https.tentative.worker.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-cross-primitive-locking.https.tentative.worker.js.ini
new file mode 100644
index 0000000000..3b8e84f817
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-cross-primitive-locking.https.tentative.worker.js.ini
@@ -0,0 +1,544 @@
+[FileSystemFileHandle-cross-primitive-locking.https.tentative.worker.html]
+ expected:
+ if (os == "win") and not debug: [TIMEOUT, OK]
+ if (os == "mac") and debug: OK
+ if os == "linux": OK
+ if os == "android": OK
+ [OK, TIMEOUT]
+ [After a file has finished moving, that file can have an open access handle in readwrite mode]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [A file with an ongoing remove operation does not interfere with the creation of an open access handle in readwrite mode on another file]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [After a file has finished being removed, that file can have an open access handle in readwrite mode]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [A directory cannot be removed if it contains a file that has an open access handle in readwrite mode.]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [A file with an open access handle in readwrite mode cannot be removed]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [A file with an open access handle in readwrite mode does not interfere with removing another file]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [After an open access handle in readwrite mode on a file has been closed, that file can be removed]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [After a file has finished moving, that file can have an open access handle in read-only mode]
+ expected:
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an ongoing remove operation does not interfere with the creation of an open access handle in read-only mode on another file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After a file has finished being removed, that file can have an open access handle in read-only mode]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A directory cannot be removed if it contains a file that has an open access handle in read-only mode.]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an open access handle in read-only mode cannot be removed]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an open access handle in read-only mode does not interfere with removing another file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After an open access handle in read-only mode on a file has been closed, that file can be removed]
+ expected:
+ if (os == "win") and debug: [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an open access handle in read-only mode does not interfere with the creation of an open writable stream in siloed mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open writable stream in exclusive mode on a file, cannot have an open access handle in read-only mode on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open writable stream in exclusive mode does not interfere with an open access handle in read-only mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After a writable stream in exclusive mode has been closed for a file, that file can have an open access handle in read-only mode]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open access handle in read-only mode on a file, cannot open an open writable stream in exclusive mode on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in read-only mode does not interfere with the creation of an open writable stream in exclusive mode on another file]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an ongoing move operation does not interfere with an open access handle in readwrite-unsafe mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After a file has finished moving, that file can have an open access handle in readwrite-unsafe mode]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file cannot be moved to a location with an open access handle in readwrite-unsafe mode]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in readwrite-unsafe mode cannot be moved]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in readwrite-unsafe mode does not interfere with moving another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After an open access handle in readwrite-unsafe mode on a file has been closed, that file can be moved]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an ongoing remove operation does not interfere with the creation of an open access handle in readwrite-unsafe mode on another file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After a file has finished being removed, that file can have an open access handle in readwrite-unsafe mode]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A directory cannot be removed if it contains a file that has an open access handle in readwrite-unsafe mode.]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an open access handle in readwrite-unsafe mode cannot be removed]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an open access handle in readwrite-unsafe mode does not interfere with removing another file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After an open access handle in readwrite-unsafe mode on a file has been closed, that file can be removed]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [When there's an open writable stream in siloed mode on a file, cannot have an open access handle in readwrite-unsafe mode on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open writable stream in siloed mode does not interfere with an open access handle in readwrite-unsafe mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After all writable streams in siloed mode have been closed for a file, that file can have an open access handle in readwrite-unsafe mode]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open access handle in readwrite-unsafe mode on a file, cannot open an open writable stream in siloed mode on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in readwrite-unsafe mode does not interfere with the creation of an open writable stream in siloed mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open writable stream in exclusive mode on a file, cannot have an open access handle in readwrite-unsafe mode on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open writable stream in exclusive mode does not interfere with an open access handle in readwrite-unsafe mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After a writable stream in exclusive mode has been closed for a file, that file can have an open access handle in readwrite-unsafe mode]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open access handle in readwrite-unsafe mode on a file, cannot open an open writable stream in exclusive mode on that same file]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in readwrite-unsafe mode does not interfere with the creation of an open writable stream in exclusive mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an ongoing move operation does not interfere with an open writable stream in siloed mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After a file has finished moving, that file can have an open writable stream in siloed mode]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL, TIMEOUT]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file cannot be moved to a location with an open writable stream in siloed mode]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open writable stream in siloed mode on a file, cannot have an ongoing move operation on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open writable stream in siloed mode does not interfere with an ongoing move operation on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After all writable streams in siloed mode have been closed for a file, that file can have an ongoing move operation]
+ expected:
+ if (os == "win") and debug and swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and not swgl: [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an ongoing remove operation does not interfere with the creation of an open writable stream in siloed mode on another file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After a file has finished being removed, that file can have an open writable stream in siloed mode]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A directory cannot be removed if it contains a file that has an open writable stream in siloed mode.]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [When there's an open writable stream in siloed mode on a file, cannot have an ongoing remove operation on that same file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an open writable stream in siloed mode does not interfere with an ongoing remove operation on another file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After all writable streams in siloed mode have been closed for a file, that file can have an ongoing remove operation]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an ongoing move operation does not interfere with an open writable stream in exclusive mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After a file has finished moving, that file can have an open writable stream in exclusive mode]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file cannot be moved to a location with an open writable stream in exclusive mode]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open writable stream in exclusive mode on a file, cannot have an ongoing move operation on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open writable stream in exclusive mode does not interfere with an ongoing move operation on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After a writable stream in exclusive mode has been closed for a file, that file can have an ongoing move operation]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an ongoing remove operation does not interfere with the creation of an open writable stream in exclusive mode on another file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL, TIMEOUT]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After a file has finished being removed, that file can have an open writable stream in exclusive mode]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A directory cannot be removed if it contains a file that has an open writable stream in exclusive mode.]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [When there's an open writable stream in exclusive mode on a file, cannot have an ongoing remove operation on that same file]
+ expected:
+ if (os == "win") and debug: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [A file with an open writable stream in exclusive mode does not interfere with an ongoing remove operation on another file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [FAIL, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and not debug: [FAIL, NOTRUN]
+ FAIL
+
+ [After a writable stream in exclusive mode has been closed for a file, that file can have an ongoing remove operation]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ if (os == "mac") and debug: FAIL
+ if os == "linux": FAIL
+ if os == "android": FAIL
+ [FAIL, NOTRUN]
+
+ [After all writable streams in siloed mode have been closed for a file, that file can have an open access handle in readwrite mode]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [A file with an open access handle in readwrite mode does not interfere with the creation of an open writable stream in exclusive mode on another file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in readwrite mode cannot be moved]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [After a writable stream in exclusive mode has been closed for a file, that file can have an open access handle in readwrite mode]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [A file with an open writable stream in siloed mode does not interfere with an open access handle in read-only mode on another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an ongoing move operation does not interfere with an open access handle in read-only mode on another file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open access handle in readwrite mode on a file, cannot open an open writable stream in siloed mode on that same file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [A file cannot be moved to a location with an open access handle in read-only mode]
+ expected:
+ if (os == "win") and debug: [PASS, TIMEOUT]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open access handle in read-only mode on a file, cannot open an open writable stream in siloed mode on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [After all writable streams in siloed mode have been closed for a file, that file can have an open access handle in read-only mode]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an ongoing move operation does not interfere with an open access handle in readwrite mode on another file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT]
+
+ [After an open access handle in read-only mode on a file has been closed, that file can be moved]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in read-only mode cannot be moved]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [When there's an open access handle in readwrite mode on a file, cannot open an open writable stream in exclusive mode on that same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in readwrite mode does not interfere with moving another file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [A file with an open access handle in read-only mode does not interfere with moving another file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open access handle in readwrite mode does not interfere with the creation of an open writable stream in siloed mode on another file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [A file cannot be moved to a location with an open access handle in readwrite mode]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [A file with an open writable stream in exclusive mode does not interfere with an open access handle in readwrite mode on another file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open writable stream in siloed mode on a file, cannot have an open access handle in read-only mode on that same file]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: NOTRUN
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [A file with an open writable stream in siloed mode does not interfere with an open access handle in readwrite mode on another file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [After an open access handle in readwrite mode on a file has been closed, that file can be moved]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [When there's an open writable stream in exclusive mode on a file, cannot have an open access handle in readwrite mode on that same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open writable stream in siloed mode on a file, cannot have an open access handle in readwrite mode on that same file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-getFile.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-getFile.https.any.js.ini
new file mode 100644
index 0000000000..f61b92be27
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-getFile.https.any.js.ini
@@ -0,0 +1,28 @@
+[FileSystemFileHandle-getFile.https.any.worker.html]
+ expected:
+ if swgl and (os == "win"): [OK, TIMEOUT]
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [OK, TIMEOUT]
+ [getFile() returns last modified time]
+ expected:
+ if swgl and (os == "win"): [PASS, TIMEOUT]
+
+ [getFile() returns expected name]
+ expected:
+ if (processor == "x86") and not debug: [PASS, TIMEOUT]
+
+
+[FileSystemFileHandle-getFile.https.any.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, ERROR, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): [OK, TIMEOUT]
+ [getFile() provides a file that can be sliced]
+ expected:
+ if (processor == "x86") and not debug: [PASS, TIMEOUT]
+
+ [getFile() returns last modified time]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
+
+ [getFile() returns expected name]
+ expected:
+ if (processor == "x86") and not debug: [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-move.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-move.https.any.js.ini
new file mode 100644
index 0000000000..a9b64aaf98
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-move.https.any.js.ini
@@ -0,0 +1,124 @@
+[FileSystemFileHandle-move.https.any.worker.html]
+ disabled:
+ if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1845961
+ expected:
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [move(dir) while the destination file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir, name) while the destination file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir, name) while the file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir) can be called multiple times]
+ expected:
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [move(dir, name) can be called multiple times]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir) while the file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir, name) with a name with invalid characters should fail]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(name) to rename a file]
+ expected:
+ if processor == "x86": [PASS, TIMEOUT]
+
+ [get a handle to a moved file]
+ expected:
+ if processor == "x86": [PASS, TIMEOUT, NOTRUN]
+
+ [move(name) to rename a file the same name]
+ expected:
+ if processor == "x86": [PASS, NOTRUN]
+
+ [move("") to rename a file fails]
+ expected:
+ if processor == "x86": [PASS, NOTRUN]
+
+ [move(dir) can overwrite an existing file]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir, name) can overwrite an existing file]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [FileSystemFileHandles are references, not paths]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(name) with a name with path separators should fail]
+ expected: FAIL
+
+
+[FileSystemFileHandle-move.https.any.html]
+ disabled:
+ if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1845961
+ expected:
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [move(name) to rename a file]
+ expected:
+ if processor == "x86": [PASS, TIMEOUT]
+
+ [move(name) to rename a file the same name]
+ expected:
+ if processor == "x86": [PASS, NOTRUN]
+
+ [move("") to rename a file fails]
+ expected:
+ if processor == "x86": [PASS, NOTRUN]
+
+ [get a handle to a moved file]
+ expected:
+ if processor == "x86": [PASS, NOTRUN]
+
+ [move(dir, name) can be called multiple times]
+ expected:
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [move(dir, name) with a name with invalid characters should fail]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir) while the file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir, name) while the file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir) while the destination file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir, name) while the destination file has an open writable fails]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir) can overwrite an existing file]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(dir, name) can overwrite an existing file]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [FileSystemFileHandles are references, not paths]
+ expected:
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [move(name) with a name with path separators should fail]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-back-forward-cache.https.tentative.window.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-back-forward-cache.https.tentative.window.js.ini
new file mode 100644
index 0000000000..b7b2d797e8
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-back-forward-cache.https.tentative.window.js.ini
@@ -0,0 +1,3 @@
+[FileSystemFileHandle-sync-access-handle-back-forward-cache.https.tentative.window.html]
+ [Creating a SAH on an active page evicts an inactive page on contention.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-lock-modes.https.tentative.worker.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-lock-modes.https.tentative.worker.js.ini
new file mode 100644
index 0000000000..5a80c327c7
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-lock-modes.https.tentative.worker.js.ini
@@ -0,0 +1,155 @@
+[FileSystemFileHandle-sync-access-handle-lock-modes.https.tentative.worker.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug: [TIMEOUT, OK]
+ [A sync access handle opens in readwrite mode by default]
+ expected:
+ if (os == "win") and not debug: [FAIL, TIMEOUT]
+ FAIL
+
+ [An access handle in readwrite mode has a mode property equal to readwrite]
+ expected:
+ if (os == "win") and not debug: [FAIL, NOTRUN, TIMEOUT]
+ FAIL
+
+ [An access handle in read-only mode has a mode property equal to read-only]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, TIMEOUT, FAIL]
+ FAIL
+
+ [An access handle in readwrite-unsafe mode has a mode property equal to readwrite-unsafe]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, FAIL, TIMEOUT]
+ FAIL
+
+ [An access handle in read-only mode takes a lock that is shared]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, FAIL, TIMEOUT]
+ FAIL
+
+ [An access handle in read-only mode is not writable]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, FAIL, TIMEOUT]
+ FAIL
+
+ [After all access handles in read-only mode on a file has been closed, can open another access handle in readwrite on the same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, FAIL, TIMEOUT]
+ FAIL
+
+ [After all access handles in read-only mode on a file has been closed, can open another access handle in readwrite-unsafe on the same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ FAIL
+
+ [An access handle in readwrite-unsafe mode takes a lock that is shared]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, TIMEOUT]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ FAIL
+
+ [After all access handles in readwrite-unsafe mode on a file has been closed, can open another access handle in readwrite on the same file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ FAIL
+
+ [After all access handles in readwrite-unsafe mode on a file has been closed, can open another access handle in read-only on the same file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, FAIL]
+ FAIL
+
+ [When there's an open access handle in readwrite-unsafe mode on a file, cannot open another access handle in readwrite on that same file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [When there's an open access handle in readwrite-unsafe mode on a file, cannot open another access handle in read-only on that same file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [When there's an open access handle in readwrite mode on a file, cannot open another access handle in readwrite-unsafe on that same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in read-only mode on a file, can open another access handle in readwrite-unsafe on a different file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in readwrite-unsafe mode on a file, can open another access handle in readwrite on a different file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [An access handle in readwrite-unsafe mode is writable]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [When there's an open access handle in read-only mode on a file, cannot open another access handle in readwrite-unsafe on that same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [When there's an open access handle in readwrite-unsafe mode on a file, can open another access handle in read-only on a different file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in readwrite mode on a file, can open another access handle in readwrite-unsafe on a different file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [After an access handle in readwrite mode on a file has been closed, can open another access handle in readwrite-unsafe on the same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in readwrite-unsafe mode on a file, can open another access handle in readwrite-unsafe on a different file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [When there's an open access handle in read-only mode on a file, can open another access handle in read-only on a different file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in read-only mode on a file, cannot open another access handle in readwrite on that same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in read-only mode on a file, can open another access handle in readwrite on a different file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in readwrite mode on a file, can open another access handle in read-only on a different file]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [When there's an open access handle in readwrite mode on a file, cannot open another access handle in read-only on that same file]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [After an access handle in readwrite mode on a file has been closed, can open another access handle in read-only on the same file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [When there's an open access handle in readwrite mode on a file, cannot open another access handle in readwrite on that same file]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [After an access handle in readwrite mode on a file has been closed, can open another access handle in readwrite on the same file]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [When there's an open access handle in readwrite mode on a file, can open another access handle in readwrite on a different file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+ [An access handle in readwrite mode is writable]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [An access handle in readwrite mode takes a lock that is exclusive]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-writable-lock.https.tentative.worker.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-writable-lock.https.tentative.worker.js.ini
new file mode 100644
index 0000000000..89138b685f
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-sync-access-handle-writable-lock.https.tentative.worker.js.ini
@@ -0,0 +1,2 @@
+[FileSystemFileHandle-sync-access-handle-writable-lock.https.tentative.worker.html]
+ expected: ERROR
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-back-forward-cache.https.tentative.window.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-back-forward-cache.https.tentative.window.js.ini
new file mode 100644
index 0000000000..f2f32984cb
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-back-forward-cache.https.tentative.window.js.ini
@@ -0,0 +1,3 @@
+[FileSystemFileHandle-writable-file-stream-back-forward-cache.https.tentative.window.html]
+ [Creating a WFS on an active page evicts an inactive page on contention.]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-lock-modes.https.tentative.worker.js.ini b/testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-lock-modes.https.tentative.worker.js.ini
new file mode 100644
index 0000000000..91bf95c56f
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemFileHandle-writable-file-stream-lock-modes.https.tentative.worker.js.ini
@@ -0,0 +1,91 @@
+[FileSystemFileHandle-writable-file-stream-lock-modes.https.tentative.worker.html]
+ expected:
+ if (os == "win") and debug and not swgl and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and debug and swgl: [OK, TIMEOUT]
+ if (os == "win") and not debug: [OK, TIMEOUT]
+ if (os == "linux") and (processor == "x86"): [OK, TIMEOUT]
+ [A writable stream opens in siloed mode by default]
+ expected: FAIL
+
+ [A writable stream in siloed mode has a mode property equal to siloed]
+ expected: FAIL
+
+ [When there's an open writable stream in siloed mode on a file, cannot open another writable stream in exclusive on that same file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [After all writable streams in siloed mode on a file has been closed, can open another writable stream in exclusive on the same file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [A writable stream in exclusive mode has a mode property equal to exclusive]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [A writable stream in exclusive mode takes a lock that is exclusive]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [When there's an open writable stream in exclusive mode on a file, cannot open another writable stream in siloed on that same file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [After a writable stream in exclusive mode on a file has been closed, can open another writable stream in siloed on the same file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [FAIL, TIMEOUT]
+ if (os == "win") and not debug: [FAIL, TIMEOUT, NOTRUN]
+ FAIL
+
+ [When there's an open writable stream in exclusive mode on a file, can open another writable stream in exclusive on a different file]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and swgl: [PASS, FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN, FAIL]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, FAIL, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [FAIL, PASS, NOTRUN]
+ if (os == "linux") and swgl and not fission: [FAIL, PASS, NOTRUN]
+ if (os == "android") and debug and not swgl: [FAIL, PASS, NOTRUN]
+ [PASS, FAIL, NOTRUN]
+
+ [When there's an open writable stream in exclusive mode on a file, cannot open another writable stream in exclusive on that same file]
+ expected:
+ if (os == "win") and debug and not swgl and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ if (os == "linux") and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [After a writable stream in exclusive mode on a file has been closed, can open another writable stream in exclusive on the same file]
+ expected:
+ if (os == "win") and debug and not swgl and (processor == "x86_64"): [FAIL, NOTRUN]
+ if (os == "win") and debug and swgl: [FAIL, NOTRUN]
+ if (os == "win") and not debug: [FAIL, NOTRUN]
+ if (os == "linux") and (processor == "x86"): [FAIL, NOTRUN]
+ FAIL
+
+ [When there's an open writable stream in exclusive mode on a file, can open another writable stream in siloed on a different file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, NOTRUN]
+
+ [When there's an open writable stream in siloed mode on a file, can open another writable stream in exclusive on a different file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): [PASS, TIMEOUT]
+
+ [When there's an open writable stream in siloed mode on a file, can open another writable stream in siloed on a different file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [A writable stream in siloed mode takes a lock that is shared]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemObserver.https.tentative.window.js.ini b/testing/web-platform/meta/fs/FileSystemObserver.https.tentative.window.js.ini
new file mode 100644
index 0000000000..f22e27afc9
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemObserver.https.tentative.window.js.ini
@@ -0,0 +1,9 @@
+[FileSystemObserver.https.tentative.window.html]
+ [Creating a FileSystemObserver from a window succeeds]
+ expected: FAIL
+
+ [Creating a FileSystemObserver from a dedicated worker succeeds]
+ expected: FAIL
+
+ [Creating a FileSystemObserver from a shared worker succeeds]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemSyncAccessHandle-read-write.https.worker.js.ini b/testing/web-platform/meta/fs/FileSystemSyncAccessHandle-read-write.https.worker.js.ini
new file mode 100644
index 0000000000..68f8e46df8
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemSyncAccessHandle-read-write.https.worker.js.ini
@@ -0,0 +1,60 @@
+[FileSystemSyncAccessHandle-read-write.https.worker.html]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): TIMEOUT
+ [Test reading and writing a file using the cursor]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): TIMEOUT
+
+ [Test read with default options]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test reading at a negative offset fails.]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test write with default options]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test writing at a negative offset fails.]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test initial write with an offset]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test read at an offset]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test overwriting the file at an offset]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test second write that is smaller than the first write]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test second write that is bigger than the first write]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [Test writing and reading through a sync access handle.]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [Test using an ArrayBuffer.]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [Test using an empty ArrayBuffer.]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [Test reading an empty file through a sync access handle.]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/FileSystemWritableFileStream-piped.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemWritableFileStream-piped.https.any.js.ini
new file mode 100644
index 0000000000..f0049f5056
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemWritableFileStream-piped.https.any.js.ini
@@ -0,0 +1,56 @@
+prefs: [dom.fs.enabled:false]
+[FileSystemWritableFileStream-piped.https.any.html]
+ expected:
+ if (os == "linux") and not debug and fission: [OK, CRASH]
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [can be piped to with a string]
+ expected: FAIL
+
+ [can be piped to with an ArrayBuffer]
+ expected: FAIL
+
+ [can be piped to with a Blob]
+ expected: FAIL
+
+ [can be piped to with a param object with write command]
+ expected: FAIL
+
+ [can be piped to with a param object with multiple commands]
+ expected: FAIL
+
+ [multiple operations can be queued]
+ expected: FAIL
+
+ [plays well with fetch]
+ expected: FAIL
+
+ [abort() aborts write]
+ expected: FAIL
+
+
+[FileSystemWritableFileStream-piped.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [can be piped to with a string]
+ expected: FAIL
+
+ [can be piped to with an ArrayBuffer]
+ expected: FAIL
+
+ [can be piped to with a Blob]
+ expected: FAIL
+
+ [can be piped to with a param object with write command]
+ expected: FAIL
+
+ [can be piped to with a param object with multiple commands]
+ expected: FAIL
+
+ [multiple operations can be queued]
+ expected: FAIL
+
+ [plays well with fetch]
+ expected: FAIL
+
+ [abort() aborts write]
+ expected: FAIL
diff --git a/testing/web-platform/meta/fs/FileSystemWritableFileStream-write.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemWritableFileStream-write.https.any.js.ini
new file mode 100644
index 0000000000..26916f90b9
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemWritableFileStream-write.https.any.js.ini
@@ -0,0 +1,322 @@
+[FileSystemWritableFileStream-write.https.any.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [OK, TIMEOUT]
+ if (os == "win") and debug and (processor == "x86"): [OK, ERROR, TIMEOUT]
+ if (os == "win") and not debug: [TIMEOUT, ERROR, OK]
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [write() with a string with windows line ending preserved]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [write() with an empty array buffer to an empty file]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, TIMEOUT, NOTRUN]
+
+ [write() with a valid typed array buffer]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [atomic writes: writable file streams make atomic changes on close]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [atomic writes: write() after close() fails]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [atomic writes: truncate() after close() fails]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [atomic writes: close() after close() fails]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [atomic writes: only one close() operation may succeed]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, TIMEOUT]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [getWriter() can be used]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [WriteParams: truncate missing size param]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [WriteParams: write missing data param]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [WriteParams: seek missing position param]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+
+ [write() with an invalid blob to an empty file should reject]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [WriteParams: write null data param]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "linux") and not fission and not debug: [PASS, FAIL]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [write() with an empty blob to an empty file]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [PASS, TIMEOUT]
+ if processor == "x86": [PASS, TIMEOUT]
+
+ [write() called with a string and a valid offset after seek]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [an errored writable stream releases its lock]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [write() called with a blob and a valid offset]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [write() called with an offset beyond the end of the file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [write() with a string with unix line ending preserved]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [write() with a valid utf-8 string]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [write() with an empty string to an empty file]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [write() called with a string and a valid offset]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+
+ [write() WriteParams without position and blob appends]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS]
+
+ [write() a blob to an empty file with zero offset]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+
+ [write() called consecutively appends]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN]
+
+ [write() WriteParams without position and string appends]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN]
+
+ [write() a string to an empty file with zero offset]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN]
+
+ [write() a blob to an empty file]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN]
+
+ [write() with WriteParams without position to an empty file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+
+
+[FileSystemWritableFileStream-write.https.any.worker.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [OK, TIMEOUT]
+ if (os == "win") and not debug: [TIMEOUT, OK]
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ [write() called with a blob and a valid offset]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() called with an offset beyond the end of the file]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, TIMEOUT, PASS]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with an empty string to an empty file]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with a valid utf-8 string]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with a string with unix line ending preserved]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with a string with windows line ending preserved]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with an empty array buffer to an empty file]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with a valid typed array buffer]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [atomic writes: writable file streams make atomic changes on close]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if processor == "x86": [PASS, TIMEOUT, NOTRUN]
+
+ [getWriter() can be used]
+ expected:
+ if (os == "win") and debug and (processor == "x86_64") and not swgl: [PASS, NOTRUN]
+ if (os == "win") and debug and (processor == "x86"): [PASS, TIMEOUT, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [WriteParams: truncate missing size param]
+ expected:
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [WriteParams: write missing data param]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [WriteParams: seek missing position param]
+ expected:
+ if (os == "linux") and not fission and not debug: [PASS, FAIL]
+ if (os == "win") and debug: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with an invalid blob to an empty file should reject]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "linux") and not fission and not debug: [PASS, FAIL]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, NOTRUN]
+
+ [WriteParams: write null data param]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS]
+ if (os == "mac") and not debug: [PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with an empty blob to an empty file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() a blob to an empty file]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() with WriteParams without position to an empty file]
+ expected:
+ if (os == "win") and not debug: [PASS, TIMEOUT, NOTRUN]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() a string to an empty file with zero offset]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() a blob to an empty file with zero offset]
+ expected:
+ if (os == "win") and not debug: [PASS, NOTRUN, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() called consecutively appends]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() WriteParams without position and string appends]
+ expected:
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() WriteParams without position and blob appends]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, TIMEOUT]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [write() called with a string and a valid offset]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, NOTRUN]
+ if (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if (os == "android") and not debug: [PASS, FAIL]
+
+ [atomic writes: only one close() operation may succeed]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [atomic writes: write() after close() fails]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if processor == "x86": [PASS, TIMEOUT, NOTRUN]
+
+ [atomic writes: truncate() after close() fails]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [atomic writes: close() after close() fails]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [write() called with a string and a valid offset after seek]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: [NOTRUN, PASS, TIMEOUT]
+ if processor == "x86": [PASS, NOTRUN]
+
+ [an errored writable stream releases its lock]
+ expected:
+ if (processor == "x86_64") and (os == "win") and not debug: NOTRUN
+ if processor == "x86": [PASS, TIMEOUT, NOTRUN]
diff --git a/testing/web-platform/meta/fs/FileSystemWritableFileStream.https.any.js.ini b/testing/web-platform/meta/fs/FileSystemWritableFileStream.https.any.js.ini
new file mode 100644
index 0000000000..01d0329980
--- /dev/null
+++ b/testing/web-platform/meta/fs/FileSystemWritableFileStream.https.any.js.ini
@@ -0,0 +1,81 @@
+[FileSystemWritableFileStream.https.any.html]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and not swgl and not debug and (processor == "x86"): [TIMEOUT, OK, ERROR]
+ if (os == "win") and not swgl and debug: [OK, TIMEOUT]
+ [truncate() to grow a file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+ [createWritable() fails when parent directory is removed]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [createWritable({keepExistingData: true}): atomic writable file stream initialized with source contents]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [createWritable({keepExistingData: false}): atomic writable file stream initialized with empty file]
+ expected:
+ if (os == "win") and debug and not swgl: [PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [cursor position: truncate size > offset]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not swgl and not debug and (processor == "x86"): TIMEOUT
+ if (os == "win") and not swgl and debug: [PASS, NOTRUN]
+
+ [cursor position: truncate size < offset]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not swgl and not debug and (processor == "x86"): NOTRUN
+ if (os == "win") and not swgl and debug: [PASS, NOTRUN]
+
+ [commands are queued, stream is unlocked after each operation]
+ expected:
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not swgl and not debug and (processor == "x86"): NOTRUN
+ if (os == "win") and not swgl and debug: [PASS, NOTRUN]
+
+
+[FileSystemWritableFileStream.https.any.worker.html]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [OK, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86"): TIMEOUT
+ [createWritable({keepExistingData: false}): atomic writable file stream initialized with empty file]
+ expected:
+ if (os == "win") and not swgl and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [commands are queued, stream is unlocked after each operation]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): NOTRUN
+
+ [cursor position: truncate size < offset]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86"): TIMEOUT
+
+ [createWritable({keepExistingData: true}): atomic writable file stream initialized with source contents]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT, NOTRUN]
+
+ [createWritable() fails when parent directory is removed]
+ expected:
+ if (os == "win") and debug and (processor == "x86"): [PASS, TIMEOUT]
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, NOTRUN]
+
+ [truncate() to grow a file]
+ expected:
+ if (os == "win") and not debug and (processor == "x86_64"): [PASS, TIMEOUT]
+
+ [cursor position: truncate size > offset]
+ expected:
+ if (os == "win") and not swgl and debug and (processor == "x86"): [PASS, NOTRUN]
+ if (os == "win") and not swgl and not debug and (processor == "x86_64"): [PASS, NOTRUN]
diff --git a/testing/web-platform/meta/fs/__dir__.ini b/testing/web-platform/meta/fs/__dir__.ini
new file mode 100644
index 0000000000..cf3eebf71a
--- /dev/null
+++ b/testing/web-platform/meta/fs/__dir__.ini
@@ -0,0 +1,2 @@
+prefs: [dom.fs.enabled:true, dom.fs.writable_file_stream.enabled:true]
+lsan-allowed: [Alloc, MakeRefPtr, MakeUnique, NS_NewRunnableFunction, NewPage, mozilla::ipc::MessageChannel::MessageChannel, nsThread::nsThread, nsThreadManager::NewNamedThread]
diff --git a/testing/web-platform/meta/fs/idlharness.https.any.js.ini b/testing/web-platform/meta/fs/idlharness.https.any.js.ini
new file mode 100644
index 0000000000..cfc512353f
--- /dev/null
+++ b/testing/web-platform/meta/fs/idlharness.https.any.js.ini
@@ -0,0 +1,31 @@
+[idlharness.https.any.worker.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [FileSystemSyncAccessHandle interface: operation truncate(unsigned long long)]
+ expected:
+ if not debug and (os == "mac"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "android"): [PASS, FAIL]
+
+ [FileSystemSyncAccessHandle interface: operation getSize()]
+ expected:
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+ if not debug and (os == "android"): [PASS, FAIL]
+
+ [FileSystemSyncAccessHandle interface: operation flush()]
+ expected:
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+
+ [FileSystemSyncAccessHandle interface: operation close()]
+ expected:
+ if not debug and (os == "android"): [PASS, FAIL]
+ if not debug and (os == "linux"): [PASS, FAIL]
+ if not debug and (os == "mac"): [PASS, FAIL]
+
+
+[idlharness.https.any.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/fs/opaque-origin.https.window.js.ini b/testing/web-platform/meta/fs/opaque-origin.https.window.js.ini
new file mode 100644
index 0000000000..73b71a4033
--- /dev/null
+++ b/testing/web-platform/meta/fs/opaque-origin.https.window.js.ini
@@ -0,0 +1,12 @@
+prefs: [dom.fs.enabled:false]
+[opaque-origin.https.window.html]
+ expected:
+ if (os == "android") and fission: [OK, TIMEOUT]
+ [FileSystemDirectoryHandle must be defined for data URI iframes.]
+ expected: FAIL
+
+ [navigator.storage.getDirectory() must reject in a sandboxed iframe.]
+ expected: FAIL
+
+ [navigator.storage.getDirectory() must reject in a sandboxed opened window.]
+ expected: FAIL