diff options
Diffstat (limited to 'chromium/content/browser/payments/payment_app_provider_impl.h')
-rw-r--r-- | chromium/content/browser/payments/payment_app_provider_impl.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/chromium/content/browser/payments/payment_app_provider_impl.h b/chromium/content/browser/payments/payment_app_provider_impl.h index 620baa3f3c1..09cd78ff9f5 100644 --- a/chromium/content/browser/payments/payment_app_provider_impl.h +++ b/chromium/content/browser/payments/payment_app_provider_impl.h @@ -9,6 +9,7 @@ #include "base/memory/singleton.h" #include "content/common/content_export.h" #include "content/public/browser/payment_app_provider.h" +#include "content/public/browser/web_contents_observer.h" namespace content { @@ -28,10 +29,11 @@ class CONTENT_EXPORT PaymentAppProviderImpl : public PaymentAppProvider { WebContents* web_contents, payments::mojom::PaymentRequestEventDataPtr event_data, const std::string& app_name, + const SkBitmap& app_icon, const std::string& sw_js_url, const std::string& sw_scope, bool sw_use_cache, - const std::vector<std::string>& enabled_methods, + const std::string& method, InvokePaymentAppCallback callback) override; void CanMakePayment(BrowserContext* browser_context, int64_t registration_id, @@ -40,6 +42,8 @@ class CONTENT_EXPORT PaymentAppProviderImpl : public PaymentAppProvider { void AbortPayment(BrowserContext* browser_context, int64_t registration_id, PaymentEventResultCallback callback) override; + void SetOpenedWindow(WebContents* web_contents) override; + void CloseOpenedWindow(BrowserContext* browser_context) override; private: PaymentAppProviderImpl(); @@ -47,6 +51,17 @@ class CONTENT_EXPORT PaymentAppProviderImpl : public PaymentAppProvider { friend struct base::DefaultSingletonTraits<PaymentAppProviderImpl>; + // Note that constructor of WebContentsObserver is protected. + class PaymentHandlerWindowObserver : public WebContentsObserver { + public: + explicit PaymentHandlerWindowObserver(WebContents* web_contents); + ~PaymentHandlerWindowObserver() override; + }; + + // Map to maintain at most one opened window per browser context. + std::map<BrowserContext*, std::unique_ptr<PaymentHandlerWindowObserver>> + payment_handler_windows_; + DISALLOW_COPY_AND_ASSIGN(PaymentAppProviderImpl); }; |