# Copyright 2024 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//pdf/features.gni") assert(is_chromeos) static_library("app_mode") { sources = [ "app_launch_utils.cc", "app_launch_utils.h", "cancellable_job.h", "crash_recovery_launcher.cc", "crash_recovery_launcher.h", "kiosk_app.cc", "kiosk_app.h", "kiosk_app_data.cc", "kiosk_app_data.h", "kiosk_app_data_base.cc", "kiosk_app_data_base.h", "kiosk_app_data_delegate.h", "kiosk_app_icon_loader.cc", "kiosk_app_icon_loader.h", "kiosk_app_launch_error.cc", "kiosk_app_launch_error.h", "kiosk_app_launcher.cc", "kiosk_app_launcher.h", "kiosk_app_manager_base.cc", "kiosk_app_manager_base.h", "kiosk_app_manager_observer.h", "kiosk_app_types.cc", "kiosk_app_types.h", "kiosk_app_update_install_gate.cc", "kiosk_app_update_install_gate.h", "kiosk_app_update_service.cc", "kiosk_app_update_service.h", "kiosk_app_update_service_factory.cc", "kiosk_app_update_service_factory.h", "kiosk_chrome_app_manager.cc", "kiosk_chrome_app_manager.h", "kiosk_controller.cc", "kiosk_controller.h", "kiosk_controller_impl.cc", "kiosk_controller_impl.h", "kiosk_cryptohome_remover.cc", "kiosk_cryptohome_remover.h", "kiosk_external_update_validator.cc", "kiosk_external_update_validator.h", "kiosk_external_updater.cc", "kiosk_external_updater.h", "kiosk_launch_state.cc", "kiosk_launch_state.h", "kiosk_mode_idle_app_name_notification.cc", "kiosk_mode_idle_app_name_notification.h", "kiosk_network_state_observer.cc", "kiosk_network_state_observer.h", "kiosk_profile_load_failed_observer.h", "kiosk_system_session.cc", "kiosk_system_session.h", "kiosk_web_app_launcher_base.cc", "kiosk_web_app_launcher_base.h", "load_profile.cc", "load_profile.h", "pref_names.cc", "pref_names.h", "retry_runner.cc", "retry_runner.h", "startup_app_launcher.cc", "startup_app_launcher.h", ] public_deps = [ "//ash/public/cpp", "//chrome/browser:browser_public_dependencies", "//chrome/browser/ash/system", "//chrome/browser/web_applications", "//chromeos/ash/components/dbus/cros_disks", "//chromeos/ash/components/dbus/userdataauth", "//chromeos/ash/components/disks", "//chromeos/ash/components/install_attributes", "//chromeos/ash/components/login/auth", "//chromeos/ash/components/network", "//chromeos/ash/components/policy/device_local_account", "//chromeos/ash/components/settings", "//chromeos/dbus/power", "//components/account_id", "//components/policy/core/browser", "//components/pref_registry", "//components/user_manager", "//components/webapps/common", "//extensions/browser", "//extensions/browser:cws_item_service_proto", "//extensions/browser:webstore_installer", "//extensions/common", "//net", "//ui/base", "//ui/gfx", ] deps = [ "//ash", "//ash/strings:strings_grit", "//chrome/browser:browser_process", "//chrome/browser:browser_process_platform_part", "//chrome/browser/app_mode", "//chrome/browser/apps/app_service/app_icon", "//chrome/browser/ash/app_mode/arcvm_app", "//chrome/browser/ash/app_mode/auto_sleep", "//chrome/browser/ash/app_mode/isolated_web_app", "//chrome/browser/ash/app_mode/metrics", "//chrome/browser/ash/app_mode/web_app", "//chrome/browser/ash/browser_delegate", "//chrome/browser/ash/extensions", "//chrome/browser/ash/login", "//chrome/browser/ash/login/app_mode", "//chrome/browser/ash/login/auth", "//chrome/browser/ash/login/session", "//chrome/browser/ash/notifications", "//chrome/browser/ash/policy/core", "//chrome/browser/ash/policy/handlers", "//chrome/browser/ash/policy/remote_commands/crd", "//chrome/browser/ash/profiles", "//chrome/browser/chromeos/app_mode", "//chrome/browser/net", "//chrome/browser/profiles:profile", "//chrome/common:constants", "//chromeos/ash/components/cryptohome", "//chromeos/ash/components/cryptohome:public", "//chromeos/ash/components/dbus/shill", "//chromeos/ash/components/dbus/userdataauth:userdataauth_proto", "//chromeos/ash/components/login/auth/public:authpublic", "//components/crx_file", "//components/device_event_log", "//components/ownership", "//components/policy:policy_code_generate", "//components/policy/core/common:common_constants", "//content/public/browser", "//extensions/browser/updater", "//net/traffic_annotation", "//services/network/public/cpp", "//services/network/public/mojom", "//services/preferences/public/cpp", "//ui/display", "//ui/gfx/codec", "//ui/ozone", "//ui/wm", ] allow_circular_includes_from = [ "//chrome/browser/ash/app_mode/arcvm_app", "//chrome/browser/ash/app_mode/isolated_web_app", "//chrome/browser/ash/app_mode/web_app", "//chrome/browser/ash/login", "//chrome/browser/ash/login/app_mode", "//chrome/browser/ash/login/session", "//chrome/browser/ash/policy/handlers", "//chrome/browser/ash/policy/remote_commands/crd", "//chrome/browser/chromeos/app_mode", ] } static_library("test_support") { testonly = true sources = [ "consumer_kiosk_test_helper.cc", "consumer_kiosk_test_helper.h", "fake_cws.cc", "fake_cws.h", "fake_cws_mixin.cc", "fake_cws_mixin.h", "fake_kiosk_app_launcher.cc", "fake_kiosk_app_launcher.h", "fake_kiosk_controller.cc", "fake_kiosk_controller.h", "kiosk_test_helper.cc", "kiosk_test_helper.h", "test_kiosk_extension_builder.cc", "test_kiosk_extension_builder.h", ] public_deps = [ "//chrome/browser/ash/app_mode", "//chrome/browser/ash/login/app_mode", "//extensions:test_support", "//extensions/common", "//net:test_support", "//testing/gmock", ] deps = [ "//chrome/browser/app_mode/test:test_support", "//chrome/browser/ash/login/screens", "//chrome/browser/ash/login/test:test_support", "//chrome/browser/ash/ownership", "//chrome/browser/ash/policy/core", "//chrome/common", "//chrome/common:constants", "//chrome/common:non_code_constants", "//chrome/test:test_support_ui", "//chrome/test/data/chromeos/app_mode/webstore/itemsnippet", "//chromeos/ash/components/policy/device_local_account", ] data_deps = [ "//chrome/test/data/chromeos/app_mode/webstore/itemsnippet:generated_protobufs" ] } source_set("unit_tests") { testonly = true sources = [ "app_launch_utils_unittest.cc", "kiosk_app_launch_error_unittest.cc", "load_profile_unittest.cc", "retry_runner_unittest.cc", "startup_app_launcher_unittest.cc", ] deps = [ ":app_mode", ":test_support", "//ash:test_support", "//base/test:test_support", "//chrome/browser/apps/app_service", "//chrome/browser/apps/app_service:test_support", "//chrome/browser/ash/app_mode:test_support", "//chrome/browser/ash/extensions", "//chrome/browser/ash/extensions:test_support", "//chrome/browser/ash/login/users:test_support", "//chrome/browser/ash/login/users/avatar", "//chrome/browser/ash/policy/core", "//chrome/browser/ash/settings:test_support", "//chrome/browser/chromeos/app_mode", "//chrome/browser/ui", "//chrome/browser/ui/apps", "//chrome/browser/web_applications:web_applications_test_support", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//chromeos/ash/components/login/login_state", "//chromeos/ash/components/network:test_support", "//chromeos/ash/components/policy/device_local_account", "//chromeos/ash/components/sync_wifi:test_support", "//components/prefs:test_support", "//components/session_manager/test:test_support", "//components/webapps/browser", "//components/webapps/common:mojo_bindings", "//content/test:test_support", "//extensions:test_support", "//extensions/browser/updater", "//extensions/common", "//google_apis", "//services/data_decoder/public/cpp:test_support", "//testing/gmock", "//testing/gtest", # Test from sub-directories "//chrome/browser/ash/app_mode/arcvm_app:unit_tests", "//chrome/browser/ash/app_mode/auto_sleep:unit_tests", "//chrome/browser/ash/app_mode/isolated_web_app:unit_tests", "//chrome/browser/ash/app_mode/metrics:unit_tests", "//chrome/browser/ash/app_mode/web_app:unit_tests", ] } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "kiosk_app_update_service_browsertest.cc", "kiosk_chrome_app_manager_browsertest.cc", "kiosk_crash_restore_browsertest.cc", "kiosk_guest_view_browsertest.cc", "kiosk_network_state_observer_browsertest.cc", "kiosk_troubleshooting_tools_browsertest.cc", ] deps = [ ":app_mode", ":test_support", "//chrome/browser", "//chrome/browser:browser_process", "//chrome/browser:browser_process_platform_part", "//chrome/browser/app_mode/test:test_support", "//chrome/browser/apps/platform_apps:browser_test_support", "//chrome/browser/ash/app_mode/test:test_support", "//chrome/browser/ash/app_mode/web_app", "//chrome/browser/ash/login/app_mode/test:test_support", "//chrome/browser/ash/login/test:test_support", "//chrome/browser/ash/ownership", "//chrome/browser/ash/policy/core", "//chrome/browser/ash/policy/core:test_support", "//chrome/browser/ash/policy/enrollment", "//chrome/browser/ash/settings:test_support", "//chrome/browser/ash/system_web_apps", "//chrome/browser/ash/system_web_apps/test_support", "//chrome/browser/chromeos/app_mode", "//chrome/browser/devtools:test_support", "//chrome/browser/extensions", "//chrome/browser/lifetime:termination_notification", "//chrome/browser/ui", "//chrome/browser/ui:browser_init_state", "//chrome/browser/ui/ash/system_web_apps", "//chrome/common:constants", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//chromeos/ash/components/cryptohome", "//chromeos/ash/components/dbus/session_manager", "//chromeos/ash/components/dbus/shill", "//chromeos/ash/components/dbus/update_engine", "//chromeos/ash/components/policy/device_local_account", "//chromeos/ash/components/policy/device_policy:test_support", "//components/crx_file", "//components/ownership", "//content/test:test_support", "//extensions/browser", "//pdf:buildflags", "//ui/events:test_support", "//ui/views:view_pixel_diff_test_support", # Test from sub-directories "//chrome/browser/ash/app_mode/auto_sleep:browser_tests", "//chrome/browser/ash/app_mode/test:browser_tests", "//chrome/browser/ash/app_mode/web_app:browser_tests", ] if (enable_pdf) { deps += [ "//pdf:features" ] } }