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

Unified Diff: third_party/WebKit/Source/modules/payments/PaymentRequestEvent.cpp

Issue 2933023002: PaymentHandler: PaymentRequestEvent.total should be |object| type. (Closed)
Patch Set: Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/payments/PaymentRequestEvent.cpp
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestEvent.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequestEvent.cpp
index bdf533512892cf05a55a6e4091717f80b8fd6abc..38826c1e0bc316fcb91bae2c2edbc15bbfdc9bbc 100644
--- a/third_party/WebKit/Source/modules/payments/PaymentRequestEvent.cpp
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequestEvent.cpp
@@ -11,24 +11,40 @@
#include "modules/serviceworkers/RespondWithObserver.h"
#include "modules/serviceworkers/ServiceWorkerGlobalScopeClient.h"
#include "modules/serviceworkers/ServiceWorkerWindowClientCallback.h"
+#include "platform/bindings/ScriptState.h"
#include "platform/wtf/PtrUtil.h"
#include "platform/wtf/text/AtomicString.h"
namespace blink {
+namespace {
+
+ScriptValue toScriptValue(ScriptState* script_state, const PaymentItem& item) {
+ if (!script_state->ContextIsValid())
+ return ScriptValue();
+
+ ScriptState::Scope scope(script_state);
+
+ return ScriptValue::From(script_state, item);
+}
+
+} // namespace
PaymentRequestEvent* PaymentRequestEvent::Create(
+ ScriptState* script_state,
const AtomicString& type,
const PaymentRequestEventInit& initializer) {
- return new PaymentRequestEvent(type, initializer, nullptr, nullptr);
+ return new PaymentRequestEvent(script_state, type, initializer, nullptr,
+ nullptr);
}
PaymentRequestEvent* PaymentRequestEvent::Create(
+ ScriptState* script_state,
const AtomicString& type,
const PaymentRequestEventInit& initializer,
RespondWithObserver* respond_with_observer,
WaitUntilObserver* wait_until_observer) {
- return new PaymentRequestEvent(type, initializer, respond_with_observer,
- wait_until_observer);
+ return new PaymentRequestEvent(script_state, type, initializer,
+ respond_with_observer, wait_until_observer);
}
PaymentRequestEvent::~PaymentRequestEvent() {}
@@ -53,8 +69,8 @@ const HeapVector<PaymentMethodData>& PaymentRequestEvent::methodData() const {
return method_data_;
}
-void PaymentRequestEvent::total(PaymentItem& value) const {
- value = total_;
+const ScriptValue& PaymentRequestEvent::total() const {
+ return total_;
}
const HeapVector<PaymentDetailsModifier>& PaymentRequestEvent::modifiers()
@@ -124,6 +140,7 @@ DEFINE_TRACE(PaymentRequestEvent) {
}
PaymentRequestEvent::PaymentRequestEvent(
+ ScriptState* script_state,
const AtomicString& type,
const PaymentRequestEventInit& initializer,
RespondWithObserver* respond_with_observer,
@@ -133,7 +150,7 @@ PaymentRequestEvent::PaymentRequestEvent(
payment_request_origin_(initializer.paymentRequestOrigin()),
payment_request_id_(initializer.paymentRequestId()),
method_data_(std::move(initializer.methodData())),
- total_(initializer.total()),
+ total_(toScriptValue(script_state, initializer.total())),
modifiers_(initializer.modifiers()),
instrument_key_(initializer.instrumentKey()),
observer_(respond_with_observer) {}

Powered by Google App Engine
This is Rietveld 408576698