* 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>
* Added loadFile instead of loadURL in the example
For loading a local file the loadFile API is a better way to load any html file in the Renderer process.
Have changed it in the example.
* Changed backticks to single quote to correct for linting error
In order to correct the linting error reported by the bot, I have changed backticks to single quote in the example.
* feat: enable nativeWindowOpen by default
* set nativeWindowOpen: false on spec/ main window
* update snapshots
* fix tests
* fix test
* fix webview test missing allowpopups
* fix other test
* update default
* fix: invoke the window open handler for _blank links
* feat: add disposition to setWindowOpenHandler details
* fix: pass postData to new-window event
* postData can be heterogeneous
* fix type of postBody
* fix type of UploadFile and UploadRawData to be discriminated unions
* exclude the empty string from additionalFeatures
* add a test
* add postBody and referrer to setWindowOpenHandler args
* appease typescript
* Update api-browser-window-spec.ts
* update snapshots
* docs: update Node global symbols example to use contextBridge
* Trigger Build
* docs: change Node API example to show how to expose a crypto API
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* docs: Fix lint warning for crypto code sample
* docs: update node API example description to emphasize APIs instead of symbols
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* 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
* feat: support exclude from capture on Windows
Check for WDA_EXCLUDEFROMCAPTURE support, and fallback to WDA_MONITOR. Windows versions that support exclude from capture will exclude the window entirely when `setContentProtection` is enabled similar to how Mac behaves. Fall back to `WDA_MONITOR` for windows verisions that do not support.
This flag is mentioned at the very end of a Microsoft blog post here: https://blogs.windows.com/windowsdeveloper/2019/09/16/new-ways-to-do-screen-capture/
Use WDA_EXCLUDEFROMCAPTURE for content protection on windows
Starting with Windows 10, version 2004 this will exclude a window similar to the expected behavior on mac. It is safe to use WDA_EXCLUDEFROMCAPTURE on older Windows versions, as it will still behave as if WDA_MONITOR is applied.
https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/issues/64#issuecomment-697074762
See the docs here: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowdisplayaffinity
* docs: update setContentProtection docs
Update `setContentProtection` docs with `WDA_EXCLUDEFROMCAPTURE` info. This is to support screen capture fully excluding a particular window instead of showing it as a black screen.
* chore: bump chromium in DEPS to d5c9bf9e2a18fa508201a88e5803bec1d107b1ae
* chore: bump chromium in DEPS to 45f1316afae33e52c92480b34bf4f7fe4a7db898
* update patches
* WillCreateURLLoaderFactory now gets a ukm_source_id
Refs: 2346803
* ink_drop_visible_opacity -> GetInkDropVisibleOpacity
Refs: 2415368
* chore: bump chromium in DEPS to ddb5b6db5e35ab1a7b5adbd9f15373af6c35ea2a
* 2418471: PDF Viewer update: Add missing aria-labels to various buttons.
2418471
* update printing.patch given print settings mojoification
Refs: 2409467
* update patches
* content::BluetoothChooser::Event -> content::BluetoothChooserEvent
Refs: 2387901
* set_ink_drop_base_color -> SetInkDropBaseColor
Refs: 2419388
* chore: bump chromium in DEPS to ecf7c9ee830d4d85f300b461a2fa13aa40c79a4c
* update patches
* gfx::ConvertPointToPixel -> gfx::ConvertPointToPixels
Refs: 2418568
* remove ContentSettingsObserver::AllowStorage()
Refs: 2401847
* service_manager::kCrashDumpSignal -> kCrashDumpSignal
Refs: 2417073
* chore: bump chromium in DEPS to abdb7ebe5f8c8328b8f435283df90d0a3ecff7bd
* chore: bump chromium in DEPS to 2a7e138ab1066534ceb2622e8a9d2c8ebf574215
* chore: bump chromium in DEPS to ab1884e75ced904e4276851eb4e1ad89919ca93b
* chore: bump chromium in DEPS to a12413902380dcc2a73ac74d582328280a8af686
* Fixup printing patch
2428623
* Fixup OSR patch
2415128
* Make ExtensionURLLoaderFactory always owned by its |receivers_|.
2357523
* Add deprecated_default_sources_assignment_filter variable
2416496
* Fixup patch indices
* Remove several references to BrowserPlugin from content
2401031
* Remove SurfaceEmbeddingTime and LocalSurfaceIdAllocation
2415128
* Add DragOperation and AllowedDragOperations Mojo types
2196167
* chore: bump chromium in DEPS to 378450342cf6aa160663d0ce3a178a11b570c25a
* Fixup patch indices
* Remove SurfaceEmbeddingTime and LocalSurfaceIdAllocation
2415128
* Add DragOperation and AllowedDragOperations Mojo types
2196167
* 2426564: Remove global sources assignment filter value
2426564
* Fixup blink_local_frame.patch
* [XProto] Remove a subset of ui/gfx/x/x11.h
2430328
* Fixup patch indices
* Remove several references to BrowserPlugin from content
2401031
* Remove lossy ConvertSizeToPixel() methods
2419534
* serial: Use USB driver name to disambiguate ports
2413176
* Remove set_sources_filter import
* Fix ModMask usage
* [XProto] Remove usage of all Xlib headers
2392140
* [XProto] Remove usage of Xlib Visuals
2429933
* Skip Angle manifest file
2425197
* Add whole src\third_party\angle\.git directory
This directory is needed in order to properly generate gen/angle/angle_commit.h
* [libvpx] Fix HighBD config on Windows ARM64
2437745
* update patches
* fix: correct calling convention for Windows on Arm
2440717
* Add third_party/angle/.git to the archive before adding the rest of the source
* fixup source caching on Windows
* Fixup erroneous close paren
* fixup for goma issues
* This should work
* chore: bump chromium roll manually
2435142
This landed the day after we paused roller-bot and may resolve the
visibility test flakes that we're seeing. h/t to @jkleinsc for
finding this with me.
* chore: remove obsoleted cherry-pick fix for libvpx
2437745
* chore: remove obsoleted cherry-pick libvpx patch
2437745
* chore: re-export patches
* chore: add tracer comment to visibility-stat-spec.
The line numbers between the source and the CI runs don't seem to match
up, so this temp tracer is to help track the source of that difference.
* chore: bump chromium in DEPS to 7c2b8cc3b8638aee8abeb013042a6c1d15b2da6b
* update patches
* impl SortingLSH service
Refs: 2425327
* 2446525: [Flash] Remove some Flash APIs
2446525
* 2440974: Reland "Delete service_manager/embedder/switches.h"
2440974
* 2359402: Remove ContentBrowserClient::NonNetworkURLLoaderFactoryDeprecatedMap.
2359402
* 2250506: Implement tabs.removeCSS
2250506
* 2429143: Remove implicit-conversion-to-integer ConvertRectToPixel() methods.
2429143
* 2444430: Remove DataElementType::kBlob
2444430
* 2441964: Clean up WebView public API
2441964
* 2357523: Make ExtensionURLLoaderFactory always owned by its |receivers_|.
2357523
* 2461606: Use blink::mojom::PreferredColorScheme instead of blink::PreferredColorScheme
2461606
* 2461235: a11y inspect reorg: move PropertyFilter struct to a new location
2461235
* remove flash support
* fix frame_host_manager patch
* fix lint
* remove flash info from docs
* fix build
* fix osr
* chore: bump chromium in DEPS to 9269f9eb1d98d29564c2b2ab97f30c6e148c4e11
* fix visibilityState tests
* 2463049: Replace all uses of web_pref::AutoplayPolicy with mojom::AutoplayPolicy
2463049
* update patches
* fix tests harder
* 2414921: Add Group and Ungroup functions to Tabs extension API
2414921
* more test fix
* Remove all keyboard related usage of Xlib
Refs: 2436787
* fix linux build
* 2453807: [XProto] Remove usage of Xlib error handling
2453807
* lint
* fixup! 2453807: [XProto] Remove usage of Xlib error handling
* disable CalculateNativeWinOcclusion on win ci
* remove UploadBlob from docs
* Update appveyor.yml
Co-authored-by: Andy Locascio <andy@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Electron Bot <anonymous@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* feat: add worldSafe flag for executeJS results
* chore: do not log warning for webContents.executeJS
* Apply suggestions from code review
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* chore: apply PR feedback
* chore: split logic a bit
* chore: allow primitives through the world safe checl
* chore: clean up per PR feedback
* chore: flip boolean logic
* chore: update per PR feedback
* chore: fix typo
* chore: fix spec
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Address incorrect typing for isEnabled. The root cause of this was due
to missing backticks which caused the docs parser to think that the
return type of the `isEnabled` function was null, where it was supposed
to be a boolean type.
The side effect of this was that the generated typescript typings were
incorrect for this function.
Fixes#24409
* docs: document what experimental means explicitly
* Apply suggestions from code review
Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>
* Update experimental.md
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>