ds...@google.com, mem...@google.com
https://github.com/whatwg/fs/blob/main/proposals/MultipleReadersWriters.md
https://github.com/whatwg/fs/pull/151
Currently, only one FileSystemSyncAccessHandle may be open at a time per file, preventing an origin from reading and writing to the same file from multiple tabs easily. Conversely, multiple FileSystemWritableFileStreams can be simultaneously open, letting multiple writers clobber each other.
Introducing new locking modes for FileSystemSyncAccessHandle and FileSystemWritableFileStream allows opening either multiple readers/writers or an exclusive writer to a file entry, depending on the application's use case.
```
handle.createSyncAccessHandle({ mode: 'read-only' });
handle.createSyncAccessHandle({ mode: 'readwrite-unsafe' });
handle.createWritable({ mode: 'exclusive' });
```
https://github.com/w3ctag/design-reviews/issues/845
Issues addressed
Origin Trial documentation link
https://developer.chrome.com/blog/new-dev-trial-for-multiple-readers-and-writers/
Gecko: Positive (https://github.com/mozilla/standards-positions/issues/861)
WebKit: No Signal (https://github.com/WebKit/standards-positions/issues/238)
Web developers: Positive (https://github.com/whatwg/fs/issues/34)
Other signals: Emscripten plans to utilize multiple readers and writers for performance improvement, and sites using Emscripten will be able to take advantage of this integration.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None
Feature is web exposed through WebIDL changes. No additional implementation effort is required.
Yes
WPTs have been added that fully test the behavior of the new locking modes. They additionally test the interactions between combinations of primitives, their different modes, and file handle operations.
file-system-access-locking-scheme
FileSystemAccessLockingScheme
False
https://bugs.chromium.org/p/chromium/issues/detail?id=1382215
https://launch.corp.google.com/launch/4261043
Discussion: https://github.com/whatwg/fs/issues/34
No open issues that introduce web compat/interop risk.
https://chromestatus.com/feature/5172892632875008
Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPscNz5Oi-z6-%2BvTVyf9BNgvVnLZeQo5nfzyRhEZ_F400tTP3w%40mail.gmail.com
Seems like a useful addition to the API. LGTM1
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bd470b7d-4fa3-4874-a421-a2376910bc9bn%40chromium.org.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAO4d-Ss1eT-GU98ysscmpzbw5cJDGjSxRBMBhwweir7Q%2B1Q8RQ%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.