[NTP] Implement add/delete custom links

Add API to support adding/deleting custom links. Once custom links are
enabled, MV tiles are "frozen" and converted to custom links.

Design doc: go/chrome-ntp-custom-links

Bug: 856394
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Ib3255d7253fa9964b6f7845edf5cba4be2fa3db9
Reviewed-on: https://chromium-review.googlesource.com/1124104
Commit-Queue: Kristi Park <[email protected]>
Reviewed-by: Marc Treib <[email protected]>
Reviewed-by: Ilya Sherman <[email protected]>
Reviewed-by: Mathieu Perreault <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Cr-Commit-Position: refs/heads/master@{#575952}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 2cc9cb6..98209ef7 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -309,6 +309,10 @@
 #include "chrome/browser/ui/browser_view_prefs.h"
 #endif
 
+#if !defined(OS_ANDROID)
+#include "components/ntp_tiles/custom_links_manager_impl.h"
+#endif
+
 namespace {
 
 #if defined(OS_ANDROID)
@@ -643,6 +647,7 @@
   InstantService::RegisterProfilePrefs(registry);
   gcm::GCMChannelStatusSyncer::RegisterProfilePrefs(registry);
   gcm::RegisterProfilePrefs(registry);
+  ntp_tiles::CustomLinksManagerImpl::RegisterProfilePrefs(registry);
   StartupBrowserCreator::RegisterProfilePrefs(registry);
 #endif