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

Side by Side Diff: third_party/WebKit/Source/modules/payments/PaymentRequest.cpp

Issue 2552693002: [Merge M-56] Rename canMakeActivePayment to canMakePayment (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/payments/PaymentRequest.h" 5 #include "modules/payments/PaymentRequest.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "bindings/core/v8/ScriptPromiseResolver.h" 8 #include "bindings/core/v8/ScriptPromiseResolver.h"
9 #include "bindings/core/v8/ScriptState.h" 9 #include "bindings/core/v8/ScriptState.h"
10 #include "bindings/core/v8/V8StringResource.h" 10 #include "bindings/core/v8/V8StringResource.h"
(...skipping 19 matching lines...) Expand all
30 #include "mojo/public/cpp/bindings/interface_request.h" 30 #include "mojo/public/cpp/bindings/interface_request.h"
31 #include "mojo/public/cpp/bindings/wtf_array.h" 31 #include "mojo/public/cpp/bindings/wtf_array.h"
32 #include "platform/RuntimeEnabledFeatures.h" 32 #include "platform/RuntimeEnabledFeatures.h"
33 #include "platform/mojo/MojoHelper.h" 33 #include "platform/mojo/MojoHelper.h"
34 #include "public/platform/InterfaceProvider.h" 34 #include "public/platform/InterfaceProvider.h"
35 #include "public/platform/Platform.h" 35 #include "public/platform/Platform.h"
36 #include "public/platform/WebTraceLocation.h" 36 #include "public/platform/WebTraceLocation.h"
37 #include "wtf/HashSet.h" 37 #include "wtf/HashSet.h"
38 #include <utility> 38 #include <utility>
39 39
40 using payments::mojom::blink::ActivePaymentQueryResult; 40 using payments::mojom::blink::CanMakePaymentQueryResult;
41 using payments::mojom::blink::PaymentAddressPtr; 41 using payments::mojom::blink::PaymentAddressPtr;
42 using payments::mojom::blink::PaymentCurrencyAmount; 42 using payments::mojom::blink::PaymentCurrencyAmount;
43 using payments::mojom::blink::PaymentCurrencyAmountPtr; 43 using payments::mojom::blink::PaymentCurrencyAmountPtr;
44 using payments::mojom::blink::PaymentDetails; 44 using payments::mojom::blink::PaymentDetails;
45 using payments::mojom::blink::PaymentDetailsModifier; 45 using payments::mojom::blink::PaymentDetailsModifier;
46 using payments::mojom::blink::PaymentDetailsModifierPtr; 46 using payments::mojom::blink::PaymentDetailsModifierPtr;
47 using payments::mojom::blink::PaymentDetailsPtr; 47 using payments::mojom::blink::PaymentDetailsPtr;
48 using payments::mojom::blink::PaymentDetailsPtr; 48 using payments::mojom::blink::PaymentDetailsPtr;
49 using payments::mojom::blink::PaymentErrorReason; 49 using payments::mojom::blink::PaymentErrorReason;
50 using payments::mojom::blink::PaymentItem; 50 using payments::mojom::blink::PaymentItem;
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 return ScriptPromise::rejectWithDOMException( 587 return ScriptPromise::rejectWithDOMException(
588 scriptState, 588 scriptState,
589 DOMException::create(InvalidStateError, 589 DOMException::create(InvalidStateError,
590 "Never called show(), so nothing to abort")); 590 "Never called show(), so nothing to abort"));
591 591
592 m_abortResolver = ScriptPromiseResolver::create(scriptState); 592 m_abortResolver = ScriptPromiseResolver::create(scriptState);
593 m_paymentProvider->Abort(); 593 m_paymentProvider->Abort();
594 return m_abortResolver->promise(); 594 return m_abortResolver->promise();
595 } 595 }
596 596
597 ScriptPromise PaymentRequest::canMakeActivePayment(ScriptState* scriptState) { 597 ScriptPromise PaymentRequest::canMakePayment(ScriptState* scriptState) {
598 if (!m_paymentProvider.is_bound() || m_canMakeActivePaymentResolver || 598 if (!m_paymentProvider.is_bound() || m_canMakePaymentResolver ||
599 !scriptState->contextIsValid()) { 599 !scriptState->contextIsValid()) {
600 return ScriptPromise::rejectWithDOMException( 600 return ScriptPromise::rejectWithDOMException(
601 scriptState, DOMException::create(InvalidStateError, 601 scriptState, DOMException::create(InvalidStateError,
602 "Cannot query payment request")); 602 "Cannot query payment request"));
603 } 603 }
604 604
605 m_paymentProvider->CanMakeActivePayment(); 605 m_paymentProvider->CanMakePayment();
606 606
607 m_canMakeActivePaymentResolver = ScriptPromiseResolver::create(scriptState); 607 m_canMakePaymentResolver = ScriptPromiseResolver::create(scriptState);
608 return m_canMakeActivePaymentResolver->promise(); 608 return m_canMakePaymentResolver->promise();
609 } 609 }
610 610
611 bool PaymentRequest::hasPendingActivity() const { 611 bool PaymentRequest::hasPendingActivity() const {
612 return m_showResolver || m_completeResolver; 612 return m_showResolver || m_completeResolver;
613 } 613 }
614 614
615 const AtomicString& PaymentRequest::interfaceName() const { 615 const AtomicString& PaymentRequest::interfaceName() const {
616 return EventTargetNames::PaymentRequest; 616 return EventTargetNames::PaymentRequest;
617 } 617 }
618 618
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 m_completeResolver->reject(DOMException::create(AbortError, error)); 693 m_completeResolver->reject(DOMException::create(AbortError, error));
694 clearResolversAndCloseMojoConnection(); 694 clearResolversAndCloseMojoConnection();
695 } 695 }
696 696
697 DEFINE_TRACE(PaymentRequest) { 697 DEFINE_TRACE(PaymentRequest) {
698 visitor->trace(m_options); 698 visitor->trace(m_options);
699 visitor->trace(m_shippingAddress); 699 visitor->trace(m_shippingAddress);
700 visitor->trace(m_showResolver); 700 visitor->trace(m_showResolver);
701 visitor->trace(m_completeResolver); 701 visitor->trace(m_completeResolver);
702 visitor->trace(m_abortResolver); 702 visitor->trace(m_abortResolver);
703 visitor->trace(m_canMakeActivePaymentResolver); 703 visitor->trace(m_canMakePaymentResolver);
704 EventTargetWithInlineData::trace(visitor); 704 EventTargetWithInlineData::trace(visitor);
705 ContextLifecycleObserver::trace(visitor); 705 ContextLifecycleObserver::trace(visitor);
706 } 706 }
707 707
708 void PaymentRequest::onCompleteTimeoutForTesting() { 708 void PaymentRequest::onCompleteTimeoutForTesting() {
709 m_completeTimer.stop(); 709 m_completeTimer.stop();
710 onCompleteTimeout(0); 710 onCompleteTimeout(0);
711 } 711 }
712 712
713 PaymentRequest::PaymentRequest(ScriptState* scriptState, 713 PaymentRequest::PaymentRequest(ScriptState* scriptState,
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
890 if (isError) { 890 if (isError) {
891 if (m_completeResolver) 891 if (m_completeResolver)
892 m_completeResolver->reject(DOMException::create(ec, message)); 892 m_completeResolver->reject(DOMException::create(ec, message));
893 893
894 if (m_showResolver) 894 if (m_showResolver)
895 m_showResolver->reject(DOMException::create(ec, message)); 895 m_showResolver->reject(DOMException::create(ec, message));
896 896
897 if (m_abortResolver) 897 if (m_abortResolver)
898 m_abortResolver->reject(DOMException::create(ec, message)); 898 m_abortResolver->reject(DOMException::create(ec, message));
899 899
900 if (m_canMakeActivePaymentResolver) 900 if (m_canMakePaymentResolver)
901 m_canMakeActivePaymentResolver->reject(DOMException::create(ec, message)); 901 m_canMakePaymentResolver->reject(DOMException::create(ec, message));
902 } else { 902 } else {
903 if (m_completeResolver) 903 if (m_completeResolver)
904 m_completeResolver->reject(message); 904 m_completeResolver->reject(message);
905 905
906 if (m_showResolver) 906 if (m_showResolver)
907 m_showResolver->reject(message); 907 m_showResolver->reject(message);
908 908
909 if (m_abortResolver) 909 if (m_abortResolver)
910 m_abortResolver->reject(message); 910 m_abortResolver->reject(message);
911 911
912 if (m_canMakeActivePaymentResolver) 912 if (m_canMakePaymentResolver)
913 m_canMakeActivePaymentResolver->reject(message); 913 m_canMakePaymentResolver->reject(message);
914 } 914 }
915 915
916 clearResolversAndCloseMojoConnection(); 916 clearResolversAndCloseMojoConnection();
917 } 917 }
918 918
919 void PaymentRequest::OnComplete() { 919 void PaymentRequest::OnComplete() {
920 DCHECK(m_completeResolver); 920 DCHECK(m_completeResolver);
921 m_completeResolver->resolve(); 921 m_completeResolver->resolve();
922 clearResolversAndCloseMojoConnection(); 922 clearResolversAndCloseMojoConnection();
923 } 923 }
924 924
925 void PaymentRequest::OnAbort(bool abortedSuccessfully) { 925 void PaymentRequest::OnAbort(bool abortedSuccessfully) {
926 DCHECK(m_abortResolver); 926 DCHECK(m_abortResolver);
927 DCHECK(m_showResolver); 927 DCHECK(m_showResolver);
928 928
929 if (!abortedSuccessfully) { 929 if (!abortedSuccessfully) {
930 m_abortResolver->reject(DOMException::create(InvalidStateError)); 930 m_abortResolver->reject(DOMException::create(InvalidStateError));
931 m_abortResolver.clear(); 931 m_abortResolver.clear();
932 return; 932 return;
933 } 933 }
934 934
935 m_showResolver->reject(DOMException::create(AbortError)); 935 m_showResolver->reject(DOMException::create(AbortError));
936 m_abortResolver->resolve(); 936 m_abortResolver->resolve();
937 clearResolversAndCloseMojoConnection(); 937 clearResolversAndCloseMojoConnection();
938 } 938 }
939 939
940 void PaymentRequest::OnCanMakeActivePayment(ActivePaymentQueryResult result) { 940 void PaymentRequest::OnCanMakePayment(CanMakePaymentQueryResult result) {
941 DCHECK(m_canMakeActivePaymentResolver); 941 DCHECK(m_canMakePaymentResolver);
942 942
943 switch (result) { 943 switch (result) {
944 case ActivePaymentQueryResult::CAN_MAKE_ACTIVE_PAYMENT: 944 case CanMakePaymentQueryResult::CAN_MAKE_PAYMENT:
945 m_canMakeActivePaymentResolver->resolve(true); 945 m_canMakePaymentResolver->resolve(true);
946 break; 946 break;
947 case ActivePaymentQueryResult::CANNOT_MAKE_ACTIVE_PAYMENT: 947 case CanMakePaymentQueryResult::CANNOT_MAKE_PAYMENT:
948 m_canMakeActivePaymentResolver->resolve(false); 948 m_canMakePaymentResolver->resolve(false);
949 break; 949 break;
950 case ActivePaymentQueryResult::QUERY_QUOTA_EXCEEDED: 950 case CanMakePaymentQueryResult::QUERY_QUOTA_EXCEEDED:
951 m_canMakeActivePaymentResolver->reject( 951 m_canMakePaymentResolver->reject(
952 DOMException::create(QuotaExceededError, "Query quota exceeded")); 952 DOMException::create(QuotaExceededError, "Query quota exceeded"));
953 break; 953 break;
954 } 954 }
955 955
956 m_canMakeActivePaymentResolver.clear(); 956 m_canMakePaymentResolver.clear();
957 } 957 }
958 958
959 void PaymentRequest::onCompleteTimeout(TimerBase*) { 959 void PaymentRequest::onCompleteTimeout(TimerBase*) {
960 m_paymentProvider->Complete(payments::mojom::blink::PaymentComplete(Fail)); 960 m_paymentProvider->Complete(payments::mojom::blink::PaymentComplete(Fail));
961 clearResolversAndCloseMojoConnection(); 961 clearResolversAndCloseMojoConnection();
962 } 962 }
963 963
964 void PaymentRequest::clearResolversAndCloseMojoConnection() { 964 void PaymentRequest::clearResolversAndCloseMojoConnection() {
965 m_completeTimer.stop(); 965 m_completeTimer.stop();
966 m_completeResolver.clear(); 966 m_completeResolver.clear();
967 m_showResolver.clear(); 967 m_showResolver.clear();
968 m_abortResolver.clear(); 968 m_abortResolver.clear();
969 m_canMakeActivePaymentResolver.clear(); 969 m_canMakePaymentResolver.clear();
970 if (m_clientBinding.is_bound()) 970 if (m_clientBinding.is_bound())
971 m_clientBinding.Close(); 971 m_clientBinding.Close();
972 m_paymentProvider.reset(); 972 m_paymentProvider.reset();
973 } 973 }
974 974
975 } // namespace blink 975 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698