Chromium Code Reviews| 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..fc132709130b3607672eda1e1f10d3cb0887f719 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. |
|
please use gerrit instead
2016/07/25 17:44:00
+1 indent
sebsg
2016/07/25 20:18:36
Done.
|
| + */ |
|
please use gerrit instead
2016/07/25 17:44:00
+1 indent
sebsg
2016/07/25 20:18:36
Done.
|
| + private void recordSuccessFunnelHistograms(String funnelPart) { |
| + RecordHistogram.recordBooleanHistogram( |
|
please use gerrit instead
2016/07/25 17:44:00
Do you think recordCountHistogram(string, 1) makes
sebsg
2016/07/25 20:18:36
The metrics team told me that a boolean is more ef
|
| + "PaymentRequest.CheckoutFunnel." + funnelPart, true); |
| + } |
| } |