summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/location_bar_view_mac.mm
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-28 17:45:33 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-28 17:45:33 +0000
commit56ad3797dc8ea7d757dc2b12d606c14cedd564e1 (patch)
tree26fab7c6d4cbb0358b404ca3eb488aae75ebe1d3 /chrome/browser/cocoa/location_bar_view_mac.mm
parent79b663c6e6ddf89e85cdc566b5d4f368465bb858 (diff)
downloadchromium_src-56ad3797dc8ea7d757dc2b12d606c14cedd564e1.zip
chromium_src-56ad3797dc8ea7d757dc2b12d606c14cedd564e1.tar.gz
chromium_src-56ad3797dc8ea7d757dc2b12d606c14cedd564e1.tar.bz2
First pass at experimental omnibox API. There are plenty of rough edges and features to work on, but it's in a usable state.
When an extension is installed that specifies an omnibox keyword in its manifest, we add that keyword to the user's list of Search Engines. The user can then edit this keyword later. I'm leveraging most of the original search engine keyword code. An extension keyword has a special URL that identifies it as an extension keyword. There is some special case code to treat these keywords slightly differently throughout the omnibox code. BUG=38884 Review URL: http://codereview.chromium.org/2078021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48503 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/location_bar_view_mac.mm')
-rw-r--r--chrome/browser/cocoa/location_bar_view_mac.mm18
1 files changed, 12 insertions, 6 deletions
diff --git a/chrome/browser/cocoa/location_bar_view_mac.mm b/chrome/browser/cocoa/location_bar_view_mac.mm
index 5bca3f1..f339d146 100644
--- a/chrome/browser/cocoa/location_bar_view_mac.mm
+++ b/chrome/browser/cocoa/location_bar_view_mac.mm
@@ -255,6 +255,7 @@ void LocationBarViewMac::OnChangedImpl(AutocompleteTextField* field,
const std::wstring& keyword,
const std::wstring& short_name,
const bool is_keyword_hint,
+ const bool is_extension_keyword,
NSImage* image) {
AutocompleteTextFieldCell* cell = [field autocompleteTextFieldCell];
const CGFloat availableWidth([field availableDecorationWidth]);
@@ -266,15 +267,15 @@ void LocationBarViewMac::OnChangedImpl(AutocompleteTextField* field,
const std::wstring min_name(CalculateMinString(short_name));
NSString* partial_string = nil;
+ int message_id = is_extension_keyword ?
+ IDS_OMNIBOX_EXTENSION_KEYWORD_TEXT : IDS_OMNIBOX_KEYWORD_TEXT;
if (!min_name.empty()) {
partial_string =
- l10n_util::GetNSStringF(IDS_OMNIBOX_KEYWORD_TEXT,
- WideToUTF16(min_name));
+ l10n_util::GetNSStringF(message_id, WideToUTF16(min_name));
}
NSString* keyword_string =
- l10n_util::GetNSStringF(IDS_OMNIBOX_KEYWORD_TEXT,
- WideToUTF16(short_name));
+ l10n_util::GetNSStringF(message_id, WideToUTF16(short_name));
[cell setKeywordString:keyword_string
partialString:partial_string
availableWidth:availableWidth];
@@ -283,8 +284,10 @@ void LocationBarViewMac::OnChangedImpl(AutocompleteTextField* field,
// 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(IDS_OMNIBOX_KEYWORD_HINT,
+ l10n_util::GetStringF(message_id,
std::wstring(), short_name,
&content_param_offsets));
@@ -318,8 +321,10 @@ void LocationBarViewMac::OnChanged() {
// here where we have a Profile and pass it into OnChangedImpl().
const std::wstring keyword(edit_view_->model()->keyword());
std::wstring short_name;
+ bool is_extension_keyword = false;
if (!keyword.empty()) {
- short_name = GetKeywordName(profile_, keyword);
+ short_name = profile_->GetTemplateURLModel()->
+ GetKeywordShortName(keyword, &is_extension_keyword);
}
// TODO(shess): Implementation exported to a static so that it can
@@ -329,6 +334,7 @@ void LocationBarViewMac::OnChanged() {
keyword,
short_name,
edit_view_->model()->is_keyword_hint(),
+ is_extension_keyword,
GetTabButtonImage());
}