Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Intent to Ship: FileSystemObserver

384 views
Skip to first unread message

Daseul Lee

unread,
Dec 17, 2024, 10:33:10 PM12/17/24
to blink-dev, chrome-storage-team

Contact emails

ds...@chromium.org, mem...@chromium.org


Explainer

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


Specification

https://github.com/whatwg/fs/pull/165


Design docs

[Design Doc] File System Observer


Summary

The FileSystemObserver interface notifies websites of changes to the file system. Sites observe changes to files and directories to which the user has previously granted permission, in the user's local device (as specified in WICG/file-system-access) or in the Bucket File System (as specified in whatwg/fs), and are notified of basic change info, such as the change type.



Blink component

Blink>Storage>FileSystem


TAG review

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


TAG review status

Issues addressed


Origin Trial Name

FileSystemObserver interface


Chromium Trial Name

FileSystemObserver


Origin Trial documentation link

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


WebFeature UseCounter name

kV8FileSystemObserver_Constructor


Risks

Interoperability and Compatibility

Gecko: Positive (https://github.com/mozilla/standards-positions/issues/942)


WebKit: No signal (https://github.com/WebKit/standards-positions/issues/291)


Web developers: Strongly positive (https://github.com/WICG/file-system-access/issues/72)

Use case from Origin Trial: https://insiders.vscode.dev


Security

Sites are only able to observe a file or a directory which the user has granted permission to.


WebView application risks

Not enabled on WebView



Debuggability

New WebIDL interface and attributes are available on DevTools console.



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

No. Desktop only.


This feature relies on FileSystemHandle object from whatwg/fs, which was only available on desktop until M132 when it was shipped on Android. Future work remains to enable FileSystemObserver API on Android.



Is this feature fully tested by web-platform-tests?

Yes

https://wpt.fyi/results/fs/FileSystemObserver.https.tentative.any.html?label=experimental&label=master



Flag name on about://flags

file-system-observer


Finch feature name

FileSystemObserver


Requires code in //chrome?

False


Tracking bug

https://issues.chromium.org/40105284


Launch bug

https://launch.corp.google.com/launch/4261040


Estimated milestones

Shipping on desktop

133

Origin trial desktop first

129

Origin trial desktop last

134



Anticipated spec changes

There is an open question about whether `FileSystemChangeRecord` should be an interface or a dictionary.


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4622243656630272?gate=5657135488172032


Links to previous Intent discussions

Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGnvaEXNQ0OUo61DXeuhzARPyOu_E6vA6VsD6%2BBwVDGW_0BQJw%40mail.gmail.com

Intent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPhTbOjWuKV_MpRhG3bZ3Oj%3Dy5eQCvdR6iGBDrM%2BqTGpwgiWGQ%40mail.gmail.com



This intent message was generated by Chrome Platform Status.


Yoav Weiss (@Shopify)

unread,
Dec 18, 2024, 10:46:27 AM12/18/24
to blink-dev, ds...@google.com, chrome-storage-team
Thanks for working on this!! :)

What's blocking the PR from landing?
 

Design docs

[Design Doc] File System Observer


Summary

The FileSystemObserver interface notifies websites of changes to the file system. Sites observe changes to files and directories to which the user has previously granted permission, in the user's local device (as specified in WICG/file-system-access) or in the Bucket File System (as specified in whatwg/fs), and are notified of basic change info, such as the change type.



Blink component

Blink>Storage>FileSystem


TAG review

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


TAG review status

Issues addressed


Origin Trial Name

FileSystemObserver interface


Chromium Trial Name

FileSystemObserver


Origin Trial documentation link

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


WebFeature UseCounter name

kV8FileSystemObserver_Constructor


RisksInteroperability and Compatibility

Daseul Lee

unread,
Dec 18, 2024, 11:11:40 AM12/18/24
to Yoav Weiss (@Shopify), blink-dev, chrome-storage-team
On Wed, Dec 18, 2024 at 10:46 AM Yoav Weiss (@Shopify) <yoav...@chromium.org> wrote:
Thanks for working on this!! :)

On Wednesday, December 18, 2024 at 4:33:10 AM UTC+1 ds...@google.com wrote:

What's blocking the PR from landing?
There is one open question about whether FileSystemChangeRecord should be an interface or a dictionary, which we plan on shipping with a dictionary first so that it's easy to support the switch to an interface, if it happens.
Other than that, it's just generally been taking a while to get replies/approval. :)

Yoav Weiss (@Shopify)

unread,
Jan 6, 2025, 3:02:31 PMJan 6
to Daseul Lee, blink-dev, chrome-storage-team
LGTM1

On Wed, Dec 18, 2024 at 5:11 PM Daseul Lee <ds...@google.com> wrote:


On Wed, Dec 18, 2024 at 10:46 AM Yoav Weiss (@Shopify) <yoav...@chromium.org> wrote:
Thanks for working on this!! :)

On Wednesday, December 18, 2024 at 4:33:10 AM UTC+1 ds...@google.com wrote:

What's blocking the PR from landing?
There is one open question about whether FileSystemChangeRecord should be an interface or a dictionary, which we plan on shipping with a dictionary first so that it's easy to support the switch to an interface, if it happens.
Other than that, it's just generally been taking a while to get replies/approval. :)

I see the PR got approved. Thanks for following through on this! :)

Mike Taylor

unread,
Jan 6, 2025, 4:34:44 PMJan 6
to Yoav Weiss (@Shopify), Daseul Lee, blink-dev, chrome-storage-team

LGTM2

--
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2B0PYch5TTGpYc9pjsdHSkcSkVWU%3D1yBzwOXkLgY-q94A%40mail.gmail.com.

Daniel Bratell

unread,
Jan 8, 2025, 11:02:38 AMJan 8
to Mike Taylor, Yoav Weiss (@Shopify), Daseul Lee, blink-dev, chrome-storage-team
Reply all
Reply to author
Forward
0 new messages