Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: chrome/browser/themes/theme_service_win.h

Issue 2541873004: Change default frame colors. Change custom titlebar colors on Windows. (Closed)
Patch Set: final osx behavior Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/themes/theme_properties.cc ('k') | chrome/browser/themes/theme_service_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_THEMES_THEME_SERVICE_WIN_H_ 5 #ifndef CHROME_BROWSER_THEMES_THEME_SERVICE_WIN_H_
6 #define CHROME_BROWSER_THEMES_THEME_SERVICE_WIN_H_ 6 #define CHROME_BROWSER_THEMES_THEME_SERVICE_WIN_H_
7 7
8 #include "base/win/registry.h" 8 #include "base/win/registry.h"
9 #include "chrome/browser/themes/theme_service.h" 9 #include "chrome/browser/themes/theme_service.h"
10 10
11 // Tracks updates to the native colors on Windows 10 and calcuates the values we
12 // should use (which are not always what Windows uses). None of the values here
13 // are relevant to earlier versions of Windows.
11 class ThemeServiceWin : public ThemeService { 14 class ThemeServiceWin : public ThemeService {
12 public: 15 public:
13 ThemeServiceWin(); 16 ThemeServiceWin();
14 ~ThemeServiceWin() override; 17 ~ThemeServiceWin() override;
15 18
16 private: 19 private:
17 // ThemeService: 20 // ThemeService:
18 bool ShouldUseNativeFrame() const override; 21 bool ShouldUseNativeFrame() const override;
19 SkColor GetDefaultColor(int id, bool incognito) const override; 22 SkColor GetDefaultColor(int id, bool incognito) const override;
20 23
21 // Returns true if the window frame color is determined by the DWM, i.e. this 24 // Returns true if colors from DWM can be used, i.e. this is a native frame
22 // is a native frame on Windows 10. 25 // on Windows 10.
23 bool ShouldUseDwmFrameColor() const; 26 bool DwmColorsAllowed() const;
24 27
25 // Callback executed when |dwm_key_| is updated. This re-reads the active 28 // Callback executed when |dwm_key_| is updated. This re-reads the active
26 // frame color and updates |dwm_frame_color_|. 29 // frame color and updates |use_dwm_frame_color_|, |dwm_frame_color_| and
30 // |dwm_inactive_frame_color_|.
27 void OnDwmKeyUpdated(); 31 void OnDwmKeyUpdated();
28 32
29 // Registry key containing the params that determine the DWM frame color. 33 // Registry key containing the params that determine the DWM frame color.
30 // This is only initialized on Windows 10.
31 std::unique_ptr<base::win::RegKey> dwm_key_; 34 std::unique_ptr<base::win::RegKey> dwm_key_;
32 35
33 // The DWM frame color, if available; white otherwise. 36 // True if the frame should be colored using the DWM values here. False if the
37 // default frame colors should be used instead.
38 bool use_dwm_frame_color_;
39
40 // The frame color when active.
34 SkColor dwm_frame_color_; 41 SkColor dwm_frame_color_;
35 42
43 // The frame color when inactive.
44 SkColor dwm_inactive_frame_color_;
45
36 // The DWM accent border color, if available; white otherwise. 46 // The DWM accent border color, if available; white otherwise.
37 SkColor dwm_accent_border_color_; 47 SkColor dwm_accent_border_color_;
38 48
39 DISALLOW_COPY_AND_ASSIGN(ThemeServiceWin); 49 DISALLOW_COPY_AND_ASSIGN(ThemeServiceWin);
40 }; 50 };
41 51
42 #endif // CHROME_BROWSER_THEMES_THEME_SERVICE_WIN_H_ 52 #endif // CHROME_BROWSER_THEMES_THEME_SERVICE_WIN_H_
OLDNEW
« no previous file with comments | « chrome/browser/themes/theme_properties.cc ('k') | chrome/browser/themes/theme_service_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698