[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
parent 16a6af15
...@@ -52,9 +52,10 @@ public class OmniboxSuggestion { ...@@ -52,9 +52,10 @@ public class OmniboxSuggestion {
SEARCH_SUGGEST_PERSONALIZED (11), // A personalized suggested search. SEARCH_SUGGEST_PERSONALIZED (11), // A personalized suggested search.
SEARCH_SUGGEST_PROFILE (12), // A personalized suggested search for a SEARCH_SUGGEST_PROFILE (12), // A personalized suggested search for a
// Google+ profile. // Google+ profile.
SEARCH_OTHER_ENGINE (13), // A search with a non-default engine. SEARCH_OTHER_ENGINE (13), // A search with a non-default engine.
OPEN_HISTORY_PAGE (17); // A synthetic result that opens the history page OPEN_HISTORY_PAGE (17), // A synthetic result that opens the history page
// to search for the input. // to search for the input.
SEARCH_SUGGEST_ANSWER (18); // A short result for a suggested search.
private final int mNativeType; private final int mNativeType;
......
...@@ -80,6 +80,10 @@ void AutocompleteMatchToAssistedQuery( ...@@ -80,6 +80,10 @@ void AutocompleteMatchToAssistedQuery(
*subtype = 44; *subtype = 44;
return; return;
} }
case AutocompleteMatchType::SEARCH_SUGGEST_ANSWER: {
*subtype = 70;
return;
}
case AutocompleteMatchType::NAVSUGGEST: { case AutocompleteMatchType::NAVSUGGEST: {
// Do not set subtype here; subtype may have been set above. // Do not set subtype here; subtype may have been set above.
*type = 5; *type = 5;
......
...@@ -157,6 +157,7 @@ int AutocompleteMatch::TypeToIcon(Type type) { ...@@ -157,6 +157,7 @@ int AutocompleteMatch::TypeToIcon(Type type) {
IDR_OMNIBOX_SEARCH, IDR_OMNIBOX_SEARCH,
IDR_OMNIBOX_HTTP, IDR_OMNIBOX_HTTP,
IDR_OMNIBOX_HTTP, IDR_OMNIBOX_HTTP,
IDR_OMNIBOX_SEARCH,
}; };
COMPILE_ASSERT(arraysize(icons) == AutocompleteMatchType::NUM_TYPES, COMPILE_ASSERT(arraysize(icons) == AutocompleteMatchType::NUM_TYPES,
icons_array_must_match_type_enum); icons_array_must_match_type_enum);
...@@ -339,7 +340,8 @@ bool AutocompleteMatch::IsSpecializedSearchType(Type type) { ...@@ -339,7 +340,8 @@ bool AutocompleteMatch::IsSpecializedSearchType(Type type) {
return type == AutocompleteMatchType::SEARCH_SUGGEST_ENTITY || return type == AutocompleteMatchType::SEARCH_SUGGEST_ENTITY ||
type == AutocompleteMatchType::SEARCH_SUGGEST_INFINITE || type == AutocompleteMatchType::SEARCH_SUGGEST_INFINITE ||
type == AutocompleteMatchType::SEARCH_SUGGEST_PERSONALIZED || 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) { void AutocompleteMatch::ComputeStrippedDestinationURL(Profile* profile) {
......
...@@ -915,6 +915,7 @@ bool BaseSearchProvider::ParseSuggestResults(const base::Value& root_val, ...@@ -915,6 +915,7 @@ bool BaseSearchProvider::ParseSuggestResults(const base::Value& root_val,
// Extract Answers, if provided. // Extract Answers, if provided.
const base::DictionaryValue* answer_json = NULL; const base::DictionaryValue* answer_json = NULL;
if (suggestion_detail->GetDictionary("ansa", &answer_json)) { if (suggestion_detail->GetDictionary("ansa", &answer_json)) {
match_type = AutocompleteMatchType::SEARCH_SUGGEST_ANSWER;
std::string contents; std::string contents;
base::JSONWriter::Write(answer_json, &contents); base::JSONWriter::Write(answer_json, &contents);
answer_contents = base::UTF8ToUTF16(contents); answer_contents = base::UTF8ToUTF16(contents);
......
...@@ -199,6 +199,8 @@ TEST_F(ShortcutsBackendTest, SanitizeMatchCore) { ...@@ -199,6 +199,8 @@ TEST_F(ShortcutsBackendTest, SanitizeMatchCore) {
"", "", AutocompleteMatchType::SEARCH_HISTORY }, "", "", AutocompleteMatchType::SEARCH_HISTORY },
{ "0,1", "0,0", AutocompleteMatchType::SEARCH_SUGGEST_PROFILE, { "0,1", "0,0", AutocompleteMatchType::SEARCH_SUGGEST_PROFILE,
"", "", AutocompleteMatchType::SEARCH_HISTORY }, "", "", AutocompleteMatchType::SEARCH_HISTORY },
{ "0,1", "0,0", AutocompleteMatchType::SEARCH_SUGGEST_ANSWER,
"", "", AutocompleteMatchType::SEARCH_HISTORY },
}; };
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
......
...@@ -54,6 +54,8 @@ OmniboxEventProto::Suggestion::ResultType AsOmniboxEventResultType( ...@@ -54,6 +54,8 @@ OmniboxEventProto::Suggestion::ResultType AsOmniboxEventResultType(
return OmniboxEventProto::Suggestion::SEARCH_SUGGEST_PERSONALIZED; return OmniboxEventProto::Suggestion::SEARCH_SUGGEST_PERSONALIZED;
case AutocompleteMatchType::SEARCH_SUGGEST_PROFILE: case AutocompleteMatchType::SEARCH_SUGGEST_PROFILE:
return OmniboxEventProto::Suggestion::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: case AutocompleteMatchType::SEARCH_OTHER_ENGINE:
return OmniboxEventProto::Suggestion::SEARCH_OTHER_ENGINE; return OmniboxEventProto::Suggestion::SEARCH_OTHER_ENGINE;
case AutocompleteMatchType::EXTENSION_APP: case AutocompleteMatchType::EXTENSION_APP:
......
...@@ -27,6 +27,7 @@ std::string AutocompleteMatchType::ToString(AutocompleteMatchType::Type type) { ...@@ -27,6 +27,7 @@ std::string AutocompleteMatchType::ToString(AutocompleteMatchType::Type type) {
"contact", "contact",
"bookmark-title", "bookmark-title",
"navsuggest-personalized", "navsuggest-personalized",
"search-suggest-answer",
}; };
COMPILE_ASSERT(arraysize(strings) == AutocompleteMatchType::NUM_TYPES, COMPILE_ASSERT(arraysize(strings) == AutocompleteMatchType::NUM_TYPES,
strings_array_must_match_type_enum); strings_array_must_match_type_enum);
......
...@@ -41,6 +41,7 @@ struct AutocompleteMatchType { ...@@ -41,6 +41,7 @@ struct AutocompleteMatchType {
BOOKMARK_TITLE = 16, // A bookmark whose title contains the BOOKMARK_TITLE = 16, // A bookmark whose title contains the
// input. // input.
NAVSUGGEST_PERSONALIZED = 17, // A personalized suggestion URL. NAVSUGGEST_PERSONALIZED = 17, // A personalized suggestion URL.
SEARCH_SUGGEST_ANSWER = 18, // A short result for a suggested search.
NUM_TYPES, NUM_TYPES,
}; };
......
...@@ -204,6 +204,7 @@ message OmniboxEventProto { ...@@ -204,6 +204,7 @@ message OmniboxEventProto {
// used by Android GSA for on-device // used by Android GSA for on-device
// suggestion logging. // suggestion logging.
NAVSUGGEST_PERSONALIZED = 21; // A personalized url. NAVSUGGEST_PERSONALIZED = 21; // A personalized url.
SEARCH_SUGGEST_ANSWER = 22; // A short result for a suggested search.
} }
optional ResultType result_type = 2; optional ResultType result_type = 2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment