-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=31310 <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world Patch by Gavin Barraclough <barraclough@apple.com> on 2009-11-10 Reviewed by Geoff Garen. Store the global object for all worlds, not just the normal world. Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld, so we can forget global objects if a world goes away. * bindings/js/JSDOMBinding.cpp: (WebCore::DOMWrapperWorld::~DOMWrapperWorld): * bindings/js/JSDOMBinding.h: (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData): (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData): * bindings/js/ScriptCachedFrameData.cpp: (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): (WebCore::ScriptCachedFrameData::forgetWorld): (WebCore::ScriptCachedFrameData::domWindow): (WebCore::ScriptCachedFrameData::restore): (WebCore::ScriptCachedFrameData::clear): * bindings/js/ScriptCachedFrameData.h: * bindings/js/ScriptController.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ace5339c