diff options
author | justincohen <justincohen@chromium.org> | 2015-04-07 19:14:28 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-08 02:15:09 +0000 |
commit | c438c1843041746877c9dc83d9ce63a3c43bb6bb (patch) | |
tree | 650acf54236e317ba78fc7d916dae0d4fa0da923 /components/search_provider_logos/logo_tracker.cc | |
parent | 5729f982048935b2b702181d0b349589d607f34b (diff) | |
download | chromium_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.cc | 13 |
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()); |