Intent to Ship: Origin Private File System (OPFS) on Android

186 views
Skip to first unread message

Daseul Lee

unread,
Sep 21, 2022, 3:10:57 PM9/21/22
to blin...@chromium.org, Ayu Ishii, Austin Sullivan, Ajay Rahatekar, Joshua Bell

Intent to Ship: Origin Private File System (OPFS) on Android


Contact emails

ds...@google.com


Specification

https://wicg.github.io/file-system-access/#sandboxed-filesystem


Design docs

https://web.dev/file-system-access/#accessing-the-origin-private-file-system


Summary

Enable the Origin Private File System (OPFS) part of File System Access API on Android. This includes all of the File System Access (FSA) API surface, minus show*Picker() methods and Drag-and-Drop API integration. 


With FSA API on OPFS, a site can access its per-origin, private file system and are able to perform file operations via `FileSystemSyncAccessHandle` with improved performance.


The original API, including both OPFS and non-OPFS, was shipped in M86 for desktop, and the extension with SyncAccessHandle was shipped in M102.

https://chromestatus.com/feature/6284708426022912

https://chromestatus.com/feature/5702777582911488



Blink component

Blink>Storage>FileSystem


Search tags

OPFS, FileSystemAccess


TAG review

This API has been shipped on Windows, Mac, Linux and Chrome OS, with two parts. The API to be shipped on Android is the same, thus relying on the previously completed TAG reviews:

* File System Access API: https://github.com/w3ctag/design-reviews/issues/390 

* Access Handle: https://github.com/w3ctag/design-reviews/issues/664


TAG review status

Completed


Risks



Interoperability and Compatibility



Gecko: In development (https://bugzilla.mozilla.org/show_bug.cgi?id=1748667)


WebKit: In development (https://bugs.webkit.org/show_bug.cgi?id=231706)


Web developers: Strongly positive (https://crbug.com/1011535)


Other signals:


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No, it does not change any existing APIs but to enable a new one.



Debuggability

Basic tooling: Autocomplete works as described in "New WebIDL/DOM interfaces and attributes".



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

Yes

This feature was initially launched on desktop, and this proposal includes Android Chrome and Android WebView.



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

No

Web Platform Tests are not available on Android.


Flag name

FileSystemAccessOriginPrivate


Requires code in //chrome?

False


Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1354273


Estimated milestones

107




Anticipated spec changes

No spec changes. This API has shipped on other platforms, and the proposal is to enable the existing API on Android.



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5079634203377664


This intent message was generated by Chrome Platform Status.


Yoav Weiss

unread,
Sep 22, 2022, 12:04:44 AM9/22/22
to Daseul Lee, blink-dev, Ayu Ishii, Austin Sullivan, Ajay Rahatekar, Joshua Bell
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/CAPscNz74-qpi-FMenmq0bs614aiUore60G2yyF0PdXO6KiYwkQ%40mail.gmail.com.

Mike Taylor

unread,
Sep 22, 2022, 8:34:01 AM9/22/22
to Yoav Weiss, Daseul Lee, blink-dev, Ayu Ishii, Austin Sullivan, Ajay Rahatekar, Joshua Bell
LGTM2

On 9/22/22 12:04 AM, Yoav Weiss wrote:
LGTM1

On Wed, Sep 21, 2022 at 9:10 PM 'Daseul Lee' via blink-dev <blin...@chromium.org> wrote:


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

No

Web Platform Tests are not available on Android.


(The answer should probably be yes here, I think.)

Out of curiosity, do we have (manual?) tests that cover the DnD functionality that this intent does not support, for Desktop? I see there are some showPicker tests.

https://wpt.fyi/results/file-system-access?label=master&label=experimental&aligned&view=subtest

thanks,
Mike

Marijn Kruisselbrink

unread,
Sep 22, 2022, 2:00:47 PM9/22/22
to Mike Taylor, Yoav Weiss, Daseul Lee, blink-dev, Ayu Ishii, Austin Sullivan, Ajay Rahatekar, Joshua Bell
On Thu, Sep 22, 2022 at 5:34 AM Mike Taylor <mike...@chromium.org> wrote:
LGTM2

On 9/22/22 12:04 AM, Yoav Weiss wrote:
LGTM1

On Wed, Sep 21, 2022 at 9:10 PM 'Daseul Lee' via blink-dev <blin...@chromium.org> wrote:


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

No

Web Platform Tests are not available on Android.


(The answer should probably be yes here, I think.)

Out of curiosity, do we have (manual?) tests that cover the DnD functionality that this intent does not support, for Desktop? I see there are some showPicker tests.

There are browser tests for the DnD functionality. Chrome's web platform test infrastructure bypasses so much of chrome's drag&drop implementation that even if we would/could write a WPT that would try to exercise the DnD code (there are some for other file DnD features) we're not really testing the real implementation anymore.

--
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.

Daseul Lee

unread,
Sep 23, 2022, 1:12:50 PM9/23/22
to Marijn Kruisselbrink, Mike Taylor, Yoav Weiss, blink-dev, Ayu Ishii, Austin Sullivan, Ajay Rahatekar, Joshua Bell
Thanks for the review!

WPT is no longer available to run on Android.

It looks like there is some coverage for Drag-and-Drop, but as Marijn mentioned, it doesn't have full/good coverage, especially if your original question was with respect to file-system.

Mike West

unread,
Sep 26, 2022, 3:05:57 AM9/26/22
to blink-dev, ds...@google.com, Mike Taylor, Yoav Weiss, blink-dev, Ayu Ishii, Austin Sullivan, ajayra...@google.com, Joshua Bell, Marijn Kruisselbrink
LGTM3.

-mike

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
Reply all
Reply to author
Forward
0 new messages