From efb54324a4a1719a3b9e49e5e0ec6450b92bcd8e Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 12:45:43 +0200 Subject: [PATCH] fix: system accent color parsing hex order (#48107) fix: system accent color parsing Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr --- shell/common/color_util.cc | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/shell/common/color_util.cc b/shell/common/color_util.cc index c0b3f68367d5..80c998b86b27 100644 --- a/shell/common/color_util.cc +++ b/shell/common/color_util.cc @@ -12,6 +12,8 @@ #if BUILDFLAG(IS_WIN) #include + +#include "base/win/registry.h" #endif namespace { @@ -68,12 +70,18 @@ std::string ToRGBAHex(SkColor color, bool include_hash) { #if BUILDFLAG(IS_WIN) std::optional GetSystemAccentColor() { - DWORD color = 0; - BOOL opaque = FALSE; - - if (FAILED(DwmGetColorizationColor(&color, &opaque))) + base::win::RegKey key; + if (key.Open(HKEY_CURRENT_USER, L"SOFTWARE\\Microsoft\\Windows\\DWM", + KEY_READ) != ERROR_SUCCESS) { return std::nullopt; - return color; + } + + DWORD accent_color = 0; + if (key.ReadValueDW(L"AccentColor", &accent_color) != ERROR_SUCCESS) { + return std::nullopt; + } + + return accent_color; } #endif