Index: third_party/WebKit/Source/core/loader/FrameLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
index 0610418fd1c887b2c6234a917927ef78991a3ac6..273f5cd576740e0b81b6d92d2384965187127496 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -1173,7 +1173,6 @@ void FrameLoader::load(const FrameLoadRequest& passedRequest, |
shouldPerformFragmentNavigation(request.form(), |
request.resourceRequest().httpMethod(), |
newLoadType, url); |
- |
// Perform same document navigation. |
if (sameDocumentHistoryNavigation || sameDocumentNavigation) { |
DCHECK(historyItem || !sameDocumentHistoryNavigation); |
@@ -1192,6 +1191,14 @@ void FrameLoader::load(const FrameLoadRequest& passedRequest, |
return; |
} |
+ // PlzNavigate |
+ // If the loader classifies this navigation as a different document navigation |
+ // while the browser intended the navigation to be same-document, it means |
+ // that a different navigation must have committed while the IPC was sent. |
+ // This navigation is no more same-document. The navigation is simply dropped. |
nasko
2017/01/13 19:36:57
Looking at the code in RenderFrameImpl::NavigateIn
arthursonzogni
2017/01/17 15:24:48
It's because the response body stream is empty.
Th
nasko
2017/01/19 00:43:35
How about JS executing "window.history.back()" or
arthursonzogni
2017/01/19 17:49:21
For renderer-initiated history-navigation. The ren
|
+ if (request.resourceRequest().isSameDocumentNavigation()) |
+ return; |
+ |
startLoad(request, newLoadType, policy); |
} |