Chromium Code Reviews| 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 031199d6675b7907a7f77c7e2eb8dc81a63a6c7d..24811542a83ff0c5f33a7e5e2ce50f214008fe77 100644 |
| --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
| +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
| @@ -797,7 +797,9 @@ void FrameLoader::updateForSameDocumentNavigation( |
| // Generate start and stop notifications only when loader is completed so that |
| // we don't fire them for fragment redirection that happens in window.onload |
| // handler. See https://bugs.webkit.org/show_bug.cgi?id=31838 |
| - if (m_frame->document()->loadEventFinished()) |
| + // Do not fire the notifications if the frame is navigating away from the |
| + // document, since a new document is already loading. |
|
Charlie Reis
2016/11/04 17:30:53
nit: concurrently navigating away
clamy
2016/11/07 14:10:51
Done.
|
| + if (m_frame->document()->loadEventFinished() && !m_provisionalDocumentLoader) |
| client()->didStartLoading(NavigationWithinSameDocument); |
| HistoryCommitType historyCommitType = loadTypeToCommitType(type); |
| @@ -820,7 +822,7 @@ void FrameLoader::updateForSameDocumentNavigation( |
| client()->dispatchDidNavigateWithinPage( |
| m_currentItem.get(), historyCommitType, !!initiatingDocument); |
| client()->dispatchDidReceiveTitle(m_frame->document()->title()); |
| - if (m_frame->document()->loadEventFinished()) |
| + if (m_frame->document()->loadEventFinished() && !m_provisionalDocumentLoader) |
| client()->didStopLoading(); |
| } |