1. 02 Oct, 2013 1 commit
    • 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
  2. 02 Sep, 2013 1 commit
  3. 22 Aug, 2013 1 commit
  4. 15 Aug, 2013 1 commit
    • andersca@apple.com's avatar
      <https://webkit.org/b/119859> Frame::loader() should return a reference · df550b96
      andersca@apple.com authored
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * Modules/websockets/WebSocketChannel.cpp:
      (WebCore::WebSocketChannel::willOpenSocketStream):
      * WebCore.xcodeproj/project.pbxproj:
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::press):
      * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
      (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
      * bindings/ScriptControllerBase.cpp:
      (WebCore::ScriptController::canExecuteScripts):
      * bindings/js/ScriptController.cpp:
      (WebCore::ScriptController::initScript):
      * css/CSSFontSelector.cpp:
      (WebCore::CSSFontSelector::beginLoadTimerFired):
      * dom/DOMImplementation.cpp:
      (WebCore::DOMImplementation::createDocument):
      * dom/Document.cpp:
      (WebCore::Document::Document):
      (WebCore::Document::setVisualUpdatesAllowed):
      (WebCore::Document::updateTitle):
      (WebCore::Document::open):
      (WebCore::Document::explicitClose):
      (WebCore::Document::implicitClose):
      (WebCore::Document::userAgent):
      (WebCore::Document::canNavigate):
      (WebCore::Document::processHttpEquiv):
      (WebCore::Document::referrer):
      (WebCore::Document::documentDidResumeFromPageCache):
      (WebCore::Document::openSearchDescriptionURL):
      (WebCore::Document::finishedParsing):
      (WebCore::Document::addIconURL):
      (WebCore::Document::initSecurityContext):
      (WebCore::Document::updateURLForPushOrReplaceState):
      (WebCore::Document::loadEventDelayTimerFired):
      (WebCore::Document::loader):
      (WebCore::Document::decrementActiveParserCount):
      * history/CachedFrame.cpp:
      (WebCore::CachedFrameBase::CachedFrameBase):
      (WebCore::CachedFrameBase::restore):
      (WebCore::CachedFrame::CachedFrame):
      (WebCore::CachedFrame::open):
      (WebCore::CachedFrame::destroy):
      * history/PageCache.cpp:
      (WebCore::logCanCacheFrameDecision):
      (WebCore::logCanCachePageDecision):
      (WebCore::PageCache::canCachePageContainingThisFrame):
      (WebCore::PageCache::canCache):
      * html/HTMLAnchorElement.cpp:
      (WebCore::HTMLAnchorElement::handleClick):
      * html/HTMLAppletElement.cpp:
      (WebCore::HTMLAppletElement::updateWidget):
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::rendererIsNeeded):
      * html/HTMLEmbedElement.cpp:
      (WebCore::HTMLEmbedElement::updateWidget):
      * html/HTMLFormElement.cpp:
      (WebCore::HTMLFormElement::prepareForSubmission):
      (WebCore::HTMLFormElement::submit):
      * html/HTMLFrameElementBase.cpp:
      (WebCore::HTMLFrameElementBase::openURL):
      * html/HTMLFrameOwnerElement.cpp:
      (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
      * html/HTMLFrameSetElement.cpp:
      (WebCore::HTMLFrameSetElement::insertedInto):
      (WebCore::HTMLFrameSetElement::removedFrom):
      * html/HTMLHtmlElement.cpp:
      (WebCore::HTMLHtmlElement::insertedByParser):
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::createRenderer):
      (WebCore::HTMLMediaElement::attach):
      (WebCore::HTMLMediaElement::loadResource):
      (WebCore::HTMLMediaElement::getPluginProxyParams):
      (WebCore::HTMLMediaElement::createMediaPlayerProxy):
      (WebCore::HTMLMediaElement::updateWidget):
      (WebCore::HTMLMediaElement::mediaPlayerReferrer):
      (WebCore::HTMLMediaElement::mediaPlayerUserAgent):
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::parametersForPlugin):
      (WebCore::HTMLObjectElement::updateWidget):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::isImageType):
      (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
      (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
      * html/HTMLVideoElement.cpp:
      (WebCore::HTMLVideoElement::setDisplayMode):
      * html/ImageDocument.cpp:
      (WebCore::ImageDocumentParser::appendBytes):
      (WebCore::ImageDocumentParser::finish):
      (WebCore::ImageDocument::createDocumentStructure):
      * html/MediaDocument.cpp:
      (WebCore::MediaDocumentParser::createDocumentStructure):
      * html/PluginDocument.cpp:
      (WebCore::PluginDocumentParser::createDocumentStructure):
      (WebCore::PluginDocumentParser::appendBytes):
      (WebCore::PluginDocument::detach):
      (WebCore::PluginDocument::cancelManualPluginLoad):
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::create):
      (WebCore::WebGLRenderingContext::loseContextImpl):
      (WebCore::WebGLRenderingContext::maybeRestoreContext):
      * html/parser/HTMLConstructionSite.cpp:
      (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
      (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
      * html/parser/HTMLParserOptions.cpp:
      (WebCore::HTMLParserOptions::HTMLParserOptions):
      * html/parser/XSSAuditor.cpp:
      (WebCore::XSSAuditor::init):
      * html/parser/XSSAuditorDelegate.cpp:
      (WebCore::XSSAuditorDelegate::generateViolationReport):
      (WebCore::XSSAuditorDelegate::didBlockScript):
      * inspector/InspectorApplicationCacheAgent.cpp:
      (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
      (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
      * inspector/InspectorFrontendClientLocal.cpp:
      (WebCore::InspectorFrontendClientLocal::openInNewTab):
      * inspector/InspectorFrontendHost.cpp:
      (WebCore::InspectorFrontendHost::loadResourceSynchronously):
      * inspector/InspectorOverlay.cpp:
      (WebCore::InspectorOverlay::overlayPage):
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::mainResourceContent):
      (WebCore::InspectorPageAgent::reload):
      (WebCore::InspectorPageAgent::navigate):
      (WebCore::allResourcesURLsForFrame):
      (WebCore::InspectorPageAgent::searchInResource):
      (WebCore::InspectorPageAgent::assertDocumentLoader):
      (WebCore::InspectorPageAgent::buildObjectForFrame):
      * inspector/InspectorResourceAgent.cpp:
      (WebCore::InspectorResourceAgent::didFailLoading):
      * loader/CookieJar.cpp:
      (WebCore::networkingContext):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::frameLoader):
      (WebCore::DocumentLoader::document):
      (WebCore::DocumentLoader::stopLoading):
      (WebCore::DocumentLoader::removeSubresourceLoader):
      (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
      (WebCore::DocumentLoader::iconLoadDecisionAvailable):
      (WebCore::DocumentLoader::continueIconLoadWithDecision):
      * loader/DocumentThreadableLoader.cpp:
      (WebCore::DocumentThreadableLoader::didReceiveResponse):
      (WebCore::DocumentThreadableLoader::didFinishLoading):
      (WebCore::DocumentThreadableLoader::didFail):
      (WebCore::DocumentThreadableLoader::preflightFailure):
      (WebCore::DocumentThreadableLoader::loadRequest):
      * loader/DocumentWriter.cpp:
      (WebCore::DocumentWriter::replaceDocument):
      (WebCore::DocumentWriter::createDocument):
      (WebCore::DocumentWriter::begin):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::~FrameLoader):
      (WebCore::FrameLoader::allChildrenAreComplete):
      (WebCore::FrameLoader::allAncestorsAreComplete):
      (WebCore::FrameLoader::loadURLIntoChildFrame):
      (WebCore::FrameLoader::outgoingReferrer):
      (WebCore::FrameLoader::setOpener):
      (WebCore::FrameLoader::completed):
      (WebCore::FrameLoader::started):
      (WebCore::FrameLoader::loadFrameRequest):
      (WebCore::FrameLoader::loadURL):
      (WebCore::FrameLoader::load):
      (WebCore::FrameLoader::loadWithDocumentLoader):
      (WebCore::FrameLoader::stopAllLoaders):
      (WebCore::FrameLoader::closeOldDataSources):
      (WebCore::FrameLoader::subframeIsLoading):
      (WebCore::FrameLoader::subresourceCachePolicy):
      (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
      (WebCore::FrameLoader::detachChildren):
      (WebCore::FrameLoader::checkLoadComplete):
      (WebCore::FrameLoader::detachFromParent):
      (WebCore::FrameLoader::loadPostRequest):
      (WebCore::FrameLoader::loadResourceSynchronously):
      (WebCore::FrameLoader::shouldClose):
      (WebCore::FrameLoader::handleBeforeUnloadEvent):
      (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
      (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
      (WebCore::createWindow):
      * loader/HistoryController.cpp:
      (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
      (WebCore::HistoryController::restoreScrollPositionAndViewState):
      (WebCore::HistoryController::saveDocumentState):
      (WebCore::HistoryController::saveDocumentAndScrollState):
      (WebCore::isAssociatedToRequestedHistoryItem):
      (WebCore::HistoryController::restoreDocumentState):
      (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
      (WebCore::HistoryController::goToItem):
      (WebCore::HistoryController::updateForBackForwardNavigation):
      (WebCore::HistoryController::updateForReload):
      (WebCore::HistoryController::updateForStandardLoad):
      (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
      (WebCore::HistoryController::updateForClientRedirect):
      (WebCore::HistoryController::updateForCommit):
      (WebCore::HistoryController::recursiveUpdateForCommit):
      (WebCore::HistoryController::updateForSameDocumentNavigation):
      (WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
      (WebCore::HistoryController::initializeItem):
      (WebCore::HistoryController::createItemTree):
      (WebCore::HistoryController::recursiveSetProvisionalItem):
      (WebCore::HistoryController::recursiveGoToItem):
      (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
      (WebCore::HistoryController::updateCurrentItem):
      (WebCore::HistoryController::pushState):
      (WebCore::HistoryController::replaceState):
      * loader/ImageLoader.cpp:
      (WebCore::pageIsBeingDismissed):
      * loader/MixedContentChecker.cpp:
      (WebCore::MixedContentChecker::client):
      * loader/NavigationScheduler.cpp:
      (WebCore::ScheduledURLNavigation::fire):
      (WebCore::ScheduledURLNavigation::didStartTimer):
      (WebCore::ScheduledURLNavigation::didStopTimer):
      (WebCore::ScheduledRedirect::shouldStartTimer):
      (WebCore::ScheduledRedirect::fire):
      (WebCore::ScheduledRefresh::fire):
      (WebCore::ScheduledHistoryNavigation::fire):
      (WebCore::ScheduledFormSubmission::fire):
      (WebCore::ScheduledFormSubmission::didStartTimer):
      (WebCore::ScheduledFormSubmission::didStopTimer):
      (WebCore::NavigationScheduler::mustLockBackForwardList):
      (WebCore::NavigationScheduler::scheduleLocationChange):
      (WebCore::NavigationScheduler::scheduleFormSubmission):
      (WebCore::NavigationScheduler::scheduleRefresh):
      (WebCore::NavigationScheduler::schedule):
      * loader/PingLoader.cpp:
      (WebCore::PingLoader::loadImage):
      (WebCore::PingLoader::sendPing):
      (WebCore::PingLoader::sendViolationReport):
      (WebCore::PingLoader::PingLoader):
      * loader/PolicyChecker.cpp:
      (WebCore::PolicyChecker::checkNavigationPolicy):
      (WebCore::PolicyChecker::checkNewWindowPolicy):
      (WebCore::PolicyChecker::checkContentPolicy):
      (WebCore::PolicyChecker::cancelCheck):
      (WebCore::PolicyChecker::stopCheck):
      (WebCore::PolicyChecker::cannotShowMIMEType):
      (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
      (WebCore::PolicyChecker::continueAfterNavigationPolicy):
      (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
      (WebCore::PolicyChecker::handleUnimplementablePolicy):
      * loader/ProgressTracker.cpp:
      (WebCore::ProgressTracker::progressStarted):
      (WebCore::ProgressTracker::progressCompleted):
      (WebCore::ProgressTracker::finalProgressComplete):
      (WebCore::ProgressTracker::incrementProgress):
      (WebCore::ProgressTracker::progressHeartbeatTimerFired):
      * loader/ResourceLoadNotifier.cpp:
      (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
      (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
      (WebCore::ResourceLoadNotifier::willSendRequest):
      (WebCore::ResourceLoadNotifier::didFailToLoad):
      (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
      (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
      (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
      (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):
      (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
      (WebCore::ResourceLoadNotifier::dispatchDidFailLoading):
      * loader/ResourceLoader.cpp:
      (WebCore::ResourceLoader::ResourceLoader):
      (WebCore::ResourceLoader::start):
      (WebCore::ResourceLoader::frameLoader):
      (WebCore::ResourceLoader::willSendRequest):
      * loader/SubframeLoader.cpp:
      (WebCore::SubframeLoader::pluginIsLoadable):
      (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
      (WebCore::SubframeLoader::createJavaAppletWidget):
      (WebCore::SubframeLoader::loadOrRedirectSubframe):
      (WebCore::SubframeLoader::loadSubframe):
      (WebCore::SubframeLoader::allowPlugins):
      (WebCore::SubframeLoader::shouldUsePlugin):
      (WebCore::SubframeLoader::loadPlugin):
      * loader/appcache/ApplicationCacheGroup.cpp:
      (WebCore::ApplicationCacheGroup::selectCache):
      (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
      (WebCore::ApplicationCacheGroup::update):
      (WebCore::ApplicationCacheGroup::createResourceHandle):
      (WebCore::ApplicationCacheGroup::didReceiveResponse):
      (WebCore::ApplicationCacheGroup::didFinishLoading):
      (WebCore::ApplicationCacheGroup::didFail):
      (WebCore::ApplicationCacheGroup::addEntry):
      (WebCore::CallCacheListenerTask::performTask):
      (WebCore::ApplicationCacheGroup::postListenerTask):
      * loader/appcache/DOMApplicationCache.cpp:
      (WebCore::DOMApplicationCache::applicationCacheHost):
      * loader/archive/cf/LegacyWebArchive.cpp:
      (WebCore::LegacyWebArchive::create):
      (WebCore::LegacyWebArchive::createFromSelection):
      * loader/cache/CachedResource.cpp:
      (WebCore::CachedResource::addAdditionalRequestHeaders):
      (WebCore::CachedResource::load):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::requestImage):
      (WebCore::CachedResourceLoader::checkInsecureContent):
      (WebCore::CachedResourceLoader::canRequest):
      (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
      (WebCore::CachedResourceLoader::requestResource):
      (WebCore::CachedResourceLoader::clientDefersImage):
      (WebCore::CachedResourceLoader::cachePolicy):
      (WebCore::CachedResourceLoader::loadDone):
      * loader/icon/IconController.cpp:
      (WebCore::IconController::commitToDatabase):
      (WebCore::IconController::startLoader):
      (WebCore::IconController::continueLoadWithDecision):
      * loader/icon/IconLoader.cpp:
      (WebCore::IconLoader::startLoading):
      (WebCore::IconLoader::notifyFinished):
      * page/Chrome.cpp:
      (WebCore::canRunModalIfDuringPageDismissal):
      * page/ContextMenuController.cpp:
      (WebCore::openNewWindow):
      (WebCore::ContextMenuController::contextMenuItemSelected):
      (WebCore::ContextMenuController::populate):
      (WebCore::ContextMenuController::checkOrEnableIfNeeded):
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
      (WebCore::DOMWindow::postMessageTimerFired):
      (WebCore::DOMWindow::close):
      (WebCore::DOMWindow::print):
      (WebCore::DOMWindow::stop):
      (WebCore::DOMWindow::setName):
      (WebCore::DOMWindow::opener):
      (WebCore::DOMWindow::dispatchLoadEvent):
      (WebCore::DOMWindow::setLocation):
      (WebCore::DOMWindow::createWindow):
      (WebCore::DOMWindow::open):
      * page/DOMWindowExtension.cpp:
      (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
      (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
      (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
      (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
      (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
      * page/DragController.cpp:
      (WebCore::DragController::performDrag):
      * page/EventHandler.cpp:
      (WebCore::EventHandler::handleMousePressEvent):
      (WebCore::EventHandler::keyEvent):
      * page/Frame.cpp:
      (WebCore::Frame::~Frame):
      (WebCore::Frame::setView):
      (WebCore::Frame::injectUserScripts):
      (WebCore::Frame::willDetachPage):
      * page/Frame.h:
      (WebCore::Frame::loader):
      * page/FrameView.cpp:
      (WebCore::FrameView::mediaType):
      (WebCore::FrameView::setFixedVisibleContentRect):
      (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
      (WebCore::FrameView::performPostLayoutTasks):
      (WebCore::FrameView::autoSizeIfEnabled):
      (WebCore::FrameView::scrollTo):
      (WebCore::FrameView::shouldSuspendScrollAnimations):
      (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
      (WebCore::FrameView::wheelEvent):
      (WebCore::FrameView::firePaintRelatedMilestones):
      * page/History.cpp:
      (WebCore::History::stateInternal):
      (WebCore::History::stateObjectAdded):
      * page/Location.cpp:
      (WebCore::Location::setLocation):
      * page/Navigator.cpp:
      (WebCore::Navigator::userAgent):
      * page/Page.cpp:
      (WebCore::Page::goToItem):
      (WebCore::Page::refreshPlugins):
      (WebCore::Page::setDefersLoading):
      (WebCore::Page::setMemoryCacheClientCallsEnabled):
      (WebCore::Page::addRelevantRepaintedObject):
      * page/Performance.cpp:
      (WebCore::Performance::now):
      * page/PerformanceNavigation.cpp:
      (WebCore::PerformanceNavigation::type):
      (WebCore::PerformanceNavigation::redirectCount):
      * page/PerformanceResourceTiming.cpp:
      (WebCore::monotonicTimeToDocumentMilliseconds):
      * page/mac/PageMac.cpp:
      (WebCore::Page::addSchedulePair):
      (WebCore::Page::removeSchedulePair):
      * platform/ios/PasteboardIOS.mm:
      (WebCore::documentFragmentWithImageResource):
      (WebCore::documentFragmentWithRTF):
      (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
      * platform/mac/HTMLConverter.mm:
      (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
      (-[WebHTMLConverter _loadFromDOMRange]):
      * platform/mac/PasteboardMac.mm:
      (WebCore::documentFragmentWithImageResource):
      (WebCore::documentFragmentWithRTF):
      (WebCore::fragmentFromWebArchive):
      * plugins/DOMMimeType.cpp:
      (WebCore::DOMMimeType::enabledPlugin):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::scrollTo):
      * svg/SVGAElement.cpp:
      (WebCore::SVGAElement::defaultEventHandler):
      * svg/graphics/SVGImage.cpp:
      (WebCore::SVGImage::~SVGImage):
      (WebCore::SVGImage::dataChanged):
      * testing/Internals.cpp:
      (WebCore::Internals::formControlStateOfPreviousHistoryItem):
      (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
      (WebCore::Internals::getReferencedFilePaths):
      (WebCore::Internals::forceReload):
      * xml/XSLTProcessorLibxslt.cpp:
      (WebCore::docLoaderFunc):
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      (WebCore::openFunc):
      (WebCore::XMLDocumentParser::startElementNs):
      
      Source/WebKit/blackberry:
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::load):
      (BlackBerry::WebKit::WebPagePrivate::loadString):
      (BlackBerry::WebKit::WebPagePrivate::stopCurrentLoad):
      (BlackBerry::WebKit::closeURLRecursively):
      (BlackBerry::WebKit::WebPage::dispatchBeforeUnloadEvent):
      (BlackBerry::WebKit::WebPagePrivate::shouldSendResizeEvent):
      (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
      (BlackBerry::WebKit::WebPage::reload):
      (BlackBerry::WebKit::WebPage::reloadFromCache):
      (BlackBerry::WebKit::WebPage::textEncoding):
      (BlackBerry::WebKit::WebPage::forcedTextEncoding):
      (BlackBerry::WebKit::WebPage::setForcedTextEncoding):
      (BlackBerry::WebKit::WebPage::title):
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore::ChromeClientBlackBerry::createWindow):
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchDidChangeLocationWithinPage):
      (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
      (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
      (WebCore::FrameLoaderClientBlackBerry::delayPolicyCheckUntilFragmentExists):
      (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
      (WebCore::FrameLoaderClientBlackBerry::createPlugin):
      (WebCore::FrameLoaderClientBlackBerry::receivedData):
      (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
      (WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad):
      (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
      (WebCore::FrameLoaderClientBlackBerry::createFrame):
      (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
      (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
      (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
      (WebCore::FrameLoaderClientBlackBerry::startDownload):
      (WebCore::FrameLoaderClientBlackBerry::canCachePage):
      (WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):
      * WebKitSupport/PagePopup.cpp:
      (BlackBerry::WebKit::PagePopup::initialize):
      
      Source/WebKit/efl:
      
      * WebCoreSupport/ChromeClientEfl.cpp:
      (kit):
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      (DumpRenderTreeSupportEfl::callShouldCloseOnWebView):
      (DumpRenderTreeSupportEfl::clearOpener):
      (DumpRenderTreeSupportEfl::frameChildren):
      (DumpRenderTreeSupportEfl::responseMimeType):
      (DumpRenderTreeSupportEfl::provisionalURL):
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      (WebCore::FrameLoaderClientEfl::callPolicyFunction):
      (WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNewWindowAction):
      (WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForNavigationAction):
      (WebCore::FrameLoaderClientEfl::updateGlobalHistoryRedirectLinks):
      (WebCore::FrameLoaderClientEfl::updateGlobalHistory):
      * ewk/ewk_frame.cpp:
      (_ewk_frame_loader_efl_get):
      (_ewk_frame_smart_del):
      (_ewk_frame_contents_set_internal):
      (ewk_frame_stop):
      (ewk_frame_reload):
      (ewk_frame_reload_full):
      (ewk_frame_child_add):
      * ewk/ewk_view.cpp:
      (ewk_view_frame_focused_get):
      (ewk_view_setting_user_agent_set):
      (ewk_view_setting_encoding_custom_get):
      (ewk_view_setting_encoding_custom_set):
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::clearOpener):
      (DumpRenderTreeSupportGtk::shouldClose):
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::dispatchWillSubmitForm):
      (WebKit::FrameLoaderClient::committedLoad):
      (WebKit::FrameLoaderClient::dispatchDecidePolicyForResponse):
      (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
      (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
      (WebKit::FrameLoaderClient::createFrame):
      (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
      * webkit/webkitwebframe.cpp:
      (webkit_web_frame_finalize):
      (webkit_web_frame_load_uri):
      (webkit_web_frame_load_data):
      (webkit_web_frame_load_request):
      (webkit_web_frame_stop_loading):
      (webkit_web_frame_reload):
      (webkit_web_frame_get_data_source):
      (webkit_web_frame_get_provisional_data_source):
      (webkit_web_frame_get_response_mime_type):
      (webkit_web_frame_get_network_response):
      (WebKit::kit):
      * webkit/webkitwebpolicydecision.cpp:
      (webkit_web_policy_decision_use):
      (webkit_web_policy_decision_ignore):
      (webkit_web_policy_decision_download):
      * webkit/webkitwebview.cpp:
      (webkit_web_view_dispose):
      (webkit_web_view_reload):
      (webkit_web_view_reload_bypass_cache):
      (webkit_web_view_stop_loading):
      (webkit_web_view_can_show_mime_type):
      (webkit_web_view_set_custom_encoding):
      (webkit_web_view_get_custom_encoding):
      (webkit_web_view_get_subresources):
      
      Source/WebKit/mac:
      
      * Plugins/Hosted/HostedNetscapePluginStream.mm:
      (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::performRequest):
      (WebKit::NetscapePluginInstanceProxy::loadRequest):
      * Plugins/Hosted/WebHostedNetscapePluginView.mm:
      (-[WebHostedNetscapePluginView pluginView:receivedResponse:]):
      * Plugins/WebBaseNetscapePluginView.mm:
      (-[WebBaseNetscapePluginView requestWithURLCString:]):
      * Plugins/WebNetscapePluginStream.mm:
      (WebNetscapePluginStream::WebNetscapePluginStream):
      * Plugins/WebNetscapePluginView.mm:
      (-[WebNetscapePluginView loadStream]):
      (-[WebNetscapePluginView pluginView:receivedResponse:]):
      (-[WebNetscapePluginView loadPluginRequest:]):
      (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
      * Plugins/WebPluginController.mm:
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
      (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
      (WebFrameLoaderClient::dispatchWillSubmitForm):
      (WebFrameLoaderClient::updateGlobalHistory):
      (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
      (WebFrameLoaderClient::restoreViewState):
      (WebFrameLoaderClient::transitionToCommittedForNewPage):
      (WebFrameLoaderClient::createFrame):
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      (WebFrameNetworkingContext::blockedError):
      * WebCoreSupport/WebPlatformStrategies.mm:
      (WebPlatformStrategies::getPluginInfo):
      * WebView/WebFrame.mm:
      (kit):
      (-[WebFrame _dataSource]):
      (-[WebFrame _canProvideDocumentSource]):
      (-[WebFrame _commitData:]):
      (-[WebFrame _firstLayoutDone]):
      (-[WebFrame _loadType]):
      (-[WebFrame _cacheabilityDictionary]):
      (-[WebFrame _clearOpener]):
      (-[WebFrame provisionalDataSource]):
      (-[WebFrame dataSource]):
      (-[WebFrame loadRequest:]):
      (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
      (-[WebFrame loadArchive:]):
      (-[WebFrame stopLoading]):
      (-[WebFrame reload]):
      (-[WebFrame reloadFromOrigin]):
      * WebView/WebHTMLRepresentation.mm:
      (-[WebHTMLRepresentation receivedData:withDataSource:]):
      * WebView/WebHTMLView.mm:
      (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
      * WebView/WebPDFView.mm:
      (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
      * WebView/WebRenderLayer.mm:
      (-[WebRenderLayer initWithWebFrame:]):
      * WebView/WebRenderNode.mm:
      (-[WebRenderNode _initWithCoreFrame:]):
      * WebView/WebView.mm:
      (-[WebView _close]):
      (-[WebView _loadBackForwardListFromOtherView:]):
      (-[WebView _cachedResponseForURL:]):
      (-[WebView setCustomTextEncodingName:]):
      (-[WebView shouldClose]):
      
      Source/WebKit/qt:
      
      * WebCoreSupport/ChromeClientQt.cpp:
      (WebCore::ChromeClientQt::closeWindowSoon):
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      (DumpRenderTreeSupportQt::shouldClose):
      (DumpRenderTreeSupportQt::responseMimeType):
      (DumpRenderTreeSupportQt::clearOpener):
      (DumpRenderTreeSupportQt::thirdPartyCookiePolicyAllows):
      (DumpRenderTreeSupportQt::setAlternateHtml):
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      (WebCore::FrameLoaderClientQt::callPolicyFunction):
      (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
      (WebCore::FrameLoaderClientQt::updateGlobalHistory):
      (WebCore::FrameLoaderClientQt::updateGlobalHistoryRedirectLinks):
      (WebCore::FrameLoaderClientQt::callErrorPageExtension):
      (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
      (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
      (WebCore::FrameLoaderClientQt::startDownload):
      (WebCore::FrameLoaderClientQt::createFrame):
      (WebCore::FrameLoaderClientQt::objectContentType):
      * WebCoreSupport/QWebFrameAdapter.cpp:
      (QWebFrameAdapter::load):
      (QWebFrameAdapter::setContent):
      (QWebFrameAdapter::setHtml):
      (QWebFrameAdapter::kit):
      (QWebFrameAdapter::title):
      (QWebFrameAdapter::clearCoreFrame):
      * WebCoreSupport/QWebPageAdapter.cpp:
      (frameLoadRequest):
      (openNewWindow):
      (QWebPageAdapter::triggerAction):
      (QWebPageAdapter::currentFrame):
      
      Source/WebKit/win:
      
      * WebCoreSupport/WebContextMenuClient.cpp:
      (WebContextMenuClient::searchWithGoogle):
      * WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebFrameLoaderClient::updateGlobalHistory):
      (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
      (WebFrameLoaderClient::savePlatformDataToCachedFrame):
      (WebFrameLoaderClient::createFrame):
      (WebFrameLoaderClient::dispatchDidFailToStartPlugin):
      * WebCoreSupport/WebFrameNetworkingContext.cpp:
      (WebFrameNetworkingContext::blockedError):
      (WebFrameNetworkingContext::referrer):
      * WebElementPropertyBag.cpp:
      (WebElementPropertyBag::Read):
      * WebFrame.cpp:
      (kit):
      (WebFrame::reloadFromOrigin):
      (WebFrame::loadRequest):
      (WebFrame::loadData):
      (WebFrame::dataSource):
      (WebFrame::provisionalDataSource):
      (WebFrame::stopLoading):
      (WebFrame::reload):
      (WebFrame::firstLayoutDone):
      (WebFrame::loadType):
      (WebFrame::clearOpener):
      (WebFrame::dispatchWillSubmitForm):
      (WebFrame::receivedPolicyDecision):
      (WebFrame::dispatchDecidePolicyForResponse):
      (WebFrame::dispatchDecidePolicyForNewWindowAction):
      (WebFrame::dispatchDecidePolicyForNavigationAction):
      (WebFrame::createJavaAppletWidget):
      * WebFramePolicyListener.cpp:
      (WebFramePolicyListener::receivedPolicyDecision):
      * WebView.cpp:
      (WebView::close):
      (WebView::canShowMIMEType):
      (WebView::setCustomTextEncodingName):
      (WebView::loadBackForwardListFromOtherView):
      (WebView::shouldClose):
      
      Source/WebKit/wince:
      
      * WebCoreSupport/FrameLoaderClientWinCE.cpp:
      (WebKit::FrameLoaderClientWinCE::dispatchDecidePolicyForResponse):
      (WebKit::FrameLoaderClientWinCE::dispatchDecidePolicyForNewWindowAction):
      (WebKit::FrameLoaderClientWinCE::dispatchDecidePolicyForNavigationAction):
      (WebKit::FrameLoaderClientWinCE::dispatchWillSubmitForm):
      * WebCoreSupport/FrameNetworkingContextWinCE.cpp:
      (WebKit::FrameNetworkingContextWinCE::referrer):
      * WebView.cpp:
      (WebView::createFrame):
      (WebView::load):
      (WebView::reload):
      (WebView::stop):
      
      Source/WebKit2:
      
      * Shared/WebRenderLayer.cpp:
      (WebKit::WebRenderLayer::create):
      * Shared/WebRenderObject.cpp:
      (WebKit::WebRenderObject::create):
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      (WKBundleFrameGetFrameLoadState):
      (WKBundleFrameClearOpener):
      (WKBundleFrameCallShouldCloseOnWebView):
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      (WebKit::InjectedBundleNodeHandle::documentFrame):
      (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
      (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      (WebKit::InjectedBundleDOMWindowExtension::frame):
      * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
      (WebKit::InjectedBundleHitTestResult::frame):
      (WebKit::InjectedBundleHitTestResult::targetFrame):
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      (WebKit::PDFPlugin::clickedLink):
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::webPage):
      (WebKit::PluginView::didFailToInitializePlugin):
      (WebKit::PluginView::performFrameLoadURLRequest):
      (WebKit::PluginView::userAgent):
      (WebKit::PluginView::loadURL):
      (WebKit::PluginView::cancelManualStreamLoad):
      (WebKit::PluginView::proxiesForURL):
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::WebChromeClient::focusedElementChanged):
      (WebKit::WebChromeClient::focusedFrameChanged):
      (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
      (WebKit::WebChromeClient::closeWindowSoon):
      (WebKit::WebChromeClient::runJavaScriptAlert):
      (WebKit::WebChromeClient::runJavaScriptConfirm):
      (WebKit::WebChromeClient::runJavaScriptPrompt):
      (WebKit::WebChromeClient::unavailablePluginButtonClicked):
      (WebKit::WebChromeClient::print):
      (WebKit::WebChromeClient::exceededDatabaseQuota):
      (WebKit::WebChromeClient::runOpenPanel):
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      (WebKit::WebContextMenuClient::searchWithGoogle):
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      (WebKit::WebEditorClient::textFieldDidBeginEditing):
      (WebKit::WebEditorClient::textFieldDidEndEditing):
      (WebKit::WebEditorClient::textDidChangeInTextField):
      (WebKit::WebEditorClient::textDidChangeInTextArea):
      (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
      (WebKit::WebEditorClient::textWillBeDeletedInTextField):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
      (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
      (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
      (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
      (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
      (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
      (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
      (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
      (WebKit::WebFrameLoaderClient::updateGlobalHistory):
      (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
      (WebKit::WebFrameLoaderClient::restoreViewState):
      (WebKit::WebFrameLoaderClient::createFrame):
      (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
      (WebKit::WebFrameLoaderClient::objectContentType):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::getPluginInfo):
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      (WebKit::WebFrameNetworkingContext::blockedError):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::didReceivePolicyDecision):
      (WebKit::WebFrame::startDownload):
      (WebKit::WebFrame::source):
      (WebKit::WebFrame::contentsAsString):
      (WebKit::WebFrame::url):
      (WebKit::WebFrame::parentFrame):
      (WebKit::WebFrame::childFrames):
      (WebKit::WebFrame::stopLoading):
      (WebKit::WebFrame::frameForContext):
      (WebKit::WebFrame::provisionalURL):
      (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
      (WebKit::WebFrame::mimeTypeForResourceWithURL):
      (WebKit::WebFrameFilter::shouldIncludeSubframe):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::createPlugin):
      (WebKit::WebPage::close):
      (WebKit::WebPage::tryClose):
      (WebKit::WebPage::loadURLRequest):
      (WebKit::WebPage::loadDataImpl):
      (WebKit::WebPage::linkClicked):
      (WebKit::WebPage::stopLoadingFrame):
      (WebKit::WebPage::stopLoading):
      (WebKit::WebPage::reload):
      (WebKit::WebPage::tryRestoreScrollPosition):
      (WebKit::WebPage::getMainResourceDataOfFrame):
      (WebKit::resourceDataForFrame):
      (WebKit::shouldReuseCommittedSandboxExtension):
      (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
      (WebKit::WebPage::hasLocalDataForURL):
      (WebKit::WebPage::setCustomTextEncodingName):
      (WebKit::WebPage::canPluginHandleResponse):
      (WebKit::WebPage::canShowMIMEType):
      (WebKit::WebPage::didCommitLoad):
      * WebProcess/WebPage/mac/WebPageMac.mm:
      (WebKit::WebPage::platformHasLocalDataForURL):
      (WebKit::cachedResponseForURL):
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::downloadRequest):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df550b96
  5. 03 Mar, 2013 2 commits
    • abarth@webkit.org's avatar
      Unreviewed attempted build fix. Adds back some includes removed in · 401a3791
      abarth@webkit.org authored
      http://trac.webkit.org/changeset/144565.
      
      Source/WebCore: 
      
      * Modules/mediastream/RTCPeerConnection.cpp:
      * bindings/ScriptControllerBase.cpp:
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      (WebCore):
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/FrameLoader.cpp:
      * loader/MainResourceLoader.cpp:
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/cache/CachedResource.cpp:
      * loader/icon/IconController.cpp:
      * page/DOMWindowExtension.cpp:
      * page/Frame.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginView.cpp:
      * rendering/HitTestResult.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResource.cpp:
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      (WebCore):
      
      Source/WebKit/chromium: 
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      (WebCore):
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/mac: 
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2: 
      
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      401a3791
    • abarth@webkit.org's avatar
      Unreviewed rollout of http://trac.webkit.org/r144530 · fa616dd3
      abarth@webkit.org authored
      As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
      https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
      large number of ASSERTs in chromium-win.
      
      Source/WebCore: 
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCPeerConnection.cpp:
      * Modules/notifications/Notification.cpp:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/ScriptControllerBase.cpp:
      * bindings/js/JSNodeCustom.cpp:
      * bindings/js/ScriptController.cpp:
      * bindings/js/ScriptSourceCode.h:
      (WebCore):
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSCrossfadeValue.h:
      (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
      (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
      * css/CSSFontFaceSource.h:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * css/WebKitCSSSVGDocumentValue.h:
      (WebCore):
      * dom/Clipboard.cpp:
      (WebCore::Clipboard::Clipboard):
      * dom/ContainerNode.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/HTMLScriptRunner.h:
      * html/parser/XSSAuditor.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      (WebCore):
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      (WebCore):
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/CrossOriginAccessControl.h:
      (WebCore):
      * loader/CrossOriginPreflightResultCache.h:
      * loader/DocumentThreadableLoader.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::FrameLoader):
      * loader/FrameLoader.h:
      (WebCore):
      (WebCore::FrameLoader::policyChecker):
      * loader/ImageLoader.cpp:
      * loader/ImageLoader.h:
      * loader/LinkLoader.h:
      (WebCore):
      * loader/MainResourceLoader.cpp:
      * loader/MainResourceLoader.h:
      (WebCore):
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/PolicyChecker.h:
      (WebCore):
      * loader/ProgressTracker.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/TextTrackLoader.cpp:
      * loader/TextTrackLoader.h:
      (WebCore):
      * loader/ThreadableLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      (WebCore):
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/archive/cf/LegacyWebArchive.cpp:
      * loader/cache/CachedFont.cpp:
      * loader/cache/CachedFont.h:
      (CachedFontClient):
      (WebCore::CachedFontClient::~CachedFontClient):
      (WebCore::CachedFontClient::expectedType):
      (WebCore::CachedFontClient::resourceClientType):
      (WebCore::CachedFontClient::fontLoaded):
      (WebCore):
      * loader/cache/CachedFontClient.h: Removed.
      * loader/cache/CachedImage.cpp:
      * loader/cache/CachedRawResource.cpp:
      * loader/cache/CachedRawResource.h:
      (WebCore):
      (CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::expectedType):
      (WebCore::CachedRawResourceClient::resourceClientType):
      (WebCore::CachedRawResourceClient::dataSent):
      (WebCore::CachedRawResourceClient::responseReceived):
      (WebCore::CachedRawResourceClient::dataReceived):
      (WebCore::CachedRawResourceClient::redirectReceived):
      (WebCore::CachedRawResourceClient::dataDownloaded):
      * loader/cache/CachedRawResourceClient.h: Removed.
      * loader/cache/CachedResource.cpp:
      * loader/cache/CachedResourceHandle.cpp:
      (WebCore):
      * loader/cache/CachedResourceHandle.h:
      (WebCore):
      (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
      (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
      * loader/cache/CachedSVGDocument.h:
      (CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::expectedType):
      (WebCore::CachedSVGDocumentClient::resourceClientType):
      (WebCore):
      * loader/cache/CachedSVGDocumentClient.h: Removed.
      * loader/cache/CachedSVGDocumentReference.cpp: Removed.
      * loader/cache/CachedSVGDocumentReference.h:
      (WebCore):
      (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
      (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
      * loader/cache/CachedStyleSheetClient.h:
      (WebCore):
      * loader/cache/MemoryCache.h:
      (WebCore):
      (MemoryCache):
      * loader/chromium/CachedRawResourceChromium.cpp:
      * loader/icon/IconController.cpp:
      * loader/icon/IconLoader.h:
      * loader/mac/ResourceLoaderMac.mm:
      * page/DOMWindowExtension.cpp:
      * page/Frame.cpp:
      (WebCore::Frame::Frame):
      (WebCore):
      (WebCore::Frame::reportMemoryUsage):
      * page/Frame.h:
      (WebCore):
      (Frame):
      (WebCore::Frame::init):
      (WebCore::Frame::loader):
      * page/PerformanceNavigation.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/Settings.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/filters/FilterOperation.cpp:
      (WebCore):
      * platform/graphics/filters/FilterOperation.h:
      (WebCore):
      (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
      (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/mac/PasteboardMac.mm:
      * platform/network/AuthenticationChallengeBase.cpp:
      * platform/network/cf/CookieJarCFNet.cpp:
      * platform/network/cf/ResourceRequestCFNet.cpp:
      * platform/network/mac/CookieStorageMac.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginRequest.h: Removed.
      * plugins/PluginStream.h:
      (PluginStreamClient):
      (WebCore::PluginStreamClient::~PluginStreamClient):
      (WebCore::PluginStreamClient::streamDidFinishLoading):
      (WebCore):
      * plugins/PluginStreamClient.h: Removed.
      * plugins/PluginView.cpp:
      * plugins/PluginView.h:
      (WebCore):
      (PluginRequest):
      (WebCore::PluginRequest::PluginRequest):
      (WebCore::PluginRequest::frameLoadRequest):
      (WebCore::PluginRequest::notifyData):
      (WebCore::PluginRequest::sendNotification):
      (WebCore::PluginRequest::shouldAllowPopups):
      * rendering/HitTestResult.cpp:
      * rendering/InlineFlowBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderEmbeddedObject.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResource.cpp:
      (WebCore::RenderImageResource::RenderImageResource):
      (WebCore):
      * rendering/RenderImageResource.h:
      (WebCore::RenderImageResource::image):
      (WebCore::RenderImageResource::errorOccurred):
      (WebCore::RenderImageResource::usesImageContainerSize):
      (WebCore::RenderImageResource::imageHasRelativeWidth):
      (WebCore::RenderImageResource::imageHasRelativeHeight):
      (WebCore::RenderImageResource::imageSize):
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerFilterInfo.h:
      (WebCore):
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderSnapshottedPlugIn.cpp:
      * rendering/RenderTableCol.cpp:
      * rendering/RenderTableRow.cpp:
      * rendering/RenderTableSection.cpp:
      * rendering/style/StyleCachedShader.h:
      * rendering/style/StyleCustomFilterProgram.cpp: Removed.
      * rendering/style/StyleCustomFilterProgram.h:
      (WebCore):
      (WebCore::StyleCustomFilterProgram::vertexShaderString):
      (StyleCustomFilterProgram):
      (WebCore::StyleCustomFilterProgram::fragmentShaderString):
      (WebCore::StyleCustomFilterProgram::isLoaded):
      (WebCore::StyleCustomFilterProgram::willHaveClients):
      (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
      (WebCore::StyleCustomFilterProgram::notifyFinished):
      * svg/SVGFEImageElement.h:
      * svg/SVGFontFaceUriElement.h:
      (SVGFontFaceUriElement):
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * svg/SVGUseElement.h:
      * svg/graphics/SVGImageCache.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      (WebCore):
      * xml/XSLTProcessorLibxslt.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParser.h:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      
      Source/WebKit/chromium: 
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      (WebCore):
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/gtk: 
      
      * webkit/webkitwebpolicydecision.cpp:
      
      Source/WebKit/mac: 
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2: 
      
      * NetworkProcess/HostRecord.h:
      * NetworkProcess/NetworkResourceLoadScheduler.h:
      * NetworkProcess/NetworkResourceLoader.h:
      (WebCore):
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa616dd3
  6. 02 Mar, 2013 1 commit
    • ap@apple.com's avatar
      Reduce amount of rebuilding when touching networking headers · fc363ce1
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=111035
      
              Reviewed by Eric Seidel.
      
              This uses a number of common unsurprising techniques. One interesting observation
              is that including CachedResource related headers is very expensive. We can usually
              get away with their Client counterparts, and with CachedResourceHandle.
      
              * page/Frame.cpp:
              * page/Frame.h:
              Don't include FrameLoader, greatly reducing include graph for most non-loader files.
              This required making Frame::init() non-inline - I'm not sure why it ever was.
      
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              Even though FrameLoader is logically on loading side of WebCore, it's included in
              too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
              largest wins. As a future improvement, we should probably convert other members
              to OwnPtrs.
      
              * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
              definition of a class it holds, but default construction does not.
      
              * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
              not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
      
              * loader/cache/CachedFont.h:
              * loader/cache/CachedFontClient.h: Added.
              * loader/cache/CachedRawResource.h:
              * loader/cache/CachedRawResourceClient.h: Added.
              * loader/cache/CachedSVGDocument.h:
              * loader/cache/CachedSVGDocumentClient.h: Added.
              These types were defining client types in the same headers, making it impossible
              to avoid including networking headers through CachedResource. Moved clients into
              separate files.
      
              * plugins/PluginStream.h:
              * plugins/PluginStreamClient.h: Added.
              Similar situation here.
      
              * loader/cache/CachedResourceHandle.cpp:
              * loader/cache/CachedResourceHandle.h:
              Moved functions that need to know about CachedResource to .cpp file. This is another
              huge win. Added a destructor, so that CachedResource woudn't be needed in all files
              that include CachedResourceHandle.
      
              * loader/cache/CachedSVGDocumentReference.cpp: Added.
              * loader/cache/CachedSVGDocumentReference.h:
              Moved constructor and virtual function implementations to a .cpp file - they need
              not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
      
              * platform/graphics/filters/FilterOperation.cpp:
              * platform/graphics/filters/FilterOperation.h:
              Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
              CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
              rendering code that it seems best to cut any ties with resources and loading.
              Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
              classes are generally harmful (due to code bloat).
      
              * plugins/PluginRequest.h: Added.
              * plugins/PluginView.h:
              Moved PluginRequest into a separate file, it was out of place in a view hierarchy
              class file.
      
              * rendering/RenderImageResource.cpp:
              * rendering/RenderImageResource.h:
              Moved definitions of virtual functions to a .cpp file. Thre is no win from having
              them inline, and now we don't need CachedImage.h in the header.
      
              * rendering/style/StyleCustomFilterProgram.cpp: Added.
              * rendering/style/StyleCustomFilterProgram.h:
              Ditto.
      
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * Modules/mediastream/RTCPeerConnection.cpp:
              * Modules/notifications/Notification.cpp:
              * Target.pri:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcxproj/WebCore.vcxproj:
              * WebCore.vcxproj/WebCore.vcxproj.filters:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/ScriptControllerBase.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptSourceCode.h:
              * bindings/objc/DOM.mm:
              * bindings/v8/ScriptController.cpp:
              * bindings/v8/V8DOMWindowShell.cpp:
              * bindings/v8/custom/V8DOMWindowCustom.cpp:
              * css/CSSFontFaceSource.h:
              * css/CSSFontSelector.cpp:
              * css/WebKitCSSSVGDocumentValue.cpp:
              * css/WebKitCSSSVGDocumentValue.h:
              * dom/Clipboard.cpp:
              * dom/ContainerNode.cpp:
              * dom/DOMImplementation.cpp:
              * dom/PendingScript.h:
              * dom/ScriptElement.cpp:
              * dom/ScriptElement.h:
              * history/CachedFrame.cpp:
              * html/DOMURL.cpp:
              * html/HTMLAnchorElement.cpp:
              * html/HTMLAppletElement.cpp:
              * html/HTMLElement.cpp:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLFrameSetElement.cpp:
              * html/HTMLHtmlElement.cpp:
              * html/HTMLImageElement.cpp:
              * html/HTMLObjectElement.cpp:
              * html/HTMLPlugInElement.cpp:
              * html/ImageDocument.cpp:
              * html/ImageInputType.cpp:
              * html/MediaDocument.cpp:
              * html/PluginDocument.cpp:
              * html/canvas/WebGLRenderingContext.cpp:
              * html/parser/HTMLConstructionSite.cpp:
              * html/parser/HTMLParserOptions.cpp:
              * html/parser/HTMLScriptRunner.h:
              * html/parser/XSSAuditor.cpp:
              * html/parser/XSSAuditorDelegate.cpp:
              * inspector/InspectorDebuggerAgent.cpp:
              * inspector/InspectorFileSystemAgent.cpp:
              * inspector/InspectorFrontendHost.cpp:
              * inspector/InspectorInstrumentation.h:
              * inspector/InspectorPageAgent.cpp:
              * inspector/NetworkResourcesData.cpp:
              * inspector/NetworkResourcesData.h:
              * loader/CookieJar.cpp:
              * loader/CrossOriginAccessControl.cpp:
              * loader/CrossOriginPreflightResultCache.h:
              * loader/DocumentThreadableLoader.h:
              * loader/ImageLoader.cpp:
              * loader/ImageLoader.h:
              * loader/LinkLoader.h:
              * loader/MainResourceLoader.cpp:
              * loader/MainResourceLoader.h:
              * loader/MixedContentChecker.cpp:
              * loader/PingLoader.cpp:
              * loader/PolicyChecker.h:
              * loader/ProgressTracker.cpp:
              * loader/SubframeLoader.cpp:
              * loader/SubresourceLoader.cpp:
              * loader/TextTrackLoader.cpp:
              * loader/TextTrackLoader.h:
              * loader/ThreadableLoader.h:
              * loader/appcache/ApplicationCacheGroup.cpp:
              * loader/appcache/ApplicationCacheGroup.h:
              * loader/appcache/ApplicationCacheHost.cpp:
              * loader/archive/cf/LegacyWebArchive.cpp:
              * loader/cache/CachedFont.cpp:
              * loader/cache/CachedImage.cpp:
              * loader/cache/CachedRawResource.cpp:
              * loader/cache/CachedResource.cpp:
              * loader/cache/CachedStyleSheetClient.h:
              * loader/cache/MemoryCache.cpp:
              * loader/cache/MemoryCache.h:
              * loader/chromium/CachedRawResourceChromium.cpp:
              * loader/icon/IconController.cpp:
              * loader/icon/IconLoader.h:
              * loader/mac/ResourceLoaderMac.mm:
              * page/DOMWindowExtension.cpp:
              * page/DragController.cpp:
              * page/PerformanceNavigation.cpp:
              * page/PerformanceTiming.cpp:
              * page/PointerLockController.cpp:
              * page/Settings.cpp:
              * page/animation/CSSPropertyAnimation.cpp:
              * platform/chromium/PasteboardChromium.cpp:
              * platform/efl/ErrorsEfl.cpp:
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
              * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
              * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
              * platform/gtk/ErrorsGtk.cpp:
              * platform/gtk/PasteboardGtk.cpp:
              * platform/gtk/PasteboardHelper.h:
              * platform/mac/ClipboardMac.h:
              * platform/mac/ClipboardMac.mm:
              * platform/mac/HTMLConverter.mm:
              * platform/mac/PasteboardMac.mm:
              * platform/network/AuthenticationChallengeBase.cpp:
              * platform/network/cf/CookieJarCFNet.cpp:
              * platform/network/cf/ResourceRequestCFNet.cpp:
              * platform/network/mac/CookieStorageMac.mm:
              * platform/qt/PasteboardQt.cpp:
              * plugins/DOMMimeType.cpp:
              * plugins/PluginView.cpp:
              * rendering/HitTestResult.cpp:
              * rendering/InlineFlowBox.cpp:
              * rendering/RenderBox.cpp:
              * rendering/RenderEmbeddedObject.cpp:
              * rendering/RenderImage.cpp:
              * rendering/RenderImageResourceStyleImage.cpp:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayerBacking.cpp:
              * rendering/RenderLayerFilterInfo.h:
              * rendering/RenderListItem.cpp:
              * rendering/RenderListMarker.cpp:
              * rendering/RenderSnapshottedPlugIn.cpp:
              * rendering/RenderTableCol.cpp:
              * rendering/RenderTableRow.cpp:
              * rendering/RenderTableSection.cpp:
              * rendering/style/StyleCachedShader.h:
              * svg/SVGFEImageElement.h:
              * svg/SVGFontFaceUriElement.h:
              * svg/SVGImageLoader.cpp:
              * svg/SVGUseElement.cpp:
              * svg/SVGUseElement.h:
              * svg/graphics/SVGImageCache.cpp:
              * testing/MockPagePopupDriver.cpp:
              * xml/XSLStyleSheet.h:
              * xml/XSLTProcessorLibxslt.cpp:
              * xml/parser/XMLDocumentParser.cpp:
              * xml/parser/XMLDocumentParser.h:
              * xml/parser/XMLDocumentParserLibxml2.cpp:
              Many self-evident changes - removing unnecessary header includes, adding smaller
              more local ones that are now necessary.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc363ce1
  7. 01 Mar, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r144422 and r144424. · 0b87a6c7
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/144422
      http://trac.webkit.org/changeset/144424
      https://bugs.webkit.org/show_bug.cgi?id=111167
      
      Caused over 20 tests to fail assertion on Chromium Win port as
      ASSERTION FAILED: m_platformRequestUpdated (Requested by
      toyoshim on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-01
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCPeerConnection.cpp:
      * Modules/notifications/Notification.cpp:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/ScriptControllerBase.cpp:
      * bindings/js/JSNodeCustom.cpp:
      * bindings/js/ScriptController.cpp:
      * bindings/js/ScriptSourceCode.h:
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSCrossfadeValue.h:
      (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
      (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
      * css/CSSFontFaceSource.h:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * css/WebKitCSSSVGDocumentValue.h:
      (WebCore):
      * dom/Clipboard.cpp:
      (WebCore::Clipboard::Clipboard):
      * dom/ContainerNode.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/HTMLScriptRunner.h:
      * html/parser/XSSAuditor.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      (WebCore):
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      (WebCore):
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/CrossOriginAccessControl.h:
      (WebCore):
      * loader/CrossOriginPreflightResultCache.h:
      * loader/DocumentThreadableLoader.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::FrameLoader):
      * loader/FrameLoader.h:
      (WebCore):
      (WebCore::FrameLoader::policyChecker):
      * loader/ImageLoader.cpp:
      * loader/ImageLoader.h:
      * loader/LinkLoader.h:
      * loader/MainResourceLoader.cpp:
      * loader/MainResourceLoader.h:
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/PolicyChecker.h:
      (WebCore):
      * loader/ProgressTracker.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/TextTrackLoader.cpp:
      * loader/TextTrackLoader.h:
      * loader/ThreadableLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      (WebCore):
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/archive/cf/LegacyWebArchive.cpp:
      * loader/cache/CachedFont.cpp:
      * loader/cache/CachedFont.h:
      (CachedFontClient):
      (WebCore::CachedFontClient::~CachedFontClient):
      (WebCore::CachedFontClient::expectedType):
      (WebCore::CachedFontClient::resourceClientType):
      (WebCore::CachedFontClient::fontLoaded):
      (WebCore):
      * loader/cache/CachedFontClient.h: Removed.
      * loader/cache/CachedImage.cpp:
      * loader/cache/CachedRawResource.cpp:
      * loader/cache/CachedRawResource.h:
      (WebCore):
      (CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::expectedType):
      (WebCore::CachedRawResourceClient::resourceClientType):
      (WebCore::CachedRawResourceClient::dataSent):
      (WebCore::CachedRawResourceClient::responseReceived):
      (WebCore::CachedRawResourceClient::dataReceived):
      (WebCore::CachedRawResourceClient::redirectReceived):
      (WebCore::CachedRawResourceClient::dataDownloaded):
      * loader/cache/CachedRawResourceClient.h: Removed.
      * loader/cache/CachedResource.cpp:
      * loader/cache/CachedResourceHandle.cpp:
      * loader/cache/CachedResourceHandle.h:
      (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
      (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
      * loader/cache/CachedSVGDocument.h:
      (CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::expectedType):
      (WebCore::CachedSVGDocumentClient::resourceClientType):
      (WebCore):
      * loader/cache/CachedSVGDocumentClient.h: Removed.
      * loader/cache/CachedSVGDocumentReference.cpp: Removed.
      * loader/cache/CachedSVGDocumentReference.h:
      (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
      (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
      * loader/cache/CachedStyleSheetClient.h:
      * loader/cache/MemoryCache.cpp:
      * loader/cache/MemoryCache.h:
      (WebCore):
      (MemoryCache):
      * loader/chromium/CachedRawResourceChromium.cpp:
      * loader/icon/IconController.cpp:
      * loader/icon/IconLoader.h:
      * loader/mac/ResourceLoaderMac.mm:
      * page/DOMWindowExtension.cpp:
      * page/DragController.cpp:
      * page/Frame.cpp:
      (WebCore::Frame::Frame):
      (WebCore::Frame::reportMemoryUsage):
      * page/Frame.h:
      (WebCore):
      (Frame):
      (WebCore::Frame::init):
      (WebCore::Frame::loader):
      * page/PerformanceNavigation.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/Settings.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/filters/FilterOperation.cpp:
      * platform/graphics/filters/FilterOperation.h:
      (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
      (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/mac/PasteboardMac.mm:
      * platform/network/AuthenticationChallengeBase.cpp:
      * platform/network/cf/CookieJarCFNet.cpp:
      * platform/network/cf/ResourceRequestCFNet.cpp:
      * platform/network/mac/CookieStorageMac.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginRequest.h: Removed.
      * plugins/PluginStream.h:
      (PluginStreamClient):
      (WebCore::PluginStreamClient::~PluginStreamClient):
      (WebCore::PluginStreamClient::streamDidFinishLoading):
      (WebCore):
      * plugins/PluginStreamClient.h: Removed.
      * plugins/PluginView.cpp:
      * plugins/PluginView.h:
      (WebCore):
      (PluginRequest):
      (WebCore::PluginRequest::PluginRequest):
      (WebCore::PluginRequest::frameLoadRequest):
      (WebCore::PluginRequest::notifyData):
      (WebCore::PluginRequest::sendNotification):
      (WebCore::PluginRequest::shouldAllowPopups):
      * rendering/HitTestResult.cpp:
      * rendering/InlineFlowBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderEmbeddedObject.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResource.cpp:
      (WebCore::RenderImageResource::RenderImageResource):
      * rendering/RenderImageResource.h:
      (WebCore::RenderImageResource::image):
      (WebCore::RenderImageResource::errorOccurred):
      (WebCore::RenderImageResource::usesImageContainerSize):
      (WebCore::RenderImageResource::imageHasRelativeWidth):
      (WebCore::RenderImageResource::imageHasRelativeHeight):
      (WebCore::RenderImageResource::imageSize):
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerFilterInfo.h:
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderSnapshottedPlugIn.cpp:
      * rendering/RenderTableCol.cpp:
      * rendering/RenderTableRow.cpp:
      * rendering/RenderTableSection.cpp:
      * rendering/style/StyleCachedShader.h:
      * rendering/style/StyleCustomFilterProgram.cpp: Removed.
      * rendering/style/StyleCustomFilterProgram.h:
      (WebCore):
      (WebCore::StyleCustomFilterProgram::vertexShaderString):
      (StyleCustomFilterProgram):
      (WebCore::StyleCustomFilterProgram::fragmentShaderString):
      (WebCore::StyleCustomFilterProgram::isLoaded):
      (WebCore::StyleCustomFilterProgram::willHaveClients):
      (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
      (WebCore::StyleCustomFilterProgram::notifyFinished):
      * svg/SVGFEImageElement.h:
      * svg/SVGFontFaceUriElement.h:
      (SVGFontFaceUriElement):
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * svg/SVGUseElement.h:
      * svg/graphics/SVGImageCache.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      * xml/XSLTProcessorLibxslt.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParser.h:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      
      Source/WebKit/chromium:
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      (WebCore):
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl:
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/gtk:
      
      * webkit/webkitwebpolicydecision.cpp:
      
      Source/WebKit/mac:
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt:
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2:
      
      * NetworkProcess/HostRecord.h:
      * NetworkProcess/NetworkResourceLoadScheduler.h:
      * NetworkProcess/NetworkResourceLoader.h:
      (WebCore):
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b87a6c7
    • ap@apple.com's avatar
      Reduce amount of rebuilding when touching networking headers · b2f13721
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=111035
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      This uses a number of common unsurprising techniques. One interesting observation
      is that including CachedResource related headers is very expensive. We can usually
      get away with their Client counterparts, and with CachedResourceHandle.
      
      * page/Frame.cpp:
      * page/Frame.h:
      Don't include FrameLoader, greatly reducing include graph for most non-loader files.
      This required making Frame::init() non-inline - I'm not sure why it ever was.
      
      * loader/FrameLoader.cpp:
      * loader/FrameLoader.h:
      Even though FrameLoader is logically on loading side of WebCore, it's included in
      too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
      largest wins. As a future improvement, we should probably convert other members
      to OwnPtrs.
      
      * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
      definition of a class it holds, but default construction does not.
      
      * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
      not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
      
      * loader/cache/CachedFont.h:
      * loader/cache/CachedFontClient.h: Added.
      * loader/cache/CachedRawResource.h:
      * loader/cache/CachedRawResourceClient.h: Added.
      * loader/cache/CachedSVGDocument.h:
      * loader/cache/CachedSVGDocumentClient.h: Added.
      These types were defining client types in the same headers, making it impossible
      to avoid including networking headers through CachedResource. Moved clients into
      separate files.
      
      * plugins/PluginStream.h:
      * plugins/PluginStreamClient.h: Added.
      Similar situation here.
      
      * loader/cache/CachedResourceHandle.cpp:
      * loader/cache/CachedResourceHandle.h:
      Moved functions that need to know about CachedResource to .cpp file. This is another
      huge win. Added a destructor, so that CachedResource woudn't be needed in all files
      that include CachedResourceHandle.
      
      * loader/cache/CachedSVGDocumentReference.cpp: Added.
      * loader/cache/CachedSVGDocumentReference.h:
      Moved constructor and virtual function implementations to a .cpp file - they need
      not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
      
      * platform/graphics/filters/FilterOperation.cpp:
      * platform/graphics/filters/FilterOperation.h:
      Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
      CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
      rendering code that it seems best to cut any ties with resources and loading.
      Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
      classes are generally harmful (due to code bloat).
      
      * plugins/PluginRequest.h: Added.
      * plugins/PluginView.h:
      Moved PluginRequest into a separate file, it was out of place in a view hierarchy
      class file.
      
      * rendering/RenderImageResource.cpp:
      * rendering/RenderImageResource.h:
      Moved definitions of virtual functions to a .cpp file. Thre is no win from having
      them inline, and now we don't need CachedImage.h in the header.
      
      * rendering/style/StyleCustomFilterProgram.cpp: Added.
      * rendering/style/StyleCustomFilterProgram.h:
      Ditto.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCPeerConnection.cpp:
      * Modules/notifications/Notification.cpp:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/ScriptControllerBase.cpp:
      * bindings/js/JSNodeCustom.cpp:
      * bindings/js/ScriptController.cpp:
      * bindings/js/ScriptSourceCode.h:
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSFontFaceSource.h:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * css/WebKitCSSSVGDocumentValue.h:
      * dom/Clipboard.cpp:
      * dom/ContainerNode.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/HTMLScriptRunner.h:
      * html/parser/XSSAuditor.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/CrossOriginPreflightResultCache.h:
      * loader/DocumentThreadableLoader.h:
      * loader/ImageLoader.cpp:
      * loader/ImageLoader.h:
      * loader/LinkLoader.h:
      * loader/MainResourceLoader.cpp:
      * loader/MainResourceLoader.h:
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/PolicyChecker.h:
      * loader/ProgressTracker.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/TextTrackLoader.cpp:
      * loader/TextTrackLoader.h:
      * loader/ThreadableLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/archive/cf/LegacyWebArchive.cpp:
      * loader/cache/CachedFont.cpp:
      * loader/cache/CachedImage.cpp:
      * loader/cache/CachedRawResource.cpp:
      * loader/cache/CachedResource.cpp:
      * loader/cache/CachedStyleSheetClient.h:
      * loader/cache/MemoryCache.cpp:
      * loader/cache/MemoryCache.h:
      * loader/chromium/CachedRawResourceChromium.cpp:
      * loader/icon/IconController.cpp:
      * loader/icon/IconLoader.h:
      * loader/mac/ResourceLoaderMac.mm:
      * page/DOMWindowExtension.cpp:
      * page/DragController.cpp:
      * page/PerformanceNavigation.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/Settings.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/mac/PasteboardMac.mm:
      * platform/network/AuthenticationChallengeBase.cpp:
      * platform/network/cf/CookieJarCFNet.cpp:
      * platform/network/cf/ResourceRequestCFNet.cpp:
      * platform/network/mac/CookieStorageMac.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginView.cpp:
      * rendering/HitTestResult.cpp:
      * rendering/InlineFlowBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderEmbeddedObject.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerFilterInfo.h:
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderSnapshottedPlugIn.cpp:
      * rendering/RenderTableCol.cpp:
      * rendering/RenderTableRow.cpp:
      * rendering/RenderTableSection.cpp:
      * rendering/style/StyleCachedShader.h:
      * svg/SVGFEImageElement.h:
      * svg/SVGFontFaceUriElement.h:
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * svg/SVGUseElement.h:
      * svg/graphics/SVGImageCache.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      * xml/XSLTProcessorLibxslt.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParser.h:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      Many self-evident changes - removing unnecessary header includes, adding smaller
      more local ones that are now necessary.
      
      Source/WebKit/chromium:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/gtk:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * webkit/webkitwebpolicydecision.cpp:
      
      Source/WebKit/mac:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * NetworkProcess/HostRecord.h:
      * NetworkProcess/NetworkResourceLoadScheduler.h:
      * NetworkProcess/NetworkResourceLoader.h:
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2f13721
  8. 10 May, 2012 1 commit
    • jberlin@webkit.org's avatar
      Crash using the new WKBundleDOMWindowExtensions APIs. · a4facf2c
      jberlin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=85888
      
      Reviewed by Brady Eidson.
      
      Source/WebCore:
      
      WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback was only being invoked when
      the WKPage was destroyed, and then only for the child frames. In addition, the
      DOMWindowExtension was holding onto a destroyed DOMWindow and attempting to unregister from
      when the WK2 wrapper object was attempting to destroy the DOMWindowExtension.
      
      The underlying issue here was that the DOMWindowProperties were getting disconnectFrame
      and willDetachPage called on them at the wrong times.
      
      Rename DOMWindowProperty::disconnectFrame and reconnectFrame to disconnectFrameForPageCache
      and reconnectFrameFromPageCache for clarity.
      
      Only invoke DOMWindowProperty::disconnectFrameForPageCache when the frame is going into the
      page cache.
      
      In the cases where the DOMWindow is getting destroyed, the frame is being destroyed, or the
      DOMWindow is getting cleared because the frame is being navigated, invoke
      DOMWindowProperty::willDestroyGlobalObjectInFrame instead of disconnectFrame.
      
      Invoke DOMWindowProperty::willDetachGlobalObjectFromFrame when a document is being detached
      because the frame has been detached (e.g. fast/storage/storage-detached-iframe.html) and
      won't be immediately destroyed.
      
      Invoke DOMWindowProperty::willDestroyGlobalObjectInCachedFrame when a cached frame is
      being destroyed.
      
      New WK2 API Test: DOMWindowExtensionNoCache.
      
      * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
      (WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache):
      Updated for disconnectFrame rename.
      (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache):
      Updated for reconnectFrame rename.
      (WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInCachedFrame):
      Get rid of the suspended IDBFactory.
      (WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInFrame):
      Get rid of the IDBFactory.
      (WebCore::DOMWindowIndexedDatabase::willDetachGlobalObjectFromFrame):
      Ditto.
      * Modules/indexeddb/DOMWindowIndexedDatabase.h:
      
      * dom/Document.cpp:
      (WebCore::Document::prepareForDestruction):
      Tell the DOMWindow before detaching the Document.
      * dom/Document.h:
      
      * history/CachedFrame.cpp:
      (WebCore::CachedFrame::destroy):
      Tell the DOMWindow.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::clear):
      Use Document::prepareForDestruction so that the DOMWindow is told about the main frame
      navigation before detaching the Document.
      
      * loader/appcache/DOMApplicationCache.cpp:
      (WebCore::DOMApplicationCache::disconnectFrameForPageCache):
      Updated for the disconnectFrame rename.
      (WebCore::DOMApplicationCache::reconnectFrameFromPageCache):
      Updated for the reconnectFrame rename.
      (WebCore::DOMApplicationCache::willDestroyGlobalObjectInFrame):
      Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
      called when the frame was destroyed).
      * loader/appcache/DOMApplicationCache.h:
      
      * notifications/DOMWindowNotifications.cpp:
      (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
      Updated for the disconnectFrame rename.
      (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
      Updated for the reconnectFrame rename.
      (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
      Get rid of the suspended notification center.
      (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
      Get rid of the notification center.
      (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
      Do not allow use of the notification center by detached frames.
      * notifications/DOMWindowNotifications.h:
      
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::clearDOMWindowProperties):
      Do not call disconnectDOMWindowProperties. It is now the responsibility of the callers to
      tell the DOMWindowProperties the correct cause of being cleared.
      (WebCore::DOMWindow::~DOMWindow):
      Make sure the DOMWindowProperties still know that the DOMWindow is going away.
      (WebCore::DOMWindow::frameDestroyed):
      Invoke willDestroyGlobalObjectInFrame on the DOMWindowProperties.
      (WebCore::DOMWindow::willDetachPage):
      It is no longer necessary to tell the DOMWindowProperties anything here.
      (WebCore::DOMWindow::willDestroyCachedFrame):
      Tell the DOMWindowProperties.
      (WebCore::DOMWindow::willDestroyDocumentInFrame):
      Ditto.
      (WebCore::DOMWindow::willDetachDocumentFromFrame):
      Ditto.
      (WebCore::DOMWindow::clear):
      Ditto.
      (WebCore::DOMWindow::disconnectDOMWindowProperties):
      Updated for the disconnectFrame rename.
      (WebCore::DOMWindow::reconnectDOMWindowProperties):
      Ditto.
      * page/DOMWindow.h:
      
      * page/DOMWindowExtension.cpp:
      (WebCore::DOMWindowExtension::DOMWindowExtension):
      Move the responsibility for tracking the disconnected DOMWindow to DOMWindowProperty, since
      DOMWindowProperty will need it to unregister the property when a cached frame is destroyed.
      (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
      Remove the code to check for disconnectFrame being called twice - it is now only called when
      a frame goes into the page cache.
      Let the DOMWindowProperty keep track of the disconnected DOMWindow.
      (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
      Let the DOMWindowProperty keep track of the disconnected DOMWindow.
      (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
      Dispatch the willDestroyGlobalObjectForDOMWindowExtension callback.
      (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
      Ditto, but only if the callback hasn't already been sent because the frame has been detached.
      (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
      Send the callback because nothing interesting can be done in the frame once it has been
      detached.
      * page/DOMWindowExtension.h:
      
      * page/DOMWindowProperty.cpp:
      (WebCore::DOMWindowProperty::DOMWindowProperty):
      Keep track of the disconnected DOMWindow so it can be used to unregister the property when a
      cached frame is destroyed.
      (WebCore::DOMWindowProperty::~DOMWindowProperty):
      Also unregister the property when a DOMWindowProperty for a cached frame is destroyed.
      (WebCore::DOMWindowProperty::disconnectFrameForPageCache):
      Keep track of the disconnected DOMWindow.
      (WebCore::DOMWindowProperty::reconnectFrameFromPageCache):
      Ditto.
      (WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame):
      Unregister the property from the disconnected DOMWindow.
      (WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame):
      Unregister the property from the DOMWindow and stop keeping track of the frame.
      (WebCore::DOMWindowProperty::willDetachGlobalObjectFromFrame):
      Do not set m_frame to 0 because detached frames still have access to the DOMWindow, even if
      they can't do anything meaningful with it.
      * page/DOMWindowProperty.h:
      
      * page/Frame.cpp:
      (WebCore::Frame::setView):
      Tell the DOMWindow that the Document is being detached so it can tell the
      DOMWindowProperties.
      
      * page/PointerLock.cpp:
      (WebCore::PointerLock::disconnectFrameForPageCache):
      Updated for disconnectFrame rename.
      (WebCore::PointerLock::willDestroyGlobalObjectInFrame):
      Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
      called when the frame was destroyed).
      * page/PointerLock.h:
      
      Tools:
      
      Cached frames can live slightly longer than the page, but most clients unregister themselves
      and do other cleanup in the willDestroyPage callback, making them miss the
      willDestroyGlobalObjectForDOMWindowExtension callbacks.
      
      The calls to willDestroyGlobalObjectForDOMWindowExtension in the DOMWindowExtensionBasic
      test were all being invoked underneath WebPage::close. This is unrealistic. Update that test
      to destroy the BundleDOMWindowExtensions in response to the willDestroyPage callback.
      
      Add a test to verify that willDestroyGlobalObjectForDOMWindowExtension is being called for
      pages that don't go into the page cache.
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      Add DOMWindowExtensionNoCache.cpp, DOMWindowExtensionNoCache_Bundle.cpp, simple-unload.html
      and simple-iframe-unload.html
      
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:
      (TestWebKitAPI):
      Remove the expected messages for willDestroyGlobalObjectForDOMWindowExtension.
      (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
      Do not bother to keep track of the live extension count - all of them are expected to be
      live until the test completes.
      (TestWebKitAPI::TEST):
      Fix the calls to EXPECT to pass the expected value first, and use EXPECT_WK_STREQ so that
      message failures will be clearer.
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:
      (TestWebKitAPI::DOMWindowExtensionBasic::willDestroyPage):
      Clean up the BundleDOMWindowExtensions.
      (TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):
      Add an ASSERT_NOT_REACHED.
      
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp: Added.
      (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
      Keep track of the messages received so they can be checked at the end of the test.
      (TestWebKitAPI::TEST):
      Navigate to uncacheable pages and back.
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp: Copied from Tools/TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp.
      (DOMWindowExtensionNoCache):
      (TestWebKitAPI::DOMWindowExtensionNoCache::DOMWindowExtensionNoCache):
      Set up all the states for each BundleDOMWindowExtension.
      (TestWebKitAPI::DOMWindowExtensionNoCache::frameLoadFinished):
      Tell the UI Process about the states of the BundleDOMWindowExtensions.
      (TestWebKitAPI::DOMWindowExtensionNoCache::sendExtensionStateMessage):
      (TestWebKitAPI::DOMWindowExtensionNoCache::initialize):
      (TestWebKitAPI::DOMWindowExtensionNoCache::didCreatePage):
      (TestWebKitAPI::DOMWindowExtensionNoCache::willDestroyPage):
      Remvoe the remaining BundleDOMWindowExtensions, send the updated state, and finish the test.
      (TestWebKitAPI::DOMWindowExtensionNoCache::updateExtensionStateRecord):
      (TestWebKitAPI::DOMWindowExtensionNoCache::sendBundleMessage):
      (TestWebKitAPI::DOMWindowExtensionNoCache::globalObjectIsAvailableForFrame):
      (TestWebKitAPI::DOMWindowExtensionNoCache::willDisconnectDOMWindowExtensionFromGlobalObject):
      ASSERT that these pages not going into the page cache are not getting disconnected to go into
      the page cache.
      (TestWebKitAPI::DOMWindowExtensionNoCache::didReconnectDOMWindowExtensionToGlobalObject):
      Ditto about getting reconnected when coming out of the page cache.
      (TestWebKitAPI::DOMWindowExtensionNoCache::willDestroyGlobalObjectForDOMWindowExtension):
      Tell the UI Process, update the state, and get rid of the BundleDOMWindowExtension.
      (TestWebKitAPI::didFinishLoadForFrameCallback):
      (TestWebKitAPI::globalObjectIsAvailableForFrameCallback):
      (TestWebKitAPI::willDisconnectDOMWindowExtensionFromGlobalObjectCallback):
      (TestWebKitAPI::didReconnectDOMWindowExtensionToGlobalObjectCallback):
      (TestWebKitAPI::willDestroyGlobalObjectForDOMWindowExtensionCallback):
      
      * TestWebKitAPI/Tests/WebKit2/simple-iframe-unload.html: Added.
      * TestWebKitAPI/Tests/WebKit2/simple-unload.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@116595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4facf2c
  9. 01 May, 2012 1 commit
  10. 24 Apr, 2012 1 commit
    • beidson@apple.com's avatar
      <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664 ... · 2a75a96b
      beidson@apple.com authored
      <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664  Need DOMWindow mechanism to supplement UserScripts for page cache notifications
      
      Source/WebCore:
      
      This patch creates a new object type "DOMWindowExtension" which extends DOMWindowProperty.
      A DOMWindowExtension is tied to a particular DOMWindow and represents extensibility in that
      DOMWindow within a particular DOMWrapperWorld.
      
      It is a token object meant designed to notify clients of the various events in the lifetime
      of a DOMWindow property such as creation, disconnecting for the page cache, reconnecting
      when restoring from the page cache, and DOMWindow destruction.
      
      Reviewed by Sam Weinig.
      
      New WebKit API test DOMWindowExtensionBasic added.
      
      Add hooks for 4 new client calls regarding DOMWindowExtensions and global object lifetime:
      * loader/FrameLoaderClient.h:
      (WebCore::FrameLoaderClient::dispatchCanCreateGlobalObject):
      (WebCore::FrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
      (WebCore::FrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
      (WebCore::FrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
      
      At the same time "DidClearWindowObject" is called, also notify clients that the global object is available:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::receivedFirstData):
      (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
      * loader/FrameLoader.h:
      
       DOMWindowProperties might want to unregister themselves during these notifications, so copy
       the set to a Vector. While this technique is arguably fragile, its certainly less fragile than
       mutating a set while iterating it:
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::willDetachPage):
      (WebCore::DOMWindow::disconnectDOMWindowProperties):
      (WebCore::DOMWindow::reconnectDOMWindowProperties):
      
       Implement the DOMWindowExtension object. It acts like a DOMWindowProperty with the added capability
       of remembering what Frame it used to be connected to so it can *always* notify clients on willDetachPage:
      * page/DOMWindowExtension.cpp: Added.
      (WebCore::DOMWindowExtension::DOMWindowExtension):
      (WebCore::DOMWindowExtension::~DOMWindowExtension):
      (WebCore::DOMWindowExtension::disconnectFrame):
      (WebCore::DOMWindowExtension::reconnectFrame):
      (WebCore::DOMWindowExtension::willDetachPage):
      * page/DOMWindowExtension.h: Added.
      (WebCore::DOMWindowExtension::create):
      (WebCore::DOMWindowExtension::world):
      
       Project files:
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      
      Source/WebKit2:
      
      Reviewed by Sam Weinig.
      
      - Adds a new API object WKBundleDOMWindowExtension
      - Exposes callbacks about the lifetime of DOMWindowExtensions through BundlePageLoaderClient
      
      Add new API casts:
      * Shared/API/c/WKBase.h:
      * Shared/APIClientTraits.cpp:
      * Shared/APIObject.h:
      * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
      
      Add API for the new DOMWindowExtension object:
      * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp: Added.
      (WKBundleDOMWindowExtensionGetTypeID):
      (WKBundleDOMWindowExtensionCreate):
      (WKBundleDOMWindowExtensionGetFrame):
      (WKBundleDOMWindowExtensionGetScriptWorld):
      * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.h: Added.
      
      Add implementation for that API which wraps the WebCore::DOMWindowExtension:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: Added.
      (WebKit::allExtensions):
      (WebKit::InjectedBundleDOMWindowExtension::create):
      (WebKit::InjectedBundleDOMWindowExtension::get):
      (WebKit::InjectedBundleDOMWindowExtension::InjectedBundleDOMWindowExtension):
      (WebKit::InjectedBundleDOMWindowExtension::~InjectedBundleDOMWindowExtension):
      (WebKit::InjectedBundleDOMWindowExtension::frame):
      (WebKit::InjectedBundleDOMWindowExtension::world):
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: Added.
      (InjectedBundleDOMWindowExtension):
      (WebKit::InjectedBundleDOMWindowExtension::type):
      
      Add new BundlePageLoaderClient methods:
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
      (WebKit::InjectedBundlePageLoaderClient::didCreateGlobalObjectForFrame):
      (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
      (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
      (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
      * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
      (InjectedBundlePageLoaderClient):
      
      Implement the 4 new callbacks from WebCore which notify the BundlePageLoaderClient:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable):
      (WebKit::WebFrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
      (WebKit::WebFrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
      (WebKit::WebFrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
      
      Project Files:
      * CMakeLists.txt:
      * GNUmakefile.am:
      * Target.pri:
      * WebKit2.xcodeproj/project.pbxproj:
      * win/WebKit2.vcproj:
      
      Tools:
      
      Reviewed by Sam Weinig.
      
      Add a new bundle test that stresses the basics of the WKBundleDOMWindowExtension API.
      
      It makes sure new extensions can be added at the right times, and that all of the expected
      callbacks are made.
      
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp: Added.
      (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Record all messages sent from the bundle.
      (TestWebKitAPI::TEST): Run a page through some basic exercises, then compared messages sent from the
         bundle to a set of known expected messages.
      
      Listen to all the new client callbacks, create some extensions, and monitor their lifetimes:
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp: Added.
      (TestWebKitAPI::DOMWindowExtensionBasic::DOMWindowExtensionBasic):
      (TestWebKitAPI::DOMWindowExtensionBasic::frameLoadFinished):
      (TestWebKitAPI::DOMWindowExtensionBasic::sendExtensionStateMessage):
      (TestWebKitAPI::DOMWindowExtensionBasic::initialize):
      (TestWebKitAPI::DOMWindowExtensionBasic::didCreatePage):
      (TestWebKitAPI::DOMWindowExtensionBasic::updateExtensionStateRecord):
      (TestWebKitAPI::DOMWindowExtensionBasic::sendBundleMessage):
      (TestWebKitAPI::DOMWindowExtensionBasic::didCreateGlobalObjectForFrame):
      (TestWebKitAPI::DOMWindowExtensionBasic::willDisconnectDOMWindowExtensionFromGlobalObject):
      (TestWebKitAPI::DOMWindowExtensionBasic::didReconnectDOMWindowExtensionToGlobalObject):
      (TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):
      (TestWebKitAPI::didFinishLoadForFrameCallback):
      (TestWebKitAPI::didCreateGlobalObjectForFrameCallback):
      (TestWebKitAPI::willDisconnectDOMWindowExtensionFromGlobalObjectCallback):
      (TestWebKitAPI::didReconnectDOMWindowExtensionToGlobalObjectCallback):
      (TestWebKitAPI::willDestroyGlobalObjectForDOMWindowExtensionCallback):
      
      * TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:
      (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Make this method static, as it always should have been.
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2a75a96b