diff options
Diffstat (limited to 'chromium/content/browser/payments/payment_app_installer.h')
-rw-r--r-- | chromium/content/browser/payments/payment_app_installer.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/chromium/content/browser/payments/payment_app_installer.h b/chromium/content/browser/payments/payment_app_installer.h new file mode 100644 index 00000000000..e864c970c6a --- /dev/null +++ b/chromium/content/browser/payments/payment_app_installer.h @@ -0,0 +1,49 @@ +// Copyright 2018 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_BROWSER_PAYMENTS_PAYMENT_APP_INSTALLER_H_ +#define CONTENT_BROWSER_PAYMENTS_PAYMENT_APP_INSTALLER_H_ + +#include <vector> + +#include "base/callback.h" +#include "base/macros.h" + +class GURL; + +namespace content { + +class BrowserContext; +class WebContents; + +// Installs a web payment app with a default payment instrument and returns +// the registration Id through callback on success. +class PaymentAppInstaller { + public: + using InstallPaymentAppCallback = + base::OnceCallback<void(BrowserContext* browser_context, + long registration_id)>; + + // Installs the payment app. + // |app_name| is the name of the payment app. + // |sw_url| is the url to get the service worker js script. + // |scope| is the registration scope. + // |use_cache| indicates whether to use cache. + // |enabled_methods| are the enabled methods of the app. + // |callback| to send back registeration result. + static void Install(WebContents* web_contents, + const std::string& app_name, + const GURL& sw_url, + const GURL& scope, + bool use_cache, + const std::vector<std::string>& enabled_methods, + InstallPaymentAppCallback callback); + + private: + DISALLOW_IMPLICIT_CONSTRUCTORS(PaymentAppInstaller); +}; + +} // namespace content. + +#endif // CONTENT_BROWSER_PAYMENTS_PAYMENT_APP_INSTALLER_H_
\ No newline at end of file |