| 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 440f0a8f70bf33bfead5ab871e8c979e8386c600..a55f4d0157fcfccb37b42772c2211d76570f1b68 100644
|
| --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| @@ -724,6 +724,7 @@ void FrameLoader::detachDocumentLoader(Member<DocumentLoader>& loader)
|
| if (!loader)
|
| return;
|
|
|
| + FrameNavigationDisabler navigationDisabler(*m_frame);
|
| loader->detachFromFrame();
|
| loader = nullptr;
|
| }
|
| @@ -1108,7 +1109,6 @@ bool FrameLoader::prepareForCommit()
|
| // At this point, the provisional document loader should not detach, because
|
| // then the FrameLoader would not have any attached DocumentLoaders.
|
| if (m_documentLoader) {
|
| - FrameNavigationDisabler navigationDisabler(*m_frame);
|
| TemporaryChange<bool> inDetachDocumentLoader(m_protectProvisionalLoader, true);
|
| detachDocumentLoader(m_documentLoader);
|
| }
|
| @@ -1419,10 +1419,7 @@ void FrameLoader::startLoad(FrameLoadRequest& frameLoadRequest, FrameLoadType ty
|
| return;
|
|
|
| m_frame->document()->cancelParsing();
|
| - if (m_provisionalDocumentLoader) {
|
| - FrameNavigationDisabler navigationDisabler(*m_frame);
|
| - detachDocumentLoader(m_provisionalDocumentLoader);
|
| - }
|
| + detachDocumentLoader(m_provisionalDocumentLoader);
|
|
|
| // beforeunload fired above, and detaching a DocumentLoader can fire
|
| // events, which can detach this frame.
|
|
|