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

Side by Side Diff: chrome/browser/payments/payment_request_impl.h

Issue 2611253004: [Payment Request] Change the lifetime management of PaymentRequestImpl (Closed)
Patch Set: PaymentRequestImpl -> PaymentRequest Created 3 years, 11 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 CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_IMPL_H_
6 #define CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_IMPL_H_
7
8 #include "components/payments/payment_request.mojom.h"
9 #include "mojo/public/cpp/bindings/binding.h"
10
11 namespace content {
12 class WebContents;
13 }
14
15 namespace payments {
16
17 class PaymentRequestImpl : payments::mojom::PaymentRequest,
18 public base::RefCounted<PaymentRequestImpl> {
19 public:
20 PaymentRequestImpl(
21 content::WebContents* web_contents,
22 mojo::InterfaceRequest<payments::mojom::PaymentRequest> request);
23
24 // payments::mojom::PaymentRequest "stub"
25 void Init(payments::mojom::PaymentRequestClientPtr client,
26 std::vector<payments::mojom::PaymentMethodDataPtr> methodData,
27 payments::mojom::PaymentDetailsPtr details,
28 payments::mojom::PaymentOptionsPtr options) override;
29 void Show() override;
30 void UpdateWith(payments::mojom::PaymentDetailsPtr details) override {}
31 void Abort() override {}
32 void Complete(payments::mojom::PaymentComplete result) override {}
33 void CanMakePayment() override {}
34
35 void Cancel();
36 void OnError();
37 payments::mojom::PaymentDetails* details() { return details_.get(); }
38
39 content::WebContents* web_contents() { return web_contents_; }
40
41 private:
42 friend class base::RefCounted<PaymentRequestImpl>;
43 ~PaymentRequestImpl() override;
44
45 content::WebContents* web_contents_;
46 mojo::Binding<payments::mojom::PaymentRequest> binding_;
47 payments::mojom::PaymentRequestClientPtr client_;
48 payments::mojom::PaymentDetailsPtr details_;
49
50 DISALLOW_COPY_AND_ASSIGN(PaymentRequestImpl);
51 };
52
53 } // namespace payments
54
55 void CreatePaymentRequestHandler(
56 content::WebContents* web_contents,
57 mojo::InterfaceRequest<payments::mojom::PaymentRequest> request);
58
59 #endif // CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_IMPL_H_
OLDNEW
« no previous file with comments | « chrome/browser/payments/payment_request_factory.cc ('k') | chrome/browser/payments/payment_request_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698