Add new tab feature engagement tracker

To use the FeatureEngagementTracker to observe the New Tab and related
actions, the NewTabFeatureEngagementTracker class was created.

Things that were changed in this CL:
* Added the NewTabInProductHelp trial to the fieldtrial json
* Added a pref to track the user's total active session time
* Created a NewTabFeatureEngagementTracker class, which contains
methods to notify the IPH server when events happen and if the help
UI should be triggered.

Related CLs:
* The Observer for DesktopSessionDurationTracker
  http://crrev.com/d69292f
* Event constants that are used in NewTabFeatureEngagementTracker
  http://crrev.com/bdf5c97
* Using the NewTabFeatureEngagementTracker
  https://chromium-review.googlesource.com/c/549074/
* Addition to fieldtrial_testing.json
  https://chromium-review.googlesource.com/c/566335/

Bug: 734132
Change-Id: I8654ef001f3fb50fbd8bb8c4f215dffcfe403762
Reviewed-on: https://chromium-review.googlesource.com/549057
Commit-Queue: Catherine Chung <[email protected]>
Reviewed-by: Tommy Nyquist <[email protected]>
Reviewed-by: Robert Liao <[email protected]>
Reviewed-by: Pam Greene <[email protected]>
Reviewed-by: Anthony Vallee-Dubois <[email protected]>
Reviewed-by: Erik Chen <[email protected]>
Reviewed-by: Dominick Ng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#488293}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 08180fd..3730c9e 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -262,6 +262,10 @@
 #include "chrome/browser/ui/desktop_ios_promotion/desktop_ios_promotion_util.h"
 #endif
 
+#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
+#include "chrome/browser/feature_engagement_tracker/new_tab/new_tab_tracker.h"
+#endif
+
 #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
 #include "chrome/browser/ui/startup/default_browser_prompt.h"
 #endif
@@ -582,6 +586,10 @@
   default_apps::RegisterProfilePrefs(registry);
 #endif
 
+#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
+  feature_engagement_tracker::NewTabTracker::RegisterProfilePrefs(registry);
+#endif
+
 #if defined(OS_CHROMEOS)
   arc::ArcSessionManager::RegisterProfilePrefs(registry);
   arc::ArcPolicyBridge::RegisterProfilePrefs(registry);