void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks() { WebView* webView = m_webFrame->webView(); COMPtr<IWebHistoryDelegate> historyDelegate; webView->historyDelegate(&historyDelegate); WebHistory* history = WebHistory::sharedHistory(); DocumentLoader* loader = core(m_webFrame)->loader().documentLoader(); ASSERT(loader->unreachableURL().isEmpty()); if (!loader->clientRedirectSourceForHistory().isNull()) { if (historyDelegate) { BString sourceURL(loader->clientRedirectSourceForHistory()); BString destURL(loader->clientRedirectDestinationForHistory()); historyDelegate->didPerformClientRedirectFromURL(webView, sourceURL, destURL, m_webFrame); } } if (!loader->serverRedirectSourceForHistory().isNull()) { if (historyDelegate) { BString sourceURL(loader->serverRedirectSourceForHistory()); BString destURL(loader->serverRedirectDestinationForHistory()); historyDelegate->didPerformServerRedirectFromURL(webView, sourceURL, destURL, m_webFrame); } } }
void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks() { WebPage* webPage = m_frame->page(); if (!webPage) return; DocumentLoader* loader = m_frame->coreFrame()->loader()->documentLoader(); ASSERT(loader->unreachableURL().isEmpty()); // Client redirect if (!loader->clientRedirectSourceForHistory().isNull()) { WebProcess::shared().connection()->send(WebProcessProxyMessage::DidPerformClientRedirect, 0, CoreIPC::In(webPage->pageID(), loader->clientRedirectSourceForHistory(), loader->clientRedirectDestinationForHistory(), m_frame->frameID())); } // Server redirect if (!loader->serverRedirectSourceForHistory().isNull()) { WebProcess::shared().connection()->send(WebProcessProxyMessage::DidPerformServerRedirect, 0, CoreIPC::In(webPage->pageID(), loader->serverRedirectSourceForHistory(), loader->serverRedirectDestinationForHistory(), m_frame->frameID())); } }
void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks() { WebHistory* history = WebHistory::sharedHistory(); if (!history) return; DocumentLoader* loader = core(m_webFrame)->loader()->documentLoader(); ASSERT(loader->unreachableURL().isEmpty()); if (!loader->clientRedirectSourceForHistory().isNull()) { if (WebHistoryItem *webHistoryItem = history->itemForURLString(loader->clientRedirectSourceForHistory())) { webHistoryItem->getPrivateItem()->m_historyItem.get()->addRedirectURL(loader->clientRedirectDestinationForHistory()); } } if (!loader->serverRedirectSourceForHistory().isNull()) { if (WebHistoryItem *webHistoryItem = history->itemForURLString(loader->serverRedirectSourceForHistory())) { webHistoryItem->getPrivateItem()->m_historyItem.get()->addRedirectURL(loader->serverRedirectDestinationForHistory()); } } }
void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks() { WebPage* webPage = m_frame->page(); if (!webPage || !webPage->pageGroup()->isVisibleToHistoryClient()) return; DocumentLoader* loader = m_frame->coreFrame()->loader()->documentLoader(); ASSERT(loader->unreachableURL().isEmpty()); // Client redirect if (!loader->clientRedirectSourceForHistory().isNull()) { WebProcess::shared().connection()->send(Messages::WebContext::DidPerformClientRedirect(webPage->pageID(), loader->clientRedirectSourceForHistory(), loader->clientRedirectDestinationForHistory(), m_frame->frameID()), 0); } // Server redirect if (!loader->serverRedirectSourceForHistory().isNull()) { WebProcess::shared().connection()->send(Messages::WebContext::DidPerformServerRedirect(webPage->pageID(), loader->serverRedirectSourceForHistory(), loader->serverRedirectDestinationForHistory(), m_frame->frameID()), 0); } }
void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks() { WebHistory* history = WebHistory::sharedHistory(); if (!history) return; DocumentLoader* loader = core(m_webFrame)->loader()->documentLoader(); if (!loader->clientRedirectSourceForHistory().isNull()) { if (COMPtr<IWebHistoryItem> iWebHistoryItem = history->itemForURLString(loader->clientRedirectSourceForHistory())) { COMPtr<WebHistoryItem> webHistoryItem(Query, iWebHistoryItem); webHistoryItem->historyItem()->addRedirectURL(loader->clientRedirectDestinationForHistory()); } } if (!loader->serverRedirectSourceForHistory().isNull()) { if (COMPtr<IWebHistoryItem> iWebHistoryItem = history->itemForURLString(loader->serverRedirectSourceForHistory())) { COMPtr<WebHistoryItem> webHistoryItem(Query, iWebHistoryItem); webHistoryItem->historyItem()->addRedirectURL(loader->serverRedirectDestinationForHistory()); } } }
void FrameLoaderClientAndroid::updateGlobalHistory() { ASSERT(m_frame); DocumentLoader* docLoader = m_frame->loader()->documentLoader(); ASSERT(docLoader); // Code copied from FrameLoader.cpp:createHistoryItem // Only add this URL to the database if it is a valid page if (docLoader->unreachableURL().isEmpty() && docLoader->response().httpStatusCode() < 400) { m_webFrame->updateVisitedHistory(docLoader->urlForHistory(), false); if (!docLoader->serverRedirectSourceForHistory().isNull()) m_webFrame->updateVisitedHistory(KURL(ParsedURLString, docLoader->serverRedirectDestinationForHistory()), false); } }
void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks() { WebView* webView = m_webFrame->webView(); SharedPtr<WebHistoryDelegate> historyDelegate = webView->historyDelegate(); WebHistory* history = WebHistory::sharedHistory(); DocumentLoader* loader = core(m_webFrame)->loader()->documentLoader(); ASSERT(loader->unreachableURL().isEmpty()); if (!loader->clientRedirectSourceForHistory().isNull()) { if (historyDelegate) { String sourceURL(loader->clientRedirectSourceForHistory()); String destinationURL(loader->clientRedirectDestinationForHistory()); historyDelegate->didPerformClientRedirectFromURL(webView, sourceURL.utf8().data(), destinationURL.utf8().data(), m_webFrame); } else { if (history) { if (WebHistoryItem* webHistoryItem = history->itemForURLString(strdup(loader->clientRedirectSourceForHistory().utf8().data()))) webHistoryItem->getPrivateItem()->m_historyItem.get()->addRedirectURL(loader->clientRedirectDestinationForHistory()); } } } if (!loader->serverRedirectSourceForHistory().isNull()) { if (historyDelegate) { String sourceURL(loader->serverRedirectSourceForHistory()); String destinationURL(loader->serverRedirectDestinationForHistory()); historyDelegate->didPerformServerRedirectFromURL(webView, sourceURL.utf8().data(), destinationURL.utf8().data(), m_webFrame); } else { if (history) { if (WebHistoryItem *webHistoryItem = history->itemForURLString(strdup(loader->serverRedirectSourceForHistory().utf8().data()))) webHistoryItem->getPrivateItem()->m_historyItem.get()->addRedirectURL(loader->serverRedirectDestinationForHistory()); } } } }