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

Side by Side Diff: third_party/WebKit/Source/modules/payments/PaymentInstruments.cpp

Issue 2856973002: PaymentHandler: Implement PaymentInstruments.clear(). (Closed)
Patch Set: PaymentHandler: Implement PaymentInstruments.clear(). Created 3 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/PaymentInstruments.h" 5 #include "modules/payments/PaymentInstruments.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "bindings/core/v8/ExceptionState.h" 9 #include "bindings/core/v8/ExceptionState.h"
10 #include "bindings/core/v8/ScriptPromise.h" 10 #include "bindings/core/v8/ScriptPromise.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 } 158 }
159 159
160 manager_->SetPaymentInstrument( 160 manager_->SetPaymentInstrument(
161 instrument_key, std::move(instrument), 161 instrument_key, std::move(instrument),
162 ConvertToBaseCallback( 162 ConvertToBaseCallback(
163 WTF::Bind(&PaymentInstruments::onSetPaymentInstrument, 163 WTF::Bind(&PaymentInstruments::onSetPaymentInstrument,
164 WrapPersistent(this), WrapPersistent(resolver)))); 164 WrapPersistent(this), WrapPersistent(resolver))));
165 return promise; 165 return promise;
166 } 166 }
167 167
168 ScriptPromise PaymentInstruments::clear(ScriptState* script_state) {
169 if (!manager_.is_bound()) {
170 return ScriptPromise::RejectWithDOMException(
171 script_state,
172 DOMException::Create(kInvalidStateError, kPaymentManagerUnavailable));
173 }
174
175 ScriptPromiseResolver* resolver = ScriptPromiseResolver::Create(script_state);
176 ScriptPromise promise = resolver->Promise();
177
178 manager_->ClearPaymentInstruments(ConvertToBaseCallback(
179 WTF::Bind(&PaymentInstruments::onClearPaymentInstruments,
180 WrapPersistent(this), WrapPersistent(resolver))));
181 return promise;
182 }
183
168 DEFINE_TRACE(PaymentInstruments) {} 184 DEFINE_TRACE(PaymentInstruments) {}
169 185
170 void PaymentInstruments::onDeletePaymentInstrument( 186 void PaymentInstruments::onDeletePaymentInstrument(
171 ScriptPromiseResolver* resolver, 187 ScriptPromiseResolver* resolver,
172 payments::mojom::blink::PaymentHandlerStatus status) { 188 payments::mojom::blink::PaymentHandlerStatus status) {
173 DCHECK(resolver); 189 DCHECK(resolver);
174 resolver->Resolve(status == 190 resolver->Resolve(status ==
175 payments::mojom::blink::PaymentHandlerStatus::SUCCESS); 191 payments::mojom::blink::PaymentHandlerStatus::SUCCESS);
176 } 192 }
177 193
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 244
229 void PaymentInstruments::onSetPaymentInstrument( 245 void PaymentInstruments::onSetPaymentInstrument(
230 ScriptPromiseResolver* resolver, 246 ScriptPromiseResolver* resolver,
231 payments::mojom::blink::PaymentHandlerStatus status) { 247 payments::mojom::blink::PaymentHandlerStatus status) {
232 DCHECK(resolver); 248 DCHECK(resolver);
233 if (rejectError(resolver, status)) 249 if (rejectError(resolver, status))
234 return; 250 return;
235 resolver->Resolve(); 251 resolver->Resolve();
236 } 252 }
237 253
254 void PaymentInstruments::onClearPaymentInstruments(
255 ScriptPromiseResolver* resolver,
256 payments::mojom::blink::PaymentHandlerStatus status) {
257 DCHECK(resolver);
258 if (rejectError(resolver, status))
259 return;
260 resolver->Resolve();
261 }
262
238 } // namespace blink 263 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698