Commit d9fc4d9e authored by donnd's avatar donnd Committed by Commit bot

[TTS] Request Now on Tap data in the Resolve request.

Updates TemplateURL to know how to request Now on Tap data for Contextual Search.
Also remove the old unused flag about whether to resolve or not.

BUG=646664,641543

Review-Url: https://codereview.chromium.org/2343523002
Cr-Commit-Position: refs/heads/master@{#419054}
parent 6068e9d8
...@@ -55,6 +55,9 @@ const char kDoPreventPreloadValue[] = "1"; ...@@ -55,6 +55,9 @@ const char kDoPreventPreloadValue[] = "1";
// The number of characters that should be shown after the selected expression. // The number of characters that should be shown after the selected expression.
const int kSurroundingSizeForUI = 60; const int kSurroundingSizeForUI = 60;
// The version of the Now on Tap API that we want to invoke.
const int kNowOnTapVersion = 1;
} // namespace } // namespace
// URLFetcher ID, only used for tests: we only have one kind of fetcher. // URLFetcher ID, only used for tests: we only have one kind of fetcher.
...@@ -207,8 +210,12 @@ std::string ContextualSearchDelegate::BuildRequestUrl(std::string selection) { ...@@ -207,8 +210,12 @@ std::string ContextualSearchDelegate::BuildRequestUrl(std::string selection) {
TemplateURLRef::SearchTermsArgs search_terms_args = TemplateURLRef::SearchTermsArgs search_terms_args =
TemplateURLRef::SearchTermsArgs(base::string16()); TemplateURLRef::SearchTermsArgs(base::string16());
int now_on_tap_version =
field_trial_->IsNowOnTapBarIntegrationEnabled() ? kNowOnTapVersion : 0;
TemplateURLRef::SearchTermsArgs::ContextualSearchParams params( TemplateURLRef::SearchTermsArgs::ContextualSearchParams params(
kContextualSearchRequestVersion, selected_text, "", true); kContextualSearchRequestVersion, selected_text, std::string(),
now_on_tap_version);
search_terms_args.contextual_search_params = params; search_terms_args.contextual_search_params = params;
......
...@@ -188,33 +188,29 @@ TemplateURLRef::SearchTermsArgs::ContextualSearchParams:: ...@@ -188,33 +188,29 @@ TemplateURLRef::SearchTermsArgs::ContextualSearchParams::
: version(-1), : version(-1),
start(base::string16::npos), start(base::string16::npos),
end(base::string16::npos), end(base::string16::npos),
resolve(true) { now_on_tap_version(0) {}
}
TemplateURLRef::SearchTermsArgs::ContextualSearchParams:: TemplateURLRef::SearchTermsArgs::ContextualSearchParams::ContextualSearchParams(
ContextualSearchParams( int version,
const int version, const std::string& selection,
const std::string& selection, const std::string& base_page_url,
const std::string& base_page_url, int now_on_tap_version)
const bool resolve)
: version(version), : version(version),
start(base::string16::npos), start(base::string16::npos),
end(base::string16::npos), end(base::string16::npos),
selection(selection), selection(selection),
base_page_url(base_page_url), base_page_url(base_page_url),
resolve(resolve) { now_on_tap_version(now_on_tap_version) {}
}
TemplateURLRef::SearchTermsArgs::ContextualSearchParams:: TemplateURLRef::SearchTermsArgs::ContextualSearchParams::ContextualSearchParams(
ContextualSearchParams( int version,
const int version, size_t start,
const size_t start, size_t end,
const size_t end, const std::string& selection,
const std::string& selection, const std::string& content,
const std::string& content, const std::string& base_page_url,
const std::string& base_page_url, const std::string& encoding,
const std::string& encoding, int now_on_tap_version)
const bool resolve)
: version(version), : version(version),
start(start), start(start),
end(end), end(end),
...@@ -222,8 +218,7 @@ TemplateURLRef::SearchTermsArgs::ContextualSearchParams:: ...@@ -222,8 +218,7 @@ TemplateURLRef::SearchTermsArgs::ContextualSearchParams::
content(content), content(content),
base_page_url(base_page_url), base_page_url(base_page_url),
encoding(encoding), encoding(encoding),
resolve(resolve) { now_on_tap_version(now_on_tap_version) {}
}
TemplateURLRef::SearchTermsArgs::ContextualSearchParams::ContextualSearchParams( TemplateURLRef::SearchTermsArgs::ContextualSearchParams::ContextualSearchParams(
const ContextualSearchParams& other) = default; const ContextualSearchParams& other) = default;
...@@ -1020,8 +1015,10 @@ std::string TemplateURLRef::HandleReplacements( ...@@ -1020,8 +1015,10 @@ std::string TemplateURLRef::HandleReplacements(
context_data.append("ctxs_encoding=" + params.encoding + "&"); context_data.append("ctxs_encoding=" + params.encoding + "&");
} }
context_data.append( // The above parameters all add a trailing "&" so there must be one last
params.resolve ? "ctxsl_resolve=1" : "ctxsl_resolve=0"); // parameter that's always added at the end.
context_data.append("ctxsl_coca=" +
base::IntToString(params.now_on_tap_version));
HandleReplacement(std::string(), context_data, *i, &url); HandleReplacement(std::string(), context_data, *i, &url);
break; break;
......
...@@ -83,20 +83,20 @@ class TemplateURLRef { ...@@ -83,20 +83,20 @@ class TemplateURLRef {
// parameters. // parameters.
// TODO(donnd): Remove base_page_url and selection parameters once // TODO(donnd): Remove base_page_url and selection parameters once
// they are logged from the HTTP header. // they are logged from the HTTP header.
ContextualSearchParams(const int version, ContextualSearchParams(int version,
const std::string& selection, const std::string& selection,
const std::string& base_page_url, const std::string& base_page_url,
const bool resolve); int now_on_tap_version);
// TODO(donnd): Delete constructor once Clank, iOS, and tests no // TODO(donnd): Delete constructor once Clank, iOS, and tests no
// longer depend on it. // longer depend on it.
ContextualSearchParams(const int version, ContextualSearchParams(int version,
const size_t start, size_t start,
const size_t end, size_t end,
const std::string& selection, const std::string& selection,
const std::string& content, const std::string& content,
const std::string& base_page_url, const std::string& base_page_url,
const std::string& encoding, const std::string& encoding,
const bool resolve); int now_on_tap_version);
ContextualSearchParams(const ContextualSearchParams& other); ContextualSearchParams(const ContextualSearchParams& other);
~ContextualSearchParams(); ~ContextualSearchParams();
...@@ -121,10 +121,9 @@ class TemplateURLRef { ...@@ -121,10 +121,9 @@ class TemplateURLRef {
// The encoding of content. // The encoding of content.
std::string encoding; std::string encoding;
// If true, the server will generate a search term based on the user // The version of Now on Tap data to request.
// selection and context. Otherwise the user selection will be used as-is // A value of 0 indicates no data needed.
// as the search term. int now_on_tap_version;
bool resolve;
}; };
// The search terms (query). // The search terms (query).
......
...@@ -1690,24 +1690,24 @@ TEST_F(TemplateURLTest, ContextualSearchParameters) { ...@@ -1690,24 +1690,24 @@ TEST_F(TemplateURLTest, ContextualSearchParameters) {
TemplateURLRef::SearchTermsArgs search_terms_args(ASCIIToUTF16("foo")); TemplateURLRef::SearchTermsArgs search_terms_args(ASCIIToUTF16("foo"));
std::string result = url.url_ref().ReplaceSearchTerms(search_terms_args, std::string result = url.url_ref().ReplaceSearchTerms(search_terms_args,
search_terms_data_); search_terms_data_);
EXPECT_EQ("http://bar/_/contextualsearch?ctxsl_resolve=1", result); EXPECT_EQ("http://bar/_/contextualsearch?ctxsl_coca=0", result);
TemplateURLRef::SearchTermsArgs::ContextualSearchParams params( TemplateURLRef::SearchTermsArgs::ContextualSearchParams params(
1, 6, 11, "allen", "woody+allen+movies", "www.wikipedia.org", 1, 6, 11, "allen", "woody+allen+movies", "www.wikipedia.org", "utf-8", 1);
"utf-8", true);
search_terms_args.contextual_search_params = params; search_terms_args.contextual_search_params = params;
result = url.url_ref().ReplaceSearchTerms(search_terms_args, result = url.url_ref().ReplaceSearchTerms(search_terms_args,
search_terms_data_); search_terms_data_);
EXPECT_EQ("http://bar/_/contextualsearch?" EXPECT_EQ(
"ctxs=1&" "http://bar/_/contextualsearch?"
"ctxs_start=6&" "ctxs=1&"
"ctxs_end=11&" "ctxs_start=6&"
"q=allen&" "ctxs_end=11&"
"ctxs_content=woody+allen+movies&" "q=allen&"
"ctxsl_url=www.wikipedia.org&" "ctxs_content=woody+allen+movies&"
"ctxs_encoding=utf-8&" "ctxsl_url=www.wikipedia.org&"
"ctxsl_resolve=1", "ctxs_encoding=utf-8&"
result); "ctxsl_coca=1",
result);
} }
TEST_F(TemplateURLTest, GenerateKeyword) { TEST_F(TemplateURLTest, GenerateKeyword) {
......
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