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

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

Issue 2780773004: Reland "PaymentRequest: Introduce PaymentDetailsInit and PaymentDetailsUpdate." (Closed)
Patch Set: Reland "PaymentRequest: Introduce PaymentDetailsInit and PaymentDetailsUpdate." Created 3 years, 8 months 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 #ifndef PaymentRequest_h 5 #ifndef PaymentRequest_h
6 #define PaymentRequest_h 6 #define PaymentRequest_h
7 7
8 #include "bindings/core/v8/ScriptPromise.h" 8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptValue.h" 9 #include "bindings/core/v8/ScriptValue.h"
10 #include "bindings/core/v8/ScriptWrappable.h" 10 #include "bindings/core/v8/ScriptWrappable.h"
11 #include "components/payments/content/payment_request.mojom-blink.h" 11 #include "components/payments/content/payment_request.mojom-blink.h"
12 #include "core/dom/ContextLifecycleObserver.h" 12 #include "core/dom/ContextLifecycleObserver.h"
13 #include "core/events/EventTarget.h" 13 #include "core/events/EventTarget.h"
14 #include "modules/ModulesExport.h" 14 #include "modules/ModulesExport.h"
15 #include "modules/payments/PaymentCompleter.h" 15 #include "modules/payments/PaymentCompleter.h"
16 #include "modules/payments/PaymentDetails.h"
17 #include "modules/payments/PaymentMethodData.h" 16 #include "modules/payments/PaymentMethodData.h"
18 #include "modules/payments/PaymentOptions.h" 17 #include "modules/payments/PaymentOptions.h"
19 #include "modules/payments/PaymentUpdater.h" 18 #include "modules/payments/PaymentUpdater.h"
20 #include "mojo/public/cpp/bindings/binding.h" 19 #include "mojo/public/cpp/bindings/binding.h"
21 #include "platform/Timer.h" 20 #include "platform/Timer.h"
22 #include "platform/heap/Handle.h" 21 #include "platform/heap/Handle.h"
23 #include "wtf/Compiler.h" 22 #include "wtf/Compiler.h"
24 #include "wtf/Noncopyable.h" 23 #include "wtf/Noncopyable.h"
25 #include "wtf/RefPtr.h" 24 #include "wtf/RefPtr.h"
26 #include "wtf/Vector.h" 25 #include "wtf/Vector.h"
27 #include "wtf/text/WTFString.h" 26 #include "wtf/text/WTFString.h"
28 27
29 namespace blink { 28 namespace blink {
30 29
31 class ExceptionState; 30 class ExceptionState;
32 class ExecutionContext; 31 class ExecutionContext;
33 class PaymentAddress; 32 class PaymentAddress;
33 class PaymentDetailsInit;
34 class ScriptPromiseResolver; 34 class ScriptPromiseResolver;
35 class ScriptState; 35 class ScriptState;
36 36
37 class MODULES_EXPORT PaymentRequest final 37 class MODULES_EXPORT PaymentRequest final
38 : public EventTargetWithInlineData, 38 : public EventTargetWithInlineData,
39 NON_EXPORTED_BASE(public payments::mojom::blink::PaymentRequestClient), 39 NON_EXPORTED_BASE(public payments::mojom::blink::PaymentRequestClient),
40 public PaymentCompleter, 40 public PaymentCompleter,
41 public PaymentUpdater, 41 public PaymentUpdater,
42 public ContextLifecycleObserver, 42 public ContextLifecycleObserver,
43 public ActiveScriptWrappable<PaymentRequest> { 43 public ActiveScriptWrappable<PaymentRequest> {
44 DEFINE_WRAPPERTYPEINFO(); 44 DEFINE_WRAPPERTYPEINFO();
45 USING_GARBAGE_COLLECTED_MIXIN(PaymentRequest) 45 USING_GARBAGE_COLLECTED_MIXIN(PaymentRequest)
46 WTF_MAKE_NONCOPYABLE(PaymentRequest); 46 WTF_MAKE_NONCOPYABLE(PaymentRequest);
47 47
48 public: 48 public:
49 static PaymentRequest* create(ExecutionContext*, 49 static PaymentRequest* create(ExecutionContext*,
50 const HeapVector<PaymentMethodData>&, 50 const HeapVector<PaymentMethodData>&,
51 const PaymentDetails&, 51 const PaymentDetailsInit&,
52 ExceptionState&); 52 ExceptionState&);
53 static PaymentRequest* create(ExecutionContext*, 53 static PaymentRequest* create(ExecutionContext*,
54 const HeapVector<PaymentMethodData>&, 54 const HeapVector<PaymentMethodData>&,
55 const PaymentDetails&, 55 const PaymentDetailsInit&,
56 const PaymentOptions&, 56 const PaymentOptions&,
57 ExceptionState&); 57 ExceptionState&);
58 58
59 virtual ~PaymentRequest(); 59 virtual ~PaymentRequest();
60 60
61 ScriptPromise show(ScriptState*); 61 ScriptPromise show(ScriptState*);
62 ScriptPromise abort(ScriptState*); 62 ScriptPromise abort(ScriptState*);
63 63
64 PaymentAddress* getShippingAddress() const { return m_shippingAddress.get(); } 64 PaymentAddress* getShippingAddress() const { return m_shippingAddress.get(); }
65 const String& shippingOption() const { return m_shippingOption; } 65 const String& shippingOption() const { return m_shippingOption; }
(...skipping 18 matching lines...) Expand all
84 void onUpdatePaymentDetails(const ScriptValue& detailsScriptValue) override; 84 void onUpdatePaymentDetails(const ScriptValue& detailsScriptValue) override;
85 void onUpdatePaymentDetailsFailure(const String& error) override; 85 void onUpdatePaymentDetailsFailure(const String& error) override;
86 86
87 DECLARE_TRACE(); 87 DECLARE_TRACE();
88 88
89 void onCompleteTimeoutForTesting(); 89 void onCompleteTimeoutForTesting();
90 90
91 private: 91 private:
92 PaymentRequest(ExecutionContext*, 92 PaymentRequest(ExecutionContext*,
93 const HeapVector<PaymentMethodData>&, 93 const HeapVector<PaymentMethodData>&,
94 const PaymentDetails&, 94 const PaymentDetailsInit&,
95 const PaymentOptions&, 95 const PaymentOptions&,
96 ExceptionState&); 96 ExceptionState&);
97 97
98 // LifecycleObserver: 98 // LifecycleObserver:
99 void contextDestroyed(ExecutionContext*) override; 99 void contextDestroyed(ExecutionContext*) override;
100 100
101 // payments::mojom::blink::PaymentRequestClient: 101 // payments::mojom::blink::PaymentRequestClient:
102 void OnShippingAddressChange( 102 void OnShippingAddressChange(
103 payments::mojom::blink::PaymentAddressPtr) override; 103 payments::mojom::blink::PaymentAddressPtr) override;
104 void OnShippingOptionChange(const String& shippingOptionId) override; 104 void OnShippingOptionChange(const String& shippingOptionId) override;
(...skipping 18 matching lines...) Expand all
123 Member<ScriptPromiseResolver> m_abortResolver; 123 Member<ScriptPromiseResolver> m_abortResolver;
124 Member<ScriptPromiseResolver> m_canMakePaymentResolver; 124 Member<ScriptPromiseResolver> m_canMakePaymentResolver;
125 payments::mojom::blink::PaymentRequestPtr m_paymentProvider; 125 payments::mojom::blink::PaymentRequestPtr m_paymentProvider;
126 mojo::Binding<payments::mojom::blink::PaymentRequestClient> m_clientBinding; 126 mojo::Binding<payments::mojom::blink::PaymentRequestClient> m_clientBinding;
127 TaskRunnerTimer<PaymentRequest> m_completeTimer; 127 TaskRunnerTimer<PaymentRequest> m_completeTimer;
128 }; 128 };
129 129
130 } // namespace blink 130 } // namespace blink
131 131
132 #endif // PaymentRequest_h 132 #endif // PaymentRequest_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698