Index: chrome/browser/gtk/reload_button_gtk.cc |
=================================================================== |
--- chrome/browser/gtk/reload_button_gtk.cc (revision 56726) |
+++ chrome/browser/gtk/reload_button_gtk.cc (working copy) |
@@ -38,12 +38,12 @@ |
gtk_widget_set_app_paintable(widget_.get(), TRUE); |
+ g_signal_connect(widget_.get(), "clicked", |
+ G_CALLBACK(OnClickedThunk), this); |
g_signal_connect(widget_.get(), "expose-event", |
G_CALLBACK(OnExposeThunk), this); |
g_signal_connect(widget_.get(), "leave-notify-event", |
G_CALLBACK(OnLeaveNotifyThunk), this); |
- g_signal_connect(widget_.get(), "clicked", |
- G_CALLBACK(OnClickedThunk), this); |
GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS); |
gtk_widget_set_has_tooltip(widget_.get(), TRUE); |
@@ -76,9 +76,9 @@ |
!timer_running() : (visible_mode_ != MODE_STOP))) { |
timer_.Stop(); |
visible_mode_ = mode; |
- gtk_widget_queue_draw(widget_.get()); |
UpdateThemeButtons(); |
+ gtk_widget_queue_draw(widget_.get()); |
} |
} |
@@ -98,20 +98,6 @@ |
ChangeMode(intended_mode_, true); |
} |
-gboolean ReloadButtonGtk::OnExpose(GtkWidget* widget, |
- GdkEventExpose* e) { |
- if (theme_provider_ && theme_provider_->UseGtkTheme()) |
- return FALSE; |
- return ((visible_mode_ == MODE_RELOAD) ? reload_ : stop_).OnExpose( |
- widget, e, hover_controller_.GetCurrentValue()); |
-} |
- |
-gboolean ReloadButtonGtk::OnLeaveNotify(GtkWidget* widget, |
- GdkEventCrossing* event) { |
- ChangeMode(intended_mode_, true); |
- return FALSE; |
-} |
- |
void ReloadButtonGtk::OnClicked(GtkWidget* sender) { |
if (visible_mode_ == MODE_STOP) { |
if (browser_) |
@@ -154,18 +140,31 @@ |
NULL); |
} |
- // Stop the timer. |
- timer_.Stop(); |
- |
// Start a timer - while this timer is running, the reload button cannot be |
// changed to a stop button. We do not set |intended_mode_| to MODE_STOP |
// here as we want to wait for the browser to tell us that it has started |
// loading (and this may occur only after some delay). |
+ timer_.Stop(); |
timer_.Start(base::TimeDelta::FromMilliseconds(button_delay_), this, |
&ReloadButtonGtk::OnButtonTimer); |
} |
} |
+gboolean ReloadButtonGtk::OnExpose(GtkWidget* widget, |
+ GdkEventExpose* e) { |
+ if (theme_provider_ && theme_provider_->UseGtkTheme()) |
+ return FALSE; |
+ return ((visible_mode_ == MODE_RELOAD) ? reload_ : stop_).OnExpose( |
+ widget, e, hover_controller_.GetCurrentValue()); |
+} |
+ |
+gboolean ReloadButtonGtk::OnLeaveNotify(GtkWidget* widget, |
+ GdkEventCrossing* event) { |
+ is_mouse_hovered_ = false; |
+ ChangeMode(intended_mode_, false); |
+ return FALSE; |
+} |
+ |
gboolean ReloadButtonGtk::OnQueryTooltip(GtkWidget* sender, |
gint x, |
gint y, |