Index: third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp |
diff --git a/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp b/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp |
index dbfba72aa888f8f5df1bda12a1eb038eb39d7f77..4de37d82fc6e2d3803f6e317c7e2b089ca0b83db 100644 |
--- a/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp |
+++ b/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp |
@@ -583,12 +583,18 @@ NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const Resource |
WebDataSourceImpl* ds = WebDataSourceImpl::fromDocumentLoader(loader); |
+ bool isHistoryNavigationInNewChildFrame = m_webFrame->parent() |
dcheng
2015/12/01 19:47:53
Do you mind adding a comment that describes the lo
Charlie Reis
2015/12/01 22:11:51
Done. I also noticed that I should have been usin
|
+ && m_webFrame->parent()->isWebLocalFrame() |
+ && isBackForwardLoadType(toWebLocalFrameImpl(m_webFrame->parent())->frame()->loader().loadType()) |
+ && !m_webFrame->frame()->document()->loadEventFinished(); |
+ |
WrappedResourceRequest wrappedResourceRequest(request); |
WebFrameClient::NavigationPolicyInfo navigationInfo(wrappedResourceRequest); |
navigationInfo.navigationType = static_cast<WebNavigationType>(type); |
navigationInfo.defaultPolicy = static_cast<WebNavigationPolicy>(policy); |
navigationInfo.extraData = ds ? ds->extraData() : nullptr; |
navigationInfo.replacesCurrentHistoryItem = replacesCurrentHistoryItem; |
+ navigationInfo.isHistoryNavigationInNewChildFrame = isHistoryNavigationInNewChildFrame; |
WebNavigationPolicy webPolicy = m_webFrame->client()->decidePolicyForNavigation(navigationInfo); |
return static_cast<NavigationPolicy>(webPolicy); |