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 package org.chromium.chrome.browser.payments; | 5 package org.chromium.chrome.browser.payments; |
6 | 6 |
7 import android.app.Activity; | 7 import android.app.Activity; |
8 import android.graphics.Bitmap; | 8 import android.graphics.Bitmap; |
9 import android.os.Handler; | 9 import android.os.Handler; |
10 import android.text.TextUtils; | 10 import android.text.TextUtils; |
11 | 11 |
12 import org.chromium.base.Callback; | 12 import org.chromium.base.Callback; |
13 import org.chromium.base.Log; | 13 import org.chromium.base.Log; |
14 import org.chromium.base.VisibleForTesting; | 14 import org.chromium.base.VisibleForTesting; |
15 import org.chromium.base.metrics.RecordHistogram; | 15 import org.chromium.base.metrics.RecordHistogram; |
16 import org.chromium.chrome.R; | 16 import org.chromium.chrome.R; |
17 import org.chromium.chrome.browser.autofill.PersonalDataManager; | 17 import org.chromium.chrome.browser.autofill.PersonalDataManager; |
18 import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; | 18 import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; |
19 import org.chromium.chrome.browser.favicon.FaviconHelper; | 19 import org.chromium.chrome.browser.favicon.FaviconHelper; |
20 import org.chromium.chrome.browser.payments.ui.Completable; | 20 import org.chromium.chrome.browser.payments.ui.Completable; |
21 import org.chromium.chrome.browser.payments.ui.LineItem; | 21 import org.chromium.chrome.browser.payments.ui.LineItem; |
22 import org.chromium.chrome.browser.payments.ui.PaymentInformation; | 22 import org.chromium.chrome.browser.payments.ui.PaymentInformation; |
23 import org.chromium.chrome.browser.payments.ui.PaymentOption; | 23 import org.chromium.chrome.browser.payments.ui.PaymentOption; |
24 import org.chromium.chrome.browser.payments.ui.PaymentRequestUI; | 24 import org.chromium.chrome.browser.payments.ui.PaymentRequestUI; |
25 import org.chromium.chrome.browser.payments.ui.SectionInformation; | 25 import org.chromium.chrome.browser.payments.ui.SectionInformation; |
26 import org.chromium.chrome.browser.payments.ui.ShoppingCart; | 26 import org.chromium.chrome.browser.payments.ui.ShoppingCart; |
27 import org.chromium.chrome.browser.profiles.Profile; | 27 import org.chromium.chrome.browser.profiles.Profile; |
28 import org.chromium.chrome.browser.util.UrlUtilities; | |
29 import org.chromium.components.safejson.JsonSanitizer; | 28 import org.chromium.components.safejson.JsonSanitizer; |
| 29 import org.chromium.components.url_formatter.UrlFormatter; |
30 import org.chromium.content_public.browser.WebContents; | 30 import org.chromium.content_public.browser.WebContents; |
31 import org.chromium.mojo.system.MojoException; | 31 import org.chromium.mojo.system.MojoException; |
32 import org.chromium.mojom.payments.PaymentComplete; | 32 import org.chromium.mojom.payments.PaymentComplete; |
33 import org.chromium.mojom.payments.PaymentDetails; | 33 import org.chromium.mojom.payments.PaymentDetails; |
34 import org.chromium.mojom.payments.PaymentErrorReason; | 34 import org.chromium.mojom.payments.PaymentErrorReason; |
35 import org.chromium.mojom.payments.PaymentItem; | 35 import org.chromium.mojom.payments.PaymentItem; |
36 import org.chromium.mojom.payments.PaymentMethodData; | 36 import org.chromium.mojom.payments.PaymentMethodData; |
37 import org.chromium.mojom.payments.PaymentOptions; | 37 import org.chromium.mojom.payments.PaymentOptions; |
38 import org.chromium.mojom.payments.PaymentRequest; | 38 import org.chromium.mojom.payments.PaymentRequest; |
39 import org.chromium.mojom.payments.PaymentRequestClient; | 39 import org.chromium.mojom.payments.PaymentRequestClient; |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 public PaymentRequestImpl(Activity context, WebContents webContents, | 175 public PaymentRequestImpl(Activity context, WebContents webContents, |
176 PaymentRequestDismissObserver dismissObserver) { | 176 PaymentRequestDismissObserver dismissObserver) { |
177 assert context != null; | 177 assert context != null; |
178 assert webContents != null; | 178 assert webContents != null; |
179 assert dismissObserver != null; | 179 assert dismissObserver != null; |
180 | 180 |
181 mContext = context; | 181 mContext = context; |
182 mDismissObserver = dismissObserver; | 182 mDismissObserver = dismissObserver; |
183 mMerchantName = webContents.getTitle(); | 183 mMerchantName = webContents.getTitle(); |
184 // The feature is available only in secure context, so it's OK to not sh
ow HTTPS. | 184 // The feature is available only in secure context, so it's OK to not sh
ow HTTPS. |
185 mOrigin = UrlUtilities.formatUrlForSecurityDisplay(webContents.getVisibl
eUrl(), false); | 185 mOrigin = UrlFormatter.formatUrlForSecurityDisplay(webContents.getVisibl
eUrl(), false); |
186 | 186 |
187 final FaviconHelper faviconHelper = new FaviconHelper(); | 187 final FaviconHelper faviconHelper = new FaviconHelper(); |
188 faviconHelper.getLocalFaviconImageForURL(Profile.getLastUsedProfile(), | 188 faviconHelper.getLocalFaviconImageForURL(Profile.getLastUsedProfile(), |
189 webContents.getVisibleUrl(), | 189 webContents.getVisibleUrl(), |
190 mContext.getResources().getDimensionPixelSize(R.dimen.payments_f
avicon_size), | 190 mContext.getResources().getDimensionPixelSize(R.dimen.payments_f
avicon_size), |
191 new FaviconHelper.FaviconImageCallback() { | 191 new FaviconHelper.FaviconImageCallback() { |
192 @Override | 192 @Override |
193 public void onFaviconAvailable(Bitmap bitmap, String iconUrl
) { | 193 public void onFaviconAvailable(Bitmap bitmap, String iconUrl
) { |
194 faviconHelper.destroy(); | 194 faviconHelper.destroy(); |
195 if (bitmap == null) return; | 195 if (bitmap == null) return; |
(...skipping 899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1095 private void recordAbortReasonHistogram(int abortReason) { | 1095 private void recordAbortReasonHistogram(int abortReason) { |
1096 assert abortReason < PaymentRequestMetrics.ABORT_REASON_MAX; | 1096 assert abortReason < PaymentRequestMetrics.ABORT_REASON_MAX; |
1097 if (mHasRecordedAbortReason) return; | 1097 if (mHasRecordedAbortReason) return; |
1098 | 1098 |
1099 mHasRecordedAbortReason = true; | 1099 mHasRecordedAbortReason = true; |
1100 RecordHistogram.recordEnumeratedHistogram( | 1100 RecordHistogram.recordEnumeratedHistogram( |
1101 "PaymentRequest.CheckoutFunnel.Aborted", abortReason, | 1101 "PaymentRequest.CheckoutFunnel.Aborted", abortReason, |
1102 PaymentRequestMetrics.ABORT_REASON_MAX); | 1102 PaymentRequestMetrics.ABORT_REASON_MAX); |
1103 } | 1103 } |
1104 } | 1104 } |
OLD | NEW |