• weinig@apple.com's avatar
    CTTE: DOMWrapperWorlds should be passed around by reference · 8f716033
    weinig@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=122206
    
    Reviewed by Andreas Kling.
    
    ../WebCore: 
    
    * bindings/js/DOMWrapperWorld.cpp:
    (WebCore::DOMWrapperWorld::DOMWrapperWorld):
    (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
    (WebCore::DOMWrapperWorld::clearWrappers):
    (WebCore::normalWorld):
    (WebCore::mainThreadNormalWorld):
    * bindings/js/DOMWrapperWorld.h:
    (WebCore::debuggerWorld):
    (WebCore::pluginWorld):
    (WebCore::currentWorld):
    * bindings/js/JSCSSStyleDeclarationCustom.cpp:
    (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
    * bindings/js/JSCSSValueCustom.cpp:
    (WebCore::JSCSSValueOwner::finalize):
    * bindings/js/JSDOMBinding.h:
    (WebCore::wrapperOwner):
    (WebCore::wrapperContext):
    (WebCore::getInlineCachedWrapper):
    (WebCore::setInlineCachedWrapper):
    (WebCore::clearInlineCachedWrapper):
    (WebCore::getCachedWrapper):
    (WebCore::cacheWrapper):
    (WebCore::uncacheWrapper):
    (WebCore::jsStringWithCache):
    * bindings/js/JSDOMGlobalObject.cpp:
    (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
    (WebCore::toJSDOMGlobalObject):
    * bindings/js/JSDOMGlobalObject.h:
    (WebCore::JSDOMGlobalObject::world):
    * bindings/js/JSDOMWindowBase.cpp:
    (WebCore::JSDOMWindowBase::JSDOMWindowBase):
    (WebCore::toJSDOMWindow):
    * bindings/js/JSDOMWindowBase.h:
    * bindings/js/JSDOMWindowShell.cpp:
    (WebCore::JSDOMWindowShell::JSDOMWindowShell):
    (WebCore::JSDOMWindowShell::setWindow):
    (WebCore::toJSDOMWindowShell):
    * bindings/js/JSDOMWindowShell.h:
    (WebCore::JSDOMWindowShell::create):
    (WebCore::JSDOMWindowShell::world):
    * bindings/js/JSErrorHandler.cpp:
    (WebCore::JSErrorHandler::JSErrorHandler):
    * bindings/js/JSErrorHandler.h:
    (WebCore::JSErrorHandler::create):
    * bindings/js/JSEventListener.cpp:
    (WebCore::JSEventListener::JSEventListener):
    (WebCore::JSEventListener::handleEvent):
    * bindings/js/JSEventListener.h:
    (WebCore::JSEventListener::create):
    (WebCore::JSEventListener::isolatedWorld):
    * bindings/js/JSInjectedScriptHostCustom.cpp:
    (WebCore::getJSListenerFunctions):
    * bindings/js/JSLazyEventListener.cpp:
    (WebCore::JSLazyEventListener::JSLazyEventListener):
    * bindings/js/JSLazyEventListener.h:
    * bindings/js/JSMutationCallback.cpp:
    (WebCore::JSMutationCallback::JSMutationCallback):
    (WebCore::JSMutationCallback::call):
    * bindings/js/JSNodeCustom.cpp:
    (WebCore::JSNodeOwner::finalize):
    * bindings/js/JSPluginElementFunctions.h:
    (WebCore::pluginElementCustomGetOwnPropertySlot):
    * bindings/js/JSWorkerGlobalScopeBase.cpp:
    (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
    * bindings/js/ScheduledAction.cpp:
    (WebCore::ScheduledAction::create):
    (WebCore::ScheduledAction::ScheduledAction):
    (WebCore::ScheduledAction::execute):
    * bindings/js/ScheduledAction.h:
    (WebCore::ScheduledAction::ScheduledAction):
    * bindings/js/ScriptCachedFrameData.cpp:
    (WebCore::ScriptCachedFrameData::restore):
    * bindings/js/ScriptCachedFrameData.h:
    * bindings/js/ScriptController.cpp:
    (WebCore::ScriptController::~ScriptController):
    (WebCore::ScriptController::destroyWindowShell):
    (WebCore::ScriptController::createWindowShell):
    (WebCore::ScriptController::evaluateInWorld):
    (WebCore::ScriptController::getAllWorlds):
    (WebCore::ScriptController::initScript):
    (WebCore::ScriptController::executeScriptInWorld):
    (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
    * bindings/js/ScriptController.h:
    (WebCore::ScriptController::windowShell):
    (WebCore::ScriptController::existingWindowShell):
    (WebCore::ScriptController::globalObject):
    * bindings/js/ScriptDebugServer.cpp:
    (WebCore::ScriptDebugServer::isContentScript):
    * bindings/js/ScriptState.cpp:
    (WebCore::execStateFromNode):
    (WebCore::execStateFromPage):
    * bindings/js/ScriptState.h:
    * bindings/js/SerializedScriptValue.cpp:
    (WebCore::SerializedScriptValue::transferArrayBuffers):
    * bindings/js/WebCoreJSClientData.h:
    (WebCore::WebCoreJSClientData::WebCoreJSClientData):
    (WebCore::WebCoreJSClientData::normalWorld):
    (WebCore::WebCoreJSClientData::getAllWorlds):
    (WebCore::WebCoreJSClientData::rememberWorld):
    (WebCore::WebCoreJSClientData::forgetWorld):
    * bindings/js/WebCoreTypedArrayController.cpp:
    (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
    * bindings/scripts/CodeGeneratorJS.pm:
    (GenerateHeader):
    (GenerateImplementation):
    * dom/Document.cpp:
    (WebCore::Document::ensurePlugInsInjectedScript):
    * dom/Document.h:
    * dom/DocumentStyleSheetCollection.cpp:
    * html/HTMLMediaElement.cpp:
    (WebCore::HTMLMediaElement::ensureIsolatedWorld):
    (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
    (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
    * html/HTMLMediaElement.h:
    * html/HTMLPlugInImageElement.cpp:
    (WebCore::plugInImageElementIsolatedWorld):
    (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
    * inspector/InspectorAgent.cpp:
    (WebCore::InspectorAgent::didClearWindowObjectInWorld):
    * inspector/InspectorAgent.h:
    * inspector/InspectorController.cpp:
    (WebCore::InspectorController::didClearWindowObjectInWorld):
    * inspector/InspectorController.h:
    * inspector/InspectorDOMAgent.cpp:
    (WebCore::InspectorDOMAgent::buildObjectForEventListener):
    * inspector/InspectorInstrumentation.cpp:
    (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
    * inspector/InspectorInstrumentation.h:
    (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
    * inspector/InspectorPageAgent.cpp:
    (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
    * inspector/InspectorPageAgent.h:
    * loader/EmptyClients.h:
    (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
    * loader/FrameLoader.cpp:
    (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
    (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
    (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
    * loader/FrameLoader.h:
    * loader/FrameLoaderClient.h:
    (WebCore::FrameLoaderClient::dispatchGlobalObjectAvailable):
    * page/CaptionUserPreferencesMediaAF.cpp:
    * page/DOMWindowExtension.cpp:
    (WebCore::DOMWindowExtension::DOMWindowExtension):
    * page/DOMWindowExtension.h:
    (WebCore::DOMWindowExtension::create):
    (WebCore::DOMWindowExtension::world):
    * page/Frame.cpp:
    (WebCore::Frame::injectUserScripts):
    (WebCore::Frame::injectUserScriptsForWorld):
    * page/Frame.h:
    * page/PageGroup.cpp:
    (WebCore::PageGroup::addUserScriptToWorld):
    (WebCore::PageGroup::addUserStyleSheetToWorld):
    (WebCore::PageGroup::removeUserScriptFromWorld):
    (WebCore::PageGroup::removeUserStyleSheetFromWorld):
    (WebCore::PageGroup::removeUserScriptsFromWorld):
    (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
    * page/PageGroup.h:
    
    ../WebKit/efl: 
    
    * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
    (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
    * WebCoreSupport/FrameLoaderClientEfl.cpp:
    (WebCore::FrameLoaderClientEfl::dispatchDidClearWindowObjectInWorld):
    * WebCoreSupport/FrameLoaderClientEfl.h:
    
    ../WebKit/gtk: 
    
    * WebCoreSupport/FrameLoaderClientGtk.cpp:
    (WebKit::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
    * WebCoreSupport/FrameLoaderClientGtk.h:
    
    ../WebKit/mac: 
    
    * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
    (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
    (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
    (WebKit::NetscapePluginInstanceProxy::evaluate):
    * WebCoreSupport/WebFrameLoaderClient.h:
    * WebCoreSupport/WebFrameLoaderClient.mm:
    * WebView/WebFrame.mm:
    (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
    (-[WebFrame _globalContextForScriptWorld:]):
    (-[WebFrame jsWrapperForNode:inScriptWorld:]):
    * WebView/WebScriptWorld.mm:
    (+[WebScriptWorld standardWorld]):
    (+[WebScriptWorld findOrCreateWorld:]):
    * WebView/WebScriptWorldInternal.h:
    * WebView/WebView.mm:
    (-[WebView _injectOutlookQuirksScript]):
    (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
    (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
    (+[WebView _removeUserScriptFromGroup:world:url:]):
    (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
    (+[WebView _removeUserScriptsFromGroup:world:]):
    (+[WebView _removeUserStyleSheetsFromGroup:world:]):
    
    ../WebKit/win: 
    
    * WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
    * WebCoreSupport/WebFrameLoaderClient.h:
    * WebScriptWorld.cpp:
    (WebScriptWorld::standardWorld):
    (WebScriptWorld::findOrCreateWorld):
    * WebScriptWorld.h:
    (WebScriptWorld::world):
    
    ../WebKit/wince: 
    
    * WebCoreSupport/FrameLoaderClientWinCE.cpp:
    (WebKit::FrameLoaderClientWinCE::dispatchDidClearWindowObjectInWorld):
    * WebCoreSupport/FrameLoaderClientWinCE.h:
    
    ../WebKit2: 
    
    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
    (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
    (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):
    * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
    * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
    (WebKit::InjectedBundleScriptWorld::getOrCreate):
    (WebKit::InjectedBundleScriptWorld::normalWorld):
    (WebKit::InjectedBundleScriptWorld::coreWorld):
    * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
    * WebProcess/Plugins/PluginView.cpp:
    (WebKit::PluginView::windowScriptNPObject):
    (WebKit::PluginView::pluginElementNPObject):
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
    (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable):
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    8f716033
JSDOMWindowShell.cpp 4.12 KB