| Index: chrome/browser/cocoa/location_bar_view_mac.mm
|
| diff --git a/chrome/browser/cocoa/location_bar_view_mac.mm b/chrome/browser/cocoa/location_bar_view_mac.mm
|
| index c9584a06e264bc7b5d3a25a78e564bf3893403f5..3cbc49f4509ae2816a459995902262da150ed318 100644
|
| --- a/chrome/browser/cocoa/location_bar_view_mac.mm
|
| +++ b/chrome/browser/cocoa/location_bar_view_mac.mm
|
| @@ -105,6 +105,7 @@ LocationBarViewMac::LocationBarViewMac(
|
| disposition_(CURRENT_TAB),
|
| location_icon_view_(this),
|
| security_label_view_(),
|
| + star_icon_view_(command_updater),
|
| page_action_views_(this, profile, toolbar_model),
|
| profile_(profile),
|
| browser_(browser),
|
| @@ -121,6 +122,7 @@ LocationBarViewMac::LocationBarViewMac(
|
| AutocompleteTextFieldCell* cell = [field_ autocompleteTextFieldCell];
|
| [cell setLocationIconView:&location_icon_view_];
|
| [cell setSecurityLabelView:&security_label_view_];
|
| + [cell setStarIconView:&star_icon_view_];
|
| [cell setPageActionViewList:&page_action_views_];
|
| [cell setContentSettingViewsList:&content_setting_views_];
|
|
|
| @@ -135,6 +137,7 @@ LocationBarViewMac::~LocationBarViewMac() {
|
| [cell setPageActionViewList:NULL];
|
| [cell setLocationIconView:NULL];
|
| [cell setSecurityLabelView:NULL];
|
| + [cell setStarIconView:NULL];
|
| }
|
|
|
| std::wstring LocationBarViewMac::GetInputString() const {
|
| @@ -449,6 +452,12 @@ void LocationBarViewMac::TestPageActionPressed(size_t index) {
|
| page_action_views_.OnMousePressed(NSZeroRect, index);
|
| }
|
|
|
| +void LocationBarViewMac::SetStarred(bool starred) {
|
| + star_icon_view_.SetStarred(starred);
|
| + [field_ updateCursorAndToolTipRects];
|
| + [field_ resetFieldEditorFrameIfNeeded];
|
| +}
|
| +
|
| NSImage* LocationBarViewMac::GetTabButtonImage() {
|
| if (!tab_button_image_) {
|
| SkBitmap* skiaBitmap = ResourceBundle::GetSharedInstance().
|
| @@ -468,8 +477,7 @@ void LocationBarViewMac::SetIcon(int resource_id) {
|
| !edit_view_->model()->is_keyword_hint()) {
|
| location_icon_view_.SetVisible(false);
|
| } else {
|
| - location_icon_view_.SetImage(
|
| - ResourceBundle::GetSharedInstance().GetNSImageNamed(resource_id));
|
| + location_icon_view_.SetIcon(resource_id);
|
| location_icon_view_.SetVisible(true);
|
| SetSecurityLabel();
|
| }
|
| @@ -541,8 +549,9 @@ void LocationBarViewMac::LocationBarImageView::SetImage(NSImage* image) {
|
| image_.reset([image retain]);
|
| }
|
|
|
| -void LocationBarViewMac::LocationBarImageView::SetImage(SkBitmap* image) {
|
| - SetImage(gfx::SkBitmapToNSImage(*image));
|
| +void LocationBarViewMac::LocationBarImageView::SetIcon(int resource_id) {
|
| + ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| + SetImage(rb.GetNSImageNamed(resource_id));
|
| }
|
|
|
| void LocationBarViewMac::LocationBarImageView::SetLabel(NSString* text,
|
| @@ -600,6 +609,34 @@ void LocationBarViewMac::LocationIconView::OnMousePressed(NSRect bounds) {
|
| tab->ShowPageInfo(nav_entry->url(), nav_entry->ssl(), true);
|
| }
|
|
|
| +// StarIconView-----------------------------------------------------------------
|
| +
|
| +LocationBarViewMac::StarIconView::StarIconView(CommandUpdater* command_updater)
|
| + : command_updater_(command_updater) {
|
| + SetVisible(true);
|
| + SetStarred(false);
|
| +}
|
| +
|
| +void LocationBarViewMac::StarIconView::SetStarred(bool starred) {
|
| + if (starred) {
|
| + SetIcon(IDR_STARRED_NOBORDER_CENTER);
|
| + tooltip_.reset(
|
| + [l10n_util::GetNSStringWithFixup(IDS_TOOLTIP_STARRED) retain]);
|
| + } else {
|
| + SetIcon(IDR_STAR_NOBORDER_CENTER);
|
| + tooltip_.reset(
|
| + [l10n_util::GetNSStringWithFixup(IDS_TOOLTIP_STAR) retain]);
|
| + }
|
| +}
|
| +
|
| +void LocationBarViewMac::StarIconView::OnMousePressed(NSRect bounds) {
|
| + command_updater_->ExecuteCommand(IDC_BOOKMARK_PAGE);
|
| +}
|
| +
|
| +const NSString* LocationBarViewMac::StarIconView::GetToolTip() {
|
| + return tooltip_.get();
|
| +}
|
| +
|
| // PageActionImageView----------------------------------------------------------
|
|
|
| LocationBarViewMac::PageActionImageView::PageActionImageView(
|
| @@ -853,10 +890,9 @@ void LocationBarViewMac::ContentSettingImageView::UpdateFromTabContents(
|
| const TabContents* tab_contents) {
|
| content_setting_image_model_->UpdateFromTabContents(tab_contents);
|
| if (content_setting_image_model_->is_visible()) {
|
| - ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| // TODO(thakis): We should use pdfs for these icons on OSX.
|
| // http://crbug.com/35847
|
| - SetImage(rb.GetNSImageNamed(content_setting_image_model_->get_icon()));
|
| + SetIcon(content_setting_image_model_->get_icon());
|
| SetToolTip(base::SysUTF8ToNSString(
|
| content_setting_image_model_->get_tooltip()));
|
| SetVisible(true);
|
|
|