Index: Source/web/FrameLoaderClientImpl.cpp |
diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp |
index bf1b6dc947707590a69c653f202b72808e544096..81749d7807548222d50026463c981e26da97a660 100644 |
--- a/Source/web/FrameLoaderClientImpl.cpp |
+++ b/Source/web/FrameLoaderClientImpl.cpp |
@@ -391,10 +391,10 @@ void FrameLoaderClientImpl::dispatchWillClose() |
m_webFrame->client()->willClose(m_webFrame); |
} |
-void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad() |
+void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad(bool isTransitionNavigation) |
{ |
if (m_webFrame->client()) |
- m_webFrame->client()->didStartProvisionalLoad(m_webFrame); |
+ m_webFrame->client()->didStartProvisionalLoad(m_webFrame, isTransitionNavigation); |
} |
void FrameLoaderClientImpl::dispatchDidReceiveTitle(const String& title) |
@@ -464,16 +464,31 @@ void FrameLoaderClientImpl::dispatchDidChangeThemeColor() |
m_webFrame->client()->didChangeThemeColor(); |
} |
-NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const ResourceRequest& request, DocumentLoader* loader, NavigationPolicy policy) |
+NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const ResourceRequest& request, DocumentLoader* loader, NavigationPolicy policy, bool isTransitionNavigation) |
{ |
if (!m_webFrame->client()) |
return NavigationPolicyIgnore; |
WebDataSourceImpl* ds = WebDataSourceImpl::fromDocumentLoader(loader); |
- WebNavigationPolicy webPolicy = m_webFrame->client()->decidePolicyForNavigation(m_webFrame, ds->extraData(), WrappedResourceRequest(request), |
- ds->navigationType(), static_cast<WebNavigationPolicy>(policy), ds->isRedirect()); |
+ |
+ WrappedResourceRequest wrappedResourceRequest(request); |
+ WebFrameClient::NavigationPolicyInfo navigationInfo(wrappedResourceRequest); |
+ navigationInfo.frame = m_webFrame; |
+ navigationInfo.extraData = ds->extraData(); |
+ navigationInfo.navigationType = ds->navigationType(); |
+ navigationInfo.defaultPolicy = static_cast<WebNavigationPolicy>(policy); |
+ navigationInfo.isRedirect = ds->isRedirect(); |
+ navigationInfo.isTransitionNavigation = isTransitionNavigation; |
+ |
+ WebNavigationPolicy webPolicy = m_webFrame->client()->decidePolicyForNavigation(navigationInfo); |
return static_cast<NavigationPolicy>(webPolicy); |
} |
+void FrameLoaderClientImpl::dispatchAddNavigationTransitionData(const String& allowedDestinationOrigin, const String& selector, const String& markup) |
+{ |
+ if (m_webFrame->client()) |
+ m_webFrame->client()->addNavigationTransitionData(allowedDestinationOrigin, selector, markup); |
+} |
+ |
void FrameLoaderClientImpl::dispatchWillRequestResource(FetchRequest* request) |
{ |
if (m_webFrame->client()) { |