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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 97 |
98 void PaymentAppDatabase::ReadManifest(const GURL& scope, | 98 void PaymentAppDatabase::ReadManifest(const GURL& scope, |
99 const ReadManifestCallback& callback) { | 99 const ReadManifestCallback& callback) { |
100 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 100 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
101 | 101 |
102 service_worker_context_->FindReadyRegistrationForPattern( | 102 service_worker_context_->FindReadyRegistrationForPattern( |
103 scope, base::Bind(&PaymentAppDatabase::DidFindRegistrationToReadManifest, | 103 scope, base::Bind(&PaymentAppDatabase::DidFindRegistrationToReadManifest, |
104 weak_ptr_factory_.GetWeakPtr(), callback)); | 104 weak_ptr_factory_.GetWeakPtr(), callback)); |
105 } | 105 } |
106 | 106 |
| 107 void PaymentAppDatabase::ReadAllManifests( |
| 108 const ReadAllManifestsCallback& callback) { |
| 109 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 110 |
| 111 service_worker_context_->GetUserDataForAllRegistrations( |
| 112 kPaymentAppManifestDataKey, |
| 113 base::Bind(&PaymentAppDatabase::DidReadAllManifests, |
| 114 weak_ptr_factory_.GetWeakPtr(), callback)); |
| 115 } |
| 116 |
107 void PaymentAppDatabase::DidFindRegistrationToWriteManifest( | 117 void PaymentAppDatabase::DidFindRegistrationToWriteManifest( |
108 payments::mojom::PaymentAppManifestPtr manifest, | 118 payments::mojom::PaymentAppManifestPtr manifest, |
109 const WriteManifestCallback& callback, | 119 const WriteManifestCallback& callback, |
110 ServiceWorkerStatusCode status, | 120 ServiceWorkerStatusCode status, |
111 scoped_refptr<ServiceWorkerRegistration> registration) { | 121 scoped_refptr<ServiceWorkerRegistration> registration) { |
112 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 122 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
113 if (status != SERVICE_WORKER_OK) { | 123 if (status != SERVICE_WORKER_OK) { |
114 callback.Run(payments::mojom::PaymentAppManifestError::NO_ACTIVE_WORKER); | 124 callback.Run(payments::mojom::PaymentAppManifestError::NO_ACTIVE_WORKER); |
115 return; | 125 return; |
116 } | 126 } |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 callback.Run(payments::mojom::PaymentAppManifest::New(), | 178 callback.Run(payments::mojom::PaymentAppManifest::New(), |
169 payments::mojom::PaymentAppManifestError:: | 179 payments::mojom::PaymentAppManifestError:: |
170 MANIFEST_STORAGE_OPERATION_FAILED); | 180 MANIFEST_STORAGE_OPERATION_FAILED); |
171 return; | 181 return; |
172 } | 182 } |
173 | 183 |
174 callback.Run(std::move(manifest), | 184 callback.Run(std::move(manifest), |
175 payments::mojom::PaymentAppManifestError::NONE); | 185 payments::mojom::PaymentAppManifestError::NONE); |
176 } | 186 } |
177 | 187 |
| 188 void PaymentAppDatabase::DidReadAllManifests( |
| 189 const ReadAllManifestsCallback& callback, |
| 190 const std::vector<std::pair<int64_t, std::string>>& raw_data, |
| 191 ServiceWorkerStatusCode status) { |
| 192 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 193 if (status != SERVICE_WORKER_OK) { |
| 194 callback.Run(Manifests()); |
| 195 return; |
| 196 } |
| 197 |
| 198 Manifests manifests; |
| 199 for (auto& item_of_raw_data : raw_data) { |
| 200 payments::mojom::PaymentAppManifestPtr manifest = |
| 201 DeserializePaymentAppManifest(item_of_raw_data.second); |
| 202 if (!manifest) { |
| 203 continue; |
| 204 } |
| 205 manifests.push_back( |
| 206 ManifestWithID(item_of_raw_data.first, std::move(manifest))); |
| 207 } |
| 208 |
| 209 callback.Run(std::move(manifests)); |
| 210 } |
| 211 |
178 } // namespace content | 212 } // namespace content |
OLD | NEW |