Implement chrome://app-icon to serve app icons to WebUI.

This CL adds an app icon page at
chrome://app-icon/<app-id>/<icon-size> when the feature AppManagement
is enabled.

A request must be made to chrome://apps first to initialise the
URLDataSource from which app icons are retrieved.

This involves:
- Adding AppIconSource
- Initialising URLDataSource in App Management
- Creating the url in webui urls

BUG=912371

Change-Id: Iba29dbd4fff35b60630fd2ec4337e8a94f9bd741
Reviewed-on: https://chromium-review.googlesource.com/c/1361752
Reviewed-by: calamity <[email protected]>
Reviewed-by: Dominick Ng <[email protected]>
Commit-Queue: Melissa Zhang <[email protected]>
Cr-Commit-Position: refs/heads/master@{#615054}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 73c582d..31886e5f 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2589,6 +2589,8 @@
       "accessibility/invert_bubble_prefs.h",
       "apps/app_service/app_icon_factory.cc",
       "apps/app_service/app_icon_factory.h",
+      "apps/app_service/app_icon_source.cc",
+      "apps/app_service/app_icon_source.h",
       "apps/app_service/app_service_proxy.cc",
       "apps/app_service/app_service_proxy.h",
       "apps/app_service/app_service_proxy_factory.cc",