summaryrefslogtreecommitdiffstats
path: root/components/search_provider_logos/logo_tracker.cc
diff options
context:
space:
mode:
authorjustincohen <justincohen@chromium.org>2015-04-07 19:14:28 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-08 02:15:09 +0000
commitc438c1843041746877c9dc83d9ce63a3c43bb6bb (patch)
tree650acf54236e317ba78fc7d916dae0d4fa0da923 /components/search_provider_logos/logo_tracker.cc
parent5729f982048935b2b702181d0b349589d607f34b (diff)
downloadchromium_src-c438c1843041746877c9dc83d9ce63a3c43bb6bb.zip
chromium_src-c438c1843041746877c9dc83d9ce63a3c43bb6bb.tar.gz
chromium_src-c438c1843041746877c9dc83d9ce63a3c43bb6bb.tar.bz2
[LogoTracker] Correct fingerprint append in async parameter.
Clients that already set the async parameter (in this case, with 'cta:1'), will end up with query strings with two differeny async parameters, instead of a comma delimited async param. E.g. converts ?async=cta:1&async=es_dfp:123 -> ?async=cta:1,es_dfp:123 BUG=414528 Review URL: https://codereview.chromium.org/1066923002 Cr-Commit-Position: refs/heads/master@{#324174}
Diffstat (limited to 'components/search_provider_logos/logo_tracker.cc')
-rw-r--r--components/search_provider_logos/logo_tracker.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/components/search_provider_logos/logo_tracker.cc b/components/search_provider_logos/logo_tracker.cc
index 969c7e4..0b60687 100644
--- a/components/search_provider_logos/logo_tracker.cc
+++ b/components/search_provider_logos/logo_tracker.cc
@@ -89,7 +89,8 @@ LogoTracker::~LogoTracker() {
void LogoTracker::SetServerAPI(
const GURL& logo_url,
const ParseLogoResponse& parse_logo_response_func,
- const AppendFingerprintToLogoURL& append_fingerprint_func) {
+ const AppendQueryparamsToLogoURL& append_queryparams_func,
+ bool wants_cta) {
if (logo_url == logo_url_)
return;
@@ -97,7 +98,8 @@ void LogoTracker::SetServerAPI(
logo_url_ = logo_url;
parse_logo_response_func_ = parse_logo_response_func;
- append_fingerprint_func_ = append_fingerprint_func;
+ append_queryparams_func_ = append_queryparams_func;
+ wants_cta_ = wants_cta;
}
void LogoTracker::GetLogo(LogoObserver* observer) {
@@ -199,13 +201,12 @@ void LogoTracker::FetchLogo() {
DCHECK(!is_idle_);
GURL url;
+ std::string fingerprint;
if (cached_logo_ && !cached_logo_->metadata.fingerprint.empty() &&
cached_logo_->metadata.expiration_time >= clock_->Now()) {
- url = append_fingerprint_func_.Run(logo_url_,
- cached_logo_->metadata.fingerprint);
- } else {
- url = logo_url_;
+ fingerprint = cached_logo_->metadata.fingerprint;
}
+ url = append_queryparams_func_.Run(logo_url_, fingerprint, wants_cta_);
fetcher_.reset(net::URLFetcher::Create(url, net::URLFetcher::GET, this));
fetcher_->SetRequestContext(request_context_getter_.get());