Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(521)

Unified Diff: third_party/WebKit/Source/modules/payments/PaymentRequest.cpp

Issue 2145553002: Parameterize OnError method. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Parameterize OnError method. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
index 386f630876a9c71a1349abdb661c91fee410b93f..6ced5247e2a35862bf5c0ca17f3b1e6369bdc134 100644
--- a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
@@ -36,6 +36,7 @@ using blink::mojom::blink::PaymentDetails;
using blink::mojom::blink::PaymentDetailsModifier;
using blink::mojom::blink::PaymentDetailsModifierPtr;
using blink::mojom::blink::PaymentDetailsPtr;
+using blink::mojom::blink::PaymentErrorReason;
using blink::mojom::blink::PaymentItem;
using blink::mojom::blink::PaymentItemPtr;
using blink::mojom::blink::PaymentMethodData;
@@ -372,7 +373,7 @@ ScriptPromise PaymentRequest::show(ScriptState* scriptState)
DCHECK(!m_paymentProvider.is_bound());
scriptState->domWindow()->frame()->serviceRegistry()->connectToRemoteService(mojo::GetProxy(&m_paymentProvider));
- m_paymentProvider.set_connection_error_handler(convertToBaseCallback(WTF::bind(&PaymentRequest::OnError, wrapWeakPersistent(this))));
+ m_paymentProvider.set_connection_error_handler(convertToBaseCallback(WTF::bind(&PaymentRequest::OnError, wrapWeakPersistent(this), mojom::blink::PaymentErrorReason::UNKNOWN)));
m_paymentProvider->SetClient(m_clientBinding.CreateInterfacePtrAndBind());
m_paymentProvider->Show(mojo::WTFArray<mojom::blink::PaymentMethodDataPtr>::From(m_methodData), mojom::blink::PaymentDetails::From(m_details), mojom::blink::PaymentOptions::From(m_options));
@@ -586,14 +587,28 @@ void PaymentRequest::OnPaymentResponse(mojom::blink::PaymentResponsePtr response
m_showResolver.clear();
}
-void PaymentRequest::OnError()
+void PaymentRequest::OnError(mojo::PaymentErrorReason error)
{
+ ExceptionCode ec = SyntaxError;
+ String message = "The payment request is cancelled due to unknown reasons";
please use gerrit instead 2016/07/13 15:55:26 No need to initialize this string. It will be over
pals 2016/07/14 08:37:38 Done.
+ switch (error) {
+ case mojom::blink::PaymentErrorReason::USER_CANCEL:
+ message = "User cancelled the payment request";
please use gerrit instead 2016/07/13 15:55:26 Change this to "Request cancelled" to fix the inte
pals 2016/07/14 08:37:38 Done.
+ break;
+ case mojom::blink::PaymentErrorReason::NOT_SUPPORTED:
+ ec = NotSupportedError;
+ message = "The payment method is not supported";
+ break;
+ case mojom::blink::PaymentErrorReason::UNKNOWN:
+ message = "The payment request is cancelled due to unknown reasons";
please use gerrit instead 2016/07/13 15:55:26 Let's use a shorter message, like "Request failed"
pals 2016/07/14 08:37:38 Done.
+ break;
+ }
please use gerrit instead 2016/07/13 15:55:26 DCHECK(!message.IsEmpty());
pals 2016/07/14 08:37:38 Done.
if (m_completeResolver)
- m_completeResolver->reject(DOMException::create(SyntaxError, "Request cancelled"));
+ m_completeResolver->reject(DOMException::create(ec, message));
if (m_showResolver)
- m_showResolver->reject(DOMException::create(SyntaxError, "Request cancelled"));
+ m_showResolver->reject(DOMException::create(ec, message));
if (m_abortResolver)
- m_abortResolver->reject(DOMException::create(SyntaxError, "Request cancelled"));
+ m_abortResolver->reject(DOMException::create(ec, message));
clearResolversAndCloseMojoConnection();
}

Powered by Google App Engine
This is Rietveld 408576698