* refactor: use x11_util::IsX11() in BuildSubmenuFromModel()
* refactor: use x11_util::IsX11() in ElectronDesktopWindowTreeHostLinux::OnBoundsChanged()
* refactor: use skia_can_fall_back_to_x11 in x11_util::IsX11()
it is identical in practice to electron_can_call_x11 and does not require a Chromium patch
* chore: remove introduce_ozoneplatform_electron_can_call_x11_property.patch
* refactor: use ui::GetOzonePlatformId() to test for x11
* feat: enable innerWidth and innerHeight for window open
* update comment for added special innerWidth and innerHeight
* update 100 min spec requirement handling
* update testing to include getContentSize
* update macOS min requirement handling
* adjust refactored consts
* update const values from nativewindowviews
Fixes https://github.com/electron/electron/issues/45990
We previously made a change in https://github.com/electron/electron/pull/45868
to fix content protection being lost on hide and re-show. However, this
cause a breaking change where protected windows were made opaque black
instead of being hidden as before. This overrides relevant methods in
ElectronDesktopWindowTreeHostWin to restore the previous behavior.
without regressing the original issue.
* 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: do not use native_widget_private() in NativeWindowViews::SetContentProtection()
refactor: do not use native_widget_private() in NativeWindowViews::IsContentProtected()
* refactor: do not use native_widget_private() in NativeWindowViews::Show()
* chore: remove native_widget_private #include from native_window_views_win
Not needed since Feb 2025: 9199d5c6
* feat: add gin_helper::Dictionary::ValueOrDefault()
A convenience function for using a default value if the
specified key isn't present in the dictionary.
* refactor: use ValueOrDefault() in native_window.cc
* refactor: use ValueOrDefault() in native_window_mac.mm
* refactor: use ValueOrDefault() in native_window_views.cc
* refactor: use ValueOrDefault() in electron_api_native_image.cc
* refactor: make NativeWindow::titlebar_overlay_height_ private
* refactor: make NativeWindow::set_has_frame() protected
* refactor: remove NativeWindow::background_material()
It's only used once, in NativeWindow, so use |background_material_| directly.
* refactor: remove NativeWindow::vibrancy()
It's only used once, in a NativeWindow method, so use |vibrancy_| directly.
* refactor: unfriend api::BrowserView
It was added in Oct 2022 by 23d4a25 for access to protected NativeWindow
methods add_inspectable_view() and remove_inspectable_view().
That dependency was removed in Nov 2022 by 184ac2b, so BrowserView
doesn't need access to NativeWindow's private fields & methods anymore.
* refactor: make NativeWindow::ContentBoundsToWindowBounds() protected
refactor: make NativeWindow::WindowBoundsToContentBounds() protected
* chore: use dbus thread for portal version detection
* Update shell/browser/ui/file_dialog_linux_portal.cc
Co-authored-by: Robo <hop2deep@gmail.com>
---------
Co-authored-by: Charles Kerr <charles@charleskerr.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: don't call RegisterDeleteDelegateCallback()
move NativeWindowViews' on-widget-delegate-destroyed callback logic to
the NativeWindowViews destructor.
Since NativeWindowViews subclasses from WidgetDelegate and |this| *is*
the delegate being destroyed, we can handle this more cleanly in
~NativeWindowViews() instead of in a separate callback.
* chore: remove NativeWindowViews from the grandfathered-classes-that-can-call-deprecated-views-behavior patch
* refactor: don't call RegisterDeleteDelegateCallback()
RegisterDeleteDelegateCallback() is private upstream API, so we
shouldn't be using it.
Move the on-widget-delegate-destroyed callback logic over to our methods
NativeWindowViews::OnWidgetDestroying() and
NativeWindowViews::OnWidgetDestroyed().
* refactor: add EmitDeprecationWarning helper
Also switches EmitWarning to using Node's ProcessEmitWarningGeneric
* chore: use node namespace for function call
* refactor: use WidgetDelegate::SetTitle()
* Make NativeWindow::SetTitle() and NativeWindow::GetTitle() non-virtual.
Use WidgetDelegate for their implementation.
* Add NativeWindow::OnTitleChanged(), a new protected virtual method to update
subclasses (e.g. NativeWindowMac needs to redraw the button proxy).
* In NativeWindowMac, replace SetTitle() and GetTitle() with OnTitleChanged().
* In NativeWindowViews, replace SetTitle() and GetTitle() with OnTitleChanged().
* test: enable BrowserWindow.title tests on Linux
* test: add a test to confirm win.title changes when document.title is set in the renderer
* 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>