Index: chrome/browser/ui/panels/panel_mouse_watcher.cc |
diff --git a/chrome/browser/ui/panels/panel_mouse_watcher.cc b/chrome/browser/ui/panels/panel_mouse_watcher.cc |
index b55ca7623ebcc4322de28bc54fae2a97c4f67b9b..17746586ec5d0326e1499ca1b8d399626ffdf2d0 100644 |
--- a/chrome/browser/ui/panels/panel_mouse_watcher.cc |
+++ b/chrome/browser/ui/panels/panel_mouse_watcher.cc |
@@ -14,15 +14,16 @@ PanelMouseWatcher::~PanelMouseWatcher() { |
} |
void PanelMouseWatcher::AddObserver(PanelMouseWatcherObserver* observer) { |
+ bool already_started = observers_.might_have_observers(); |
observers_.AddObserver(observer); |
- if (observers_.size() == 1) |
+ if (!already_started) |
Start(); |
} |
void PanelMouseWatcher::RemoveObserver(PanelMouseWatcherObserver* observer) { |
DCHECK(observers_.HasObserver(observer)); |
observers_.RemoveObserver(observer); |
- if (observers_.size() == 0) |
+ if (!observers_.might_have_observers()) |
Stop(); |
} |