ec10fd3044
Callback false when disconnecting from the print job if the current printing job has not completed, and true if printing is triggered successfully.
41 lines
1.8 KiB
Diff
41 lines
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Cheng Zhao <zcbenz@gmail.com>
|
|
Date: Thu, 20 Sep 2018 17:45:03 -0700
|
|
Subject: blink_local_frame.patch
|
|
|
|
According to electron/electron#3699, it is unreliable to use |unload|
|
|
event for process.exit('exit'), so we have to do that in
|
|
willReleaseScriptContext.
|
|
|
|
However Chromium then disallowed scripting in willReleaseScriptContext
|
|
in https://codereview.chromium.org/1657583002, and crash will happen
|
|
when there is code doing that.
|
|
|
|
This patch reverts the change to fix the crash in Electron.
|
|
|
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
|
index d1922a486fb0143d688a26f954462e3a915af2b5..b1e800f51e44a7a5d3fabd66563d5bdb6a7aa280 100644
|
|
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
|
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
|
@@ -393,10 +393,6 @@ void LocalFrame::DetachImpl(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;
|
|
|
|
@@ -414,6 +410,10 @@ void LocalFrame::DetachImpl(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());
|