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 2565567a5e68e025fe168a7b55fda0731f75f66e..d9c3a8fd443306363c6795edf49b291b96ac24c7 100644 |
--- a/content/browser/payments/payment_app_context_impl.cc |
+++ b/content/browser/payments/payment_app_context_impl.cc |
@@ -9,18 +9,26 @@ |
#include "base/bind.h" |
#include "base/memory/ptr_util.h" |
#include "base/stl_util.h" |
+#include "content/browser/payments/payment_app_database.h" |
#include "content/browser/payments/payment_app_manager.h" |
-#include "content/browser/service_worker/service_worker_context_wrapper.h" |
#include "content/public/browser/browser_thread.h" |
namespace content { |
-PaymentAppContextImpl::PaymentAppContextImpl( |
- scoped_refptr<ServiceWorkerContextWrapper> service_worker_context) |
- : service_worker_context_(std::move(service_worker_context)) { |
+PaymentAppContextImpl::PaymentAppContextImpl() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
} |
+void PaymentAppContextImpl::Init( |
+ scoped_refptr<ServiceWorkerContextWrapper> service_worker_context) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ |
+ BrowserThread::PostTask( |
+ BrowserThread::IO, FROM_HERE, |
+ base::Bind(&PaymentAppContextImpl::CreatePaymentAppDatabaseOnIO, this, |
please use gerrit instead
2016/12/14 19:44:00
Either call this InitOnIO() or rename the Init() m
zino
2016/12/15 17:56:52
The Init() function is paired with Shutdown() and
|
+ service_worker_context)); |
+} |
+ |
void PaymentAppContextImpl::Shutdown() { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
@@ -33,10 +41,9 @@ void PaymentAppContextImpl::CreateService( |
mojo::InterfaceRequest<payments::mojom::PaymentAppManager> request) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&PaymentAppContextImpl::CreateServiceOnIOThread, this, |
- base::Passed(&request))); |
+ BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
+ base::Bind(&PaymentAppContextImpl::CreateServiceOnIO, |
+ this, base::Passed(&request))); |
} |
void PaymentAppContextImpl::ServiceHadConnectionError( |
@@ -47,9 +54,8 @@ void PaymentAppContextImpl::ServiceHadConnectionError( |
services_.erase(service); |
} |
-ServiceWorkerContextWrapper* PaymentAppContextImpl::service_worker_context() |
- const { |
- return service_worker_context_.get(); |
+PaymentAppDatabase* PaymentAppContextImpl::payment_app_database() const { |
please use gerrit instead
2016/12/14 19:44:00
DCHECK IO thread.
zino
2016/12/15 17:56:52
Done.
|
+ return payment_app_database_.get(); |
} |
void PaymentAppContextImpl::GetAllManifests( |
@@ -59,9 +65,17 @@ void PaymentAppContextImpl::GetAllManifests( |
PaymentAppContextImpl::~PaymentAppContextImpl() { |
please use gerrit instead
2016/12/14 19:44:00
DCHECK you're on UI thread, same as constructor.
zino
2016/12/15 17:56:52
Done.
|
DCHECK(services_.empty()); |
+ DCHECK(!payment_app_database_); |
+} |
+ |
+void PaymentAppContextImpl::CreatePaymentAppDatabaseOnIO( |
+ scoped_refptr<ServiceWorkerContextWrapper> service_worker_context) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ payment_app_database_ = |
+ base::MakeUnique<PaymentAppDatabase>(service_worker_context); |
} |
-void PaymentAppContextImpl::CreateServiceOnIOThread( |
+void PaymentAppContextImpl::CreateServiceOnIO( |
mojo::InterfaceRequest<payments::mojom::PaymentAppManager> request) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
PaymentAppManager* service = new PaymentAppManager(this, std::move(request)); |
@@ -72,6 +86,7 @@ void PaymentAppContextImpl::ShutdownOnIO() { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
services_.clear(); |
+ payment_app_database_.reset(); |
} |
} // namespace content |