PaymentApp: Introduce PaymentAppDatabase class.
The class is providing APIs to read/write payment app related data(e.g. manifest
and associated service worker). It can be shared between payment_app_manager.cc
and payment_app_context.cc.
The payment_app_manager.cc contains a actual implementation of the
PaymentAppManager interface[1] used on the page or worker.
Also, the payment_app_context.cc can be used to query all manifests data[2]
in order to update payment request UI in Chrome layer.
We can summarize this CL as follows.
1. Rename PaymentAppContext in content/browser/payments to
PaymentAppContextImpl and then add PaymentAppContext interface in
content/public to expose some APIs to Chrome layer.
2. Write PaymentAppDatabase class and then move most of logics to access
database from PaymentAppManager to the new class.
3. Add a interface to query all manifests data in Chrome layer but it's not
implemented yet in this CL. It will be implemented in follow-up CL[2].
[1] https://w3c.github.io/webpayments-payment-apps-api/#payment-app-manager
[2] https://codereview.chromium.org/2556433002
BUG=661608
TEST=existing unittests
Review-Url: https://codereview.chromium.org/2560293002
Cr-Commit-Position: refs/heads/master@{#437855}
14 files changed