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. |