WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-175730-20170819130341.patch (text/plain), 235.00 KB, created by
Andy Estes
on 2017-08-19 13:03:42 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Andy Estes
Created:
2017-08-19 13:03:42 PDT
Size:
235.00 KB
patch
obsolete
>Subversion Revision: 220947 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index e5e510e7c6e38eed504e77cc0de3dd56c0846027..378ee9c341d767c74777dcf2f6e10ebdeecdd55a 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,12 @@ >+2017-08-18 Andy Estes <aestes@apple.com> >+ >+ [Payment Request] Add interface stubs >+ https://bugs.webkit.org/show_bug.cgi?id=175730 >+ >+ Reviewed by Youenn Fablet. >+ >+ * runtime/CommonIdentifiers.h: >+ > 2017-08-18 Per Arne Vollan <pvollan@apple.com> > > Implement 32-bit MacroAssembler::probe support for Windows. >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 7694f5d2bc259d1708ca784faa335d51ab39e3b8..e4a179d20bdbef397ea6edcb8f9f7146379206df 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,60 @@ >+2017-08-18 Andy Estes <aestes@apple.com> >+ >+ [Payment Request] Add interface stubs >+ https://bugs.webkit.org/show_bug.cgi?id=175730 >+ >+ Reviewed by Youenn Fablet. >+ >+ * DerivedSources.make: >+ * Modules/paymentrequest/PaymentAddress.h: Added. >+ * Modules/paymentrequest/PaymentAddress.idl: Added. >+ * Modules/paymentrequest/PaymentComplete.h: Added. >+ * Modules/paymentrequest/PaymentComplete.idl: Added. >+ * Modules/paymentrequest/PaymentCurrencyAmount.h: Added. >+ * Modules/paymentrequest/PaymentCurrencyAmount.idl: Added. >+ * Modules/paymentrequest/PaymentDetailsBase.h: Added. >+ * Modules/paymentrequest/PaymentDetailsBase.idl: Added. >+ * Modules/paymentrequest/PaymentDetailsInit.h: Added. >+ * Modules/paymentrequest/PaymentDetailsInit.idl: Added. >+ * Modules/paymentrequest/PaymentDetailsModifier.h: Added. >+ * Modules/paymentrequest/PaymentDetailsModifier.idl: Added. >+ * Modules/paymentrequest/PaymentDetailsUpdate.h: Added. >+ * Modules/paymentrequest/PaymentDetailsUpdate.idl: Added. >+ * Modules/paymentrequest/PaymentItem.h: Added. >+ * Modules/paymentrequest/PaymentItem.idl: Added. >+ * Modules/paymentrequest/PaymentMethodData.h: Added. >+ * Modules/paymentrequest/PaymentMethodData.idl: Added. >+ * Modules/paymentrequest/PaymentOptions.h: Added. >+ * Modules/paymentrequest/PaymentOptions.idl: Added. >+ * Modules/paymentrequest/PaymentRequest.cpp: Added. >+ (WebCore::PaymentRequest::create): >+ (WebCore::PaymentRequest::PaymentRequest): >+ (WebCore::PaymentRequest::~PaymentRequest): >+ (WebCore::PaymentRequest::show): >+ (WebCore::PaymentRequest::abort): >+ (WebCore::PaymentRequest::canMakePayment): >+ * Modules/paymentrequest/PaymentRequest.h: Added. >+ * Modules/paymentrequest/PaymentRequest.idl: Added. >+ * Modules/paymentrequest/PaymentRequestUpdateEvent.cpp: Added. >+ (WebCore::PaymentRequestUpdateEvent::~PaymentRequestUpdateEvent): >+ (WebCore::PaymentRequestUpdateEvent::updateWith): >+ * Modules/paymentrequest/PaymentRequestUpdateEvent.h: Added. >+ * Modules/paymentrequest/PaymentRequestUpdateEvent.idl: Added. >+ * Modules/paymentrequest/PaymentRequestUpdateEventInit.h: Added. >+ * Modules/paymentrequest/PaymentRequestUpdateEventInit.idl: Added. >+ * Modules/paymentrequest/PaymentResponse.cpp: Added. >+ (WebCore::PaymentResponse::complete): >+ * Modules/paymentrequest/PaymentResponse.h: Added. >+ * Modules/paymentrequest/PaymentResponse.idl: Added. >+ * Modules/paymentrequest/PaymentShippingOption.h: Added. >+ * Modules/paymentrequest/PaymentShippingOption.idl: Added. >+ * Modules/paymentrequest/PaymentShippingType.h: Added. >+ * Modules/paymentrequest/PaymentShippingType.idl: Added. >+ * WebCore.xcodeproj/project.pbxproj: >+ * dom/EventNames.h: >+ * dom/EventNames.in: >+ * dom/EventTargetFactory.in: >+ > 2017-08-18 Chris Dumez <cdumez@apple.com> > > [Beacon] Improve error reporting >diff --git a/Source/JavaScriptCore/runtime/CommonIdentifiers.h b/Source/JavaScriptCore/runtime/CommonIdentifiers.h >index e88d3d5a06dc37beb489d323ecb50eeb3da649ba..143cd21e9f300fbc7d9359e13d08a3be586b5588 100644 >--- a/Source/JavaScriptCore/runtime/CommonIdentifiers.h >+++ b/Source/JavaScriptCore/runtime/CommonIdentifiers.h >@@ -99,6 +99,10 @@ > macro(NumberFormat) \ > macro(Object) \ > macro(PasswordCredential) \ >+ macro(PaymentAddress) \ >+ macro(PaymentRequest) \ >+ macro(PaymentRequestUpdateEvent) \ >+ macro(PaymentResponse) \ > macro(PerformanceEntry) \ > macro(PerformanceEntryList) \ > macro(PerformanceMark) \ >diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make >index 570c1bdfc85da0aa79339ce3fa90c0ae20bee045..41e2f8b0a22c305dd037f04bba18498db2e74e04 100644 >--- a/Source/WebCore/DerivedSources.make >+++ b/Source/WebCore/DerivedSources.make >@@ -45,6 +45,7 @@ VPATH = \ > $(WebCore)/Modules/mediasource \ > $(WebCore)/Modules/mediastream \ > $(WebCore)/Modules/notifications \ >+ $(WebCore)/Modules/paymentrequest \ > $(WebCore)/Modules/plugins \ > $(WebCore)/Modules/quota \ > $(WebCore)/Modules/speech \ >@@ -227,6 +228,22 @@ JS_BINDING_IDLS = \ > $(WebCore)/Modules/notifications/Notification.idl \ > $(WebCore)/Modules/notifications/NotificationPermission.idl \ > $(WebCore)/Modules/notifications/NotificationPermissionCallback.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentAddress.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentComplete.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentCurrencyAmount.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentDetailsBase.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentDetailsInit.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentDetailsModifier.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentDetailsUpdate.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentItem.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentMethodData.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentOptions.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentRequest.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentRequestUpdateEvent.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentRequestUpdateEventInit.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentResponse.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentShippingOption.idl \ >+ $(WebCore)/Modules/paymentrequest/PaymentShippingType.idl \ > $(WebCore)/Modules/plugins/QuickTimePluginReplacement.idl \ > $(WebCore)/Modules/quota/DOMWindowQuota.idl \ > $(WebCore)/Modules/quota/NavigatorStorageQuota.idl \ >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentAddress.h b/Source/WebCore/Modules/paymentrequest/PaymentAddress.h >new file mode 100644 >index 0000000000000000000000000000000000000000..42c7745b1964b0b533756eb6d047c814657b4c31 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentAddress.h >@@ -0,0 +1,66 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include <wtf/RefCounted.h> >+#include <wtf/Vector.h> >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+class PaymentAddress final : public RefCounted<PaymentAddress> { >+public: >+ const String& country() const { return m_country; } >+ const Vector<String>& addressLine() const { return m_addressLine; } >+ const String& region() const { return m_region; } >+ const String& city() const { return m_city; } >+ const String& dependentLocality() const { return m_dependentLocality; } >+ const String& postalCode() const { return m_postalCode; } >+ const String& sortingCode() const { return m_sortingCode; } >+ const String& languageCode() const { return m_languageCode; } >+ const String& organization() const { return m_organization; } >+ const String& recipient() const { return m_recipient; } >+ const String& phone() const { return m_phone; } >+ >+private: >+ String m_country; >+ Vector<String> m_addressLine; >+ String m_region; >+ String m_city; >+ String m_dependentLocality; >+ String m_postalCode; >+ String m_sortingCode; >+ String m_languageCode; >+ String m_organization; >+ String m_recipient; >+ String m_phone; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentAddress.idl b/Source/WebCore/Modules/paymentrequest/PaymentAddress.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..72116fce80cfa8b1fc5593f9c85df3a35088c413 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentAddress.idl >@@ -0,0 +1,44 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST, >+ EnabledBySetting=PaymentRequest, >+ ImplementationLacksVTable, >+ SecureContext >+] interface PaymentAddress { >+ serializer = { attribute }; >+ readonly attribute DOMString country; >+ readonly attribute FrozenArray<DOMString> addressLine; >+ readonly attribute DOMString region; >+ readonly attribute DOMString city; >+ readonly attribute DOMString dependentLocality; >+ readonly attribute DOMString postalCode; >+ readonly attribute DOMString sortingCode; >+ readonly attribute DOMString languageCode; >+ readonly attribute DOMString organization; >+ readonly attribute DOMString recipient; >+ readonly attribute DOMString phone; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentComplete.h b/Source/WebCore/Modules/paymentrequest/PaymentComplete.h >new file mode 100644 >index 0000000000000000000000000000000000000000..f2d51992f19c7c345f61542ada1e87f97898115d >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentComplete.h >@@ -0,0 +1,40 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+namespace WebCore { >+ >+enum class PaymentComplete { >+ Fail, >+ Success, >+ Unknown, >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentComplete.idl b/Source/WebCore/Modules/paymentrequest/PaymentComplete.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..47f5a28c0ca5eb8b786ac5eee6d084e2d435acd8 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentComplete.idl >@@ -0,0 +1,32 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] enum PaymentComplete { >+ "fail", >+ "success", >+ "unknown" >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentCurrencyAmount.h b/Source/WebCore/Modules/paymentrequest/PaymentCurrencyAmount.h >new file mode 100644 >index 0000000000000000000000000000000000000000..4b5fb2c781f042a1b22af7a4c16721d082ec9455 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentCurrencyAmount.h >@@ -0,0 +1,42 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+struct PaymentCurrencyAmount { >+ String currency; >+ String value; >+ String currencySystem; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentCurrencyAmount.idl b/Source/WebCore/Modules/paymentrequest/PaymentCurrencyAmount.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..2e8eed18b5db76b28ed323a797058e61e9d6fce8 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentCurrencyAmount.idl >@@ -0,0 +1,33 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentCurrencyAmount { >+ required DOMString currency; >+ required DOMString value; >+ // Note: currencySystem is "at risk" of being removed! >+ DOMString currencySystem = "urn:iso:std:iso:4217"; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsBase.h b/Source/WebCore/Modules/paymentrequest/PaymentDetailsBase.h >new file mode 100644 >index 0000000000000000000000000000000000000000..44203da537f0d574f2129a40ff888eed30c978ca >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsBase.h >@@ -0,0 +1,45 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "PaymentDetailsModifier.h" >+#include "PaymentItem.h" >+#include "PaymentShippingOption.h" >+#include <wtf/Vector.h> >+ >+namespace WebCore { >+ >+struct PaymentDetailsBase { >+ Vector<PaymentItem> displayItems; >+ Vector<PaymentShippingOption> shippingOptions; >+ Vector<PaymentDetailsModifier> modifiers; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsBase.idl b/Source/WebCore/Modules/paymentrequest/PaymentDetailsBase.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..449e3ee98d29107ec0cee6cc4568b308d356f5df >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsBase.idl >@@ -0,0 +1,32 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentDetailsBase { >+ sequence<PaymentItem> displayItems; >+ sequence<PaymentShippingOption> shippingOptions; >+ sequence<PaymentDetailsModifier> modifiers; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsInit.h b/Source/WebCore/Modules/paymentrequest/PaymentDetailsInit.h >new file mode 100644 >index 0000000000000000000000000000000000000000..a8c4c90d0ba0eadf7fc4f474a23d8874a06949a8 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsInit.h >@@ -0,0 +1,43 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "PaymentDetailsBase.h" >+#include "PaymentItem.h" >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+struct PaymentDetailsInit final : public PaymentDetailsBase { >+ String id; >+ PaymentItem total; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsInit.idl b/Source/WebCore/Modules/paymentrequest/PaymentDetailsInit.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..15cee33ef07fb3b9ee806f803dc7159cd61f5359 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsInit.idl >@@ -0,0 +1,31 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentDetailsInit : PaymentDetailsBase { >+ DOMString id; >+ required PaymentItem total; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsModifier.h b/Source/WebCore/Modules/paymentrequest/PaymentDetailsModifier.h >new file mode 100644 >index 0000000000000000000000000000000000000000..e46f840ba9bd0bbb4015de2be44efafa729eb239 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsModifier.h >@@ -0,0 +1,47 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "PaymentItem.h" >+#include <JavaScriptCore/JSObject.h> >+#include <JavaScriptCore/Strong.h> >+#include <wtf/Vector.h> >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+struct PaymentDetailsModifier { >+ String supportedMethods; >+ PaymentItem total; >+ Vector<PaymentItem> additionalDisplayItems; >+ JSC::Strong<JSC::JSObject> data; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsModifier.idl b/Source/WebCore/Modules/paymentrequest/PaymentDetailsModifier.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..5092e59b0846ca6d5f505c67e6c5356f94ca2f4e >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsModifier.idl >@@ -0,0 +1,33 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentDetailsModifier { >+ required DOMString supportedMethods; >+ PaymentItem total; >+ sequence<PaymentItem> additionalDisplayItems; >+ object data; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsUpdate.h b/Source/WebCore/Modules/paymentrequest/PaymentDetailsUpdate.h >new file mode 100644 >index 0000000000000000000000000000000000000000..f6837acd029cc91c8967340788207f51c2cd9692 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsUpdate.h >@@ -0,0 +1,43 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "PaymentDetailsBase.h" >+#include "PaymentItem.h" >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+struct PaymentDetailsUpdate final : public PaymentDetailsBase { >+ String error; >+ PaymentItem total; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentDetailsUpdate.idl b/Source/WebCore/Modules/paymentrequest/PaymentDetailsUpdate.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..3b87c888c823f1dee3c580f90d277ae35884bdbf >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentDetailsUpdate.idl >@@ -0,0 +1,31 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentDetailsUpdate : PaymentDetailsBase { >+ DOMString error; >+ PaymentItem total; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentItem.h b/Source/WebCore/Modules/paymentrequest/PaymentItem.h >new file mode 100644 >index 0000000000000000000000000000000000000000..d579476ff4831265c3b7c3d65149ddc0554ba6bf >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentItem.h >@@ -0,0 +1,43 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "PaymentCurrencyAmount.h" >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+struct PaymentItem { >+ String label; >+ PaymentCurrencyAmount amount; >+ bool pending { false }; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentItem.idl b/Source/WebCore/Modules/paymentrequest/PaymentItem.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..da1ae7f3a3f78b5c2735ac65efb0acda92dafe34 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentItem.idl >@@ -0,0 +1,32 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentItem { >+ required DOMString label; >+ required PaymentCurrencyAmount amount; >+ boolean pending = false; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentMethodData.h b/Source/WebCore/Modules/paymentrequest/PaymentMethodData.h >new file mode 100644 >index 0000000000000000000000000000000000000000..b63a0d101ab5864bc5bd21f641488868cf9fbace >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentMethodData.h >@@ -0,0 +1,43 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include <JavaScriptCore/JSObject.h> >+#include <JavaScriptCore/Strong.h> >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+struct PaymentMethodData { >+ String supportedMethods; >+ JSC::Strong<JSC::JSObject> data; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentMethodData.idl b/Source/WebCore/Modules/paymentrequest/PaymentMethodData.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..3532877cfbead197650745540f901636d027d6aa >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentMethodData.idl >@@ -0,0 +1,31 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentMethodData { >+ required DOMString supportedMethods; >+ object data; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentOptions.h b/Source/WebCore/Modules/paymentrequest/PaymentOptions.h >new file mode 100644 >index 0000000000000000000000000000000000000000..e91338d51b92c936951be715f4349ec5940f47fb >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentOptions.h >@@ -0,0 +1,44 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "PaymentShippingType.h" >+ >+namespace WebCore { >+ >+struct PaymentOptions { >+ bool requestPayerName { false }; >+ bool requestPayerEmail { false }; >+ bool requestPayerPhone { false }; >+ bool requestShipping { false }; >+ PaymentShippingType shippingType { PaymentShippingType::Shipping }; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentOptions.idl b/Source/WebCore/Modules/paymentrequest/PaymentOptions.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..e2a24810df0281fb3d433b65bfc639b3384f0264 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentOptions.idl >@@ -0,0 +1,34 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentOptions { >+ boolean requestPayerName = false; >+ boolean requestPayerEmail = false; >+ boolean requestPayerPhone = false; >+ boolean requestShipping = false; >+ PaymentShippingType shippingType = "shipping"; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp b/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..08c15cebaafbaf0bcedeefc6aeae62675905c727 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp >@@ -0,0 +1,76 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#include "PaymentRequest.h" >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "Document.h" >+#include "PaymentAddress.h" >+#include "PaymentOptions.h" >+#include <wtf/RunLoop.h> >+ >+namespace WebCore { >+ >+Ref<PaymentRequest> PaymentRequest::create(Document& document, Vector<PaymentMethodData>&& paymentMethodData, PaymentDetailsInit&& paymentDetails, std::optional<PaymentOptions>&& paymentOptions) >+{ >+ return adoptRef(*new PaymentRequest(document, WTFMove(paymentMethodData), WTFMove(paymentDetails), WTFMove(paymentOptions))); >+} >+ >+PaymentRequest::PaymentRequest(Document& document, Vector<PaymentMethodData>&&, PaymentDetailsInit&&, std::optional<PaymentOptions>&&) >+ : ActiveDOMObject { &document } >+{ >+ suspendIfNeeded(); >+} >+ >+PaymentRequest::~PaymentRequest() >+{ >+} >+ >+void PaymentRequest::show(DOMPromiseDeferred<IDLInterface<PaymentResponse>>&& promise) >+{ >+ RunLoop::main().dispatch([promise = WTFMove(promise)]() mutable { >+ promise.reject(Exception { NotSupportedError, ASCIILiteral("Not implemented") }); >+ }); >+} >+ >+void PaymentRequest::abort(DOMPromiseDeferred<void>&& promise) >+{ >+ RunLoop::main().dispatch([promise = WTFMove(promise)]() mutable { >+ promise.reject(Exception { NotSupportedError, ASCIILiteral("Not implemented") }); >+ }); >+} >+ >+void PaymentRequest::canMakePayment(DOMPromiseDeferred<IDLBoolean>&& promise) >+{ >+ RunLoop::main().dispatch([promise = WTFMove(promise)]() mutable { >+ promise.reject(Exception { NotSupportedError, ASCIILiteral("Not implemented") }); >+ }); >+} >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequest.h b/Source/WebCore/Modules/paymentrequest/PaymentRequest.h >new file mode 100644 >index 0000000000000000000000000000000000000000..276deac9c8b13b3c425adfe389c41975eb1fb40c >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequest.h >@@ -0,0 +1,83 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "ActiveDOMObject.h" >+#include "EventTarget.h" >+#include "JSDOMPromiseDeferred.h" >+ >+namespace WebCore { >+ >+class Document; >+class PaymentAddress; >+class PaymentResponse; >+enum class PaymentShippingType; >+struct PaymentDetailsInit; >+struct PaymentMethodData; >+struct PaymentOptions; >+ >+class PaymentRequest final : public RefCounted<PaymentRequest>, public ActiveDOMObject, public EventTargetWithInlineData { >+public: >+ static Ref<PaymentRequest> create(Document&, Vector<PaymentMethodData>&&, PaymentDetailsInit&&, std::optional<PaymentOptions>&&); >+ ~PaymentRequest(); >+ >+ void show(DOMPromiseDeferred<IDLInterface<PaymentResponse>>&&); >+ void abort(DOMPromiseDeferred<void>&&); >+ void canMakePayment(DOMPromiseDeferred<IDLBoolean>&&); >+ >+ const String& id() const { return m_id; } >+ PaymentAddress* shippingAddress() const { return m_shippingAddress.get(); } >+ const String& shippingOption() const { return m_shippingOption; } >+ std::optional<PaymentShippingType> shippingType() const { return m_shippingType; } >+ >+ using RefCounted<PaymentRequest>::ref; >+ using RefCounted<PaymentRequest>::deref; >+ >+private: >+ PaymentRequest(Document&, Vector<PaymentMethodData>&&, PaymentDetailsInit&&, std::optional<PaymentOptions>&&); >+ >+ // ActiveDOMObject >+ const char* activeDOMObjectName() const final { return "PaymentRequest"; } >+ bool canSuspendForDocumentSuspension() const final { return true; } >+ void stop() final { } >+ >+ // EventTarget >+ EventTargetInterface eventTargetInterface() const final { return PaymentRequestEventTargetInterfaceType; } >+ ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); } >+ void refEventTarget() final { ref(); } >+ void derefEventTarget() final { deref(); } >+ >+ String m_id; >+ RefPtr<PaymentAddress> m_shippingAddress; >+ String m_shippingOption; >+ std::optional<PaymentShippingType> m_shippingType; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequest.idl b/Source/WebCore/Modules/paymentrequest/PaymentRequest.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..074bbc1b694144378927ec2d1aaa8a27304a22c3 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequest.idl >@@ -0,0 +1,46 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ ActiveDOMObject, >+ Conditional=PAYMENT_REQUEST, >+ Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details, optional PaymentOptions options), >+ ConstructorCallWith=Document, >+ EnabledBySetting=PaymentRequest, >+ SecureContext >+] interface PaymentRequest : EventTarget { >+ Promise<PaymentResponse> show(); >+ Promise<void> abort(); >+ Promise<boolean> canMakePayment(); >+ >+ readonly attribute DOMString id; >+ readonly attribute PaymentAddress? shippingAddress; >+ readonly attribute DOMString? shippingOption; >+ readonly attribute PaymentShippingType? shippingType; >+ >+ attribute EventHandler onshippingaddresschange; >+ >+ attribute EventHandler onshippingoptionchange; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.cpp b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..a9aff7dd77c780cefddbaaf1e64e5cae9523f2fd >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.cpp >@@ -0,0 +1,43 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#include "PaymentRequestUpdateEvent.h" >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+namespace WebCore { >+ >+PaymentRequestUpdateEvent::~PaymentRequestUpdateEvent() >+{ >+} >+ >+void PaymentRequestUpdateEvent::updateWith(JSC::JSPromise*) >+{ >+} >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.h b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.h >new file mode 100644 >index 0000000000000000000000000000000000000000..4c4a05cc5983d2dd1b52ce4e3b580a97f0c338a2 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.h >@@ -0,0 +1,46 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "Event.h" >+ >+namespace JSC { >+class JSPromise; >+} >+ >+namespace WebCore { >+ >+class PaymentRequestUpdateEvent final : public Event { >+public: >+ ~PaymentRequestUpdateEvent(); >+ void updateWith(JSC::JSPromise*); >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.idl b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..7e52264ba98ac6d10bb212585a378ae128c4bed0 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEvent.idl >@@ -0,0 +1,33 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST, >+ Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict), >+ EnabledBySetting=PaymentRequest, >+ SecureContext >+] interface PaymentRequestUpdateEvent : Event { >+ void updateWith(Promise<PaymentDetailsUpdate> detailsPromise); >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEventInit.h b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEventInit.h >new file mode 100644 >index 0000000000000000000000000000000000000000..6b736d340c92b2ee1287f5361abdfd36f39b7f72 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEventInit.h >@@ -0,0 +1,39 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "EventInit.h" >+ >+namespace WebCore { >+ >+struct PaymentRequestUpdateEventInit final : public EventInit { >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEventInit.idl b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEventInit.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..eea71a8b2ac6bbcd9b644561fee4e8c73e492820 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentRequestUpdateEventInit.idl >@@ -0,0 +1,29 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentRequestUpdateEventInit : EventInit { >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentResponse.cpp b/Source/WebCore/Modules/paymentrequest/PaymentResponse.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..068a77ee901603dc6fb74d27d7f53ea82dd18387 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentResponse.cpp >@@ -0,0 +1,40 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#include "PaymentResponse.h" >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+namespace WebCore { >+ >+void PaymentResponse::complete(std::optional<PaymentComplete>&&, DOMPromiseDeferred<void>&& promise) >+{ >+ promise.reject(Exception { NotSupportedError, ASCIILiteral("Not implemented") }); >+} >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentResponse.h b/Source/WebCore/Modules/paymentrequest/PaymentResponse.h >new file mode 100644 >index 0000000000000000000000000000000000000000..b981b7d9e6e85fdac7450c68de9041cf40d8fb7d >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentResponse.h >@@ -0,0 +1,62 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "JSDOMPromiseDeferred.h" >+#include "PaymentAddress.h" >+#include "PaymentComplete.h" >+ >+namespace WebCore { >+ >+class PaymentResponse final : public RefCounted<PaymentResponse> { >+public: >+ const String& requestId() const { return m_requestId; } >+ const String& methodName() const { return m_methodName; } >+ const JSC::Strong<JSC::JSObject>& details() const { return m_details; } >+ const RefPtr<PaymentAddress>& shippingAddress() const { return m_shippingAddress; } >+ const String& shippingOption() const { return m_shippingOption; } >+ const String& payerName() const { return m_payerName; } >+ const String& payerEmail() const { return m_payerEmail; } >+ const String& payerPhone() const { return m_payerPhone; } >+ >+ void complete(std::optional<PaymentComplete>&&, DOMPromiseDeferred<void>&&); >+ >+private: >+ String m_requestId; >+ String m_methodName; >+ JSC::Strong<JSC::JSObject> m_details; >+ RefPtr<PaymentAddress> m_shippingAddress; >+ String m_shippingOption; >+ String m_payerName; >+ String m_payerEmail; >+ String m_payerPhone; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentResponse.idl b/Source/WebCore/Modules/paymentrequest/PaymentResponse.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..113d22d26ff76e906a07d9dffba6bccfb256b6a4 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentResponse.idl >@@ -0,0 +1,44 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST, >+ EnabledBySetting=PaymentRequest, >+ ImplementationLacksVTable, >+ SecureContext >+] interface PaymentResponse { >+ serializer = { attribute }; >+ >+ readonly attribute DOMString requestId; >+ readonly attribute DOMString methodName; >+ readonly attribute object details; >+ readonly attribute PaymentAddress? shippingAddress; >+ readonly attribute DOMString? shippingOption; >+ readonly attribute DOMString? payerName; >+ readonly attribute DOMString? payerEmail; >+ readonly attribute DOMString? payerPhone; >+ >+ Promise<void> complete(optional PaymentComplete result = "unknown"); >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentShippingOption.h b/Source/WebCore/Modules/paymentrequest/PaymentShippingOption.h >new file mode 100644 >index 0000000000000000000000000000000000000000..2ddd51ba5dabf252711530cba0c47d74683bc6c1 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentShippingOption.h >@@ -0,0 +1,44 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+#include "PaymentCurrencyAmount.h" >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+struct PaymentShippingOption { >+ String id; >+ String label; >+ PaymentCurrencyAmount amount; >+ bool selected { false }; >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentShippingOption.idl b/Source/WebCore/Modules/paymentrequest/PaymentShippingOption.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..0f689b8f4f14d38c033a31d1f08fa14afc71e91b >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentShippingOption.idl >@@ -0,0 +1,33 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] dictionary PaymentShippingOption { >+ required DOMString id; >+ required DOMString label; >+ required PaymentCurrencyAmount amount; >+ boolean selected = false; >+}; >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentShippingType.h b/Source/WebCore/Modules/paymentrequest/PaymentShippingType.h >new file mode 100644 >index 0000000000000000000000000000000000000000..e78ee6fdc8b296c3470fe2b762d55d162a15fa64 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentShippingType.h >@@ -0,0 +1,40 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#if ENABLE(PAYMENT_REQUEST) >+ >+namespace WebCore { >+ >+enum class PaymentShippingType { >+ Shipping, >+ Delivery, >+ Pickup, >+}; >+ >+} // namespace WebCore >+ >+#endif // ENABLE(PAYMENT_REQUEST) >diff --git a/Source/WebCore/Modules/paymentrequest/PaymentShippingType.idl b/Source/WebCore/Modules/paymentrequest/PaymentShippingType.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..7e34b01673bc540e1347eabc8c5e4abf8916dd54 >--- /dev/null >+++ b/Source/WebCore/Modules/paymentrequest/PaymentShippingType.idl >@@ -0,0 +1,32 @@ >+/* >+ * Copyright (C) 2017 Apple Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+[ >+ Conditional=PAYMENT_REQUEST >+] enum PaymentShippingType { >+ "shipping", >+ "delivery", >+ "pickup" >+}; >diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >index e2e517a0b3b0d4cca402a9adbaeffa8f8b206e22..c9d3cfe47e1c00f0b48ad808bd944ebfb5b61d60 100644 >--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj >+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >@@ -4359,12 +4359,63 @@ > A1C1507A1E3F2B3E0032C98C /* PreviewConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A1C150781E3F2B3E0032C98C /* PreviewConverter.h */; }; > A1C7FAA2133A5D3500D6732D /* JSXPathResultCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1C7FAA1133A5D3500D6732D /* JSXPathResultCustom.cpp */; }; > A1CC11641E493D0100EFA69C /* FileSystemMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1CC11621E493D0100EFA69C /* FileSystemMac.mm */; }; >+ A1CC56661F46147400A4555B /* JSPaymentAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC565F1F46146100A4555B /* JSPaymentAddress.cpp */; }; >+ A1CC56671F46147A00A4555B /* JSPaymentAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC56651F46146800A4555B /* JSPaymentAddress.h */; }; >+ A1CC56681F46147D00A4555B /* JSPaymentComplete.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56601F46146200A4555B /* JSPaymentComplete.cpp */; }; >+ A1CC56691F46148000A4555B /* JSPaymentComplete.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC564E1F46145200A4555B /* JSPaymentComplete.h */; }; >+ A1CC566A1F46148200A4555B /* JSPaymentCurrencyAmount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC565D1F46146000A4555B /* JSPaymentCurrencyAmount.cpp */; }; >+ A1CC566B1F46148500A4555B /* JSPaymentCurrencyAmount.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC56631F46146600A4555B /* JSPaymentCurrencyAmount.h */; }; >+ A1CC566C1F46148700A4555B /* JSPaymentDetailsBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56561F46145900A4555B /* JSPaymentDetailsBase.cpp */; }; >+ A1CC566D1F46148A00A4555B /* JSPaymentDetailsBase.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC56511F46145400A4555B /* JSPaymentDetailsBase.h */; }; >+ A1CC566E1F46148C00A4555B /* JSPaymentDetailsInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56551F46145800A4555B /* JSPaymentDetailsInit.cpp */; }; >+ A1CC566F1F46148E00A4555B /* JSPaymentDetailsInit.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC565A1F46145D00A4555B /* JSPaymentDetailsInit.h */; }; >+ A1CC56701F46149100A4555B /* JSPaymentDetailsModifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56521F46145500A4555B /* JSPaymentDetailsModifier.cpp */; }; >+ A1CC56711F46149300A4555B /* JSPaymentDetailsModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC565B1F46145E00A4555B /* JSPaymentDetailsModifier.h */; }; >+ A1CC56721F46149500A4555B /* JSPaymentItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56621F46146500A4555B /* JSPaymentItem.cpp */; }; >+ A1CC56731F46149800A4555B /* JSPaymentItem.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC564F1F46145200A4555B /* JSPaymentItem.h */; }; >+ A1CC56741F46149B00A4555B /* JSPaymentMethodData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC564D1F46145100A4555B /* JSPaymentMethodData.cpp */; }; >+ A1CC56751F46149D00A4555B /* JSPaymentMethodData.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC564C1F46145000A4555B /* JSPaymentMethodData.h */; }; >+ A1CC56761F4614A000A4555B /* JSPaymentOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56531F46145600A4555B /* JSPaymentOptions.cpp */; }; >+ A1CC56771F4614A200A4555B /* JSPaymentOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC565C1F46145F00A4555B /* JSPaymentOptions.h */; }; >+ A1CC56781F4614A500A4555B /* JSPaymentRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56541F46145700A4555B /* JSPaymentRequest.cpp */; }; >+ A1CC56791F4614A700A4555B /* JSPaymentRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC56571F46145A00A4555B /* JSPaymentRequest.h */; }; >+ A1CC567A1F4614AA00A4555B /* JSPaymentResponse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56581F46145B00A4555B /* JSPaymentResponse.cpp */; }; >+ A1CC567B1F4614AD00A4555B /* JSPaymentResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC56641F46146700A4555B /* JSPaymentResponse.h */; }; >+ A1CC567C1F4614AF00A4555B /* JSPaymentShippingOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC56611F46146400A4555B /* JSPaymentShippingOption.cpp */; }; >+ A1CC567D1F4614B200A4555B /* JSPaymentShippingOption.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC56591F46145C00A4555B /* JSPaymentShippingOption.h */; }; >+ A1CC567E1F4614B400A4555B /* JSPaymentShippingType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1CC565E1F46146100A4555B /* JSPaymentShippingType.cpp */; }; >+ A1CC567F1F4614B700A4555B /* JSPaymentShippingType.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CC56501F46145300A4555B /* JSPaymentShippingType.h */; }; > A1DE712D18612AC100734192 /* TouchEvents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1DE712B18612AC100734192 /* TouchEvents.cpp */; }; > A1E1154413015C3D0054AC8C /* DistantLightSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1E1154313015C3D0054AC8C /* DistantLightSource.cpp */; }; > A1E1154613015C4E0054AC8C /* PointLightSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1E1154513015C4E0054AC8C /* PointLightSource.cpp */; }; > A1E1154813015C5D0054AC8C /* SpotLightSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1E1154713015C5D0054AC8C /* SpotLightSource.cpp */; }; > A1ED778C1BE3294000DC1791 /* Device.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1ED778A1BE3293F00DC1791 /* Device.cpp */; }; > A1ED778D1BE3294000DC1791 /* Device.h in Headers */ = {isa = PBXBuildFile; fileRef = A1ED778B1BE3294000DC1791 /* Device.h */; settings = {ATTRIBUTES = (Private, ); }; }; >+ A1F600441F4757A90077E83F /* PaymentRequestUpdateEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F600411F4757A90077E83F /* PaymentRequestUpdateEvent.h */; }; >+ A1F600451F4757A90077E83F /* PaymentRequestUpdateEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F600421F4757A90077E83F /* PaymentRequestUpdateEvent.cpp */; }; >+ A1F600491F47594E0077E83F /* PaymentDetailsUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F600471F47594E0077E83F /* PaymentDetailsUpdate.h */; }; >+ A1F6004D1F475A5E0077E83F /* PaymentRequestUpdateEventInit.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F6004B1F475A5E0077E83F /* PaymentRequestUpdateEventInit.h */; }; >+ A1F600551F4765050077E83F /* JSPaymentDetailsUpdate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F6004F1F4764FD0077E83F /* JSPaymentDetailsUpdate.cpp */; }; >+ A1F600561F4765050077E83F /* JSPaymentRequestUpdateEventInit.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F600501F4764FE0077E83F /* JSPaymentRequestUpdateEventInit.h */; }; >+ A1F600571F4765050077E83F /* JSPaymentRequestUpdateEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F600511F4765000077E83F /* JSPaymentRequestUpdateEvent.cpp */; }; >+ A1F600581F4765050077E83F /* JSPaymentRequestUpdateEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F600521F4765010077E83F /* JSPaymentRequestUpdateEvent.h */; }; >+ A1F600591F4765050077E83F /* JSPaymentRequestUpdateEventInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F600531F4765020077E83F /* JSPaymentRequestUpdateEventInit.cpp */; }; >+ A1F6005A1F4765050077E83F /* JSPaymentDetailsUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F600541F4765040077E83F /* JSPaymentDetailsUpdate.h */; }; >+ A1F76B131F44C2450014C318 /* PaymentRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B101F44C2450014C318 /* PaymentRequest.h */; }; >+ A1F76B141F44C2450014C318 /* PaymentRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F76B111F44C2450014C318 /* PaymentRequest.cpp */; }; >+ A1F76B191F44C3900014C318 /* PaymentMethodData.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B161F44C3900014C318 /* PaymentMethodData.h */; }; >+ A1F76B1F1F44C3FE0014C318 /* PaymentDetailsBase.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B1C1F44C3FE0014C318 /* PaymentDetailsBase.h */; }; >+ A1F76B251F44C4910014C318 /* PaymentDetailsInit.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B221F44C4910014C318 /* PaymentDetailsInit.h */; }; >+ A1F76B2B1F44C4EF0014C318 /* PaymentOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B281F44C4EF0014C318 /* PaymentOptions.h */; }; >+ A1F76B311F44C55A0014C318 /* PaymentItem.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B2E1F44C55A0014C318 /* PaymentItem.h */; }; >+ A1F76B371F44C60F0014C318 /* PaymentCurrencyAmount.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B341F44C60F0014C318 /* PaymentCurrencyAmount.h */; }; >+ A1F76B3D1F44CF240014C318 /* PaymentResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B3A1F44CF240014C318 /* PaymentResponse.h */; }; >+ A1F76B3E1F44CF240014C318 /* PaymentResponse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1F76B3B1F44CF240014C318 /* PaymentResponse.cpp */; }; >+ A1F76B431F44CF7F0014C318 /* PaymentAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B401F44CF7F0014C318 /* PaymentAddress.h */; }; >+ A1F76B491F44D07A0014C318 /* PaymentShippingType.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B461F44D07A0014C318 /* PaymentShippingType.h */; }; >+ A1F76B4F1F44D2420014C318 /* PaymentDetailsModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B4C1F44D2420014C318 /* PaymentDetailsModifier.h */; }; >+ A1F76B551F44D2C70014C318 /* PaymentShippingOption.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B521F44D2C70014C318 /* PaymentShippingOption.h */; }; >+ A1F76B5B1F44D3B20014C318 /* PaymentComplete.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F76B581F44D3B20014C318 /* PaymentComplete.h */; }; > A1F78D0C1C25424C00245446 /* ResourceResponseCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1F78D0B1C25422C00245446 /* ResourceResponseCocoa.mm */; }; > A2B9217316C5CC420041DCD9 /* IntRectExtent.h in Headers */ = {isa = PBXBuildFile; fileRef = A2B9217216C5CC420041DCD9 /* IntRectExtent.h */; settings = {ATTRIBUTES = (Private, ); }; }; > A31C4E4D16E02AA6002F7957 /* OESTextureHalfFloat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A31C4E4C16E02AA6002F7957 /* OESTextureHalfFloat.cpp */; }; >@@ -12621,12 +12672,79 @@ > A1C150781E3F2B3E0032C98C /* PreviewConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreviewConverter.h; sourceTree = "<group>"; }; > A1C7FAA1133A5D3500D6732D /* JSXPathResultCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSXPathResultCustom.cpp; sourceTree = "<group>"; }; > A1CC11621E493D0100EFA69C /* FileSystemMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FileSystemMac.mm; sourceTree = "<group>"; }; >+ A1CC564C1F46145000A4555B /* JSPaymentMethodData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentMethodData.h; sourceTree = "<group>"; }; >+ A1CC564D1F46145100A4555B /* JSPaymentMethodData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentMethodData.cpp; sourceTree = "<group>"; }; >+ A1CC564E1F46145200A4555B /* JSPaymentComplete.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentComplete.h; sourceTree = "<group>"; }; >+ A1CC564F1F46145200A4555B /* JSPaymentItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentItem.h; sourceTree = "<group>"; }; >+ A1CC56501F46145300A4555B /* JSPaymentShippingType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentShippingType.h; sourceTree = "<group>"; }; >+ A1CC56511F46145400A4555B /* JSPaymentDetailsBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentDetailsBase.h; sourceTree = "<group>"; }; >+ A1CC56521F46145500A4555B /* JSPaymentDetailsModifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentDetailsModifier.cpp; sourceTree = "<group>"; }; >+ A1CC56531F46145600A4555B /* JSPaymentOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentOptions.cpp; sourceTree = "<group>"; }; >+ A1CC56541F46145700A4555B /* JSPaymentRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentRequest.cpp; sourceTree = "<group>"; }; >+ A1CC56551F46145800A4555B /* JSPaymentDetailsInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentDetailsInit.cpp; sourceTree = "<group>"; }; >+ A1CC56561F46145900A4555B /* JSPaymentDetailsBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentDetailsBase.cpp; sourceTree = "<group>"; }; >+ A1CC56571F46145A00A4555B /* JSPaymentRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentRequest.h; sourceTree = "<group>"; }; >+ A1CC56581F46145B00A4555B /* JSPaymentResponse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentResponse.cpp; sourceTree = "<group>"; }; >+ A1CC56591F46145C00A4555B /* JSPaymentShippingOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentShippingOption.h; sourceTree = "<group>"; }; >+ A1CC565A1F46145D00A4555B /* JSPaymentDetailsInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentDetailsInit.h; sourceTree = "<group>"; }; >+ A1CC565B1F46145E00A4555B /* JSPaymentDetailsModifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentDetailsModifier.h; sourceTree = "<group>"; }; >+ A1CC565C1F46145F00A4555B /* JSPaymentOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentOptions.h; sourceTree = "<group>"; }; >+ A1CC565D1F46146000A4555B /* JSPaymentCurrencyAmount.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentCurrencyAmount.cpp; sourceTree = "<group>"; }; >+ A1CC565E1F46146100A4555B /* JSPaymentShippingType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentShippingType.cpp; sourceTree = "<group>"; }; >+ A1CC565F1F46146100A4555B /* JSPaymentAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentAddress.cpp; sourceTree = "<group>"; }; >+ A1CC56601F46146200A4555B /* JSPaymentComplete.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentComplete.cpp; sourceTree = "<group>"; }; >+ A1CC56611F46146400A4555B /* JSPaymentShippingOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentShippingOption.cpp; sourceTree = "<group>"; }; >+ A1CC56621F46146500A4555B /* JSPaymentItem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentItem.cpp; sourceTree = "<group>"; }; >+ A1CC56631F46146600A4555B /* JSPaymentCurrencyAmount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentCurrencyAmount.h; sourceTree = "<group>"; }; >+ A1CC56641F46146700A4555B /* JSPaymentResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentResponse.h; sourceTree = "<group>"; }; >+ A1CC56651F46146800A4555B /* JSPaymentAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentAddress.h; sourceTree = "<group>"; }; > A1DE712B18612AC100734192 /* TouchEvents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TouchEvents.cpp; sourceTree = "<group>"; }; > A1E1154313015C3D0054AC8C /* DistantLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DistantLightSource.cpp; sourceTree = "<group>"; }; > A1E1154513015C4E0054AC8C /* PointLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PointLightSource.cpp; sourceTree = "<group>"; }; > A1E1154713015C5D0054AC8C /* SpotLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpotLightSource.cpp; sourceTree = "<group>"; }; > A1ED778A1BE3293F00DC1791 /* Device.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Device.cpp; sourceTree = "<group>"; }; > A1ED778B1BE3294000DC1791 /* Device.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Device.h; sourceTree = "<group>"; }; >+ A1F600411F4757A90077E83F /* PaymentRequestUpdateEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentRequestUpdateEvent.h; sourceTree = "<group>"; }; >+ A1F600421F4757A90077E83F /* PaymentRequestUpdateEvent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PaymentRequestUpdateEvent.cpp; sourceTree = "<group>"; }; >+ A1F600431F4757A90077E83F /* PaymentRequestUpdateEvent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentRequestUpdateEvent.idl; sourceTree = "<group>"; }; >+ A1F600471F47594E0077E83F /* PaymentDetailsUpdate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentDetailsUpdate.h; sourceTree = "<group>"; }; >+ A1F600481F47594E0077E83F /* PaymentDetailsUpdate.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentDetailsUpdate.idl; sourceTree = "<group>"; }; >+ A1F6004B1F475A5E0077E83F /* PaymentRequestUpdateEventInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentRequestUpdateEventInit.h; sourceTree = "<group>"; }; >+ A1F6004C1F475A5E0077E83F /* PaymentRequestUpdateEventInit.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentRequestUpdateEventInit.idl; sourceTree = "<group>"; }; >+ A1F6004F1F4764FD0077E83F /* JSPaymentDetailsUpdate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentDetailsUpdate.cpp; sourceTree = "<group>"; }; >+ A1F600501F4764FE0077E83F /* JSPaymentRequestUpdateEventInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentRequestUpdateEventInit.h; sourceTree = "<group>"; }; >+ A1F600511F4765000077E83F /* JSPaymentRequestUpdateEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentRequestUpdateEvent.cpp; sourceTree = "<group>"; }; >+ A1F600521F4765010077E83F /* JSPaymentRequestUpdateEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentRequestUpdateEvent.h; sourceTree = "<group>"; }; >+ A1F600531F4765020077E83F /* JSPaymentRequestUpdateEventInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPaymentRequestUpdateEventInit.cpp; sourceTree = "<group>"; }; >+ A1F600541F4765040077E83F /* JSPaymentDetailsUpdate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPaymentDetailsUpdate.h; sourceTree = "<group>"; }; >+ A1F76B101F44C2450014C318 /* PaymentRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentRequest.h; sourceTree = "<group>"; }; >+ A1F76B111F44C2450014C318 /* PaymentRequest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PaymentRequest.cpp; sourceTree = "<group>"; }; >+ A1F76B121F44C2450014C318 /* PaymentRequest.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentRequest.idl; sourceTree = "<group>"; }; >+ A1F76B161F44C3900014C318 /* PaymentMethodData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentMethodData.h; sourceTree = "<group>"; }; >+ A1F76B181F44C3900014C318 /* PaymentMethodData.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentMethodData.idl; sourceTree = "<group>"; }; >+ A1F76B1C1F44C3FE0014C318 /* PaymentDetailsBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentDetailsBase.h; sourceTree = "<group>"; }; >+ A1F76B1E1F44C3FE0014C318 /* PaymentDetailsBase.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentDetailsBase.idl; sourceTree = "<group>"; }; >+ A1F76B221F44C4910014C318 /* PaymentDetailsInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentDetailsInit.h; sourceTree = "<group>"; }; >+ A1F76B241F44C4910014C318 /* PaymentDetailsInit.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentDetailsInit.idl; sourceTree = "<group>"; }; >+ A1F76B281F44C4EF0014C318 /* PaymentOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentOptions.h; sourceTree = "<group>"; }; >+ A1F76B2A1F44C4EF0014C318 /* PaymentOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentOptions.idl; sourceTree = "<group>"; }; >+ A1F76B2E1F44C55A0014C318 /* PaymentItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentItem.h; sourceTree = "<group>"; }; >+ A1F76B301F44C55A0014C318 /* PaymentItem.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentItem.idl; sourceTree = "<group>"; }; >+ A1F76B341F44C60F0014C318 /* PaymentCurrencyAmount.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentCurrencyAmount.h; sourceTree = "<group>"; }; >+ A1F76B361F44C60F0014C318 /* PaymentCurrencyAmount.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentCurrencyAmount.idl; sourceTree = "<group>"; }; >+ A1F76B3A1F44CF240014C318 /* PaymentResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentResponse.h; sourceTree = "<group>"; }; >+ A1F76B3B1F44CF240014C318 /* PaymentResponse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PaymentResponse.cpp; sourceTree = "<group>"; }; >+ A1F76B3C1F44CF240014C318 /* PaymentResponse.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentResponse.idl; sourceTree = "<group>"; }; >+ A1F76B401F44CF7F0014C318 /* PaymentAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentAddress.h; sourceTree = "<group>"; }; >+ A1F76B421F44CF7F0014C318 /* PaymentAddress.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentAddress.idl; sourceTree = "<group>"; }; >+ A1F76B461F44D07A0014C318 /* PaymentShippingType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentShippingType.h; sourceTree = "<group>"; }; >+ A1F76B481F44D07A0014C318 /* PaymentShippingType.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentShippingType.idl; sourceTree = "<group>"; }; >+ A1F76B4C1F44D2420014C318 /* PaymentDetailsModifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentDetailsModifier.h; sourceTree = "<group>"; }; >+ A1F76B4E1F44D2420014C318 /* PaymentDetailsModifier.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentDetailsModifier.idl; sourceTree = "<group>"; }; >+ A1F76B521F44D2C70014C318 /* PaymentShippingOption.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentShippingOption.h; sourceTree = "<group>"; }; >+ A1F76B541F44D2C70014C318 /* PaymentShippingOption.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentShippingOption.idl; sourceTree = "<group>"; }; >+ A1F76B581F44D3B20014C318 /* PaymentComplete.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PaymentComplete.h; sourceTree = "<group>"; }; >+ A1F76B5A1F44D3B20014C318 /* PaymentComplete.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = PaymentComplete.idl; sourceTree = "<group>"; }; > A1F78D0B1C25422C00245446 /* ResourceResponseCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ResourceResponseCocoa.mm; sourceTree = "<group>"; }; > A208E222A56A0C7575F2A72E /* RenderMathMLMenclose.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMathMLMenclose.h; sourceTree = "<group>"; }; > A2B9217216C5CC420041DCD9 /* IntRectExtent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntRectExtent.h; sourceTree = "<group>"; }; >@@ -16735,6 +16853,7 @@ > 07CFD99317D01405001C4FFC /* MediaStream */, > 33503C9C10179A9A003B47E1 /* Notifications */, > 1AC226020DB69EA70089B669 /* Offline */, >+ A1CC564A1F4613BB00A4555B /* PaymentRequest */, > A9D247F90D757E4100FDF959 /* Plugins */, > 89F60B17157F6A020075E157 /* Quota */, > BC9854460CD3DA5F00069BC1 /* Ranges */, >@@ -20705,6 +20824,7 @@ > 07221B4617CEC32700848E51 /* mediastream */, > 71D6AA391DA4EAF700B23969 /* modern-media-controls */, > 333F703D0FB49C16008E12A6 /* notifications */, >+ A1F76B0E1F44C0CF0014C318 /* paymentrequest */, > 072AE1DE183C0513000A5988 /* plugins */, > 89F60B08157F68350075E157 /* quota */, > AA2A5AB716A485A400975A25 /* speech */, >@@ -21104,6 +21224,87 @@ > path = cocoa; > sourceTree = "<group>"; > }; >+ A1CC564A1F4613BB00A4555B /* PaymentRequest */ = { >+ isa = PBXGroup; >+ children = ( >+ A1CC565F1F46146100A4555B /* JSPaymentAddress.cpp */, >+ A1CC56651F46146800A4555B /* JSPaymentAddress.h */, >+ A1CC56601F46146200A4555B /* JSPaymentComplete.cpp */, >+ A1CC564E1F46145200A4555B /* JSPaymentComplete.h */, >+ A1CC565D1F46146000A4555B /* JSPaymentCurrencyAmount.cpp */, >+ A1CC56631F46146600A4555B /* JSPaymentCurrencyAmount.h */, >+ A1CC56561F46145900A4555B /* JSPaymentDetailsBase.cpp */, >+ A1CC56511F46145400A4555B /* JSPaymentDetailsBase.h */, >+ A1CC56551F46145800A4555B /* JSPaymentDetailsInit.cpp */, >+ A1CC565A1F46145D00A4555B /* JSPaymentDetailsInit.h */, >+ A1CC56521F46145500A4555B /* JSPaymentDetailsModifier.cpp */, >+ A1CC565B1F46145E00A4555B /* JSPaymentDetailsModifier.h */, >+ A1F6004F1F4764FD0077E83F /* JSPaymentDetailsUpdate.cpp */, >+ A1F600541F4765040077E83F /* JSPaymentDetailsUpdate.h */, >+ A1CC56621F46146500A4555B /* JSPaymentItem.cpp */, >+ A1CC564F1F46145200A4555B /* JSPaymentItem.h */, >+ A1CC564D1F46145100A4555B /* JSPaymentMethodData.cpp */, >+ A1CC564C1F46145000A4555B /* JSPaymentMethodData.h */, >+ A1CC56531F46145600A4555B /* JSPaymentOptions.cpp */, >+ A1CC565C1F46145F00A4555B /* JSPaymentOptions.h */, >+ A1CC56541F46145700A4555B /* JSPaymentRequest.cpp */, >+ A1CC56571F46145A00A4555B /* JSPaymentRequest.h */, >+ A1F600511F4765000077E83F /* JSPaymentRequestUpdateEvent.cpp */, >+ A1F600521F4765010077E83F /* JSPaymentRequestUpdateEvent.h */, >+ A1F600531F4765020077E83F /* JSPaymentRequestUpdateEventInit.cpp */, >+ A1F600501F4764FE0077E83F /* JSPaymentRequestUpdateEventInit.h */, >+ A1CC56581F46145B00A4555B /* JSPaymentResponse.cpp */, >+ A1CC56641F46146700A4555B /* JSPaymentResponse.h */, >+ A1CC56611F46146400A4555B /* JSPaymentShippingOption.cpp */, >+ A1CC56591F46145C00A4555B /* JSPaymentShippingOption.h */, >+ A1CC565E1F46146100A4555B /* JSPaymentShippingType.cpp */, >+ A1CC56501F46145300A4555B /* JSPaymentShippingType.h */, >+ ); >+ name = PaymentRequest; >+ sourceTree = "<group>"; >+ }; >+ A1F76B0E1F44C0CF0014C318 /* paymentrequest */ = { >+ isa = PBXGroup; >+ children = ( >+ A1F76B401F44CF7F0014C318 /* PaymentAddress.h */, >+ A1F76B421F44CF7F0014C318 /* PaymentAddress.idl */, >+ A1F76B581F44D3B20014C318 /* PaymentComplete.h */, >+ A1F76B5A1F44D3B20014C318 /* PaymentComplete.idl */, >+ A1F76B341F44C60F0014C318 /* PaymentCurrencyAmount.h */, >+ A1F76B361F44C60F0014C318 /* PaymentCurrencyAmount.idl */, >+ A1F76B1C1F44C3FE0014C318 /* PaymentDetailsBase.h */, >+ A1F76B1E1F44C3FE0014C318 /* PaymentDetailsBase.idl */, >+ A1F76B221F44C4910014C318 /* PaymentDetailsInit.h */, >+ A1F76B241F44C4910014C318 /* PaymentDetailsInit.idl */, >+ A1F76B4C1F44D2420014C318 /* PaymentDetailsModifier.h */, >+ A1F76B4E1F44D2420014C318 /* PaymentDetailsModifier.idl */, >+ A1F600471F47594E0077E83F /* PaymentDetailsUpdate.h */, >+ A1F600481F47594E0077E83F /* PaymentDetailsUpdate.idl */, >+ A1F76B2E1F44C55A0014C318 /* PaymentItem.h */, >+ A1F76B301F44C55A0014C318 /* PaymentItem.idl */, >+ A1F76B161F44C3900014C318 /* PaymentMethodData.h */, >+ A1F76B181F44C3900014C318 /* PaymentMethodData.idl */, >+ A1F76B281F44C4EF0014C318 /* PaymentOptions.h */, >+ A1F76B2A1F44C4EF0014C318 /* PaymentOptions.idl */, >+ A1F76B111F44C2450014C318 /* PaymentRequest.cpp */, >+ A1F76B101F44C2450014C318 /* PaymentRequest.h */, >+ A1F76B121F44C2450014C318 /* PaymentRequest.idl */, >+ A1F600421F4757A90077E83F /* PaymentRequestUpdateEvent.cpp */, >+ A1F600411F4757A90077E83F /* PaymentRequestUpdateEvent.h */, >+ A1F600431F4757A90077E83F /* PaymentRequestUpdateEvent.idl */, >+ A1F6004B1F475A5E0077E83F /* PaymentRequestUpdateEventInit.h */, >+ A1F6004C1F475A5E0077E83F /* PaymentRequestUpdateEventInit.idl */, >+ A1F76B3B1F44CF240014C318 /* PaymentResponse.cpp */, >+ A1F76B3A1F44CF240014C318 /* PaymentResponse.h */, >+ A1F76B3C1F44CF240014C318 /* PaymentResponse.idl */, >+ A1F76B521F44D2C70014C318 /* PaymentShippingOption.h */, >+ A1F76B541F44D2C70014C318 /* PaymentShippingOption.idl */, >+ A1F76B461F44D07A0014C318 /* PaymentShippingType.h */, >+ A1F76B481F44D07A0014C318 /* PaymentShippingType.idl */, >+ ); >+ path = paymentrequest; >+ sourceTree = "<group>"; >+ }; > A516E8B2136E04C00076C3C0 /* ios */ = { > isa = PBXGroup; > children = ( >@@ -27752,7 +27953,6 @@ > 1AE96A8D1D1A0DDD00B86768 /* JSApplePayPaymentMethodSelectedEvent.h in Headers */, > 7C65231A1E00DBB500677F22 /* JSApplePayPaymentPass.h in Headers */, > 7C6579F21E00856600E3A27A /* JSApplePayPaymentRequest.h in Headers */, >- E48E332C1F47037C00BAB0EF /* RenderTreeUpdaterFirstLetter.h in Headers */, > 1AE96A8F1D1A0DDD00B86768 /* JSApplePaySession.h in Headers */, > 1AE96A911D1A0DDD00B86768 /* JSApplePayShippingContactSelectedEvent.h in Headers */, > 7C6579F41E00856600E3A27A /* JSApplePayShippingMethod.h in Headers */, >@@ -28158,6 +28358,22 @@ > FDA15EB212B03EE1003A583A /* JSPannerNode.h in Headers */, > 57B5F7F11E5B8C5A00F34F90 /* JSPasswordCredential.h in Headers */, > 77D50FF81ED4D9A000DA4C87 /* JSPasswordCredentialData.h in Headers */, >+ A1CC56671F46147A00A4555B /* JSPaymentAddress.h in Headers */, >+ A1CC56691F46148000A4555B /* JSPaymentComplete.h in Headers */, >+ A1CC566B1F46148500A4555B /* JSPaymentCurrencyAmount.h in Headers */, >+ A1CC566D1F46148A00A4555B /* JSPaymentDetailsBase.h in Headers */, >+ A1CC566F1F46148E00A4555B /* JSPaymentDetailsInit.h in Headers */, >+ A1CC56711F46149300A4555B /* JSPaymentDetailsModifier.h in Headers */, >+ A1F6005A1F4765050077E83F /* JSPaymentDetailsUpdate.h in Headers */, >+ A1CC56731F46149800A4555B /* JSPaymentItem.h in Headers */, >+ A1CC56751F46149D00A4555B /* JSPaymentMethodData.h in Headers */, >+ A1CC56771F4614A200A4555B /* JSPaymentOptions.h in Headers */, >+ A1CC56791F4614A700A4555B /* JSPaymentRequest.h in Headers */, >+ A1F600581F4765050077E83F /* JSPaymentRequestUpdateEvent.h in Headers */, >+ A1F600561F4765050077E83F /* JSPaymentRequestUpdateEventInit.h in Headers */, >+ A1CC567B1F4614AD00A4555B /* JSPaymentResponse.h in Headers */, >+ A1CC567D1F4614B200A4555B /* JSPaymentShippingOption.h in Headers */, >+ A1CC567F1F4614B700A4555B /* JSPaymentShippingType.h in Headers */, > 57E657F01E71665400F941CA /* JSPbkdf2Params.h in Headers */, > 8A9A587511E84C81008ACFD1 /* JSPerformance.h in Headers */, > CB38FD521CCF939400592A3F /* JSPerformanceEntry.h in Headers */, >@@ -28728,7 +28944,6 @@ > 709A01FE1E3D0BDD006B0D4C /* ModuleFetchFailureKind.h in Headers */, > F55B3DC61251F12D003EF269 /* MonthInputType.h in Headers */, > 85031B460A44EFC700F992E0 /* MouseEvent.h in Headers */, >- 517A52F01F47535B00DCDC0A /* SWServer.h in Headers */, > 83765F951DAC522F00C06537 /* MouseEventInit.h in Headers */, > 935C476309AC4CE600A6AAB4 /* MouseEventWithHitTestResults.h in Headers */, > 85031B480A44EFC700F992E0 /* MouseRelatedEvent.h in Headers */, >@@ -28885,14 +29100,30 @@ > A8FA6E5D0E4CFDED00D5CF49 /* Pattern.h in Headers */, > B22279710D00BF220071B782 /* PatternAttributes.h in Headers */, > 1A8A643A1D19FC5300D0E00F /* Payment.h in Headers */, >+ A1F76B431F44CF7F0014C318 /* PaymentAddress.h in Headers */, > 1AE96A881D1A0CEB00B86768 /* PaymentAuthorizationStatus.h in Headers */, >+ A1F76B5B1F44D3B20014C318 /* PaymentComplete.h in Headers */, > 1A8A643B1D19FC5300D0E00F /* PaymentContact.h in Headers */, > 1A58E86E1D19E42D00C0EA73 /* PaymentCoordinator.h in Headers */, > 1A58E8661D19D4F000C0EA73 /* PaymentCoordinatorClient.h in Headers */, >+ A1F76B371F44C60F0014C318 /* PaymentCurrencyAmount.h in Headers */, >+ A1F76B1F1F44C3FE0014C318 /* PaymentDetailsBase.h in Headers */, >+ A1F76B251F44C4910014C318 /* PaymentDetailsInit.h in Headers */, >+ A1F76B4F1F44D2420014C318 /* PaymentDetailsModifier.h in Headers */, >+ A1F600491F47594E0077E83F /* PaymentDetailsUpdate.h in Headers */, > 7CF930E71E01F9B400BAFFBE /* PaymentHeaders.h in Headers */, >+ A1F76B311F44C55A0014C318 /* PaymentItem.h in Headers */, > 1AE96A891D1A0CEB00B86768 /* PaymentMerchantSession.h in Headers */, > 1A8A643C1D19FC5300D0E00F /* PaymentMethod.h in Headers */, >+ A1F76B191F44C3900014C318 /* PaymentMethodData.h in Headers */, >+ A1F76B2B1F44C4EF0014C318 /* PaymentOptions.h in Headers */, >+ A1F76B131F44C2450014C318 /* PaymentRequest.h in Headers */, >+ A1F600441F4757A90077E83F /* PaymentRequestUpdateEvent.h in Headers */, >+ A1F6004D1F475A5E0077E83F /* PaymentRequestUpdateEventInit.h in Headers */, > 1A8A64681D19FDFF00D0E00F /* PaymentRequestValidator.h in Headers */, >+ A1F76B3D1F44CF240014C318 /* PaymentResponse.h in Headers */, >+ A1F76B551F44D2C70014C318 /* PaymentShippingOption.h in Headers */, >+ A1F76B491F44D07A0014C318 /* PaymentShippingType.h in Headers */, > B27535650B053814002CE64F /* PDFDocumentImage.h in Headers */, > 5E2C43511BCEE2F60001E2BC /* PeerConnectionBackend.h in Headers */, > 5EBB89391C77C39900C65D41 /* PeerMediaDescription.h in Headers */, >@@ -29185,6 +29416,8 @@ > 93F1998C08245E59001E9ABC /* RenderTreeAsText.h in Headers */, > 5824ABAB1AE849C8009074B7 /* RenderTreePosition.h in Headers */, > E46180291C8A06CD0026C02C /* RenderTreeUpdater.h in Headers */, >+ E48E332C1F47037C00BAB0EF /* RenderTreeUpdaterFirstLetter.h in Headers */, >+ E48E332E1F47038000BAB0EF /* RenderTreeUpdaterListItem.h in Headers */, > E44614520CD68A3500FADA75 /* RenderVideo.h in Headers */, > BCEA4868097D93020094C9E4 /* RenderView.h in Headers */, > BE20507E18A458C20080647E /* RenderVTTCue.h in Headers */, >@@ -29752,7 +29985,6 @@ > BC22747B0E8366E200E7F975 /* SVGRenderStyleDefs.h in Headers */, > 436708F212D9CA4B00044234 /* SVGRenderSupport.h in Headers */, > 436708F412D9CA4B00044234 /* SVGRenderTreeAsText.h in Headers */, >- E48E332E1F47038000BAB0EF /* RenderTreeUpdaterListItem.h in Headers */, > 436708F612D9CA4B00044234 /* SVGResources.h in Headers */, > 436708F812D9CA4B00044234 /* SVGResourcesCache.h in Headers */, > 436708FA12D9CA4B00044234 /* SVGResourcesCycleSolver.h in Headers */, >@@ -29803,6 +30035,7 @@ > 8485228B1190173C006EDC7F /* SVGVKernElement.h in Headers */, > B2227AF60D00BF220071B782 /* SVGZoomAndPan.h in Headers */, > B2E4EC980D00C22B00432643 /* SVGZoomEvent.h in Headers */, >+ 517A52F01F47535B00DCDC0A /* SWServer.h in Headers */, > E180811716FCF9CB00B80D07 /* SynchronousLoaderClient.h in Headers */, > 26FAE4CF1852E3A5004C8C46 /* SynchronousResourceHandleCFURLConnectionDelegate.h in Headers */, > 0F03C0741884695E00A5F8CA /* SystemMemory.h in Headers */, >@@ -31835,7 +32068,6 @@ > 659DDC8209E198BA001BF3C6 /* JSDocument.cpp in Sources */, > 1221E05D1C02B444006A1A00 /* JSDocumentAnimation.cpp in Sources */, > 49C7BA8D1042F5B10009D447 /* JSDocumentCustom.cpp in Sources */, >- 517A52F11F4754E700DCDC0A /* SWServer.cpp in Sources */, > E3B7C0631DC34160001FB0B8 /* JSDocumentDOMJIT.cpp in Sources */, > 1A494EDE0A123F4C00FDAFC1 /* JSDocumentFragment.cpp in Sources */, > 7C33F3621B4A050400502CAF /* JSDocumentFragmentCustom.cpp in Sources */, >@@ -31878,7 +32110,6 @@ > E172AF8F1811BC3700FBADB9 /* JSDOMPromiseDeferred.cpp in Sources */, > 0FF3B9281EE3B6DE00B84144 /* JSDOMQuad.cpp in Sources */, > 0F94A3961EF1B10500FBAFFB /* JSDOMQuadCustom.cpp in Sources */, >- E48E332D1F47038000BAB0EF /* RenderTreeUpdaterListItem.cpp in Sources */, > 0FF3B92A1EE3B6DE00B84144 /* JSDOMQuadInit.cpp in Sources */, > 0F4710BB1DB56BE8002DCEC3 /* JSDOMRect.cpp in Sources */, > 0F4710BD1DB56BE8002DCEC3 /* JSDOMRectInit.cpp in Sources */, >@@ -32145,6 +32376,22 @@ > FDA15EB112B03EE1003A583A /* JSPannerNode.cpp in Sources */, > 57B5F7F01E5B8C5A00F34F90 /* JSPasswordCredential.cpp in Sources */, > 77D50FF91ED4D9A400DA4C87 /* JSPasswordCredentialData.cpp in Sources */, >+ A1CC56661F46147400A4555B /* JSPaymentAddress.cpp in Sources */, >+ A1CC56681F46147D00A4555B /* JSPaymentComplete.cpp in Sources */, >+ A1CC566A1F46148200A4555B /* JSPaymentCurrencyAmount.cpp in Sources */, >+ A1CC566C1F46148700A4555B /* JSPaymentDetailsBase.cpp in Sources */, >+ A1CC566E1F46148C00A4555B /* JSPaymentDetailsInit.cpp in Sources */, >+ A1CC56701F46149100A4555B /* JSPaymentDetailsModifier.cpp in Sources */, >+ A1F600551F4765050077E83F /* JSPaymentDetailsUpdate.cpp in Sources */, >+ A1CC56721F46149500A4555B /* JSPaymentItem.cpp in Sources */, >+ A1CC56741F46149B00A4555B /* JSPaymentMethodData.cpp in Sources */, >+ A1CC56761F4614A000A4555B /* JSPaymentOptions.cpp in Sources */, >+ A1CC56781F4614A500A4555B /* JSPaymentRequest.cpp in Sources */, >+ A1F600571F4765050077E83F /* JSPaymentRequestUpdateEvent.cpp in Sources */, >+ A1F600591F4765050077E83F /* JSPaymentRequestUpdateEventInit.cpp in Sources */, >+ A1CC567A1F4614AA00A4555B /* JSPaymentResponse.cpp in Sources */, >+ A1CC567C1F4614AF00A4555B /* JSPaymentShippingOption.cpp in Sources */, >+ A1CC567E1F4614B400A4555B /* JSPaymentShippingType.cpp in Sources */, > 57E657EF1E71665400F941CA /* JSPbkdf2Params.cpp in Sources */, > E51A81DF17298D7700BFCA61 /* JSPerformance.cpp in Sources */, > CB38FD511CCF938900592A3F /* JSPerformanceEntry.cpp in Sources */, >@@ -32842,7 +33089,10 @@ > 1A58E86D1D19E42D00C0EA73 /* PaymentCoordinator.cpp in Sources */, > 1ADA4A1C1D22F2C0005A9A15 /* PaymentMerchantSessionCocoa.mm in Sources */, > 1A8A646E1D19FF8700D0E00F /* PaymentMethodCocoa.mm in Sources */, >+ A1F76B141F44C2450014C318 /* PaymentRequest.cpp in Sources */, >+ A1F600451F4757A90077E83F /* PaymentRequestUpdateEvent.cpp in Sources */, > 1A8A64671D19FDFF00D0E00F /* PaymentRequestValidator.cpp in Sources */, >+ A1F76B3E1F44CF240014C318 /* PaymentResponse.cpp in Sources */, > B27535640B053814002CE64F /* PDFDocumentImage.cpp in Sources */, > 2D6E468417D660F500ECF8BB /* PDFDocumentImageMac.mm in Sources */, > 41E408391DCB748900EFCE19 /* PeerConnectionBackend.cpp in Sources */, >@@ -33059,6 +33309,7 @@ > 5824ABAA1AE849C8009074B7 /* RenderTreePosition.cpp in Sources */, > E461802B1C8A06D90026C02C /* RenderTreeUpdater.cpp in Sources */, > E48284081F44594C00863AC3 /* RenderTreeUpdaterFirstLetter.cpp in Sources */, >+ E48E332D1F47038000BAB0EF /* RenderTreeUpdaterListItem.cpp in Sources */, > E44614510CD68A3500FADA75 /* RenderVideo.cpp in Sources */, > BCEA4867097D93020094C9E4 /* RenderView.cpp in Sources */, > BE20507D18A458BF0080647E /* RenderVTTCue.cpp in Sources */, >@@ -33537,6 +33788,7 @@ > 8485228A1190173C006EDC7F /* SVGVKernElement.cpp in Sources */, > B2227AF50D00BF220071B782 /* SVGZoomAndPan.cpp in Sources */, > B2E4EC970D00C22B00432643 /* SVGZoomEvent.cpp in Sources */, >+ 517A52F11F4754E700DCDC0A /* SWServer.cpp in Sources */, > E180811216FCF42F00B80D07 /* SynchronousLoaderClient.cpp in Sources */, > E180811616FCF9CB00B80D07 /* SynchronousLoaderClient.mm in Sources */, > 442ABCD617D9262F00D30715 /* SynchronousLoaderClientCFNet.cpp in Sources */, >diff --git a/Source/WebCore/dom/EventNames.h b/Source/WebCore/dom/EventNames.h >index 92e96426283b9058ac489e93ae5aa3f6a157ad90..29fd2cd69c8bb0f350ea0a9e86e995e43aac1285 100644 >--- a/Source/WebCore/dom/EventNames.h >+++ b/Source/WebCore/dom/EventNames.h >@@ -205,8 +205,10 @@ namespace WebCore { > macro(select) \ > macro(selectionchange) \ > macro(selectstart) \ >- macro(shippingmethodselected) \ >+ macro(shippingaddresschange) \ > macro(shippingcontactselected) \ >+ macro(shippingmethodselected) \ >+ macro(shippingoptionchange) \ > macro(show) \ > macro(signalingstatechange) \ > macro(slotchange) \ >diff --git a/Source/WebCore/dom/EventNames.in b/Source/WebCore/dom/EventNames.in >index 638e1b1473748f3c5ad365ad8072819aa71f5ee9..f7519343c6db1129f23aa12858614b0f57556ebf 100644 >--- a/Source/WebCore/dom/EventNames.in >+++ b/Source/WebCore/dom/EventNames.in >@@ -44,6 +44,7 @@ AudioProcessingEvent conditional=WEB_AUDIO > OfflineAudioCompletionEvent conditional=WEB_AUDIO > MediaStreamEvent conditional=WEB_RTC > MediaStreamTrackEvent conditional=MEDIA_STREAM >+PaymentRequestUpdateEvent conditional=PAYMENT_REQUEST > RTCPeerConnectionIceEvent conditional=WEB_RTC > RTCDataChannelEvent conditional=WEB_RTC > RTCDTMFToneChangeEvent conditional=WEB_RTC_DTMF >diff --git a/Source/WebCore/dom/EventTargetFactory.in b/Source/WebCore/dom/EventTargetFactory.in >index df96d473939a1b8c032e3394d653433259d9375b..73009c2e6dc3b0c54eccc51595f15717bc87ad18 100644 >--- a/Source/WebCore/dom/EventTargetFactory.in >+++ b/Source/WebCore/dom/EventTargetFactory.in >@@ -24,6 +24,7 @@ MediaStreamTrack conditional=MEDIA_STREAM > MessagePort > Node > Notification conditional=NOTIFICATIONS >+PaymentRequest conditional=PAYMENT_REQUEST > Performance > RTCDataChannel conditional=WEB_RTC > RTCDTMFSender conditional=WEB_RTC_DTMF >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 4fd084fb1eda3aaadd1124474cc5669a9beff2d4..f48db5f18d30260c290cec2a1a1e7b303fe08837 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,14 @@ >+2017-08-18 Andy Estes <aestes@apple.com> >+ >+ [Payment Request] Add interface stubs >+ https://bugs.webkit.org/show_bug.cgi?id=175730 >+ >+ Reviewed by Youenn Fablet. >+ >+ * TestExpectations: Skipped payment-request tests. >+ * platform/ios-wk2/TestExpectations: Enabled payment-request tests on ios-wk2. >+ * platform/mac-wk2/TestExpectations: Ditto for mac-wk2. >+ > 2017-08-18 Chris Dumez <cdumez@apple.com> > > [Beacon] Improve error reporting >diff --git a/LayoutTests/imported/w3c/ChangeLog b/LayoutTests/imported/w3c/ChangeLog >index 36f7b5b3d3ded68cef11c5bb745a466d83291909..639092033fc237cef060ff702466b5187474ced3 100644 >--- a/LayoutTests/imported/w3c/ChangeLog >+++ b/LayoutTests/imported/w3c/ChangeLog >@@ -1,3 +1,28 @@ >+2017-08-18 Andy Estes <aestes@apple.com> >+ >+ [Payment Request] Add interface stubs >+ https://bugs.webkit.org/show_bug.cgi?id=175730 >+ >+ Reviewed by Youenn Fablet. >+ >+ * web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub-expected.txt: >+ * web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https-expected.txt: >+ * web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https-expected.txt: >+ * web-platform-tests/payment-request/allowpaymentrequest/basic.https-expected.txt: >+ * web-platform-tests/payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https-expected.txt: >+ * web-platform-tests/payment-request/historical.https-expected.txt: >+ * web-platform-tests/payment-request/interfaces.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-abort-method.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-constructor-crash.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-constructor.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-id.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-in-iframe-expected.txt: >+ * web-platform-tests/payment-request/payment-request-onshippingaddresschange-attribute.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-onshippingoptionchange-attribute.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-show-method.https-expected.txt: >+ * web-platform-tests/payment-request/payment-request-update-event-constructor.http-expected.txt: >+ * web-platform-tests/payment-request/payment-request-update-event-constructor.https-expected.txt: >+ > 2017-08-18 Youenn Fablet <youenn@apple.com> > > [Cache API] Add response body storage >diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations >index 4115594b39697947210f7fd3ed3b8c97cf14fd44..d51b284c1f30efa8cda9ae8a9d9bf1cb4cd65a61 100644 >--- a/LayoutTests/TestExpectations >+++ b/LayoutTests/TestExpectations >@@ -136,6 +136,9 @@ fast/text/accessibility-bold-system-font-2.html [ Skip ] > # This test is specific to Core Text. > fast/text/font-lookup-dot-prefix-case-sensitive.html [ Skip ] > >+# Payment Request is only enabled on Cocoa platforms. >+imported/w3c/web-platform-tests/payment-request [ Skip ] >+ > #////////////////////////////////////////////////////////////////////////////////////////// > # End platform-specific tests. > #////////////////////////////////////////////////////////////////////////////////////////// >@@ -1442,12 +1445,6 @@ webkit.org/b/175290 imported/w3c/web-platform-tests/css/css-ui-3/text-overflow-0 > > webkit.org/b/175597 http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html [ Failure ] > >-webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.html [ Skip ] >-webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/no-attribute-cross-origin-bc-containers.https.html [ Skip ] >-webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html [ Skip ] >-webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html [ Skip ] >-webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html [ Skip ] >- > # CSS Regions are being phased out. > fast/regions [ Skip ] > compositing/regions [ Skip ] >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub-expected.txt >index 87463e7a09a7886dec5d85d6cb2fb1fa463e3197..a6c3320471059f45a4c5dc806cd8070ce7d02465 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-cross-origin.https.sub-expected.txt >@@ -3,5 +3,5 @@ Blocked access to external URL https://www1.localhost:9443/common/blank.html > > FAIL PaymentRequest <iframe allowpaymentrequest> in non-active document (cross-origin) assert_throws: function "() => { > new grabbedPaymentRequest(...paymentArgs); >- }" threw object "TypeError: undefined is not a constructor (evaluating 'new grabbedPaymentRequest(...paymentArgs)')" ("TypeError") expected object "[object Object]" ("SecurityError") >+ }" did not throw > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https-expected.txt >index 240138cadc854b50d2a83281bdf29728c464d882..c8c96283c47f8d4b669fff592bed56cc630e2211 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/active-document-same-origin.https-expected.txt >@@ -2,5 +2,5 @@ > > FAIL PaymentRequest <iframe allowpaymentrequest> in non-active document (same-origin) assert_throws: function "() => { > new grabbedPaymentRequest(...paymentArgs); >- }" threw object "TypeError: undefined is not a constructor (evaluating 'new grabbedPaymentRequest(...paymentArgs)')" ("TypeError") expected object "[object Object]" ("SecurityError") >+ }" did not throw > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https-expected.txt >index ac4c6125b749b630f6e424527f9680e662c89ffe..f2c7977a9687b849d021b4d6929eae5e168f9df7 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-same-origin-bc-containers.https-expected.txt >@@ -1,6 +1,6 @@ > >-FAIL iframe assert_equals: expected "Success" but got "Exception" >-FAIL frame assert_equals: expected "Success" but got "Exception" >-FAIL object assert_equals: expected "Success" but got "Exception" >-FAIL embed assert_equals: expected "Success" but got "Exception" >+PASS iframe >+PASS frame >+PASS object >+PASS embed > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/basic.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/basic.https-expected.txt >index 6287240fdcb3f82fb93974903421fb68a73969b5..5694a8accdd79b82886d447660bd02db42be52de 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/basic.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/basic.https-expected.txt >@@ -1,4 +1,4 @@ > > >-FAIL PaymentRequest <iframe allowpaymentrequest> basic undefined is not a constructor (evaluating 'new window[0].PaymentRequest(...paymentArgs)') >+PASS PaymentRequest <iframe allowpaymentrequest> basic > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https-expected.txt >index ac4c6125b749b630f6e424527f9680e662c89ffe..f2c7977a9687b849d021b4d6929eae5e168f9df7 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/no-attribute-same-origin-bc-containers.https-expected.txt >@@ -1,6 +1,6 @@ > >-FAIL iframe assert_equals: expected "Success" but got "Exception" >-FAIL frame assert_equals: expected "Success" but got "Exception" >-FAIL object assert_equals: expected "Success" but got "Exception" >-FAIL embed assert_equals: expected "Success" but got "Exception" >+PASS iframe >+PASS frame >+PASS object >+PASS embed > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/historical.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/historical.https-expected.txt >index 924e03e6472b7a81a803bfa472df791c7853f07a..c19b174d7505badb3c873379f3fc7213ccc8623e 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/historical.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/historical.https-expected.txt >@@ -1,8 +1,8 @@ > >-FAIL paymentRequestID in PaymentRequest undefined is not an object (evaluating 'window[interf].prototype') >-FAIL paymentRequestID in PaymentResponse undefined is not an object (evaluating 'window[interf].prototype') >-FAIL careOf in PaymentAddress undefined is not an object (evaluating 'window[interf].prototype') >-FAIL totalAmount in PaymentResponse undefined is not an object (evaluating 'window[interf].prototype') >-FAIL paymentRequestId in PaymentRequest undefined is not an object (evaluating 'window[interf].prototype') >-FAIL paymentRequestId in PaymentResponse undefined is not an object (evaluating 'window[interf].prototype') >+PASS paymentRequestID in PaymentRequest >+PASS paymentRequestID in PaymentResponse >+PASS careOf in PaymentAddress >+PASS totalAmount in PaymentResponse >+PASS paymentRequestId in PaymentRequest >+PASS paymentRequestId in PaymentResponse > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/interfaces.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/interfaces.https-expected.txt >index 81aba817122ac47a2fb56482fdd08b777ccf4283..6a89c64147e0c9a4c14881ea2b71e7c1ec5f606d 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/interfaces.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/interfaces.https-expected.txt >@@ -1,61 +1,61 @@ > >-FAIL PaymentRequest interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface object length assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface object name assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: operation show() assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: operation abort() assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: operation canMakePayment() assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: attribute id assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: attribute shippingAddress assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: attribute shippingOption assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: attribute shippingType assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: attribute onshippingaddresschange assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: attribute onshippingoptionchange assert_own_property: self does not have own property "PaymentRequest" expected property "PaymentRequest" missing >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "show" with the proper type (0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "abort" with the proper type (1) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "canMakePayment" with the proper type (2) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "id" with the proper type (3) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "shippingAddress" with the proper type (4) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "shippingOption" with the proper type (5) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "shippingType" with the proper type (6) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "onshippingaddresschange" with the proper type (7) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "onshippingoptionchange" with the proper type (8) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL PaymentAddress interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface object length assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface object name assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute country assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute addressLine assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute region assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute city assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute dependentLocality assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute postalCode assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute sortingCode assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute languageCode assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute organization assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute recipient assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentAddress interface: attribute phone assert_own_property: self does not have own property "PaymentAddress" expected property "PaymentAddress" missing >-FAIL PaymentResponse interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface object length assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface object name assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute requestId assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute methodName assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute details assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute shippingAddress assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute shippingOption assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute payerName assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute payerEmail assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: attribute payerPhone assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentResponse interface: operation complete(PaymentComplete) assert_own_property: self does not have own property "PaymentResponse" expected property "PaymentResponse" missing >-FAIL PaymentRequestUpdateEvent interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentRequestUpdateEvent" expected property "PaymentRequestUpdateEvent" missing >-FAIL PaymentRequestUpdateEvent interface object length assert_own_property: self does not have own property "PaymentRequestUpdateEvent" expected property "PaymentRequestUpdateEvent" missing >-FAIL PaymentRequestUpdateEvent interface object name assert_own_property: self does not have own property "PaymentRequestUpdateEvent" expected property "PaymentRequestUpdateEvent" missing >-FAIL PaymentRequestUpdateEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentRequestUpdateEvent" expected property "PaymentRequestUpdateEvent" missing >-FAIL PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentRequestUpdateEvent" expected property "PaymentRequestUpdateEvent" missing >-FAIL PaymentRequestUpdateEvent interface: operation updateWith([object Object]) assert_own_property: self does not have own property "PaymentRequestUpdateEvent" expected property "PaymentRequestUpdateEvent" missing >+PASS PaymentRequest interface: existence and properties of interface object >+PASS PaymentRequest interface object length >+PASS PaymentRequest interface object name >+PASS PaymentRequest interface: existence and properties of interface prototype object >+PASS PaymentRequest interface: existence and properties of interface prototype object's "constructor" property >+PASS PaymentRequest interface: operation show() >+PASS PaymentRequest interface: operation abort() >+PASS PaymentRequest interface: operation canMakePayment() >+PASS PaymentRequest interface: attribute id >+PASS PaymentRequest interface: attribute shippingAddress >+PASS PaymentRequest interface: attribute shippingOption >+PASS PaymentRequest interface: attribute shippingType >+PASS PaymentRequest interface: attribute onshippingaddresschange >+PASS PaymentRequest interface: attribute onshippingoptionchange >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "show" with the proper type (0) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "abort" with the proper type (1) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "canMakePayment" with the proper type (2) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "id" with the proper type (3) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "shippingAddress" with the proper type (4) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "shippingOption" with the proper type (5) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "shippingType" with the proper type (6) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "onshippingaddresschange" with the proper type (7) >+PASS PaymentRequest interface: new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'bar', amount: {currency: 'BAZ', value: '0'}}}) must inherit property "onshippingoptionchange" with the proper type (8) >+PASS PaymentAddress interface: existence and properties of interface object >+PASS PaymentAddress interface object length >+PASS PaymentAddress interface object name >+PASS PaymentAddress interface: existence and properties of interface prototype object >+PASS PaymentAddress interface: existence and properties of interface prototype object's "constructor" property >+PASS PaymentAddress interface: attribute country >+PASS PaymentAddress interface: attribute addressLine >+PASS PaymentAddress interface: attribute region >+PASS PaymentAddress interface: attribute city >+PASS PaymentAddress interface: attribute dependentLocality >+PASS PaymentAddress interface: attribute postalCode >+PASS PaymentAddress interface: attribute sortingCode >+PASS PaymentAddress interface: attribute languageCode >+PASS PaymentAddress interface: attribute organization >+PASS PaymentAddress interface: attribute recipient >+PASS PaymentAddress interface: attribute phone >+PASS PaymentResponse interface: existence and properties of interface object >+PASS PaymentResponse interface object length >+PASS PaymentResponse interface object name >+PASS PaymentResponse interface: existence and properties of interface prototype object >+PASS PaymentResponse interface: existence and properties of interface prototype object's "constructor" property >+PASS PaymentResponse interface: attribute requestId >+PASS PaymentResponse interface: attribute methodName >+PASS PaymentResponse interface: attribute details >+PASS PaymentResponse interface: attribute shippingAddress >+PASS PaymentResponse interface: attribute shippingOption >+PASS PaymentResponse interface: attribute payerName >+PASS PaymentResponse interface: attribute payerEmail >+PASS PaymentResponse interface: attribute payerPhone >+PASS PaymentResponse interface: operation complete(PaymentComplete) >+PASS PaymentRequestUpdateEvent interface: existence and properties of interface object >+PASS PaymentRequestUpdateEvent interface object length >+PASS PaymentRequestUpdateEvent interface object name >+PASS PaymentRequestUpdateEvent interface: existence and properties of interface prototype object >+PASS PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's "constructor" property >+PASS PaymentRequestUpdateEvent interface: operation updateWith([object Object]) > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-abort-method.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-abort-method.https-expected.txt >index 405a6c58f19e321ede7066ad2f5a5ddadce3931c..c5382e6c90986ca084a98bcefbdbf11aad50f9c9 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-abort-method.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-abort-method.https-expected.txt >@@ -1,5 +1,6 @@ >+CONSOLE MESSAGE: Unhandled Promise Rejection: NotSupportedError: Not implemented > >-FAIL Throws if the promise [[state]] is not "interactive" promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL Calling abort must not change the [[state]] until after "interactive" promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL calling .abort() causes acceptPromise to reject and closes the request. promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: PaymentRequest" >+FAIL Throws if the promise [[state]] is not "interactive" assert_throws: function "function () { throw e }" threw object "NotSupportedError: Not implemented" that is not a DOMException InvalidStateError: property "code" is equal to 9, expected 11 >+FAIL Calling abort must not change the [[state]] until after "interactive" assert_throws: function "function () { throw e }" threw object "NotSupportedError: Not implemented" that is not a DOMException InvalidStateError: property "code" is equal to 9, expected 11 >+FAIL calling .abort() causes acceptPromise to reject and closes the request. assert_true: Unexpected promise rejection: Not implemented expected true got false > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor-crash.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor-crash.https-expected.txt >index 92dc5dc689e18cf061823fe75765ba72c03dcb3e..9e838cb40925809f4849268ce3b134fff96f7adb 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor-crash.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor-crash.https-expected.txt >@@ -1,42 +1,12 @@ > >-FAIL Don't crash if there is a abusive number of payment methods in the methodData sequence assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:81:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:77:5 expected true got false >-FAIL Don't crash if there is a abusive number of supported methods in one sequence assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:101:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:97:5 expected true got false >-FAIL Don't crash if the request id has an abusive length assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:123:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:119:5 expected true got false >-FAIL Don't crash if PaymentDetailsInit.total.label is an abusive length assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:147:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:143:5 expected true got false >-FAIL Don't crash if total.amount.value is an abusive length assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:168:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:164:5 expected true got false >-FAIL Don't crash if details.displayItems has an abusive number of items assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:191:25 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:186:7 expected true got false >-FAIL Don't crash if details.shippingOptions has an abusive number of items assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:191:25 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:186:7 expected true got false >-FAIL Don't crash if PaymentShippingOptions.label is an abusive length assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:214:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:208:5 expected true got false >-FAIL Don't crash if the PaymentShippingOptions.amount.value is an abusive length assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:234:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:228:5 expected true got false >-FAIL Don't crash if PaymentItem.label is an abusive length assert_true: failed smoke test: https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:254:23 >-step@https://localhost:9443/resources/testharness.js:1409:30 >-test@https://localhost:9443/resources/testharness.js:498:22 >-global code@https://localhost:9443/payment-request/payment-request-constructor-crash.https.html:248:5 expected true got false >+PASS Don't crash if there is a abusive number of payment methods in the methodData sequence >+PASS Don't crash if there is a abusive number of supported methods in one sequence >+PASS Don't crash if the request id has an abusive length >+PASS Don't crash if PaymentDetailsInit.total.label is an abusive length >+PASS Don't crash if total.amount.value is an abusive length >+PASS Don't crash if details.displayItems has an abusive number of items >+PASS Don't crash if details.shippingOptions has an abusive number of items >+PASS Don't crash if PaymentShippingOptions.label is an abusive length >+PASS Don't crash if the PaymentShippingOptions.amount.value is an abusive length >+PASS Don't crash if PaymentItem.label is an abusive length > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https-expected.txt >index 37c37c57df983dbdbac1c4269f267267f697cfc1..c8ff62c7c6a04563839b9b4ea4dfad52f89a3203 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https-expected.txt >@@ -1,9 +1,9 @@ > >-FAIL If details.id is missing, assign a identifier Can't find variable: PaymentRequest >-FAIL If details.id is missing, assign a unique identifier Can't find variable: PaymentRequest >-FAIL If the same id is provided, then use it Can't find variable: PaymentRequest >-FAIL Use ids even if they are strange Can't find variable: PaymentRequest >-FAIL Use provided request ID Can't find variable: PaymentRequest >+FAIL If details.id is missing, assign a identifier assert_true: must be some truthy value expected true got false >+FAIL If details.id is missing, assign a unique identifier assert_not_equals: UA generated ID must be unique got disallowed value "" >+FAIL If the same id is provided, then use it assert_equals: id must be test123 expected "test123" but got "" >+FAIL Use ids even if they are strange assert_equals: id must be provided value, even if very long and contain spaces expected "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" but got "" >+FAIL Use provided request ID assert_equals: expected "foo" but got "" > FAIL If the length of the methodData sequence is zero, then throw a TypeError assert_throws: function "() => { > new PaymentRequest([], { > total: { >@@ -14,7 +14,7 @@ FAIL If the length of the methodData sequence is zero, then throw a TypeError as > }, > }, > }); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If the length of the paymentMethod.supportedMethods sequence is zero, then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -32,9 +32,9 @@ FAIL If the length of the paymentMethod.supportedMethods sequence is zero, then > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >-FAIL Method data must be JSON-serializable object (a list in this case) assert_false: shouldn't throw when using a list expected false got true >-FAIL Method data must be JSON-serializable object (an object in this case) Can't find variable: PaymentRequest >+ }" did not throw >+PASS Method data must be JSON-serializable object (a list in this case) >+PASS Method data must be JSON-serializable object (an object in this case) > FAIL Rethrow any exceptions of JSON-serializing paymentMethod.data into a string assert_throws: function "() => { > new PaymentRequest( > [ >@@ -53,7 +53,7 @@ FAIL Rethrow any exceptions of JSON-serializing paymentMethod.data into a string > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -71,7 +71,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -89,7 +89,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -107,7 +107,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -125,7 +125,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -143,7 +143,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -161,7 +161,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -179,7 +179,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -197,7 +197,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -215,7 +215,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -233,7 +233,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -251,7 +251,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -269,7 +269,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -287,7 +287,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -305,7 +305,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -323,7 +323,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -341,7 +341,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -359,7 +359,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -377,7 +377,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -395,7 +395,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "-1"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -413,7 +413,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "-1.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -431,7 +431,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "-1.00"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -449,7 +449,7 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If details.total.amount.value is not a valid decimal monetary value (in this case "-1000.000"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -467,10 +467,10 @@ FAIL If details.total.amount.value is not a valid decimal monetary value (in thi > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >-FAIL PaymentDetailsBase.0 can be 0 length assert_true: 0 can be zero length expected true got false >-FAIL PaymentDetailsBase.1 can be 0 length assert_true: 1 can be zero length expected true got false >-FAIL PaymentDetailsBase.2 can be 0 length assert_true: 2 can be zero length expected true got false >+ }" did not throw >+PASS PaymentDetailsBase.0 can be 0 length >+PASS PaymentDetailsBase.1 can be 0 length >+PASS PaymentDetailsBase.2 can be 0 length > FAIL If the first character of details.total.amount.value is U+002D HYPHEN-MINUS, then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -488,7 +488,7 @@ FAIL If the first character of details.total.amount.value is U+002D HYPHEN-MINUS > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -515,7 +515,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -542,7 +542,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -569,7 +569,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -596,7 +596,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -623,7 +623,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -650,7 +650,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -677,7 +677,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -704,7 +704,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -731,7 +731,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -758,7 +758,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -785,7 +785,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -812,7 +812,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -839,7 +839,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -866,7 +866,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -893,7 +893,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -920,7 +920,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -947,7 +947,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -974,7 +974,7 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each item in details.displayItems: if item.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError assert_throws: function "() => { > new PaymentRequest( > [ >@@ -1001,9 +1001,9 @@ FAIL For each item in details.displayItems: if item.amount.value is not a valid > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >-FAIL Negative values are allowed for displayItems.amount.value, irrespective of total amount assert_false: shouldn't throw when given a negative value expected false got true >-FAIL it handles high precision currency values without throwing assert_false: shouldn't throw when given absurd monetary values expected false got true >+ }" did not throw >+PASS Negative values are allowed for displayItems.amount.value, irrespective of total amount >+PASS it handles high precision currency values without throwing > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1015,7 +1015,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1027,7 +1027,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1039,7 +1039,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1051,7 +1051,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1063,7 +1063,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1075,7 +1075,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1087,7 +1087,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1099,7 +1099,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1111,7 +1111,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1123,7 +1123,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1135,7 +1135,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1147,7 +1147,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1159,7 +1159,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1171,7 +1171,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1183,7 +1183,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1195,7 +1195,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1207,7 +1207,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1219,7 +1219,7 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError assert_throws: function "() => { > const invalidAmount = Object.assign({}, defaultAmount, { > value: amount, >@@ -1231,11 +1231,11 @@ FAIL For each option in details.shippingOptions: if option.amount.value is not a > shippingOptions: [invalidShippingOption], > }); > new PaymentRequest(defaultMethods, details); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >-FAIL If there is no selected shipping option, then PaymentRequest.shippingOption remains null Can't find variable: PaymentRequest >-FAIL If there is a selected shipping option, then it becomes synchronously selected Can't find variable: PaymentRequest >-FAIL If there is a multiple selected shipping options, only the last is selected Can't find variable: PaymentRequest >-FAIL If there are any duplicate shipping option ids, then there are no shipping options Can't find variable: PaymentRequest >+ }" did not throw >+PASS If there is no selected shipping option, then PaymentRequest.shippingOption remains null >+FAIL If there is a selected shipping option, then it becomes synchronously selected assert_equals: selected option must be PASS expected (string) "PASS" but got (object) null >+FAIL If there is a multiple selected shipping options, only the last is selected assert_equals: selected option must PASS expected (string) "PASS" but got (object) null >+PASS If there are any duplicate shipping option ids, then there are no shipping options > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "-"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1264,7 +1264,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1293,7 +1293,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1322,7 +1322,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "10."), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1351,7 +1351,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case ".99"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1380,7 +1380,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "-10."), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1409,7 +1409,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1438,7 +1438,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "10-"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1467,7 +1467,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1496,7 +1496,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1525,7 +1525,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1554,7 +1554,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case ""), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1583,7 +1583,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "null"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1612,7 +1612,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1641,7 +1641,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1670,7 +1670,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1699,7 +1699,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1728,7 +1728,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1757,7 +1757,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1786,7 +1786,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1815,7 +1815,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1844,7 +1844,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1.00"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1873,7 +1873,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If modifier.total.amount.value is not a valid decimal monetary value (in this case "-1000.000"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1902,7 +1902,7 @@ FAIL If modifier.total.amount.value is not a valid decimal monetary value (in th > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "-"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1940,7 +1940,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "notdigits"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -1978,7 +1978,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "ALSONOTDIGITS"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2016,7 +2016,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "10."), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2054,7 +2054,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case ".99"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2092,7 +2092,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "-10."), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2130,7 +2130,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "-.99"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2168,7 +2168,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "10-"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2206,7 +2206,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1-0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2244,7 +2244,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1.0.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2282,7 +2282,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1/3"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2320,7 +2320,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case ""), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2358,7 +2358,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "null"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2396,7 +2396,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2434,7 +2434,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case " 1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2472,7 +2472,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "1.0 "), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2510,7 +2510,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "USD$1.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2548,7 +2548,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case "$1.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2586,7 +2586,7 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >+ }" did not throw > FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetary value (in this case " 1.0"), then throw a TypeError assert_throws: function "() => { > const invalidModifier = { > supportedMethods: ["basic-card"], >@@ -2624,9 +2624,9 @@ FAIL If amount.value of additionalDisplayItems is is not a valid decimal monetar > }, > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >-FAIL Modifier data must be JSON-serializable object (a list in this case) assert_false: shouldn't throw when given a list expected false got true >-FAIL Modifier data must be JSON-serializable object (a object in this case) assert_false: shouldn't throw when given an object value expected false got true >+ }" did not throw >+PASS Modifier data must be JSON-serializable object (a list in this case) >+PASS Modifier data must be JSON-serializable object (a object in this case) > FAIL Rethrow any exceptions of JSON-serializing modifier.data into a string assert_throws: function "() => { > new PaymentRequest( > [ >@@ -2650,29 +2650,9 @@ FAIL Rethrow any exceptions of JSON-serializing modifier.data into a string asse > ], > } > ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >-FAIL Shipping type should be valid assert_throws: function "() => { >- new PaymentRequest( >- [ >- { >- supportedMethods: ["basic-card"], >- }, >- ], >- { >- total: { >- label: "", >- amount: { >- currency: "USD", >- value: "1.00", >- }, >- }, >- }, >- { >- shippingType: "invalid", >- } >- ); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("TypeError") >-FAIL PaymentRequest.shippingAddress must initially be null Can't find variable: PaymentRequest >-FAIL If options.requestShipping is not set, then request.shippingType attribute is null. Can't find variable: PaymentRequest >-FAIL If options.requestShipping is true, request.shippingType will be options.shippingType. Can't find variable: PaymentRequest >+ }" did not throw >+PASS Shipping type should be valid >+PASS PaymentRequest.shippingAddress must initially be null >+PASS If options.requestShipping is not set, then request.shippingType attribute is null. >+FAIL If options.requestShipping is true, request.shippingType will be options.shippingType. assert_equals: must be shipping expected (string) "shipping" but got (object) null > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-id.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-id.https-expected.txt >index 5179e95bf3830aa561fadd4370e4b1ecf58e31ce..2d69b52c26843974f3fbe484e047f12741f5dfb6 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-id.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-id.https-expected.txt >@@ -1,4 +1,4 @@ > > >-FAIL Test for PaymentRequest identifier usage undefined is not a constructor (evaluating 'new window[0].PaymentRequest([{supportedMethods: ['foo']}], {id: 'my_payment_id', total: {label: 'label', amount: {currency: 'USD', value: '5.00'}}})') >+FAIL Test for PaymentRequest identifier usage assert_equals: Payment identifier is not reflected correctly in PaymentRequest.id expected "my_payment_id" but got "" > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-in-iframe-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-in-iframe-expected.txt >index c23cb1a794856a86d13199644363ae53da2a7dcf..00de73f9343f16474d6378071db1da4ac3f55301 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-in-iframe-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-in-iframe-expected.txt >@@ -3,5 +3,5 @@ > FAIL Test for PaymentRequest in an iframe (see also > https://github.com/w3c/browser-payment-api/issues/2) assert_throws: If the browsing context of the script calling the constructor is not a top-level browsing context, then throw a SecurityError. function "function () { > new PaymentRequest([{supportedMethods: ['foo']}], {total: {label: 'label', amount: {currency: 'USD', value: '5.00'}}}); >- }" threw object "ReferenceError: Can't find variable: PaymentRequest" ("ReferenceError") expected object "[object Object]" ("SecurityError") >+ }" did not throw > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingaddresschange-attribute.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingaddresschange-attribute.https-expected.txt >index 80bad3eecfb99bab3728f88766e89f5e71e2a83c..99a632e11d33e2dbb139edd33cfd9b9b744305a3 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingaddresschange-attribute.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingaddresschange-attribute.https-expected.txt >@@ -1,5 +1,5 @@ > >-FAIL onshippingaddresschange attribute is a generic handler for "shippingaddresschange" Can't find variable: PaymentRequest >-FAIL onshippingaddresschange attribute is a handler for PaymentRequestUpdateEvent Can't find variable: PaymentRequest >-FAIL onshippingaddresschange attribute and listeners both work Can't find variable: PaymentRequest >+PASS onshippingaddresschange attribute is a generic handler for "shippingaddresschange" >+PASS onshippingaddresschange attribute is a handler for PaymentRequestUpdateEvent >+PASS onshippingaddresschange attribute and listeners both work > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingoptionchange-attribute.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingoptionchange-attribute.https-expected.txt >index f785267e7364e981f19e4120a3f13cccd4214982..f4ddc93128e296324b73ade38b40a954557f7fbb 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingoptionchange-attribute.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-onshippingoptionchange-attribute.https-expected.txt >@@ -1,5 +1,5 @@ > >-FAIL onshippingoptionchange attribute is a generic handler for "shippingoptionchange" Can't find variable: PaymentRequest >-FAIL onshippingoptionchange attribute is a handler for PaymentRequestUpdateEvent Can't find variable: PaymentRequest >-FAIL onshippingoptionchange attribute and listeners both work Can't find variable: PaymentRequest >+PASS onshippingoptionchange attribute is a generic handler for "shippingoptionchange" >+PASS onshippingoptionchange attribute is a handler for PaymentRequestUpdateEvent >+PASS onshippingoptionchange attribute and listeners both work > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https-expected.txt >index 2c9f786cd95e3a5d9d02457bda0d4b9143cac604..757807b73f44602c68d8fa30ed3236b0f6780f96 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https-expected.txt >@@ -1,4 +1,8 @@ >+CONSOLE MESSAGE: Unhandled Promise Rejection: NotSupportedError: Not implemented >+CONSOLE MESSAGE: Unhandled Promise Rejection: NotSupportedError: Not implemented > >-FAIL Throws if the promise [[state]] is not "created" promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: PaymentRequest" >-FAIL If the user agent's "payment request is showing" boolean is true, then return a promise rejected with an "AbortError" DOMException. promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: PaymentRequest" >+Harness Error (FAIL), message = Not implemented >+ >+FAIL Throws if the promise [[state]] is not "created" assert_throws: function "function () { throw e }" threw object "NotSupportedError: Not implemented" that is not a DOMException InvalidStateError: property "code" is equal to 9, expected 11 >+FAIL If the user agent's "payment request is showing" boolean is true, then return a promise rejected with an "AbortError" DOMException. assert_throws: function "function () { throw e }" threw object "NotSupportedError: Not implemented" that is not a DOMException AbortError: property "code" is equal to 9, expected 20 > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.http-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.http-expected.txt >index 9561a3202ff26695b6f691d04349811d5fa5245a..470dc37c22b92fc99628906bbaf89e174474bad8 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.http-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.http-expected.txt >@@ -1,5 +1,5 @@ > > FAIL PaymentRequestUpdateEvent constructor throws in a non-secure context assert_throws: function "() => { > new PaymentRequestUpdateEvent("test"); >- }" threw object "ReferenceError: Can't find variable: PaymentRequestUpdateEvent" that is not a DOMException SecurityError: property "code" is equal to undefined, expected 18 >+ }" did not throw > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.https-expected.txt >index 78520b995a8f8add56d49456a535bae503b69174..704adb5653646b948d33be9f54b140dcae734d5e 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-update-event-constructor.https-expected.txt >@@ -1,5 +1,5 @@ > >-FAIL PaymentRequestUpdateEvent can be constructed in secure-context assert_true: Unexpected exception: Can't find variable: PaymentRequestUpdateEvent expected true got false >-FAIL PaymentRequestUpdateEvent can be constructed with an EventInitDict, even if not trusted Can't find variable: PaymentRequestUpdateEvent >-FAIL PaymentRequestUpdateEvent can be dispatched, even if not trusted Can't find variable: PaymentRequest >+PASS PaymentRequestUpdateEvent can be constructed in secure-context >+PASS PaymentRequestUpdateEvent can be constructed with an EventInitDict, even if not trusted >+PASS PaymentRequestUpdateEvent can be dispatched, even if not trusted > >diff --git a/LayoutTests/platform/ios-wk2/TestExpectations b/LayoutTests/platform/ios-wk2/TestExpectations >index 50146a59817ee66d432ed84c5f328511d4ee37c6..57a99174f6417dc41bf04833880080daf9be2d01 100644 >--- a/LayoutTests/platform/ios-wk2/TestExpectations >+++ b/LayoutTests/platform/ios-wk2/TestExpectations >@@ -28,6 +28,13 @@ fast/viewport/ios/viewport-fit-contain.html [ Skip ] > fast/viewport/ios/viewport-fit-cover.html [ Skip ] > fast/viewport/ios/viewport-fit-auto.html [ Skip ] > >+imported/w3c/web-platform-tests/payment-request [ Pass ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/no-attribute-cross-origin-bc-containers.https.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html [ Skip ] >+ > #////////////////////////////////////////////////////////////////////////////////////////// > # End platform-specific directories. > #////////////////////////////////////////////////////////////////////////////////////////// >diff --git a/LayoutTests/platform/mac-wk2/TestExpectations b/LayoutTests/platform/mac-wk2/TestExpectations >index 5e2b91fddb9e7a7249366107ece012a650e99a5f..35ca6388aa2fc50f8994c40b2f3d0442ac0c14dc 100644 >--- a/LayoutTests/platform/mac-wk2/TestExpectations >+++ b/LayoutTests/platform/mac-wk2/TestExpectations >@@ -31,6 +31,13 @@ fast/visual-viewport/rubberbanding-viewport-rects-header-footer.html [ Pass ] > > http/tests/loading/basic-auth-remove-credentials.html [ Pass ] > >+imported/w3c/web-platform-tests/payment-request [ Pass ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/allowpaymentrequest-attribute-cross-origin-bc-containers.https.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/no-attribute-cross-origin-bc-containers.https.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html [ Skip ] >+webkit.org/b/175611 imported/w3c/web-platform-tests/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html [ Skip ] >+ > #////////////////////////////////////////////////////////////////////////////////////////// > # End platform-specific directories. > #//////////////////////////////////////////////////////////////////////////////////////////
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 175730
:
318530
|
318546
|
318547
|
318559
|
318563
|
318568
|
318573
|
318577
|
318588
|
318589
|
318590
|
318592