Intent to Extend Experiment: Storage Foundation API

Skip to first unread message

Emanuel Krivoy

May 11, 2021, 1:05:32 PM5/11/21
to blink-dev,, Yoav Weiss, Emanuel Ziegler

Hello blink-dev, 

We'd like to extend our ongoing origin trial to include the M93-M96 period. Please find the template created by chrome status with our reasoning below: 

Contact emails




API spec



Storage Foundation API is a storage API that resembles a very basic filesystem, with direct access to stored data through buffers and offsets. Our goal is to give developers flexibility by providing generic, simple, and performant primitives upon which they can build higher-level components. It's particularly well suited for Wasm-based libraries and applications that want to use custom storage algorithms to fine-tune execution speed and memory usage.

Blink component


Search tags


TAG review

TAG review status



Interoperability and Compatibility

This new feature has some potential interoperability risks due to its nature as a novel and low-level API. Currently, there are no web features that expose such a generic interface and that focus on WebAssembly ports as one of it's main consumers.

We've also received feedback from other vendors that the functionality added in Storage Foundation API seems duplicative of File System Access API. We are exploring a merged design (details here: while collecting feedback and validating design choices with this independent API.

Gecko: Negative ( Supportive of a low-level storage API, opposed to minting a new API instead of taking a holistic approach to file access

WebKit: Negative ( No opposition to offering efficient access to files, strongly opposed to minting a new API instead of augmenting an existing one.

Web developers: No signals

Goals for experimentation

In general, we would like to validate the whole surface of our API against developer expectations and more diverse use cases. In particular, we are interested in confirming that we provide the required performance to allow new uses, and to shed light on developer preference between a synchronous and asynchronous surface.

Reason this experiment is being extended

We are actively working with a partner that is running internal betas of their product. These tests will continue for next few releases (from M93 to M96), and have been a source of useful feedback so far. We’d like to continue supporting their experimentation during this same period. We are currently in discussions with other vendors to merge the functionality of Storage Foundation into the Origin Private File System of the File System Access API (more details here: <>), and their developer and user feedback will be useful when seeking consensus on the shape of the new surface. So far we’ve gotten feedback on the quota system and overall usefulness of the API (as well as more context on the sync vs. async question and issues with ArrayBuffer transfers). Continuing the experiment will provide more feedback and validation from real users as the partner’s tests keep growing in scope and user base. It will also allow us to get comparative feedback between Storage Foundation and prototypes of the merged surface.

Ongoing technical constraints

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


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


Flag name


Tracking bug

Launch bug

Link to entry on the Chrome Platform Status

Links to previous Intent discussions

Intent to prototype:
Intent to Experiment:

This intent message was generated by Chrome Platform Status.

Yoav Weiss

May 17, 2021, 9:33:27 AM5/17/21
to Emanuel Krivoy, blink-dev,, Yoav Weiss, Emanuel Ziegler
Since experimentation here started in M90, I'm reluctant to approve the experiment to go beyond M95. If you'd find that insufficient for current experimentation, please ask for another (short) extension once that milestone approaches.
Otherwise, I'm hoping that by then, the discussions on merging this with OPFS will yield us a different API shape.

So, LGTM to continue experimenting M93-M95.

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
To view this discussion on the web visit
Reply all
Reply to author
0 new messages