Diff
Modified: trunk/LayoutTests/ChangeLog (271734 => 271735)
--- trunk/LayoutTests/ChangeLog 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/ChangeLog 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,17 @@
+2021-01-21 Devin Rousso <[email protected]>
+
+ [Apple Pay] use the first item in `shippingOptions` even when it's not `selected`
+ https://bugs.webkit.org/show_bug.cgi?id=220810
+
+ Reviewed by Andy Estes.
+
+ * http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https-expected.txt:
+ * http/tests/paymentrequest/payment-request-change-shipping-option.https.html:
+ * http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt:
+ * http/tests/paymentrequest/payment-response-retry-method.https-expected.txt:
+ * http/tests/paymentrequest/updateWith-shippingOptions.https.html:
+ * http/tests/paymentrequest/updateWith-shippingOptions.https-expected.txt:
+
2021-01-21 Simon Fraser <[email protected]>
Scroll-chaining not triggering before complete end of overscroll
Modified: trunk/LayoutTests/http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https-expected.txt (271734 => 271735)
--- trunk/LayoutTests/http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https-expected.txt 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https-expected.txt 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,5 @@
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
If the requestShipping member is true, then shippingAddress's PaymentAddress must match the expected values.
PASS Can construct a payment request (smoke test).
Modified: trunk/LayoutTests/http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt (271734 => 271735)
--- trunk/LayoutTests/http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/http/tests/paymentrequest/payment-request-change-shipping-option.https-expected.txt 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
PASS Test for PaymentRequest shippingOption attribute
Modified: trunk/LayoutTests/http/tests/paymentrequest/payment-request-change-shipping-option.https.html (271734 => 271735)
--- trunk/LayoutTests/http/tests/paymentrequest/payment-request-change-shipping-option.https.html 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/http/tests/paymentrequest/payment-request-change-shipping-option.https.html 2021-01-22 03:50:35 UTC (rev 271735)
@@ -63,11 +63,9 @@
event.complete({ });
internals.mockPaymentCoordinator.changeShippingOption("valid-1");
};
- assert_equals(
- request.shippingOption,
- "initially-selected",
- "Must be 'initially-selected', as the selected member is true"
- );
+ // FIXME: <rdar://problem/73464404>
+ // assert_equals(request.shippingOption, "initially-selected", "Must be 'initially-selected', as the selected member is true");
+ assert_equals(request.shippingOption, "valid-1", "Must be the first shipping option regardless of the selected property.");
const listenerPromise = new Promise(resolve => {
request.addEventListener("shippingoptionchange", () => {
resolve(request.shippingOption);
Modified: trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https-expected.txt (271734 => 271735)
--- trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https-expected.txt 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/http/tests/paymentrequest/payment-response-retry-method.https-expected.txt 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,11 @@
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
PASS Can construct a payment request (smoke test).
PASS PaymentResponse.prototype must have a retry() function (smoke test).
Modified: trunk/LayoutTests/http/tests/paymentrequest/updateWith-shippingOptions.https-expected.txt (271734 => 271735)
--- trunk/LayoutTests/http/tests/paymentrequest/updateWith-shippingOptions.https-expected.txt 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/http/tests/paymentrequest/updateWith-shippingOptions.https-expected.txt 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
PASS Calling `updateWith` with a new `shippingOptions` without `requestShipping` should not update any values.
PASS Calling `updateWith` with a new `shippingOptions` should not update any other values.
Modified: trunk/LayoutTests/http/tests/paymentrequest/updateWith-shippingOptions.https.html (271734 => 271735)
--- trunk/LayoutTests/http/tests/paymentrequest/updateWith-shippingOptions.https.html 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/http/tests/paymentrequest/updateWith-shippingOptions.https.html 2021-01-22 03:50:35 UTC (rev 271735)
@@ -98,7 +98,9 @@
assert_equals(internals.mockPaymentCoordinator.shippingMethods[i].label, detailsUpdate.shippingOptions[i].label, `shipping option ${i} label should change`);
assert_equals(internals.mockPaymentCoordinator.shippingMethods[i].amount, detailsUpdate.shippingOptions[i].amount.value, `shipping option ${i} amount should change`);
}
- assert_equals(request.shippingOption, detailsUpdate.shippingOptions.find((shippingOption) => shippingOption.selected).id, "selected shipping option should change");
+ // FIXME: <rdar://problem/73464404>
+ // assert_equals(request.shippingOption, detailsUpdate.shippingOptions.find((shippingOption) => shippingOption.selected).id, "selected shipping option should change");
+ assert_equals(request.shippingOption, detailsUpdate.shippingOptions[0].id, "selected shipping option should change");
assert_equals(response.shippingOption, request.shippingOption, "selected shipping option should also be exposed on the response");
await response.complete("success");
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (271734 => 271735)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,5 +1,15 @@
2021-01-21 Devin Rousso <[email protected]>
+ [Apple Pay] use the first item in `shippingOptions` even when it's not `selected`
+ https://bugs.webkit.org/show_bug.cgi?id=220810
+
+ Reviewed by Andy Estes.
+
+ * web-platform-tests/payment-request/payment-request-constructor.https.sub-expected.txt:
+ * web-platform-tests/payment-request/payment-request-shippingOption-attribute.https-expected.txt:
+
+2021-01-21 Devin Rousso <[email protected]>
+
[Payment Request] constructor should throw if a payment method is provided more than once
https://bugs.webkit.org/show_bug.cgi?id=220824
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https.sub-expected.txt (271734 => 271735)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https.sub-expected.txt 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https.sub-expected.txt 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
PASS If details.id is missing, assign an identifier
PASS If details.id is missing, assign a unique identifier
@@ -17,7 +18,7 @@
PASS For each option in details.shippingOptions: if option.amount.value is not a valid decimal monetary value, then throw a TypeError
PASS If there is no selected shipping option, then PaymentRequest.shippingOption remains null
PASS If there is a selected shipping option, and requestShipping is set, then that option becomes synchronously selected
-PASS If requestShipping is set, and if there is a multiple selected shipping options, only the last is selected.
+FAIL If requestShipping is set, and if there is a multiple selected shipping options, only the last is selected. assert_equals: selected option must 'the-id expected "the-id" but got "FAIL1"
PASS If there are any duplicate shipping option ids, and shipping is requested, then throw a TypeError
PASS Throw when there are duplicate shippingOption ids, even if other values are different
PASS Throw TypeError if modifier.total.amount.value is not a valid decimal monetary value
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-shippingOption-attribute.https-expected.txt (271734 => 271735)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-shippingOption-attribute.https-expected.txt 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/payment-request/payment-request-shippingOption-attribute.https-expected.txt 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,8 +1,9 @@
+CONSOLE MESSAGE: WebKit currently uses the first shipping option even if other shipping options are marked as selected.
PASS Must have a .shippingOption IDL attribute.
PASS .shippingOption attribute must default to null.
-PASS If there is a single shipping option, but selected is false, then .shippingOption must be null.
-PASS If there are multiple shipping options all with `selected` set to false, then .shippingOption is null.
+FAIL If there is a single shipping option, but selected is false, then .shippingOption must be null. assert_equals: expected null expected (object) null but got (string) "valid"
+FAIL If there are multiple shipping options all with `selected` set to false, then .shippingOption is null. assert_equals: expected null expected (object) null but got (string) "valid"
PASS Given multiple shipping options, it must use the selected shipping option for .shippingOption value.
-PASS If there are multiple of the shipping options with selected true, then .shippingOption is the last selected shipping option in order.
+FAIL If there are multiple of the shipping options with selected true, then .shippingOption is the last selected shipping option in order. assert_equals: expected 'pass' expected "pass" but got "fail"
Modified: trunk/Source/_javascript_Core/ChangeLog (271734 => 271735)
--- trunk/Source/_javascript_Core/ChangeLog 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/_javascript_Core/ChangeLog 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,18 @@
+2021-01-21 Devin Rousso <[email protected]>
+
+ [Apple Pay] use the first item in `shippingOptions` even when it's not `selected`
+ https://bugs.webkit.org/show_bug.cgi?id=220810
+
+ Reviewed by Andy Estes.
+
+ * inspector/protocol/Console.json:
+ * runtime/ConsoleTypes.h:
+ * inspector/ConsoleMessage.cpp:
+ (Inspector::messageSourceValue):
+ * runtime/ConsoleClient.cpp:
+ (JSC::appendMessagePrefix):
+ Add a new `PaymentRequest` value to the `ChannelSource` enum.
+
2021-01-21 Yusuke Suzuki <[email protected]>
[JSC] JSPromise should not propagate TerminatedExecutionError
Modified: trunk/Source/_javascript_Core/inspector/ConsoleMessage.cpp (271734 => 271735)
--- trunk/Source/_javascript_Core/inspector/ConsoleMessage.cpp 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/_javascript_Core/inspector/ConsoleMessage.cpp 2021-01-22 03:50:35 UTC (rev 271735)
@@ -192,6 +192,7 @@
case MessageSource::WebRTC: return Protocol::Console::ChannelSource::WebRTC;
case MessageSource::ITPDebug: return Protocol::Console::ChannelSource::ITPDebug;
case MessageSource::PrivateClickMeasurement: return Protocol::Console::ChannelSource::PrivateClickMeasurement;
+ case MessageSource::PaymentRequest: return Protocol::Console::ChannelSource::PaymentRequest;
case MessageSource::Other: return Protocol::Console::ChannelSource::Other;
}
return Protocol::Console::ChannelSource::Other;
Modified: trunk/Source/_javascript_Core/inspector/protocol/Console.json (271734 => 271735)
--- trunk/Source/_javascript_Core/inspector/protocol/Console.json 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/_javascript_Core/inspector/protocol/Console.json 2021-01-22 03:50:35 UTC (rev 271735)
@@ -23,6 +23,7 @@
"webrtc",
"itp-debug",
"private-click-measurement",
+ "payment-request",
"other"
],
"description": "Channels for different types of log messages."
Modified: trunk/Source/_javascript_Core/runtime/ConsoleClient.cpp (271734 => 271735)
--- trunk/Source/_javascript_Core/runtime/ConsoleClient.cpp 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/_javascript_Core/runtime/ConsoleClient.cpp 2021-01-22 03:50:35 UTC (rev 271735)
@@ -108,6 +108,9 @@
case MessageSource::PrivateClickMeasurement:
sourceString = "PRIVATECLICKMEASUREMENT"_s;
break;
+ case MessageSource::PaymentRequest:
+ sourceString = "PAYMENTREQUEST"_s;
+ break;
case MessageSource::Other:
sourceString = "OTHER"_s;
break;
Modified: trunk/Source/_javascript_Core/runtime/ConsoleTypes.h (271734 => 271735)
--- trunk/Source/_javascript_Core/runtime/ConsoleTypes.h 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/_javascript_Core/runtime/ConsoleTypes.h 2021-01-22 03:50:35 UTC (rev 271735)
@@ -45,6 +45,7 @@
WebRTC,
ITPDebug,
PrivateClickMeasurement,
+ PaymentRequest,
Other,
};
@@ -95,6 +96,7 @@
JSC::MessageSource::WebRTC,
JSC::MessageSource::ITPDebug,
JSC::MessageSource::PrivateClickMeasurement,
+ JSC::MessageSource::PaymentRequest,
JSC::MessageSource::Other
>;
};
Modified: trunk/Source/WebCore/ChangeLog (271734 => 271735)
--- trunk/Source/WebCore/ChangeLog 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebCore/ChangeLog 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,5 +1,40 @@
2021-01-21 Devin Rousso <[email protected]>
+ [Apple Pay] use the first item in `shippingOptions` even when it's not `selected`
+ https://bugs.webkit.org/show_bug.cgi?id=220810
+
+ Reviewed by Andy Estes.
+
+ The Payment Request API defines a `selected` property of `PaymentShippingOption` that is
+ used to control the initially selected shipping option when showing/updating a payment
+ request. Currently, `PKShippingMethod` does not have an equivalent concept and instead just
+ uses the first item in the `-[PKPaymentRequest setShippingMethods:]` such that there is
+ always a selected `PKShippingMethod`. This patch adjusts WebKit to follow those same
+ conventions, in that the first item in `paymentDetailsBase.shippingOptions` is used as the
+ `selectedShippingOption` so as to avoid situations where PassKit displays the first shipping
+ option while `PaymentRequest.prototype.get shippingOption` has a different value, which
+ could result in the user authorizing a payment with different shipping details than what
+ they were shown. Ideally in the future PassKit will add API/SPI to allow us to undo this.
+
+ Tests: http/tests/paymentrequest/payment-request-change-shipping-option.https.html
+ http/tests/paymentrequest/updateWith-shippingOptions.https.html
+ web-platform-tests/payment-request/payment-request-constructor.https.sub.html
+ web-platform-tests/payment-request/payment-request-shippingOption-attribute.https.html
+
+ * Modules/paymentrequest/PaymentRequest.cpp:
+ (WebCore::checkAndCanonicalizeDetails):
+ (WebCore::PaymentRequest::create):
+ (WebCore::PaymentRequest::settleDetailsPromise):
+ Pass the `ScriptExecutionContext` instead of the `JSGlobalObject` so that it's possible to
+ call `ScriptExecutionContext::addConsoleMessage`. When creating a `PaymentRequest`, log if
+ subsequent `PaymentShippingOption` are marked as `selected`.
+
+ * inspector/agents/page/PageConsoleAgent.cpp:
+ (WebCore::PageConsoleAgent::getLoggingChannels):
+ Add a new `PaymentRequest` value to the `ChannelSource` enum.
+
+2021-01-21 Devin Rousso <[email protected]>
+
[Payment Request] constructor should throw if a payment method is provided more than once
https://bugs.webkit.org/show_bug.cgi?id=220824
Modified: trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp (271734 => 271735)
--- trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp 2021-01-22 03:50:35 UTC (rev 271735)
@@ -245,7 +245,7 @@
Yes,
};
-static ExceptionOr<std::tuple<String, Vector<String>>> checkAndCanonicalizeDetails(JSC::JSGlobalObject& execState, PaymentDetailsBase& details, bool requestShipping, IsUpdate isUpdate)
+static ExceptionOr<std::tuple<String, Vector<String>>> checkAndCanonicalizeDetails(ScriptExecutionContext& context, PaymentDetailsBase& details, bool requestShipping, IsUpdate isUpdate)
{
if (details.displayItems) {
for (auto& item : *details.displayItems) {
@@ -259,6 +259,7 @@
if (requestShipping) {
if (details.shippingOptions) {
HashSet<String> seenShippingOptionIDs;
+ bool didLog = false;
for (auto& shippingOption : *details.shippingOptions) {
auto exception = checkAndCanonicalizeAmount(shippingOption.amount);
if (exception.hasException())
@@ -268,8 +269,13 @@
if (!addResult.isNewEntry)
return Exception { TypeError, "Shipping option IDs must be unique." };
- if (shippingOption.selected)
+ // FIXME: <rdar://problem/73464404>
+ if (!selectedShippingOption)
selectedShippingOption = shippingOption.id;
+ else if (!didLog && shippingOption.selected) {
+ context.addConsoleMessage(JSC::MessageSource::PaymentRequest, JSC::MessageLevel::Warning, "WebKit currently uses the first shipping option even if other shipping options are marked as selected."_s);
+ didLog = true;
+ }
}
} else if (isUpdate == IsUpdate::No)
details.shippingOptions = { { } };
@@ -299,8 +305,9 @@
String serializedData;
if (modifier.data) {
- auto scope = DECLARE_THROW_SCOPE(execState.vm());
- serializedData = JSONStringify(&execState, modifier.data.get(), 0);
+ auto* globalObject = context.globalObject();
+ auto scope = DECLARE_THROW_SCOPE(globalObject->vm());
+ serializedData = JSONStringify(globalObject, modifier.data.get(), 0);
if (scope.exception())
return Exception { ExistingExceptionError };
modifier.data.clear();
@@ -377,7 +384,7 @@
if (totalResult.hasException())
return totalResult.releaseException();
- auto detailsResult = checkAndCanonicalizeDetails(*document.globalObject(), details, options.requestShipping, IsUpdate::No);
+ auto detailsResult = checkAndCanonicalizeDetails(document, details, options.requestShipping, IsUpdate::No);
if (detailsResult.hasException())
return detailsResult.releaseException();
@@ -681,7 +688,7 @@
}
}
- auto detailsResult = checkAndCanonicalizeDetails(*context.globalObject(), detailsUpdate, m_options.requestShipping, IsUpdate::Yes);
+ auto detailsResult = checkAndCanonicalizeDetails(context, detailsUpdate, m_options.requestShipping, IsUpdate::Yes);
if (detailsResult.hasException()) {
abortWithException(detailsResult.releaseException());
return;
Modified: trunk/Source/WebCore/inspector/agents/page/PageConsoleAgent.cpp (271734 => 271735)
--- trunk/Source/WebCore/inspector/agents/page/PageConsoleAgent.cpp 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebCore/inspector/agents/page/PageConsoleAgent.cpp 2021-01-22 03:50:35 UTC (rev 271735)
@@ -108,6 +108,7 @@
addLogChannel(Protocol::Console::ChannelSource::WebRTC);
addLogChannel(Protocol::Console::ChannelSource::ITPDebug);
addLogChannel(Protocol::Console::ChannelSource::PrivateClickMeasurement);
+ addLogChannel(Protocol::Console::ChannelSource::PaymentRequest);
addLogChannel(Protocol::Console::ChannelSource::Other);
return channels;
Modified: trunk/Source/WebInspectorUI/ChangeLog (271734 => 271735)
--- trunk/Source/WebInspectorUI/ChangeLog 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebInspectorUI/ChangeLog 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,15 @@
+2021-01-21 Devin Rousso <[email protected]>
+
+ [Apple Pay] use the first item in `shippingOptions` even when it's not `selected`
+ https://bugs.webkit.org/show_bug.cgi?id=220810
+
+ Reviewed by Andy Estes.
+
+ * UserInterface/Models/ConsoleMessage.js:
+ * UserInterface/Models/IssueMessage.js:
+ (WI.IssueMessage):
+ Add a new `PaymentRequest` value to the `ChannelSource` enum.
+
2021-01-21 Ebrahim Byagowi <[email protected]>
Web Inspector: Fix bidi confusion when evaluation result has RTL text
Modified: trunk/Source/WebInspectorUI/UserInterface/Models/ConsoleMessage.js (271734 => 271735)
--- trunk/Source/WebInspectorUI/UserInterface/Models/ConsoleMessage.js 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/ConsoleMessage.js 2021-01-22 03:50:35 UTC (rev 271735)
@@ -114,6 +114,7 @@
WebRTC: "webrtc",
ITPDebug: "itp-debug",
PrivateClickMeasurement: "private-click-measurement",
+ PaymentRequest: "payment-request",
Other: "other",
// COMPATIBILITY (iOS 14.0): `Console.ChannelSource.AdClickAttribution` was renamed to `Console.ChannelSource.PrivateClickMeasurement`.
Modified: trunk/Source/WebInspectorUI/UserInterface/Models/IssueMessage.js (271734 => 271735)
--- trunk/Source/WebInspectorUI/UserInterface/Models/IssueMessage.js 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/IssueMessage.js 2021-01-22 03:50:35 UTC (rev 271735)
@@ -70,6 +70,7 @@
case WI.ConsoleMessage.MessageSource.WebRTC:
case WI.ConsoleMessage.MessageSource.ITPDebug:
case WI.ConsoleMessage.MessageSource.PrivateClickMeasurement:
+ case WI.ConsoleMessage.MessageSource.PaymentRequest:
case WI.ConsoleMessage.MessageSource.AdClickAttribution: // COMPATIBILITY (iOS 14.0): `Console.ChannelSource.AdClickAttribution` was renamed to `Console.ChannelSource.PrivateClickMeasurement`.
case WI.ConsoleMessage.MessageSource.Other:
this._type = WI.IssueMessage.Type.OtherIssue;
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (271734 => 271735)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2021-01-22 03:50:35 UTC (rev 271735)
@@ -1,3 +1,14 @@
+2021-01-21 Devin Rousso <[email protected]>
+
+ [Apple Pay] use the first item in `shippingOptions` even when it's not `selected`
+ https://bugs.webkit.org/show_bug.cgi?id=220810
+
+ Reviewed by Andy Estes.
+
+ * WebCoreSupport/WebChromeClient.mm:
+ (stringForMessageSource):
+ Add a new `PaymentRequest` value to the `ChannelSource` enum.
+
2021-01-20 Wenson Hsieh <[email protected]>
[macOS] Include an origin identifier when writing promised image data to the drag pasteboard
Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm (271734 => 271735)
--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm 2021-01-22 03:39:46 UTC (rev 271734)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm 2021-01-22 03:50:35 UTC (rev 271735)
@@ -126,6 +126,7 @@
NSString *WebConsoleMessageWebRTCMessageSource = @"WebRTCMessageSource";
NSString *WebConsoleMessageITPDebugMessageSource = @"ITPDebugMessageSource";
NSString *WebConsoleMessagePrivateClickMeasurementMessageSource = @"PrivateClickMeasurementMessageSource";
+NSString *WebConsoleMessagePaymentRequestMessageSource = @"PaymentRequestMessageSource";
NSString *WebConsoleMessageOtherMessageSource = @"OtherMessageSource";
NSString *WebConsoleMessageDebugMessageLevel = @"DebugMessageLevel";
@@ -406,6 +407,8 @@
return WebConsoleMessageITPDebugMessageSource;
case MessageSource::PrivateClickMeasurement:
return WebConsoleMessagePrivateClickMeasurementMessageSource;
+ case MessageSource::PaymentRequest:
+ return WebConsoleMessagePaymentRequestMessageSource;
case MessageSource::Other:
return WebConsoleMessageOtherMessageSource;
}