Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1053)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageUma.java

Issue 2750503004: Add metric to record users opening a new NTP. (Closed)
Patch Set: Adjust description for action Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)}.
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java ('k') | tools/metrics/actions/actions.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698