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

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

Issue 1931233002: Implement PaymentRequestUpdateEvent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@explicit-shipping
Patch Set: Created 4 years, 7 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 "core/dom/ContextLifecycleObserver.h" 11 #include "core/dom/ContextLifecycleObserver.h"
12 #include "core/events/EventTarget.h" 12 #include "core/events/EventTarget.h"
13 #include "modules/ModulesExport.h" 13 #include "modules/ModulesExport.h"
14 #include "modules/payments/PaymentCompleter.h" 14 #include "modules/payments/PaymentCompleter.h"
15 #include "modules/payments/PaymentDetails.h" 15 #include "modules/payments/PaymentDetails.h"
16 #include "modules/payments/PaymentOptions.h" 16 #include "modules/payments/PaymentOptions.h"
17 #include "modules/payments/PaymentUpdater.h"
17 #include "mojo/public/cpp/bindings/binding.h" 18 #include "mojo/public/cpp/bindings/binding.h"
18 #include "platform/heap/Handle.h" 19 #include "platform/heap/Handle.h"
19 #include "public/platform/modules/payments/payment_request.mojom-blink.h" 20 #include "public/platform/modules/payments/payment_request.mojom-blink.h"
20 #include "wtf/Compiler.h" 21 #include "wtf/Compiler.h"
21 #include "wtf/Noncopyable.h" 22 #include "wtf/Noncopyable.h"
22 #include "wtf/RefPtr.h" 23 #include "wtf/RefPtr.h"
23 #include "wtf/Vector.h" 24 #include "wtf/Vector.h"
24 #include "wtf/text/WTFString.h" 25 #include "wtf/text/WTFString.h"
25 26
26 namespace blink { 27 namespace blink {
27 28
28 class ExceptionState; 29 class ExceptionState;
29 class ScriptPromiseResolver; 30 class ScriptPromiseResolver;
30 class ScriptState; 31 class ScriptState;
31 class ShippingAddress; 32 class ShippingAddress;
32 33
33 class MODULES_EXPORT PaymentRequest final : public EventTargetWithInlineData, WT F_NON_EXPORTED_BASE(public mojom::blink::PaymentRequestClient), public PaymentCo mpleter, public ContextLifecycleObserver { 34 class MODULES_EXPORT PaymentRequest final : public EventTargetWithInlineData, WT F_NON_EXPORTED_BASE(public mojom::blink::PaymentRequestClient), public PaymentCo mpleter, public PaymentUpdater, public ContextLifecycleObserver {
34 DEFINE_WRAPPERTYPEINFO(); 35 DEFINE_WRAPPERTYPEINFO();
35 USING_GARBAGE_COLLECTED_MIXIN(PaymentRequest) 36 USING_GARBAGE_COLLECTED_MIXIN(PaymentRequest)
36 WTF_MAKE_NONCOPYABLE(PaymentRequest); 37 WTF_MAKE_NONCOPYABLE(PaymentRequest);
37 38
38 public: 39 public:
39 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, ExceptionState&); 40 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, ExceptionState&);
40 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, const PaymentOptions&, ExceptionState&); 41 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, const PaymentOptions&, ExceptionState&);
41 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, const PaymentOptions&, const ScriptValue& data, E xceptionState&); 42 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, const PaymentOptions&, const ScriptValue& data, E xceptionState&);
42 43
43 virtual ~PaymentRequest(); 44 virtual ~PaymentRequest();
44 45
45 ScriptPromise show(ScriptState*); 46 ScriptPromise show(ScriptState*);
46 void abort(ExceptionState&); 47 void abort(ExceptionState&);
47 48
48 ShippingAddress* getShippingAddress() const { return m_shippingAddress.get() ; } 49 ShippingAddress* getShippingAddress() const { return m_shippingAddress.get() ; }
49 const String& shippingOption() const { return m_shippingOption; } 50 const String& shippingOption() const { return m_shippingOption; }
50 51
51 DEFINE_ATTRIBUTE_EVENT_LISTENER(shippingaddresschange); 52 DEFINE_ATTRIBUTE_EVENT_LISTENER(shippingaddresschange);
52 DEFINE_ATTRIBUTE_EVENT_LISTENER(shippingoptionchange); 53 DEFINE_ATTRIBUTE_EVENT_LISTENER(shippingoptionchange);
53 54
54 // EventTargetWithInlineData: 55 // EventTargetWithInlineData:
55 const AtomicString& interfaceName() const override; 56 const AtomicString& interfaceName() const override;
56 ExecutionContext* getExecutionContext() const override; 57 ExecutionContext* getExecutionContext() const override;
57 58
58 // PaymentCompleter: 59 // PaymentCompleter:
59 ScriptPromise complete(ScriptState*, bool success) override; 60 ScriptPromise complete(ScriptState*, bool success) override;
60 61
62 // PaymentUpdater:
63 void onUpdatePaymentDetails(const ScriptValue& detailsScriptValue) override;
64 void onUpdatePaymentDetailsFailure(const ScriptValue& error) override;
65
61 DECLARE_TRACE(); 66 DECLARE_TRACE();
62 67
63 private: 68 private:
64 PaymentRequest(ScriptState*, const Vector<String>& supportedMethods, const P aymentDetails&, const PaymentOptions&, const ScriptValue& data, ExceptionState&) ; 69 PaymentRequest(ScriptState*, const Vector<String>& supportedMethods, const P aymentDetails&, const PaymentOptions&, const ScriptValue& data, ExceptionState&) ;
65 70
66 // LifecycleObserver: 71 // LifecycleObserver:
67 void contextDestroyed() override; 72 void contextDestroyed() override;
68 73
69 // mojom::blink::PaymentRequestClient: 74 // mojom::blink::PaymentRequestClient:
70 void OnShippingAddressChange(mojom::blink::ShippingAddressPtr) override; 75 void OnShippingAddressChange(mojom::blink::ShippingAddressPtr) override;
(...skipping 13 matching lines...) Expand all
84 String m_shippingOption; 89 String m_shippingOption;
85 Member<ScriptPromiseResolver> m_showResolver; 90 Member<ScriptPromiseResolver> m_showResolver;
86 Member<ScriptPromiseResolver> m_completeResolver; 91 Member<ScriptPromiseResolver> m_completeResolver;
87 mojom::blink::PaymentRequestPtr m_paymentProvider; 92 mojom::blink::PaymentRequestPtr m_paymentProvider;
88 mojo::Binding<mojom::blink::PaymentRequestClient> m_clientBinding; 93 mojo::Binding<mojom::blink::PaymentRequestClient> m_clientBinding;
89 }; 94 };
90 95
91 } // namespace blink 96 } // namespace blink
92 97
93 #endif // PaymentRequest_h 98 #endif // PaymentRequest_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698