Index: components/zoom/zoom_controller.cc |
diff --git a/components/zoom/zoom_controller.cc b/components/zoom/zoom_controller.cc |
index dd3dafcd4b2298d14c6178ecb6fabed7fdd7bc00..0242a3510bc6fd5b5accbdc610ff510c56b418c5 100644 |
--- a/components/zoom/zoom_controller.cc |
+++ b/components/zoom/zoom_controller.cc |
@@ -347,8 +347,12 @@ void ZoomController::UpdateState(const std::string& host) { |
ZoomChangedEventData zoom_change_data = *event_data_; |
event_data_.reset(); |
// The zoom bubble should not be shown for zoom changes where the host |
- // is empty. |
- zoom_change_data.can_show_bubble = can_show_bubble_ && !host.empty(); |
+ // is empty or when zoom level is not changed from default. |
+ const bool changed_from_default = |
+ zoom_change_data.new_zoom_level != zoom_change_data.old_zoom_level || |
+ zoom_change_data.new_zoom_level != GetDefaultZoomLevel(); |
+ zoom_change_data.can_show_bubble = |
+ can_show_bubble_ && !host.empty() && changed_from_default; |
for (auto& observer : observers_) |
observer.OnZoomChanged(zoom_change_data); |
} else { |