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

Unified Diff: chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h

Issue 10736028: Refactor browser window zoom handling and enable zoom icon on all platforms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 4 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/cocoa/location_bar/location_bar_view_mac.h
diff --git a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h
index 0e099293d389bd684954d300307db667a1ae8ba4..4c4428f00291cf7d2098848c854c71c4810a7b4c 100644
--- a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h
+++ b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h
@@ -37,6 +37,7 @@ class Profile;
class SelectedKeywordDecoration;
class StarDecoration;
class ToolbarModel;
+class ZoomDecoration;
// A C++ bridge class that represents the location bar UI element to
// the portable code. Wires up an OmniboxViewMac instance to
@@ -92,6 +93,13 @@ class LocationBarViewMac : public LocationBar,
// Set ChromeToMobileDecoration's lit state (to update the icon).
void SetChromeToMobileDecorationLit(bool lit);
+ // Happens when the zoom changes for the active tab. |can_show_bubble| is
+ // false when the change in zoom for the active tab wasn't an explicit user
+ // action (e.g. switching tabs, creating a new tab, creating a new browser).
+ // Additionally, |can_show_bubble| will only be true when the bubble wouldn't
+ // be obscured by other UI (wrench menu) or redundant (+/- from wrench).
+ void ZoomChangedForActiveTab(bool can_show_bubble);
+
// Get the point in window coordinates on the star for the bookmark bubble to
// aim at.
NSPoint GetBookmarkBubblePoint() const;
@@ -104,6 +112,10 @@ class LocationBarViewMac : public LocationBar,
// info bubble aims.
NSPoint GetPageInfoBubblePoint() const;
+ // When any image decorations change, call this to ensure everything is
+ // redrawn and laid out if necessary.
+ void OnDecorationsChanged();
+
// Updates the location bar. Resets the bar's permanent text and
// security style, and if |should_restore_state| is true, restores
// saved state from the tab (for tab switching).
@@ -196,6 +208,9 @@ class LocationBarViewMac : public LocationBar,
// Update the Chrome To Mobile page action visibility and command state.
void UpdateChromeToMobileEnabled();
+ // Updates the zoom decoration in the omnibox with the current zoom level.
+ void UpdateZoomDecoration();
+
scoped_ptr<OmniboxViewMac> omnibox_view_;
CommandUpdater* command_updater_; // Weak, owned by Browser.
@@ -229,6 +244,10 @@ class LocationBarViewMac : public LocationBar,
// Chrome To Mobile page action icon.
scoped_ptr<ChromeToMobileDecoration> chrome_to_mobile_decoration_;
+ // A zoom icon at the end of the omnibox, which shows at non-standard zoom
+ // levels.
+ scoped_ptr<ZoomDecoration> zoom_decoration_;
+
// The installed page actions.
std::vector<ExtensionAction*> page_actions_;
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_controller.mm ('k') | chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698