David Sanders
97347c4223
chore: clean up clang-tidy warnings ( #50862 )
...
* chore: use emplace and use it correctly
* chore: redundant cast to the same type [google-readability-casting]
* chore: do not create objects with +new [google-objc-avoid-nsobject-new]
* chore: default arguments on virtual or override methods are prohibited [google-default-arguments]
* chore: warning: C-style casts are discouraged; use static_cast [google-readability-casting]
CFLocaleGetValue already returns CFTypeRef so that redundant static_cast was removed
* chore: refactor block to avoid use after move warning from clang-tidy
Looks like clang-tidy couldn't tell these were two mutually exclusive
branches so there was no actual issue, but refactoring is cleaner
anyway since it makes it more DRY.
* chore: C-style casts are discouraged; use static_cast [google-readability-casting]
No cast needed here, everything is already the correct type
* chore: C-style casts are discouraged; use static_cast/const_cast/reinterpret_cast [google-readability-casting]
* chore: use '= default' to define a trivial destructor [modernize-use-equals-default]
* chore: use range-based for loop instead [modernize-loop-convert]
* chore: redundant void argument list [modernize-redundant-void-arg]
* chore: address code review feedback
* chore: use auto
Co-authored-by: Charles Kerr <charles@charleskerr.com >
---------
Co-authored-by: Charles Kerr <charles@charleskerr.com >
2026-04-10 16:37:57 -07:00
electron-roller[bot]
36b0709942
chore: bump chromium to 148.0.7733.0 (main) ( #50197 )
...
* chore: bump chromium in DEPS to 147.0.7727.2
* chore: bump chromium in DEPS to 148.0.7728.0
* chore: bump chromium in DEPS to 148.0.7729.0
* chore: bump chromium in DEPS to 148.0.7730.0
* chore: bump chromium in DEPS to 148.0.7732.0
* chore: update WrappablePointerTag patch
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7641766
* chore: update custom protocol patch for removed code
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7653454
* chore: update patches
* fix: cleanup removed CHILD_PLUGIN code
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7653455
* fix: move from int to ChildProcessId
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7621912
* fix: update extensions CreateTab signature
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7644389
* fix: draggable hit region test interface update for mac windows
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7655245
* chore: bump chromium in DEPS to 148.0.7733.0
* feat: restore macos child plugin process
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7653455
* fixup! chore: merge main
* chore: update patches
* fix: replace clipboard IsFormatAvailable with async GetAllAvailableFormats
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7631097
Async API pending RFC https://github.com/electron/rfcs/pull/19
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Samuel Maddock <samuelmaddock@electronjs.org >
2026-03-16 10:55:06 +01:00
Shelley Vohr
c8dd0b99ee
fix: prevent traffic light buttons flashing on deminiaturize ( #50183 )
...
* fix: prevent traffic light buttons flashing on deminiaturize
When a window with a custom `trafficLightPosition` is minimized and
restored, macOS re-layouts the title bar container during the
deminiaturize animation, causing the traffic light buttons to briefly
appear at their default position before being repositioned.
Fix this by hiding the buttons container in `windowWillMiniaturize` and
restoring them (with a redraw to the correct position) in
`windowDidDeminiaturize`.
* chore: address feedback from review
2026-03-11 13:02:51 -04:00
Charles Kerr
6766343173
refactor: simplify NativeWindow-to-BaseWindow lookup ( #49520 )
...
refactor: simplify native window to base window lookup
2026-01-26 12:28:57 +01:00
electron-roller[bot]
d920c82fc4
chore: bump chromium to 143.0.7451.0 (main) ( #48362 )
...
* chore: bump chromium in DEPS to 142.0.7429.0
* chore: bump chromium in DEPS to 142.0.7430.0
* 6954508: Reland Migrate WrappableWithNamedPropertyInterceptor to gin::Wrappable | https://chromium-review.googlesource.com/c/chromium/src/+/6954508
* https://chromium-review.googlesource.com/c/chromium/src/+/6955633
* 5584820: Fix font face resolution when renderer is blocked | https://chromium-review.googlesource.com/c/chromium/src/+/5584820
* chore: export patches
* chore: remove patch that keeley says is ok to remove in comments
* chore: bump chromium in DEPS to 142.0.7432.0
* chore: export patches
* chore: bump chromium in DEPS to 142.0.7434.0
* 6973697: Use type tags for data stored in V8 internal fields | https://chromium-review.googlesource.com/c/chromium/src/+/6973697
* 6976272: Revert Reland mac: click through content area in main window | https://chromium-review.googlesource.com/c/chromium/src/+/6976272
* chore: export patches
* 6938086: Rename native_widget_types.h -> native_ui_types.h | https://chromium-review.googlesource.com/c/chromium/src/+/6938086
* 6951252: Correct PersistentCache backed code cache context grouping
* chore: bump chromium in DEPS to 142.0.7436.0
* 6981628: Reland Use unordered_map in AcceleratorMap | https://chromium-review.googlesource.com/c/chromium/src/+/6981628
* chore: export patches
* chore: resolve patch conflict with main
* chore: merge conflict with main
* chore: bump chromium in DEPS to 142.0.7438.0
* chore: bump chromium in DEPS to 142.0.7440.0
* chore: bump chromium in DEPS to 142.0.7442.0
* chore: bump chromium in DEPS to 142.0.7444.0
* chore: bump chromium in DEPS to 143.0.7445.0
* chore: bump chromium in DEPS to 143.0.7447.0
* chore: bump chromium in DEPS to 143.0.7449.0
* chore: bump chromium in DEPS to 143.0.7451.0
* 7001364: Migrate GURL accessors to Get* variants in //content | https://chromium-review.googlesource.com/c/chromium/src/+/7001364
* 6986521: Implicit second value 'any' instead of 'span-all' for fallback query | https://chromium-review.googlesource.com/c/chromium/src/+/6986521
* chore: update chromium patches
* chore: update chromium patches
* chore: update patches
* fix: parse macOS SDK version across line break
https://chromium-review.googlesource.com/c/chromium/src/+/6980166
* fix: replace v8::Object::SetPrototype() usage
https://chromium-review.googlesource.com/c/v8/v8/+/6983465
https://github.com/nodejs/node/pull/55453
* fix: regenerate filenames.libcxx.gni
https://chromium-review.googlesource.com/c/chromium/src/+/6980307
* fix: replace additional usages of SetPrototype
https://chromium-review.googlesource.com/c/v8/v8/+/6983465
* build: use macos 15 minimum
https://chromium-review.googlesource.com/c/chromium/src/+/6980166
* ci: ignore missing dir for strip_universal_deep
* fix: js2c compilation failure
https://chromium-review.googlesource.com/c/chromium/src/+/6950738
See patch description explaining MacOS 26 SDK headers incompatibility.
* fixup! chore: export patches
* feat: add new memory-eviction exit reason
https://chromium-review.googlesource.com/c/chromium/src/+/6991933
* fix: set JSON reader parsing options
https://chromium-review.googlesource.com/c/chromium/src/+/6992114
* fix: provide DeviceEmulationCacheBehavior param
https://chromium-review.googlesource.com/c/chromium/src/+/6965238
* fix: views::NonClientFrameView -> views::FrameView
https://chromium-review.googlesource.com/c/chromium/src/+/7005027
https://chromium-review.googlesource.com/c/chromium/src/+/6966937
* fix: check new forced colors enum value
https://chromium-review.googlesource.com/c/chromium/src/+/6944403
* fix: migrate NetworkConditions -> MatchedNetworkConditions
https://chromium-review.googlesource.com/c/chromium/src/+/6827307
* fix: migrate GURL string methods to Get*()
https://chromium-review.googlesource.com/c/chromium/src/+/7007010
* fix: disable C++ modules in electron_lib builds
https://chromium-review.googlesource.com/c/chromium/src/+/6950738
* fix: partially revert is_headless_mode removal
https://chromium-review.googlesource.com/c/chromium/src/+/6955633
This patch should likely be reworked. For now, this partially reverts the
removal of a required class property to restore behavior.
* Revert "build: use macos 15 minimum"
This reverts commit 2fc12d6acc .
Initially this change was made to test if it fixes libcxx
compilation issues. As that's now resolved by disabling libcxx
modules, this can be reverted.
* fix: disable C++ modules in libnode builds
* fixup! fix: replace v8::Object::SetPrototype() usage https://chromium-review.googlesource.com/c/v8/v8/+/6983465 https://github.com/nodejs/node/pull/55453
* fixup! fix: replace v8::Object::SetPrototype() usage https://chromium-review.googlesource.com/c/v8/v8/+/6983465 https://github.com/nodejs/node/pull/55453
* build: switch to macos-15 runner
build/mac/find_sdk.py now requires macOS 15 SDK as a minimum version. The
macos 15 runners default to an Xcode using the 15 SDK and removes older
versions.
* fixup! fix: check new forced colors enum value https://chromium-review.googlesource.com/c/chromium/src/+/6944403
* fixup! fix: migrate GURL string methods to Get*() https://chromium-review.googlesource.com/c/chromium/src/+/7007010
* fix: use std::u16string for Extension::Create() error parameter
https://chromium-review.googlesource.com/c/chromium/src/+/6975452
* fix: add missing image_skia include
https://chromium-review.googlesource.com/c/chromium/src/+/6986762
* fixup! fix: add missing image_skia include https://chromium-review.googlesource.com/c/chromium/src/+/6986762
* fix: remove outdated V8 flag
https://chromium-review.googlesource.com/c/v8/v8/+/6948286
* fix: disable protocol handler DCHECK
https://chromium-review.googlesource.com/c/chromium/src/+/6727594
Ignore the extension custom protocol handler registry DCHECK until
we invest in supporting it. Replacing this DCHECK seems harmless
and will unblock the roll.
* fix: replace deprecated usage of SetPrototype
https://chromium-review.googlesource.com/c/v8/v8/+/6983465
* fixup! fix: migrate NetworkConditions -> MatchedNetworkConditions https://chromium-review.googlesource.com/c/chromium/src/+/6827307
* fixup! fix: migrate GURL string methods to Get*() https://chromium-review.googlesource.com/c/chromium/src/+/7007010
* chore: remove patch already included in roll
* chore: remove extraneous formatting added to patch
* chore: remove fix_harden_blink_scriptstate_maybefrom.patch
https://chromium-review.googlesource.com/c/chromium/src/+/6973697
No longer needed since the above CL landed.
* 6973697: Use type tags for data stored in V8 internal fields
https://chromium-review.googlesource.com/c/chromium/src/+/6973697
* chore: update patches
* fixup! chore: export patches
* chore: restore electron embedder data tag patch
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Alice Zhao <alicelovescake@anthropic.com >
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org >
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com >
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
2025-10-13 12:21:54 -04:00
Shelley Vohr
03a02fc31e
fix: fullscreen for windows without rounded corners ( #47664 )
2025-07-08 11:14:14 +02:00
electron-roller[bot]
035879357e
chore: bump chromium to 139.0.7256.0 (main) ( #47481 )
...
* chore: bump chromium in DEPS to 139.0.7242.0
* chore: update render_widget_host_view_mac.patch
no code changes; just updating patch context
Do a cleanup pass on the history swiper code | https://chromium-review.googlesource.com/c/chromium/src/+/6604367
* chore: update mas_avoid_private_macos_api_usage.patch.patch
no code changes; just updating patch context
[tracing] Delete base/trace_event/base_tracing.h | https://chromium-review.googlesource.com/c/chromium/src/+/6624012
* chore: update chore_provide_iswebcontentscreationoverridden_with_full_params.patch
no manual changes; just updating patch context
[ActorFramework] Refactor Actor Task Management | https://chromium-review.googlesource.com/c/chromium/src/+/6618684
* chore: update fix_move_autopipsettingshelper_behind_branding_buildflag.patch
[pip] Tuck picture-in-picture windows when a file dialog is open | https://chromium-review.googlesource.com/c/chromium/src/+/6449682
Reland "[document pip] Restrict the size that a website can request" | https://chromium-review.googlesource.com/c/chromium/src/+/6372104
* chore: update feat_corner_smoothing_css_rule_and_blink_painting.patch
Xref: corner-shape: constraint radii based on opposite corner overlap | https://chromium-review.googlesource.com/c/chromium/src/+/6592572
* chore: update revert_code_health_clean_up_stale_macwebcontentsocclusion.patch
no manual changes; just updating patch context
* chore: update fix_rename_sqlite_win32_exports_to_avoid_conflicts_with_node_js.patch
no code changes; just updating patch context
* chore: e patches all
* Plumb Verify2QwacBinding and hook it up in QwacWebContentsObserver
https://chromium-review.googlesource.com/c/chromium/src/+/6624719
* [Extensions] Remove host delegate OnMainFrameCreatedForBackgroundPage
https://chromium-review.googlesource.com/c/chromium/src/+/6631123
* Extensions: Rename GetResourceURL to ResolveExtensionURL
https://chromium-review.googlesource.com/c/chromium/src/+/6625053
* [NonClientFrameView] Consolidate NativeFrameViewMac
https://chromium-review.googlesource.com/c/chromium/src/+/6614239
* ICWYU
* [views-ax] Remove dead code WidgetAXTreeIDMap
https://chromium-review.googlesource.com/c/chromium/src/+/6619701
* Reland "extensions: Add `WillPrepareForEvaluation` to setup MojoJS"
https://chromium-review.googlesource.com/c/chromium/src/+/6630056
* NavigationThrottleRunner2: Remove MaybeAddThrottle
https://chromium-review.googlesource.com/c/chromium/src/+/6628079
* [pip] Tuck picture-in-picture windows when a file dialog is open
https://chromium-review.googlesource.com/c/chromium/src/+/6449682
* build: fix snapshot_blob.bin build error
xref: https://issues.chromium.org/issues/416540976
* chore: e patches all
* build: freeup disk space on macos
* chore: bump chromium in DEPS to 139.0.7244.0
* chore: update printing.patch
no manual changes; just updating patch context
* chore: remove upstreamed ignore_parse_errors_for_resolveshortcutproperties.patch
Prevent Windows crash on unexpected shortcut type | https://chromium-review.googlesource.com/c/chromium/src/+/6633298
* chore: e patches all
* Revert "Reland "extensions: Add `WillPrepareForEvaluation` to setup MojoJS""
This reverts commit 77c4f967a6 .
Revert CL for the high confidence crash culprit for http://crash/28f897bb9743dfe0 | https://chromium-review.googlesource.com/c/chromium/src/+/6641819
* Fix spec's expected base64-encoded PNG strings to match upstream changes.
[rust png] Enable by default. | https://chromium-review.googlesource.com/c/chromium/src/+/6085801
* chore: bump chromium in DEPS to 139.0.7246.0
* chore: e patches all
* chore: bump chromium in DEPS to 139.0.7248.0
* chore: update patches
* siso: Enable Siso by default for non-Google builds
https://chromium-review.googlesource.com/c/chromium/src/+/6638830
Disabling for now until we are ready to build siso on all platforms.
* Revert "revert Don't use static variable for UseExternalPopupMenus"
This reverts commit e91e3894e6 .
* Update mac_sdk_min to match minimum required SDK version
https://chromium-review.googlesource.com/c/chromium/src/+/6493969
(cherry picked from commit 3e7cbe912d )
* [video pip] Use default window styling on Mac
https://chromium-review.googlesource.com/c/chromium/src/+/6648665
* Reland "Force the unintentional renderer process creation check by default"
https://chromium-review.googlesource.com/c/chromium/src/+/6626905
* fixup: Reland "Force the unintentional renderer process creation check by default
https://chromium-review.googlesource.com/c/chromium/src/+/6626905
* chore: bump chromium in DEPS to 139.0.7249.0
* fixup: Reland "Force the unintentional renderer process creation check by default
https://chromium-review.googlesource.com/c/chromium/src/+/6626905
* chore: update patches
* chore: bump chromium in DEPS to 139.0.7250.0
* chore: bump chromium in DEPS to 139.0.7252.0
* chore: bump chromium in DEPS to 139.0.7254.0
* 6638187: browser level TOCTOU check for coordinate target
https://chromium-review.googlesource.com/c/chromium/src/+/6638187
* chore: fixup patch indices
* chore: add missing base/notimplemented includes
* 6652910: [Frame Cleanup] Push down/hide implementation-specific API
https://chromium-review.googlesource.com/c/chromium/src/+/6652910
* chore: bump chromium in DEPS to 139.0.7256.0
* chore: fix lint
* fixup! 6652910: [Frame Cleanup] Push down/hide implementation-specific API
* fix: move HandleScope location
* chore: bump chromium in DEPS to 139.0.7258.0
* fixup! [NonClientFrameView] Consolidate NativeFrameViewMac
* Revert "chore: bump chromium in DEPS to 139.0.7258.0"
This reverts commit 264b2e934f .
---------
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: John Kleinschmidt <jkleinsc@electronjs.org >
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com >
Co-authored-by: deepak1556 <hop2deep@gmail.com >
2025-06-26 00:12:49 +09:00
Keeley Hammond
3536d4976a
fix: revert moving IsClosed() and IsClosable() into NativeWindow::Close() ( #47482 )
...
Revert "refactor: move `IsClosed()` and `IsClosable()` tests into `NativeWindow::Close()` (#46888 )"
This reverts commit 3faddd5ae2 .
2025-06-16 16:41:19 -07:00
Charles Kerr
3faddd5ae2
refactor: move IsClosed() and IsClosable() tests into NativeWindow::Close() ( #46888 )
...
refactor: devirtualize NativeWindow::IsClosed()
2025-05-02 13:21:29 -05:00
Keeley Hammond
63114e2b8e
fix: revert macOS content protection logic refactor ( #46886 )
...
Revert "refactor: use upstream content protection logic on macOS (#46813 )"
This reverts commit 34adb976b6 .
2025-05-01 13:49:55 -07:00
Charles Kerr
25d77fd1ce
refactor: use WidgetDelegate's title property ( #46849 )
...
* refactor: use WidgetDelegate::SetTitle()
* Make NativeWindow::SetTitle() and NativeWindow::GetTitle() non-virtual.
Use WidgetDelegate for their implementation.
* Add NativeWindow::OnTitleChanged(), a new protected virtual method to update
subclasses (e.g. NativeWindowMac needs to redraw the button proxy).
* In NativeWindowMac, replace SetTitle() and GetTitle() with OnTitleChanged().
* In NativeWindowViews, replace SetTitle() and GetTitle() with OnTitleChanged().
* test: enable BrowserWindow.title tests on Linux
* test: add a test to confirm win.title changes when document.title is set in the renderer
2025-04-30 08:22:27 -07:00
Shelley Vohr
b03c71213e
refactor: use upstream content protection logic on macOS ( #46780 )
...
* refactor: use upstream content protection logic on macOS
* Update shell/browser/native_window.h
Co-authored-by: Charles Kerr <charles@charleskerr.com >
---------
Co-authored-by: Charles Kerr <charles@charleskerr.com >
2025-04-26 11:31:30 -05:00
Calvin
51dbe69e45
fix: vibrancy window border ( #46648 )
...
* fix: vibrancy window border
* Use WidgetDelegate::OnWidgetInitialized instead
2025-04-25 11:42:48 +02:00
Shelley Vohr
99c943df23
fix: setContentProtection(true) after hide on Windows ( #45868 )
...
fix: content protection after hide on Windows
https://chromium-review.googlesource.com/c/chromium/src/+/5789117
2025-03-04 16:39:59 -05:00
michal-pichlinski-openfin
6953f5505f
refactor: remove InspectableWebContentsViewMac in favor of the Views version ( #44628 )
...
* refactor: remove InspectableWebContentsViewMac in favor of the Views version
* cherry-pick: refactor: remove InspectableWebContentsViewMac in favor of the Views version (#41326 )
commit e67ab9a93d
Confilcts not resolved, except removal of the files removed
by the original commit.
* resolved conflicts and build issues after cherry-pick
* cherry-picked: fix: add method allowing to disable headless mode in native widget
https://github.com/electron/electron/pull/42996
fixing
https://github.com/electron/electron/issues/42995
* fix: displaying select popup in window created as fullscreen window
`constrainFrameRect:toScreen:` is not being call for windows created
with `fullscreen: true` therefore `headless` mode was not being removed
and `RenderWidgetHostNSViewBridge::DisplayPopupMenu` ignored displaying
popup.
Issue could be fixed by placing additional removal of `headless` mode
in the `toggleFullScreen:`, but `orderWindow:relativeTo:` is called
both for a regular and a fullscreen window, therefore there will be
a single place fixing both cases.
Because `electron::NativeWindowMac` lifetime may be shorter than
`ElectronNSWindow` on which macOS may execute `orderWindow:relativeTo:`
we need to clear `shell_` when `NativeWindow` is being closed.
Fixes #43010 .
* fix: Content visibility when using `vibrancy`
We need to put `NSVisualEffectView` before `ViewsCompositorSuperview`
otherwise when using `vibrancy` in `BrowserWindow` `NSVisualEffectView`
will hide content displayed by the compositor.
Fixes #43003
Fixes #42336
In fact main issues reported in these tickets were not present after
cherry-picking original refactor switching to `views::WebView`, so
text could be selected and click event was properly generated. However
both issues testcases were using `vibrancy` and actual content was
invisible, because it was covered by the `NSVisualEffectView`.
* fix: EXCEPTION_ACCESS_VIOLATION crash on BrowserWindow.destroy()
Restored postponed deletion of the `NativeWindow`.
Restoration caused `DCHECK(new_parent_ui_layer->GetCompositor());` failure
in `BrowserCompositorMac::SetParentUiLayer` after the spec test:
`chrome extensions chrome.webRequest does not take precedence over Electron webRequest - http`
with stack:
```
7 Electron Framework 0x000000011fe07830 content::BrowserCompositorMac::SetParentUiLayer(ui::Layer*) + 628
8 Electron Framework 0x000000011fe0c154 content::RenderWidgetHostViewMac::SetParentUiLayer(ui::Layer*) + 220
9 Electron Framework 0x000000011fe226a8 content::WebContentsViewMac::CreateViewForWidget(content::RenderWidgetHost*) + 600
10 Electron Framework 0x000000011fd37e4c content::WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(content::RenderViewHost*) + 164
11 Electron Framework 0x000000011fb32278 content::RenderFrameHostManager::CreateSpeculativeRenderFrame(content::SiteInstanceImpl*, bool, scoped_refptr<content::BrowsingContextState> const&) + 816
12 Electron Framework 0x000000011fb2ab8c content::RenderFrameHostManager::CreateSpeculativeRenderFrameHost(content::SiteInstanceImpl*, content::SiteInstanceImpl*, bool) + 1308
13 Electron Framework 0x000000011fb28598 content::RenderFrameHostManager::GetFrameHostForNavigation(content::NavigationRequest*, content::BrowsingContextGroupSwap*, std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>*) + 1796
14 Electron Framework 0x000000011fa78660 content::NavigationRequest::SelectFrameHostForOnRequestFailedInternal(bool, bool, std::__Cr::optional<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>> const&) + 280
15 Electron Framework 0x000000011fa6a994 content::NavigationRequest::OnRequestFailedInternal(network::URLLoaderCompletionStatus const&, bool, std::__Cr::optional<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>> const&, bo
+ 1008
16 Electron Framework 0x000000011fa7772c content::NavigationRequest::OnRequestFailed(network::URLLoaderCompletionStatus const&) + 72
17 Electron Framework 0x000000011f8554ac content::NavigationURLLoaderImpl::NotifyRequestFailed(network::URLLoaderCompletionStatus const&) + 248
```
This was probably the reason of removing `NativeWindow` immediately
in order to cleanup `views_host_` in `WebContentsViewMac` to prevent
using layer without compositor in `WebContentsViewMac::CreateViewForWidget`.
`[ElectronNSWindowDelegate windowWillClose:]` is deleting window host
and the compositor used by the `NativeWindow` therefore detach `NativeWindow`
contents from parent. This will clear `views_host_` and prevent failing
mentioned `DCHECK`.
Fixes #42975
* chore: Applied review suggestions
* refactor: directly cleanup shell
---------
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com >
2025-01-17 10:21:10 -05:00
Shelley Vohr
86e4529d26
fix: ensure context-menu emitted for draggable regions ( #44761 )
...
* fix: ensure context-menu emitted for draggable regions
* chore: address suggestions from review
2024-11-22 12:33:38 +01:00
Gellert Hegyi
7a79d4c96e
feat: add optional animation parameter to BrowserWindow.setVibrancy ( #35987 )
...
adds optional animation parameter to BrowserWindow.setVibrancy
2024-11-12 09:03:30 -08:00
Charles Kerr
233724fe00
chore: iwyu mojom-forward header files ( #43741 )
...
* chore: iwyu mojom.h headers
* fixup! chore: iwyu mojom.h headers
make previously-indirect include dependency direct
* fixup! fixup! chore: iwyu mojom.h headers
make previously-indirect include dependency direct
2024-09-17 12:58:56 -07:00
cptpcrd
2337d8676d
fix: handle failing to enter fullscreen on macOS ( #43112 )
...
* fix: handle failing to enter/exit fullscreen on macOS
On macOS, failing to enter/exit fullscreen can fail. If this happens,
properly restore the original window state.
* refactor: remove fail to exit fullscreen handlers
Seem to be unnecessary since the window exits fullscreen anyway.
2024-08-01 12:13:13 +02:00
Shelley Vohr
ed3242adc1
fix: vibrant view is inserted into Views API hierarchy ( #43078 )
...
* fix: vibrant view is inserted into Views API hierarchy (#42263 )
* Update shell/browser/native_window_mac.mm
Co-authored-by: Charles Kerr <charles@charleskerr.com >
---------
Co-authored-by: Hans Halverson <hans_halverson@alumni.brown.edu >
Co-authored-by: Charles Kerr <charles@charleskerr.com >
2024-07-30 18:21:20 -05:00
Charles Kerr
aa23198ad8
chore: remove more unused #include calls ( #43000 )
...
* chore: in shell/renderer/renderer_client_base.h, remove include media/base/key_systems_support_registration.h
last use removed in c670e38b (##41610)
* chore: iwyu electron/fuses.h
* chore: iwyu media/base/video_frame.h
* chore: iwyu base/functional/callback.h
* chore: iwyu base/task/cancelable_task_tracker.h
* chore: iwyu shell/browser/draggable_region_provider.h
* chore: iwyu shell/browser/ui/inspectable_web_contents_view.h
* chore: iwyu ui/aura/window.h
* chore: iwyu ui/base/win/shell.h
* chore: iwyu ui/display/win/screen_win.h
* chore: iwyu ui/gfx/geometry/insets.h
* chore: iwyu ui/display/display.h
* chore: iwyu ui/gfx/geometry/skia_conversions.h
* chore: iwyu ui/gfx/geometry/rect_conversions.h
* chore: iwyu ui/gfx/geometry/point.h
* chore: iwyu ui/gfx/scoped_canvas.h
* chore: iwyu ui/gfx/image/image.h
* chore: iwyu ui/accessibility/ax_node_data.h
* chore: iwyu ui/views/animation/ink_drop_highlight.h
* chore: iwyu ui/gfx/font_list.h
* chore: iwyu ui/linux/nav_button_provider.h
* chore: iwyu shell/browser/ui/views/frameless_view.h
* chore: iwyu services/metrics/public/cpp/ukm_source_id.h
* chore: iwyu net/http/http_util.h
* chore: iwyu net/base/mime_util.h
* chore: iwyu content/public/common/content_client.h
* chore: iwyu <list>
* chore: iwyu <optional>
* chore: iwyu <memory>
* chore: iwyu base/files/file_path.h
* chore: iwyu ui/base/cursor/cursor.h
* chore: iwyu build/build_config.h
* chore: iwyu content/public/browser/web_contents.h
* chore: iwyu shell/browser/hid/hid_chooser_context.h
* chore: iwyu shell/common/platform_util.h
* chore: iwyu base/task/single_thread_task_runner.h
* chore: iwyu content/browser/renderer_host/render_widget_host_impl.h
* chore: iwyu content/public/browser/render_widget_host.h
* chore: iwyu shell/browser/electron_browser_context.h
* chore: iwyu content/public/browser/web_contents_observer.h
* chore: iwyu content/public/browser/render_frame_host.h
* chore: iwyu content/public/browser/media_stream_request.h
* chore: iwyu chrome/common/chrome_paths.h
* chore: iwyu chrome/browser/icon_manager.h
* chore: iwyu printing/print_settings.h
* chore: iwyu renderer/pepper_helper.h
* chore: iwyu shell/browser/api/process_metric.h
* chore: iwyu shell/browser/electron_browser_client.h
* chore: iwyu shell/browser/electron_browser_context.h
* chore: iwyu shell/browser/api/electron_api_session.h
* chore: iwyu shell/browser/api/electron_api_app.h
* chore: iwyu shell/browser/ui/views/client_frame_view_linux.h
* chore: iwyu shell/browser/native_window_views.h
* chore: iwyu base/win/windows_version.h
* chore: iwyu shell/common/electron_paths.h
* chore: iwyu content/public/common/content_switches.h
* chore: iwyu third_party/skia/include/core/SkRRect.h
* chore: iwyu third_party/skia/include/core/SkBitmap.h
* chore: iwyu third_party/skia
* chore: iwyu shell/browser/osr/osr_host_display_client.h
* chore: iwyu shell/browser/login_handler.h
* chore: iwyu shell/browser/javascript_environment.h
* chore: iwyu shell/browser/event_emitter_mixin.h
* fix: mac
* fix: mac
* chore: iwyu base/nix/xdg_util.h
* fix: win
* fix: win
* fix: win
* fix: win
2024-07-25 11:25:45 +02:00
Mitchell Cohen
05fba85aa3
fix: do not activate app when showing a panel on Mac ( #41750 )
...
* fix: do not activate app when showing or focusing a panel on Mac
* restored panel activation test
2024-04-12 14:27:59 +02:00
Shelley Vohr
5f785f213e
revert: add BrowserWindow.isOccluded()
...
This reverts commit 768ece6b54 .
2024-02-12 09:35:34 +01:00
Shelley Vohr
768ece6b54
feat: add BrowserWindow.isOccluded() ( #38982 )
...
feat: add BrowserWindow.isOccluded()
2024-02-06 11:30:35 +01:00
Milan Burda
892c9d78a3
chore: replace absl::optional<T> with std::optional<T> ( #40928 )
...
* chore: replace absl::optional<T> with std::optional<T>
* IWYU
2024-01-10 16:23:35 -06:00
Tamás Zahola
cc1b64e01c
fix: macOS maximize button shouldn't be disabled just because the window is non-fullscreenable ( #40705 )
...
* fix: macOS maximize button shouldn't be disabled just because the window is non-fullscreenable
* add test
* fix test by enabling maximize button if `resizable && (maximizable || fullscreenable)` instead of `(resizable && maximizable) && fullscreenable`
2024-01-05 12:15:35 -05:00
Charles Kerr
f229201f41
refactor: make NativeWindow getter methods const ( #40804 )
...
* refactor: make NativeWindow getter methods const
* fixup! refactor: make NativeWindow getter methods const
make GetZOrderLevel() const
* fixup! refactor: make NativeWindow getter methods const
fix oops
2024-01-04 09:51:59 -06:00
Jeremy Rose
15c6014324
feat: replace BrowserView with WebContentsView ( #35658 )
2023-12-13 13:01:03 -08:00
Shelley Vohr
f362e089b1
fix: incorrect wco bounds in macOS fullscreen ( #40179 )
2023-10-16 11:18:31 +02:00
Shelley Vohr
3392d9a2e7
fix: all children showing when showing child window ( #40062 )
2023-10-05 09:19:57 -04:00
Shelley Vohr
713d8c4167
feat: add tabbingIdentifier property to BrowserWindow ( #39980 )
...
feat: add tabbingIdentifier property to BrowserWindow
2023-10-03 12:27:40 -07:00
Cheng Zhao
ad57867594
fix: apply size constraints to NSWindow ( #39975 )
2023-09-27 11:11:24 +02:00
Shelley Vohr
695fcf3cb2
fix: reparenting after BrowserWindow.destroy() ( #39062 )
...
fix: reparenting after BrowserWindow.destroy()
2023-07-26 16:47:32 +02:00
electron-roller[bot]
bbdd037219
chore: bump chromium to 117.0.5892.0 (main) ( #39118 )
...
* chore: bump chromium in DEPS to 117.0.5892.0
* 4670267: Don't send javascript: or empty URLs to browser in CreateNewWindow.
https://chromium-review.googlesource.com/c/chromium/src/+/4670267
* 4662090: Add metrics for WebGPU support
https://chromium-review.googlesource.com/c/chromium/src/+/4662090
* 4672599: Use set_defaults for mac_app_bundle
https://chromium-review.googlesource.com/c/chromium/src/+/4672599
* 4663771: usb: Add connection count tracking methods for UsbDelegate
https://chromium-review.googlesource.com/c/chromium/src/+/4663771
* 4664578: Remove unused parameter from ExtensionsGuestViewManagerDelegate ctor
https://chromium-review.googlesource.com/c/chromium/src/+/4664578
* 4622253: usb: Create classes for usb system tray icon
https://chromium-review.googlesource.com/c/chromium/src/+/4622253
* 4678263: Remove ARC support from scoped_nsobject
https://chromium-review.googlesource.com/c/chromium/src/+/4678263
* chore: follow-up ARC changes and missing guard corrections
* chore: don't mark 0-param ctor explicit
Follow up to https://chromium-review.googlesource.com/c/chromium/src/+/4664578
* chore: fixup patch indices
* 4670865: Merge ObjectProxy::CallMethodAndBlock{,WithErrorDetails}.
https://chromium-review.googlesource.com/c/chromium/src/+/4670865
* chore: follow-up ARC changes and missing guard corrections
* fixup: retain ElectronApplicationDelegate
* fix: correct rustc binary
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com >
2023-07-19 00:26:27 +02:00
electron-roller[bot]
9645f7f6d8
chore: bump chromium to 117.0.5884.1 (main) ( #38969 )
...
* chore: bump chromium in DEPS to 117.0.5866.0
* chore: bump chromium in DEPS to 117.0.5868.0
* chore: update mas_no_private_api.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4634925
Minor manual patch syncing due to upstream code shear
* chore: update mas_disable_remote_layer.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4647191
Manually sync patch to minor upstream code shear
* chore: update mas_disable_remote_accessibility.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4641746
No manual changes; patch applied with fuzz
* chore: update mas_avoid_usage_of_private_macos_apis.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4634925
Manually sync base/process/launch_mac.cc to minor upstream shear
Manually sync base/mac/foundation_util.mm to upstream changes:
_CFIsObjC use has been removed upstream, so we no longer need
to remove it 🎉
* chore: update printing.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4658496
Manually sync patch to minor upstream code shear
* chore: update disable_color_correct_rendering.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4625254
Manually sync patch to minor upstream code shear
* chore: update feat_expose_raw_response_headers_from_urlloader.patch
Xref: services/network/public/cpp/resource_request.cc
No manual changes; patch applied with fuzz
* chore: update add_electron_deps_to_license_credits_file.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4634961
No manual changes; patch applied with fuzz
* chore: update build_only_use_the_mas_build_config_in_the_required_components.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4648411
No manual changes; patch applied with fuzz
* chore: update patches
* fixup! chore: update add_electron_deps_to_license_credits_file.patch
chore: license files must be an array
* chore: bump chromium in DEPS to 117.0.5870.0
* chore: update patches
* chore: run ./script/gen-libc++-filenames.js
* chore: update json_parse_errors_made_user-friendly.patch
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/4652014
v8 error message changed upstream; update Node test to match it
* chore: bump chromium in DEPS to 117.0.5872.0
* chore: update patches
* chore: explicitly cast x11::Window to unsigned int
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4661049
This is an `enum class Window : uint32_t` defined in ui/gfx/x/xproto.h.
Previous versions of clang let this implicit cast happen,
but it generates a warning in the new clang roll.
* chore: remove unused #include
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4650453
header was removed upstream, so FTBFS unless removed here
* chore: add include guard patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4628373
h/t @jkleinsc
* chore: bump chromium in DEPS to 117.0.5874.0
* chore: update render_widget_host_view_mac.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4661244
Manually sync patch to minor upstream code
* chore: update mas_disable_remote_accessibility.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4653209
Manually sync patch to upstream code shear
* chore: update build_only_use_the_mas_build_config_in_the_required_components.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4653209
Manually sync patch to minor upstream code shear
* chore: update GetInitiatorProcessId()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4641991
trivial upstream naming change: s/ProcessID/ProcessId/
* chore: sync to upstream SetInputRegion() changes
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4665245
Simple upstream chang: SetInputRegion() used to take a gfx::Rect* where
`nullptr` meant "no opaque region". The function signature changed to
absl::optional<gfx::Rect> w/the same meaning.
* chore: sync to upstream SetOpaqueRegion() changes
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4656738
Simple upstream chang: SetOpaqueRegion() used to take a vector<Rect>* where
`nullptr` meant "no opaque region". The function signature changed to
absl::optional<std::vector<gfx::Rect>> w/the same meaning.
* chore: update patches
* chore: bump chromium in DEPS to 117.0.5876.0
* chore: update mas_disable_remote_accessibility.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4658375
We no longer need to patch out a field that's now removed upstream.
RenderWidgetHostNSViewBridgeOwner.remote_accessibility_element_
* chore: update feat_filter_out_non-shareable_windows_in_the_current_application_in.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4658680
Manually sync patch to upstream code shear (ARC adoption).
* chore: update patches
* fix: -Werror,-Wshadow error in Node.js
* chore: bump chromium in DEPS to 117.0.5878.0
* chore: bump chromium in DEPS to 117.0.5880.0
* chore: bump chromium in DEPS to 117.0.5880.4
* chore: update patches
* 4658680: Convert /content/browser to use ARC
https://chromium-review.googlesource.com/c/chromium/src/+/4658680
* 4669995: Remove CFToNSCast and NSToCFCast
https://chromium-review.googlesource.com/c/chromium/src/+/4669995
* WIP: 4658680: Convert /content/browser to use ARC
https://chromium-review.googlesource.com/c/chromium/src/+/4658680
* chore: update printing patch after rebase
* chore: bump chromium in DEPS to 117.0.5882.0
* Revert "WIP: 4658680: Convert /content/browser to use ARC"
This reverts commit c8559ea448 .
* Revert "4669995: Remove CFToNSCast and NSToCFCast"
This reverts commit 38e145f33d .
* chore: bump chromium in DEPS to 117.0.5874.0
* 4661244: Convert /content/browser/renderer_host to use ARC
https://chromium-review.googlesource.com/c/chromium/src/+/4661244
* 4653209: Convert /ui/views:views to use ARC
https://chromium-review.googlesource.com/c/chromium/src/+/4653209
* chore: fixup mas_disable_remote_accessibility.patch
* chore: fixup render_widget_host_view_mac.patch
* chore: update to newer clang
* chore: bump chromium in DEPS to 117.0.5884.1
(cherry picked from commit a3879acfde8f3d962d58d6ad0632164ccb88ee63)
* 4669995: Remove CFToNSCast and NSToCFCast
https://chromium-review.googlesource.com/c/chromium/src/+/4669995
(cherry picked from commit 38e145f33d )
(cherry picked from commit b1224ab7e00aedbd0e5dc78ebb3c6162573b28c4)
* 4658680: Convert /content/browser to use ARC
https://chromium-review.googlesource.com/c/chromium/src/+/4658680
(cherry picked from commit 77039a323b9ebb3e8edb3a92a3b94a8d7d026a32)
* Rename and cleanup ExtensionsBrowserClient functions
| https://chromium-review.googlesource.com/c/chromium/src/+/4665670
(cherry picked from commit 677a2e646a8d82da60dc252b08b320c3ddff6be6)
* chore: bump chromium in DEPS to 117.0.5886.0
* chore: update patches
* Revert "chore: update patches"
This reverts commit db9294f944 .
* Revert "chore: bump chromium in DEPS to 117.0.5886.0"
This reverts commit a7de0276e6 .
* build: use built toolchains instead of locally installed VSCode
* fixup: build: use built toolchains instead of locally installed VSCode
* chore: add missing mojo dep
---------
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: John Kleinschmidt <jkleinsc@electronjs.org >
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com >
2023-07-16 16:14:43 +02:00
Mikhail Leliakin
56b5c00312
feat: add BrowserWindow.showAllTabs() for macOS ( #38965 )
2023-07-10 10:43:37 +02:00
Shelley Vohr
5ee890fb6f
fix: reparenting UAF crash on macOS ( #38603 )
2023-06-08 12:18:37 +02:00
Shelley Vohr
40e724e5dd
fix: DCHECK minimizing parent window with non-modal child ( #38460 )
2023-05-31 11:57:44 +02:00
Shelley Vohr
13e309e1fb
fix: only exit fullscreen conditionally with setKiosk ( #38219 )
...
fix: only exit fullscreen conditionally with setKiosk
2023-05-09 12:28:37 -04:00
Cheng Zhao
0de1012280
feat: add BrowserWindow.set/getWindowButtonPosition APIs ( #37094 )
2023-02-17 19:06:32 +09:00
Shelley Vohr
d092e6bda4
feat: expose window.invalidateShadow() ( #32452 )
...
Co-authored-by: Jeremy Rose <jeremya@chromium.org >
Co-authored-by: Darshan Sen <raisinten@gmail.com >
2022-12-01 10:24:44 -08:00
Brad Carter
15540975ff
feat: Add BrowserWindow option to hide window in Mission Control (macOS) ( #36092 )
...
* feat: Add BrowserWindow option to ignore Mission Control (macOS)
* There are many circumstances when app developers may want to hide their
windows from mission control. E.g., full screen overlays, small helper
windows, dialogs, etc.
* This PR adds the functionality, docs, and tests.
* chore:Rename variables
* Update shell/browser/native_window_mac.h
Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com >
Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com >
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
2022-11-01 16:43:42 -04:00
Jeremy Rose
8a926ffde4
refactor: use views NonClientHitTest for draggable regions on mac ( #35603 )
...
* refactor: use views NonClientHitTest for draggable regions on mac
* iwyu
* add backport of 9bb5f0316
* chore: update patches
* remove some unneeded functions
* remove test for triggering when BW is focused
* chore: update patches
* simplify views/mac split now that the draggable logic is the same
* Apply suggestions from code review
Co-authored-by: Charles Kerr <charles@charleskerr.com >
* Update shell/browser/native_window.h
Co-authored-by: Charles Kerr <charles@charleskerr.com >
* fix build
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com >
2022-10-12 12:05:45 -04:00
Jeremy Rose
f82a863f65
feat: replace scroll-touch* with generic input-event ( #35531 )
2022-09-27 12:47:46 -07:00
Shelley Vohr
37d93b0482
fix: update normal bounds prior to minimizing ( #34473 )
2022-06-09 10:48:50 +02:00
Shelley Vohr
16db5a112e
fix: html fullscreen transitions stacking ( #32905 )
...
* fix: html fullscreen transitions stacking
* spec: move webview test to spec-main
2022-06-07 12:59:50 -04:00
Shelley Vohr
6038e42c23
fix: fullscreen windows aren't resizable on macOS ( #34379 )
2022-06-03 09:47:19 +02:00
Shelley Vohr
2cb53c5db1
fix: zombie windows when fullscreening and closing ( #34378 )
2022-05-31 10:43:42 +02:00
Shelley Vohr
8c8642634d
fix: don't unmaximize on macOS if user set max bounds ( #33480 )
2022-03-31 00:29:02 +02:00
Milan Burda
c4ea33d1bf
chore: add ELECTRON_ prefix to C++ include guards ( #31925 )
2021-11-22 16:34:31 +09:00