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
Milan Burda
65a980c673
refactor: replace deprecated DISALLOW_COPY_AND_ASSIGN ( #31633 )
2021-11-03 20:41:45 +09:00
Shelley Vohr
629d8913f6
fix: maximized state calculation for non-resizable windows ( #30989 )
2021-09-21 12:04:32 +02:00
Shelley Vohr
6fdf350bea
fix: disabling and enabling resizability on macOS ( #30999 )
2021-09-17 15:54:15 +02:00
Michaela Laurencin
41646d1168
feat: enable windows control overlay on Windows ( #29600 )
...
* rebase "feat: enable windows control overlay on Windows"
* correct compilation error
* fix linting errors
* modify includes and build file
* change `hidden` option to `overlay`
* add patch to fix visual layout
* add button background color parameter
* add button text color parameter
* modify `overlay` in docs and modify button hover/press transition color
* change `text` to `symbol`
* remove todo and fix `text` replacement
* add new titleBarOverlay property and remove titleBarStyle `overlay`
* update browser and frameless window docs
* remove chromium patches
* chore: update patches
* change button hover color, update trailing `_`, update test file
* add dchecks, update title bar drawing checks, update test file
* modify for mac and linux builds
* update docs with overlayColor and overlaySymbolColor
* add corner and side hit test info
* modify docs and copyright info
* modify `titlebar_overlay_` as boolean or object
* move `title_bar_style_ to `NativeWindow`
* update docs with boolean and object titlebar_overlay_
* add `IsEmpty` checks
* move get options for boolean and object checks
* fix linting error
* disable `use_lld` for macos
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
* Apply docs suggestions from code review
Co-authored-by: Jeremy Rose <jeremya@chromium.org >
* modify `true` option description `titleBarOverlay`
* ci: cleanup keychain after tests on arm64 mac (#30472 )
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org >
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org >
2021-08-11 14:07:36 -04:00
Cheng Zhao
97929eab5f
fix: move window buttons in-place on macOS ( #30322 )
2021-08-04 09:31:12 +09:00
John Kleinschmidt
1f8a46c9c6
feat: enable window controls overlay on macOS ( #29253 )
...
* feat: enable windows control overlay on macOS
* address review feedback
* chore: address review feedback
* Address review feedback
* update doc per review
* only enable WCO when titleBarStyle is overlay
* Revert "only enable WCO when titleBarStyle is overlay"
This reverts commit 1b58b5b1fc .
* Add new titleBarOverlay property to manage feature
* spelling fix
* Update docs/api/frameless-window.md
Co-authored-by: Samuel Attard <sam@electronjs.org >
* Update shell/browser/api/electron_api_browser_window.cc
Co-authored-by: Samuel Attard <sam@electronjs.org >
* update per review feedback
Co-authored-by: Samuel Attard <sam@electronjs.org >
2021-07-01 15:25:40 -04:00
Shelley Vohr
129f92e1fa
fix: child window alwaysOnTop level persistence ( #29813 )
...
* fix: child window alwaysOnTop level
* chore: add undocumented getAlwaysOnTopLevel
* test: add test for level persistence
* Address feedback from review
2021-06-23 15:09:09 +09:00
Shelley Vohr
63cc82d91d
fix: ensure custom traffic lights float to top ( #29595 )
...
* fix: ensure custom traffic lights float to top
* chore: split into separate function
2021-06-10 14:52:23 +02:00
electron-roller[bot]
8532e1239e
chore: bump chromium to 93.0.4530.0 (master) ( #29256 )
...
* chore: bump chromium in DEPS to 92.0.4512.6
* 2887336: [CaptureHandle][#2 ] Propagate CaptureHandleConfig in browser process
https://chromium-review.googlesource.com/c/chromium/src/+/2887336
* refactor: base::Optional -> absl::optional
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4514.0
* 2899417: Make build work when enable_pdf is set to false.
https://chromium-review.googlesource.com/c/chromium/src/+/2899417
* 2904731: use BrowserContext instead of Profile in PreconnectManager
https://chromium-review.googlesource.com/c/chromium/src/+/2904731
* 2295749: fix: check IsSecureEventInputEnabled in constructor before setting SetPasswordInputEnabled to true
https://chromium-review.googlesource.com/c/chromium/src/+/2295749
* 2893803: Add a GetWebView to RenderFrame.
https://chromium-review.googlesource.com/c/chromium/src/+/2893803
* 2892345: Implement WebContents::ForEachRenderFrameHost
https://chromium-review.googlesource.com/c/chromium/src/+/2892345
* chore: fixup patch indices
* 2892048: Real instance methods for BrowserContext: remaining 5 methods.
https://chromium-review.googlesource.com/c/chromium/src/+/2892048
* 2902821: [mojo] Don't require full header includes for referenced interfaces
https://chromium-review.googlesource.com/c/chromium/src/+/2902821
* 2496500: Remove last deprecated extension Event ctor.
https://chromium-review.googlesource.com/c/chromium/src/+/2496500
* chore: fixup malformed pepper support patch
* chore: bump chromium in DEPS to 92.0.4515.0
* 2908461: Add CreateEmptyPrintPagesParamsPtr() inside print_view_manager_base.cc.
https://chromium-review.googlesource.com/c/chromium/src/+/2908461
* 2880838: viz: add optional HDRMetadata to TransferableResource
https://chromium-review.googlesource.com/c/chromium/src/+/2880838
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4515.5
* chore: update patches
* chore: bump chromium in DEPS to 92.0.4515.7
* chore: bump chromium in DEPS to 92.0.4515.9
* chore: bump chromium in DEPS to 93.0.4522.0
* chore: bump chromium in DEPS to 93.0.4523.0
* chore: bump chromium in DEPS to 93.0.4524.0
* chore: update patches
* chore: enable_pak_file_integrity_checks was reverted
* chore: update patches
* refactor: base/optional was replaced with absl::optional
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace all usages of base::nullopt with absl::nullopt
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* chore: add missing base::Contains include
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace all usages of base::make_optional with
absl::make_optional
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace WorldScriptContext() with GetScriptContextFromWorldId
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2893213
* chore: clean up left over opening namespace
Refs: 95bfe6d08f
* chore: add missing base::Contains include
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2910202
* refactor: replace GetCurrentDisplayIterator with the hard checker
GetCurrentDisplay
This code looks suspicious but if the iterator was invalid before it
will also be invalid now.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2893191
* refactor: headers are now passed directly in extensions client
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2918906
* refactor: base::DictionaryValue::empty() has been removed
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2912424
* chore: add missing includes for network URLLoaderFactory
Refs: unknown, probably a side effect of header changes
* refactor: make convenience wrapper around AppendArg
There is no converter FromV8 for base::StringPiece (apparently its not
possible). So we now take in an std::string and use the construct for
StringPiece to do implicit conversion.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2905544
* chore: add patch
* chore: bump chromium in DEPS to 93.0.4525.0
* chore: update patches
* refactor: CanResize has been de-virtualized
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2485774
* chore: update resource integrity patch
* chore: add character encoding idl patch
* chore: bump chromium in DEPS to 93.0.4526.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4527.0
* chore: bump chromium in DEPS to 93.0.4528.0
* chore: update patches
* chore: update idl encoding patch
* chore: bump chromium in DEPS to 93.0.4529.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4530.0
* chore: update patches
* fix: only SetCanResize after the widget has been initialized
* chore: add patch for vr on windows gn gen
* spec: fix focus related tests on linux due to delay in focus swap
* chore: remove new usages of base::Optional from main
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: Samuel Attard <sattard@slack-corp.com >
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com >
2021-06-03 01:05:04 -07:00
David Sanders
ba26580f23
chore: use consistent parameter names ( #29361 )
2021-06-01 10:46:25 +09:00
David Sanders
93c9374e95
chore: trim unused STL includes ( #29414 )
2021-06-01 10:34:44 +09:00
Robo
77297f37a3
fix: adjust initial webContents focus calculation ( #29204 )
...
* fix: adjust initial webContents focus calculation
* fix: active window check on mac
* fix: about:blank focus behavior
* chore: add spec
Co-authored-by: Raymond Zhao <raymondzhao@microsoft.com >
2021-05-19 02:27:35 -07:00
Cheng Zhao
4073599f59
fix: remove background color hack in vibrancy ( #29114 )
2021-05-14 11:05:34 +02:00