* chore: bump chromium in DEPS to db7d7b3e7cb2bc925f2abfde526280cfdfc21a41
* Update patches
* chore: bump chromium in DEPS to 5613e1b99a44fcbe22f3910f803ca76903a77ec1
* Update patches
* Network service: Remove primary_network_context bool.
https://chromium-review.googlesource.com/c/chromium/src/+/2204678
* WebContentsObserver now implements OnRendererResponsive
https://chromium-review.googlesource.com/c/chromium/src/+/2211066
* update patches
* Fixup printing patch
* chore: bump chromium in DEPS to e387b972cdd7160c416fa6c64a724e2258aa0218
* update patches
* [printing] Move PrintHostMsg_DidPrintContent_Params to print.mojom
https://chromium-review.googlesource.com/c/chromium/src/+/2212110
* [XProto] Move items from ::x11::XProto to ::x11
https://chromium-review.googlesource.com/c/chromium/src/+/2218476
* revert Add IChromeAccessible
This was added in https://chromium-review.googlesource.com/c/chromium/src/+/2206224 but it breaks WOA builds because third_party/win_build_output/midl/ui/accessibility/platform/arm64 does not exist. The link above says that the new interface is behind a feature flag which is disabled by default so it is safe to remove for now.
* rebaseline ichromeaccessible for Windows arm64
This patch will not be needed once we get the next roll.
* Update to 1b9e01844e8bf1aaafc4a52c0c62af7f56d9637b to get arm64 fix
* update patches
* chore: bump chromium in DEPS to 096aefa04092ea00f7b68d8d19345883f20db3c3
* chore: bump chromium in DEPS to a524a45ffd1d6fd46a7a86138fe2b22df5b6651a
* chore: update patches
* Window Placement: Gate cross-screen fullscreen behavior on permission
https://chromium-review.googlesource.com/c/chromium/src/+/2203268
* chore: add spec for https://crbug.com/1085836
* chore: bump chromium in DEPS to ff6c4f4b826d66c2e32380bf5d1eb5e1fe37faef
* update patches
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: Electron Bot <anonymous@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
* chore: tsify more of lib
* Update lib/browser/api/session.ts
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
* feat: Add Secure Keyboard Entry APIs in macOS
Add methods:
- app.isSecureInputEnabled()
- app.setSecureInputEnabled(enabled)
These enable to prevent other process listens keyboard input events.
* fix: lint error in app.md for #20678
* fix: crash app.setSecureInputEnabled() in password textfield
* fix: export Secure keyboard Entry API to only macOS
* fix: lint error in browser_mac.mm for #20678
* test: add test for app.setSecureKeyboardEntryEnabled in macOS
We weren't serializing nativeImages properly in the remote module, leading to gin conversion errors when trying to, for example, create a new context menu in the renderer with icons using nativeImage. This fixes that by adding a new special case to handle them.
This commit fixes https://github.com/electron/electron/issues/18829
Previously the full preferences set to OS was not given to Chromium.
Also, this commit improves fallback font selection for CJK text.
Chromium uses browser languages to determine fallback fonts on Windows,
especially kanji/han characters in CJK.
For instance, when user sets 'en-US, ja-JP' to Accept-Language,
while Chromium chooses Japanese font for kanji text, but Electron
chooses Chinese font. This is because only the first language was given
to Accept-Language on Electron.
This patch is based on https://github.com/electron/electron/pull/15532
Co-authored-by: Nitish Sakhawalkar <nitsakh@icloud.com>
Co-authored-by: Kasumi Hanazuki <kasumi@rollingapple.net>
Co-authored-by: Nitish Sakhawalkar <nitsakh@icloud.com>
Co-authored-by: Kasumi Hanazuki <kasumi@rollingapple.net>
Prevent issues with menu creation and subsequent pane focus from menu bar by preventing menus from being created from an empty array. I can't conceive a valid use case for this, since if one wants to remove a menu they should be be passing null to win.setMenu() or calling win.removeMenu(). This issue is also specific to top-level menus, and not submenus, so the new check and exception is scoped to top-level menus.
* test: add pre-change snapshot of new-window event
* move to .ts file for easier diff
* refactor: improve feature string parsing logic
* test: update snapshots
* update type names per review
* update comma-separated parse test
* use for loop instead of reduce per review
* tighten up types
* avoid variable guest contents id returnValue in test snapshot
* chore: add WebContentsView.webContents helper
* chore: no need to handle webContents option
* chore: Create WebContentsView in C++
* chore: make WebContentsView accept web_preferences
* fix: nativeWindowOpen still passes WebContents to BrowserWindow
* chore: no more need of WebContentsViewRelay
* test: WebContentsView now takes options
* fix: avoid creating 2 constructors
* feat: expose the sameSite value for cookies
* Apply suggestions from code review
Co-Authored-By: Charles Kerr <ckerr@github.com>
* Apply suggestions from code review
Align with cookie samesite values for the extensions API
https://developer.chrome.com/extensions/cookies#type-SameSiteStatus
* chore: add tests for sameSite cookies get/set
* chore: update docs parser
* chore: update docs for MessageChannel and MessagePort to have correct process information
* chore: remove LOG warning
* chore: throw error if the string->samesite conversion fails
Co-authored-by: Charles Kerr <ckerr@github.com>
* fix: override file:// instead of intercepting
* test: webRequest module should work with file://
* fix: service work with file:// url
* fix: original_response_headers can be null
* fix: only register file:// when necessary
* fix: ensure standard schemes are registered in nw service process
Refs https://github.com/electron/electron/pull/20546
* chore: add test
* chore: apply suggestions from code review
Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
* 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(extensions): implement chrome.i18n API
* refactor(extensions): use forward declaration for ScriptExecutor
* fix(extensions): add message filter to handle i18n GetMessageBundle
* test(extensions): add chrome.i18n tests
* fix(extensions): message filter lint error
* fix: remove exclusive test
* fix(extensions): format api feature arrays
Co-Authored-By: Jeremy Apthorp <nornagon@nornagon.net>
* fix(extensions): uncomment chrome.i18n usage in old extensions test
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
* fix: call focus on native window on call to webContents.focus on mac
On mac call to web_contents()->Focus() is not enough so it's
necessary to call it on native window.
* fixup! fix: call focus on native window on call to webContents.focus on mac
* fixup! fix: call focus on native window on call to webContents.focus on mac
* test: close all windows after test
* fix: also match the behavior on Linux
Co-authored-by: Cheng Zhao <zcbenz@github.com>
* chore: add deprecation warning on setting app.allowRendererProcessReuse to false
* fix: no deprecation warnings in process reuse spec
* chore: add test for new deprecate removeProperty behavior
* feat: set app.enableRendererProcessReuse to true by default
* chore: add context aware info to breaking changes doc
* spec: fix nodeIntegration in child windows test for rendererprocessreuse
* spec: fix remote listeners in destroyed renderers spec as the error is now async
* Update api-browser-window-spec.ts
* chore: deprecate affinity
* chore: fix docs
* spec: handle tests crashing without an exist code
* spec: update tests for new rendererprocessreuse default
* spec: with renderer process re-use we get to destroy less views
* feat: add API for receiving logs from service workers
* feat: add new serviceWorkerContext APIs
* chore: add missing #include's
* refactor: rename serviceWorkerContext to serviceWorkers
* chore: clean up based on review
* chore: remove native_mate
* chore: add tests for the service worker module
* Update spec-main/api-service-workers-spec.ts
Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>
* chore: fix linting
* chore: handle renames
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
* fix: web request support proxying websocket
* fix: make tests work
* chore: do not use api:: code outside api/ folder
* chore: do not create proxy when no listener
* test: use separate session to avoid conflicts
* chore: address review
* fix: remove cyclic references in BrowserWindow
* fix: prevent TopLevelWindow from garbage collection
* test: garbage collection of BrowserWindow
* chore: createIDWeakMap is used in tests
* docs: add references to app.whenReady() in isReady
* refactor: prefer app.whenReady()
In the docs, specs, and lib, replace instances of `app.once('ready')`
(seen occasionally) and `app.on('ready')` (extremely common) with
`app.whenReady()`.
It's better to encourage users to use whenReady():
1. it handles the edge case of registering for 'ready' after it's fired
2. it avoids the minor wart of leaving an active listener alive for
an event that wll never fire again
* fix: systray icon demotion
Adding support for GUID parameter in Tray API.
In combination with signed binaries this allows to maintain
the position in the systray on Windows.
* unit tests
* make mac and linux compile
* chore: bump chromium in DEPS to a1ea0d7aedd6b5fe58fbabfa3b05aa8ee41304ff
* update patches
* update extensions code
* Remove WebPoint
https://chromium-review.googlesource.com/c/chromium/src/+/2007474
* fix build
* chore: bump chromium in DEPS to 9351e26c2a3714f8bbb10789c71bb51b0b494c75
* update patches
* Remove error description from the DidFailLoadWithError message
https://chromium-review.googlesource.com/c/chromium/src/+/2011280
* Make SimpleNetworkHintsHandlerImpl use the right NetworkIsolationKey
https://chromium-review.googlesource.com/c/chromium/src/+/1994430
* Rename libgtkui to gtk
https://chromium-review.googlesource.com/c/chromium/src/+/2011683
* [metrics] Remove histogram Startup.WarmStartTimeFromRemoteProcessStart*.
https://chromium-review.googlesource.com/c/chromium/src/+/2003211
* fix requestSingleInstanceLock test
* chore: bump chromium in DEPS to a813567a4f17ea08292c2b26fa10d0ffd47010d9
* chore: bump chromium in DEPS to f0aca2de536ceecd6eb66e928051d11e6d11991f
* chore: bump chromium in DEPS to 865556af6d0c9d990f5b1816cb792f7c3859667b
* chore: bump chromium in DEPS to 98538fdd28c4b6692e4cc2839729bb7ac009586a
* update patches
* fix broken tests
* Update node tests for v8 changes
* Update node patches for test failures
* Update for number of tests
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
* fix: correctly set cookie date
* fix: name is not required for setting cookie
* test: clear cookie after each cookie test
* test: should test session property
* chore: style fixes
* fix: restore parts of original ResourceRequestBody V8 conversion
Restore some of the original conversion logic in order to fix target=_blank post form submissions.
* test: add test for POST form submission
* fix: menu visibility should not be overwritten on startup
* fix: removing menu for window without global menubar
* test: setMenu tests are not for mac
* fix(urlrequest): allow non-2xx repsponse results
- closes#21046
* test(net): add test cases to verify non-2xx body
* test(session): update spec to match clientrequest behavior
* test(net): update test cases to match clientrequest behavior
* spec: clean up async net spec
* fix: always use extraHeaders mode
* fix: clear pending callbacks
* fix: do not use "extraHeaders" for net module
* test: webRequest should be able to modify CROS headers
* chore: CROS => CORS
Co-Authored-By: Milan Burda <milan.burda@gmail.com>
* chore: CROS => CORS
Co-Authored-By: Milan Burda <milan.burda@gmail.com>
* Add GetApplicationNameForProtocol.
* Fix Windows implementation.
* Fix up test.
* Add documentation.
* Implement for real on Linux using xdg-mime.
Also ensure we allow blocking calls here to avoid errant DCHECKing.
* Improve docs for Linux.
* Clean up tests.
* Add a note about not relying on the precise format.
* Update docs/api/app.md
Co-Authored-By: Shelley Vohr <codebytere@github.com>
* Remove needless `done()`s from tests.
* Use vector list initialization.
* Add a simple test for isDefaultProtocolClient.
* Remove unneeded include and skip a test on Linux CI.
* We no longer differentiate between CI and non-CI test runs.
* fix: explicitly resize the contents when exiting html fullscreen while in OS fullscreen
* test: ensure HTML fullscreen toggles while in OS fullscreen