Charles Kerr
2002472b10
chore: remove unused gin::Converter<char[]>::ToV8(isolate, const char*) ( #44568 )
...
No longer needed after #44498
2024-11-06 08:49:25 -06:00
Charles Kerr
726d439399
refactor: replace base::StringPrintf() calls with absl::StrFormat() ( #44515 )
...
refactor: replace base::StringPrintf() calls with absl::StFormat()
The former is now a pass-through for the latter and is slated for removal
Xref: https://issues.chromium.org/issues/40241565
https://chromium-review.googlesource.com/c/chromium/src/+/4907781
2024-11-04 12:58:16 -06:00
Shelley Vohr
c63d0d61e7
chore: bump Node.js to v22.9.0 ( #44281 )
...
* chore: bump Node.js to v22.9.0
* build: drop base64 dep in GN build
https://github.com/nodejs/node/pull/52856
* build,tools: make addons tests work with GN
https://github.com/nodejs/node/pull/50737
* fs: add fast api for InternalModuleStat
https://github.com/nodejs/node/pull/51344
* src: move package_json_reader cache to c++
https://github.com/nodejs/node/pull/50322
* crypto: disable PKCS#1 padding for privateDecrypt
https://github.com/nodejs-private/node-private/pull/525
* src: move more crypto code to ncrypto
https://github.com/nodejs/node/pull/54320
* crypto: ensure valid point on elliptic curve in SubtleCrypto.importKey
https://github.com/nodejs/node/pull/50234
* src: shift more crypto impl details to ncrypto
https://github.com/nodejs/node/pull/54028
* src: switch crypto APIs to use Maybe<void>
https://github.com/nodejs/node/pull/54775
* crypto: remove DEFAULT_ENCODING
https://github.com/nodejs/node/pull/47182
* deps: update libuv to 1.47.0
https://github.com/nodejs/node/pull/50650
* build: fix conflict gyp configs
https://github.com/nodejs/node/pull/53605
* lib,src: drop --experimental-network-imports
https://github.com/nodejs/node/pull/53822
* esm: align sync and async load implementations
https://github.com/nodejs/node/pull/49152
* esm: remove unnecessary toNamespacedPath calls
https://github.com/nodejs/node/pull/53656
* module: detect ESM syntax by trying to recompile as SourceTextModule
https://github.com/nodejs/node/pull/52413
* test: adapt debugger tests to V8 11.4
https://github.com/nodejs/node/pull/49639
* lib: update usage of always on Atomics API
https://github.com/nodejs/node/pull/49639
* test: adapt test-fs-write to V8 internal changes
https://github.com/nodejs/node/pull/49639
* test: adapt to new V8 trusted memory spaces
https://github.com/nodejs/node/pull/50115
* deps: update libuv to 1.47.0
https://github.com/nodejs/node/pull/50650
* src: use non-deprecated v8::Uint8Array::kMaxLength
https://github.com/nodejs/node/pull/50115
* src: update default V8 platform to override functions with location
https://github.com/nodejs/node/pull/51362
* src: add missing TryCatch
https://github.com/nodejs/node/pull/51362
* lib,test: handle new Iterator global
https://github.com/nodejs/node/pull/51362
* src: use non-deprecated version of CreateSyntheticModule
https://github.com/nodejs/node/pull/50115
* src: remove calls to recently deprecated V8 APIs
https://github.com/nodejs/node/pull/52996
* src: use new V8 API to define stream accessor
https://github.com/nodejs/node/pull/53084
* src: do not use deprecated V8 API
https://github.com/nodejs/node/pull/53084
* src: do not use soon-to-be-deprecated V8 API
https://github.com/nodejs/node/pull/53174
* src: migrate to new V8 interceptors API
https://github.com/nodejs/node/pull/52745
* src: use supported API to get stalled TLA messages
https://github.com/nodejs/node/pull/51362
* module: print location of unsettled top-level await in entry points
https://github.com/nodejs/node/pull/51999
* test: make snapshot comparison more flexible
https://github.com/nodejs/node/pull/54375
* test: do not set concurrency on parallelized runs
https://github.com/nodejs/node/pull/52177
* src: move FromNamespacedPath to path.cc
https://github.com/nodejs/node/pull/53540
* test: adapt to new V8 trusted memory spaces
https://github.com/nodejs/node/pull/50115
* build: add option to enable clang-cl on Windows
https://github.com/nodejs/node/pull/52870
* chore: fixup patch indices
* chore: add/remove changed files
* esm: drop support for import assertions
https://github.com/nodejs/node/pull/54890
* build: compile with C++20 support
https://github.com/nodejs/node/pull/52838
* deps: update nghttp2 to 1.62.1
https://github.com/nodejs/node/pull/52966
* src: parse inspector profiles with simdjson
https://github.com/nodejs/node/pull/51783
* build: add GN build files
https://github.com/nodejs/node/pull/47637
* deps,lib,src: add experimental web storage
https://github.com/nodejs/node/pull/52435
* build: add missing BoringSSL dep
* src: rewrite task runner in c++
https://github.com/nodejs/node/pull/52609
* fixup! build: add GN build files
* src: stop using deprecated fields of v8::FastApiCallbackOptions
https://github.com/nodejs/node/pull/54077
* fix: shadow variable
* build: add back incorrectly removed SetAccessor patch
* fixup! fixup! build: add GN build files
* crypto: fix integer comparison in crypto for BoringSSL
* src,lib: reducing C++ calls of esm legacy main resolve
https://github.com/nodejs/node/pull/48325
* src: move more crypto_dh.cc code to ncrypto
https://github.com/nodejs/node/pull/54459
* chore: fixup GN files for previous commit
* src: move more crypto code to ncrypto
https://github.com/nodejs/node/pull/54320
* Fixup Perfetto ifdef guards
* fix: missing electron_natives dep
* fix: node_use_node_platform = false
* fix: include src/node_snapshot_stub.cc in libnode
* 5507047: [import-attributes] Remove support for import assertions
https://chromium-review.googlesource.com/c/v8/v8/+/5507047
* fix: restore v8-sandbox.h in filenames.json
* fix: re-add original-fs generation logic
* fix: ngtcp2 openssl dep
* test: try removing NAPI_VERSION undef
* chore(deps): bump @types/node
* src: move more crypto_dh.cc code to ncrypto
https://github.com/nodejs/node/pull/54459
* esm: remove unnecessary toNamespacedPath calls
https://github.com/nodejs/node/pull/53656
* buffer: fix out of range for toString
https://github.com/nodejs/node/pull/54553
* lib: rewrite AsyncLocalStorage without async_hooks
https://github.com/nodejs/node/pull/48528
* module: print amount of load time of a cjs module
https://github.com/nodejs/node/pull/52213
* test: skip reproducible snapshot test on 32-bit
https://github.com/nodejs/node/pull/53592
* fixup! src: move more crypto_dh.cc code to ncrypto
* test: adjust emittedUntil return type
* chore: remove redundant wpt streams patch
* fixup! chore(deps): bump @types/node
* fix: gn executable name on Windows
* fix: build on Windows
* fix: rename conflicting win32 symbols in //third_party/sqlite
On Windows otherwise we get:
lld-link: error: duplicate symbol: sqlite3_win32_write_debug
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:47987
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_sleep
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48042
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_is_nt
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48113
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_utf8_to_unicode
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48470
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_unicode_to_utf8
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48486
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_mbcs_to_utf8
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48502
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_mbcs_to_utf8_v2
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48518
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_utf8_to_mbcs
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48534
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
lld-link: error: duplicate symbol: sqlite3_win32_utf8_to_mbcs_v2
>>> defined at .\..\..\third_party\electron_node\deps\sqlite\sqlite3.c:48550
>>> obj/third_party/electron_node/deps/sqlite/sqlite/sqlite3.obj
>>> defined at obj/third_party/sqlite\chromium_sqlite3/sqlite3_shim.obj
* docs: remove unnecessary ts-expect-error after types bump
* src: move package resolver to c++
https://github.com/nodejs/node/pull/50322
* build: set ASAN detect_container_overflow=0
https://github.com/nodejs/node/issues/55584
* chore: fixup rebase
* test: disable failing ASAN test
* win: almost fix race detecting ESRCH in uv_kill
https://github.com/libuv/libuv/pull/4341
2024-11-04 13:41:56 -05:00
Charles Kerr
f5bdbdb1e8
refactor: more inline constexpr string view ( #44498 )
...
* chore: remove unused electron::kHidProductIdKey
* refactor: make electron::kHidDeviceNameKey inline constexpr std::string_view
refactor: make electron::kHidGuidKey inline constexpr std::string_view
* refactor: make serial_chooser_context keys inline constexpr std::string_view
* refactor: make native_window keys inline constexpr std::string_view
* refactor: make electron::options keys inline constexpr std::string_view pt 1
* fixup! refactor: make electron::options keys inline constexpr std::string_view pt 1
chore: make kElectronNativeWindowKey a base::cstring_view
ui::Widget::GetNativeWindowProperty requires a const char*
* refactor: make electron::options keys inline constexpr std::string_view pt 2
* refactor: make electron::options keys inline constexpr std::string_view pt 3
* refactor: make electron::options keys inline constexpr std::string_view pt 4
* refactor: make electron::options keys inline constexpr std::string_view pt 5
* refactor: make electron::options keys inline constexpr std::string_view pt 6
* refactor: make electron::options keys inline constexpr std::string_view pt 7
* refactor: make electron::options keys inline constexpr std::string_view pt 8
* chore: remove unused file shell/common/options_switches.cc
* docs: add code comment explaining use of base::cstring_view
* fixup! fixup! refactor: make electron::options keys inline constexpr std::string_view pt 1
* chore: use consistent capitalization of the word 'fullscreen'
2024-11-04 12:27:49 -06:00
electron-roller[bot]
48801be8e9
chore: bump chromium to 132.0.6807.0 (main) ( #44360 )
...
* chore: bump chromium in DEPS to 132.0.6791.0
* 5804481: [UI] Migrate remaining clients of `MenuSourceType`
https://chromium-review.googlesource.com/c/chromium/src/+/5804481
* chore: try revert PA CL
* chore: bump chromium in DEPS to 132.0.6793.0
* chore: bump chromium in DEPS to 132.0.6794.0
* 5952404: Clean up //ui/base/resource from Lacros code.
https://chromium-review.googlesource.com/c/chromium/src/+/5952404
* 5920842: Generate combined grd for PEPC strings and use them in the element
https://chromium-review.googlesource.com/c/chromium/src/+/5920842
* 5943708: Enable DynamicSafeAreaInsets for eligible users only
https://chromium-review.googlesource.com/c/chromium/src/+/5943708
* chore: fixup patch indices
* 5937004: Remove components/services/language_detection
https://chromium-review.googlesource.com/c/chromium/src/+/5937004
* 5920322: [UI] Use mojo enum for `MenuSourceType` in ui/views/controls/
https://chromium-review.googlesource.com/c/chromium/src/+/5920322
* chore: bump chromium in DEPS to 132.0.6797.0
* 5947724: [ui] Add missing shortcut text for VKEY_COMMAND on linux
https://chromium-review.googlesource.com/c/chromium/src/+/5947724
* chore: fixup patch indices
* 5948024: [DNT] Fix NavigationController raw_ptr during WebContents destruction
https://chromium-review.googlesource.com/c/chromium/src/+/5948024
* 5945209: Roll libc++ from c8eec3629a9e to e2c39ff9388b (1 revision)
https://chromium-review.googlesource.com/c/chromium/src/+/5945209
* chore: bump chromium in DEPS to 132.0.6799.0
* chore: bump chromium in DEPS to 132.0.6801.0
* chore: bump chromium in DEPS to 132.0.6803.0
* 5942398: Remove some chrome:: namespace from chrome/browser/win/*
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5942398
* 5963016: FSA: Use the profile path for base::DIR_HOME on ChromeOS
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5963016
* chore: fixup patch indices
* chore: bump chromium in DEPS to 132.0.6805.0
* 5924816: [macOS][FSA] Block Access to Application Bundle Path
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5924816
* 5962517: [media] Apply inside blink to renderer/platform/media
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5962517
* 5829616: MPArch based GuestViews basic implementation
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5829616
* 5953710: Expose a rust_static_library instead of raw rs file from rust_bindgen
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5953710
* chore: fixup patch indices
* chore: disable ELF CREL on Linux Arm
5938657: Reapply "Enable ELF CREL, which reduces the size of ELF relocatable object files." | https://chromium-review.googlesource.com/c/chromium/src/+/5938657
* chore: bump chromium in DEPS to 132.0.6807.0
* 5868889: Shared Storage: Support saved queries in selectURL
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5868889
* Revert "5956408: [fastapi] Promote deprecation of FastApiTypedArray"
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5956408
* Revert "5962696: [mojo] Force blink headers to only be included in blink"
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5962696
* chore: update patches
* 5973073: [Extensions] Improve warnings parsing (host) permissions in MV3
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/5973073
* chore: update filenames.libcxx.gni
* Apply suggestions from code review
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-11-04 09:10:00 -05:00
Charles Kerr
9137d96ef4
refactor: remove unused C string ToV8() gin converter ( #44500 )
2024-11-01 18:11:46 -05:00
Charles Kerr
b985d8eb28
perf: use v8::String::NewFromUtf8Literal in ToV8() gin converter ( #44501 )
2024-11-01 15:01:09 -05:00
Alice Zhao
de04fc3b90
fix: update shell.openExternal to correctly focus on external window ( #44408 )
...
* fix: Use openURL:configuration:completionHandler instead of openUrl
* test: add a test
* fix: add dispatch_async to replace GetUIThreadTaskRunner
* refactor: remove unused import
* fix: update to use BindPostTaskToCurrentDefault
* test: add regression test for window focus
* refactor: update to explicit task runner
2024-10-29 15:10:10 -07:00
Charles Kerr
dffe00b232
fix: -Wunsafe-buffer-usage warnings with argc, argv ( #44366 )
...
* refactor: move uv_setup_args() calls to startup
* refactor: call base::CommandLine::Init() before ContentMain()
* feat: add ElectronCommandLine::AsUtf8()
* refactor: call base::CommandLine::Init() before NodeMain()
* refactor: use ElectronCommandLine::AsUtf8() in NodeMain()
* fix: -Wunsafe-buffer-usage warning in ElectronCommandLine::Init()
* chore: add a DCHECK to confirm ElectronCommandLine was initialized before AsUtf8() is called
* chore: const correctness in ElectronCommandLine::Init() args
* chore: add ElectronCommandLine to macOS Electron Helper app
* chore: move argc, argvc setup into electron_library_main on macOS
* chore: revert BUILD.gn changes
* fix: WideToUTF8() call in ElectronCommandLine::AsUtf8()
* build: add uv to the include paths for app/electron_main_linux
* build: add uv to the include paths for app/electron_library_main.mm
* chore: revert unrelated changes
these were intended for another branch
2024-10-29 13:23:08 +01:00
Charles Kerr
b3c2e83243
refactor: prefer inline constexpr string_view
for string constants ( #44405 )
...
* refactor: BaseWindow::OnExecuteAppCommand() now takes a std::string_view
* refactor: NativeWindow::NotifyWindowExecuteAppCommand() takes a std::string_view
* refactor: AppCommandToString() returns a std::string_view, is now constexpr
* refactor: make kBrowserBackward, kBrowserForward inline constexpr std::string_view
Xref: https://abseil.io/tips/140
https://groups.google.com/a/chromium.org/g/chromium-dev/c/jROTxMo_m2Q/m/HgciN2KsAgAJ
* refactor: use inline constexpr string_view for kDevice*Key constants
Xref: https://abseil.io/tips/140
https://groups.google.com/a/chromium.org/g/chromium-dev/c/jROTxMo_m2Q/m/HgciN2KsAgAJ
* refactor: IsEnvSet now takes a base::cstring_view
* refactor: use inline constexpr cstring_view for kRunAsNode
* refactor: use inline constexpr string_view for kPDF*PluginName
* refactor: use base::FilePath::FromASCII() since "internal-pdf-viewer" is ascii
* chore: remove unused shell/common/electron_constants.cc
* fixup! refactor: IsEnvSet now takes a base::cstring_view
2024-10-29 10:30:12 +01:00
Charles Kerr
5d0d15a0b3
perf: prefer NewFromUtf8Literal() over NewFromUtf8() for string literals ( #44412 )
...
* perf: prefer NewFromUtf8Literal() over NewFromUtf8() for string literals
the string length is known at compile time and no need to call ToLocalChecked()
* perf: string length is known when calling NewFromUtf8(), so use it
* perf: remove unnecessary calls to c_str()
these just force the code being called to have to recalculate the string length
2024-10-28 14:12:32 +01:00
Charles Kerr
83d7040096
fix: -Wunsafe-buffer-usage warning in didRegisterForRemoteNotificationsWithDeviceToken ( #44348 )
...
* chore: move as_byte_span() to new shell/common/mac_util.h
this way it can be used by multiple mm files
* fix: -Wunsafe-buffer-usage warnings in UNNotificationResponseToNSDictionary
* refactor: use base::HexEncode() instead of rolling our own
* fixup! chore: move as_byte_span() to new shell/common/mac_util.h
* fixup! chore: move as_byte_span() to new shell/common/mac_util.h
fix: move mac_util to the right place in filenames.gni
2024-10-23 14:18:22 -05:00
Charles Kerr
e3e94d45ee
fix: silence -Wunsafe-buffer-usage warning in GetPreferredLanguages() ( #44333 )
...
fix: use UNSAFE_BUFFERS macro in GetPreferredLanguages()
2024-10-21 18:20:00 -05:00
Sam Maddock
87bd665e41
feat: expose frame & move properties to console-message event object ( #43617 )
...
* feat: expose frame on console-message event
refactor: use property names similar to ServiceWorker's console-message event
refactor: don't use deprecated params in tests
doc: console-message breaking change
chore: add deprecation warning
docs: restore deprecated argument descriptions
* move console-message deprecations to v34
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-10-18 16:07:06 -04:00
Charles Kerr
b5acebf3ba
fix: -Wunsafe-buffer-usage warnings in TaskbarHost::SetThumbarButtons() ( #44238 )
...
* fix: -Wunsafe-buffer-usage warnings in TaskbarHost::SetThumbarButtons()
* fixup! fix: -Wunsafe-buffer-usage warning in ChunkedDataPipeReadableStream (#44211 )
2024-10-15 18:31:44 -05:00
electron-roller[bot]
36b7cf341e
chore: bump chromium to 131.0.6776.0 (main) ( #44137 )
...
* chore: bump chromium in DEPS to 131.0.6763.0
* chore: bump chromium in DEPS to 131.0.6764.0
* update patches
* chore: bump chromium in DEPS to 131.0.6766.0
* chore: update patches
* Use PathInfo in FileSystemAccess code
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5872329
* Modernize image utilities.
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5905226
* [DevTools] move feature flags to the devtools directory
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5913878
* chore: bump chromium in DEPS to 131.0.6768.0
* chore: update patches
* Remove experimental credshelper flags
Refs 4017a6c8b4
* Change gfx::[PNG|JPEG]Codec::Decode to return a SkBitmap
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5917286
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5905621
* chore: script/gen-libc++-filenames.js
* chore: bump chromium in DEPS to 131.0.6770.0
* chore: update patches
* chore: bump chromium in DEPS to 131.0.6772.0
* chore: update patches
* [UI] Add alias for mojo version of `MenuSourceType`
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5803393
* Update Background Color for Task Manager Refresh
Refs https://chromium-review.googlesource.com/c/chromium/src/+/5875259
* chore: bump chromium in DEPS to 131.0.6774.0
* chore: bump chromium in DEPS to 131.0.6776.0
* chore: update patches
* chore: update filenames.libcxx.gni
* esm: remove --no-import-harmony-assertions
https://github.com/nodejs/node/pull/54890
* 5507047: [import-attributes] Remove support for import assertions
| https://chromium-review.googlesource.com/c/v8/v8/+/5507047
* fixup: Change gfx::[PNG|JPEG]Codec::Decode to return a SkBitmap
* chore: bump chromium in DEPS to 131.0.6778.0
* Revert "chore: bump chromium in DEPS to 131.0.6778.0"
This reverts commit fb9092fc51700651aa4a245931f71ec1ca55a274.
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <nornagon@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-10-15 11:51:11 -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
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
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
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
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
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
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
500d4f0d05
fix: -Wunsafe-buffer-usage warning in asar_util's ReadFileToString() ( #43896 )
2024-09-24 15:41:24 -05:00
Charles Kerr
9598d88b7c
refactor: remove C-style void arg type for no-arg functions ( #43884 )
...
A small cleanup to remove use of the C-style function declaration idiom.
2024-09-23 22:37:32 -07:00
Charles Kerr
01330805cb
refactor: prefer member initializers in asar structs ( #43883 )
...
prefactor: prefer member initializers in asar::Archive
prefactor: prefer member initializers in asar::Archive::FileInfo
prefactor: prefer member initializers in asar::IntegrityPayload
2024-09-23 22:37:18 -07:00
Charles Kerr
53e89b565d
fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer() ( #43795 )
...
* fix: -Wunsafe-buffer-usage warnings in Clipboard::WriteBuffer()
* chore: add a DCHECK to confirm the BigBuffer is full
2024-09-19 23:10:35 -05:00
Charles Kerr
5904d31264
perf: hold V8FunctionInvoker
args in a std::array
( #43752 )
...
perf: hold V8FunctionInvoker args in a std::array
2024-09-18 16:23:29 -05:00
Charles Kerr
d897359b82
perf: hold Emit()
arg arrays in a std::array
( #43750 )
...
* refactor: CallMethodWithArgs() now takes a span of value handles
* perf: use std::array instead of std::vector to hold Emit arg parameter packs
* chore: remove unused gin_helper::EmitEvent(iso, obj, name, span<Local>)
2024-09-18 09:40:14 -05:00
electron-roller[bot]
4bcbc955dd
chore: bump chromium to 130.0.6695.0 (main) ( #43454 )
...
* chore: bump chromium in DEPS to 130.0.6673.0
* chore: bump chromium in DEPS to 130.0.6675.0
* chore: bump chromium in DEPS to 130.0.6677.2
* chore: bump chromium in DEPS to 130.0.6679.0
* 5802981: [Partitioned Popins] UKM
https://chromium-review.googlesource.com/c/chromium/src/+/5802981
* 5799275: ash: Create //chrome/browser/ui/ash/web_view
https://chromium-review.googlesource.com/c/chromium/src/+/5799275
* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url
https://chromium-review.googlesource.com/c/chromium/src/+/5791853
* 5805208: Move third_party/jacoco to a cipd/ subdirectory.
https://chromium-review.googlesource.com/c/chromium/src/+/5805208
* chore: fixup patch indices
* 5771091: Introduce InputManager class for handling input in Viz.
https://chromium-review.googlesource.com/c/chromium/src/+/5771091
* 5498921: [Permission] Remove SubscribeToPermissionStatusChange from PermissionManager
https://chromium-review.googlesource.com/c/chromium/src/+/5498921
* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url
https://chromium-review.googlesource.com/c/chromium/src/+/5791853
* 5801311: Don't use int for bindings
https://chromium-review.googlesource.com/c/chromium/src/+/5801311
* 5548827: [Web Install] Define the web-app-installation PermissionPolicy
https://chromium-review.googlesource.com/c/chromium/src/+/5548827
* 5786325: Add Infrastructure for Hand tracking permission
https://chromium-review.googlesource.com/c/chromium/src/+/5786325
* chore: fixup patch indices
* chore: bump chromium in DEPS to 130.0.6681.0
* [Views AX] Move BrowserAccessibility* to //ui/accessibility/platform
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5520052
* chore: e patches all
* Don't have default arguments on virtual functions in render_frame_host.h
https://chromium-review.googlesource.com/c/chromium/src/+/5809399
* test: log if loadURL fails in base url test
* chore: bump chromium in DEPS to 130.0.6683.2
* chore: fix support_mixed_sandbox_with_zygote.patch
content: restore old DisableJit behavior
https://chromium-review.googlesource.com/c/chromium/src/+/5804255
* chore: update patch indices
* chore: bump chromium in DEPS to 130.0.6685.0
* Parallel process launching
Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5015584
* chore: update feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch
No manual changes; patch applied with fuzz 1
* chore: e patches all
* chore: bump chromium in DEPS to 130.0.6687.0
* chore: bump chromium in DEPS to 130.0.6689.0
* chore: bump chromium in DEPS to 130.0.6691.0
* chore: bump chromium in DEPS to 130.0.6693.0
* chore: update patches
* chore: bump chromium in DEPS to 130.0.6695.0
* chore: free up macos disk space as soon as possible
* 5824143: Use checked in source lists for third_party/boringssl
https://chromium-review.googlesource.com/c/chromium/src/+/5824143
* chore: update patches
* 5824122: Extensions: Add a new view type enum for developer tools contexts
https://chromium-review.googlesource.com/c/chromium/src/+/5824122
* 5806109: Option for JavaScriptExecuteRequestForTests() to ignore content settings
https://chromium-review.googlesource.com/c/chromium/src/+/5806109
* build: free up disk space on gn check too
* 5799369: [Refactoring] Make allow_http1_for_streaming_upload flags false.
https://chromium-review.googlesource.com/c/chromium/src/+/5799369
* fixup! 5015584: Parallel process launching | https://chromium-review.googlesource.com/c/chromium/src/+/5015584
* Disable failing test for short-term
See: https://github.com/electron/electron/issues/43730
* oops
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[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: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: clavin <clavin@electronjs.org>
2024-09-17 18:12:11 -07:00
Charles Kerr
233724fe00
chore: iwyu mojom-forward header files ( #43741 )
...
* chore: iwyu mojom.h headers
* fixup! chore: iwyu mojom.h headers
make previously-indirect include dependency direct
* fixup! fixup! chore: iwyu mojom.h headers
make previously-indirect include dependency direct
2024-09-17 12:58:56 -07:00
Charles Kerr
5a76655fb8
fix: in Emit()
, don't leak converted Arg Local<Values>
into caller's scope ( #43729 )
...
fix: Emit() should not leak converted arg handles into caller's HandleScope
2024-09-17 09:00:52 -05:00
Samuel Attard
c1c8fbfd9a
build: make is_mas_build a generated header instead of config ( #43737 )
2024-09-17 01:38:56 -07:00
Charles Kerr
b6bf277b6f
refactor: reduce code duplication in gin_helper::Promise ( #43716 )
...
* refactor: move scope scaffolding into SettletScope
idea stolen from SpellCheckScope
* refactor: move impl of PromiseBase::RejectPromise() to the cc file
* chore: remove unused #include
2024-09-16 23:08:40 -05:00
Charles Kerr
05dfd14913
refactor: add EmitWarning(v8::Isolate*)
helper ( #43722 )
...
* refactor: add EmitWarning(Isolate*, ...) warning
* chore: remove EmitWarning(node::Environment*, ...)
* chore: add code comments
* fixup! refactor: add EmitWarning(Isolate*, ...) warning
* chore: remove unused node #includes
2024-09-16 15:53:04 -05:00
Charles Kerr
3dd7e46291
refactor: avoid minor code repetition in native_image.cc ( #43689 )
...
chore: delegate handle creation in NativeImage::Resize()
chore: delegate handle creation in NativeImage::Crop()
chore: delegate handle creation in NativeImage::CreateEmpty()
2024-09-12 10:56:15 -05:00
Charles Kerr
45bae950d5
chore: remove unused base/ includes ( #43688 )
2024-09-12 16:05:37 +02:00
Charles Kerr
a3df950281
fix: -Wunsafe-buffer-usage warning in V8Serializer::Serialize() ( #43642 )
2024-09-10 15:05:05 -05:00
Charles Kerr
f1019c2c4a
fix: -Wunsafe-buffer-usage warnings in asar file IO ( #43624 )
...
* fix: -Wunsafe-buffer-usage warnings in ScopedTemporaryFile::InitFromFile()
* fix: -Wunsafe-buffer-usage warnings in Archive::Init()
2024-09-09 16:34:42 -04:00
Charles Kerr
5718ea4e1e
fix: out-of-scope Local handle in node::CallbackScope ( #43622 )
...
refactor: use an EscapableHandleScope
2024-09-09 12:14:40 -05:00
Charles Kerr
2844e346b9
refactor: use std::optional in MicrotasksScope ( #43621 )
...
avoid an unnecessary heap allocation/free
2024-09-09 12:51:42 -04:00
Charles Kerr
8c5e7bbf6b
fix: UvHandle move semantics ( #43615 )
...
reassign the uv_handle_t of the source
2024-09-09 14:13:39 +02:00
Charles Kerr
0568686340
perf: avoid redundant Promise.GetContext calls ( #43609 )
...
refactor: avoid redundant Promise.GetContext calls
Several Promise methods call `GetContext()` multiple times. From looking
at the assembly in obj/electron/electron_lib/promise.o, these redundant
calls are actually being made -- they aren't optmized out.
This PR keeps the return value in a local variable to avoid extra calls.
2024-09-07 23:39:42 -05:00
Charles Kerr
44a4328ea8
refactor: take a uint8_t
span in ValidateIntegrityOrDie()
( #43592 )
...
refactor: take a uint8_t span in ValidateIntegrityOrDie()
Doing some groundwork for fixing unsafe base::File() APIs:
- Change ValidateIntegrityOrDie() to take a span<const uint8_t> arg.
We'll need this to migrate asar's base::File API calls away from the
ones tagged `UNSAFE_BUFFER_USAGE` because the safe counterparts use
span<uint8_t> too.
- Simplify ValidateIntegrityOrDie()'s implementation by using
crypto::SHA256Hash() instead of reinventing the wheel.
2024-09-06 20:22:44 -05:00
Charles Kerr
cc5aa65cb4
fix: delete UvTaskRunner's timers only after they're closed ( #43561 )
...
* fix: free UvTaskRunner timers only after they are closed
* refactor: UvTaskRunner now holds UvHandles
2024-09-06 07:16:56 -05:00
Charles Kerr
3fde574db1
fix: -Wunsafe-buffer-usage warnings in url-loader ( #43564 )
...
Use v8::ArrayBufferView::CopyContents() instead of doing the pointer
math + memcpy() ourselves. This not only solves the buffer warnings,
but may also avoid some additional overhead:
> Copy the contents of the ArrayBufferView's buffer to an
> embedder defined memory without additional overhead that
> calling ArrayBufferView::Buffer might incur.
2024-09-05 20:22:03 -05:00
Orko Garai
69df09dc90
fix: Launch apps with XDG_ACTIVATION_TOKEN in ozone/wayland ( #43480 )
...
* fix: Launch apps with XDG_ACTIVATION_TOKEN in ozone/wayland
Ensure apps are launched with the activation token received from
xdg_activation_v1 protocol.
* add focus_launched_process option
2024-09-05 13:07:10 -05:00
Charles Kerr
0467790aee
chore: migrate to v8::Object::SetPrototypeV2() ( #43535 )
...
chore: migrate to v8::Object::SetPrototypeV2().
Xref: https://chromium-review.googlesource.com/c/v8/v8/+/5600627
[api] Mark v8::Object::GetPrototype() for deprecation
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2024-09-04 20:30:54 -05:00