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

Side by Side Diff: components/payments/content/payment_request_web_contents_manager.cc

Issue 2864013002: Verify behavior of PaymentRequest.show() method, part 1. (Closed)
Patch Set: Address comments. 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 "components/payments/content/payment_request_web_contents_manager.h" 5 #include "components/payments/content/payment_request_web_contents_manager.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 22 matching lines...) Expand all
33 mojo::InterfaceRequest<payments::mojom::PaymentRequest> request, 33 mojo::InterfaceRequest<payments::mojom::PaymentRequest> request,
34 PaymentRequest::ObserverForTest* observer_for_testing) { 34 PaymentRequest::ObserverForTest* observer_for_testing) {
35 auto new_request = base::MakeUnique<PaymentRequest>( 35 auto new_request = base::MakeUnique<PaymentRequest>(
36 web_contents, std::move(delegate), this, std::move(request), 36 web_contents, std::move(delegate), this, std::move(request),
37 observer_for_testing); 37 observer_for_testing);
38 PaymentRequest* request_ptr = new_request.get(); 38 PaymentRequest* request_ptr = new_request.get();
39 payment_requests_.insert(std::make_pair(request_ptr, std::move(new_request))); 39 payment_requests_.insert(std::make_pair(request_ptr, std::move(new_request)));
40 } 40 }
41 41
42 void PaymentRequestWebContentsManager::DestroyRequest(PaymentRequest* request) { 42 void PaymentRequestWebContentsManager::DestroyRequest(PaymentRequest* request) {
43 if (request == showing_)
44 showing_ = nullptr;
43 payment_requests_.erase(request); 45 payment_requests_.erase(request);
44 } 46 }
45 47
48 bool PaymentRequestWebContentsManager::CanShow(PaymentRequest* request) {
49 DCHECK(request);
50 DCHECK(payment_requests_.find(request) != payment_requests_.end());
51 if (!showing_) {
52 showing_ = request;
53 return true;
54 } else {
55 return false;
56 }
57 }
58
46 PaymentRequestWebContentsManager::PaymentRequestWebContentsManager( 59 PaymentRequestWebContentsManager::PaymentRequestWebContentsManager(
47 content::WebContents* web_contents) {} 60 content::WebContents* web_contents)
61 : showing_(nullptr) {}
48 62
49 } // namespace payments 63 } // namespace payments
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698