Chromium Code Reviews| Index: chrome/browser/ui/gtk/zoom_bubble_gtk.cc |
| diff --git a/chrome/browser/ui/gtk/zoom_bubble_gtk.cc b/chrome/browser/ui/gtk/zoom_bubble_gtk.cc |
| index f8a130a6b0ac07aa8150ceb9e47889e9a372d010..0217db82db4a25395e692b1e7081003da4d06c9b 100644 |
| --- a/chrome/browser/ui/gtk/zoom_bubble_gtk.cc |
| +++ b/chrome/browser/ui/gtk/zoom_bubble_gtk.cc |
| @@ -69,6 +69,7 @@ ZoomBubbleGtk::ZoomBubbleGtk(GtkWidget* anchor, |
| TabContents* tab_contents, |
| bool auto_close) |
| : auto_close_(auto_close), |
| + mouse_inside_(false), |
| tab_contents_(tab_contents) { |
| GtkThemeService* theme_service = |
| GtkThemeService::GetFrom(Profile::FromBrowserContext( |
| @@ -156,7 +157,7 @@ void ZoomBubbleGtk::Refresh() { |
| } |
| void ZoomBubbleGtk::StartTimerIfNecessary() { |
| - if (auto_close_) { |
| + if (auto_close_ && !mouse_inside_) { |
|
Evan Stade
2012/09/11 08:28:56
prefer
if (!auto_close_ || mouse_inside_)
retur
Dan Beam
2012/09/11 16:33:41
Done.
|
| if (timer_.IsRunning()) { |
| timer_.Reset(); |
| } else { |
| @@ -195,11 +196,13 @@ void ZoomBubbleGtk::OnSetDefaultLinkClick(GtkWidget* widget) { |
| gboolean ZoomBubbleGtk::OnMouseEnter(GtkWidget* widget, |
| GdkEventCrossing* event) { |
| StopTimerIfNecessary(); |
| + mouse_inside_ = true; |
| return FALSE; |
| } |
| gboolean ZoomBubbleGtk::OnMouseLeave(GtkWidget* widget, |
| GdkEventCrossing* event) { |
| StartTimerIfNecessary(); |
| + mouse_inside_ = false; |
|
Evan Stade
2012/09/11 08:28:56
wouldn't you need to put this before StartTimerIfN
Dan Beam
2012/09/11 16:33:41
Done.
|
| return FALSE; |
| } |