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

Define terminology for a site's storage with various kinds of keys #10

Closed
jyasskin opened this issue Jun 5, 2020 · 4 comments
Closed

Comments

@jyasskin
Copy link
Contributor

jyasskin commented Jun 5, 2020

The storage of a top-level frame is keyed by just its origin, while storage for a subframe is keyed by at least its own origin and the top-level origin. Intuitively, we often talk about the situation of being keyed by just one origin as having access to "first-party storage", but that's not really defined anywhere, and I don't know of shared terminology for subframes' keying situation.

This explainer should say how other specifications should describe the various situations. It should probably also eventually define ways for other specifications to define the storage access of their own environment settings objects, but that seems farther away.

@annevk
Copy link
Collaborator

annevk commented Jun 5, 2020

If by site's storage you mean the various storage APIs, I recently created https://storage.spec.whatwg.org/#model for that which also has the concept of a storage key. At the moment it's an origin, but it gives us a single point to change it for all current and future APIs.

whatwg/storage#93 abstracts this out a bit more so it can also be used by BroadcastChannel and such.

(whatwg/storage#88 is also relevant here.)

@jyasskin
Copy link
Contributor Author

It's tough to follow the changes when they're scattered across this repository and various PRs in other repositories. 😉

The "shed"/"shelf" terminology is useful, but even once a "storage key" is defined as a list of origins or a (site, origin) pair, or similar, it seems like we're going to still need to distinguish between the shelves for (site, origin-within-that-site) vs the shelves for (site, cross-site origin), at least for the purpose of requestStorageAccess(). This issue was meant to request terminology for that distinction. I could imagine coining "first-party shelf" and "third-party shelf" for it?

@annevk
Copy link
Collaborator

annevk commented Jun 15, 2020

This repository mostly serves as a bridge to those other repositories.

I see, we recently added partitioned and non-partitioned data to https://privacycg.github.io/storage-access/ though maybe they should end up in the Storage Standard long term.

@annevk
Copy link
Collaborator

annevk commented Feb 11, 2022

This is probably no longer needed as departitioning of storage will not be a thing.

@annevk annevk closed this as completed Feb 11, 2022
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