void WebFrameLoaderClient::dispatchDidCommitLoad() { WebPage* webPage = m_frame->page(); if (!webPage) return; const ResourceResponse& response = m_frame->coreFrame()->loader()->documentLoader()->response(); RefPtr<APIObject> userData; // Notify the bundle client. webPage->injectedBundleLoaderClient().didCommitLoadForFrame(webPage, m_frame, userData); webPage->sandboxExtensionTracker().didCommitProvisionalLoad(m_frame); // Notify the UIProcess. webPage->send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame->frameID(), response.mimeType(), m_frameHasCustomRepresentation, PlatformCertificateInfo(response), InjectedBundleUserMessageEncoder(userData.get()))); // Only restore the scale factor for standard frame loads (of the main frame). if (m_frame->isMainFrame() && m_frame->coreFrame()->loader()->loadType() == FrameLoadTypeStandard) { Page* page = m_frame->coreFrame()->page(); if (page && page->pageScaleFactor() != 1) webPage->scalePage(1, IntPoint()); } }
void WebFrameLoaderClient::dispatchDidFailProvisionalLoad(const ResourceError& error) { WebPage* webPage = m_frame->page(); if (!webPage) return; RefPtr<APIObject> userData; // Notify the bundle client. webPage->injectedBundleLoaderClient().didFailProvisionalLoadWithErrorForFrame(webPage, m_frame, error, userData); webPage->sandboxExtensionTracker().didFailProvisionalLoad(m_frame); // Notify the UIProcess. webPage->send(Messages::WebPageProxy::DidFailProvisionalLoadForFrame(m_frame->frameID(), error, InjectedBundleUserMessageEncoder(userData.get()))); // If we have a load listener, notify it. if (WebFrame::LoadListener* loadListener = m_frame->loadListener()) loadListener->didFailLoad(m_frame, error.isCancellation()); }
void WebFrameLoaderClient::dispatchDidStartProvisionalLoad() { WebPage* webPage = m_frame->page(); if (!webPage) return; webPage->findController().hideFindUI(); webPage->sandboxExtensionTracker().didStartProvisionalLoad(m_frame); DocumentLoader* provisionalLoader = m_frame->coreFrame()->loader()->provisionalDocumentLoader(); const String& url = provisionalLoader->url().string(); RefPtr<APIObject> userData; // Notify the bundle client. webPage->injectedBundleLoaderClient().didStartProvisionalLoadForFrame(webPage, m_frame, userData); String unreachableURL = provisionalLoader->unreachableURL().string(); // Notify the UIProcess. webPage->send(Messages::WebPageProxy::DidStartProvisionalLoadForFrame(m_frame->frameID(), url, unreachableURL, InjectedBundleUserMessageEncoder(userData.get()))); }