summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp')
-rw-r--r--Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 647a70c..d640b65 100644
--- a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -380,7 +380,7 @@ void FrameLoaderClientImpl::dispatchDidReceiveResponse(DocumentLoader* loader,
void FrameLoaderClientImpl::dispatchDidReceiveContentLength(
DocumentLoader* loader,
unsigned long identifier,
- int lengthReceived)
+ int dataLength)
{
}
@@ -714,10 +714,18 @@ void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad()
// m_expectedClientRedirectDest could be something like
// "javascript:history.go(-1)" thus we need to exclude url starts with
// "javascript:". See bug: 1080873
- ASSERT(m_expectedClientRedirectDest.protocolIs("javascript")
- || m_expectedClientRedirectDest == url);
- ds->appendRedirect(m_expectedClientRedirectSrc);
- completingClientRedirect = true;
+ if (m_expectedClientRedirectDest.protocolIs("javascript")
+ || m_expectedClientRedirectDest == url) {
+ ds->appendRedirect(m_expectedClientRedirectSrc);
+ completingClientRedirect = true;
+ } else {
+ // Any pending redirect is no longer in progress. This can happen
+ // if the navigation was canceled with PolicyIgnore, or if the
+ // redirect was scheduled on the wrong frame (e.g., due to a form
+ // submission targeted to _blank, as in http://webkit.org/b/44079).
+ m_expectedClientRedirectSrc = KURL();
+ m_expectedClientRedirectDest = KURL();
+ }
}
ds->appendRedirect(url);
@@ -734,10 +742,10 @@ void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad()
}
}
-void FrameLoaderClientImpl::dispatchDidReceiveTitle(const String& title)
+void FrameLoaderClientImpl::dispatchDidReceiveTitle(const StringWithDirection& title)
{
if (m_webFrame->client())
- m_webFrame->client()->didReceiveTitle(m_webFrame, title);
+ m_webFrame->client()->didReceiveTitle(m_webFrame, title.string(), title.direction() == LTR ? WebTextDirectionLeftToRight : WebTextDirectionRightToLeft);
}
void FrameLoaderClientImpl::dispatchDidChangeIcons()
@@ -1328,7 +1336,7 @@ PassRefPtr<DocumentLoader> FrameLoaderClientImpl::createDocumentLoader(
return ds.release();
}
-void FrameLoaderClientImpl::setTitle(const String& title, const KURL& url)
+void FrameLoaderClientImpl::setTitle(const StringWithDirection& title, const KURL& url)
{
// FIXME: inform consumer of changes to the title.
}