Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storage Keys are used directly, rather than a Storage Bottle Map #435

Open
ADKaster opened this issue Dec 30, 2024 · 1 comment
Open

Storage Keys are used directly, rather than a Storage Bottle Map #435

ADKaster opened this issue Dec 30, 2024 · 1 comment

Comments

@ADKaster
Copy link

https://storage.spec.whatwg.org/#ref-for-obtain-a-local-storage-bottle-map states that standards that define a local or session storage type should invoke obtain a local storage bottle map or obtain a session storage bottle map.

We found this confusing in Ladybird, where we are implementing IndexedDB from scratch.

It appears that this issue is known in the w3c community, because it's referenced as Issue 5 in the storage-buckets API draft. https://wicg.github.io/storage-buckets/#issue-4f9abb58

IDBFactory methods need to take a storage bottle map rather than a storageKey.

In the next round of updates, references to obtain a storage key should likely be updated to obtain a local storage bottle map given environment and "indexedDB"

This is extra confusing because https://w3c.github.io/IndexedDB/#dom-idbtransactiondurability-default mentions that

The user agent should use its default durability behavior for the storage bucket. This is the default for transactions if not otherwise specified.

But "storage bucket" and other storage spec hierarchy objects (shelf, bottle, etc.) are not referenced anywhere else in the specification.

@w3c w3c deleted a comment from Tweakey559 Dec 31, 2024
@inexorabletash
Copy link
Member

#334 is a start at better defining the integration between IndexedDB and Storage.

Anyone is welcome to dust off that PR and run with it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants