Chromium Code Reviews| 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) { |
|
Michael van Ouwerkerk
2017/03/14 16:07:36
This seems like a really roundabout way of recordi
fhorschig
2017/03/14 17:30:45
I am aware about NewTabPage.LoadType. Sadly, any e
|
| + 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)}. |