virtual void fire(Frame& frame) override { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); ResourceRequest resourceRequest(url(), referrer(), ReloadIgnoringCacheData); FrameLoadRequest frameRequest(securityOrigin(), resourceRequest, "_self", lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, m_shouldOpenExternalURLsPolicy); frame.loader().changeLocation(frameRequest); }
void fire(Frame& frame) override { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); bool refresh = equalIgnoringFragmentIdentifier(frame.document()->url(), url()); ResourceRequest resourceRequest(url(), referrer(), refresh ? ReloadIgnoringCacheData : UseProtocolCachePolicy); FrameLoadRequest frameRequest(securityOrigin(), resourceRequest, "_self", lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, m_shouldOpenExternalURLsPolicy); frame.loader().changeLocation(frameRequest); }
virtual void fire(Frame* frame) { UserGestureIndicator gestureIndicator(m_wasProcessingUserGesture ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture); // The submitForm function will find a target frame before using the redirection timer. // Now that the timer has fired, we need to repeat the security check which normally is done when // selecting a target, in case conditions have changed. Other code paths avoid this by targeting // without leaving a time window. If we fail the check just silently drop the form submission. if (!m_formState->sourceFrame()->loader()->shouldAllowNavigation(frame)) return; frame->loader()->loadFrameRequest(m_frameRequest, lockHistory(), lockBackForwardList(), m_event, m_formState, SendReferrer); }
virtual void fire(Frame* frame) { FrameLoader* loader = frame->loader(); if (!m_historySteps) { // Special case for go(0) from a frame -> reload only the frame loader->urlSelected(loader->url(), "", 0, lockHistory(), lockBackForwardList(), false, SendReferrer); return; } // go(i!=0) from a frame navigates into the history of the frame only, // in both IE and NS (but not in Mozilla). We can't easily do that. frame->page()->goBackOrForward(m_historySteps); }
virtual void fire(Frame* frame) { // The submitForm function will find a target frame before using the redirection timer. // Now that the timer has fired, we need to repeat the security check which normally is done when // selecting a target, in case conditions have changed. Other code paths avoid this by targeting // without leaving a time window. If we fail the check just silently drop the form submission. if (!m_submission->state()->sourceFrame()->loader()->shouldAllowNavigation(frame)) return; FrameLoadRequest frameRequest; m_submission->populateFrameLoadRequest(frameRequest); frame->loader()->loadFrameRequest(frameRequest, lockHistory(), lockBackForwardList(), m_submission->event(), m_submission->state(), SendReferrer); }
virtual void fire(Frame* frame) { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); if (!m_historySteps) { // Special case for go(0) from a frame -> reload only the frame // To follow Firefox and IE's behavior, history reload can only navigate the self frame. frame->loader().urlSelected(frame->document()->url(), "_self", 0, lockHistory(), lockBackForwardList(), MaybeSendReferrer); return; } // go(i!=0) from a frame navigates into the history of the frame only, // in both IE and NS (but not in Mozilla). We can't easily do that. frame->page()->backForward().goBackOrForward(m_historySteps); }
virtual void fire(Frame& frame) override { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); // The submitForm function will find a target frame before using the redirection timer. // Now that the timer has fired, we need to repeat the security check which normally is done when // selecting a target, in case conditions have changed. Other code paths avoid this by targeting // without leaving a time window. If we fail the check just silently drop the form submission. Document* requestingDocument = m_submission->state()->sourceDocument(); if (!requestingDocument->canNavigate(&frame)) return; FrameLoadRequest frameRequest(requestingDocument->securityOrigin(), lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, m_shouldOpenExternalURLsPolicy); m_submission->populateFrameLoadRequest(frameRequest); frame.loader().loadFrameRequest(frameRequest, m_submission->event(), m_submission->state()); }
virtual void fire(Frame* frame) { frame->loader()->changeLocation(KURL(ParsedURLString, m_url), m_referrer, lockHistory(), lockBackForwardList(), m_wasUserGesture, false); }
virtual void fire(Frame* frame) { frame->loader()->changeLocation(KURL(ParsedURLString, url()), referrer(), lockHistory(), lockBackForwardList(), wasUserGesture(), true); }
virtual void fire(Frame& frame) override { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); frame.loader().changeLocation(securityOrigin(), URL(ParsedURLString, url()), referrer(), lockHistory(), lockBackForwardList(), true); }
virtual void fire(Frame& frame) override { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); bool refresh = equalIgnoringFragmentIdentifier(frame.document()->url(), URL(ParsedURLString, url())); frame.loader().changeLocation(securityOrigin(), URL(ParsedURLString, url()), referrer(), lockHistory(), lockBackForwardList(), refresh); }
virtual void fire(Frame* frame) { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); frame->loader()->changeLocation(KURL(ParsedURLString, m_url), m_referrer, lockHistory(), lockBackForwardList(), false); }
virtual void fire(Frame* frame) { //String oldThirdPartyId = V8IsolatedContext::getThirdPartyId(); //V8IsolatedContext::setThirdPartyId(m_thirdPartyId); frame->setThirdPartyId(m_thirdPartyId); UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); frame->loader()->changeLocation(m_securityOrigin.get(), KURL(ParsedURLString, m_url), m_referrer, lockHistory(), lockBackForwardList(), false); //V8IsolatedContext::setThirdPartyId(oldThirdPartyId); }
void KonqView::openUrl( const KUrl &url, const QString & locationBarURL, const QString & nameFilter, bool tempFile ) { kDebug() << "url=" << url << "locationBarURL=" << locationBarURL; setPartMimeType(); KParts::OpenUrlArguments args; if ( m_pPart ) args = m_pPart->arguments(); KParts::BrowserExtension *ext = browserExtension(); KParts::BrowserArguments browserArgs; if ( ext ) browserArgs = ext->browserArguments(); // Typing "Enter" again after the URL of an aborted view, triggers a reload. if ( m_bAborted && m_pPart && m_pPart->url() == url && !browserArgs.doPost()) { if ( !prepareReload( args, browserArgs, false /* not softReload */ ) ) return; m_pPart->setArguments( args ); } #ifdef DEBUG_HISTORY kDebug() << "m_bLockedLocation=" << m_bLockedLocation << "browserArgs.lockHistory()=" << browserArgs.lockHistory(); #endif if ( browserArgs.lockHistory() ) lockHistory(); if ( !m_bLockHistory ) { // Store this new URL in the history, removing any existing forward history. // We do this first so that everything is ready if a part calls completed(). createHistoryEntry(); } else m_bLockHistory = false; if ( m_pPart ) m_pPart->setProperty("nameFilter", nameFilter); if ( m_bDisableScrolling ) callExtensionMethod( "disableScrolling" ); // Set location-bar URL, except for error urls, where we know the browser component // will set back the url with the error anyway. if (url.protocol() != "error") setLocationBarURL(locationBarURL); setPageSecurity(KonqMainWindow::NotCrypted); if ( !args.reload() ) { // Save the POST data that is necessary to open this URL // (so that reload can re-post it) m_doPost = browserArgs.doPost(); m_postContentType = browserArgs.contentType(); m_postData = browserArgs.postData; // Save the referrer m_pageReferrer = args.metaData()["referrer"]; } if ( tempFile ) { // Store the path to the tempfile. Yes, we could store a bool only, // but this would be more dangerous. If anything goes wrong in the code, // we might end up deleting a real file. if ( url.isLocalFile() ) m_tempFile = url.toLocalFile(); else kWarning() << "Tempfile option is set, but URL is remote:" << url ; } aboutToOpenURL( url, args ); m_pPart->openUrl( url ); updateHistoryEntry(false /* don't save location bar URL yet */); // add pending history entry KonqHistoryManager::kself()->addPending( url, locationBarURL, QString()); #ifdef DEBUG_HISTORY kDebug() << "Current position:" << historyIndex(); #endif }
void fire(Frame& frame) override { UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture); ResourceResponse replacementResponse(m_originDocument.url(), ASCIILiteral("text/plain"), 0, ASCIILiteral("UTF-8")); SubstituteData replacementData(SharedBuffer::create(), m_originDocument.url(), replacementResponse, SubstituteData::SessionHistoryVisibility::Hidden); ResourceRequest resourceRequest(m_originDocument.url(), emptyString(), ReloadIgnoringCacheData); FrameLoadRequest frameRequest(m_originDocument.securityOrigin(), resourceRequest, lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, m_shouldOpenExternalURLsPolicy); frameRequest.setSubstituteData(replacementData); frame.loader().load(frameRequest); }