⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frameloaderclientqt.cpp

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 CPP
📖 第 1 页 / 共 3 页
字号:
{    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 + -