Index: third_party/WebKit/Source/core/dom/Document.cpp |
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp |
index e416c6872d431b455ad71bb2fdc64b14c67f6dca..68087f991ebb1d778611d24a272d02756d4bbcdf 100644 |
--- a/third_party/WebKit/Source/core/dom/Document.cpp |
+++ b/third_party/WebKit/Source/core/dom/Document.cpp |
@@ -2726,9 +2726,15 @@ void Document::open() { |
} |
} |
- // PlzNavigate: We should abort ongoing navigations handled by the client. |
- if (m_frame->loader().hasProvisionalNavigation()) |
+ if (m_frame->loader().hasProvisionalNavigation()) { |
m_frame->loader().stopAllLoaders(); |
+ // PlzNavigate: navigations handled by the client should also be |
+ // cancelled. |
+ if (m_frame->loader().client() && |
+ m_frame->settings()->getBrowserSideNavigationEnabled()) { |
+ m_frame->loader().client()->abortClientNavigation(); |
+ } |
+ } |
} |
removeAllEventListenersRecursively(); |