* chore: bump chromium in DEPS to 139.0.7205.0
* 6543986: Mac: decouple deserializing and applying sandbox policy
Refs 6543986
* 6580079: Reland 'Remove the third-party blocking feature'
Refs 6580079
* 6505716: guest-contents: Add components/guest_contents
Refs 6505716
* 6572556: Move LogMessageManager out of gpu_service_impl.cc.
Refs 6572556
* 6566111: Change UtilityProcessHost to manage its instance internally
Refs 6566111
* 6550237: Rename ReconnectEventObserver to ConnectionChangeObserverClient
Refs 6550237
* 6565918: Validate path is valid UTF8 in SelectFileDialogLinuxPortal
Refs 6565918
* 6579713: Remove base::NotFatalUntil::M130 usage
6566111: Change UtilityProcessHost to manage its instance internally
Refs
65797136566111
* chore: update chromium patches
* chore: update remaining patches
* fixup! 6566111: Change UtilityProcessHost to manage its instance internally Refs 6566111
* 6577970: Remove superfluous includes for base/strings/stringprintf.h in headers
Refs 6577970
* 6568811: Add FunctionCall structured metrics event for DevTools
Refs 6568811
* [PDF Ink Signatures] Support PdfAnnotationsEnabled policy
6558970
* build: disable libcxx modules for rbe
* chore: bump chromium in DEPS to 139.0.7217.0
* chore: bump chromium in DEPS to 139.0.7218.0
* chore: update patches
fix_use_delegated_generic_capturer_when_available.patch was updated to handle a small change:
6582142: Use content::Create*Capturer in DesktopCaptureDevice. | 6582142
* chore: bump chromium in DEPS to 139.0.7219.0
* chore: update patches
* 6594615: Change Chromium's deployment target to macOS 12
6594615
Updated the assertion message to match the docs structure now too. I removed the callout to the supported versions doc because it has moved and doesn't contain minimum platform version information.
* 6606232: [views] Remove DesktopWindowTreeHostWin::window_enlargement_
6606232
|NativeWindow::GetContentMinimumSize| and |NativeWindow::GetContentMaximumSize| may be good opportunities for a refactor now.
* add squirrel.mac patch for removed function
This was triggered by the macOS 12.0 deployment upgrade change.
See: https://developer.apple.com/documentation/coreservices/1444079-uttypeconformsto?language=objc
* 6582142: Use content::Create*Capturer in DesktopCaptureDevice.
6582142
* 6579732: Two minor API "quality of life" cleanups in OSCrypt Async
6579732
* chore: add include for base::SingleThreadTaskRunner
Not sure what change caused this, I expect it would be a removed include somewhere else, but it's likely not important to track down.
* chore: update libcxx filenames
* chore: update CI build-tools commit target for macOS SDK 15.4
The following change uses an API that was added in the macOS 15.4 SDK. Support for that SDK version was added later than the current build-tools commit target.
6575804: Use a quick-and-dirty solution to avoid glitching with paste-and-go | 6575804
See: https://developer.apple.com/documentation/appkit/nspasteboard/accessbehavior-swift.enum?language=objc
* fixup! 6606232: [views] Remove DesktopWindowTreeHostWin::window_enlargement_ 6606232
* chore: bump chromium in DEPS to 139.0.7220.0
* chore: update patches
Minor changes due to:
6613978: pwa: let events fall through in the transparent area of TopContainerView | 6613978
6614778: Refactor auto pip tab observer for Android support | 6614778
* 6543986: Mac: decouple deserializing and applying sandbox policy
6543986
The DecodeVarInt and DecodeString functions look benign from a MAS perspective. I suspect they were patched out to avoid "unused function" errors. Their complements for encoding are unpatched, supporting this idea.
The code that uses these functions was refactored out of the section that we patch out. Instead of patching out that new function, I decided to treat it the same as the serialization function that is unpatched.
* chore: bump chromium in DEPS to 139.0.7222.0
* chore: bump chromium in DEPS to 139.0.7224.0
* chore: bump chromium in DEPS to 139.0.7226.0
* chore: bump chromium in DEPS to 139.0.7228.0
* chore: update patches
* Don't use static variable for UseExternalPopupMenus
6534657
* Reland "Roll libc++ from a01c02c9d4ac to a9cc573e7c59
6607589
* chore: bump chromium in DEPS to 139.0.7219.0
* chore: update patches
* revert Don't use static variable for UseExternalPopupMenus
* tls: remove deprecated tls.createSecurePair and SecurePair
https://github.com/nodejs/node/pull/57361
* Revert "Reland "Roll libc++ from a01c02c9d4ac to a9cc573e7c59"
This reverts commit 33e1436a0c598ffa8cd308d08de481ed9cd22168.
* test: cleanup api-desktop-capturer-spec.ts
* test: more cleanup of api-desktop-capturer-spec.ts
* chore: debug dcheck error in webrtc on linux
* fixup patch
* add debugging to desktop capturer spec
* test: fixup api-desktop-capturer-spec.ts for linux
* chore: remove debugging patch
* Revert "fixup! 6606232: [views] Remove DesktopWindowTreeHostWin::window_enlargement_ 6606232"
This reverts commit 32e75651c14512572d322e819c98ab1469663bb6.
* Revert "6606232: [views] Remove DesktopWindowTreeHostWin::window_enlargement_"
This reverts commit 89c51aa1c7771fd7f1d634486bc77f493f1d2ea9.
* [views] Remove DesktopWindowTreeHostWin::window_enlargement_
6606232
Reverting as we need this functionality for now.
* fixup: remove patch that was accidentally added back
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* refactor: have ShowSaveDialogSync() return a std::optional<base::FilePath>
* fixup! refactor: have ShowSaveDialogSync() return a std::optional<base::FilePath>
* feat: add menu item role `palette` and `header`
* adds comments
* refactors new role items to new item types
* docs: custom type
* docs: note types only available on mac 14+
---------
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
* refactor: remove unnecessary downcast in MenuViews::PopupAt()
* refactor: pass a views::Widget as an arg to the ElectronDesktopWindowTreeHostLinux ctor
* refactor: pass a views::Widget as an arg to the ElectronDesktopNativeWidgetAura ctor
* refactor: pass a views::Widget as an arg to the ElectronDesktopWindowTreeHostWin ctor
* refactor: create desktop_window_tree_host_ in the ElectronDesktopNativeWidgetAura constructor
* fixup! refactor: create desktop_window_tree_host_ in the ElectronDesktopNativeWidgetAura constructor
fix: tyop
* refactor: make TrackableObject::weak_map_id() constexpr
refactor: make BaseWindow::GetID() inline and constexpr
* refactor: make NativeWindow::window_id() constexpr too
* refactor: use ValueOrDefault() in electron_api_web_contents.cc
* refactor: use ValueOrDefault() in electron_api_url_loader.cc
* refactor: use ValueOrDefault() in electron_download_manager_delegate.cc
* refactor: use ValueOrDefault() in electron_touch_bar.mm
* refactor: use ValueOrDefault() in electron_url_loader_factory.cc
* refactor: use ValueOrDefault() in electron_browser_context.cc
* refactor: use ValueOrDefault() in electron_touch_bar.mm
* refactor: use ValueOrDefault() in blink_converter.cc
* feat: add ValueOrDefault() to PersistentDictionary
* empty commit
* refactor: use ValueOrDefault() in blink_converter.cc
* refactor: inline the rectangle base::Value::Dict
* refactor: remove has_scroll temporary
---------
Co-authored-by: Deepak Mohan <hop2deep@gmail.com>
* refactor: use ObserverList::Notify() in shell/browser/window_list.cc
* refactor: use ObserverList::Notify() in shell/browser/web_contents_zoom_controller.cc
* refactor: use ObserverList::Notify() in shell/browser/usb/usb_chooser_context.cc
* refactor: use ObserverList::Notify() in shell/browser/usb/electron_usb_delegate.cc
* refactor: use ObserverList::Notify() in shell/browser/ui/views/menu_delegate.cc
* refactor: use ObserverList::Notify() in shell/browser/ui/tray_icon.cc
* refactor: use ObserverList::Notify() in shell/browser/ui/electron_menu_model.cc
* refactor: use ObserverList::Notify() in shell/browser/serial/serial_chooser_context.cc
* refactor: use ObserverList::Notify() in shell/browser/native_window.cc
* refactor: use ObserverList::Notify() in shell/browser/serial/electron_serial_delegate.cc
* refactor: use ObserverList::Notify() in shell/browser/browser.cc
* refactor: use ObserverList::Notify() in shell/browser/api/electron_api_web_contents.cc
* refactor: use ObserverList::Notify() in shell/browser/hid/electron_hid_delegate.cc
* refactor: use ObserverList::Notify() in shell/browser/hid/hid_chooser_context.cc
* refactor: add EmitDeprecationWarning helper
Also switches EmitWarning to using Node's ProcessEmitWarningGeneric
* chore: use node namespace for function call
* refactor: use net::CanonicalCookie::IsDomainMatch()
Previously we had been rolling our own impl
* test: add pattern-matching tests for our cookie API
* refactor: add electron::Buffer namespace; move the Buffer as_byte_span() into it
* feat: add electron::Buffer::Copy()
a span-friendly version of node::Buffer::Copy()
* refactor: use electron::Buffer::Copy() in electron_api_base_window.cc
* refactor: use electron::Buffer::Copy() in electron_api_data_pipe_holder.cc
* refactor: use electron::Buffer::Copy() in electron_api_safe_storage.cc
* refactor: use electron::Buffer::Copy() in electron_api_clipboard.cc
* refactor: use electron::Buffer::Copy() in osr_converter.cc
* refactor: use electron::Buffer::Copy() in electron_api_native_image.cc
* refactor: use electron::Buffer::Copy() in net_converter.cc
* refactor: use electron::Buffer::Copy() in electron_api_web_contents.cc
* refactor: make NewEmptyBuffer() return a Local<Value>
chore: remove never-used WebContents.getNativeView().
This was added in https://github.com/electron/electron/pull/10308 but
was never used and never documented, not even as experimental API.
* fix: explicitly call GetNativeNSView() on macOS
* chore: move macOS impl to a .mm file
This is needed in order to access gfx::NativeView::GetNativeNSView()
* chore: bump chromium in DEPS to 137.0.7107.0
* chore: bump chromium in DEPS to 137.0.7109.0
* chore: bump chromium in DEPS to 137.0.7111.0
* chore: bump chromium in DEPS to 137.0.7113.0
* 6384240: Remove double-declaration for accessibility on macOS | 6384240
* 6422872: Remove unused includes in isolation_info_mojom_traits.h | 6422872
* chore: update patches
* 6400733: Avoid ipc_message_macros.h usage in some foo_param_traits_macros.h files | 6400733
* chore: update patches
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
* chore: iwyu
* refactor: prefer value initialization over memset()
From the looks up upstream commits in base/, it looks like memset()
could trigger `-Wunsafe-buffer-usage` warnings soon?
Value initialization is more C++ish and less error-prone anyway,
due to memset()'s easily swappable parameters.
* refactor: NotifyIcon::InitIconData() returns a NOTIFYICONDATA
This follows F.20 in the C++ Core Guidelines and also removes the need
for memset()
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- strcmp()
* fixup! 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
* 6433203: Add a PassKey to RegisterDeleteDelegateCallback(). | 6433203
* chore: bump chromium in DEPS to 137.0.7115.0
* 6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* chore: update patches
* 6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* fix: add pragma for MacSDK unsafe buffers | 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
* chore: bump chromium in DEPS to 137.0.7117.0
* chore: update patches
* chore: update filesnames.libcxx.gni
* 6431756: Replace SetOwnedByWidget() bool arg with a PassKey. | 6431756
* 6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* 6428345: Remove ExtensionService usage from ChromeExtensionRegistrarDelegate | 6428345
* 6384315: Migrate extensions_enabled from ExtensionService to Registrar | 6384315
* 6428749: [extensions] Refactor ExtensionService for AddNewAndUpdateExtension. | 6428749
* chore: bump chromium in DEPS to 137.0.7119.0
* 6440290: corner-shape: support inset shadow | 6440290
* 6429230: FSA: Move blocked paths to the PermissionContext class | 6429230
* chore: update patches
* chore: bump chromium in DEPS to 137.0.7121.0
* chore: update patches
* fix: partially revert 6443473: Remove ItemDelete from the Mac version of AppleKeychain | 6443473
* fix: update filenames.libcxx.gni
* chore: bump chromium in DEPS to 137.0.7123.0
* chore: update patches
* chore: "grandfather in" electron views too
Lock further access to View::set_owned_by_client() | 6448510
* chore: update feat_corner_smoothing_css_rule_and_blink_painting.patch
corner-shape: support inset shadow | 6440290
* refactor: grandfather in AutofillPopupView as a subclass of WidgetDelegateView
Add a PassKey for std::make_unique<WidgetDelegateView>() | 6442265
* Provide dbus appmenu information on Wayland | 6405535
* [extensions] Move OnExtensionInstalled out of ExtensionService. | 6443325
* refactor: grandfather in NativeWindowViews for delete callbacks
6433203: Add a PassKey to RegisterDeleteDelegateCallback(). | 6433203
* chore: merge the four "grandfather" patches into one
* [A11yPerformance] Remove IsAccessibilityAllowed() | 6404386: [A11yPerformance] Remove IsAccessibilityAllowed() | 6404386
NB: the changes here are copied from the upstream changes in
chrome/browser/ui/webui/accessibility/accessibility_ui.cc
* 6420753: [PermissionOptions] Use PermissionDescriptorPtr in PermissionController | 6420753
* 6429573: [accessibility] Move mode change out of AccessibilityNotificationWaiter | 6429573
* chore: e patches all
* 6419936: [win] Change ScreenWin public static methods to virtual | 6419936
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- fprintf()
- fputs()
- snprintf()
- vsnprintf()
* fix: size conversion FTBFS on Win
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- wcscpy_s()
* 6423410: Enable unsafe buffer warnings for chromium, try #3. | 6423410
remove all uses of:
- wcsncpy_s()
* chore: update mas_avoid_private_macos_api_usage.patch.patch
6394283: Remove double-declaration for accessibility on iOS | 6394283
Lots of context shear in this commit but the only interesting part is:
-+ return nullptr;
++ return {};
Which is needed because the return type is sometimes not a pointer.
* chore: e patches all
* chore: disable -Wmacro-redefined warning in electron_main_win.cc
* chore: bump chromium in DEPS to 137.0.7123.5
* refactor: patch electron PermissionTypes into blink
6387077: [PermissionOptions] Generalize PermissionRequestDescription | 6387077
* chore: e patches all
* chore: remove the box_painter_base.cc part of feat_corner_smoothing_css_rule_and_blink_painting.patch
as per code review @ https://github.com/electron/electron/pull/46482#pullrequestreview-2777338370
* test: enable window-smaller-than-64x64 test on Linux
* chore: bump chromium in DEPS to 137.0.7124.1
* chore: bump chromium in DEPS to 137.0.7125.1
* chore: bump chromium in DEPS to 137.0.7127.3
* 6459201: [Extensions] Remove ExtensionSystem::FinishDelayedInstallationIfReady() | 6459201
* 6454796: [Extensions] Move (most) registrar delayed install logic to //extensions | 6454796
* chore: bump chromium in DEPS to 137.0.7128.1
* chore: e patches all
* chore: node ./script/gen-libc++-filenames.js
* [views] Gate DesktopWindowTreeHostWin::window_enlargement_ behind flag
Refs 6428649
* feat: allow opt-out animated_content_sampler.
Refs 6438681
* Trigger CI
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* fix: do not run microtasks in V8Serializer in browser process
* Remove no-op MicrotasksScope in `shell/browser/api/electron_api_auto_updater.cc`
This call was added in https://github.com/electron/electron/pull/40576 as an expansion of `gin_helper::EmitEvent`.
Since this only runs in the browser process and `bool ignore_browser_checkpoint = true` this code is a no-op.
Node should perform a microtask checkpoint if necessary in `node::MakeCallback`.
* Remove no-op MicrotasksScope in `shell/common/api/electron_bindings.cc`
This method is only called by the browser process. The containing function, `ElectronBindings::DidReceiveMemoryDump`, is only used in two places:
* `ElectronBindings::GetProcessMemoryInfo` in the same file, which has a `CHECK` that it's running in the browser process at the top.
* From `shell/browser/api/electron_api_web_contents.cc`, which is only run in the browser process.
Added a DCHECK for clarity and validation.
* Replace `gin_helper::MicrotasksScope` with `v8::MicrotasksScope` in `shell/renderer/`
The browser check is unnecessary in the renderer. Since `gin_helper::MicrotasksScope` will always act exactly like `v8::MicrotasksScope`, it's clear to just use the v8 object directly. This also brings them in line with the many other uses of `v8::MicrotasksScope` in `shell/renderer/`.
feat: expose shouldUseDarkColorsForSystemIntegratedUI
Closes https://github.com/electron/electron/issues/46429.
Refs https://github.com/electron/electron/pull/19735.
This PR adds a new API `shouldUseDarkColorsForSystemIntegratedUI` to the
`nativeTheme` module. This API returns a boolean indicating whether the
system is using dark colors for system integrated UI elements. This is
useful for applications that want to adapt their UI to match the system
theme, especially for those that use system integrated UI elements like
the shell theme or taskbar appearance.
* refactor: make api::View::GetBounds() const
* refactor: make api::View::OnViewBoundsChanged() private
refactor: make api::View::OnViewIsDeleting() private
refactor: make api::View::OnChildViewRemoved() private
* refactor: make ChildPair private
* refactor: instantiate navigation_entries on the stack instead of the heap
* refactor: reserve the full size of navigation_entries
* refactor: use emplace_back to simplify the code a little
* chore: bump chromium in DEPS to 136.0.7076.0
* chore: bump chromium in DEPS to 136.0.7077.0
* 6368856: Migrate absl variant.h and utility.h in content (part 2/2) | 6368856
* 6356528: Clean up LegacyRenderWidgetHostHWND code | 6356528
* chore: export patches
* 6339113: [Viewport Segments] Add CDP commands to override Viewport Segments without overriding other device properties. | 6339113
* 6352169: [DevTools][MultiInstance] Support new tab in another window on Android | 6352169
* 6368856: Migrate absl variant.h and utility.h in content (part 2/2) | 6368856
* 6360858:Clickiness: Wire response from URLLoader to DB, add e2e tests| 6360858
* chore: bump chromium in DEPS to 136.0.7079.0
* chore: export patches
* chore: bump chromium in DEPS to 136.0.7081.0
* chore: export patches
* chore: bump chromium in DEPS to 136.0.7083.0
* 6361987: Remove double-declaration with gfx::NativeView and gfx::NativeWindow | 6361987
* chore: export patches
* chore: bump chromium in DEPS to 136.0.7087.0
* chore: export patches
* fix: include node patch for missing AtomicsWaitEvent
6385540
* build: add depot_tools python to path
* fix: cppgc init and unregistering v8 isolate
6333562
CppGc is now initialized earlier so Node can skip reinitializing it.
Additionally, gin::IsolateHandle was attempting to destruct an already destructed
v8::Isolate upon electron::JavaScriptEnvironment destruction. By removing the call
to NodePlatform::UnregisterIsolate, this fixes the crash on app shutdown.
* fix: unregister isolate after destruction
See code comment.
* chore: bump chromium in DEPS to 136.0.7095.0
* chore: sync patches
* fix: add script_parsing::ContentScriptType parameter
6298395
* fix: migrate content::BrowserAccessibilityState methods
64014376383275
* feat: enableHappyEyeballs option for host resolver
6332599
* fix: add new cookie exclusion reason
6343479
* fix: add new url loader method
6337340
* fix: add new cppgc header file for electron_node headers
6348644
* fix: disable CREL on Linux ARM64
https://chromium-review.googlesource.com/q/I3a62f02f564f07be63173b0773b4ecaffbe939b9
* fixup! fix: add new cppgc header file for electron_node headers 6348644
* chore: update corner smoothing patch
* fixup! chore: update corner smoothing patch
* chore: disable NAN weak tests
These two tests are incompatible with a V8 change that disallows running JS code from a weak finalizer callback.
Ref: 4733273
* test: fix task starvation in node test
A V8 change makes these contexts get collected in a task that is posted
and run asynchronously. The tests were synchronously GC'ing in an
infinite loop, preventing the task loop from running the task that would
GC these contexts.
This change should be upstreamed in some way.
Ref: 4733273
---------
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: alice <alice@makenotion.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: clavin <clavin@electronjs.org>
* fix: gin_helper::Promise in GPUInfoManager must be destroyed before destroying Node/V8
* fix: use CleanedUpAtExit to control the lifetime of GPUInfoManager