Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "content/browser/payments/payment_app_database.h" | 5 #include "content/browser/payments/payment_app_database.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/optional.h" | 10 #include "base/optional.h" |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 100 void PaymentAppDatabase::ReadAllManifests( | 100 void PaymentAppDatabase::ReadAllManifests( |
| 101 const ReadAllManifestsCallback& callback) { | 101 const ReadAllManifestsCallback& callback) { |
| 102 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 102 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 103 | 103 |
| 104 service_worker_context_->GetUserDataForAllRegistrations( | 104 service_worker_context_->GetUserDataForAllRegistrations( |
| 105 kPaymentAppManifestDataKey, | 105 kPaymentAppManifestDataKey, |
| 106 base::Bind(&PaymentAppDatabase::DidReadAllManifests, | 106 base::Bind(&PaymentAppDatabase::DidReadAllManifests, |
| 107 weak_ptr_factory_.GetWeakPtr(), callback)); | 107 weak_ptr_factory_.GetWeakPtr(), callback)); |
| 108 } | 108 } |
| 109 | 109 |
| 110 void PaymentAppDatabase::DeletePaymentInstrument( | |
| 111 const GURL& scope, | |
| 112 const std::string& instrumentKey, | |
| 113 DeletePaymentInstrumentCallback callback) { | |
| 114 DCHECK_CURRENTLY_ON(BrowserThread::IO); | |
| 115 | |
| 116 service_worker_context_->FindReadyRegistrationForPattern( | |
| 117 scope, | |
| 118 base::Bind( | |
| 119 &PaymentAppDatabase::DidFindRegistrationToDeletePaymentInstrument, | |
| 120 weak_ptr_factory_.GetWeakPtr(), instrumentKey, | |
| 121 base::Passed(std::move(callback)))); | |
|
please use gerrit instead
2017/04/25 15:21:40
Is base::Passed() necessary? I believe std::move()
zino
2017/04/25 21:48:51
The FindReadyRegistrationForPattern requires legac
| |
| 122 } | |
| 123 | |
| 110 void PaymentAppDatabase::ReadPaymentInstrument( | 124 void PaymentAppDatabase::ReadPaymentInstrument( |
| 111 const GURL& scope, | 125 const GURL& scope, |
| 112 const std::string& instrumentKey, | 126 const std::string& instrumentKey, |
| 113 ReadPaymentInstrumentCallback callback) { | 127 ReadPaymentInstrumentCallback callback) { |
| 114 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 128 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 115 | 129 |
| 116 service_worker_context_->FindReadyRegistrationForPattern( | 130 service_worker_context_->FindReadyRegistrationForPattern( |
| 117 scope, | 131 scope, |
| 118 base::Bind( | 132 base::Bind( |
| 119 &PaymentAppDatabase::DidFindRegistrationToReadPaymentInstrument, | 133 &PaymentAppDatabase::DidFindRegistrationToReadPaymentInstrument, |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 242 if (!manifest) | 256 if (!manifest) |
| 243 continue; | 257 continue; |
| 244 | 258 |
| 245 manifests.push_back( | 259 manifests.push_back( |
| 246 ManifestWithID(item_of_raw_data.first, std::move(manifest))); | 260 ManifestWithID(item_of_raw_data.first, std::move(manifest))); |
| 247 } | 261 } |
| 248 | 262 |
| 249 callback.Run(std::move(manifests)); | 263 callback.Run(std::move(manifests)); |
| 250 } | 264 } |
| 251 | 265 |
| 266 void PaymentAppDatabase::DidFindRegistrationToDeletePaymentInstrument( | |
| 267 const std::string& instrument_key, | |
| 268 DeletePaymentInstrumentCallback callback, | |
| 269 ServiceWorkerStatusCode status, | |
| 270 scoped_refptr<ServiceWorkerRegistration> registration) { | |
| 271 DCHECK_CURRENTLY_ON(BrowserThread::IO); | |
| 272 if (status != SERVICE_WORKER_OK) { | |
| 273 std::move(callback).Run(PaymentHandlerStatus::NO_ACTIVE_WORKER); | |
| 274 return; | |
| 275 } | |
| 276 | |
| 277 service_worker_context_->GetRegistrationUserData( | |
| 278 registration->id(), {instrument_key}, | |
| 279 base::Bind(&PaymentAppDatabase::DidFindPaymentInstrument, | |
| 280 weak_ptr_factory_.GetWeakPtr(), registration->id(), | |
| 281 instrument_key, base::Passed(std::move(callback)))); | |
|
please use gerrit instead
2017/04/25 15:21:40
Same comment about base::Passed().
zino
2017/04/25 21:48:51
I already left a comment in above your comment.
| |
| 282 } | |
| 283 | |
| 284 void PaymentAppDatabase::DidFindPaymentInstrument( | |
| 285 int64_t registration_id, | |
| 286 const std::string& instrument_key, | |
| 287 DeletePaymentInstrumentCallback callback, | |
| 288 const std::vector<std::string>& data, | |
| 289 ServiceWorkerStatusCode status) { | |
| 290 DCHECK_CURRENTLY_ON(BrowserThread::IO); | |
| 291 if (status != SERVICE_WORKER_OK || data.size() != 1) { | |
| 292 std::move(callback).Run(PaymentHandlerStatus::NOT_FOUND); | |
| 293 return; | |
| 294 } | |
| 295 | |
| 296 service_worker_context_->ClearRegistrationUserData( | |
| 297 registration_id, {instrument_key}, | |
| 298 base::Bind(&PaymentAppDatabase::DidDeletePaymentInstrument, | |
| 299 weak_ptr_factory_.GetWeakPtr(), | |
| 300 base::Passed(std::move(callback)))); | |
| 301 } | |
| 302 | |
| 303 void PaymentAppDatabase::DidDeletePaymentInstrument( | |
| 304 DeletePaymentInstrumentCallback callback, | |
| 305 ServiceWorkerStatusCode status) { | |
| 306 DCHECK_CURRENTLY_ON(BrowserThread::IO); | |
| 307 return std::move(callback).Run(status == SERVICE_WORKER_OK | |
| 308 ? PaymentHandlerStatus::SUCCESS | |
| 309 : PaymentHandlerStatus::NOT_FOUND); | |
| 310 } | |
| 311 | |
| 252 void PaymentAppDatabase::DidFindRegistrationToReadPaymentInstrument( | 312 void PaymentAppDatabase::DidFindRegistrationToReadPaymentInstrument( |
| 253 const std::string& instrumentKey, | 313 const std::string& instrumentKey, |
| 254 ReadPaymentInstrumentCallback callback, | 314 ReadPaymentInstrumentCallback callback, |
| 255 ServiceWorkerStatusCode status, | 315 ServiceWorkerStatusCode status, |
| 256 scoped_refptr<ServiceWorkerRegistration> registration) { | 316 scoped_refptr<ServiceWorkerRegistration> registration) { |
| 257 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 317 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 258 if (status != SERVICE_WORKER_OK) { | 318 if (status != SERVICE_WORKER_OK) { |
| 259 std::move(callback).Run(PaymentInstrument::New(), | 319 std::move(callback).Run(PaymentInstrument::New(), |
| 260 PaymentHandlerStatus::NO_ACTIVE_WORKER); | 320 PaymentHandlerStatus::NO_ACTIVE_WORKER); |
| 261 return; | 321 return; |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 325 WritePaymentInstrumentCallback callback, | 385 WritePaymentInstrumentCallback callback, |
| 326 ServiceWorkerStatusCode status) { | 386 ServiceWorkerStatusCode status) { |
| 327 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 387 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 328 return std::move(callback).Run( | 388 return std::move(callback).Run( |
| 329 status == SERVICE_WORKER_OK | 389 status == SERVICE_WORKER_OK |
| 330 ? PaymentHandlerStatus::SUCCESS | 390 ? PaymentHandlerStatus::SUCCESS |
| 331 : PaymentHandlerStatus::STORAGE_OPERATION_FAILED); | 391 : PaymentHandlerStatus::STORAGE_OPERATION_FAILED); |
| 332 } | 392 } |
| 333 | 393 |
| 334 } // namespace content | 394 } // namespace content |
| OLD | NEW |