{"action":"created","issue":{"url":"https://api.github.com/repos/whatwg/html/issues/335","labels_url":"https://api.github.com/repos/whatwg/html/issues/335/labels{/name}","comments_url":"https://api.github.com/repos/whatwg/html/issues/335/comments","events_url":"https://api.github.com/repos/whatwg/html/issues/335/events","html_url":"https://github.com/whatwg/html/issues/335","id":116675952,"number":335,"title":"Remove the storage mutex","user":{"login":"domenic","id":617481,"avatar_url":"https://avatars.githubusercontent.com/u/617481?v=3","gravatar_id":"","url":"https://api.github.com/users/domenic","html_url":"https://github.com/domenic","followers_url":"https://api.github.com/users/domenic/followers","following_url":"https://api.github.com/users/domenic/following{/other_user}","gists_url":"https://api.github.com/users/domenic/gists{/gist_id}","starred_url":"https://api.github.com/users/domenic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domenic/subscriptions","organizations_url":"https://api.github.com/users/domenic/orgs","repos_url":"https://api.github.com/users/domenic/repos","events_url":"https://api.github.com/users/domenic/events{/privacy}","received_events_url":"https://api.github.com/users/domenic/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/whatwg/html/labels/removal/deprecation","name":"removal/deprecation","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-11-13T00:49:42Z","updated_at":"2015-11-13T21:21:51Z","closed_at":null,"body":"Nobody has implemented [the storage mutex](https://html.spec.whatwg.org/#storage-mutex). I think we should not pretend this will eventually happen. Instead we should supplement the spec with appropriate and detailed warnings about how cookies and local/session storage are prone to of multi-window corruption. Including some examples would be good.\r\n\r\nIf there are alternate patterns that we could recommend, that would be even better. But I think the same problem still occurs in e.g. IndexedDB? Or maybe transactions help there.\r\n\r\nTagging in @inexorabletash as a Blink storage person.\r\n\r\nRelated: #334 for removing the public API `navigator.yieldForStorageUpdates()`."},"comment":{"url":"https://api.github.com/repos/whatwg/html/issues/comments/156559780","html_url":"https://github.com/whatwg/html/issues/335#issuecomment-156559780","issue_url":"https://api.github.com/repos/whatwg/html/issues/335","id":156559780,"user":{"login":"inexorabletash","id":771547,"avatar_url":"https://avatars.githubusercontent.com/u/771547?v=3","gravatar_id":"","url":"https://api.github.com/users/inexorabletash","html_url":"https://github.com/inexorabletash","followers_url":"https://api.github.com/users/inexorabletash/followers","following_url":"https://api.github.com/users/inexorabletash/following{/other_user}","gists_url":"https://api.github.com/users/inexorabletash/gists{/gist_id}","starred_url":"https://api.github.com/users/inexorabletash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inexorabletash/subscriptions","organizations_url":"https://api.github.com/users/inexorabletash/orgs","repos_url":"https://api.github.com/users/inexorabletash/repos","events_url":"https://api.github.com/users/inexorabletash/events{/privacy}","received_events_url":"https://api.github.com/users/inexorabletash/received_events","type":"User","site_admin":false},"created_at":"2015-11-13T21:21:51Z","updated_at":"2015-11-13T21:21:51Z","body":"In Chrome, the source of truth for storage is in its own process. Tabs maintain local caches, observe updates that come in between ticks of the event loop (which in turn produce storage events), and send updates (last writer wins). "}}