8c89137ecd
* chore: bump chromium in DEPS to 122.0.6180.0 * chore: update render_widget_host_view_base.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5079532 minor manual changes to match upstream changes * chore: update printing.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5094777 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5054299 Update patch to upstream changes in print_view_manager_base.cc. CC @codebytere for 👀 * chore: update feat_add_onclose_to_messageport.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5083156 no manual changes; patch applied with fuzz 1 * chore: update build_do_not_depend_on_packed_resource_integrity.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5087072 minor manual changes to match upstream changes * chore: update port_autofill_colors_to_the_color_pipeline.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4960481 no manual changes; patch applied with fuzz 2 * chore: update revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5076902 Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5096253 The `bailout_value` variable, which allowed us to fail gracefully in these macros, has been removed upstream. This raises the temperature on https://github.com/electron/electron/issues/40741 ... Since we don't have a bailout value, return a default-constructed instance of whatever the return type is of the function that invokes the macro. * Remove performActionOnRemotePage Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5068017 It appears it is not used by anything within Chromium or outside. * perf: in SubmenuButton ctor, move() the PressedCallback Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5066872 The copy construtor is more expensive and has been removed upstream * chore: update constructor call for ElectronExtensionsRendererClient::dispatcher_ Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5055146 * chore: handle CAPTURED_SURFACE_CONTROL in Converter<blink::PermissionType>::ToV8() Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5096614 * chore: e patches all * chore: bump chromium to 122.0.6181.0 * chore: e patches all * refactor: Add lookup for per-RenderFrame SpellCheckProvider Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5075094 Previously we could pass a routing ID into the spellcheck methods. This ID arg has been replaced with a SpellCheckHost& arg. We can get the SpellCheckHost from an accessor in SpellCheckProvider, which was already being created on a per-render-frame basis in RenderClientBase. This commit adds a RenderFrame-to-SpellCheckProvider accessor in RenderClientBase so that it can be used to get that needed SpellCheckHost. * chore: make lint happy * chore: restore the will_cause_resize arg to WebContents::ExitFullscreen Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5074445 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5031312 upstream reverted this change * chore: bump chromium in DEPS to 122.0.6182.0 * chore: update patches * chore: fix virtual function names that were renamed upstream Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5115241 * chore: handle new blink::PermissionType::SMART_CARD in PermissionType converter Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5049989 * chore: node script/gen-libc++-filenames.js * fixup! chore: update build_do_not_depend_on_packed_resource_integrity.patch * chore: remove revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch The previous experiment of removing the DCHECK in 35093783 was a huge failure. We either need to either: A) use upstream as-is and fix the DCHECK failure, or B) revert https://chromium-review.googlesource.com/c/v8/v8/+/5076902 too C) find some other workaround This commit is the first half of option A, removing the patch to use upstream as-is. * chore: bump chromium in DEPS to 122.0.6184.0 * chore: bump chromium in DEPS to 122.0.6186.0 * chore; update mas_avoid_private_macos_api_usage.patch.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5085619 minor manual changes to match upstream changes * chore: update build_do_not_depend_on_packed_resource_integrity.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5120922 minor manual changes to match upstream changes * chore: update fix_move_autopipsettingshelper_behind_branding_buildflag.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5041595 no manual changes; patch applied with fuzz 1 * chore: e patches all * chore: add refactor_update_node-platform_to_match_v8-platform_api_changes.patch * chore: bump chromium in DEPS to 122.0.6188.0 * chore: bump chromium in DEPS to 122.0.6190.0 * chore: bump chromium in DEPS to 122.0.6192.0 * chore: bump chromium in DEPS to 122.0.6194.0 * Remove an unnecessary DCHECK which causes Lacros to crash. https://chromium-review.googlesource.com/c/chromium/src/+/5124880 * [FixIt Week] Add shared regular profile function that includes ash https://chromium-review.googlesource.com/c/chromium/src/+/5100709 * Simplify the PrintManagerHost::ScriptedPrint() call https://chromium-review.googlesource.com/c/chromium/src/+/5019703 * [local compile hints] Add tests https://chromium-review.googlesource.com/c/chromium/src/+/5024173 * chore: update patches * fixup! chore: add refactor_update_node-platform_to_match_v8-platform_api_changes.patch * chore: node script/gen-libc++-filenames.js * Remove //ui/ozone/buildflags.h https://chromium-review.googlesource.com/c/chromium/src/+/5119048 * fixup! Remove //ui/ozone/buildflags.h * fixup! Remove //ui/ozone/buildflags.h * chore: update patches * fixup! refactor: Add lookup for per-RenderFrame SpellCheckProvider * fixup! Remove //ui/ozone/buildflags.h * Add permission policy verification in PermissionControllerImpl https://chromium-review.googlesource.com/c/chromium/src/+/5059112 * fix: ensure spellcheck interface is registered for frame * [exceptions] Unify pending and scheduled exceptions https://chromium-review.googlesource.com/c/v8/v8/+/5050065 * fix: dchecks in node.js tests * fix: try adding termination check * chore: document breaking iframe change --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
77 lines
3.5 KiB
Diff
77 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 a1732d9bf9267e52a74350483fa946b5a0a0662b..25d36b301309ac9f8c1a4d75545fa741d0df8c07 100644
|
|
--- a/third_party/blink/renderer/core/frame/frame.cc
|
|
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
|
@@ -125,14 +125,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);
|
|
@@ -156,6 +148,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 12941f34625d8578c2fed5f1d19529b09a3c544b..3964559a7caf7657a134d8a69d1587084e0ecfbb 100644
|
|
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
|
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
|
@@ -674,10 +674,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;
|
|
|
|
@@ -725,6 +721,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);
|