diff options
author | jdonnelly@chromium.org <jdonnelly@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-13 04:26:14 +0000 |
---|---|---|
committer | jdonnelly@chromium.org <jdonnelly@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-13 04:26:14 +0000 |
commit | 457861f945002367a95a079e2f99341c14dfc9ca (patch) | |
tree | cedd6c4fd5dcea200e8ddfaf016b4d042e1aeefb | |
parent | 16a6af1553f9eddf570459ae859f812a5a100611 (diff) | |
download | chromium_src-457861f945002367a95a079e2f99341c14dfc9ca.zip chromium_src-457861f945002367a95a079e2f99341c14dfc9ca.tar.gz chromium_src-457861f945002367a95a079e2f99341c14dfc9ca.tar.bz2 |
[AiS] Add a new AutocompleteMatchType for answers in suggest.
BUG=383456
Review URL: https://codereview.chromium.org/327003003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276924 0039d316-1c4b-4281-b951-d872f2087c98
9 files changed, 19 insertions, 4 deletions
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestion.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestion.java index 5c5b9af..2815373 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestion.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/OmniboxSuggestion.java @@ -52,9 +52,10 @@ public class OmniboxSuggestion { SEARCH_SUGGEST_PERSONALIZED (11), // A personalized suggested search. SEARCH_SUGGEST_PROFILE (12), // A personalized suggested search for a // Google+ profile. - SEARCH_OTHER_ENGINE (13), // A search with a non-default engine. - OPEN_HISTORY_PAGE (17); // A synthetic result that opens the history page - // to search for the input. + SEARCH_OTHER_ENGINE (13), // A search with a non-default engine. + OPEN_HISTORY_PAGE (17), // A synthetic result that opens the history page + // to search for the input. + SEARCH_SUGGEST_ANSWER (18); // A short result for a suggested search. private final int mNativeType; diff --git a/chrome/browser/autocomplete/autocomplete_controller.cc b/chrome/browser/autocomplete/autocomplete_controller.cc index 1bb947f..09a82bd 100644 --- a/chrome/browser/autocomplete/autocomplete_controller.cc +++ b/chrome/browser/autocomplete/autocomplete_controller.cc @@ -80,6 +80,10 @@ void AutocompleteMatchToAssistedQuery( *subtype = 44; return; } + case AutocompleteMatchType::SEARCH_SUGGEST_ANSWER: { + *subtype = 70; + return; + } case AutocompleteMatchType::NAVSUGGEST: { // Do not set subtype here; subtype may have been set above. *type = 5; diff --git a/chrome/browser/autocomplete/autocomplete_match.cc b/chrome/browser/autocomplete/autocomplete_match.cc index 6911e44..0d101c8 100644 --- a/chrome/browser/autocomplete/autocomplete_match.cc +++ b/chrome/browser/autocomplete/autocomplete_match.cc @@ -157,6 +157,7 @@ int AutocompleteMatch::TypeToIcon(Type type) { IDR_OMNIBOX_SEARCH, IDR_OMNIBOX_HTTP, IDR_OMNIBOX_HTTP, + IDR_OMNIBOX_SEARCH, }; COMPILE_ASSERT(arraysize(icons) == AutocompleteMatchType::NUM_TYPES, icons_array_must_match_type_enum); @@ -339,7 +340,8 @@ bool AutocompleteMatch::IsSpecializedSearchType(Type type) { return type == AutocompleteMatchType::SEARCH_SUGGEST_ENTITY || type == AutocompleteMatchType::SEARCH_SUGGEST_INFINITE || type == AutocompleteMatchType::SEARCH_SUGGEST_PERSONALIZED || - type == AutocompleteMatchType::SEARCH_SUGGEST_PROFILE; + type == AutocompleteMatchType::SEARCH_SUGGEST_PROFILE || + type == AutocompleteMatchType::SEARCH_SUGGEST_ANSWER; } void AutocompleteMatch::ComputeStrippedDestinationURL(Profile* profile) { diff --git a/chrome/browser/autocomplete/base_search_provider.cc b/chrome/browser/autocomplete/base_search_provider.cc index cec6936..8582636 100644 --- a/chrome/browser/autocomplete/base_search_provider.cc +++ b/chrome/browser/autocomplete/base_search_provider.cc @@ -915,6 +915,7 @@ bool BaseSearchProvider::ParseSuggestResults(const base::Value& root_val, // Extract Answers, if provided. const base::DictionaryValue* answer_json = NULL; if (suggestion_detail->GetDictionary("ansa", &answer_json)) { + match_type = AutocompleteMatchType::SEARCH_SUGGEST_ANSWER; std::string contents; base::JSONWriter::Write(answer_json, &contents); answer_contents = base::UTF8ToUTF16(contents); diff --git a/chrome/browser/autocomplete/shortcuts_backend_unittest.cc b/chrome/browser/autocomplete/shortcuts_backend_unittest.cc index e235b2d..8178bdb 100644 --- a/chrome/browser/autocomplete/shortcuts_backend_unittest.cc +++ b/chrome/browser/autocomplete/shortcuts_backend_unittest.cc @@ -199,6 +199,8 @@ TEST_F(ShortcutsBackendTest, SanitizeMatchCore) { "", "", AutocompleteMatchType::SEARCH_HISTORY }, { "0,1", "0,0", AutocompleteMatchType::SEARCH_SUGGEST_PROFILE, "", "", AutocompleteMatchType::SEARCH_HISTORY }, + { "0,1", "0,0", AutocompleteMatchType::SEARCH_SUGGEST_ANSWER, + "", "", AutocompleteMatchType::SEARCH_HISTORY }, }; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { diff --git a/chrome/browser/metrics/omnibox_metrics_provider.cc b/chrome/browser/metrics/omnibox_metrics_provider.cc index 94847f9..2b99217 100644 --- a/chrome/browser/metrics/omnibox_metrics_provider.cc +++ b/chrome/browser/metrics/omnibox_metrics_provider.cc @@ -54,6 +54,8 @@ OmniboxEventProto::Suggestion::ResultType AsOmniboxEventResultType( return OmniboxEventProto::Suggestion::SEARCH_SUGGEST_PERSONALIZED; case AutocompleteMatchType::SEARCH_SUGGEST_PROFILE: return OmniboxEventProto::Suggestion::SEARCH_SUGGEST_PROFILE; + case AutocompleteMatchType::SEARCH_SUGGEST_ANSWER: + return OmniboxEventProto::Suggestion::SEARCH_SUGGEST_ANSWER; case AutocompleteMatchType::SEARCH_OTHER_ENGINE: return OmniboxEventProto::Suggestion::SEARCH_OTHER_ENGINE; case AutocompleteMatchType::EXTENSION_APP: diff --git a/chrome/common/autocomplete_match_type.cc b/chrome/common/autocomplete_match_type.cc index 8d59145..442b82d 100644 --- a/chrome/common/autocomplete_match_type.cc +++ b/chrome/common/autocomplete_match_type.cc @@ -27,6 +27,7 @@ std::string AutocompleteMatchType::ToString(AutocompleteMatchType::Type type) { "contact", "bookmark-title", "navsuggest-personalized", + "search-suggest-answer", }; COMPILE_ASSERT(arraysize(strings) == AutocompleteMatchType::NUM_TYPES, strings_array_must_match_type_enum); diff --git a/chrome/common/autocomplete_match_type.h b/chrome/common/autocomplete_match_type.h index 58440b4..5973863 100644 --- a/chrome/common/autocomplete_match_type.h +++ b/chrome/common/autocomplete_match_type.h @@ -41,6 +41,7 @@ struct AutocompleteMatchType { BOOKMARK_TITLE = 16, // A bookmark whose title contains the // input. NAVSUGGEST_PERSONALIZED = 17, // A personalized suggestion URL. + SEARCH_SUGGEST_ANSWER = 18, // A short result for a suggested search. NUM_TYPES, }; diff --git a/components/metrics/proto/omnibox_event.proto b/components/metrics/proto/omnibox_event.proto index afef1a0..9e7f132 100644 --- a/components/metrics/proto/omnibox_event.proto +++ b/components/metrics/proto/omnibox_event.proto @@ -204,6 +204,7 @@ message OmniboxEventProto { // used by Android GSA for on-device // suggestion logging. NAVSUGGEST_PERSONALIZED = 21; // A personalized url. + SEARCH_SUGGEST_ANSWER = 22; // A short result for a suggested search. } optional ResultType result_type = 2; |