Contact emails

asu...@chromium.org

Explainer

https://github.com/whatwg/fs/blob/main/proposals/FileSystemObserver.md

Summary

The FileSystemObserver interface for the File System specification
<https://fs.spec.whatwg.org/> will much more easily allow a website to be
notified of changes to the file system.

The file system is a shared resource that can be modified from several
contexts. A Bucket File System
<https://fs.spec.whatwg.org/#sandboxed-filesystem> (a.k.a. an Origin
Private File System
<https://github.com/whatwg/fs/commit/69c51d387cc94e86c8a26acbc0051d7c2a560cfd>,
or OPFS) spans numerous agents <https://tc39.es/ecma262/#sec-agents> -
tabs, workers, etc - within the same storage key
<https://storage.spec.whatwg.org/#storage-keys>. The local file system
<https://wicg.github.io/file-system-access/> also spans across origins and
other applications on the host operating system.

Currently, for a given agent to know about modifications to the file system
- made either by itself or from some external context - it must poll the
file system to detect changes. This is inefficient and does not scale well.


The proposed interface can be used to observe both files on the user's
local device (as specified in WICG/file-system-access
<https://github.com/WICG/file-system-access>) and files in the Bucket File
System (as specified in whatwg/fs <https://github.com/whatwg/fs>).


Blink component

Blink>Storage>FileSystem
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EStorage%3EFileSystem>

TAG review

https://github.com/w3ctag/design-reviews/issues/868

TAG review status

Pending

Risks

Interoperability and Compatibility

Gecko: No signal

WebKit: No signal

Web developers: Strongly positive (WICG/file-system-access#72
<https://github.com/WICG/file-system-access/issues/72>, whatwg/fs#123
<https://github.com/whatwg/fs/issues/123>, w3c/IndexedDB#51
<https://github.com/w3c/IndexedDB/issues/51>)

Ergonomics

This will significantly improve the ergonomics of watching file paths,
which currently requires polling the file system for changes. See example
code in the Key Scenarios section of the explainer
<https://github.com/whatwg/fs/blob/main/proposals/FileSystemObserver.md#key-scenarios>
.

Security

This API does not expose any information to the web that isn’t already
exposed, nor does it expand the permissions of a website as a result of a
file system change. See the Permissions Considerations
<https://github.com/whatwg/fs/blob/main/proposals/FileSystemObserver.md#permission-considerations>,
Fingerprinting Risk
<https://github.com/whatwg/fs/blob/main/proposals/FileSystemObserver.md#fingerprinting-risk>,
and Privacy Considerations
<https://github.com/whatwg/fs/blob/main/proposals/FileSystemObserver.md#privacy-considerations>
sections of the explainer for more details.


Debuggability

N/A

Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?

Yes

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?

Not yet

Flag name

FileSystemObserver

Requires code in //chrome?

False

Tracking bug

https://crbug.com/1019297

Launch bug

http://launch/4261040 <https://launch.corp.google.com/launch/4261040>

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4622243656630272

This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGnvaEXNQ0OUo61DXeuhzARPyOu_E6vA6VsD6%2BBwVDGW_0BQJw%40mail.gmail.com.

Reply via email to