mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
* chore: bump chromium in DEPS to 93.0.4567.0 * chore: update patches * chore: bump chromium in DEPS to 93.0.4568.0 * chore: bump chromium in DEPS to 93.0.4569.0 * chore: update patches (cherry picked from commit e710b8ea15f0ec08966e89d37e6ff73414180e6b) * 3000931: Code health: remove base::ListValue from DevToolsEmbedderMessageDispatcher https://chromium-review.googlesource.com/c/chromium/src/+/3000931 (cherry picked from commit 44c00b98f27621f6345bcf5d78f3e2649147135b) * chore: bump chromium in DEPS to 93.0.4570.0 * chore: update patches * chore: bump chromium in DEPS to 93.0.4571.0 * chore: update patches * chore: bump chromium in DEPS to 93.0.4573.0 * chore: bump chromium in DEPS to 93.0.4574.0 * chore: bump chromium in DEPS to 93.0.4575.0 * chore: bump chromium in DEPS to 93.0.4576.0 * chore: bump chromium in DEPS to 93.0.4577.0 * chore: bump chromium in DEPS to 93.0.4577.3 * chore: bump chromium in DEPS to 93.0.4577.4 * 3011898: Reland "Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits)" https://chromium-review.googlesource.com/c/chromium/src/+/3011898 (cherry picked from commitc46148eed8) * 2974072: Swap base/stl_util.h to base/cxx17_backports.h in many files. https://chromium-review.googlesource.com/c/chromium/src/+/2974072 (cherry picked from commit4d725e44ca) * chore: add missing header (cherry picked from commitf3993e71ce) * Reland "Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits)" https://chromium-review.googlesource.com/c/chromium/src/+/2988699 (cherry picked from commit797723ec83) (cherry picked from commit4a325c9b24) * 2925476: Migrate t/b/{public,renderer}/platform/media to blink ns [4/6] https://chromium-review.googlesource.com/c/chromium/src/+/2925476 (cherry picked from commit0930c0ee41) * 2974074: Remove base/cxx17_backports.h from stl_util.h. https://chromium-review.googlesource.com/c/chromium/src/+/2974074 (cherry picked from commita7b53b61f4) * fixup: 2974074: Remove base/cxx17_backports.h from stl_util.h. (cherry picked from commitaf5da4dcb1) * chore: update patches * fix: invalid operands compilation error (cherry picked from commit6fa6f8acb9) * 3001416: Fix -Wimplicit-int-float-conversion. https://chromium-review.googlesource.com/c/chromium/src/+/3001416 (cherry picked from commitb2e9f2212e) * 3022548: Removing windows.h includes from some base headers https://chromium-review.googlesource.com/c/chromium/src/+/3022548 (cherry picked from commit8b48103907) * 3029258: Remove unused JobEventDetails::Type enum values https://chromium-review.googlesource.com/c/chromium/src/+/3029258 Cherry picked fromc15df3a109Co-Authored-By: Shelley Vohr <shelley.vohr@gmail.com> * 3029185: printing: Use mojom::PrinterType instead of PrinterType https://chromium-review.googlesource.com/c/chromium/src/+/3029185 (cherry picked from commitd16fab76fb) * Update application_info_win.cc (cherry picked from commit6e187f8617) * include windows.h in process_singleton_win.cc (cherry picked from commitaf58ad2d9d) * chore: bump chromium in DEPS to 93.0.4577.8 * chore: update patches * do not create a new UserScriptManager every time the accessor is called (cherry picked from commit24a71035ab) * chore: Revert "Roll clang llvmorg-13-init-14732-g8a7b5ebf-2 : llvmorg-13-init-15040-gc10947b5-1" * chore: remove no longer needed patch * Update the "py" wheel to a version that is compatible with pytest-6.2.2. https://chromium-review.googlesource.com/c/chromium/src/+/3044950 * chore: bump chromium in DEPS to 93.0.4577.15 * chore: update patches * chore: fixup parallel/test-errors-systemerror node test Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Jeremy Rose <jeremya@chromium.org> Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
78 lines
3.5 KiB
Diff
78 lines
3.5 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.
|
|
|
|
Refs changes in:
|
|
* https://codereview.chromium.org/1657583002
|
|
* https://chromium-review.googlesource.com/c/chromium/src/+/2596880
|
|
* https://chromium-review.googlesource.com/c/chromium/src/+/2597169
|
|
|
|
This patch reverts the changes to fix associated crashes in Electron.
|
|
|
|
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
|
|
index 8bf6b4bc077cc41da5e0e6b13302bc343537c68f..01bddc0bcb7476408023c4cfc042a0883c16430c 100644
|
|
--- a/third_party/blink/renderer/core/frame/frame.cc
|
|
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
|
@@ -120,14 +120,6 @@ bool Frame::Detach(FrameDetachType type) {
|
|
|
|
DCHECK(!IsDetached());
|
|
|
|
- // TODO(dcheng): FocusController::FrameDetached() *should* fire JS events,
|
|
- // hence the above check for `client_` being null. However, when this was
|
|
- // previously placed before the `FrameDetached()` call, nothing crashes, which
|
|
- // is suspicious. Investigate if we really don't need to fire JS events--and
|
|
- // if we don't, move `forbid_scripts` up to be instantiated sooner and
|
|
- // simplify this code.
|
|
- ScriptForbiddenScope forbid_scripts;
|
|
-
|
|
if (type == FrameDetachType::kRemove) {
|
|
if (provisional_frame_) {
|
|
provisional_frame_->Detach(FrameDetachType::kRemove);
|
|
@@ -150,6 +142,14 @@ bool Frame::Detach(FrameDetachType type) {
|
|
GetWindowProxyManager()->ClearForSwap();
|
|
}
|
|
|
|
+ // TODO(dcheng): FocusController::FrameDetached() *should* fire JS events,
|
|
+ // hence the above check for `client_` being null. However, when this was
|
|
+ // previously placed before the `FrameDetached()` call, nothing crashes, which
|
|
+ // is suspicious. Investigate if we really don't need to fire JS events--and
|
|
+ // if we don't, move `forbid_scripts` up to be instantiated sooner and
|
|
+ // simplify this code.
|
|
+ ScriptForbiddenScope forbid_scripts;
|
|
+
|
|
// After this, we must no longer talk to the client since this clears
|
|
// its owning reference back to our owning LocalFrame.
|
|
client_->Detached(type);
|
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
|
index c0f2ba8de2f770f445e7a85542add2593346ed05..fb26074fa376bba0339269a23d02ddc38e910e3d 100644
|
|
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
|
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
|
@@ -563,10 +563,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
|
}
|
|
DCHECK(!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 false;
|
|
|
|
@@ -613,6 +609,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
|
DCHECK(!view_->IsAttached());
|
|
Client()->WillBeDetached();
|
|
|
|
+ // 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());
|
|
SetView(nullptr);
|