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 |