Chromium needs to be able to inject its own storage event handler into StorageAreaImpl. This is because the process the StorageAreaImpl runs in is not the same process that the events need to be dispatched to.
Created attachment 39575 [details] Patch v1
Comment on attachment 39575 [details] Patch v1 > Index: WebCore/page/DOMWindow.cpp ... > + RefPtr<StorageArea> storageArea = page->group().localStorage()->storageArea(document->securityOrigin(), new StorageEventDispatcherImpl); I think it is generally better to use the Foo::create() pattern that returns a PassRefPtr instead of passing a raw pointer. That way the ownership exchange is more clearly documented and enforced by the code. > Index: WebCore/storage/StorageEventDispatcher.h > +#include "PlatformString.h" > +#include "StorageArea.h" > + > +#include <wtf/RefCounted.h> nit: no new line after StorageArea.h Otherwise, LG
Created attachment 39622 [details] Patch v1
Created attachment 39879 [details] Patch v1
Fishd: Ugh....I accidentally re-uploaded which cleared the r+. :-( Sorry.
https://bugs.webkit.org/show_bug.cgi?id=29655 is a better way to solve this.