Closed Bug 1191791 Opened 9 years ago Closed 8 years ago

Local storage area not shared across e10s processes w/processCount > 1

Categories

(Core :: DOM: Core & HTML, defect)

42 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 666724
Tracking Status
e10s + ---

People

(Reporter: mozilla, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0
Build ID: 20150514102509

Steps to reproduce:

1. Open an e10s page and set a local storage item (http://www.quirksmode.org/html5/tests/storage.html is handy for this).
2. Open the same page in a non-e10s tab and see if the item is set.
3. Use chrome to look at local storage for the same origin (using domStorageManager.getLocalStorageForPrincipal).


Actual results:

1. Works.
2. The item in the e10s local storage is not visible in the non-e10s page.
3. The item in e10s content local storage is not visible in the chrome localStorage for the same origin.


Expected results:

All local storage areas for the same origin should show the same contents.
Blocks: e10s
Component: Untriaged → DOM
Flags: needinfo?(josh)
Product: Firefox → Core
Assignee: nobody → mrbkap
tracking-e10s: --- → m8+
Flags: needinfo?(josh)
I can reproduce this.

Honza, I'm looking through dom/storage, and I see the code that sends updates from the child to the parent, but I'm not seeing any sort of code to invalidate caches in either the parent or the child when the database is updated. I'm sure that I'm missing something, but a pointer in the right direction would be much appreciated.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(odvarko)
Flags: needinfo?(odvarko) → needinfo?(honzab.moz)
(In reply to Blake Kaplan (:mrbkap) (please use needinfo!) from comment #1)
> I can reproduce this.
> 
> Honza, I'm looking through dom/storage, and I see the code that sends
> updates from the child to the parent, but I'm not seeing any sort of code to
> invalidate caches in either the parent or the child when the database is
> updated. I'm sure that I'm missing something, but a pointer in the right
> direction would be much appreciated.

You are not missing anything.  DOMStorage code as is now is designed for just a single child process.  There is no carrying of data updates between multiple child processes running simultaneously and both accessing same origin localStorage at the same time.  

No immediate plan to implement this.
Flags: needinfo?(honzab.moz)
Based on comment 2, I'm bumping this back into triage. We'll have to fix this before shipping processCount > 1.
Assignee: mrbkap → nobody
Summary: Local storage area not shared across e10s processes → Local storage area not shared across e10s processes w/processCount > 1
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.