electron/patches/chromium/blink_local_frame.patch

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

78 lines
3.5 KiB
Diff
Raw Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2018-09-21 00:30:26 +00:00
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
2018-09-21 00:30:26 +00:00
This patch reverts the changes to fix associated crashes in Electron.
2018-09-21 00:30:26 +00:00
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
chore: bump chromium to 124.0.6351.0 (main) (#41514) * chore: bump chromium in DEPS to 124.0.6339.0 * chore: update patches * chore: bump chromium in DEPS to 124.0.6341.0 * chore: update patches * chore: bump chromium in DEPS to 124.0.6343.0 * chore: bump chromium in DEPS to 124.0.6345.0 * chore: update patches * build: temporarily patch out usage of reclient inputs cfg * chore: implement missing OnPortConnectedStateChanged Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5039155 * fix: move NativeHandlers in extensions to new RendererAPIProvider Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5332839 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5334058 * chore: add missing websocket method * refactor: use std::erase instead of base::Erase Ref: https://issues.chromium.org/issues/40256229 * build: fix reclient inputs processor bug (workaround) * fix: delay extensions::Dispatcher construction * chore: bump chromium in DEPS to 124.0.6347.0 * chore: bump chromium in DEPS to 124.0.6349.0 * 5326217: [ViewsAX] Remove WebAXPlatformTreeManagerDelegate https://chromium-review.googlesource.com/c/chromium/src/+/5326217 * 5347916: Get origin from parent for process-isolated srcdoc. https://chromium-review.googlesource.com/c/chromium/src/+/5347916 * chore: patches fixup * 4866222: [api] Deprecate vector<v8::Local>, part 1 https://chromium-review.googlesource.com/c/v8/v8/+/4866222 * 5337304: Remove DXDiag telemetry code. https://chromium-review.googlesource.com/c/chromium/src/+/5337304 * 5328275: Implement watermark routing to the BrowserView https://chromium-review.googlesource.com/c/chromium/src/+/5328275 * [libc++] Rename __fwd/hash.h to __fwd/functional.h and add reference_wrapper * chore: bump chromium in DEPS to 124.0.6351.0 * chore: update patches * 5342763: [object] Fast path for adding props with existing transition https://chromium-review.googlesource.com/c/v8/v8/+/5342763 --------- 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: Samuel Attard <marshallofsound@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-03-12 09:15:41 +00:00
index 0a742bbbd5e8e1eb3610cc32f785f779e8907e75..26967019244d409dadf4533405d4d5d27c75b73c 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
chore: bump chromium to 124.0.6359.0 (main) (#41584) * chore: bump chromium in DEPS to 124.0.6355.0 * 5341411: view-transition: Ensure resources are cleaned up in all cases. https://chromium-review.googlesource.com/c/chromium/src/+/5341411 * chore: fixup patch indices * 5354013: Return nullopt on error from ProcessMetrics CPU measurements https://chromium-review.googlesource.com/c/chromium/src/+/5354013 * chore: bump chromium in DEPS to 124.0.6357.0 * chore: update patches * 5368769: Reland "[mojo] Use large worker for mojom_parser action" https://chromium-review.googlesource.com/c/chromium/src/+/5368769 * 5336171: [Extensions] Introduce a CoreExtensionsRendererAPIProvider https://chromium-review.googlesource.com/c/chromium/src/+/5336171 * 5367334: [FS Shortcut] Refactor ExclusiveAccessManager https://chromium-review.googlesource.com/c/chromium/src/+/5367334 * 5354161: Rename GeolocationManager to GeolocationSystemPermissionManager https://chromium-review.googlesource.com/c/chromium/src/+/5354161 * fixup: [Extensions] Introduce a CoreExtensionsRendererAPIProvider * chore: bump chromium in DEPS to 124.0.6359.0 * chore: update patches * 5371370: [Extensions] Move core NativeHandler registration https://chromium-review.googlesource.com/c/chromium/src/+/5371370 * 5370702: [Extensions] Introduce ShellExtensionsRendererAPIProvider https://chromium-review.googlesource.com/c/chromium/src/+/5370702 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-03-15 18:03:42 +00:00
index 81e90b80d4ff25c7003e4e98f071848be98280d6..92cfe0001933cd18ecb7384ead1dda26f563e62b 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
chore: bump chromium to 124.0.6359.0 (main) (#41584) * chore: bump chromium in DEPS to 124.0.6355.0 * 5341411: view-transition: Ensure resources are cleaned up in all cases. https://chromium-review.googlesource.com/c/chromium/src/+/5341411 * chore: fixup patch indices * 5354013: Return nullopt on error from ProcessMetrics CPU measurements https://chromium-review.googlesource.com/c/chromium/src/+/5354013 * chore: bump chromium in DEPS to 124.0.6357.0 * chore: update patches * 5368769: Reland "[mojo] Use large worker for mojom_parser action" https://chromium-review.googlesource.com/c/chromium/src/+/5368769 * 5336171: [Extensions] Introduce a CoreExtensionsRendererAPIProvider https://chromium-review.googlesource.com/c/chromium/src/+/5336171 * 5367334: [FS Shortcut] Refactor ExclusiveAccessManager https://chromium-review.googlesource.com/c/chromium/src/+/5367334 * 5354161: Rename GeolocationManager to GeolocationSystemPermissionManager https://chromium-review.googlesource.com/c/chromium/src/+/5354161 * fixup: [Extensions] Introduce a CoreExtensionsRendererAPIProvider * chore: bump chromium in DEPS to 124.0.6359.0 * chore: update patches * 5371370: [Extensions] Move core NativeHandler registration https://chromium-review.googlesource.com/c/chromium/src/+/5371370 * 5370702: [Extensions] Introduce ShellExtensionsRendererAPIProvider https://chromium-review.googlesource.com/c/chromium/src/+/5370702 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-03-15 18:03:42 +00:00
@@ -684,10 +684,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
}
chore: bump chromium to ec5bc1743792d64724693eb357083 (master) (#24984) * chore: bump chromium in DEPS to cbdeef954dfc34e94c8ca9cf72ad326b4a121158 * chore: bump chromium in DEPS to 29723f905baeab1d4228eef2c31cdb341ebeffe0 * chore: bump chromium in DEPS to 44d6d78e852137fff58c14ed26ab1e803e5bf822 * update patches * chore: bump chromium in DEPS to 8a3a0fccb39d6b8334c9a0496c0d5056e50cdb3f * chore: update patches * refactor: fix PrintBackend::CreateInstance() calls Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2354541 * chore: bump chromium in DEPS to b9ebec3bcb1cabdd1426f367636f54cc98e0500e * chore: remove patches to code that was deleted upstream CL: https://chromium-review.googlesource.com/c/chromium/src/+/2360314 * Remove uses of kCGColorSpaceITUR_2020_PQ_EOTF/HLG CL: https://chromium-review.googlesource.com/c/chromium/src/+/2363950 just garden variety code shear * chore: update patch indices * Move ColorModel to //printing/mojom/print.mojom https://chromium-review.googlesource.com/c/chromium/src/+/2355083 sync with printing ColorModel changes: moved to mojo, different naming scheme * chore: bump chromium in DEPS to 56c4b4d2ce5ba941acd2e0fdb5100e8a48847134 * chore: bump chromium in DEPS to 130501f220b684a79dc82c17e236e63ac1f2a093 * Convert PrintHostMsg_DidGetPrintedPagesCount to Mojo https://chromium-review.googlesource.com/c/chromium/src/+/2326857 Update argument list to Print() * chore: update patch indices * DumpAccTree: convert utf16 to utf8 in PropertyFilter https://chromium-review.googlesource.com/c/chromium/src/+/2360218 * chore: bump chromium in DEPS to 3058368c6646e0dc8be6f8ea838b0343428b7998 * chore: bump chromium in DEPS to f51b4e6555364363c61438dac7afd988c8347bfc * chore: bump chromium in DEPS to 2dcc6f8fc23ac41b2499eb69dee0b4017e9d1046 * update patches * chore: bump chromium in DEPS to 2d8e98ecedc7e4905540b053bc1c87e964715be5 * update patches * 2345900: Move content::RecordContentToVisibleTimeRequest struct to mojo https://chromium-review.googlesource.com/c/chromium/src/+/2345900 * update patches * 2345900: Move content::RecordContentToVisibleTimeRequest struct to mojo https://chromium-review.googlesource.com/c/chromium/src/+/2345900 * 2367394: Remove net::LOAD_DO_NOT_SEND_COOKIES and net::LOAD_DO_NOT_SEND_AUTH_DATA. https://chromium-review.googlesource.com/c/chromium/src/+/2367394 * 2373227: [XProto] Consolidate all <X11/*> includes to //ui/gfx/x/x11.h https://chromium-review.googlesource.com/c/chromium/src/+/2373227 * fixup! 2373227: [XProto] Consolidate all <X11/*> includes to //ui/gfx/x/x11.h * chore: bump chromium in DEPS to c090e3f960520cbd2328608b97f87238c76d6143 * update patches * chore: bump chromium in DEPS to 13a25e0a755de9a14271022c595f3d2e29829e1a * chore: bump chromium in DEPS to 6adbb767b012c41efaeab0d1bdbb3eefed0977bc * chore: bump chromium in DEPS to 339ec5455c5932ef1322ea9953a6349b0732199e * chore: bump chromium in DEPS to 20291807c33f7ef4ef4f57d62075e099b027bfe6 * chore: bump chromium in DEPS to 226fbd1b8b17d4ac84fdb9548ef3a1c646878d47 * update patches * fixup disable_color_correct_rendering patch * chore: bump chromium in DEPS to 577c45979cad4359f2e206d68efd9317d3d79315 * update patches * viz: Rename RenderPass to CompositorRenderPass (and related types). https://chromium-review.googlesource.com/c/chromium/src/+/2380730 * chore: bump chromium in DEPS to 37e2ad5303f2c03a1b5d8eda65341bf2561196cd * update patches * add kOmitCookies_Electron * update patch * chore: bump chromium in DEPS to 256e42409ea63a7e71016de07818a983a97db463 * update patches * fix worker script ready hook https://chromium-review.googlesource.com/c/chromium/src/+/2335713 * Fixup printing page ranges patch * [printing] Move PrintMsg_PrintPages_Params to print.mojom https://chromium-review.googlesource.com/c/chromium/src/+/2340854 * Add MIME sniffer overloads that take base::StringPieces https://chromium-review.googlesource.com/c/chromium/src/+/2382896 * [printing] Move PrintHostMsg_PreviewIds to print.mojom https://chromium-review.googlesource.com/c/chromium/src/+/2379455 * fixup test due to new DCHECK https://chromium-review.googlesource.com/c/chromium/src/+/2333750 * stop sending cookies when useSessionCookies is false * chore: bump chromium in DEPS to dd429dbc556449951ee8160d8a4d61fd95a139d5 * update patches * chore: bump chromium in DEPS to 5202bde3f9f44c2065f5dacf27e7000dd19e4e4d * chore: bump chromium in DEPS to 099e8e07b89da65932431bb0fd51b6f7f5344c19 * chore: bump chromium in DEPS to 104e5da2a43b759732d5b94bfc750b3a9a639653 * chore: bump chromium in DEPS to a4519ce657af25834e355315fd7fefa77b13426a * update patches * Make FileURLLoaderFactory always owned by its |receivers_|. https://chromium-review.googlesource.com/c/chromium/src/+/2337411 * Make FileURLLoaderFactory always owned by its |receivers_|. https://chromium-review.googlesource.com/c/chromium/src/+/2337411 * chore: bump chromium in DEPS to 1b62e9e8c8eaf6b8e3a9c77ee67a4c1bfa6a4d6b * chore: update patches * fixup! Make FileURLLoaderFactory always owned by its |receivers_|. * chore: update patches - mac: Disable CoreServices _CSCheckFix. https://chromium-review.googlesource.com/c/chromium/src/+/2401334 - [XProto] Remove bad DCHECK in x11_error_tracker.cc https://chromium-review.googlesource.com/c/chromium/src/+/2402304 - Move content/browser/frame_host/* over to content/browser/renderer_host/ https://chromium-review.googlesource.com/c/chromium/src/+/2401303 * Refactor WebContentSettingsClient to dedupe AllowXYZ methods https://chromium-review.googlesource.com/c/chromium/src/+/2353552 * Introduce NonNetworkURLLoaderFactoryBase class. https://chromium-review.googlesource.com/c/chromium/src/+/2357559 * [XProto] Remove usage of all Xlib headers https://chromium-review.googlesource.com/c/chromium/src/+/2392140 * fixup! chore: update patches * chore: bump chromium in DEPS to c1df55fbeb8207d036a604f59e4ea4e8ee79930a * chore: update patches * Move content::WebPreferences struct to Blink https://chromium-review.googlesource.com/c/chromium/src/+/2397670 * chore: bump chromium in DEPS to 57a23ec4884fff6c2f8d9b8536131cdc9b551ec2 * Set appid on Pip windows. https://chromium-review.googlesource.com/c/chromium/src/+/2388274 * fixup! Set appid on Pip windows. * fix: add a patch to remove deprecated factory * chore: bump chromium in DEPS to 1a9ddb7ea43955877823d5c4dcbf241b64228635 * fix compilation on windows * chore: bump chromium in DEPS to 234e6c6a77f61ffad9335099d9b13892cf88fd44 * chore: update patches * chore: bump chromium in DEPS to 7631eb0a9f57a8a47d3c28e1d265961b3a4d6b2b * chore: update patches * chore: bump chromium in DEPS to f9c34cd485845b95c2d17a7f55fdf92cda9a1b3a * chore: update patches * chore: implement GetSurveyAPIKey Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2362182 * chore: replace CreateWebUIURLLoader with CreateWebUIURLLoaderFactory Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2358309 * chore: bump chromium in DEPS to 5bdbd2373da884adf41c087be1465fcc344d168c * chore: update node patches for common.gypi * chore: update patches * chore: non_network_url_loader_factory_base was moved Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2357431 * 2415752: Reland "Reland "OOR-CORS: Remove BlinkCORS supporting code outside Blink"" Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2415752 * chore: bump chromium in DEPS to b943d006a33ec5bc1743792d64724693eb357083 * fix: replace x11::None with x11::Window::None * chore: update patches * chore: update patches * fix: cast x11::Window to int * 2402123: Use end date when deleting http auth cache Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2402123 * 2320268: Migrate DragHostMsg_StartDragging to Mojo Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2320268 * 2401303: Move content/browser/frame_host/* over to content/browser/renderer_host/ https://chromium-review.googlesource.com/c/chromium/src/+/2401303 * chore: fix lint * chore: fix build * Update config.yml Co-authored-by: Electron Bot <anonymous@electronjs.org> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: Jeremy Rose <nornagon@nornagon.net> Co-authored-by: John Kleinschmidt <jkleinsc@github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com> Co-authored-by: Samuel Attard <sattard@slack-corp.com>
2020-09-21 08:00:36 +00:00
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;
chore: bump chromium to 124.0.6359.0 (main) (#41584) * chore: bump chromium in DEPS to 124.0.6355.0 * 5341411: view-transition: Ensure resources are cleaned up in all cases. https://chromium-review.googlesource.com/c/chromium/src/+/5341411 * chore: fixup patch indices * 5354013: Return nullopt on error from ProcessMetrics CPU measurements https://chromium-review.googlesource.com/c/chromium/src/+/5354013 * chore: bump chromium in DEPS to 124.0.6357.0 * chore: update patches * 5368769: Reland "[mojo] Use large worker for mojom_parser action" https://chromium-review.googlesource.com/c/chromium/src/+/5368769 * 5336171: [Extensions] Introduce a CoreExtensionsRendererAPIProvider https://chromium-review.googlesource.com/c/chromium/src/+/5336171 * 5367334: [FS Shortcut] Refactor ExclusiveAccessManager https://chromium-review.googlesource.com/c/chromium/src/+/5367334 * 5354161: Rename GeolocationManager to GeolocationSystemPermissionManager https://chromium-review.googlesource.com/c/chromium/src/+/5354161 * fixup: [Extensions] Introduce a CoreExtensionsRendererAPIProvider * chore: bump chromium in DEPS to 124.0.6359.0 * chore: update patches * 5371370: [Extensions] Move core NativeHandler registration https://chromium-review.googlesource.com/c/chromium/src/+/5371370 * 5370702: [Extensions] Introduce ShellExtensionsRendererAPIProvider https://chromium-review.googlesource.com/c/chromium/src/+/5370702 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-03-15 18:03:42 +00:00
@@ -738,6 +734,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);