[Extensions] Initial implementation of the chrome://extensions-internals page.

Design doc is here: https://docs.google.com/document/d/1wYrk_EVzWF_df9OXl2Th0eHlCFlX5CpNqK-8lHg6Z7A/edit?usp=sharing

The extension fields included in the current implementation are:
ID
Keepalive count
Location
Manifest version
Name
Path
Type
Version

Bug: 695711
Change-Id: I7b1d61383b2107024e4b56cbd5389ab8fe20bee7
Reviewed-on: https://chromium-review.googlesource.com/1168119
Commit-Queue: David Bertoni <[email protected]>
Reviewed-by: Michael Giuffrida <[email protected]>
Reviewed-by: Karan Bhatia <[email protected]>
Cr-Commit-Position: refs/heads/master@{#586939}
diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc
index a675bd3..c6f838b 100644
--- a/chrome/browser/extensions/extension_system_impl.cc
+++ b/chrome/browser/extensions/extension_system_impl.cc
@@ -38,6 +38,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
+#include "chrome/browser/ui/webui/extensions/extensions_internals_source.h"
 #include "chrome/common/chrome_switches.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/url_data_source.h"
@@ -273,6 +274,10 @@
 
   // Make the chrome://extension-icon/ resource available.
   content::URLDataSource::Add(profile_, new ExtensionIconSource(profile_));
+
+  // Register the source for the chrome://extensions-internals page.
+  content::URLDataSource::Add(profile_,
+                              new ExtensionsInternalsSource(profile_));
 }
 
 void ExtensionSystemImpl::Shared::Shutdown() {