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 51c108765d7c96b2033e83c1de1deb395c57e094..596c5fc1b083a22a9b16ce9f7b0b523777d1fd75 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 |
@@ -38,6 +38,7 @@ class SelectedKeywordDecoration; |
class SkBitmap; |
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 OnImageDecorationsChanged(); |
+ |
// 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). |
@@ -193,6 +205,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. |
@@ -226,6 +241,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_; |