Index: Source/web/FrameLoaderClientImpl.cpp |
diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp |
index d3039f99bc06a58b3ebb82c351da83002c21677c..62679dcafd537959a5bb56983226e45aa7aed0e0 100644 |
--- a/Source/web/FrameLoaderClientImpl.cpp |
+++ b/Source/web/FrameLoaderClientImpl.cpp |
@@ -383,10 +383,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) |
@@ -456,16 +456,31 @@ void FrameLoaderClientImpl::dispatchDidChangeBrandColor() |
m_webFrame->client()->didChangeBrandColor(m_webFrame); |
} |
-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& markup) |
+{ |
+ if (m_webFrame->client()) |
+ m_webFrame->client()->addNavigationTransitionData(allowedDestinationOrigin, markup); |
+} |
+ |
void FrameLoaderClientImpl::dispatchWillRequestResource(FetchRequest* request) |
{ |
if (m_webFrame->client()) { |