Chromium Code Reviews| 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/update_client/update_client.h" | 5 #include "components/update_client/update_client.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <queue> | 8 #include <queue> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 219 // Cancel the pending tasks. These tasks are safe to cancel and delete since | 219 // Cancel the pending tasks. These tasks are safe to cancel and delete since |
| 220 // they have not picked up by the update engine, and not shared with any | 220 // they have not picked up by the update engine, and not shared with any |
| 221 // task runner yet. | 221 // task runner yet. |
| 222 while (!task_queue_.empty()) { | 222 while (!task_queue_.empty()) { |
| 223 const auto task(task_queue_.front()); | 223 const auto task(task_queue_.front()); |
| 224 task_queue_.pop(); | 224 task_queue_.pop(); |
| 225 task->Cancel(); | 225 task->Cancel(); |
| 226 } | 226 } |
| 227 } | 227 } |
| 228 | 228 |
| 229 void UpdateClientImpl::SendUninstallPing(const std::string& id, | |
| 230 const Version& version, | |
| 231 int reason) { | |
| 232 DCHECK(thread_checker_.CalledOnValidThread()); | |
| 233 | |
| 234 // The implementation of PingManager::SendPing contains a self-deleting | |
| 235 // object responsible for sending the ping. | |
| 236 CrxUpdateItem item; | |
| 237 item.state = CrxUpdateItem::State::kUninstalled; | |
| 238 item.id = id; | |
| 239 item.previous_version = version; | |
| 240 item.next_version = base::Version("0"); | |
| 241 item.error_code = reason; | |
|
waffles
2016/01/12 02:26:38
I'm not sure about overloading error_code to be th
Sorin Jianu
2016/01/12 03:24:06
Done.
asargent_no_longer_on_chrome
2016/01/14 21:57:53
Just to confirm, yes, we do want to be able to sen
| |
| 242 | |
| 243 ping_manager_->SendPing(&item); | |
| 244 } | |
| 245 | |
| 229 scoped_refptr<UpdateClient> UpdateClientFactory( | 246 scoped_refptr<UpdateClient> UpdateClientFactory( |
| 230 const scoped_refptr<Configurator>& config) { | 247 const scoped_refptr<Configurator>& config) { |
| 231 scoped_ptr<PingManager> ping_manager(new PingManager(config)); | 248 scoped_ptr<PingManager> ping_manager(new PingManager(config)); |
| 232 return new UpdateClientImpl(config, std::move(ping_manager), | 249 return new UpdateClientImpl(config, std::move(ping_manager), |
| 233 &UpdateChecker::Create, &CrxDownloader::Create); | 250 &UpdateChecker::Create, &CrxDownloader::Create); |
| 234 } | 251 } |
| 235 | 252 |
| 236 } // namespace update_client | 253 } // namespace update_client |
| OLD | NEW |