blob: bb59f6e4a28ab990cdfdf1f70d2ab314949d6184 [file] [log] [blame]
# 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("//build/config/chromeos/ui_mode.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/extensions:cws_item_service_proto",
"//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/crosapi/mojom",
"//chromeos/crosapi/mojom:mojom_shared_cpp_sources",
"//chromeos/dbus/power",
"//components/account_id",
"//components/policy/core/browser",
"//components/pref_registry",
"//components/user_manager",
"//components/webapps/common",
"//extensions/browser",
"//extensions/common",
"//net",
"//ui/base",
"//ui/gfx",
]
deps = [
"//ash",
"//chrome/app:generated_resources_grit",
"//chrome/browser:browser_process",
"//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/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/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/crosapi",
"//chrome/browser/ash/crosapi: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/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/app_mode/test:test_support",
"//chrome/browser/ash/app_mode/test:test_support",
"//chrome/browser/ash/app_mode/web_app",
"//chrome/browser/ash/crosapi",
"//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/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",
"//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",
]
}