* 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`
* feat: add transparent option to WebContents
* feat: add transparent attribute to webview
* test: add tests for webview transparent attribute
* docs: add transparent attribute to webview docs
* fix: run tests on macOS only
* refactor: remove unneeded html tag
* fix: only apply transparent option to guests
* refactor: correct comment
* refactor: use opaque instead
Retains current webview behaviour by default.
* fix: correct variable name to guest_opaque_
* refactor: use transparent webpreference
* docs: remove unused web preference
* fix: uncomment condition for transparency test
* docs: converted to list format and linked to MDN
* fix: make webviews transparent by default again
* fix: rebase error
---------
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* chore: initial prototype of net api from utility process
* chore: update url loader to work on both browser and utility processes
* chore: add net files to utility process bundle
* chore: re-add app ready check but only on main process
* chore: replace browser thread dcheck's with sequence checker
* refactor: move url loader from browser to common
* refactor: move net-client-request.ts from browser to common
* docs: add utility process to net api docs
* refactor: move net module app ready check to browser only
* refactor: switch import from main to common after moving to common
* test: add basic net module test for utility process
* refactor: switch browser pid with utility pid
* refactor: move electron_api_net from browser to common
* chore: add fetch to utility net module
* chore: add isOnline and online to utility net module
* refactor: move net spec helpers into helper file
* refactor: break apart net module tests
Adds two additional net module test files: `api-net-session-spec.ts` for
tests that depend on a session being available (aka depend on running on
the main process) and `api-net-custom-protocols-spec.ts` for custom
protocol tests. This enables running `api-net-spec.ts` in the utility
process.
* test: add utility process mocha runner to run net module tests
* docs: add utility process to net module classes
* refactor: update imports in lib/utility to use electron/utility
* chore: check browser context before using in main process
Since the browser context supplied to the SimpleURLLoaderWrapper can now
be null for use in the UtilityProcess, adding a null check for the main
process before use to get a more sensible error if something goes wrong.
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* chore: remove test debugging
* chore: remove unnecessary header include
* docs: add utility process net module limitations
* test: run net module tests in utility process individually
* refactor: clean up prior utility process net tests
* chore: add resolveHost to utility process net module
* chore: replace resolve host dcheck with sequence checker
* test: add net module tests for net.resolveHost
* docs: remove utility process limitation for resolveHost
---------
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* fix: clean up devtools frontend_host on destroy
* chore: use IsInPrimaryMainFrame instead of IsInMainFrame
* test: add a test for re-opening devtools
* feat: add blinkUtils module with getPathForFile method
This is designed to replace the File.path augmentation
we currently have in place to allow apps to get the filesystem
path for a file that blink has a representation of.
File.path is non-standard and messes with certain websites, using
a method like this is effectively 0-cost and removes one of the final
deviations we have with web standards.
* add error
* refactor: update per PR feedback
* chore: update patches
* oops
* chore: update patches
* chore: update patches
* feat: add blinkUtils module with getPathForFile method
This is designed to replace the File.path augmentation
we currently have in place to allow apps to get the filesystem
path for a file that blink has a representation of.
File.path is non-standard and messes with certain websites, using
a method like this is effectively 0-cost and removes one of the final
deviations we have with web standards.
* add error
* refactor: update per PR feedback
* chore: update patches
* oops
* chore: update patches
* chore: update patches
* chore: update patches
* fix: provide isolate to WebBlob::FromV8Value
* chore: add tests
* build: fix depshash mismatch on arm64 macOS
---------
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
* chore: bump chromium in DEPS to 120.0.6049.0
* chore: update patches
* chore: bump chromium in DEPS to 120.0.6050.0
* chore: update patches
* 4910494: Reland "[autopip] Show autopip UI for video pip"
https://chromium-review.googlesource.com/c/chromium/src/+/4910494
* 4812338: Move partition_alloc into a "partition_alloc" dir.
https://chromium-review.googlesource.com/c/chromium/src/+/4812338
* [Extensions Cleanup] Remove mojom ViewType::kExtensionDialog
https://chromium-review.googlesource.com/c/chromium/src/+/4909897
* 4894923: Force enable raw_ptrs pointer arithmetic check.
https://chromium-review.googlesource.com/c/chromium/src/+/4894923
* gin: Prevent wrappables from being constructed from author code.
https://chromium-review.googlesource.com/c/chromium/src/+/4905829
* chore: update patches
* chore: bump chromium in DEPS to 120.0.6052.0
* chore: bump chromium in DEPS to 120.0.6054.0
* chore: bump chromium in DEPS to 120.0.6056.0
* chore: fix patches
* 4918545: Reland "[autopip] Add permissions embargo"
https://chromium-review.googlesource.com/c/chromium/src/+/4918545
* 4881761: UI bindings for visual logging with structured metrics.
https://chromium-review.googlesource.com/c/chromium/src/+/4881761
* chore: bump chromium in DEPS to 120.0.6058.0
* chore: update patches
* chore: bump chromium in DEPS to 120.0.6060.0
* chore: bump chromium in DEPS to 120.0.6061.0
* chore: bump chromium in DEPS to 120.0.6062.0
* chore: gen libc++ filenames
* chore: update patches
* 4911894: Move //c/b/ui/views/eye_dropper to //components
https://chromium-review.googlesource.com/c/chromium/src/+/4911894
* chore: bump chromium in DEPS to 120.0.6064.0
* chore: bump chromium in DEPS to 120.0.6066.0
* chore: bump chromium in DEPS to 120.0.6068.0
* chore: bump chromium in DEPS to 120.0.6070.0
* chore: remove temp_prevent_unused_function_error.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4931270
* chore: add TransferDragSecurityInfo()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4928028
* mark TransferDragSecurityInfo() as NOTREACHED
A follow-up to previous commit. I think this is commit is correct (i.e.
that this function shouldn't get called) but am not positive, so I'm
including it in a standalone commit in case we need to revert.
* chore: update signature of OnPrivateNetworkAccessPermissionRequired()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4919478
Our impl is a no-op, so updating the signature is the only change.
* chore: rebuild patches
* chore: bump chromium in DEPS to 120.0.6072.0
* chore: update patches
* chore: sync ParseMatchPattern() param order with upstream change
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4944243
* chore: update fix_crash_loading_non-standard_schemes_in_iframes.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4939602
* chore: rebuild patches
* chore: bump chromium in DEPS to 120.0.6073.0
* chore: update patches
* chore: bump chromium in DEPS to 120.0.6074.0
* chore: update disable_color_correct_rendering.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4908053
no manual changes; patch applied with fuzz 1
* chore: update fix_handle_no_top_level_aura_window_in_webcontentsimpl.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4936315
minor manual sync to upstream code shear
* chore: rebuild patches
* chore: update ClearHttpAuthCache arguments
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4937937
adding ClearDataFilterPtr arg. Upstream added this arg, which is already
present in other NetworkContext methods. Our code uses `nullptr` there.
* chore: bump chromium in DEPS to 120.0.6076.0
* chore: update mas_disable_remote_accessibility.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4865412
minor manual sync to upstream code shear
* chore: update disable_color_correct_rendering.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4942936
minor manual sync to upstream code shear
* fix: move x11_util.h include to top of source file
This is a short-term fix to unblock the roll. I will follow up a better fix in a standalone PR.
* chore: rebuild patches
* chore: bump chromium in DEPS to 120.0.6077.0
* chore: update patches
* chore: bump chromium in DEPS to 120.0.6078.0
* chore: update patches
* refactor: add BrowserProcessImpl::os_crypt_async()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4455776
This is one to keep an eye on. This commit copies the upstream impl,
which appears to be an interim step with more upstream code changes
still forthcoming.
Xref: https://bugs.chromium.org/p/chromium/issues/detail?id=1373092
* fixup! refactor: add BrowserProcessImpl::os_crypt_async()
chore: make 'gn check' happy
* chore: remove ensure_messageports_get_gced_when_not_referenced.patch
Xref: ensure_messageports_get_gced_when_not_referenced.patch
no longer needed because upstreamed
* chore: remove webrtc/pipewire_capturer_make_restore_tokens_re-usable_more_than_one_time.patch
Xref: https://webrtc-review.googlesource.com/c/src/+/322621
no longer needed because upstreamed
* chore: add //components/compose:buildflags dep
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4912601
needed by browser/ui/browser_dialogs.h
* chore: update filenames.libcxx.gni
node ./script/gen-libc++-filenames.js
* test: fix UI.InspectorView -> UI.InspectorView.instance()
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* fix: correctly track receiver for methods called via ctx bridge
* spec: test for correct contextBridge passage
---------
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
* fix: return RGBA hex value from `SystemPreferences.getColor`
* docs: update docs to match changes of last commit
* fix: GetColor on windows now returns RGBA too
* fix: update tests for getColor RGBA on Windows
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fix: allow ESM loads from within ASAR files
* fix: ensure that ESM entry points finish loading before app ready
* fix: allow loading ESM entrypoints via default_app
* fix: allow ESM loading for renderer preloads
* docs: document current known limitations of esm
* chore: add patches to support blending esm handlers
* refactor: use SetDefersLoading instead of JoinAppCode in renderers
Blink has it's own event loop so pumping the uv loop in the renderer is not enough, luckily in blink we can suspend the loading of the frame while we do additional work.
* chore: add patch to expose SetDefersLoading
* fix: use fileURLToPath instead of pathname
* chore: update per PR feedback
* fix: fs.exists/existsSync should never throw
* fix: convert path to file url before importing
* fix: oops
* fix: oops
* Update docs/tutorial/esm-limitations.md
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* windows...
* windows...
* chore: update patches
* spec: fix tests and document empty body edge case
* Apply suggestions from code review
Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* spec: add tests for esm
* spec: windows
* chore: update per PR feedback
* chore: update patches
* Update shell/common/node_bindings.h
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* chore: update patches
* rebase
* use cjs loader by default for preload scripts
* chore: fix lint
* chore: update patches
* chore: update patches
* chore: fix patches
* build: debug depshash
* ?
* Revert "build: debug depshash"
This reverts commit 0de82523fb93f475226356b37418ce4b69acdcdf.
* chore: allow electron as builtin protocol in esm loader
* Revert "Revert "build: debug depshash""
This reverts commit ff86b1243ca6d05c9b3b38e0a6d717fb380343a4.
* chore: fix esm doc
* chore: update node patches
---------
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: electron-patch-conflict-fixer[bot] <83340002+electron-patch-conflict-fixer[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
* feat:Add setter and getter apis to specify udp port range for webrtc (issue#9042)
* lint error fix for PR#39046
* feat: add setter and getter apis to specify udp port range for webrtc (issue#9042) , changed for codereview
* fix lint error
* fix lint errors in file api-web-contents-spec.ts
* feat: add setter and getter apis to specify udp port range for webrtc (issue#9042) , changed for review from itsananderson
* feat: add setter and getter apis to specify udp port range for webrtc (issue#9042) , changed for review from jkleinsc
* fix lint error
* feat: add setter and getter apis to specify udp port range for webrtc (issue#9042) , changed for review from codebyter
* docs: fix some string union types
Improve Type Union Typings in the Docs
* test: add smoke tests
* test: update `ses.clearStorageData` test case
* test: update `ses.clearStorageData` test case
---------
Co-authored-by: mhli <mhli@hillinsight.com>
* chore: bump chromium in DEPS to 117.0.5846.0
* chore: update patches
* 4628901: Bump the macOS deployment target to 10.15
https://chromium-review.googlesource.com/c/chromium/src/+/4628901
* 4593350: [Private Network Access] Trigger Permission Prompt
https://chromium-review.googlesource.com/c/chromium/src/+/4593350
* 4631011: Remove unlaunched "InstallReplacementAndroidApp" Platform App APIs
https://chromium-review.googlesource.com/c/chromium/src/+/4631011
* chore: disable API deprecation warnings in NSKeyedArchiver
* chore: update libcxx filenames
* chore: bump chromium in DEPS to 117.0.5848.2
* chore: update feat_add_set_theme_source_to_allow_apps_to.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4629743
No manual changes; patch succeeded with fuzz
* chore: update process_singleton.patch
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4605398
Trivial manual patch adjustments to account for code shear.
* chore: remove electron::BrowserContext::GetMediaDeviceIDSalt()
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4608130
upstream tldr:
- content::BrowserContext::GetMediaDeviceIDSalt()
- content::ContentBrowserClient::ArePersistentMediaDeviceIDsAllowed()
+ content::ContentBrowserClient::GetMediaDeviceIDSalt()
This commit leaves ElectronBrowserContext::GetMediaDeviceIDSalt() in
place (now non-virtual, non-override). It is now called by the new
function ElectronBrowserClient::GetMediaDeviceIDSalt().
As a followup, we might want to consider using the new upstream
media_device_salt::MediaDeviceSaltService and removing our
electron::MediaDeviceIDSalt code. CC @MarshallOfSound for 2nd
opinion since he has done the most work on MediaDeviceIDSalt and
may have more context.
* chore: fix iwyu breakage
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/4629624
electron_browser_main_parts.cc uses ui::ColorProviderManager but didn't
include it. Things worked anyway because we got it indirectly from
content/public/browser/web_contents.h until 4629624.
* chore: remove call to base::mac::IsAtLeastOS10_14
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove obsolete API_AVAILABLE calls in IAP
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove obsolete API_AVAILABLE calls in electron_application_delegate
upstream has bumped minimum version to 10.15 so this call is moot?
* chore: remove broken-before-macOS-10.15 patch in mas_avoid_usage_of_private_macos_apis.patch
Upstream has bumped minimum to macOS 10.15
* chore: remove @available(macOS 10.14) check
Upstream minimum requirement for macOS is now 10.15
* chore: update patches
* chore: bump chromium in DEPS to 117.0.5850.0
* chore: update patches
* chore: bump chromium in DEPS to 117.0.5852.0
* chore: update patches
* Move two params from NetworkContextParams to NetworkContextFilePaths.
https://chromium-review.googlesource.com/c/chromium/src/+/4615930
* WebUSB: Add exclusionFilters to USBRequestDeviceOptions
https://chromium-review.googlesource.com/c/chromium/src/+/4614682
* Convert /chrome/browser/ui to use ARC
https://chromium-review.googlesource.com/c/chromium/src/+/4615920
* fixup! Bump the macOS deployment target to 10.15
* fixup! Bump the macOS deployment target to 10.15
* chore: update libcxx files
* win: Remove 10Glass from Windows10Glass function and var names
https://chromium-review.googlesource.com/c/chromium/src/+/4641314
* chore: revert 392e5f43 from chromium
* Add an ExecutionContext to ScriptState
https://chromium-review.googlesource.com/c/chromium/src/+/4609446
* fixup! Add an ExecutionContext to ScriptState
* chore: fix header
* Revert "chore: revert 392e5f43 from chromium"
This reverts commit b7f782943e4ce83cae8cd35780d8d3618cf0772c.
* fix: return correct min/max sizes in WinFrameView
* fixup! Revert chore: revert 392e5f43 from chromium
* fixup! Add an ExecutionContext to ScriptState
* Revert "fixup! Revert chore: revert 392e5f43 from chromium"
This reverts commit 7e2c7281abfc4f309255339fdba073d90a9ae3eb.
* Revert "fix: return correct min/max sizes in WinFrameView"
This reverts commit 3f418b1ab5155686730e087ae6cabe4a21b4bb61.
* Revert "Revert "chore: revert 392e5f43 from chromium""
This reverts commit 56296d8b7c434147e032e3c3b08c0e371b6c27ba.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* feat: remove enable_run_as_node flag
* drop features.isRunAsNodeEnabled()
* use IsEnvSet() helper in electron_main_linux.cc
* cleanup [[maybe_unused]]
---------
Co-authored-by: Milan Burda <miburda@microsoft.com>