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/component_updater/request_sender.h" | 5 #include "components/update_client/request_sender.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/location.h" | 9 #include "base/location.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
12 #include "base/thread_task_runner_handle.h" | 12 #include "base/thread_task_runner_handle.h" |
13 #include "components/component_updater/component_updater_configurator.h" | 13 #include "components/update_client/configurator.h" |
14 #include "components/component_updater/component_updater_utils.h" | 14 #include "components/update_client/utils.h" |
15 #include "net/url_request/url_fetcher.h" | 15 #include "net/url_request/url_fetcher.h" |
16 | 16 |
17 namespace component_updater { | 17 namespace update_client { |
18 | 18 |
19 RequestSender::RequestSender(const Configurator& config) : config_(config) { | 19 RequestSender::RequestSender(const Configurator& config) : config_(config) { |
20 } | 20 } |
21 | 21 |
22 RequestSender::~RequestSender() { | 22 RequestSender::~RequestSender() { |
23 DCHECK(thread_checker_.CalledOnValidThread()); | 23 DCHECK(thread_checker_.CalledOnValidThread()); |
24 } | 24 } |
25 | 25 |
26 void RequestSender::Send(const std::string& request_string, | 26 void RequestSender::Send(const std::string& request_string, |
27 const std::vector<GURL>& urls, | 27 const std::vector<GURL>& urls, |
(...skipping 11 matching lines...) Expand all Loading... |
39 cur_url_ = urls_.begin(); | 39 cur_url_ = urls_.begin(); |
40 | 40 |
41 SendInternal(); | 41 SendInternal(); |
42 } | 42 } |
43 | 43 |
44 void RequestSender::SendInternal() { | 44 void RequestSender::SendInternal() { |
45 DCHECK(cur_url_ != urls_.end()); | 45 DCHECK(cur_url_ != urls_.end()); |
46 DCHECK(cur_url_->is_valid()); | 46 DCHECK(cur_url_->is_valid()); |
47 DCHECK(thread_checker_.CalledOnValidThread()); | 47 DCHECK(thread_checker_.CalledOnValidThread()); |
48 | 48 |
49 url_fetcher_.reset(SendProtocolRequest( | 49 url_fetcher_.reset(SendProtocolRequest(*cur_url_, request_string_, this, |
50 *cur_url_, request_string_, this, config_.RequestContext())); | 50 config_.RequestContext())); |
51 } | 51 } |
52 | 52 |
53 void RequestSender::OnURLFetchComplete(const net::URLFetcher* source) { | 53 void RequestSender::OnURLFetchComplete(const net::URLFetcher* source) { |
54 DCHECK(thread_checker_.CalledOnValidThread()); | 54 DCHECK(thread_checker_.CalledOnValidThread()); |
55 if (GetFetchError(*source) == 0) { | 55 if (GetFetchError(*source) == 0) { |
56 request_sender_callback_.Run(source); | 56 request_sender_callback_.Run(source); |
57 return; | 57 return; |
58 } | 58 } |
59 | 59 |
60 if (++cur_url_ != urls_.end() && | 60 if (++cur_url_ != urls_.end() && |
61 base::ThreadTaskRunnerHandle::Get()->PostTask( | 61 base::ThreadTaskRunnerHandle::Get()->PostTask( |
62 FROM_HERE, | 62 FROM_HERE, |
63 base::Bind(&RequestSender::SendInternal, base::Unretained(this)))) { | 63 base::Bind(&RequestSender::SendInternal, base::Unretained(this)))) { |
64 return; | 64 return; |
65 } | 65 } |
66 | 66 |
67 request_sender_callback_.Run(source); | 67 request_sender_callback_.Run(source); |
68 } | 68 } |
69 | 69 |
70 } // namespace component_updater | 70 } // namespace update_client |
OLD | NEW |