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 63e221476b9c5d4619f63e40ddda08f1023310d6..e28ca800e0a2669d750bc5c61dc735cd8ba06b27 100644 |
--- a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp |
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp |
@@ -39,6 +39,7 @@ |
#include "modules/payments/PaymentsValidators.h" |
#include "mojo/public/cpp/bindings/interface_request.h" |
#include "platform/RuntimeEnabledFeatures.h" |
+#include "platform/UUID.h" |
#include "platform/mojo/MojoHelper.h" |
#include "public/platform/InterfaceProvider.h" |
#include "public/platform/Platform.h" |
@@ -521,6 +522,9 @@ void validateAndConvertPaymentDetailsInit(const PaymentDetailsInit& input, |
return; |
} |
+ if (input.id().isEmpty()) |
+ output->id = createCanonicalUUIDString(); |
+ |
validateAndConvertTotal(input.total(), output->total, exceptionState); |
} |
@@ -883,6 +887,8 @@ PaymentRequest::PaymentRequest(ExecutionContext* executionContext, |
if (exceptionState.hadException()) |
return; |
+ m_id = validatedDetails->id; |
+ |
if (m_options.requestShipping()) |
m_shippingType = getValidShippingType(m_options.shippingType()); |