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

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

Issue 1702223002: PaymentRequest API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Windows linking. Created 4 years, 9 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef PaymentRequest_h
6 #define PaymentRequest_h
7
8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptValue.h"
10 #include "bindings/core/v8/ScriptWrappable.h"
11 #include "core/events/EventTarget.h"
12 #include "modules/payments/PaymentDetails.h"
13 #include "modules/payments/PaymentOptions.h"
14 #include "platform/heap/Handle.h"
15 #include "wtf/Noncopyable.h"
16 #include "wtf/RefPtr.h"
17 #include "wtf/Vector.h"
18 #include "wtf/text/WTFString.h"
19
20 namespace blink {
21
22 class ExceptionState;
23 class ScriptState;
24 class ShippingAddress;
25
26 class PaymentRequest final : public RefCountedGarbageCollectedEventTargetWithInl ineData<PaymentRequest> {
27 REFCOUNTED_GARBAGE_COLLECTED_EVENT_TARGET(PaymentRequest);
28 DEFINE_WRAPPERTYPEINFO();
29 WTF_MAKE_NONCOPYABLE(PaymentRequest);
30
31 public:
32 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, ExceptionState&);
33 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, const PaymentOptions&, ExceptionState&);
34 static PaymentRequest* create(ScriptState*, const Vector<String>& supportedM ethods, const PaymentDetails&, const PaymentOptions&, const ScriptValue& data, E xceptionState&);
35
36 virtual ~PaymentRequest();
37
38 ScriptPromise show(ScriptState*);
39 void abort();
40
41 ShippingAddress* shippingAddress() const { return m_shippingAddress.get(); }
42 const String& shippingOption() const { return m_shippingOption; }
43
44 DEFINE_ATTRIBUTE_EVENT_LISTENER(shippingaddresschange);
45 DEFINE_ATTRIBUTE_EVENT_LISTENER(shippingoptionchange);
46
47 // EventTargetWithInlineData:
48 const AtomicString& interfaceName() const override;
49 ExecutionContext* executionContext() const override;
50
51 DECLARE_TRACE();
52
53 private:
54 PaymentRequest(ScriptState*, const Vector<String>& supportedMethods, const P aymentDetails&, const PaymentOptions&, const ScriptValue& data, ExceptionState&) ;
55
56 RefPtr<ScriptState> m_scriptState;
57 Vector<String> m_supportedMethods;
58 PaymentDetails m_details;
59 PaymentOptions m_options;
60 String m_stringifiedData;
61 Member<ShippingAddress> m_shippingAddress;
62 String m_shippingOption;
63 };
64
65 } // namespace blink
66
67 #endif // PaymentRequest_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698