Chromium Code Reviews| Index: ui/native_theme/native_theme.cc |
| diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc |
| index 8cb845cc3069a2459d29dc4f035b3a309c85f22e..018843546030d183e3a798483865f9834b61fc3e 100644 |
| --- a/ui/native_theme/native_theme.cc |
| +++ b/ui/native_theme/native_theme.cc |
| @@ -6,6 +6,8 @@ |
| namespace ui { |
| +NativeThemeObserver::~NativeThemeObserver() {} |
| + |
| void NativeTheme::SetScrollbarColors(unsigned inactive_color, |
| unsigned active_color, |
| unsigned track_color) { |
| @@ -17,12 +19,30 @@ void NativeTheme::SetScrollbarColors(unsigned inactive_color, |
| // NativeTheme::instance() is implemented in the platform specific source files, |
| // such as native_theme_win.cc or native_theme_linux.cc |
| +void NativeTheme::AddObserver(NativeThemeObserver* observer) { |
| + native_theme_observers_.AddObserver(observer); |
| +} |
| + |
| +void NativeTheme::RemoveObserver(NativeThemeObserver* observer) { |
| + native_theme_observers_.RemoveObserver(observer); |
| +} |
| + |
| +void NativeTheme::OnNativeThemeChange() { |
| + FOR_EACH_OBSERVER(NativeThemeObserver, native_theme_observers_, |
| + OnNativeThemeChange()); |
| +} |
| + |
| NativeTheme::NativeTheme() |
| : thumb_inactive_color_(0xeaeaea), |
| thumb_active_color_(0xf4f4f4), |
| - track_color_(0xd3d3d3) { |
| + track_color_(0xd3d3d3), |
| + color_change_listener_(this) { |
| } |
| NativeTheme::~NativeTheme() {} |
| +void NativeTheme::OnSysColorChange() { |
| + OnNativeThemeChange(); |
|
Evan Stade
2014/04/22 17:43:44
The native theme won't always change just because
msw
2014/04/22 19:48:58
Sadly, I'd have to do this for NativeThemeWin and
Evan Stade
2014/04/22 21:09:18
I don't mind that you'd have to do this in more th
msw
2014/04/23 00:34:04
I moved this over to NativeThemeWin; the observati
|
| +} |
| + |
| } // namespace ui |