[Webkit-unassigned] [Bug 64926] REGRESSION (r90991-r91108): Some extensions broken (LocalStorage corrupts or is not read)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 8 16:43:29 PDT 2011


Jessie Berlin <jberlin at webkit.org> changed:

           What    |Removed                     |Added
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #9 from Jessie Berlin <jberlin at webkit.org>  2011-09-08 16:43:30 PST ---
If he is writing to Facebook.com’s Local Storage (which it looks like he is), then it is very possible that Facebook.com is breaking him, not Safari. He should not be using Facebook.com’s Local Storage at all. Instead, he should be sending the preferences up to the Application Layer and storing it there.

I think the issue with the other two Extensions is not with that specific WebKit revision range, but with the move from WebKit1 to WebKit2 which happened with 5.1.

In WebKit2, we use a multi-process model, but Local Storage does not work when accessed from multiple processes (see https://bugs.webkit.org/show_bug.cgi?id=67817). What results is a race condition between the UI Process and the Web Process in terms of writing local storage to disk. Those other two Extensions write to Local Storage both in the Application Layer (UI Process) and Content Layer (Web Process).

This race condition is present in 5.1 as well as in the nighties, which explains why me attempting to reproduce with the exact steps you described is failing. You are probably falling victim to it.

The developers for those Extensions *should not* be accessing local storage in both the Application Layer and the Content Layer. They should be accessing it only the in Application Layer or only in the Content Layer and messaging the data back and for as described in the Safari Extensions Development Guide.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list