- 02 Oct, 2013 1 commit
-
-
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
-
- 02 Sep, 2013 1 commit
-
-
akling@apple.com authored
<https://webkit.org/b/120570> Reviewed by Antti Koivisto. Source/WebCore: Use Ref<T> for various stack guards where null checking isn't needed. Source/WTF: Add a very simple simple Ref<T> smart pointer class that is never null. It's initialized by passing a T& to the constructor and cannot be assigned to. operator-> is not overloaded, to prevent unsafe-looking code. The value is extracted by "T& get()", since C++ does not let you override operator.() * wtf/Ref.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 22 Aug, 2013 1 commit
-
-
akling@apple.com authored
<https://webkit.org/b/120158> Reviewed by Anders Carlsson. These two are never null so change them to return references. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 15 Aug, 2013 1 commit
-
-
https://webkit.org/b/119859andersca@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
-
- 03 Mar, 2013 2 commits
-
-
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
-
http://trac.webkit.org/r144530abarth@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
-
- 01 Mar, 2013 3 commits
-
-
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
-
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
-
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
-
- 09 May, 2012 1 commit
-
-
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
-
- 01 May, 2012 1 commit
-
-
jberlin@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=85301 Reviewed by Darin Adler. DOMWindowExtension::disconnectFrame assumed it would only be called when there was a frame to disconnect. However, DOMWindow's destructor invokes disconnectFrame on all its DOMWindowProperties, even if it already did so when it entered the page cache. * page/DOMWindowExtension.cpp: (WebCore::DOMWindowExtension::disconnectFrame): Don't do anything if the frame has already been disconnected. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 24 Apr, 2012 1 commit
-
-
rdar://problem/10120155https://bugs.webkit.org/show_bug.cgi?id=82664beidson@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
-