Title: [215576] trunk/Source
- Revision
- 215576
- Author
- ander...@apple.com
- Date
- 2017-04-20 13:52:02 -0700 (Thu, 20 Apr 2017)
Log Message
Replace isFinalStateStatus with isFinalStateResult
https://bugs.webkit.org/show_bug.cgi?id=171072
rdar://problem/31589635
Reviewed by Tim Horton.
Source/WebCore:
This will let us get rid of some of the status enum declarations.
* Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::completePayment):
* Modules/applepay/PaymentAuthorizationStatus.h:
(WebCore::isFinalStateStatus): Deleted.
* Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::completePaymentSession):
* Modules/applepay/PaymentRequest.cpp:
(WebCore::isFinalStateResult):
* Modules/applepay/PaymentRequest.h:
Source/WebKit2:
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::completePaymentSession):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (215575 => 215576)
--- trunk/Source/WebCore/ChangeLog 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebCore/ChangeLog 2017-04-20 20:52:02 UTC (rev 215576)
@@ -1,3 +1,23 @@
+2017-04-20 Anders Carlsson <ander...@apple.com>
+
+ Replace isFinalStateStatus with isFinalStateResult
+ https://bugs.webkit.org/show_bug.cgi?id=171072
+ rdar://problem/31589635
+
+ Reviewed by Tim Horton.
+
+ This will let us get rid of some of the status enum declarations.
+
+ * Modules/applepay/ApplePaySession.cpp:
+ (WebCore::ApplePaySession::completePayment):
+ * Modules/applepay/PaymentAuthorizationStatus.h:
+ (WebCore::isFinalStateStatus): Deleted.
+ * Modules/applepay/PaymentCoordinator.cpp:
+ (WebCore::PaymentCoordinator::completePaymentSession):
+ * Modules/applepay/PaymentRequest.cpp:
+ (WebCore::isFinalStateResult):
+ * Modules/applepay/PaymentRequest.h:
+
2017-04-20 Brent Fulgham <bfulg...@apple.com>
[Win] REGRESSION(r215486): Windows Release build is broken
Modified: trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp (215575 => 215576)
--- trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp 2017-04-20 20:52:02 UTC (rev 215576)
@@ -780,11 +780,11 @@
if (convertedResult.hasException())
return convertedResult.releaseException();
- auto authorizationStatus = convertedResult.releaseReturnValue().status;
+ bool isFinalState = isFinalStateResult(convertedResult.releaseReturnValue());
paymentCoordinator().completePaymentSession(convertedResult.releaseReturnValue());
- if (!isFinalStateStatus(authorizationStatus)) {
+ if (!isFinalState) {
m_state = State::Active;
return { };
}
Modified: trunk/Source/WebCore/Modules/applepay/PaymentAuthorizationStatus.h (215575 => 215576)
--- trunk/Source/WebCore/Modules/applepay/PaymentAuthorizationStatus.h 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebCore/Modules/applepay/PaymentAuthorizationStatus.h 2017-04-20 20:52:02 UTC (rev 215576)
@@ -42,25 +42,8 @@
PINLockout,
};
-static inline bool isFinalStateStatus(PaymentAuthorizationStatus status)
-{
- switch (status) {
- case PaymentAuthorizationStatus::Success:
- case PaymentAuthorizationStatus::Failure:
- return true;
-
- case PaymentAuthorizationStatus::InvalidBillingPostalAddress:
- case PaymentAuthorizationStatus::InvalidShippingPostalAddress:
- case PaymentAuthorizationStatus::InvalidShippingContact:
- case PaymentAuthorizationStatus::PINRequired:
- case PaymentAuthorizationStatus::PINIncorrect:
- case PaymentAuthorizationStatus::PINLockout:
- return false;
- }
}
-}
-
namespace WTF {
template<> struct EnumTraits<WebCore::PaymentAuthorizationStatus> {
using values = EnumValues<
Modified: trunk/Source/WebCore/Modules/applepay/PaymentCoordinator.cpp (215575 => 215576)
--- trunk/Source/WebCore/Modules/applepay/PaymentCoordinator.cpp 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebCore/Modules/applepay/PaymentCoordinator.cpp 2017-04-20 20:52:02 UTC (rev 215576)
@@ -108,11 +108,11 @@
{
ASSERT(m_activeSession);
- auto status = result ? result->status : PaymentAuthorizationStatus::Success;
+ bool isFinalState = isFinalStateResult(result);
m_client.completePaymentSession(WTFMove(result));
- if (!isFinalStateStatus(status))
+ if (!isFinalState)
return;
m_activeSession = nullptr;
Modified: trunk/Source/WebCore/Modules/applepay/PaymentRequest.cpp (215575 => 215576)
--- trunk/Source/WebCore/Modules/applepay/PaymentRequest.cpp 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebCore/Modules/applepay/PaymentRequest.cpp 2017-04-20 20:52:02 UTC (rev 215576)
@@ -28,6 +28,7 @@
#if ENABLE(APPLE_PAY)
+#include "PaymentAuthorizationStatus.h"
#include "SoftLinking.h"
namespace WebCore {
@@ -69,6 +70,35 @@
return isAdditionalValidSupportedNetwork(version, supportedNetwork);
}
+bool isFinalStateResult(const std::optional<PaymentAuthorizationResult>& result)
+{
+ if (!result)
+ return true;
+
+ switch (result->status) {
+ case PaymentAuthorizationStatus::Success:
+ return true;
+
+ case PaymentAuthorizationStatus::InvalidBillingPostalAddress:
+ case PaymentAuthorizationStatus::InvalidShippingPostalAddress:
+ case PaymentAuthorizationStatus::InvalidShippingContact:
+ case PaymentAuthorizationStatus::PINRequired:
+ case PaymentAuthorizationStatus::PINIncorrect:
+ case PaymentAuthorizationStatus::PINLockout:
+ return false;
+
+ case PaymentAuthorizationStatus::Failure:
+ if (result->errors.isEmpty())
+ return true;
+
+ for (auto& error : result->errors) {
+ if (error.code == PaymentError::Code::Unknown)
+ return true;
+ }
+ return false;
+ }
}
+}
+
#endif
Modified: trunk/Source/WebCore/Modules/applepay/PaymentRequest.h (215575 => 215576)
--- trunk/Source/WebCore/Modules/applepay/PaymentRequest.h 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebCore/Modules/applepay/PaymentRequest.h 2017-04-20 20:52:02 UTC (rev 215576)
@@ -195,6 +195,8 @@
PaymentRequest::TotalAndLineItems newTotalAndLineItems;
};
+WEBCORE_EXPORT bool isFinalStateResult(const std::optional<PaymentAuthorizationResult>&);
+
}
namespace WTF {
Modified: trunk/Source/WebKit2/ChangeLog (215575 => 215576)
--- trunk/Source/WebKit2/ChangeLog 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebKit2/ChangeLog 2017-04-20 20:52:02 UTC (rev 215576)
@@ -1,3 +1,14 @@
+2017-04-20 Anders Carlsson <ander...@apple.com>
+
+ Replace isFinalStateStatus with isFinalStateResult
+ https://bugs.webkit.org/show_bug.cgi?id=171072
+ rdar://problem/31589635
+
+ Reviewed by Tim Horton.
+
+ * UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
+ (WebKit::WebPaymentCoordinatorProxy::completePaymentSession):
+
2017-04-20 Wenson Hsieh <wenson_hs...@apple.com>
[WK2] -[WKContentView doAfterPositionInformationUpdate:atPosition:] should be robust against synchronous reentrancy
Modified: trunk/Source/WebKit2/UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp (215575 => 215576)
--- trunk/Source/WebKit2/UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp 2017-04-20 20:14:55 UTC (rev 215575)
+++ trunk/Source/WebKit2/UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp 2017-04-20 20:52:02 UTC (rev 215576)
@@ -179,9 +179,11 @@
if (!canCompletePayment())
return;
+ bool isFinalStateResult = WebCore::isFinalStateResult(result);
+
platformCompletePaymentSession(result);
- if (!WebCore::isFinalStateStatus(result ? result->status : WebCore::PaymentAuthorizationStatus::Success)) {
+ if (!isFinalStateResult) {
m_state = State::Active;
return;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes