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

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

Issue 2823393002: Web payment shipping address/option timeout. (Closed)
Patch Set: Created 3 years, 8 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/PaymentRequestUpdateEvent.cpp
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.cpp
index 33c95a27ff5f45c208fdbbcab491bb821b38aef4..a2df6aa75de34151097333afa67e8bfe2ad481cc 100644
--- a/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.cpp
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequestUpdateEvent.cpp
@@ -123,12 +123,28 @@ void PaymentRequestUpdateEvent::updateWith(ScriptState* script_state,
stopPropagation();
stopImmediatePropagation();
wait_for_update_ = true;
- abort_timer_.Stop();
promise.Then(
- UpdatePaymentDetailsFunction::CreateFunction(script_state, updater_),
- UpdatePaymentDetailsErrorFunction::CreateFunction(script_state,
- updater_));
+ UpdatePaymentDetailsFunction::CreateFunction(script_state, this),
+ UpdatePaymentDetailsErrorFunction::CreateFunction(script_state, this));
+}
+
+void PaymentRequestUpdateEvent::OnUpdatePaymentDetails(
+ const ScriptValue& details_script_value) {
+ if (!updater_)
+ return;
+ abort_timer_.Stop();
+ updater_->OnUpdatePaymentDetails(details_script_value);
+ updater_ = nullptr;
+}
+
+void PaymentRequestUpdateEvent::OnUpdatePaymentDetailsFailure(
+ const String& error) {
+ if (!updater_)
+ return;
+ abort_timer_.Stop();
+ updater_->OnUpdatePaymentDetailsFailure(error);
+ updater_ = nullptr;
}
DEFINE_TRACE(PaymentRequestUpdateEvent) {
@@ -137,15 +153,7 @@ DEFINE_TRACE(PaymentRequestUpdateEvent) {
}
void PaymentRequestUpdateEvent::OnUpdateEventTimeoutForTesting() {
- OnUpdateEventTimeout(0);
-}
-
-void PaymentRequestUpdateEvent::OnUpdateEventTimeout(TimerBase*) {
- if (!updater_)
- return;
-
- updater_->OnUpdatePaymentDetailsFailure(
- "Timed out as the page didn't resolve the promise from change event");
+ OnUpdateEventTimeout(nullptr);
}
PaymentRequestUpdateEvent::PaymentRequestUpdateEvent(
@@ -159,4 +167,9 @@ PaymentRequestUpdateEvent::PaymentRequestUpdateEvent(
this,
&PaymentRequestUpdateEvent::OnUpdateEventTimeout) {}
+void PaymentRequestUpdateEvent::OnUpdateEventTimeout(TimerBase*) {
+ OnUpdatePaymentDetailsFailure("Timed out waiting for a response to a '" +
+ type() + "' event");
+}
+
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698