本文整理汇总了C++中FrameLoader::url方法的典型用法代码示例。如果您正苦于以下问题:C++ FrameLoader::url方法的具体用法?C++ FrameLoader::url怎么用?C++ FrameLoader::url使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FrameLoader
的用法示例。
在下文中一共展示了FrameLoader::url方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: scheduleLocationChange
void RedirectScheduler::scheduleLocationChange(const String& url, const String& referrer, bool lockHistory, bool lockBackForwardList, bool wasUserGesture)
{
if (!m_frame->page())
return;
if (url.isEmpty())
return;
lockBackForwardList = lockBackForwardList || mustLockBackForwardList(m_frame);
FrameLoader* loader = m_frame->loader();
// If the URL we're going to navigate to is the same as the current one, except for the
// fragment part, we don't need to schedule the location change.
KURL parsedURL(ParsedURLString, url);
if (parsedURL.hasFragmentIdentifier() && equalIgnoringFragmentIdentifier(loader->url(), parsedURL)) {
loader->changeLocation(loader->completeURL(url), referrer, lockHistory, lockBackForwardList, wasUserGesture);
return;
}
// Handle a location change of a page with no document as a special case.
// This may happen when a frame changes the location of another frame.
bool duringLoad = !loader->committedFirstRealDocumentLoad();
schedule(new ScheduledLocationChange(url, referrer, lockHistory, lockBackForwardList, wasUserGesture, duringLoad));
}
示例2: fire
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);
}
示例3: fire
virtual void fire(Frame* frame)
{
UserGestureIndicator gestureIndicator(wasUserGesture() ? DefinitelyProcessingUserGesture : DefinitelyNotProcessingUserGesture);
FrameLoader* loader = frame->loader();
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.
loader->urlSelected(loader->url(), "_self", 0, lockHistory(), lockBackForwardList(), 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);
}
示例4: timerFired
void RedirectScheduler::timerFired(Timer<RedirectScheduler>*)
{
if (!m_frame->page())
return;
if (m_frame->page()->defersLoading())
return;
OwnPtr<ScheduledRedirection> redirection(m_scheduledRedirection.release());
FrameLoader* loader = m_frame->loader();
switch (redirection->type) {
case ScheduledRedirection::redirection:
case ScheduledRedirection::locationChange:
loader->changeLocation(KURL(ParsedURLString, redirection->url), redirection->referrer,
redirection->lockHistory, redirection->lockBackForwardList, redirection->wasUserGesture, redirection->wasRefresh);
return;
case ScheduledRedirection::historyNavigation:
if (redirection->historySteps == 0) {
// Special case for go(0) from a frame -> reload only the frame
loader->urlSelected(loader->url(), "", 0, redirection->lockHistory, redirection->lockBackForwardList, redirection->wasUserGesture, 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.
m_frame->page()->goBackOrForward(redirection->historySteps);
return;
case ScheduledRedirection::formSubmission:
// 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 (!redirection->formState->sourceFrame()->loader()->shouldAllowNavigation(m_frame))
return;
loader->loadFrameRequest(redirection->frameRequest, redirection->lockHistory, redirection->lockBackForwardList,
redirection->event, redirection->formState, SendReferrer);
return;
}
ASSERT_NOT_REACHED();
}
示例5: setForFrame
void SecurityOrigin::setForFrame(Frame* frame)
{
clear();
FrameLoader* loader = frame->loader();
const KURL& securityPolicyURL = loader->url();
if (!securityPolicyURL.isEmpty()) {
m_protocol = securityPolicyURL.protocol().lower();
m_host = securityPolicyURL.host().lower();
m_port = securityPolicyURL.port();
if (m_port)
m_portSet = true;
// data: URLs are not allowed access to anything other than themselves.
if (m_protocol == "data") {
m_noAccess = true;
return;
}
// Only in the case of about:blank or javascript: URLs (which create documents using the "about"
// protocol) do we want to use the parent or openers URL as the origin.
if (m_protocol != "about")
return;
}
Frame* openerFrame = frame->tree()->parent();
if (!openerFrame) {
openerFrame = loader->opener();
if (!openerFrame)
return;
}
Document* openerDocument = openerFrame->document();
if (!openerDocument)
return;
*this = openerDocument->securityOrigin();
}
示例6: updateForStandardLoad
void HistoryController::updateForStandardLoad(HistoryUpdateType updateType)
{
LOG(History, "WebCoreHistory: Updating History for Standard Load in frame %s", m_frame->loader()->documentLoader()->url().string().ascii().data());
FrameLoader* frameLoader = m_frame->loader();
Settings* settings = m_frame->settings();
bool needPrivacy = !settings || settings->privateBrowsingEnabled();
const KURL& historyURL = frameLoader->documentLoader()->urlForHistory();
if (!frameLoader->documentLoader()->isClientRedirect()) {
if (!historyURL.isEmpty()) {
if (updateType != UpdateAllExceptBackForwardList)
updateBackForwardListClippedAtTarget(true);
if (!needPrivacy) {
frameLoader->client()->updateGlobalHistory();
frameLoader->documentLoader()->setDidCreateGlobalHistoryEntry(true);
if (frameLoader->documentLoader()->unreachableURL().isEmpty())
frameLoader->client()->updateGlobalHistoryRedirectLinks();
}
if (Page* page = m_frame->page())
page->setGlobalHistoryItem(needPrivacy ? 0 : page->backForward()->currentItem());
}
} else if (frameLoader->documentLoader()->unreachableURL().isEmpty() && m_currentItem) {
m_currentItem->setURL(frameLoader->documentLoader()->url());
m_currentItem->setFormInfoFromRequest(frameLoader->documentLoader()->request());
}
if (!historyURL.isEmpty() && !needPrivacy) {
if (Page* page = m_frame->page())
addVisitedLink(page, historyURL);
if (!frameLoader->documentLoader()->didCreateGlobalHistoryEntry() && frameLoader->documentLoader()->unreachableURL().isEmpty() && !frameLoader->url().isEmpty())
frameLoader->client()->updateGlobalHistoryRedirectLinks();
}
}