Componentize chrome/browser/supervised_user/ desktop sources

Move non-Android source files from chrome/browser:browser into
:supervised_user and :impl. Includes desktop, linux/mac/win (DICE), and
ChromeOS platform-conditional groups.

Bug: 353332589
Change-Id: Ic4a941af994d9878fb7b18b9c8e7b63923911d15
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7767065
Reviewed-by: Darryl James <dljames@chromium.org>
Commit-Queue: Tiago Vignatti <tvignatti@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1621710}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 963f1de08..149c04c 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2532,10 +2532,6 @@
       "profiles/profile_window.h",
       "repost_form_warning_controller.cc",
       "repost_form_warning_controller.h",
-      "supervised_user/desktop/supervised_user_service_platform_delegate.cc",
-      "supervised_user/desktop/supervised_user_service_platform_delegate.h",
-      "supervised_user/supervised_user_verification_controller_client.cc",
-      "supervised_user/supervised_user_verification_controller_client.h",
     ]
 
     sources += [
@@ -3098,10 +3094,6 @@
       "memory/oom_kills_monitor.cc",
       "platform_util_ash.cc",
       "shell_integration_chromeos.cc",
-      "supervised_user/chromeos/supervised_user_favicon_request_handler.cc",
-      "supervised_user/chromeos/supervised_user_favicon_request_handler.h",
-      "supervised_user/chromeos/supervised_user_web_content_handler_impl.cc",
-      "supervised_user/chromeos/supervised_user_web_content_handler_impl.h",
       "ui/ash/shelf/chrome_shelf_metrics_provider.cc",
       "ui/ash/shelf/chrome_shelf_metrics_provider.h",
     ]
@@ -4416,20 +4408,6 @@
     sources += [
       "profiles/guest_mode_policy_handler.cc",
       "profiles/guest_mode_policy_handler.h",
-      "supervised_user/linux_mac_windows/parent_access_dialog_result_observer.cc",
-      "supervised_user/linux_mac_windows/parent_access_dialog_result_observer.h",
-      "supervised_user/linux_mac_windows/parent_access_view.cc",
-      "supervised_user/linux_mac_windows/parent_access_view.h",
-      "supervised_user/linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.cc",
-      "supervised_user/linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.h",
-      "supervised_user/linux_mac_windows/supervised_user_web_content_handler_impl.cc",
-      "supervised_user/linux_mac_windows/supervised_user_web_content_handler_impl.h",
-      "supervised_user/supervised_user_verification_page.cc",
-      "supervised_user/supervised_user_verification_page.h",
-      "supervised_user/supervised_user_verification_page_blocked_sites.cc",
-      "supervised_user/supervised_user_verification_page_blocked_sites.h",
-      "supervised_user/supervised_user_verification_page_youtube.cc",
-      "supervised_user/supervised_user_verification_page_youtube.h",
     ]
     deps += [
       "//chrome/browser/enterprise/connectors/device_trust/key_management/browser",
diff --git a/chrome/browser/supervised_user/BUILD.gn b/chrome/browser/supervised_user/BUILD.gn
index c1dfd100..5b1841f 100644
--- a/chrome/browser/supervised_user/BUILD.gn
+++ b/chrome/browser/supervised_user/BUILD.gn
@@ -40,6 +40,45 @@
     "//url",
   ]
 
+  if (!is_android) {
+    public += [
+      "desktop/supervised_user_service_platform_delegate.h",
+      "supervised_user_verification_controller_client.h",
+    ]
+    public_deps += [
+      "//components/security_interstitials/content:security_interstitial_page",
+    ]
+  }
+
+  if (is_linux || is_mac || is_win) {
+    public += [
+      "linux_mac_windows/parent_access_dialog_result_observer.h",
+      "linux_mac_windows/parent_access_view.h",
+      "linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.h",
+      "linux_mac_windows/supervised_user_web_content_handler_impl.h",
+      "supervised_user_verification_page.h",
+      "supervised_user_verification_page_blocked_sites.h",
+      "supervised_user_verification_page_youtube.h",
+    ]
+    public_deps += [
+      "//components/tabs:public",
+      "//ui/base/interaction",
+      "//ui/views",
+      "//ui/views/controls/webview",
+    ]
+  }
+
+  if (is_chromeos_ash) {
+    public += [
+      "chromeos/supervised_user_favicon_request_handler.h",
+      "chromeos/supervised_user_web_content_handler_impl.h",
+    ]
+    public_deps += [
+      "//chrome/browser/ui/webui/ash/parent_access",
+      "//components/favicon_base",
+    ]
+  }
+
   if (enable_extensions_core) {
     public += [ "supervised_user_extensions_metrics_recorder.h" ]
     public_deps += [ "//extensions/browser" ]
@@ -101,7 +140,40 @@
     ]
   }
 
+  if (!is_android) {
+    sources += [
+      "desktop/supervised_user_service_platform_delegate.cc",
+      "supervised_user_verification_controller_client.cc",
+    ]
+    deps += [
+      "//chrome/browser/profiles:profile",
+      "//components/security_interstitials/content:security_interstitial_page",
+    ]
+  }
+
+  if (is_linux || is_mac || is_win) {
+    sources += [
+      "linux_mac_windows/parent_access_dialog_result_observer.cc",
+      "linux_mac_windows/parent_access_view.cc",
+      "linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.cc",
+      "linux_mac_windows/supervised_user_web_content_handler_impl.cc",
+      "supervised_user_verification_page.cc",
+      "supervised_user_verification_page_blocked_sites.cc",
+      "supervised_user_verification_page_youtube.cc",
+    ]
+    deps += [
+      "//chrome/browser/signin:signin_promo",
+      "//chrome/browser/ui:browser_element_identifiers",
+      "//chrome/browser/ui/color:color_headers",
+      "//components/constrained_window",
+    ]
+  }
+
   if (is_chromeos_ash) {
+    sources += [
+      "chromeos/supervised_user_favicon_request_handler.cc",
+      "chromeos/supervised_user_web_content_handler_impl.cc",
+    ]
     deps += [ "//chrome/browser/ash/profiles" ]
   }
 }