diff options
Diffstat (limited to 'chrome/browser/gtk/go_button_gtk.h')
-rw-r--r-- | chrome/browser/gtk/go_button_gtk.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/chrome/browser/gtk/go_button_gtk.h b/chrome/browser/gtk/go_button_gtk.h index 0b41c6a..3ab3661 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_; |