| Index: chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| index b6a653d633b412da13326e5482981ba776773abc..80a8682d41204ab6e41028332a453d8d36951f2b 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
|
| @@ -12,6 +12,7 @@ import android.text.TextUtils;
|
| import org.chromium.base.Callback;
|
| import org.chromium.base.Log;
|
| import org.chromium.base.VisibleForTesting;
|
| +import org.chromium.base.metrics.RecordHistogram;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.ChromeFeatureList;
|
| import org.chromium.chrome.browser.autofill.PersonalDataManager;
|
| @@ -192,6 +193,8 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
|
|
| mAddressEditor = new AddressEditor();
|
| mCardEditor = new CardEditor(webContents, mAddressEditor, sObserverForTest);
|
| +
|
| + recordSuccessFunnelHistograms("Initiated");
|
| }
|
|
|
| /**
|
| @@ -342,6 +345,8 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
| mAddressEditor.setEditorView(mUI.getEditorView());
|
| mCardEditor.setEditorView(mUI.getCardEditorView());
|
| if (mContactEditor != null) mContactEditor.setEditorView(mUI.getEditorView());
|
| +
|
| + recordSuccessFunnelHistograms("Shown");
|
| }
|
|
|
| private static Map<String, JSONObject> getValidatedMethodData(
|
| @@ -798,6 +803,7 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
| mPaymentAppRunning = true;
|
| instrument.getDetails(mMerchantName, mOrigin, mRawTotal, mRawLineItems,
|
| mMethodData.get(instrument.getMethodName()), this);
|
| + recordSuccessFunnelHistograms("PayClicked");
|
| return !(instrument instanceof AutofillPaymentInstrument);
|
| }
|
|
|
| @@ -841,6 +847,7 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
| */
|
| @Override
|
| public void complete(int result) {
|
| + recordSuccessFunnelHistograms("Completed");
|
| closeUI(PaymentComplete.FAIL != result);
|
| }
|
|
|
| @@ -999,6 +1006,8 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
|
|
| mUI.showProcessingMessage();
|
| mClient.onPaymentResponse(response);
|
| +
|
| + recordSuccessFunnelHistograms("ReceivedInstrumentDetails");
|
| }
|
|
|
| /**
|
| @@ -1044,4 +1053,12 @@ public class PaymentRequestImpl implements PaymentRequest, PaymentRequestUI.Clie
|
| public static void setObserverForTest(PaymentRequestServiceObserverForTest observerForTest) {
|
| sObserverForTest = observerForTest;
|
| }
|
| +
|
| + /**
|
| + * Records specific histograms related to the different steps of a successful checkout.
|
| + */
|
| + private void recordSuccessFunnelHistograms(String funnelPart) {
|
| + RecordHistogram.recordBooleanHistogram(
|
| + "PaymentRequest.CheckoutFunnel." + funnelPart, true);
|
| + }
|
| }
|
|
|