Commit graph

28661 commits

Author SHA1 Message Date
John Kleinschmidt
48156aee06
test: run visibility-state-spec.ts first (#44206)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
2024-10-14 09:40:22 -04:00
Charles Kerr
566c72cd46
fix: -Wunsafe-buffer-usage warning in ChunkedDataPipeReadableStream (#44211)
* chore: rename v8_value_serializer.cc,h to v8_util.cc,h

* feat: add electron::util::as_byte_span(v8::Local<v8::ArrayBuffer>)

* fix: -Wunsafe-buffer-usage warnings in ChunkedDataPipeReadableStream::ReadInternal()

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5619253

* refactor: restore node buffer span util

* refactor: remove redundant span wrapper
2024-10-14 10:46:24 +02:00
Sam Maddock
8b3d70a2a3
feat: add WebFrameMain detached property (#43473)
* feat: add WebFrameMain detached property

fix: throw instead of returning null senderFrame

test: detached frames

fix: ensure IPCs of pending deletion RFHs are dispatched

fix: lookup WFM by FTN ID to dispatch IPCs

feat: add frame.isDestroyed()

return null

fix: return undefined

docs: add null to all frame properties

refactor: option c, return null and emit warning

refactor: add routingId & processId to navigation events

test: null frame property

docs: clarify warning message

better wording

clarify null frame

fix: browserwindow spec

* maybe fix 🤷

* fix: use updated util #43722

* docs: add notice for frame change of behavior

* docs: clarify why frame properties may be null

* lint

* wip

* fix: content::FrameTreeNodeId lookup and converter

* refactor: avoid holey array deoptimization

---------

Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-10-11 18:33:53 -04:00
Charles Kerr
527efc01a4
fix: -Wunsafe-buffer-usage warnings when read()ing and write()ing integers (#44185) 2024-10-11 14:29:00 -05:00
dependabot[bot]
6c1b377192
build(deps): bump actions/checkout from 4.1.7 to 4.2.1 (#44140)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...eef61447b9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-10-11 12:28:45 -05:00
dependabot[bot]
13b39e0eeb
build(deps): bump github/codeql-action from 3.26.8 to 3.26.12 (#44139)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.8 to 3.26.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](294a9d9291...c36620d31a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-10-11 18:32:17 +02:00
Samuel Attard
7402648ee3
build: update ts defs and docs parser (#43985)
* build: update ts defs and docs parser

* build: update dig
2024-10-11 10:44:18 -04:00
Niklas Wenzel
5400c04e43
docs: clarify interplay between utility process events (#44015) 2024-10-11 10:25:25 -04:00
Robo
dd5b36f557
fix: clang variable configuration in generated node headers (#44189)
* fix: clang variable configuration in generated node headers

* chore: restore value in common.gypi
2024-10-11 10:22:56 -04:00
John Kleinschmidt
8201623d92
test: fix visibility-state-spec.ts flaky test (#44037)
* test: refactor visibility-state-spec

* ci: shard tests

* test: update split-tests for use on Windows

* test: run visibility-state-spec.ts first
2024-10-11 10:00:22 -04:00
John Kleinschmidt
d93285dde1
ci: don't call datadog test logging on forks (#44181) 2024-10-11 12:08:51 +02:00
Charles Kerr
3d2f68a9df
refactor: spanify image utils (#44127)
* refactor: electron::util::AddImageSkiaRepFromJPEG() takes a span arg

* refactor: electron::util::AddImageSkiaRepFromPNG() takes a span arg

* refactor: electron::util::AddImageSkiaRepFromBuffer() takes a span arg

* feat: add Node-buffer-to-base-span helper function

* refactor: electron::api::NativeImage::CreateFromPNG() now takes a span param

* refactor: electron::api::NativeImage::CreateFromJPEG() now takes a span param

* refactor: use base::as_byte_span()

* fix: -Wunsafe-buffer-usage warning in NativeImage::CreateFromNamedImage()

Warning fixed by this commit:

../../electron/shell/common/api/electron_api_native_image_mac.mm:131:11: error: function introduces unsafe buffer manipulation [-Werror,-Wunsafe-buffer-usage]
  131 |           {reinterpret_cast<const uint8_t*>((char*)[png_data bytes]),
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |            [png_data length]});
      |            ~~~~~~~~~~~~~~~~~~
../../electron/shell/common/api/electron_api_native_image_mac.mm:131:11: note: See //docs/unsafe_buffers.md for help.

* chore: add // SAFETY comment for Node-buffer-to-span func

* chore: add // SAFETY comment for NSData-to-span func
2024-10-10 09:34:55 -04:00
Michaela Laurencin
d51ef7d794
build: update NMV to 132 (#44135)
Node PR: https://github.com/nodejs/node/pull/55306

Do not merge before attached Node PR is merged. This PR updates our NMV to 132 for Electron 34

Please merge this PR before branching 34-x-y
2024-10-09 11:55:59 -07:00
Charles Kerr
78fa477726
fix: -Wunsafe-buffer-usage warning in HasWordCharacters() (#44133) 2024-10-09 13:02:00 -05:00
Charles Kerr
dbbdf55493
fix: -Wunsafe-buffer-usage warning in WriteAsciiChunk() (#44134)
* fix: -Wunsafe-buffer-usage warning in WriteAsciiChunk()

* chore: add // SAFETY comment to explain UNSAFE_BUFFERS() use
2024-10-09 12:18:19 -05:00
Charles Kerr
b5227b4a17
fix: -Wunsafe-buffer-usage warnings in GetNextZoomLevel() (#44149)
fixup e8948397 really fix the warning this time
2024-10-09 09:12:48 -05:00
Keeley Hammond
08d315da14
refactor: revert url::DomainIs() for cookie domains (#44153)
build: revert DomainIs refactor
2024-10-08 18:39:37 -07:00
John Kleinschmidt
ebeae6f301
ci: only upload to datadog when running tests (#44152) 2024-10-08 15:07:17 -04:00
Charles Kerr
4cf69f396f
fix: context shear in cli_remove_deprecated_v8_flag.patch (#44148)
fix: patch shear in cli_remove_deprecated_v8_flag.patch
2024-10-08 07:54:33 -07:00
electron-roller[bot]
bcbc8d3bb2
chore: bump chromium to 131.0.6762.0 (main) (#44117)
* chore: bump chromium in DEPS to 131.0.6756.0

* chore: update disable_hidden.patch

no code changes; just handling upstream context shear

https://chromium-review.googlesource.com/c/chromium/src/+/5887019

* chore: update feat_expose_raw_response_headers_from_urlloader.patch

Factor out URLLoader's URLRequest configuration into a helper

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5902254

* chore: update fix_disabling_background_throttling_in_compositor.patch

no manual changes; patch applied with fuzz 1

* chore: e patches all

* 5882129: Fix basic auth issues for sub frame and sub resources | https://chromium-review.googlesource.com/c/chromium/src/+/5882129

- Add `is_request_for_navigation` param to
  ElectronBrowserClient::CreateLoginDelegate().

- Propagate the flag as another undocumented property
  in the app.login Event's authenticationResponseDetails object

- Side cleanup: also in CreateLoginDelegate(), use upstream's name
  for the `is_request_for_main_frame` param, renamed back in
  https://chromium-review.googlesource.com/c/chromium/src/+/3256171

* 5875189: [FSA] Check for DANGEROUS extension types when creating a new file. | https://chromium-review.googlesource.com/c/chromium/src/+/5875189

* chore: node ./script/gen-libc++-filenames.js

* chore: bump chromium in DEPS to 131.0.6758.0

* chore: bump chromium in DEPS to 131.0.6760.0

* chore: update patches

* [A11y] Remove Accessibility Object Model (AOM)

Refs https://chromium-review.googlesource.com/c/chromium/src/+/5896593

* chore: bump chromium in DEPS to 131.0.6762.0

* [heap] Remove deprecated V8 flag

Refs https://chromium-review.googlesource.com/c/v8/v8/+/5904046

---------

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: deepak1556 <hop2deep@gmail.com>
2024-10-07 18:06:47 -05:00
John Kleinschmidt
aa40e817c8
ci: add datadog test logging (#44094) 2024-10-07 18:51:23 -04:00
electron-roller[bot]
b95ee8964c
chore: bump node to v20.18.0 (main) (#44119)
* chore: bump node in DEPS to v20.18.0

* chore: update patches

* src: improve buffer.transcode performance

https://github.com/nodejs/node/pull/54153

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-10-07 18:51:08 -04:00
electron-roller[bot]
ab1488a1be
chore: bump chromium to 131.0.6754.0 (main) (#44110)
* chore: bump chromium in DEPS to 131.0.6754.0

* chore: update gin_enable_disable_v8_platform.patch

fix minor context shear

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5901115

* chore: e patches all

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-10-03 13:35:03 -04:00
Samuel Attard
122685194a
build: add import/order eslint rule (#44085)
* build: add import/order eslint rule

* chore: run lint:js --fix
2024-10-02 19:10:44 -07:00
Charles Kerr
684e345f68
fix: deprecated API and -Wunsafe-buffer-usage warnings in AsarFileValidator (#44068)
* refactor: const correctness

* refactor: extract-method AsarFileValidator::EnsureHashExists()

* refactor: replace use of deprecated crypto API

https://crbug.com/364687923

* refactor: use span API in AsarFileValidator::OnRead()

* refactor: replace use of deprecated crypto API

https://crbug.com/364687923

* fixup! refactor: use span API in AsarFileValidator::OnRead()

fix: electron-ia32-testing FTBFS
2024-10-02 16:44:28 -04:00
Charles Kerr
9df092e034
fix: remove use of deprecated API base::Hash() (#44076) 2024-10-02 16:36:06 -04:00
Keeley Hammond
93dd9fc17b
build: use node 20.17 on Windows (#44065)
* build: rebake image

* build: use e-131.0.6734.0-node-20.17-0

* build: bump msvs version to 2022
2024-10-02 20:12:41 +02:00
electron-roller[bot]
59a43ef2e3
chore: bump chromium to 131.0.6752.0 (main) (#44093)
* chore: bump chromium in DEPS to 131.0.6752.0

* chore: update refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

adjust to upstream #include shear

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5872830

* chore: e patches all

* Remove the <selectlist> prototype implementation

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5855076

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-10-02 08:35:18 -07:00
electron-roller[bot]
5a97ee26ff
chore: bump chromium to 131.0.6751.0 (main) (#44087)
chore: bump chromium in DEPS to 131.0.6751.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
2024-10-01 21:30:40 -05:00
Samuel Attard
5b34138db8
build: fix relative file read during npm publish (#44088) 2024-10-01 17:09:57 -07:00
electron-roller[bot]
1fc2064f6a
chore: bump chromium to 131.0.6750.0 (main) (#44066)
* chore: bump chromium in DEPS to 131.0.6750.0

* Clean up stale base::Feature "RestrictFileURLNavigation"

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5891262

* chore: update mas_avoid_private_macos_api_usage.patch

Comment out some new private macOS API use.

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5837702

Xref: https://electronhq.slack.com/archives/C5VT8SQ8K/p1727807285899389

* chore: e patches all

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-10-01 19:34:32 -04:00
Samuel Attard
f4ffd018e6
build: cleanup release scripts, separate cli entrypoints from logic (#44058)
* build: cleanup release scripts, separate cli entrypoints from logic

* build: use repo/org constants
2024-10-01 13:51:40 -07:00
Charles Kerr
15c8759ee0
fix: -Wunsafe-buffer-usage warnings in WebFrameRenderer::ExecuteJavaScript() (#44053) 2024-10-01 10:06:02 -07:00
Charles Kerr
06bce8166b
fix: -Wunsafe-buffer-usage warnings in ElectronAccessibilityUI ctor (#44055)
fix: -Wunsafe-buffer-usage warnings in ElectronAccessibilityUI constructor
2024-10-01 10:05:46 -07:00
Charles Kerr
6f88f0c795
perf: use ArrayBuffer::Data() instead of GetBackingStore()->Data() (#44067)
perf: use ArrayBuffer::Data() API

Replace our `GetBackingStore()->Data()` calls with this instead.
Explained by the V8 docs, ArrayBuffer.Data() is

> More efficient shortcut for GetBackingStore()->Data(). The
> returned pointer is valid as long as the ArrayBuffer is alive.
2024-10-01 10:04:57 -07:00
Samuel Attard
f828c1da09
build: remove github actions dependabot on release branches (#44054) 2024-10-01 08:50:42 -07:00
Samuel Attard
47cf1e3acd
build: use ts-node to spawn the version-bumper (#44057)
Missed this in the tsification, we should probably call this via API instead of spawning a sub-proc?
2024-09-30 21:19:59 -07:00
Samuel Attard
61565465fd
build: convert all release scripts to typescript (#44035)
* build: convert all release scripts to typescript

* fix test imports

* build: fix version bumper export

* refactor: use as const

* spec: fix bad type spec
2024-09-30 17:55:27 -07:00
Keeley Hammond
7ebc427bf5
build: update appveyor to node 20.17 (#44026)
* build: update appveyor to node 20.17

* build: bake new images with npm dir

* build: use e-131.0.6734.0-node-20.17-1
2024-09-30 16:14:46 -04:00
electron-roller[bot]
5d9800e176
chore: bump chromium to 131.0.6748.0 (main) (#44027)
* chore: bump chromium in DEPS to 131.0.6748.0

* chore: gen-libc++-filenames.js

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-30 13:32:50 -04:00
Charles Kerr
1d4b86cb3e
fix: -Wunsafe-buffer-usage warnings in AddComponentResourceEntries() (#44024)
fix: -Wunsafe-buffer-usage warnings in ElectronComponentExtensionResourceManager::AddComponentResourceEntries()

just replace pointer-and-length args with a span
2024-09-30 11:01:24 -05:00
Charles Kerr
77f7ba96ca
fix: -Wunsafe-buffer-usage in electron::SetFontDefaults() (#44014)
* refactor: reduce code duplication in WebContentsPreferences::OverrideWebkitPrefs()

* refactor: limit scope of web_preferences temporary in ElectronBrowserClient::OverrideWebkitPrefs()

* chore: savepoint

* chore: savepoint

* chore: savepoint

* chore: savepoint

* chore: remove logging

* fix: unconditionally write

* chore: naming

* chore: add code comments

* chore: more code comments

* chore: remove unrelated changes

* chore: remove redundant static keyword on function in anonymous namespace

* refactor: naming

* refactor: naming

* refactor: naming

* refactor: slightly more explicit typing

* refactor: remove unnecessary utf16 -> utf8 -> utf16 conversion steps

* chore: remove unused #includes
2024-09-30 15:09:36 +02:00
electron-roller[bot]
af58931efa
chore: bump chromium to 131.0.6744.0 (main) (#43948)
* chore: bump chromium in DEPS to 131.0.6738.0

* chore: bump chromium in DEPS to 131.0.6740.0

* 5889025: [LaCrOS] Remove LaCrOS screen capturer. | https://chromium-review.googlesource.com/c/chromium/src/+/5889025

* https://boringssl.googlesource.com/boringssl.git/+/40dd94116ba03678226443ba20c5887459c9bf16/crypto/fipsmodule/digest/digests.c.inc

* chore: update patches

* 5878695: Add IsolationInfo for embedders handling external protocols | https://chromium-review.googlesource.com/c/chromium/src/+/5878695

* 5854304: [UI] Remove alias of mojom  | https://chromium-review.googlesource.com/c/chromium/src/+/5854304

* chore: bump chromium in DEPS to 131.0.6742.0

* chore: update patches

* chore: bump chromium in DEPS to 131.0.6744.0

* fixup! 5889025: [LaCrOS] Remove LaCrOS screen capturer. | https://chromium-review.googlesource.com/c/chromium/src/+/5889025

* chore: e patches all

* chore: update chore_provide_iswebcontentscreationoverridden_with_full_params.patch

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5894233

* [UI] Remove alias of mojom 'WindowShowState'

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5854304

* chore: gen-libc++-filenames.js

* chore: partially revert https://chromium-review.googlesource.com/c/chromium/src/+/5894233

see patch commit message for description

* Clean up stale base::Feature "kFileSystemAccessLocalUNCPathBlock"

This feature is always on by default and doesn't have active finch
experiments.

Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5881253

* fix: asar integrity test recognizes SIGABRT as a crash

https://chromium-review.googlesource.com/c/chromium/src/+/5882758

ValidateIntegrityOrDie() exits via LOG(FATAL)'s call to
base::ImmediateCrash(). There's been churn there upstream between
5332940 and 5882758 on whether to use SIGTRAP or SIGABRT.  For now,
let's accept both until the churn is done.

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-09-30 14:54:44 +02:00
Charles Kerr
eb40d2cbfa
fix: FTBFS when building with enable_plugins = false (#44003)
* fix: do not build electron_plugin_info_host_impl.cc when plugins are disabled

it fails to build from source with this error:

../../content/public/browser/plugin_service.h:17:2: error: "Plugins should be enabled"
   17 | #error "Plugins should be enabled"

* fix: FTBFS in printing_utils.cc when ENABLE_PDF is false

* fixup! fix: do not build electron_plugin_info_host_impl.cc when plugins are disabled

fix BUILD.gn linting
2024-09-29 17:10:34 -05:00
John Kleinschmidt
27d2a8f9e2
ci: write test logging to console on Windows (#43990)
test: write logging to console on Windows
2024-09-27 15:17:32 -04:00
Shelley Vohr
d4e4cdee6c
fix: remove resize listener when BrowserWindow closed (#43972) 2024-09-27 10:34:00 -04:00
Robo
f68184a9f9
feat: add error event for utility process (#43774)
* feat: add error event for utility process

* chore: use public report api

* chore: fix lint

* doc: mark error event as experimental

---------

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2024-09-27 10:17:06 +09:00
Charles Kerr
8397fef3ef
chore: remove unused nogncheck includes (#43964) 2024-09-26 17:09:42 -05:00
Charles Kerr
852f9ff329
perf: build g_dgettext domain name at compile time (#43960)
perf: build GettextPackage name at compile time
2024-09-26 13:10:30 -04:00
Charles Kerr
a974b74e82
fix: replace deprecated libnotify API calls (#43962)
notify_notification_set_hint_string() is deprecated, so let's use
notify_notification_set_hint() instead.

Xref: 2fe1748295
2024-09-26 11:21:45 -05:00