Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: chrome/browser/ui/views/location_bar/zoom_bubble_view.h

Issue 2845593002: Updates Zoom bubble layout and adds +/- buttons (Closed)
Patch Set: Updates Zoom bubble layout and adds +/- buttons (comments) Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/location_bar/zoom_bubble_view.h
diff --git a/chrome/browser/ui/views/location_bar/zoom_bubble_view.h b/chrome/browser/ui/views/location_bar/zoom_bubble_view.h
index 1d2f2754faa15be9f6d1a83274df8b52af720df5..8b4a985016e3d2f010c2e78e63cedd062125a4ed 100644
--- a/chrome/browser/ui/views/location_bar/zoom_bubble_view.h
+++ b/chrome/browser/ui/views/location_bar/zoom_bubble_view.h
@@ -81,12 +81,14 @@ class ZoomBubbleView : public LocationBarBubbleDelegateView,
~ZoomBubbleView() override;
// LocationBarBubbleDelegateView:
+ gfx::Size GetPreferredSize() const override;
void OnGestureEvent(ui::GestureEvent* event) override;
void OnMouseEntered(const ui::MouseEvent& event) override;
void OnMouseExited(const ui::MouseEvent& event) override;
void Init() override;
void WindowClosing() override;
void CloseBubble() override;
+ bool ShouldSnapFrameWidth() const override;
// views::ButtonListener:
void ButtonPressed(views::Button* sender, const ui::Event& event) override;
@@ -103,6 +105,9 @@ class ZoomBubbleView : public LocationBarBubbleDelegateView,
// the zoom change.
void SetExtensionInfo(const extensions::Extension* extension);
+ // Updates |label_| with the up to date zoom.
+ void UpdateZoomPercent();
+
// Starts a timer which will close the bubble if |auto_close_| is true.
void StartTimerIfNecessary();
@@ -119,6 +124,9 @@ class ZoomBubbleView : public LocationBarBubbleDelegateView,
// Timer used to auto close the bubble.
base::OneShotTimer timer_;
+ // Timer duration that is made longer if a user presses + or - buttons.
+ base::TimeDelta auto_close_duration_;
+
// Image button in the zoom bubble that will show the |extension_icon_| image
// if an extension initiated the zoom change, and links to that extension at
// "chrome://extensions".
@@ -127,12 +135,20 @@ class ZoomBubbleView : public LocationBarBubbleDelegateView,
// Label displaying the zoom percentage.
views::Label* label_;
+ // Action buttons that can change zoom.
+ views::Button* zoom_out_button_;
+ views::Button* zoom_in_button_;
+ views::Button* reset_button_;
+
// The WebContents for the page whose zoom has changed.
content::WebContents* web_contents_;
// Whether the currently displayed bubble will automatically close.
bool auto_close_;
+ // True when handling a button click event.
Peter Kasting 2017/05/05 23:50:40 Nit: Maybe "Used to ignore close requests generate
varkha 2017/05/15 22:34:42 Done.
+ bool ignore_close_bubble_;
+
// The immersive mode controller for the BrowserView containing
// |web_contents_|.
// Not owned.

Powered by Google App Engine
This is Rietveld 408576698