electron/patches/common/chromium/blink_local_frame.patch

26 lines
1.2 KiB
Diff

diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index 5686e6a06d6f..4798d7e36bec 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -382,10 +382,6 @@ void LocalFrame::Detach(FrameDetachType type) {
}
CHECK(!view_ || !view_->IsAttached());
- // This is the earliest that scripting can be disabled:
- // - FrameLoader::Detach() can fire XHR abort events
- // - Document::Shutdown() can dispose plugins which can run script.
- ScriptForbiddenScope forbid_script;
if (!Client())
return;
@@ -403,6 +399,10 @@ void LocalFrame::Detach(FrameDetachType type) {
// Notify ScriptController that the frame is closing, since its cleanup ends
// up calling back to LocalFrameClient via WindowProxy.
GetScriptController().ClearForClose();
+ // This is the earliest that scripting can be disabled:
+ // - FrameLoader::Detach() can fire XHR abort events
+ // - Document::Shutdown() can dispose plugins which can run script.
+ ScriptForbiddenScope forbid_script;
// TODO(crbug.com/729196): Trace why LocalFrameView::DetachFromLayout crashes.
CHECK(!view_->IsAttached());