| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/suggestions/suggestions_service.h" | 5 #include "components/suggestions/suggestions_service.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 suggestion->set_expiry_ts(default_timestamp_usec); | 212 suggestion->set_expiry_ts(default_timestamp_usec); |
| 213 } | 213 } |
| 214 } | 214 } |
| 215 } | 215 } |
| 216 | 216 |
| 217 void SuggestionsService::IssueRequestIfNoneOngoing(const GURL& url) { | 217 void SuggestionsService::IssueRequestIfNoneOngoing(const GURL& url) { |
| 218 // If there is an ongoing request, let it complete. | 218 // If there is an ongoing request, let it complete. |
| 219 if (pending_request_.get()) { | 219 if (pending_request_.get()) { |
| 220 return; | 220 return; |
| 221 } | 221 } |
| 222 pending_request_.reset(CreateSuggestionsRequest(url)); | 222 pending_request_ = CreateSuggestionsRequest(url); |
| 223 pending_request_->Start(); | 223 pending_request_->Start(); |
| 224 last_request_started_time_ = TimeTicks::Now(); | 224 last_request_started_time_ = TimeTicks::Now(); |
| 225 } | 225 } |
| 226 | 226 |
| 227 net::URLFetcher* SuggestionsService::CreateSuggestionsRequest(const GURL& url) { | 227 scoped_ptr<net::URLFetcher> SuggestionsService::CreateSuggestionsRequest( |
| 228 net::URLFetcher* request = | 228 const GURL& url) { |
| 229 scoped_ptr<net::URLFetcher> request = |
| 229 net::URLFetcher::Create(0, url, net::URLFetcher::GET, this); | 230 net::URLFetcher::Create(0, url, net::URLFetcher::GET, this); |
| 230 request->SetLoadFlags(net::LOAD_DISABLE_CACHE); | 231 request->SetLoadFlags(net::LOAD_DISABLE_CACHE); |
| 231 request->SetRequestContext(url_request_context_); | 232 request->SetRequestContext(url_request_context_); |
| 232 // Add Chrome experiment state to the request headers. | 233 // Add Chrome experiment state to the request headers. |
| 233 net::HttpRequestHeaders headers; | 234 net::HttpRequestHeaders headers; |
| 234 variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders( | 235 variations::VariationsHttpHeaderProvider::GetInstance()->AppendHeaders( |
| 235 request->GetOriginalURL(), false, false, &headers); | 236 request->GetOriginalURL(), false, false, &headers); |
| 236 request->SetExtraRequestHeaders(headers.ToString()); | 237 request->SetExtraRequestHeaders(headers.ToString()); |
| 237 return request; | 238 return request; |
| 238 } | 239 } |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 scheduling_delay_ = TimeDelta::FromSeconds(kDefaultSchedulingDelaySec); | 359 scheduling_delay_ = TimeDelta::FromSeconds(kDefaultSchedulingDelaySec); |
| 359 } else { | 360 } else { |
| 360 TimeDelta candidate_delay = | 361 TimeDelta candidate_delay = |
| 361 scheduling_delay_ * kSchedulingBackoffMultiplier; | 362 scheduling_delay_ * kSchedulingBackoffMultiplier; |
| 362 if (candidate_delay < TimeDelta::FromSeconds(kSchedulingMaxDelaySec)) | 363 if (candidate_delay < TimeDelta::FromSeconds(kSchedulingMaxDelaySec)) |
| 363 scheduling_delay_ = candidate_delay; | 364 scheduling_delay_ = candidate_delay; |
| 364 } | 365 } |
| 365 } | 366 } |
| 366 | 367 |
| 367 } // namespace suggestions | 368 } // namespace suggestions |
| OLD | NEW |