| # Copyright 2014 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") |
| import("//build/config/ozone.gni") |
| import("//extensions/buildflags/buildflags.gni") |
| import("//ppapi/buildflags/buildflags.gni") |
| import("//printing/buildflags/buildflags.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| assert(enable_extensions) |
| assert(is_chromeos) |
| assert(use_ozone) |
| |
| source_set("chromeos") { |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| sources = [ |
| "extensions/accessibility_service_private.cc", |
| "extensions/accessibility_service_private.h", |
| "extensions/device_local_account_external_policy_loader.cc", |
| "extensions/device_local_account_external_policy_loader.h", |
| "extensions/info_private_api.cc", |
| "extensions/info_private_api.h", |
| "extensions/wallpaper_api.cc", |
| "extensions/wallpaper_api.h", |
| ] |
| |
| allow_circular_includes_from = [ |
| "//chrome/browser/apps/app_service", |
| "//chrome/browser/chromeos/enterprise/cloud_storage", |
| "//chrome/browser/chromeos/policy/dlp/dialogs", |
| "//chrome/browser/chromeos/reporting/websites", |
| "//chrome/browser/extensions", |
| "//chrome/browser/media/webrtc", |
| ] |
| |
| public_deps = [ |
| "//base", |
| "//build:chromeos_buildflags", |
| "//chrome/browser:browser_public_dependencies", |
| "//chrome/browser/extensions", |
| "//chrome/browser/image_decoder", |
| "//chrome/browser/profiles", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/web_applications", |
| "//chrome/common/chromeos/extensions/api", |
| "//chrome/common/extensions/api", |
| "//chromeos/components/mahi/public/cpp:cpp", |
| "//chromeos/crosapi/cpp", |
| "//chromeos/crosapi/mojom", |
| "//chromeos/dbus/dlp:dlp_proto", |
| "//chromeos/dbus/power", |
| "//components/account_id", |
| "//components/arc/common", |
| "//components/enterprise/data_controls/core/browser:dlp_policy_event_proto", |
| "//components/file_access", |
| "//components/keyed_service/content", |
| "//components/keyed_service/core", |
| "//components/prefs", |
| "//components/proxy_config", |
| "//components/renderer_context_menu", |
| "//components/reporting/client:report_queue", |
| "//components/reporting/client:report_queue_configuration", |
| "//components/reporting/metrics:metrics_data_collection", |
| "//components/reporting/util:status", |
| "//components/sessions", |
| "//components/url_matcher", |
| "//content/public/browser", |
| "//extensions/browser", |
| "//extensions/common", |
| "//mojo/public/cpp/bindings", |
| "//net", |
| "//ppapi/buildflags", |
| "//services/network/public/cpp", |
| "//storage/browser", |
| "//third_party/abseil-cpp:absl", |
| "//ui/base", |
| "//ui/base/clipboard", |
| "//ui/base/data_transfer_policy", |
| "//ui/base/metadata", |
| "//ui/display", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/views", |
| "//url", |
| ] |
| |
| deps = [ |
| ":system_stack_sampled_metrics_status_proto", |
| "//chrome/app:command_ids", |
| "//chrome/app:generated_resources", |
| "//chrome/app/vector_icons", |
| "//chrome/browser:browser_process", |
| "//chrome/browser:resources", |
| "//chrome/browser/apps/app_service", |
| "//chrome/browser/apps/app_service/app_icon", |
| "//chrome/browser/apps/link_capturing", |
| "//chrome/browser/browsing_data:constants", |
| "//chrome/browser/chromeos/arc", |
| "//chrome/browser/chromeos/echo", |
| "//chrome/browser/chromeos/enterprise", |
| "//chrome/browser/chromeos/enterprise/cloud_storage", |
| "//chrome/browser/chromeos/extensions/login_screen/login/cleanup", |
| "//chrome/browser/chromeos/full_restore", |
| "//chrome/browser/chromeos/policy/dlp/dialogs", |
| "//chrome/browser/chromeos/reporting/websites", |
| "//chrome/browser/chromeos/smart_reader", |
| "//chrome/browser/chromeos/tablet_mode", |
| "//chrome/browser/chromeos/tast_support", |
| "//chrome/browser/enterprise/data_controls", |
| "//chrome/browser/favicon", |
| "//chrome/browser/media/webrtc", |
| "//chrome/browser/resources:component_extension_resources", |
| "//chrome/browser/screen_ai:screen_ai_service_router_factory", |
| "//chrome/browser/ui:browser_navigator_params_headers", |
| "//chrome/common", |
| "//chrome/common:chrome_features", |
| "//chrome/common:constants", |
| "//chrome/common:non_code_constants", |
| "//chromeos/components/kcer", |
| "//chromeos/components/mahi/public/cpp", |
| "//chromeos/components/mahi/public/mojom", |
| "//chromeos/components/mgs", |
| "//chromeos/constants", |
| "//chromeos/dbus/dlp", |
| "//chromeos/ui/base", |
| "//components/app_constants", |
| "//components/arc/common:arc_intent_helper_constants", |
| "//components/device_event_log", |
| "//components/download/content/public:public", |
| "//components/enterprise/data_controls/core/browser", |
| "//components/pdf/browser", |
| "//components/pdf/common:constants", |
| "//components/policy:generated", |
| "//components/policy/core/common", |
| "//components/policy/core/common:common_constants", |
| "//components/policy/core/common:policy_namespace", |
| "//components/pref_registry", |
| "//components/printing/browser", |
| "//components/printing/common:mojo_interfaces", |
| "//components/reporting/client:report_queue_factory", |
| "//components/reporting/proto:metric_data_proto", |
| "//components/reporting/util:rate_limiter_interface", |
| "//components/reporting/util:rate_limiter_slide_window", |
| "//components/services/app_service", |
| "//components/sharing_message", |
| "//components/strings:components_strings", |
| "//components/sync/protocol", |
| "//components/sync_device_info", |
| "//components/ukm", |
| "//components/vector_icons", |
| "//components/webapps/common", |
| "//content/public/common", |
| "//crypto", |
| "//extensions/browser/updater", |
| "//extensions/common:common_constants", |
| "//extensions/common:mojom", |
| "//net", |
| "//pdf:features", |
| "//services/data_decoder/public/cpp", |
| "//services/network/public/cpp:cpp_base", |
| "//services/network/public/mojom", |
| "//services/network/public/mojom:url_loader_base", |
| "//skia", |
| "//third_party/blink/public/common:headers", |
| "//third_party/blink/public/mojom/service_worker:storage", |
| "//third_party/boringssl", |
| "//ui/base", |
| "//ui/base:types", |
| "//ui/base/ime", |
| "//ui/chromeos/strings", |
| "//ui/chromeos/styles:cros_styles_views", |
| "//ui/chromeos/styles:cros_tokens_color_mappings", |
| "//ui/color:color_headers", |
| "//ui/compositor", |
| "//ui/events:event_constants", |
| "//ui/gfx/codec", |
| "//ui/message_center/public/cpp", |
| "//ui/native_theme", |
| ] |
| |
| if (is_chromeos_ash) { |
| allow_circular_includes_from += [ |
| "//chrome/browser/ash/app_restore", |
| "//chrome/browser/ash/arc", |
| "//chrome/browser/ash/arc/enterprise/cert_store", |
| "//chrome/browser/ash/extensions/file_manager", |
| "//chrome/browser/ash/arc/fileapi", |
| "//chrome/browser/ash/arc/intent_helper", |
| "//chrome/browser/ash/arc/policy", |
| "//chrome/browser/ash/attestation", |
| "//chrome/browser/ash/cert_provisioning", |
| "//chrome/browser/ash/file_manager", |
| "//chrome/browser/ash/file_manager/virtual_tasks", |
| "//chrome/browser/ash/file_system_provider", |
| "//chrome/browser/ash/platform_keys", |
| "//chrome/browser/ash/platform_keys/key_permissions", |
| "//chrome/browser/ash/policy/core", |
| "//chrome/browser/ash/policy/dlp", |
| "//chrome/browser/ash/policy/dlp/dialogs", |
| "//chrome/browser/ash/policy/reporting/metrics_reporting", |
| "//chrome/browser/ash/policy/reporting/metrics_reporting/apps", |
| "//chrome/browser/ash/policy/skyvault", |
| "//chrome/browser/ash/printing", |
| "//chrome/browser/ash/printing/history", |
| "//chrome/browser/ash/printing/print_management", |
| "//chrome/browser/ash/system_web_apps/apps", |
| "//chrome/browser/ash/system_web_apps/apps/help_app", |
| "//chrome/browser/ash/video_conference", |
| "//chrome/browser/ash/app_mode", |
| "//chrome/browser/ash/app_mode/web_app", |
| "//chrome/browser/chromeos/tablet_mode", |
| "//chrome/browser/ui/ash/network", |
| "//chrome/browser/ui/webui/ash/cloud_upload", |
| "//chrome/browser/ui/webui/ash/settings/pages/files", |
| ] |
| public_deps += [ |
| "//ash/constants", |
| "//components/services/app_service/public/cpp:instance_update", |
| ] |
| deps += [ |
| "//ash", |
| "//ash/components/arc:arc_metrics_constants", |
| "//ash/public/cpp", |
| "//ash/webui/file_manager:constants", |
| "//ash/webui/file_manager:file_manager_ui", |
| "//ash/webui/file_manager:file_manager_untrusted_ui", |
| "//chrome/browser/ash/accessibility", |
| "//chrome/browser/ash/app_mode", |
| "//chrome/browser/ash/app_mode/web_app", |
| "//chrome/browser/ash/app_restore", |
| "//chrome/browser/ash/arc", |
| "//chrome/browser/ash/arc/enterprise/cert_store", |
| "//chrome/browser/ash/arc/fileapi", |
| "//chrome/browser/ash/arc/intent_helper", |
| "//chrome/browser/ash/arc/policy", |
| "//chrome/browser/ash/attestation", |
| "//chrome/browser/ash/cert_provisioning", |
| "//chrome/browser/ash/extensions/file_manager", |
| "//chrome/browser/ash/file_manager", |
| "//chrome/browser/ash/file_manager/virtual_tasks", |
| "//chrome/browser/ash/file_system_provider", |
| "//chrome/browser/ash/guest_os", |
| "//chrome/browser/ash/login", |
| "//chrome/browser/ash/login/lock", |
| "//chrome/browser/ash/mahi:mahi", |
| "//chrome/browser/ash/platform_keys", |
| "//chrome/browser/ash/platform_keys/key_permissions", |
| "//chrome/browser/ash/policy/core", |
| "//chrome/browser/ash/policy/dlp", |
| "//chrome/browser/ash/policy/dlp/dialogs", |
| "//chrome/browser/ash/policy/reporting/metrics_reporting", |
| "//chrome/browser/ash/policy/reporting/metrics_reporting/apps", |
| "//chrome/browser/ash/policy/skyvault", |
| "//chrome/browser/ash/printing", |
| "//chrome/browser/ash/printing/history", |
| "//chrome/browser/ash/printing/print_management", |
| "//chrome/browser/ash/printing/print_preview", |
| "//chrome/browser/ash/profiles", |
| "//chrome/browser/ash/system_web_apps/apps", |
| "//chrome/browser/ash/system_web_apps/apps/help_app", |
| "//chrome/browser/ash/video_conference", |
| "//chrome/browser/ui/ash/network", |
| "//chrome/browser/ui/ash/session", |
| "//chrome/browser/ui/ash/shelf", |
| "//chrome/browser/ui/ash/system_web_apps", |
| "//chrome/browser/ui/webui/ash/cloud_upload", |
| "//chrome/browser/ui/webui/ash/settings/pages/files", |
| "//chromeos/ash/components/browser_context_helper", |
| "//chromeos/ash/components/chaps_util", |
| "//chromeos/ash/components/login/auth/public:authpublic", |
| "//chromeos/ash/components/login/session", |
| "//chromeos/ash/components/network", |
| "//chromeos/ash/components/settings", |
| "//components/session_manager:base", |
| "//components/session_manager/core", |
| "//components/user_manager", |
| "//ui/aura", |
| ] |
| } |
| |
| if (is_chromeos_lacros) { |
| deps += [ |
| "//chromeos/lacros", |
| "//chromeos/startup", |
| ] |
| } |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| |
| sources = [ |
| "../ui/views/frame/immersive_mode_controller_chromeos_unittest.cc", |
| |
| # TODO(zturner): Enable this on Windows. See |
| # BrowserWithTestWindowTest::SetUp() for a comment explaining why this is |
| # broken. |
| "../../common/extensions/api/file_browser_handlers/file_browser_handler_manifest_unittest.cc", |
| "../../common/extensions/api/file_system_provider/file_system_provider_handler_unittest.cc", |
| ] |
| |
| deps = [ |
| ":chromeos", |
| ":system_stack_sampled_metrics_status_proto", |
| "//base", |
| "//base/test:test_support", |
| "//build:chromeos_buildflags", |
| "//chrome/app:command_ids", |
| "//chrome/app:generated_resources", |
| "//chrome/browser", |
| "//chrome/browser:browser_process", |
| "//chrome/browser/apps/app_service:test_support", |
| "//chrome/browser/chromeos/extensions/login_screen/login/cleanup", |
| "//chrome/browser/chromeos/extensions/login_screen/login/cleanup:test_support", |
| "//chrome/browser/chromeos/extensions/login_screen/login/external_logout_request", |
| "//chrome/browser/enterprise/data_controls", |
| "//chrome/browser/enterprise/data_controls:test_support", |
| "//chrome/browser/extensions", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/ui", |
| "//chrome/browser/ui:ui_features", |
| "//chrome/browser/ui/chromeos", |
| "//chrome/browser/ui/chromeos:test_support", |
| "//chrome/common", |
| "//chrome/common:chrome_features", |
| "//chrome/common:constants", |
| "//chrome/common:non_code_constants", |
| "//chrome/common/extensions/api", |
| "//chrome/test:test_support", |
| "//chromeos/components/kcer", |
| "//chromeos/crosapi/mojom", |
| "//chromeos/dbus/dlp", |
| "//chromeos/ui/frame:test_support", |
| "//components/account_id", |
| "//components/arc/common", |
| "//components/arc/common:arc_intent_helper_constants", |
| "//components/arc/common:arc_test_support", |
| "//components/enterprise/data_controls/core/browser", |
| "//components/enterprise/data_controls/core/browser:dlp_policy_event_proto", |
| "//components/file_access", |
| "//components/keyed_service/core", |
| "//components/policy/core/common:common_constants", |
| "//components/prefs", |
| "//components/renderer_context_menu", |
| "//components/reporting/client:test_support", |
| "//components/reporting/metrics/fakes:test_support", |
| "//components/reporting/proto:metric_data_proto", |
| "//components/reporting/storage:test_support", |
| "//components/reporting/util:status", |
| "//components/reporting/util:test_callbacks_support", |
| "//components/sharing_message/proto", |
| "//components/strings:components_strings", |
| "//components/ukm", |
| "//components/user_manager", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//extensions:test_support", |
| "//extensions/browser", |
| "//extensions/browser:test_support", |
| "//extensions/common", |
| "//extensions/common:common_constants", |
| "//storage/browser", |
| "//storage/browser:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/abseil-cpp:absl", |
| "//ui/base", |
| "//ui/base/data_transfer_policy", |
| "//ui/gfx", |
| "//ui/views", |
| "//url", |
| |
| # Unit tests from subdirectories. |
| "//chrome/browser/chromeos/app_mode:unit_tests", |
| "//chrome/browser/chromeos/arc:unit_tests", |
| "//chrome/browser/chromeos/container_app:unit_tests", |
| "//chrome/browser/chromeos/drivefs:unit_tests", |
| "//chrome/browser/chromeos/extensions/contact_center_insights:unit_tests", |
| "//chrome/browser/chromeos/extensions/desk_api:unit_tests", |
| "//chrome/browser/chromeos/extensions/file_system_provider:unit_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login/external_logout_request:unit_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login_state:unit_tests", |
| "//chrome/browser/chromeos/extensions/odfs_config_private:unit_tests", |
| "//chrome/browser/chromeos/extensions/telemetry:unit_tests", |
| "//chrome/browser/chromeos/launcher_search:unit_tests", |
| "//chrome/browser/chromeos/mahi:unit_tests", |
| "//chrome/browser/chromeos/office_web_app:unit_tests", |
| "//chrome/browser/chromeos/policy/dlp:unit_tests", |
| "//chrome/browser/chromeos/printing/print_preview:unit_tests", |
| "//chrome/browser/chromeos/reporting:unit_tests", |
| "//chrome/browser/chromeos/reporting/network:unit_tests", |
| "//chrome/browser/chromeos/reporting/websites:unit_tests", |
| "//chrome/browser/chromeos/tast_support:unit_tests", |
| "//chrome/browser/chromeos/video_conference:unit_tests", |
| |
| # Unit tests from elsewhere. |
| "//components/sharing_message:unit_tests", |
| ] |
| |
| if (is_chromeos_ash) { |
| deps += [ |
| "//ash:test_support", |
| "//ash/constants", |
| "//chrome/browser/ash/crosapi", |
| "//chrome/browser/ash/crosapi:test_support", |
| "//chrome/browser/ash/login/ui:test_support", |
| "//chrome/browser/ash/login/users:test_support", |
| "//chrome/browser/ash/printing:test_support", |
| "//chrome/browser/ash/printing/history", |
| "//chrome/browser/ash/printing/history:test_support", |
| "//chrome/browser/ash/printing/print_management", |
| "//chrome/browser/ash/system_web_apps/test_support:test_support", |
| "//chrome/browser/extensions:test_support", |
| "//chrome/browser/ui/ash/system_web_apps:system_web_apps", |
| "//chrome/browser/web_applications:web_applications_test_support", |
| "//chromeos/ash/components/dbus/session_manager", |
| "//chromeos/ash/components/login/auth/public:authpublic", |
| "//chromeos/ash/components/login/login_state", |
| "//chromeos/ash/components/network/portal_detector", |
| "//chromeos/ash/components/settings", |
| "//chromeos/dbus/power", |
| "//components/history/core/test", |
| "//components/prefs:test_support", |
| "//components/services/app_service", |
| "//components/session_manager:base", |
| "//components/session_manager/core", |
| "//components/sync_preferences:test_support", |
| "//components/user_manager", |
| "//content/public/common", |
| "//extensions/common/api", |
| "//mojo/public/cpp/bindings", |
| "//ui/gfx/geometry", |
| |
| # Unit tests from subdirectories. |
| "//chrome/browser/chromeos/extensions/login_screen/login:unit_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login/cleanup:unit_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login/external_logout_done:unit_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login_screen_storage:unit_tests", |
| "//chrome/browser/chromeos/tablet_mode:unit_tests", |
| ] |
| |
| if (use_cups) { |
| deps += |
| [ "//chrome/browser/chromeos/extensions/printing_metrics:unit_tests" ] |
| } |
| } |
| } |
| |
| group("browser_tests") { |
| testonly = true |
| |
| deps = [ "//chrome/browser/chromeos/extensions/system_log:browser_tests" ] |
| |
| if (is_chromeos_ash) { |
| deps += [ |
| "//chrome/browser/chromeos/extensions/action_handlers:browser_tests", |
| "//chrome/browser/chromeos/extensions/contact_center_insights:browser_tests", |
| "//chrome/browser/chromeos/extensions/echo_private:browser_tests", |
| "//chrome/browser/chromeos/extensions/file_system_provider:browser_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login:browser_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login/cleanup:browser_tests", |
| "//chrome/browser/chromeos/extensions/login_screen/login_screen_storage:browser_tests", |
| "//chrome/browser/chromeos/extensions/odfs_config_private:browser_tests", |
| "//chrome/browser/chromeos/mahi:browser_tests", |
| "//chrome/browser/chromeos/network:browser_tests", |
| "//chrome/browser/chromeos/policy:browser_tests", |
| "//chrome/browser/chromeos/policy/dlp:browser_tests", |
| "//chrome/browser/chromeos/printing/print_preview:browser_tests", |
| "//chrome/browser/chromeos/reporting/network:browser_tests", |
| "//chrome/browser/chromeos/reporting/websites:browser_tests", |
| "//chrome/browser/chromeos/smart_reader:browser_tests", |
| "//chrome/browser/chromeos/video_conference:browser_tests", |
| ] |
| } |
| } |
| |
| if (is_chromeos_lacros) { |
| group("lacros_chrome_browsertests") { |
| testonly = true |
| |
| deps = [ |
| "//chrome/browser/chromeos/extensions/contact_center_insights:lacros_chrome_browsertests", |
| "//chrome/browser/chromeos/extensions/login_screen/login_screen_storage:lacros_chrome_browsertests", |
| "//chrome/browser/chromeos/extensions/odfs_config_private:lacros_chrome_browsertests", |
| "//chrome/browser/chromeos/network:lacros_chrome_browsertests", |
| "//chrome/browser/chromeos/policy/dlp:lacros_chrome_browsertests", |
| "//chrome/browser/chromeos/printing/print_preview:lacros_chrome_browsertests", |
| "//chrome/browser/chromeos/reporting/network:lacros_chrome_browsertests", |
| "//chrome/browser/chromeos/tablet_mode:lacros_chrome_browsertests", |
| ] |
| } |
| } |
| |
| if (!is_chromeos_device) { |
| group("interactive_ui_tests") { |
| testonly = true |
| |
| deps = [ "//chrome/browser/chromeos/policy/dlp:interactive_ui_tests" ] |
| } |
| } |
| |
| proto_library("system_stack_sampled_metrics_status_proto") { |
| sources = [ "//third_party/cros_system_api/proto/stack_sampled_metrics_status//stack_sampled_metrics_status.proto" ] |
| |
| proto_out_dir = |
| "third_party/cros_system_api/proto/stack_sampled_metrics_status" |
| } |