* 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>
* feat: emit resize edge with will-resize event
fix: wparam type
fix: private member usage on mac
docs: will-resize event edge option
refactor: 'info' -> 'details' for better type gen
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* feat: Raise a browser view via `BrowserWindow.setTopBrowserView()`.
This is similar to removing and re-adding a browser view, but avoids a visible flicker as the browser view is not removed from the window when using `setTopBrowserView`. Note: if the given browser view is not attached to the window, it will be added.
This commit contains the macOS implementation.
* feat: setTopBrowserView support for Windows and Linux
* docs: add info about setTopBrowserView
* docs: Clarify behavior when browserView is not yet attached.
* fix: throw en error when browserView is not attached to the window
* fix: build error
* fix: test
* fix: add test case
* fix: tests
* fix: reparenting
* fix: close second window in tests
Co-authored-by: sentialx <sentialx@gmail.com>
* fix: optionally transform processes on win.SetVisibleOnAllWorkspaces on macOS, making it backwards-compatible with v9.2.1 (#27101)
* fix: optionally transform processes on win.SetVisibleOnAllWorkspaces on macOS, making it backwards-compatible with v9.2.1 (#27101)
Co-authored-by: Cyrus Roshan <cyrusroshan@users.noreply.github.com>
* Rewrite titleBarStyle impls with WindowButtonsView
* Remove fullscreenWindowTitle option
* Make buttons show correctly under RTL
* Fix docs about traffic lights position
* Fix test on fullscreen resizable
* Fix button states with closabe/minimizable/fullscreenable
* Fix typo
* Deprecate the fullscreenWindowTitle option
* fix: do not crash if the window is closed syncronously with a nativeTheme change
* fix: propogate preferred color scheme to the renderer and keep it up to date
* feat: default gtk darkTheme option to nativeTheme.shouldUseDarkColors for better platform support
* chore: update syntax for PR feedback
* refactor: only define SetGTKDarkThemeEnabled when needed
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* chore: bump chromium in DEPS to 46d2d82e84d73806da623c5333dae4dd218172df
* chore: bump chromium in DEPS to cbafe74731a5d1e59844ca59e0fc28f4a5f80a33
* chore: bump chromium in DEPS to d5dcd6b5cc76f4e1732083d775cdd7b533f0abe9
* Update patches
* update for lint
* Fix compilation errors
* chore: bump chromium in DEPS to 1c19360fdaaf65d4ed006736c7f9804104095990
* Replace removed constant
* chore: bump chromium in DEPS to 3b6639f5da26c1772c5d4f3ba634aca65df75fec
* chore: bump chromium in DEPS to cc6b1b930d4b5eca06701820dac54fa0f41e8999
* chore: bump chromium in DEPS to 7d1445641ad1032c67f731ba6ff7798f29349ade
* chore: bump chromium in DEPS to 6f7e5e79cefe982ad84a88927565a88db2e592be
* chore: bump chromium in DEPS to bfb25dafff19cb41bf9781331d19ef0be819d1e4
* chore: bump chromium in DEPS to 1a8196b39f0e0cdc4935fd122fff5625d5fab06e
* chore: bump chromium in DEPS to 9a03d8d2bb38ad8c0cbb9550ca81b2f94ff60c15
* chore: bump chromium in DEPS to 4c67f3505dab2d5457adb418cd3270a4f3236fd0
* chore: bump chromium in DEPS to 652394e7626fc1ae895a53fb34c64070494e648e
* chore: bump chromium in DEPS to 07653652c58cc019af7f833bd63eb0c2eceaab5e
* chore: bump chromium in DEPS to 451a1c5fec1fb073a5bae12a033bb342c72c905f
* chore: bump chromium in DEPS to 86cdba00e233899a232868b412b333d08db63478
* chore: bump chromium in DEPS to 7c322faad1aee8abef2330d74aabf09ecf8c11af
* Update patches
* chore: bump chromium in DEPS to d0044fae7efc29eb201cfdd5fdbed77d48aba212
* Replace IsProcessingUserGesture with HasTransientUserActivation
4baa9a6e85
* Fix 10.15 sdk build
0eaa6db358
* Remove CancelPrerender
5eb3329719
* Remove no longer used WebFloatPoint
43ab96ce6b
* Use base::span<const uint8_t> for devtools messages in content/public
21e19401af
* Update renamed header files
* TODO: update with upstream changes
This code needs to be updated to handle the changes made in:
19be6547a9
* chore: bump chromium in DEPS to 82e5a2c6bd33c2e53634a09fbcbc9fcac1e7ff93
* chore: bump chromium in DEPS to 91f877cadd2995201c276e952b3bf2c60b226c64
* chore: bump chromium in DEPS to 43fcd2ab2677a06d38246b42761dc5b40cf87177
* chore: bump chromium in DEPS to e30957dcb710c0977a7ff95b8d3cf65843df12ca
* chore: bump chromium in DEPS to 6a8335a56db12aae2fd06296f82579d804d92217
* chore: bump chromium in DEPS to a4a436cbc28ace88d71752f8f479e59559e54e46
* chore: bump chromium in DEPS to 982bbd0e4b2e1d57d515f384f6483ffc0d7073ad
* chore: bump chromium in DEPS to 92bb7a99f84ffcdf41d4edca57e90b1f0c7c6c8b
* update patches
* add checkout_google_benchmark gclient var
* FIXME: workaround grit bug
* chore: bump chromium in DEPS to d3623fc53615739e6b59340a5d349e4b397cb7c5
* update patches
* Remove color arg from DidChangeThemeColor().
https://chromium-review.googlesource.com/c/chromium/src/+/1982623
* update CreateFileURLLoader with new suffix
CL: https://chromium-review.googlesource.com/c/chromium/src/+/1981414
* add node patch for removal of task API in v8
CL: https://chromium-review.googlesource.com/c/v8/v8/+/1868620
* add disable_secure_dns param for WillCreateURLLoaderFactory
CL: https://chromium-review.googlesource.com/c/chromium/src/+/1888099
* switch to mojo-ified PrintMsg_PrintPreview
CL: https://chromium-review.googlesource.com/c/chromium/src/+/1972307
* chore: bump chromium in DEPS to e7a6d173632660b6aeb9806e9132c34a315331c2
* update missing chrome/browser/ssl:proto dependency after chrome removal
CL: https://chromium-review.googlesource.com/c/chromium/src/+/1986082
* chore: add libvulkan.so to the linux manifest
CL: https://chromium-review.googlesource.com/c/chromium/src/+/1973042
* revert DidChangeThemeColor ternary change due to templates
* match Chrome's mojo-ified implementation in geolocation_permission_context.cc
CL: https://chromium-review.googlesource.com/c/chromium/src/+/1963371
* add vulkan-1.dll to zips
2d6f74c6d4
* add bug link to fixme_grit_conflicts.patch
* Introduce device.mojom.DeviceService
https://chromium-review.googlesource.com/c/chromium/src/+/1956277
* PDF Compositor rename to Print Compositor
https://chromium-review.googlesource.com/c/chromium/src/+/1981135
* chore: bump chromium_version 00362ea584735b4acf4c5a0e1912d7987f8645ab
* chore: update patches
* Use a virtual base class to provide GetWidget().
https://chromium-review.googlesource.com/c/chromium/src/+/1996948
* [base] Remove usage of base::CurrentThread
https://chromium-review.googlesource.com/c/chromium/src/+/1962019
* chore: gn format
* Revert "ci: Use Visual Studio Build Tools instead of VS Studio (#21771)"
This reverts commit 9c1310dadc.
* fix: trigger resize when iframe requests fullscreen
* fix: Locking scheme registry is not necessary
https://chromium-review.googlesource.com/c/chromium/src/+/1973198
* chore: bump chromium f707f1d6d428f84cf14b64bc2ca74372e25c6ce7
* chore: update patches
* ui/base/clipboard: Remove redundant ANSI format functions
https://chromium-review.googlesource.com/c/chromium/src/+/1992015
* [base] Prepare //chrome for Value::GetList() switch
https://chromium-review.googlesource.com/c/chromium/src/+/1962255
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: loc <andy@slack-corp.com>
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
Co-authored-by: Robo <hop2deep@gmail.com>
* refactor: convert Menu and globalShortcut to gin
* refactor: convert api::Cookies to gin
* refactor: convert View and WebContentsView to gin
* refactor: convert WebContents related classes to gin
* refactor: convert powerMonitor to gin
* refactor: prepare for header change
* refactor: remove last uses of mate::EventEmitter
* refactor: remove mate::EventEmitter
* refactor: move trackable_object to gin_helper
* fix: custom converter should not use Handle
* fix: no more need to check if icon is empty
It was a bug that the Handle<NativeImage> can be non-empty when the
image file does not exist. The bug was caused by the converter code
writing out the image even when the convertion fails.
The bug was work-arounded by adding an additional check, but since the
original bug had been fixed, the additional check is no longer needed.
* fix: should always set frameId even when callback is null
* fix: do not mix gin/mate handles for NativeImage
Sometimes it's necessary to convey more information about the window to screen reader users only (simply putting everything to the window title might be unnecessarily noisy).
For example, Chromium uses that technique to tell screen reader users that the window is in incognito mode (the incognito window looks differently and doesn't have «incognito» in the title, but for blind users the screen reader will announce that it's incognito).
* feat: Implement BrowserWindow.moveAbove(mediaSourceId)
BrowserWindow.{focus,blur,moveTop}() are not enough in some
situations. For example when implementing an overlay that
follows another window that can lose focus. In that case
it is useful to move the overlay above the tracked window.
sourceId is a string in the format of DesktopCapturerSource.id,
for example "window:1869:0".
Notes: Added BrowserWindow.moveAbove(mediaSourceId)
https://github.com/electron/electron/issues/18922
* feat: Implement BrowserWindow.getMediaSourceId
Return the Window id in the format of DesktopCapturerSource's id.
For example "window🔢0".
https://github.com/electron/electron/issues/16460
Notes: Added BrowserWindow.getMediaSourceId