Block new windows in the web Kiosk session

The new class lacros/app_mode/kiosk_session_service_lacros.* will be
introduced in lacros-chrome to manage the Kiosk sessions and related
resources.

The instance is owned by ChromeBrowserMainExtraPartsLacros, but only be
initialized in the web Kiosk session. In contrast, the existing ash
version web Kiosk initializes and keeps a WebKioskAppManager instance
in the ChromeBrowserMainChromeos.

The AppSession class is reused in both ash and lacros to block the
new windows.

Bug: 1232794
Change-Id: I8c12dd5ea0d4989265d46bea774d59480bbca8f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3132780
Commit-Queue: Anqing Zhao <[email protected]>
Reviewed-by: Erik Chen <[email protected]>
Reviewed-by: Anatoliy Potapchuk <[email protected]>
Cr-Commit-Position: refs/heads/main@{#919497}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index f0cfee0..b5fabf6 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4896,6 +4896,13 @@
       "apps/app_service/app_service_proxy_lacros.h",
       "chrome_browser_main_parts_lacros.cc",
       "chrome_browser_main_parts_lacros.h",
+      "chromeos/app_mode/app_session.cc",
+      "chromeos/app_mode/app_session.h",
+      "chromeos/app_mode/kiosk_session_plugin_handler.cc",
+      "chromeos/app_mode/kiosk_session_plugin_handler.h",
+      "chromeos/app_mode/kiosk_session_plugin_handler_delegate.h",
+      "chromeos/app_mode/kiosk_settings_navigation_throttle.cc",
+      "chromeos/app_mode/kiosk_settings_navigation_throttle.h",
       "feedback/show_feedback_page_lacros.cc",
       "first_run/first_run_internal_lacros.cc",
       "lacros/account_manager/account_manager_util.cc",
@@ -4904,6 +4911,8 @@
       "lacros/account_manager/profile_account_manager.h",
       "lacros/account_manager/profile_account_manager_factory.cc",
       "lacros/account_manager/profile_account_manager_factory.h",
+      "lacros/app_mode/kiosk_session_service_lacros.cc",
+      "lacros/app_mode/kiosk_session_service_lacros.h",
       "lacros/automation_manager_lacros.cc",
       "lacros/automation_manager_lacros.h",
       "lacros/browser_service_lacros.cc",