Chromium Code Reviews| 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..92be8eaa3f8ad0fef4aaa4cad261322bbf66aa11 100644 |
| --- a/chrome/browser/ui/views/location_bar/zoom_bubble_view.h |
| +++ b/chrome/browser/ui/views/location_bar/zoom_bubble_view.h |
| @@ -20,6 +20,10 @@ namespace content { |
| class WebContents; |
| } |
| +namespace gfx { |
| +struct VectorIcon; |
| +} |
| + |
| namespace views { |
| class ImageButton; |
| } // namespace views |
| @@ -87,6 +91,8 @@ class ZoomBubbleView : public LocationBarBubbleDelegateView, |
| void Init() override; |
| void WindowClosing() override; |
| void CloseBubble() override; |
| + bool ShouldSnapFrameWidth() const override; |
| + gfx::Size GetPreferredSize() const override; |
|
tapted
2017/05/02 01:28:02
nit: GetPreferredSize() comes from views::View, so
varkha
2017/05/03 01:50:28
Done.
|
| // views::ButtonListener: |
| void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
| @@ -103,6 +109,14 @@ class ZoomBubbleView : public LocationBarBubbleDelegateView, |
| // the zoom change. |
| void SetExtensionInfo(const extensions::Extension* extension); |
| + // Creates an ImageButton using vector |icon|, sets a tooltip with |
| + // |tooltip_id|. Returns the button. |
| + std::unique_ptr<views::Button> CreateZoomButton(const gfx::VectorIcon& icon, |
|
tapted
2017/05/02 01:28:02
This doesn't manipulate any members - can it be pu
varkha
2017/05/03 01:50:28
Done.
|
| + int tooltip_id); |
| + |
| + // 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 +133,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. |
| + int timer_duration_; |
|
tapted
2017/05/02 01:28:02
Add units? (e.g. timer_duration_ms_), or use a bas
varkha
2017/05/03 01:50:28
I like the self documenting base::TimeDelta consts
|
| + |
| // 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 +144,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. |
| + bool ignore_close_bubble_; |
| + |
| // The immersive mode controller for the BrowserView containing |
| // |web_contents_|. |
| // Not owned. |