OLD | NEW |
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/PaymentRequestEvent.h" | 5 #include "modules/payments/PaymentRequestEvent.h" |
6 | 6 |
7 #include "modules/serviceworkers/RespondWithObserver.h" | 7 #include "modules/serviceworkers/RespondWithObserver.h" |
8 #include "platform/wtf/text/AtomicString.h" | 8 #include "platform/wtf/text/AtomicString.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
11 | 11 |
12 PaymentRequestEvent* PaymentRequestEvent::Create( | 12 PaymentRequestEvent* PaymentRequestEvent::Create( |
13 const AtomicString& type, | 13 const AtomicString& type, |
14 const PaymentAppRequest& app_request, | 14 const PaymentAppRequest& app_request, |
15 RespondWithObserver* respond_with_observer, | 15 RespondWithObserver* respond_with_observer, |
16 WaitUntilObserver* wait_until_observer) { | 16 WaitUntilObserver* wait_until_observer) { |
17 return new PaymentRequestEvent(type, app_request, respond_with_observer, | 17 return new PaymentRequestEvent(type, app_request, respond_with_observer, |
18 wait_until_observer); | 18 wait_until_observer); |
19 } | 19 } |
20 | 20 |
21 PaymentRequestEvent::~PaymentRequestEvent() {} | 21 PaymentRequestEvent::~PaymentRequestEvent() {} |
22 | 22 |
23 const AtomicString& PaymentRequestEvent::InterfaceName() const { | 23 const AtomicString& PaymentRequestEvent::InterfaceName() const { |
24 return EventNames::PaymentRequestEvent; | 24 return EventNames::PaymentRequestEvent; |
25 } | 25 } |
26 | 26 |
27 void PaymentRequestEvent::appRequest(PaymentAppRequest& app_request) const { | 27 const String& PaymentRequestEvent::topLevelOrigin() const { |
28 app_request = app_request_; | 28 return top_level_origin_; |
| 29 } |
| 30 |
| 31 const String& PaymentRequestEvent::paymentRequestOrigin() const { |
| 32 return payment_request_origin_; |
| 33 } |
| 34 |
| 35 const String& PaymentRequestEvent::paymentRequestId() const { |
| 36 return payment_request_id_; |
| 37 } |
| 38 |
| 39 const HeapVector<PaymentMethodData>& PaymentRequestEvent::methodData() const { |
| 40 return method_data_; |
| 41 } |
| 42 |
| 43 void PaymentRequestEvent::total(PaymentItem& value) const { |
| 44 value = total_; |
| 45 } |
| 46 |
| 47 const HeapVector<PaymentDetailsModifier>& PaymentRequestEvent::modifiers() |
| 48 const { |
| 49 return modifiers_; |
| 50 } |
| 51 |
| 52 const String& PaymentRequestEvent::instrumentKey() const { |
| 53 return instrument_key_; |
29 } | 54 } |
30 | 55 |
31 void PaymentRequestEvent::respondWith(ScriptState* script_state, | 56 void PaymentRequestEvent::respondWith(ScriptState* script_state, |
32 ScriptPromise script_promise, | 57 ScriptPromise script_promise, |
33 ExceptionState& exception_state) { | 58 ExceptionState& exception_state) { |
34 stopImmediatePropagation(); | 59 stopImmediatePropagation(); |
35 if (observer_) { | 60 if (observer_) { |
36 observer_->RespondWith(script_state, script_promise, exception_state); | 61 observer_->RespondWith(script_state, script_promise, exception_state); |
37 } | 62 } |
38 } | 63 } |
39 | 64 |
40 DEFINE_TRACE(PaymentRequestEvent) { | 65 DEFINE_TRACE(PaymentRequestEvent) { |
41 visitor->Trace(app_request_); | 66 visitor->Trace(method_data_); |
| 67 visitor->Trace(modifiers_); |
42 visitor->Trace(observer_); | 68 visitor->Trace(observer_); |
43 ExtendableEvent::Trace(visitor); | 69 ExtendableEvent::Trace(visitor); |
44 } | 70 } |
45 | 71 |
46 PaymentRequestEvent::PaymentRequestEvent( | 72 PaymentRequestEvent::PaymentRequestEvent( |
47 const AtomicString& type, | 73 const AtomicString& type, |
48 const PaymentAppRequest& app_request, | 74 const PaymentAppRequest& app_request, |
49 RespondWithObserver* respond_with_observer, | 75 RespondWithObserver* respond_with_observer, |
50 WaitUntilObserver* wait_until_observer) | 76 WaitUntilObserver* wait_until_observer) |
51 : ExtendableEvent(type, ExtendableEventInit(), wait_until_observer), | 77 : ExtendableEvent(type, ExtendableEventInit(), wait_until_observer), |
52 app_request_(app_request), | 78 top_level_origin_(app_request.topLevelOrigin()), |
| 79 payment_request_origin_(app_request.paymentRequestOrigin()), |
| 80 payment_request_id_(app_request.paymentRequestId()), |
| 81 method_data_(std::move(app_request.methodData())), |
| 82 total_(app_request.total()), |
| 83 modifiers_(app_request.modifiers()), |
| 84 instrument_key_(app_request.instrumentKey()), |
53 observer_(respond_with_observer) {} | 85 observer_(respond_with_observer) {} |
54 | 86 |
55 } // namespace blink | 87 } // namespace blink |
OLD | NEW |