est...@chromium.org, ay...@chromium.org, ajayra...@chromium.org
https://github.com/WICG/storage-buckets/blob/main/explainer.md
https://wicg.github.io/storage-buckets
Storage Buckets gives sites the ability to organize on-device data into separate "buckets", allowing user agents to evict the grouped data independently of that which is in other buckets, and enabling sites to ergonomically manage semantically related data. Each storage bucket can contain data associated with established storage APIs such as IndexedDB and CacheStorage.
https://github.com/w3ctag/design-reviews/issues/562
Issues addressed
StorageBuckets
https://docs.google.com/document/d/1C8LiQfjYj9wIt94Q4PeCVwiA57-uf37jSLLoBHYhUCM
https://developer.chrome.com/blog/storage-buckets/
If no other browsers end up implementing this API, websites will only be able to use the default bucket that is supported today.
Gecko: Positive (https://mozilla.github.io/standards-positions/#storage-buckets)
WebKit: No signal (https://github.com/WebKit/standards-positions/issues/181)
Web developers: Positive
Other signals:
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
Doesn't change existing APIs.
Devtools
No
No
storage-buckets
StorageBuckets
False
https://bugs.chromium.org/p/chromium/issues/detail?id=1099413
https://launch.corp.google.com/launch/4227670
https://chromestatus.com/metrics/feature/timeline/popularity/4378
Feature is expected to be available on Firefox, but timeline unknown. Implementation in Safari would likely first require widespread use.
Expected to be applied **in new projects** soon after launch. Full utilization of the API would require data migration, which is not easy and may slow adoption in existing projects. Abstractions may be among the first adopters as the API is, itself, an abstraction layer that simplifies functionality such as namespacing and managing chunks of data.
We intend to use the Buckets API to expose additional storage-related functionality to the web, for example, session-scoped data, performance controls, etc. This new functionality will help drive adoption.
Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?
No
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
Open issues/questions are add-only enhancements.
https://chromestatus.com/feature/5739224579964928
Intent to prototype: https://groups.google.com/u/2/a/chromium.org/g/blink-dev/c/LZsMi8heTu0/m/bh0my7vpBwAJ Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/LGfcc48qBHY/m/cXjQrqRIAAAJ?utm_medium=email&utm_source=footer
This intent message was generated by Chrome Platform Status.
Contact emailsest...@chromium.org, ay...@chromium.org, ajayra...@chromium.org
Explainerhttps://github.com/WICG/storage-buckets/blob/main/explainer.md
Specificationhttps://wicg.github.io/storage-buckets
SummaryStorage Buckets gives sites the ability to organize on-device data into separate "buckets", allowing user agents to evict the grouped data independently of that which is in other buckets, and enabling sites to ergonomically manage semantically related data. Each storage bucket can contain data associated with established storage APIs such as IndexedDB and CacheStorage.
Blink component
TAG reviewhttps://github.com/w3ctag/design-reviews/issues/562
TAG review statusIssues addressed
Chromium Trial NameStorageBuckets
Link to origin trial feedback summaryhttps://docs.google.com/document/d/1C8LiQfjYj9wIt94Q4PeCVwiA57-uf37jSLLoBHYhUCM
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
No
--
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/CAARdPYfLUBkQCsJG4RYHSUqxLkN42NdMTRWAK817hofLU6CrPA%40mail.gmail.com.
LGTM3
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-7zXke53y9TQ44fBtZBUG%2BvM701WT1FXfTBfeVUjS5cg%40mail.gmail.com.
Hi Evan,
Thanks for looking into this, and for answering some of my questions off-list. To summarize, eviction is spec'd very loosely and a testdriver.js API could probably only be "evict everything" or "evict data in this bucket". Neither of those would test the interesting parts of how quota, expiry time and probably other signals are used to determine which buckets to evict. Bottom line, if we can't see a WebDriver endpoint that would poke at the right internals in all browsers, then it wouldn't be testing production code beyond what is already tested.It looks like get or expire a bucket could be tested using bucket.setExpires(), but AFAICT this isn't tested.
Thanks all!On Wed, Dec 13, 2023 at 5:10 AM Philip Jägenstedt <foo...@chromium.org> wrote:Hi Evan,Thanks for looking into this, and for answering some of my questions off-list. To summarize, eviction is spec'd very loosely and a testdriver.js API could probably only be "evict everything" or "evict data in this bucket". Neither of those would test the interesting parts of how quota, expiry time and probably other signals are used to determine which buckets to evict. Bottom line, if we can't see a WebDriver endpoint that would poke at the right internals in all browsers, then it wouldn't be testing production code beyond what is already tested.It looks like get or expire a bucket could be tested using bucket.setExpires(), but AFAICT this isn't tested.To write reliable tests for that, we'd need a way to manipulate the clock. Is there a way to do that from WPT? I can't seem to find it if so.