| Index: chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
|
| diff --git a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
|
| index ce77e5c4e63a00b0a4c1140f94ef3ee82dfb4299..249120a84fba865d93935ef75ebdc86440264bde 100644
|
| --- a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
|
| +++ b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
|
| @@ -46,6 +46,7 @@
|
| #import "chrome/browser/ui/cocoa/location_bar/plus_decoration.h"
|
| #import "chrome/browser/ui/cocoa/location_bar/selected_keyword_decoration.h"
|
| #import "chrome/browser/ui/cocoa/location_bar/star_decoration.h"
|
| +#import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
|
| #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
|
| #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h"
|
| #include "chrome/browser/ui/content_settings/content_setting_image_model.h"
|
| @@ -101,6 +102,7 @@ LocationBarViewMac::LocationBarViewMac(
|
| plus_decoration_(NULL),
|
| star_decoration_(new StarDecoration(command_updater)),
|
| chrome_to_mobile_decoration_(nil),
|
| + zoom_decoration_(new ZoomDecoration(toolbar_model)),
|
| keyword_hint_decoration_(
|
| new KeywordHintDecoration(OmniboxViewMac::GetFieldFont())),
|
| profile_(profile),
|
| @@ -248,6 +250,7 @@ void LocationBarViewMac::Update(const WebContents* contents,
|
| command_updater_->UpdateCommandEnabled(IDC_BOOKMARK_PAGE, star_enabled);
|
| star_decoration_->SetVisible(star_enabled);
|
| UpdateChromeToMobileEnabled();
|
| + UpdateZoomDecoration();
|
| RefreshPageActionDecorations();
|
| RefreshContentSettingsDecorations();
|
| // OmniboxView restores state if the tab is non-NULL.
|
| @@ -460,6 +463,7 @@ void LocationBarViewMac::SetEditable(bool editable) {
|
| [field_ setEditable:editable ? YES : NO];
|
| star_decoration_->SetVisible(IsStarEnabled());
|
| UpdateChromeToMobileEnabled();
|
| + UpdateZoomDecoration();
|
| UpdatePageActions();
|
| Layout();
|
| }
|
| @@ -468,9 +472,7 @@ bool LocationBarViewMac::IsEditable() {
|
| return [field_ isEditable] ? true : false;
|
| }
|
|
|
| -void LocationBarViewMac::SetStarred(bool starred) {
|
| - star_decoration_->SetStarred(starred);
|
| -
|
| +void LocationBarViewMac::OnImageDecorationsChanged() {
|
| // TODO(shess): The field-editor frame and cursor rects should not
|
| // change, here.
|
| [field_ updateCursorAndToolTipRects];
|
| @@ -478,14 +480,22 @@ void LocationBarViewMac::SetStarred(bool starred) {
|
| [field_ setNeedsDisplay:YES];
|
| }
|
|
|
| +void LocationBarViewMac::SetStarred(bool starred) {
|
| + star_decoration_->SetStarred(starred);
|
| + OnImageDecorationsChanged();
|
| +}
|
| +
|
| void LocationBarViewMac::SetChromeToMobileDecorationLit(bool lit) {
|
| chrome_to_mobile_decoration_->SetLit(lit);
|
| + OnImageDecorationsChanged();
|
| +}
|
|
|
| - // TODO(shess): The field-editor frame and cursor rects should not
|
| - // change, here.
|
| - [field_ updateCursorAndToolTipRects];
|
| - [field_ resetFieldEditorFrameIfNeeded];
|
| - [field_ setNeedsDisplay:YES];
|
| +void LocationBarViewMac::ZoomChangedForActiveTab(bool can_show_bubble) {
|
| + UpdateZoomDecoration();
|
| + OnImageDecorationsChanged();
|
| +
|
| + // TODO(dbeam): show a zoom bubble when the wrench menu's not open and it's
|
| + // appropriate to do so.
|
| }
|
|
|
| NSPoint LocationBarViewMac::GetBookmarkBubblePoint() const {
|
| @@ -651,6 +661,7 @@ void LocationBarViewMac::Layout() {
|
| if (plus_decoration_.get())
|
| [cell addRightDecoration:plus_decoration_.get()];
|
| [cell addRightDecoration:star_decoration_.get()];
|
| + [cell addRightDecoration:zoom_decoration_.get()];
|
| if (chrome_to_mobile_decoration_.get())
|
| [cell addRightDecoration:chrome_to_mobile_decoration_.get()];
|
|
|
| @@ -735,3 +746,11 @@ void LocationBarViewMac::UpdateChromeToMobileEnabled() {
|
| chrome_to_mobile_decoration_->SetVisible(enabled);
|
| command_updater_->UpdateCommandEnabled(IDC_CHROME_TO_MOBILE_PAGE, enabled);
|
| }
|
| +
|
| +void LocationBarViewMac::UpdateZoomDecoration() {
|
| + TabContents* tab_contents = GetTabContents();
|
| + if (!zoom_decoration_.get() || !tab_contents)
|
| + return;
|
| +
|
| + zoom_decoration_->Update(tab_contents->zoom_controller());
|
| +}
|
|
|