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

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

Issue 2519403002: binding: Lets Dictionary::getPropertyNames, etc. rethrow an exception. (Closed)
Patch Set: Addressed review comments. Created 4 years, 1 month 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 657b8590fc0bc3c6e90c35ce32a05f734164eeaf..10dc9a605e61d45e4a642548af1f2ae46f80e0c5 100644
--- a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
@@ -358,14 +358,15 @@ bool validatePaymentDetails(const PaymentDetails& details,
return keepShippingOptions;
}
-void maybeSetAndroidPayMethodata(
+void maybeSetAndroidPayMethodData(
const ScriptValue& input,
- payments::mojom::blink::PaymentMethodDataPtr& output) {
+ payments::mojom::blink::PaymentMethodDataPtr& output,
+ ExceptionState& exceptionState) {
AndroidPayMethodData androidPay;
- TrackExceptionState exceptionState;
+ TrackExceptionState trackExceptionState;
V8AndroidPayMethodData::toImpl(input.isolate(), input.v8Value(), androidPay,
- exceptionState);
- if (exceptionState.hadException())
+ trackExceptionState);
+ if (trackExceptionState.hadException())
return;
if (androidPay.hasEnvironment() && androidPay.environment() == "TEST")
@@ -406,8 +407,10 @@ void maybeSetAndroidPayMethodata(
}
if (tokenization.hasParameters()) {
- Vector<String> keys;
- tokenization.parameters().getPropertyNames(keys);
+ const Vector<String>& keys =
+ tokenization.parameters().getPropertyNames(exceptionState);
+ if (exceptionState.hadException())
+ return;
output->parameters.resize(keys.size());
size_t numberOfParameters = 0;
String value;
@@ -469,7 +472,10 @@ void validateAndConvertPaymentMethodData(
output[i] = payments::mojom::blink::PaymentMethodData::New();
output[i]->supported_methods = paymentMethodData.supportedMethods();
output[i]->stringified_data = stringifiedData;
- maybeSetAndroidPayMethodata(paymentMethodData.data(), output[i]);
+ maybeSetAndroidPayMethodData(paymentMethodData.data(), output[i],
+ exceptionState);
+ if (exceptionState.hadException())
+ return;
}
}

Powered by Google App Engine
This is Rietveld 408576698