-
Notifications
You must be signed in to change notification settings - Fork 55
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
Replacement design #88
Comments
cc: @mkruisselbrink too. My expectation would be "gone", not emptied, if there's an observable difference. I assume a "bucket API" would allow enumeration of buckets and/or inspecting bucket properties, and therefore the presence of buckets would serve as a form of storage itself and should be cleared. I don't think we have a coherent theory around storage access/3P storage yet, but: disallowing SGTM. |
I agree with everything @inexorabletash said. |
Adding on: for |
Note to self: #18 (comment). |
Modest progress: To replace a storage shelf, given a storage shed shed, storage key key, and a storage shelf newShelf, run these steps:
This would mean that we'd run an algorithm for each impacted bottle once, in the "storage process". That algorithm would be up to the storage endpoints to define and would have to queue tasks and such as needed. For I think this would work for service workers looking at w3c/ServiceWorker#1506. I was thinking that we'd not pass this algorithm a storage key, but perhaps the old and new storage bottle is not enough for some reason? |
I'm trying to reconcile this with the algorithm being run inside the "For each proxyMapReference of bottle's proxy map reference set:" loop and am confused. Does this imply every set will have exactly one proxy map reference? |
Sorry, it was meant to only run once per bottle. I've updated my comment. |
Replacing needs to happen at the level of storage units (or shelves) and potentially across the user agent's storage map and the browsing session's storage map.
This means that potentially many storage buckets end up being replaced. For now only the "default" storage buckets would be impacted, but in the future others would as well.
One question here is around the expectations of the "bucket API" and Clear-Site-Data or
navigator.storage.clear()
. Would the non-"default" buckets be expected to be "gone" or only be emptied?Another question is around the storage access API. With that you might get access to a different storage unit, but the buckets would potentially also mismatch. Perhaps that's a good reason to not allow third parties without storage access to create buckets?
cc @hober @asutherland @pwnall @inexorabletash
The text was updated successfully, but these errors were encountered: