| 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 f220e5cf8cbe9fc28bc989ffb60ee9c092637017..d9f1490d547542a3268aa7cdeaa6c60a5a2204b9 100644
|
| --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| @@ -776,7 +776,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.
|
| + if (m_frame->document()->loadEventFinished() && !m_provisionalDocumentLoader)
|
| client()->didStartLoading(NavigationWithinSameDocument);
|
|
|
| HistoryCommitType historyCommitType = loadTypeToCommitType(type);
|
| @@ -799,7 +801,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();
|
| }
|
|
|
|
|