Commit graph

15 commits

Author SHA1 Message Date
trop[bot]
592d0155f1
feat: expose nativeTheme.shouldUseDarkColorsForSystemIntegratedUI (#46599)
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.

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-04-16 19:40:51 +02:00
Charles Kerr
8ae5aacc8c
refactor: declare gin::Wrapper subclasses as final (#43527)
As per the gin docs: "Wrappable<T> explicitly does not support further
subclassing of T. Subclasses of Wrappable<T> should be declared final."
2024-09-04 18:40:02 -05:00
Charles Kerr
e70ce89235
chore: more iwyu (#43063)
* chore: iwyu shell/browser/electron_pdf_document_helper_client.h

* chore: iwyu shell/browser/hid/electron_hid_delegate.h

* chore: iwyu content/public/browser/web_contents.h

* chore: iwyu shell/browser/usb/electron_usb_delegate.h

* chore: iwyu shell/browser/browser_observer.h

* chore: iwyu shell/browser/bluetooth/electron_bluetooth_delegate.h

* chore: iwyu shell/browser/serial/electron_serial_delegate.h

* chore: iwyu shell/browser/api/frame_subscriber.h

* chore: iwyu mojo/public/cpp/bindings/

* chore: iwyu components/

* chore: iwyu extensions/

* chore: iwyu shell/common/gin_helper/

* chore: iwyu v8/

* chore: iwyu base/containers/linked_list.h

* chore: iwyu shell/browser/native_window.h

* chore: iwyu shell/browser/api/electron_api_base_window.h

* chore: iwyu shell/common/node_includes.h

* chore: iwyu gin/handle.h

* chore: iwyu base/functional/callback.h

* chore: iwyu ui/gfx/

* chore: iwyu content/public/browser/render_frame_host.h

* fix: mac

* fix: mac

* fix: win

* chore: iwyu base/files/file_path.h

* chore: iwyu base/unguessable_token.h

* chore: iwyu ui/display/screen.h

* chore: iwyu chrome/browser/predictors/preconnect_manager.h

* chore: iwyu base/observer_list_types.h

* chore: iwyu content/public/browser/web_contents.h

* chore: iwyu chrome/browser/devtools/devtools_eye_dropper.h

* chore: iwyu shell/browser/ui/inspectable_web_contents.h

* chore: iwyu content/public/browser/keyboard_event_processing_result.h

* chore: iwyu net/cookies/canonical_cookie.h

* chore: iwyu net/base/address_list.h

* chore: iwyu net/cert/x509_certificate.h

* chore: iwyu net/cookies/cookie_change_dispatcher.h

* chore: iwyu net/dns/public/host_resolver_results.h

* fix: mac

* Revert "chore: iwyu net/cert/x509_certificate.h"

This reverts commit 002896f71146e90f1e29e090a1d6eede48cee11e.
2024-07-29 12:42:57 -05:00
Shelley Vohr
5669a40d5c
feat: add transparency checking to nativeTheme (#42862)
* feat: add transparency checking to nativeTheme

Refs 4684870

* chore: deprecate previous function

* chore: fix lint
2024-07-24 14:38:22 +02:00
Charles Kerr
ae0c55c0b1
refactor: inherit Observer classes privately, pt. 2 (#42237)
* refactor: use private inheritance in PushNotifications

* refactor: use private inheritance in electron::api::App

* refactor: use private inheritance in electron::api::BrowserWindow

* refactor: use private inheritance in electron::api::NativeTheme

* refactor: use private inheritance in electron::api::Tray

* refactor: use private inheritance in electron::api::Session

* refactor: use private inheritance in electron::api::WebContents

* refactor: use private inheritance in electron::api::DownloadItem

* refactor: use private inheritance in electron::api::MenuBar

* refactor: use private inheritance in ClearDataOperation

* refactor: use private inheritance in electron::api::Screen

* refactor: use private inheritance in electron::ElectronDesktopWindowTreeHostLinux

* refactor: use private inheritance in SpellCheckerHolder

* refactor: use private inheritance in electron::api::PowerMonitor

* refactor: use private inheritance in electron::api::BaseWindow

* refactor: use private inheritance in electron::api::AutoUpdater

* refactor: use private inheritance in electron::api::Menu

* refactor: use private inheritance in electron::api::NativeWindowViews

* refactor: use private inheritance in electron::ElectronBrowserClient

* refactor: use private inheritance in electron::AutofillPopupView

* refactor: use private inheritance in GtkMessageBox

* refactor: use private inheritance in electron::OffScreenRenderWidgetHostView

* refactor: use private inheritance in electron::InspectableWebContents

* refactor: use private inheritance in electron::ElectronUsbDelegate

* refactor: use private inheritance in electron::LoginHandler

* refactor: use private inheritance in WebFrameRenderer

* refactor: use private inheritance in electron::ElectronSerialDelegate

* refactor: use private inheritance in electron::ClientFrameViewLinux

* refactor: use private inheritance in electron::ElectronHidDelegate

* refactor: use private inheritance in IPCRenderer

* refactor: use private inheritance in electron::WinCaptionButtonContainer

* refactor: use private inheritance in electron::ElectronApiIPCHandlerImpl

* refactor: use private inheritance in electron::api::ServiceWorkerContext

* refactor: use private inheritance in ui::FileSelectHelper

* refactor: use private inheritance in electron::api::WebContentsView

* refactor: use private inheritance in electron::api::SimpleURLLoaderWrapper

* refactor: use private inheritance in electron::api::InAppPurchase

* refactor: use private inheritance in electron::api::Debugger

* refactor: use private inheritance in electron::ElectronWebContentsUtilityHandlerImpl

* refactor: use private inheritance in electron::OffScreenWebContentsView
2024-05-29 13:07:02 -05:00
John Kleinschmidt
3dbc0a365f
chore: enable check raw ptr fields (#38167) 2023-05-11 16:07:39 -04:00
David Sanders
5d120359f6
chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
Milan Burda
755feb4d81
feat: add nativeTheme.inForcedColorsMode (#32956) 2022-03-21 10:30:02 +01:00
electron-roller[bot]
28ada6ea8b
chore: bump chromium to 100.0.4857.0 (main) (#32419)
* chore: bump chromium in DEPS to 99.0.4819.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4824.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4827.0

* chore: update patches

* 3352511: PiP: Add inkdrop and pointer cursor to PiP window buttons

3352511

* 3309164: webhid: Show FIDO devices in the chooser if allowed

3309164

* 3297868: hid: Add experimental HIDDevice.forget()

3297868

* 3362491: [Extensions] Move i18n API to //extensions

3362491

* MCC Refactor step0: Allow embedders to register associated_interface binders with RenderFrameHostImpl::associated_registry_.

3281481

* 3352616: [Gtk] Remove libgtk from the link-line

3352616

* 3249211: Clear-Site-Data support for partitioned cookies

3249211

* [Extensions][COIL] Use [allow|block]list in //extensions/common

3372668

* Begin ScopedUserPrefUpdate migration to modern base::Value

3376154

* [Code Health] Refactor PrefService GetDict + GetList to use base::Value

3343526

* 3354997: [CodeHealth] Remove deprecated SetDictionary method

3354997

* 3287323: Add LacrosPrefStore for lacros settings

3287323

* 3365916: [PA] Clean up remaining lazy commit code

3365916

* [MPArch] Target the external protocol error at the responsible frame.

3011560

* Pass origin to RegisterNonNetworkSubresourceURLLoaderFactories

3350608

* Linux: Send OSCrypt raw encryption key to the Network Service

3320484

* [PlzServiceWorker] Remove remaining references to PlzServiceWorker.

3359441

* chore: fixup for lint

* 3327621: Fix tablet mode detection for Win 11.

3327621

* 3342428: ax_mac: move AXTextMarker conversion utils under ui umbrella

3342428

* 3353974: Mac: Use base::Feature for overlay features

3353974

* chore: bump chromium in DEPS to 99.0.4828.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4837.0

* chore: update patches

* chore: update patches

* 3379142: Drop FALLTHROUGH macro
Ref: 3379142

* 3381749: C++17: Allow use of std::map::try_emplace and std::map::insert_or_assign
Ref: 3381749

* chore: bump chromium in DEPS to 99.0.4839.0

* chore: update patches

* chore: bump chromium in DEPS to 99.0.4840.0

* chore: bump chromium in DEPS to 99.0.4844.0

* 3395881: [api] Deprecate Local<v8::Context> v8::Object::CreationContext()

Ref: 3395881

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4845.0

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4847.0

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4849.0

* chore: update patches

* chore: bump chromium in DEPS to 100.0.4851.0

* chore: bump chromium in DEPS to 100.0.4853.0

* update patches

* chore: update patches

* update patches

* 3383599: Fonts Access: Remove prototype that uses a font picker.

3383599

* 3404768: Remove ALLOW_UNUSED macros

3404768

* 3374762: Remove ignore_result.h

3374762

* 3399305: [unseasoned-pdf] Apply proper frame offsets for touch selections

3399305

* 3402210: [Extensions] Don't trigger unload event for already unloaded extension

3402210

* 3410912: Combine URLLoaderClient OnReceiveResponse and OnStartLoadingResponseBody.

3410912

* 3370428: Make the AuthSchemes policy support dynamic refresh

3370428

* 3407603: Finish ScopedUserPrefUpdate migration to modern base::Value

3407603

* 3378352: ozone/x11: move code from //ui/p/x11 to //ui/ozone/p/x11

3378352

* 3370810: Delete chrome/service, AKA the Cloud Print service process.

3370810

* chore: bump chromium in DEPS to 100.0.4855.0

* chore: update patches

* fixup! 3370810: Delete chrome/service, AKA the Cloud Print service process.

* revert 3348007 to fix windows build

* 3318572: [Code health] Fix gn check errors in //extensions/browser:*

3318572

* fix printing.patch

* fix iwyu issue

* 3408515: win: Make ShorcutOperation an enum class and modernize names

3408515

* 3388333: [UIA] Remove dead code accessibility_misc_utils.h/cc

3388333

* fix windows build? i hope

* patch gn visibility of //ui/ozone/platform/x11

* missing include base/logging.h

* use BUILDFLAG for USE_NSS_CERTS

3379123

* defined(OS_*) ==> BUILDFLAG(IS_*)

https://bugs.chromium.org/p/chromium/issues/detail?id=1234043

* fixup! 3404768: Remove ALLOW_UNUSED macros

* another attempt to fix windows build

* temporarily disable the custom scheme service worker test

https://github.com/electron/electron/issues/32664

* fix loading mv3 extensions

not sure what cl broke this unfort.

* fixup! 3404768: Remove ALLOW_UNUSED macros

* patch nan

3395880

* fix node test

* fix nullptr in FindPdfFrame

* patch perfetto to fix build issue on win-ia32

bc44c3c753

* fix build for linux-x64-testing-no-run-as-node

* fix patch

* skip <webview>.capturePage() test

https://github.com/electron/electron/issues/32705

* test: fix failing tests of focus/blur events of WebContents (#32711)

* inherit stdio from app module test child processes

this prevents them from timing out due to full stdout buffers

* test to see if we can get better logs on windows ci

* try again for appveyor log things

* skip contentTracing tests on ia32

* ci: disable gpu compositing

* drop applied patch

* fix merge fail

* Revert "ci: disable gpu compositing"

This reverts commit 0344129fcb19ea3e87e06c1110d751f22eba3fec.

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: VerteDinde <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2022-02-09 18:58:52 -08:00
Milan Burda
c4ea33d1bf
chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
Milan Burda
65a980c673
refactor: replace deprecated DISALLOW_COPY_AND_ASSIGN (#31633) 2021-11-03 20:41:45 +09:00
Electron Bot
8798571a77
chore: bump chromium to 0e4ca9c0a63d7a39bd910997ad4c6 (master) (#24687)
* chore: bump chromium in DEPS to 1f1c4d91f6eaa4a033ec8f499d63a0717f79a42a

* viz: Do not apply white level scaling for RGBA fp16 HDR video

2296006

* Move WebPreferences to WebContents

2263635

* Fix missing WeakPtr check in PreconnectManager

2309029

* Fixup swiftshader roll revision

* Update patch indices

* Move WebDeviceEmulationParams into common.

2303356

* Move EnableDisableDeviceEmulation to blink mojom messages

2303367

* PDF Viewer: Remove flag for two-up view

2311130

* Add mojom definition for DeviceEmulationParams.

2303491

* Remove ServiceWorkerContextWatcher from PaymentAppInstaller

2291186

* Loader: Move transferrable_url_loader.mojom into blink's mojom directory

2306123

* chore: bump chromium in DEPS to 4974f436479739025a90ebc2cc2e36d67ee1ac46

* mac: Work around Xcode 12b3 SDK bug

2315078

* Reland Update core items for macOS Big Sur.

2315162

* Update Swiftshader revision

* mac/arm64: When cross-building the snapshot, use page size of the target ISA instead of the host.

2310575

* Update patch indices

* Rename {,Non}ClientView::CanClose() to OnWindowCloseRequested()

2247838

* chore: bump chromium in DEPS to e9465d70d1dea539400f0fddad43358ea3c31d71

* chore: bump chromium in DEPS to bd5b71c5f20288eb26068a39ae6e0579566a51c5

* chore: bump chromium in DEPS to 786ee543048bd07d07c5ac50b7dbbdd6bdd8dcce

* chore: bump chromium in DEPS to 34eb6ecbf2c5894b648900bf771a2a29de204798

* chore: bump chromium in DEPS to 567ff038d68e3adb8116a01eec863cdf34d775f5

* chore: bump chromium in DEPS to 340b45c8d4ceb2dd61969fc34e1928d3c46db48c

* chore: update patches

* chore: base::DeleteFile with two params is removed

Should use base::DeleteFile and base::DeletePathRecursively when
appropriate

Refs: 2313376

* chore: add patch for NodePlatform::PostJob impl

* chore: update patches

* chore: extension file access is now instrumented

Refs: 2209995

* chore: implement SetWindowFrameInScreen in OSR RWHV

Refs: 2321409

* chore: NotifyUserActivation requires a type now

This is just for a histogram thing and therefore it does not matter what
we pass in

Refs: 2281303

* chore: update patches

* chore: bump chromium in DEPS to cd570e6dd3dcb84463ac252b04e92ceb02d8400c

* chore: update patches

* chore: bump chromium in DEPS to 0187908a31866992b90c59719ac1d016328f6ee0

* chore: bump chromium in DEPS to 3c9df38c508f3dba26a75248beed4882ddfb98e9

* chore: bump chromium in DEPS to 1a47d3b9cee710bd3c958c4f2d8b205710df9d50

* chore: bump chromium in DEPS to baac93040d96abdab72d46dd034c60f86e108702

* chore: bump chromium in DEPS to 13836145f97299e636491de38064b78861c4fb2e

* update patches

* change OS_MACOSX -> OS_MAC

Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=1105907

* patch: add header for ToExecutionContext in WebMessagePortConverter

* chore: bump chromium in DEPS to 91ab9b6ac5d04dc034a03ad847fbfa8261328c2b

* update patches

* NeedToFireBeforeUnloadOrUnload -> NeedToFireBeforeUnloadOrUnloadEvents

Refs: 2288711

* chore: bump chromium in DEPS to 290deb11f0e30cb1382fd8f8793d340560283c23

* update patches

* add dragdrop header for autofill popup

* int -> x11::Time

* patch out accessibility private API use

Refs: 2330812

* remove usage of XEvent

Refs: 2317767

* trigger recalculation of WebPreferences before renderer initialization

Refs: 2263635

* chore: bump chromium in DEPS to 6bdb484583b99c96ef3388d0c2184326581b2d5a

* chore: bump chromium in DEPS to 1eb2a79cde04fd5c8ae51b4d813e6521635269e5

* chore: bump chromium in DEPS to 3dc8e3c0f400e4ca9c0a63d7a39bd910997ad4c6

* chore: update patches

* fixup! trigger recalculation of WebPreferences before renderer initialization

* views: Make MenuButton and RadioButton default constructible

2339586

* chore: fix code style

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Andy Locascio <andy@slack-corp.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2020-08-12 11:33:58 -07:00
Jeremy Rose
734753dd7a
refactor: ginify NativeTheme (#24673) 2020-07-22 11:01:30 -07:00
Samuel Attard
fea3366bc7
fix: propagate preferred color scheme to the renderer (#22896)
* fix: do not crash if the window is closed syncronously with a nativeTheme change

* fix: propogate preferred color scheme to the renderer and keep it up to date
2020-03-30 15:39:50 -07:00
Jeremy Apthorp
d9321f4df7
chore: rename atom -> electron (#21986) 2020-02-04 12:19:40 -08:00
Renamed from shell/browser/api/atom_api_native_theme.h (Browse further)