| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java
|
| index deb2e7d7807ebc83e011f1acd829cac174e46c65..d6c08f6b24a7793441f6e904024c05e3a27e1044 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java
|
| @@ -16,6 +16,8 @@ import org.chromium.chrome.browser.ntp.snippets.SnippetsBridge;
|
| import org.chromium.chrome.browser.rappor.RapporServiceBridge;
|
| import org.chromium.chrome.browser.tab.EmptyTabObserver;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| +import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
|
| +import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| import org.chromium.chrome.browser.util.UrlUtilities;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| import org.chromium.ui.base.PageTransition;
|
| @@ -266,6 +268,15 @@ public final class NewTabPageUma {
|
| }
|
|
|
| /**
|
| + * Records how often new tabs with a NewTabPage are created. This helps to determine how often
|
| + * users navigate back to already opened NTPs.
|
| + * @param tabModelSelector Model selector controlling the creation of new tabs.
|
| + */
|
| + public static void monitorNTPCreation(TabModelSelector tabModelSelector) {
|
| + tabModelSelector.addObserver(new TabCreationRecorder());
|
| + }
|
| +
|
| + /**
|
| * Records the type of load for the NTP, such as cold or warm start.
|
| */
|
| public static void recordLoadType(ChromeActivity activity) {
|
| @@ -308,6 +319,18 @@ public final class NewTabPageUma {
|
| }
|
|
|
| /**
|
| + * Records the number of new NTPs opened in a new tab. Use through
|
| + * {@link NewTabPageUma#monitorNTPCreation(TabModelSelector)}.
|
| + */
|
| + private static class TabCreationRecorder extends EmptyTabModelSelectorObserver {
|
| + @Override
|
| + public void onNewTabCreated(Tab tab) {
|
| + if (!NewTabPage.isNTPUrl(tab.getUrl())) return;
|
| + RecordUserAction.record("MobileNTPOpenedInNewTab");
|
| + }
|
| + }
|
| +
|
| + /**
|
| * Records stats related to content suggestion visits, such as the time spent on the website, or
|
| * if the user comes back to the NTP. Use through
|
| * {@link NewTabPageUma#monitorContentSuggestionVisit(Tab, int)}.
|
|
|