Index: chrome/browser/gtk/go_button_gtk.h |
diff --git a/chrome/browser/gtk/go_button_gtk.h b/chrome/browser/gtk/go_button_gtk.h |
index 0b41c6a38d8a26a5e5b545ed658e8cfe3745e24c..3ab3661044a634486b26b5e8b23e735f9c831a4b 100644 |
--- a/chrome/browser/gtk/go_button_gtk.h |
+++ b/chrome/browser/gtk/go_button_gtk.h |
@@ -10,13 +10,16 @@ |
#include "base/basictypes.h" |
#include "base/task.h" |
#include "chrome/browser/gtk/custom_button.h" |
+#include "chrome/common/notification_observer.h" |
+#include "chrome/common/notification_registrar.h" |
#include "chrome/common/owned_widget_gtk.h" |
class Browser; |
+class GtkThemeProvider; |
class LocationBarViewGtk; |
class Task; |
-class GoButtonGtk { |
+class GoButtonGtk : public NotificationObserver { |
public: |
enum Mode { MODE_GO = 0, MODE_STOP }; |
enum ButtonState { BS_NORMAL = 0, BS_HOT }; |
@@ -31,6 +34,11 @@ class GoButtonGtk { |
// immediately. |
void ChangeMode(Mode mode, bool force); |
+ // Provide NotificationObserver implementation. |
+ virtual void Observe(NotificationType type, |
+ const NotificationSource& source, |
+ const NotificationDetails& details); |
+ |
private: |
friend class GoButtonGtkPeer; |
@@ -47,6 +55,10 @@ class GoButtonGtk { |
Task* CreateButtonTimerTask(); |
void OnButtonTimer(); |
void SetTooltip(); |
+ void UpdateThemeButtons(); |
+ |
+ // Used to listen for theme change notifications. |
+ NotificationRegistrar registrar_; |
LocationBarViewGtk* const location_bar_; |
@@ -66,6 +78,8 @@ class GoButtonGtk { |
ButtonState state_; |
+ GtkThemeProvider* theme_provider_; |
+ |
CustomDrawButtonBase go_; |
CustomDrawButtonBase stop_; |