| Index: chrome/browser/cocoa/location_bar/location_bar_view_mac.mm
|
| diff --git a/chrome/browser/cocoa/location_bar/location_bar_view_mac.mm b/chrome/browser/cocoa/location_bar/location_bar_view_mac.mm
|
| index a09d612ea4a632651042a86dbf4255c094f52f79..c6eccaadbfa49a61c1b9f8c99e575661b6880f7e 100644
|
| --- a/chrome/browser/cocoa/location_bar/location_bar_view_mac.mm
|
| +++ b/chrome/browser/cocoa/location_bar/location_bar_view_mac.mm
|
| @@ -25,6 +25,7 @@
|
| #import "chrome/browser/cocoa/location_bar/autocomplete_text_field_cell.h"
|
| #import "chrome/browser/cocoa/location_bar/content_setting_decoration.h"
|
| #import "chrome/browser/cocoa/location_bar/ev_bubble_decoration.h"
|
| +#import "chrome/browser/cocoa/location_bar/keyword_hint_decoration.h"
|
| #import "chrome/browser/cocoa/location_bar/location_icon_decoration.h"
|
| #import "chrome/browser/cocoa/location_bar/page_action_decoration.h"
|
| #import "chrome/browser/cocoa/location_bar/selected_keyword_decoration.h"
|
| @@ -73,6 +74,7 @@ LocationBarViewMac::LocationBarViewMac(
|
| new EVBubbleDecoration(location_icon_decoration_.get(),
|
| [field_ font])),
|
| star_decoration_(new StarDecoration(command_updater)),
|
| + keyword_hint_decoration_(new KeywordHintDecoration([field_ font])),
|
| profile_(profile),
|
| browser_(browser),
|
| toolbar_model_(toolbar_model),
|
| @@ -377,17 +379,6 @@ NSPoint LocationBarViewMac::GetBookmarkBubblePoint() const {
|
| return [field_ convertPoint:point toView:nil];
|
| }
|
|
|
| -NSImage* LocationBarViewMac::GetTabButtonImage() {
|
| - if (!tab_button_image_) {
|
| - SkBitmap* skiaBitmap = ResourceBundle::GetSharedInstance().
|
| - GetBitmapNamed(IDR_LOCATION_BAR_KEYWORD_HINT_TAB);
|
| - if (skiaBitmap) {
|
| - tab_button_image_.reset([gfx::SkBitmapToNSImage(*skiaBitmap) retain]);
|
| - }
|
| - }
|
| - return tab_button_image_;
|
| -}
|
| -
|
| NSImage* LocationBarViewMac::GetKeywordImage(const std::wstring& keyword) {
|
| const TemplateURL* template_url =
|
| profile_->GetTemplateURLModel()->GetTemplateURLForKeyword(keyword);
|
| @@ -504,10 +495,13 @@ void LocationBarViewMac::Layout() {
|
| [cell addRightDecoration:content_setting_decorations_[i]];
|
| }
|
|
|
| + [cell addRightDecoration:keyword_hint_decoration_.get()];
|
| +
|
| // By default only the location icon is visible.
|
| location_icon_decoration_->SetVisible(true);
|
| selected_keyword_decoration_->SetVisible(false);
|
| ev_bubble_decoration_->SetVisible(false);
|
| + keyword_hint_decoration_->SetVisible(false);
|
|
|
| // Get the keyword to use for keyword-search and hinting.
|
| const std::wstring keyword(edit_view_->model()->keyword());
|
| @@ -526,9 +520,6 @@ void LocationBarViewMac::Layout() {
|
| selected_keyword_decoration_->SetVisible(true);
|
| selected_keyword_decoration_->SetKeyword(short_name, is_extension_keyword);
|
| selected_keyword_decoration_->SetImage(GetKeywordImage(keyword));
|
| -
|
| - // TODO(shess): This goes away once the hints are decorations.
|
| - [cell clearHint];
|
| } else if (toolbar_model_->GetSecurityLevel() == ToolbarModel::EV_SECURE) {
|
| // Switch from location icon to show the EV bubble instead.
|
| location_icon_decoration_->SetVisible(false);
|
| @@ -536,38 +527,9 @@ void LocationBarViewMac::Layout() {
|
|
|
| std::wstring label(toolbar_model_->GetEVCertName());
|
| ev_bubble_decoration_->SetLabel(base::SysWideToNSString(label));
|
| -
|
| - // TODO(shess): This goes away once the hints are decorations.
|
| - [cell clearHint];
|
| } else if (!keyword.empty() && is_keyword_hint) {
|
| - // Keyword is a hint, like "Press [Tab] to search Engine". [Tab]
|
| - // is a parameter to be replaced by an image. "Engine" is a
|
| - // parameter to be replaced by text based on the keyword.
|
| - std::vector<size_t> content_param_offsets;
|
| - int message_id = is_extension_keyword ?
|
| - IDS_OMNIBOX_EXTENSION_KEYWORD_HINT : IDS_OMNIBOX_KEYWORD_HINT;
|
| - const std::wstring keyword_hint(
|
| - l10n_util::GetStringF(message_id,
|
| - std::wstring(), short_name,
|
| - &content_param_offsets));
|
| -
|
| - // Should always be 2 offsets, see the comment in
|
| - // location_bar_view.cc after IDS_OMNIBOX_KEYWORD_HINT fetch.
|
| - DCHECK_EQ(content_param_offsets.size(), 2U);
|
| -
|
| - // Where to put the [TAB] image.
|
| - const size_t split(content_param_offsets.front());
|
| -
|
| - NSString* prefix = base::SysWideToNSString(keyword_hint.substr(0, split));
|
| - NSString* suffix = base::SysWideToNSString(keyword_hint.substr(split));
|
| -
|
| - NSImage* image = GetTabButtonImage();
|
| - const CGFloat availableWidth([field_ availableDecorationWidth]);
|
| - [cell setKeywordHintPrefix:prefix image:image suffix:suffix
|
| - availableWidth:availableWidth];
|
| - } else {
|
| - // Nothing interesting to show, plain old text field.
|
| - [cell clearHint];
|
| + keyword_hint_decoration_->SetKeyword(short_name, is_extension_keyword);
|
| + keyword_hint_decoration_->SetVisible(true);
|
| }
|
|
|
| // These need to change anytime the layout changes.
|
|
|