| 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()) {
|
|
|