Commit fd58d3d0 authored by Rouslan Solomakhin's avatar Rouslan Solomakhin Committed by Commit Bot

[Web Payment] Common constructor.

Before this patch, the salient difference between the two
RespondWithCallbacks constructors was not obvious, making development
brittle.

This patch moves the common code for the two constructors into the
common private constructor, which used by the two public constructors.

After this patch, the difference between the two constructors for
RespondWithCallbacks is more clear.

Bug: 1005076
Change-Id: I8b5a80626c4ec2cfffb78439ed44bd159251ef67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2089615
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: default avatarDanyao Wang <danyao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748748}
parent 2e43a9bd
......@@ -127,13 +127,11 @@ class RespondWithCallbacks : public PaymentHandlerResponseCallback {
ServiceWorkerMetrics::EventType event_type,
scoped_refptr<ServiceWorkerVersion> service_worker_version,
PaymentAppProvider::InvokePaymentAppCallback callback)
: browser_context_(browser_context),
event_type_(event_type),
service_worker_version_(service_worker_version),
invoke_payment_app_callback_(std::move(callback)) {
request_id_ = service_worker_version->StartRequest(
event_type, base::BindOnce(&RespondWithCallbacks::OnErrorStatus,
weak_ptr_factory_.GetWeakPtr()));
: RespondWithCallbacks(browser_context,
event_type,
service_worker_version,
/*invoke_callback=*/std::move(callback),
PaymentAppProvider::PaymentEventResultCallback()) {
InvokePaymentAppCallbackRepository::GetInstance()->SetCallback(
browser_context, this);
}
......@@ -143,14 +141,11 @@ class RespondWithCallbacks : public PaymentHandlerResponseCallback {
ServiceWorkerMetrics::EventType event_type,
scoped_refptr<ServiceWorkerVersion> service_worker_version,
PaymentAppProvider::PaymentEventResultCallback callback)
: browser_context_(browser_context),
event_type_(event_type),
service_worker_version_(service_worker_version),
payment_event_result_callback_(std::move(callback)) {
request_id_ = service_worker_version->StartRequest(
event_type, base::BindOnce(&RespondWithCallbacks::OnErrorStatus,
weak_ptr_factory_.GetWeakPtr()));
}
: RespondWithCallbacks(browser_context,
event_type,
service_worker_version,
PaymentAppProvider::InvokePaymentAppCallback(),
/*event_callback=*/std::move(callback)) {}
// Disallow copy and assign.
RespondWithCallbacks(const RespondWithCallbacks& other) = delete;
......@@ -169,6 +164,22 @@ class RespondWithCallbacks : public PaymentHandlerResponseCallback {
}
private:
RespondWithCallbacks(
BrowserContext* browser_context,
ServiceWorkerMetrics::EventType event_type,
scoped_refptr<ServiceWorkerVersion> service_worker_version,
PaymentAppProvider::InvokePaymentAppCallback invoke_callback,
PaymentAppProvider::PaymentEventResultCallback event_callback)
: browser_context_(browser_context),
event_type_(event_type),
service_worker_version_(service_worker_version),
invoke_payment_app_callback_(std::move(invoke_callback)),
payment_event_result_callback_(std::move(event_callback)) {
request_id_ = service_worker_version->StartRequest(
event_type, base::BindOnce(&RespondWithCallbacks::OnErrorStatus,
weak_ptr_factory_.GetWeakPtr()));
}
~RespondWithCallbacks() override = default;
void OnResponseForPaymentRequest(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment