* fix: broken wayland window decorations due to botched chromium update
The `GetTitlebarBounds().height()` is obviously intended to be placed in
the `top` parameter, which used to be the second one before upstream
removed multi-parameter `gfx::Rect::Inset`, but it's the first parameter
for `gfx::Insets::TLBR`, which was intended to replace the removed
`Inset` function. However, whoever updated Chromium kept the parameter
unchanged, causing the title bar height to be passed to the `left`
parameter, causing the window title bar to be unclickable.
* fix: wayland window top bar buttons unclickable
Use NonClientFrameView::TargetForRect for the ClientFrameViewLinux
implementation because the default inherited from FramelessView blocks
any non-HTCLIENT events.
* fix: add maximized parameter to LinuxUI::GetWindowFrameProvider
* fix: pass frame_->IsMaximized() to GetWindowFrameProvider
This ensures that the toolkit renders the window decorations in maximized mode
while the window is maximized to ensure that there is no empty space around the window.
* fix: touch events not recognized by WCO on windows
* Update .patches
* chore: update patches
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
* fix: performance problem in crashReporter.start() on macOS
This change reduces the duration of crashReporter.start() on Intel macOS
from 622 milliseconds to 257 milliseconds!
Backports https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3641386
posix: Replace DoubleForkAndExec() with ForkAndSpawn()
The DoubleForkAndExec() function was taking over 622 milliseconds to run
on macOS 11 (BigSur) on Intel i5-1038NG7. I did some debugging by adding
some custom traces and found that the fork() syscall is the bottleneck
here, i.e., the first fork() takes around 359 milliseconds and the
nested fork() takes around 263 milliseconds. Replacing the nested fork()
and exec() with posix_spawn() reduces the time consumption to 257
milliseconds!
See https://github.com/libuv/libuv/pull/3064 to know why fork() is so
slow on macOS and why posix_spawn() is a better replacement.
Another point to note is that even base::LaunchProcess() from Chromium
calls posix_spawnp() on macOS -
8f8d82dea0:base/process/launch_mac.cc;l=295-296
Change-Id: I25c6ee9629a1ae5d0c32b361b56a1ce0b4b0fd26
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3641386
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Fixes: https://github.com/electron/electron/issues/34321
Signed-off-by: Darshan Sen <raisinten@gmail.com>
* Update .patches
Co-authored-by: Darshan Sen <raisinten@gmail.com>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
fix: revert "feat: add first-instance-ack event to the `app.requestSingleInstanceLock()` flow (#34295)
* Revert "fix: requestSingleInstanceLock API ConnectNamedPipe sometimes hangs program (#33778)"
This reverts commit ffb8749243.
* fix: revert "feat: add first-instance-ack event to the `app.requestSingleInstanceLock()` flow"
* chore: update patch
* chore: bump chromium in DEPS to 102.0.5005.3
* chore: bump chromium in DEPS to 102.0.5005.2
* chore: bump chromium in DEPS to 102.0.5005.12
* chore: bump chromium to 102.0.4999.0 (main) (#33731)
* chore: bump chromium in DEPS to 102.0.4999.0
* 3576640: Set OOM handler during V8 initialization
https://chromium-review.googlesource.com/c/chromium/src/+/3576640
* 3574964: Remove deprecated base::Value usage in print_settings_conversion code.
https://chromium-review.googlesource.com/c/chromium/src/+/3574964
* 3570062: Replicate Active state to render process for all RenderViews.
https://chromium-review.googlesource.com/c/chromium/src/+/3570062
* chore: fixup patch indices
* 3380402: Remove legacy SwiftShader
https://chromium-review.googlesource.com/c/chromium/src/+/3380402
* 3570254: [Local Fonts] Rename permission name from FONT_ACCESS to LOCAL_FONTS.
https://chromium-review.googlesource.com/c/chromium/src/+/3570254
* 3572172: Rename or remove several parameters involved in creation of MimeHandler streams
https://chromium-review.googlesource.com/c/chromium/src/+/3572172
* fix: add missing base/bits include
* chore: fix lint
* chore: remove ia32 Linux support
* chore: patch out swift-format cipd dep on macOS
* build: apply patch better
* build: reset all caches
* build: update zip manifests to remove swiftshared libraries
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/3380402
* Revert "build: update zip manifests to remove swiftshared libraries"
This reverts commit 6aeec01ef1a79425a7b7d8c1cfb131a26b91c494.
* Revert "3380402: Remove legacy SwiftShader"
This reverts commit 4c7eebbbf2d0a459cc192959e17ae20f970c2da2.
* build: remove unused swiftshader egl libraries
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: Samuel Attard <sattard@salesforce.com>
(cherry picked from commit f3e0517b6e)
* chore: update patch after cherry-pick from main roller pr
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* chore: bump chromium in DEPS to 102.0.4975.0
* chore: bump chromium in DEPS to 102.0.4977.0
* chore: bump chromium in DEPS to 102.0.4979.0
* chore: bump chromium in DEPS to 102.0.4981.0
* chore: bump chromium in DEPS to 102.0.4983.0
* chore: bump chromium in DEPS to 102.0.4985.0
* chore: bump chromium in DEPS to 102.0.4987.0
* chore: bump chromium in DEPS to 102.0.4989.0
* chore: bump chromium in DEPS to 102.0.4991.0
* chore: bump chromium in DEPS to 102.0.4993.0
* chore: bump chromium in DEPS to 102.0.4995.0
* chore: bump chromium in DEPS to 102.0.4997.0
* chore: bump chromium in DEPS to 102.0.4999.0
* chore: bump chromium in DEPS to 102.0.5001.0
* chore: bump chromium in DEPS to 102.0.5003.0
* chore: bump chromium in DEPS to 102.0.5005.0
* chore: bump chromium in DEPS to 102.0.5005.3
* chore: bump chromium to 102.0.4989.0 (main) (#33557)
* chore: bump chromium in DEPS to 102.0.4975.0
* chore: bump chromium in DEPS to 102.0.4977.0
* chore: update patches
* Remove parameter of OnGpuProcessCrashed()
https://chromium-review.googlesource.com/c/chromium/src/+/3543396
* hid: Add exclusionFilters option to requestDevice
https://chromium-review.googlesource.com/c/chromium/src/+/3478175
* chore: bump chromium in DEPS to 102.0.4979.0
* chore: bump chromium in DEPS to 102.0.4981.0
* chore: update patches
* Deny notification/push permission for documents in non-standard StoragePartitions
https://chromium-review.googlesource.com/c/chromium/src/+/3257305
* Improve FrameTreeNode tracking in URLLoaderNetworkContext
https://chromium-review.googlesource.com/c/chromium/src/+/3341866
* fixup! Remove parameter of OnGpuProcessCrashed()
* chore: fix lint
* Reland "Use gfx::Insets[F]::TLBR() and gfx::Insets[F]::VH() in the rest of Chrome"
https://chromium-review.googlesource.com/c/chromium/src/+/3554236
* chore: bump chromium in DEPS to 102.0.4983.0
* Ensure EyeDropperView does not access a destroyed window
https://chromium-review.googlesource.com/c/chromium/src/+/3561542
* ci: don't delete dawn .git directory
83901: Adds a generated file with the dawn git hash encoded at build time. | https://dawn-review.googlesource.com/c/dawn/+/83901
* ci: update Windows toolchain
3550827: New toolchain for Windows 10 20348 SDK | https://chromium-review.googlesource.com/c/chromium/src/+/3550827
* chore: bump chromium in DEPS to 102.0.4985.0
* chore: update patches
* chore: bump chromium in DEPS to 102.0.4987.0
* chore: update patches
* 3563432: codehealth: remove uses of DictionaryValue in cbui/webui
https://chromium-review.googlesource.com/c/chromium/src/+/3563432
* chore: update patches after rebase
* Use gfx::Insets[F]::TLBR() and gfx::Insets[F]::VH() in the rest of Chrome
https://chromium-review.googlesource.com/c/chromium/src/+/3554236
* 3565724: Preserve "proper method names" as-is in error.stack.
https://chromium-review.googlesource.com/c/v8/v8/+/3565724
* chore: bump chromium in DEPS to 102.0.4989.0
* chore: update patches
* fixup ci: don't delete dawn .git directory for Windows
* 3560843: Remove multi-parameter version of gfx::Rect[F]::Inset()
https://chromium-review.googlesource.com/c/chromium/src/+/3560843
* 3572711: Remove unused IDS_PDF_TOOLTIP_ROTATE_CW resource.
https://chromium-review.googlesource.com/c/chromium/src/+/3572711
* 3572926: Reland "[Sysroot] Switch to Debian Bullseye stable"
https://chromium-review.googlesource.com/c/chromium/src/+/3572926
* build: fixup sysroots with electron specific dependencies
* fixup Remove multi-parameter version of gfx::Rect[F]::Inset()
* fixup 3565724: Preserve "proper method names" as-is in error.stack.
* fixup Remove multi-parameter version of gfx::Rect[F]::Inset()
* test: add spec for navigator.hid.requestDevice({ exclusionFilters: [...] }
* fixup 3565724: Preserve "proper method names" as-is in error.stack.
* ci: use python3 to get the windows toolchain profile
3525960: Explicitly run everything with python3 | https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3525960
* chore: add diagnostic logging
* fix: try calling process.crash()
* chore: remove logging
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
(cherry picked from commit 59dd17f2cf)
* chore: update patches after rebase
* chore: bump chromium in DEPS to 102.0.5005.3
* Revert "chore: bump chromium in DEPS to 102.0.5005.3"
This reverts commit 958cfb2aff.
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* build: explicitly run scripts with python3
* chore: update patches
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
* chore: bump chromium in DEPS to 102.0.4973.0
* chore: bump chromium to 102.0.4971.0 (main) (#33454)
* chore: bump chromium in DEPS to 102.0.4965.0
* chore: 3-way merge of chromium/printing.patch
* chore: update patch shear in chromium/picture-in-picture.patch
* chore: update patches
* 3101519: Window Placement: Prototype fullscreen companion window support
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3101519
build: add popup_preventer.cc, .h to our library. It's needed because
FullscreenController, we were already using, started aggregating a
PopupPreventer in 3101519.
* chore: bump chromium in DEPS to 102.0.4967.0
* Revert "3101519: Window Placement: Prototype fullscreen companion window support"
This reverts commit fc215cb99c464e939882ed3f5cf8e9874a8e3311.
Adding popup_preventer might not be the right solution; there are
cascading dependencies.
* 3551449: Add service-based usage for system print settings
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/3551449
chore: fix code shear in patches/chromium/printing.patch
* chore: update patches
* chore: bump chromium in DEPS to 102.0.4969.0
* chore: update patches
* chore: bump chromium in DEPS to 102.0.4971.0
* chore: update fix_patch_out_permissions_checks_in_exclusive_access.patch
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3101519
PopupunderPreventer is not useful in //electron since the window
attributes are controlled by the user via setWindowOpenHandler.
* chore: update patches
* Add FirstPartySetsHandler as a interface class in content API.
https://chromium-review.googlesource.com/c/chromium/src/+/3503410
* Create a new MediaStreamRequestType for GetOpenDevice
https://chromium-review.googlesource.com/c/chromium/src/+/3541939
* Support site isolation for <webview> tags in WebViewRendererState.
https://chromium-review.googlesource.com/c/chromium/src/+/3537735
* ci: update xcode version
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3544199https://developer.apple.com/documentation/screencapturekit/capturing_screen_content_in_macos
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>
(cherry picked from commit b711860d21)
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
* fix: don't call X11 functions in file dialog and message box
* refactor: remove unused GtkUiPlatform declaration
* fix: set gtk darktheme only when running under X11
* fix: replace X11 window state watcher with implementation using ozone
* fix: make sure global menu barr is used only when supported
* fix: don't call X11 function in native window views under wayland
* style: fix lint issues
* fix: use GtkUiPlatform::ShowGtkWindow instead of gtk_window_present directly
* refactor: extract CreateGlobalMenuBar into separate function
* refactor: move checking for WaylandWindowDecorations inside class
* fix: check if we run under X11 only in ozone build
* refactor: drop including unused ui/base/ui_base_features.h header
* fix: modify ui_gtk_public_header.patch to also export gtk_ui.h
* fix: refactor guarding of X11 calls
- Introduce patch exposing new electron_can_call_x11 property
- Replace defined(USE_OZONE) with BUILDFLAG(OZONE_PLATFORM_X11) flags
* fix: remove the last remaining usage of USE_X11
* fix: usage of BUILDFLAG(OZONE_PLATFORM_X11) not building on non ozone
* fix: call UpdateWindowState from OnBoundsChanged only under X11