From 81c17ef684c37f4ee1846cf96ffdc4a9948ce3cb Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 15:31:36 -0500 Subject: [PATCH] fix: accentColor set distinguishes the frame (#48450) * fix: accentColor set distinguishes the frame Co-authored-by: zoy * chore: invalid change Co-authored-by: zoy * fix: lint Co-authored-by: zoy --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: zoy --- shell/browser/native_window_views_win.cc | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/shell/browser/native_window_views_win.cc b/shell/browser/native_window_views_win.cc index d2229721567..400d140fd58 100644 --- a/shell/browser/native_window_views_win.cc +++ b/shell/browser/native_window_views_win.cc @@ -31,15 +31,15 @@ namespace electron { namespace { -void SetWindowBorderAndCaptionColor(HWND hwnd, COLORREF color) { - if (base::win::GetVersion() < base::win::Version::WIN11) - return; +void SetWindowBorderAndCaptionColor(HWND hwnd, COLORREF color, bool has_frame) { + HRESULT result; + if (has_frame) { + result = + DwmSetWindowAttribute(hwnd, DWMWA_CAPTION_COLOR, &color, sizeof(color)); - HRESULT result = - DwmSetWindowAttribute(hwnd, DWMWA_CAPTION_COLOR, &color, sizeof(color)); - - if (FAILED(result)) - LOG(WARNING) << "Failed to set caption color"; + if (FAILED(result)) + LOG(WARNING) << "Failed to set caption color"; + } result = DwmSetWindowAttribute(hwnd, DWMWA_BORDER_COLOR, &color, sizeof(color)); @@ -591,7 +591,8 @@ void NativeWindowViews::UpdateWindowAccentColor(bool active) { } COLORREF final_color = border_color.value_or(DWMWA_COLOR_DEFAULT); - SetWindowBorderAndCaptionColor(GetAcceleratedWidget(), final_color); + SetWindowBorderAndCaptionColor(GetAcceleratedWidget(), final_color, + has_frame()); } void NativeWindowViews::SetAccentColor(