📄 frameloaderclientqt.cpp
字号:
{ if (m_webFrame) emit m_webFrame->initialLayoutCompleted();}void FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout(){ notImplemented();}void FrameLoaderClientQt::dispatchShow(){ notImplemented();}void FrameLoaderClientQt::cancelPolicyCheck(){// qDebug() << "FrameLoaderClientQt::cancelPolicyCheck"; m_policyFunction = 0;}void FrameLoaderClientQt::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState>){ notImplemented(); Q_ASSERT(!m_policyFunction); // FIXME: This is surely too simple callPolicyFunction(function, PolicyUse);}void FrameLoaderClientQt::dispatchDidLoadMainResource(DocumentLoader*){}void FrameLoaderClientQt::revertToProvisionalState(DocumentLoader*){ notImplemented();}void FrameLoaderClientQt::postProgressStartedNotification(){ if (m_webFrame && m_frame->page()) { emit loadStarted(); postProgressEstimateChangedNotification(); } if (m_frame->tree()->parent() || !m_webFrame) return; m_webFrame->page()->d->updateNavigationActions();}void FrameLoaderClientQt::postProgressEstimateChangedNotification(){ if (m_webFrame && m_frame->page()) emit loadProgress(qRound(m_frame->page()->progress()->estimatedProgress() * 100));}void FrameLoaderClientQt::postProgressFinishedNotification(){ // send a mousemove event to // (1) update the cursor to change according to whatever is underneath the mouse cursor right now // (2) display the tool tip if the mouse hovers a node which has a tool tip if (m_frame && m_frame->eventHandler() && m_webFrame->page()) { QWidget* view = m_webFrame->page()->view(); if (view && view->hasFocus()) { QPoint localPos = view->mapFromGlobal(QCursor::pos()); if (view->rect().contains(localPos)) { QMouseEvent event(QEvent::MouseMove, localPos, Qt::NoButton, Qt::NoButton, Qt::NoModifier); m_frame->eventHandler()->mouseMoved(PlatformMouseEvent(&event, 0)); } } } if (m_webFrame && m_frame->page()) emit loadFinished(m_loadSucceeded);}void FrameLoaderClientQt::setMainFrameDocumentReady(bool b){ // this is only interesting once we provide an external API for the DOM}void FrameLoaderClientQt::willChangeTitle(DocumentLoader*){ // no need for, dispatchDidReceiveTitle is the right callback}void FrameLoaderClientQt::didChangeTitle(DocumentLoader *){ // no need for, dispatchDidReceiveTitle is the right callback}void FrameLoaderClientQt::finishedLoading(DocumentLoader* loader){ if (!m_pluginView) { if(m_firstData) { FrameLoader *fl = loader->frameLoader(); fl->setEncoding(m_response.textEncodingName(), false); m_firstData = false; } } else { m_pluginView->didFinishLoading(); m_pluginView = 0; m_hasSentResponseToPlugin = false; }}bool FrameLoaderClientQt::canShowMIMEType(const String& MIMEType) const{ if (MIMETypeRegistry::isSupportedImageMIMEType(MIMEType)) return true; if (MIMETypeRegistry::isSupportedNonImageMIMEType(MIMEType)) return true; if (m_frame && m_frame->settings() && m_frame->settings()->arePluginsEnabled() && PluginDatabase::installedPlugins()->isMIMETypeRegistered(MIMEType)) return true; return false;}bool FrameLoaderClientQt::representationExistsForURLScheme(const String& URLScheme) const{ return false;}String FrameLoaderClientQt::generatedMIMETypeForURLScheme(const String& URLScheme) const{ notImplemented(); return String();}void FrameLoaderClientQt::frameLoadCompleted(){ // Note: Can be called multiple times.}void FrameLoaderClientQt::restoreViewState(){ if (!m_webFrame) return; emit m_webFrame->page()->restoreFrameStateRequested(m_webFrame);}void FrameLoaderClientQt::provisionalLoadStarted(){ // don't need to do anything here}void FrameLoaderClientQt::didFinishLoad(){// notImplemented();}void FrameLoaderClientQt::prepareForDataSourceReplacement(){ m_frame->loader()->detachChildren();}void FrameLoaderClientQt::setTitle(const String&, const KURL&){ // no need for, dispatchDidReceiveTitle is the right callback}String FrameLoaderClientQt::userAgent(const KURL& url){ if (m_webFrame) { return m_webFrame->page()->userAgentForUrl(url); } return String();}void FrameLoaderClientQt::dispatchDidReceiveIcon(){ if (dumpFrameLoaderCallbacks) printf("%s - didReceiveIconForFrame\n", qPrintable(drtDescriptionSuitableForTestResult(m_frame))); if (m_webFrame) { emit m_webFrame->iconChanged(); }}void FrameLoaderClientQt::frameLoaderDestroyed(){ delete m_webFrame; m_frame = 0; m_webFrame = 0; delete this;}bool FrameLoaderClientQt::canHandleRequest(const WebCore::ResourceRequest&) const{ return true;}void FrameLoaderClientQt::windowObjectCleared(){ if (dumpFrameLoaderCallbacks) printf("%s - didClearWindowObjectForFrame\n", qPrintable(drtDescriptionSuitableForTestResult(m_frame))); if (m_webFrame) emit m_webFrame->javaScriptWindowObjectCleared();}void FrameLoaderClientQt::documentElementAvailable(){ return;}void FrameLoaderClientQt::didPerformFirstNavigation() const{ if (m_frame->tree()->parent() || !m_webFrame) return; m_webFrame->page()->d->updateNavigationActions();}void FrameLoaderClientQt::registerForIconNotification(bool){ notImplemented();}void FrameLoaderClientQt::updateGlobalHistory(){ QWebHistoryInterface *history = QWebHistoryInterface::defaultInterface(); if (history) history->addHistoryEntry(m_frame->loader()->documentLoader()->urlForHistory().prettyURL());}void FrameLoaderClientQt::updateGlobalHistoryRedirectLinks(){}bool FrameLoaderClientQt::shouldGoToHistoryItem(WebCore::HistoryItem *item) const{ return true;}void FrameLoaderClientQt::saveViewStateToItem(WebCore::HistoryItem* item){ QWebHistoryItem historyItem(new QWebHistoryItemPrivate(item)); emit m_webFrame->page()->saveFrameStateRequested(m_webFrame, &historyItem);}bool FrameLoaderClientQt::canCachePage() const{ return true;}void FrameLoaderClientQt::setMainDocumentError(WebCore::DocumentLoader* loader, const WebCore::ResourceError& error){ if (!m_pluginView) { if (m_firstData) { loader->frameLoader()->setEncoding(m_response.textEncodingName(), false); m_firstData = false; } } else { m_pluginView->didFail(error); m_pluginView = 0; m_hasSentResponseToPlugin = false; }}void FrameLoaderClientQt::committedLoad(WebCore::DocumentLoader* loader, const char* data, int length){ if (!m_pluginView) { if (!m_frame) return; FrameLoader *fl = loader->frameLoader(); if (m_firstData) { fl->setEncoding(m_response.textEncodingName(), false); m_firstData = false; } fl->addData(data, length); } // We re-check here as the plugin can have been created if (m_pluginView) { if (!m_hasSentResponseToPlugin) { m_pluginView->didReceiveResponse(loader->response()); m_hasSentResponseToPlugin = true; } m_pluginView->didReceiveData(data, length); }}WebCore::ResourceError FrameLoaderClientQt::cancelledError(const WebCore::ResourceRequest& request){ return ResourceError("Error", -999, request.url().prettyURL(), QCoreApplication::translate("QWebFrame", "Request cancelled", 0, QCoreApplication::UnicodeUTF8));}// copied from WebKit/Misc/WebKitErrors[Private].henum { WebKitErrorCannotShowMIMEType = 100, WebKitErrorCannotShowURL = 101, WebKitErrorFrameLoadInterruptedByPolicyChange = 102, WebKitErrorCannotUseRestrictedPort = 103, WebKitErrorCannotFindPlugIn = 200, WebKitErrorCannotLoadPlugIn = 201, WebKitErrorJavaUnavailable = 202,};WebCore::ResourceError FrameLoaderClientQt::blockedError(const WebCore::ResourceRequest& request){ return ResourceError("Error", WebKitErrorCannotUseRestrictedPort, request.url().prettyURL(), QCoreApplication::translate("QWebFrame", "Request blocked", 0, QCoreApplication::UnicodeUTF8));}WebCore::ResourceError FrameLoaderClientQt::cannotShowURLError(const WebCore::ResourceRequest& request){ return ResourceError("Error", WebKitErrorCannotShowURL, request.url().string(), QCoreApplication::translate("QWebFrame", "Cannot show URL", 0, QCoreApplication::UnicodeUTF8));}WebCore::ResourceError FrameLoaderClientQt::interruptForPolicyChangeError(const WebCore::ResourceRequest& request){ return ResourceError("Error", WebKitErrorFrameLoadInterruptedByPolicyChange, request.url().string(), QCoreApplication::translate("QWebFrame", "Frame load interruped by policy change", 0, QCoreApplication::UnicodeUTF8));}WebCore::ResourceError FrameLoaderClientQt::cannotShowMIMETypeError(const WebCore::ResourceResponse& response){ return ResourceError("Error", WebKitErrorCannotShowMIMEType, response.url().string(), QCoreApplication::translate("QWebFrame", "Cannot show mimetype", 0, QCoreApplication::UnicodeUTF8));}WebCore::ResourceError FrameLoaderClientQt::fileDoesNotExistError(const WebCore::ResourceResponse& response){ return ResourceError("Error", -998 /* ### */, response.url().string(), QCoreApplication::translate("QWebFrame", "File does not exist", 0, QCoreApplication::UnicodeUTF8));}WebCore::ResourceError FrameLoaderClientQt::pluginWillHandleLoadError(const WebCore::ResourceResponse& response){ notImplemented(); return ResourceError();}bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError&){ notImplemented(); return false;}WTF::PassRefPtr<WebCore::DocumentLoader> FrameLoaderClientQt::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData){ RefPtr<DocumentLoader> loader = DocumentLoader::create(request, substituteData); if (substituteData.isValid()) loader->setDeferMainResourceDataLoad(false); return loader.release();}void FrameLoaderClientQt::download(WebCore::ResourceHandle* handle, const WebCore::ResourceRequest&, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&){#if QT_VERSION >= 0x040400 if (!m_webFrame) return; QNetworkReplyHandler* handler = handle->getInternal()->m_job; QNetworkReply* reply = handler->release(); if (reply) { QWebPage *page = m_webFrame->page(); if (page->forwardUnsupportedContent()) emit m_webFrame->page()->unsupportedContent(reply); else reply->abort(); }#endif}void FrameLoaderClientQt::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader* loader, const WebCore::ResourceRequest& request){ if (dumpResourceLoadCallbacks) dumpAssignedUrls[identifier] = drtDescriptionSuitableForTestResult(request.url());}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -