Index: content/browser/payments/payment_app_context_impl.cc |
diff --git a/content/browser/payments/payment_app_context_impl.cc b/content/browser/payments/payment_app_context_impl.cc |
index e2a84e62b0b3c82fbefe36b17c76c714184fdf2e..55657619838eb2da4a0ece1f618c21bd74f87e0e 100644 |
--- a/content/browser/payments/payment_app_context_impl.cc |
+++ b/content/browser/payments/payment_app_context_impl.cc |
@@ -61,7 +61,10 @@ PaymentAppDatabase* PaymentAppContextImpl::payment_app_database() const { |
void PaymentAppContextImpl::GetAllManifests( |
const GetAllManifestsCallback& callback) { |
- NOTIMPLEMENTED(); |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ BrowserThread::PostTask( |
+ BrowserThread::IO, FROM_HERE, |
+ base::Bind(&PaymentAppContextImpl::GetAllManifestsOnIO, this, callback)); |
} |
PaymentAppContextImpl::~PaymentAppContextImpl() { |
@@ -90,4 +93,21 @@ void PaymentAppContextImpl::ShutdownOnIO() { |
payment_app_database_.reset(); |
} |
+void PaymentAppContextImpl::GetAllManifestsOnIO( |
+ const GetAllManifestsCallback& callback) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ payment_app_database()->ReadAllManifests(base::Bind( |
+ &PaymentAppContextImpl::DidGetAllManifestsOnIO, this, callback)); |
+} |
+ |
+void PaymentAppContextImpl::DidGetAllManifestsOnIO( |
+ const GetAllManifestsCallback& callback, |
+ Manifests manifests) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ |
+ BrowserThread::PostTask( |
+ BrowserThread::UI, FROM_HERE, |
+ base::Bind(callback, base::Passed(std::move(manifests)))); |
+} |
+ |
} // namespace content |