Title: [223858] trunk/Source/WebCore
- Revision
- 223858
- Author
- [email protected]
- Date
- 2017-10-23 15:14:55 -0700 (Mon, 23 Oct 2017)
Log Message
[Payment Request] Take the JSC API lock before creating the PaymentResponse.details object
https://bugs.webkit.org/show_bug.cgi?id=178686
Reviewed by Keith Miller.
This fixes several flaky crashes in http/tests/paymentrequest/ after r223855.
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::didAuthorizePayment):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (223857 => 223858)
--- trunk/Source/WebCore/ChangeLog 2017-10-23 21:58:42 UTC (rev 223857)
+++ trunk/Source/WebCore/ChangeLog 2017-10-23 22:14:55 UTC (rev 223858)
@@ -1,3 +1,15 @@
+2017-10-23 Andy Estes <[email protected]>
+
+ [Payment Request] Take the JSC API lock before creating the PaymentResponse.details object
+ https://bugs.webkit.org/show_bug.cgi?id=178686
+
+ Reviewed by Keith Miller.
+
+ This fixes several flaky crashes in http/tests/paymentrequest/ after r223855.
+
+ * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
+ (WebCore::ApplePayPaymentHandler::didAuthorizePayment):
+
2017-10-23 Joseph Pecoraro <[email protected]>
Web Inspector: Please support HAR Export for network traffic
Modified: trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp (223857 => 223858)
--- trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp 2017-10-23 21:58:42 UTC (rev 223857)
+++ trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp 2017-10-23 22:14:55 UTC (rev 223858)
@@ -290,6 +290,7 @@
{
auto applePayPayment = payment.toApplePayPayment();
auto& execState = *document().execState();
+ auto lock = JSC::JSLockHolder { &execState };
auto details = JSC::Strong<JSC::JSObject> { execState.vm(), asObject(toJS<IDLDictionary<ApplePayPayment>>(execState, *JSC::jsCast<JSDOMGlobalObject*>(execState.lexicalGlobalObject()), applePayPayment)) };
const auto& shippingContact = applePayPayment.shippingContact.value_or(ApplePayPaymentContact());
m_paymentRequest->accept(WTF::get<URL>(m_identifier).string(), WTFMove(details), convert(shippingContact), shippingContact.localizedName, shippingContact.emailAddress, shippingContact.phoneNumber);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes