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 afdbfece636ea3c32364eb96876b9cbd71085946..b82846bd32da5b5d34a72fb53222589f5f71ffb4 100644 |
--- a/third_party/WebKit/Source/core/dom/Document.cpp |
+++ b/third_party/WebKit/Source/core/dom/Document.cpp |
@@ -2730,9 +2730,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(); |