50
50
if (storageType == SessionStorage) {
51
51
// Send events only to our page.
52
52
for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
53
if (frame->document()->securityOrigin()->equal(securityOrigin))
53
if (sourceFrame != frame && frame->document()->securityOrigin()->equal(securityOrigin))
54
54
frames.append(frame);
57
57
for (unsigned i = 0; i < frames.size(); ++i)
58
frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), frames[i]->domWindow()->sessionStorage()));
58
frames[i]->document()->enqueueStorageEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), frames[i]->domWindow()->sessionStorage()));
60
60
// Send events to every page.
61
61
const HashSet<Page*>& pages = page->group().pages();
62
62
HashSet<Page*>::const_iterator end = pages.end();
63
63
for (HashSet<Page*>::const_iterator it = pages.begin(); it != end; ++it) {
64
64
for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
65
if (frame->document()->securityOrigin()->equal(securityOrigin))
65
if (sourceFrame != frame && frame->document()->securityOrigin()->equal(securityOrigin))
66
66
frames.append(frame);
70
70
for (unsigned i = 0; i < frames.size(); ++i)
71
frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), frames[i]->domWindow()->localStorage()));
71
frames[i]->document()->enqueueStorageEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), frames[i]->domWindow()->localStorage()));