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

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

Powered by Google App Engine
This is Rietveld 408576698