#include "content/browser/payments/payment_event_dispatcher.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "content/browser/payments/payment_app_provider_impl.h"
#include "content/browser/service_worker/service_worker_context_wrapper.h"
#include "content/public/common/content_features.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
namespace content {
namespace {
CanMakePaymentEventDataPtr;
CanMakePaymentEventResponseType;
CanMakePaymentResponsePtr;
PaymentEventResponseType;
PaymentHandlerResponsePtr;
PaymentRequestEventDataPtr;
}
namespace {
void DidFindRegistration(
PaymentEventDispatcher::ServiceWorkerStartCallback callback,
blink::ServiceWorkerStatusCode service_worker_status,
scoped_refptr<ServiceWorkerRegistration> service_worker_registration) { … }
void OnResponseForPaymentRequest(
base::WeakPtr<PaymentAppProviderImpl> provider,
int64_t registration_id,
const url::Origin& sw_origin,
const std::string& payment_request_id,
PaymentAppProvider::InvokePaymentAppCallback callback,
PaymentHandlerResponsePtr response) { … }
void OnResponseForCanMakePayment(
base::WeakPtr<PaymentAppProviderImpl> provider,
int64_t registration_id,
const url::Origin& sw_origin,
const std::string& payment_request_id,
PaymentAppProvider::CanMakePaymentCallback callback,
CanMakePaymentResponsePtr response) { … }
void OnResponseForAbortPayment(base::WeakPtr<PaymentAppProviderImpl> provider,
int64_t registration_id,
const url::Origin& sw_origin,
const std::string& payment_request_id,
PaymentAppProvider::AbortCallback callback,
bool payment_aborted) { … }
}
PaymentEventDispatcher::PaymentEventDispatcher() = default;
PaymentEventDispatcher::~PaymentEventDispatcher() { … }
void PaymentEventDispatcher::DispatchAbortPaymentEvent(
PaymentAppProvider::AbortCallback callback,
scoped_refptr<ServiceWorkerVersion> active_version,
blink::ServiceWorkerStatusCode service_worker_status) { … }
void PaymentEventDispatcher::AbortPayment(
int64_t registration_id,
const url::Origin& sw_origin,
const std::string& payment_request_id,
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
PaymentAppProvider::AbortCallback callback) { … }
void PaymentEventDispatcher::DispatchCanMakePaymentEvent(
CanMakePaymentEventDataPtr event_data,
PaymentAppProvider::CanMakePaymentCallback callback,
scoped_refptr<ServiceWorkerVersion> active_version,
blink::ServiceWorkerStatusCode service_worker_status) { … }
void PaymentEventDispatcher::CanMakePayment(
int64_t registration_id,
const url::Origin& sw_origin,
const std::string& payment_request_id,
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
CanMakePaymentEventDataPtr event_data,
PaymentAppProvider::CanMakePaymentCallback callback) { … }
void PaymentEventDispatcher::DispatchPaymentRequestEvent(
PaymentRequestEventDataPtr event_data,
PaymentAppProvider::InvokePaymentAppCallback callback,
scoped_refptr<ServiceWorkerVersion> active_version,
blink::ServiceWorkerStatusCode service_worker_status) { … }
void PaymentEventDispatcher::InvokePayment(
int64_t registration_id,
const url::Origin& sw_origin,
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
PaymentRequestEventDataPtr event_data,
PaymentAppProvider::InvokePaymentAppCallback callback) { … }
void PaymentEventDispatcher::FindRegistration(
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
int64_t registration_id,
PaymentEventDispatcher::ServiceWorkerStartCallback callback) { … }
void PaymentEventDispatcher::OnClosingOpenedWindow(
PaymentEventResponseType reason) { … }
void PaymentEventDispatcher::ResetRespondWithCallback() { … }
base::WeakPtr<PaymentEventDispatcher> PaymentEventDispatcher::GetWeakPtr() { … }
}