# Copyright 2016 The Chromium Authors. All rights reserved.
# 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("//mojo/public/tools/bindings/mojom.gni")

assert(is_chromeos_ash)

# C++ headers and sources that can be used outside ash.
component("cpp") {
  sources = [
    "accelerator_configuration.cc",
    "accelerator_configuration.h",
    "accelerators.cc",
    "accelerators.h",
    "accessibility_controller.cc",
    "accessibility_controller.h",
    "accessibility_controller_client.h",
    "accessibility_controller_enums.h",
    "accessibility_event_rewriter_delegate.h",
    "accessibility_focus_ring_controller.cc",
    "accessibility_focus_ring_controller.h",
    "accessibility_focus_ring_info.cc",
    "accessibility_focus_ring_info.h",
    "ambient/ambient_animation_theme.cc",
    "ambient/ambient_animation_theme.h",
    "ambient/ambient_backend_controller.cc",
    "ambient/ambient_backend_controller.h",
    "ambient/ambient_client.cc",
    "ambient/ambient_client.h",
    "ambient/ambient_metrics.cc",
    "ambient/ambient_metrics.h",
    "ambient/ambient_prefs.cc",
    "ambient/ambient_prefs.h",
    "ambient/ambient_ui_model.cc",
    "ambient/ambient_ui_model.h",
    "ambient/common/ambient_settings.cc",
    "ambient/common/ambient_settings.h",
    "ambient/fake_ambient_backend_controller_impl.cc",
    "ambient/fake_ambient_backend_controller_impl.h",
    "android_intent_helper.cc",
    "android_intent_helper.h",
    "app_list/app_list_client.h",
    "app_list/app_list_color_provider.cc",
    "app_list/app_list_color_provider.h",
    "app_list/app_list_config.cc",
    "app_list/app_list_config.h",
    "app_list/app_list_config_provider.cc",
    "app_list/app_list_config_provider.h",
    "app_list/app_list_controller.cc",
    "app_list/app_list_controller.h",
    "app_list/app_list_controller_observer.h",
    "app_list/app_list_features.cc",
    "app_list/app_list_features.h",
    "app_list/app_list_metrics.cc",
    "app_list/app_list_metrics.h",
    "app_list/app_list_model_delegate.h",
    "app_list/app_list_notifier.h",
    "app_list/app_list_switches.cc",
    "app_list/app_list_switches.h",
    "app_list/app_list_types.cc",
    "app_list/app_list_types.h",
    "app_list/internal_app_id_constants.h",
    "app_menu_constants.h",
    "app_types_util.cc",
    "app_types_util.h",
    "arc_app_id_provider.cc",
    "arc_app_id_provider.h",
    "arc_resize_lock_type.h",
    "ash_constants.h",
    "ash_public_export.h",
    "ash_typography.cc",
    "ash_typography.h",
    "ash_view_ids.h",
    "ash_web_view.cc",
    "ash_web_view.h",
    "ash_web_view_factory.cc",
    "ash_web_view_factory.h",
    "assistant/assistant_interface_binder.cc",
    "assistant/assistant_interface_binder.h",
    "assistant/assistant_setup.cc",
    "assistant/assistant_setup.h",
    "assistant/assistant_state.cc",
    "assistant/assistant_state.h",
    "assistant/assistant_state_base.cc",
    "assistant/assistant_state_base.h",
    "assistant/controller/assistant_alarm_timer_controller.cc",
    "assistant/controller/assistant_alarm_timer_controller.h",
    "assistant/controller/assistant_controller.cc",
    "assistant/controller/assistant_controller.h",
    "assistant/controller/assistant_controller_observer.h",
    "assistant/controller/assistant_interaction_controller.cc",
    "assistant/controller/assistant_interaction_controller.h",
    "assistant/controller/assistant_notification_controller.cc",
    "assistant/controller/assistant_notification_controller.h",
    "assistant/controller/assistant_screen_context_controller.cc",
    "assistant/controller/assistant_screen_context_controller.h",
    "assistant/controller/assistant_suggestions_controller.cc",
    "assistant/controller/assistant_suggestions_controller.h",
    "assistant/controller/assistant_ui_controller.cc",
    "assistant/controller/assistant_ui_controller.h",
    "back_gesture_contextual_nudge_controller.h",
    "back_gesture_contextual_nudge_delegate.h",
    "bluetooth_config_service.cc",
    "bluetooth_config_service.h",
    "capture_mode/capture_mode_delegate.h",
    "capture_mode/recording_overlay_view.h",
    "cast_config_controller.cc",
    "cast_config_controller.h",
    "child_accounts/parent_access_controller.cc",
    "child_accounts/parent_access_controller.h",
    "clipboard_history_controller.cc",
    "clipboard_history_controller.h",
    "clipboard_image_model_factory.cc",
    "clipboard_image_model_factory.h",
    "desk_template.cc",
    "desk_template.h",
    "desks_templates_delegate.h",
    "esim_manager.cc",
    "esim_manager.h",
    "file_icon_util.cc",
    "file_icon_util.h",
    "fps_counter.cc",
    "fps_counter.h",
    "fwupd_download_client.cc",
    "fwupd_download_client.h",
    "gesture_action_type.h",
    "holding_space/holding_space_client.h",
    "holding_space/holding_space_constants.h",
    "holding_space/holding_space_controller.cc",
    "holding_space/holding_space_controller.h",
    "holding_space/holding_space_controller_observer.h",
    "holding_space/holding_space_image.cc",
    "holding_space/holding_space_image.h",
    "holding_space/holding_space_item.cc",
    "holding_space/holding_space_item.h",
    "holding_space/holding_space_metrics.cc",
    "holding_space/holding_space_metrics.h",
    "holding_space/holding_space_model.cc",
    "holding_space/holding_space_model.h",
    "holding_space/holding_space_model_observer.h",
    "holding_space/holding_space_prefs.cc",
    "holding_space/holding_space_prefs.h",
    "holding_space/holding_space_progress.cc",
    "holding_space/holding_space_progress.h",
    "holding_space/holding_space_util.cc",
    "holding_space/holding_space_util.h",
    "image_downloader.cc",
    "image_downloader.h",
    "image_util.cc",
    "image_util.h",
    "ime_controller.cc",
    "ime_controller.h",
    "ime_controller_client.h",
    "ime_info.cc",
    "ime_info.h",
    "in_session_auth_dialog_client.h",
    "in_session_auth_dialog_controller.cc",
    "in_session_auth_dialog_controller.h",
    "keyboard/arc/arc_input_method_bounds_tracker.cc",
    "keyboard/arc/arc_input_method_bounds_tracker.h",
    "keyboard/keyboard_config.h",
    "keyboard/keyboard_controller.cc",
    "keyboard/keyboard_controller.h",
    "keyboard/keyboard_controller_observer.h",
    "keyboard/keyboard_switches.cc",
    "keyboard/keyboard_switches.h",
    "keyboard/keyboard_types.h",
    "keyboard_shortcut_item.cc",
    "keyboard_shortcut_item.h",
    "keyboard_shortcut_viewer.h",
    "kiosk_app_menu.cc",
    "kiosk_app_menu.h",
    "locale_update_controller.cc",
    "locale_update_controller.h",
    "lock_screen_widget_factory.cc",
    "lock_screen_widget_factory.h",
    "login_accelerators.cc",
    "login_accelerators.h",
    "login_screen.cc",
    "login_screen.h",
    "login_screen_client.h",
    "login_screen_model.cc",
    "login_screen_model.h",
    "login_screen_test_api.h",
    "login_types.cc",
    "login_types.h",
    "media_client.h",
    "media_controller.cc",
    "media_controller.h",
    "message_center/arc_notification_constants.h",
    "message_center/arc_notification_manager_base.cc",
    "message_center/arc_notification_manager_base.h",
    "message_center/arc_notification_manager_delegate.h",
    "message_center/arc_notifications_host_initializer.cc",
    "message_center/arc_notifications_host_initializer.h",
    "message_center_ash.cc",
    "message_center_ash.h",
    "metrics_util.cc",
    "metrics_util.h",
    "microphone_mute_notification_delegate.cc",
    "microphone_mute_notification_delegate.h",
    "nearby_share_controller.h",
    "nearby_share_delegate.h",
    "network_config_service.cc",
    "network_config_service.h",
    "network_icon_image_source.cc",
    "network_icon_image_source.h",
    "new_window_delegate.cc",
    "new_window_delegate.h",
    "night_light_controller.cc",
    "night_light_controller.h",
    "note_taking_client.cc",
    "note_taking_client.h",
    "notification_utils.cc",
    "notification_utils.h",
    "notifier_metadata.cc",
    "notifier_metadata.h",
    "notifier_settings_controller.cc",
    "notifier_settings_controller.h",
    "notifier_settings_observer.h",
    "pagination/pagination_controller.cc",
    "pagination/pagination_controller.h",
    "pagination/pagination_model.cc",
    "pagination/pagination_model.h",
    "pagination/pagination_model_observer.h",
    "personalization_app/user_display_info.cc",
    "personalization_app/user_display_info.h",
    "power_utils.cc",
    "power_utils.h",
    "presentation_time_recorder.cc",
    "presentation_time_recorder.h",
    "privacy_screen_dlp_helper.cc",
    "privacy_screen_dlp_helper.h",
    "projector/projector_annotator_controller.cc",
    "projector/projector_annotator_controller.h",
    "projector/projector_client.cc",
    "projector/projector_client.h",
    "projector/projector_controller.cc",
    "projector/projector_controller.h",
    "projector/projector_new_screencast_precondition.cc",
    "projector/projector_new_screencast_precondition.h",
    "projector/projector_session.cc",
    "projector/projector_session.h",
    "resize_shadow_type.h",
    "rounded_corner_utils.cc",
    "rounded_corner_utils.h",
    "rounded_image_view.cc",
    "rounded_image_view.h",
    "scale_utility.cc",
    "scale_utility.h",
    "scoped_clipboard_history_pause.h",
    "scoped_guest_button_blocker.h",
    "scoped_singleton_resetter_for_test.h",
    "screen_backlight.cc",
    "screen_backlight.h",
    "screen_backlight_observer.h",
    "screen_backlight_type.h",
    "select_to_speak_event_handler_delegate.h",
    "session/session_activation_observer.h",
    "session/session_controller.cc",
    "session/session_controller.h",
    "session/session_controller_client.h",
    "session/session_observer.cc",
    "session/session_observer.h",
    "session/session_types.cc",
    "session/session_types.h",
    "session/user_info.cc",
    "session/user_info.h",
    "shelf_item.cc",
    "shelf_item.h",
    "shelf_item_delegate.cc",
    "shelf_item_delegate.h",
    "shelf_model.cc",
    "shelf_model.h",
    "shelf_model_observer.h",
    "shelf_prefs.cc",
    "shelf_prefs.h",
    "shelf_types.cc",
    "shelf_types.h",
    "shelf_ui_info.cc",
    "shelf_ui_info.h",
    "shell_window_ids.cc",
    "shell_window_ids.h",
    "shutdown_controller.cc",
    "shutdown_controller.h",
    "smartlock_state.cc",
    "smartlock_state.h",
    "style/color_mode_observer.h",
    "style/color_provider.cc",
    "style/color_provider.h",
    "stylus_utils.cc",
    "stylus_utils.h",
    "system_tray.cc",
    "system_tray.h",
    "system_tray_client.h",
    "system_tray_observer.h",
    "tab_cluster/clusterer.cc",
    "tab_cluster/clusterer.h",
    "tab_cluster/correlation_clusterer.cc",
    "tab_cluster/correlation_clusterer.h",
    "tab_cluster/tab_cluster_ui_controller.cc",
    "tab_cluster/tab_cluster_ui_controller.h",
    "tab_cluster/tab_cluster_ui_item.cc",
    "tab_cluster/tab_cluster_ui_item.h",
    "tab_cluster/undirected_graph.cc",
    "tab_cluster/undirected_graph.h",
    "tablet_mode.cc",
    "tablet_mode.h",
    "tablet_mode_observer.h",
    "toast_data.cc",
    "toast_data.h",
    "toast_manager.cc",
    "toast_manager.h",
    "update_types.h",
    "view_shadow.cc",
    "view_shadow.h",
    "views_text_services_context_menu_impl.cc",
    "views_text_services_context_menu_impl.h",
    "vm_camera_mic_constants.cc",
    "vm_camera_mic_constants.h",
    "wallpaper/online_wallpaper_params.cc",
    "wallpaper/online_wallpaper_params.h",
    "wallpaper/online_wallpaper_variant.cc",
    "wallpaper/online_wallpaper_variant.h",
    "wallpaper/wallpaper_controller.cc",
    "wallpaper/wallpaper_controller.h",
    "wallpaper/wallpaper_controller_client.h",
    "wallpaper/wallpaper_controller_observer.cc",
    "wallpaper/wallpaper_controller_observer.h",
    "wallpaper/wallpaper_info.cc",
    "wallpaper/wallpaper_info.h",
    "wallpaper/wallpaper_types.h",
    "webauthn_request_registrar.cc",
    "webauthn_request_registrar.h",
    "window_animation_types.h",
    "window_backdrop.cc",
    "window_backdrop.h",
    "window_properties.cc",
    "window_properties.h",
  ]

  defines = [ "ASH_PUBLIC_IMPLEMENTATION" ]

  assert_no_deps = [
    "//ash/components/arc",
    "//ash/public/cpp/external_arc",
    "//components/arc",
    "//components/exo",
    "//components/soda",
  ]

  deps = [
    "//ash/components/audio",
    "//ash/constants",
    "//ash/public/cpp/ambient/proto",
    "//ash/strings",
    "//base",
    "//chromeos/dbus/power:power_manager_proto",
    "//chromeos/services/assistant/public/cpp",
    "//chromeos/services/bluetooth_config:in_process_bluetooth_config",
    "//chromeos/services/cellular_setup:in_process_esim_manager",
    "//chromeos/services/network_config:in_process_instance",
    "//chromeos/strings:strings_grit",
    "//chromeos/ui/base",
    "//chromeos/ui/frame",
    "//chromeos/ui/vector_icons",
    "//components/language/core/browser:browser",
    "//components/pref_registry",
    "//components/prefs",
    "//components/sync/model",
    "//components/user_manager",
    "//mojo/public/cpp/bindings",
    "//net/traffic_annotation",
    "//services/network/public/cpp:cpp",
    "//skia/public/mojom",
    "//ui/aura",
    "//ui/chromeos/strings",
    "//ui/compositor_extra",
    "//ui/display",
    "//ui/events/devices",
    "//ui/message_center/public/cpp",
    "//ui/views",
    "//ui/wm",
    "//ui/wm/public",
  ]

  public_deps = [
    "//ash/components/arc/mojom:notifications",
    "//ash/components/security_token_pin",
    "//ash/public/mojom",
    "//ash/webui/personalization_app/proto",
    "//base",
    "//chromeos/crosapi/mojom",
    "//chromeos/services/assistant/public/mojom",
    "//chromeos/services/bluetooth_config/public/mojom",
    "//chromeos/services/cellular_setup/public/mojom",
    "//chromeos/services/network_config/public/mojom",
    "//components/app_restore",
    "//components/session_manager:base",
    "//components/user_manager",
    "//ui/base/ime/ash:ime_types",
    "//ui/gfx",
  ]

  output_name = "ash_public_cpp"
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "ambient/ambient_metrics_unittest.cc",
    "android_intent_helper_unittest.cc",
    "app_list/app_list_config_provider_unittest.cc",
    "file_icon_util_unittest.cc",
    "holding_space/holding_space_image_unittest.cc",
    "holding_space/holding_space_item_unittest.cc",
    "holding_space/holding_space_model_unittest.cc",
    "holding_space/holding_space_progress_unittest.cc",
    "metrics_util_unittest.cc",
    "pagination/pagination_model_unittest.cc",
    "power_utils_unittest.cc",
    "shelf_model_unittest.cc",
    "tab_cluster/clusterer_unittest.cc",
    "tab_cluster/correlation_clusterer_unittest.cc",
    "tab_cluster/undirected_graph_unittest.cc",
    "view_shadow_unittest.cc",
  ]

  deps = [
    ":cpp",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//chromeos/ui/vector_icons",
    "//mojo/public/cpp/bindings",
    "//testing/gtest",
    "//ui/aura:test_support",
    "//ui/chromeos/styles:cros_styles_views",
    "//ui/compositor_extra",
    "//ui/gfx:test_support",
    "//ui/views",
    "//ui/views:test_support",
  ]
}

source_set("test_support") {
  testonly = true
  sources = [
    "test/mock_projector_controller.cc",
    "test/mock_projector_controller.h",
    "test/test_app_list_color_provider.cc",
    "test/test_app_list_color_provider.h",
    "test/test_desks_templates_delegate.cc",
    "test/test_desks_templates_delegate.h",
    "test/test_image_downloader.cc",
    "test/test_image_downloader.h",
    "test/test_keyboard_controller_observer.cc",
    "test/test_keyboard_controller_observer.h",
    "test/test_nearby_share_delegate.cc",
    "test/test_nearby_share_delegate.h",
    "test/test_new_window_delegate.cc",
    "test/test_new_window_delegate.h",
    "test/test_shelf_item_delegate.cc",
    "test/test_shelf_item_delegate.h",
    "test/test_system_tray_client.cc",
    "test/test_system_tray_client.h",
  ]

  deps = [
    ":cpp",
    "//base",
    "//services/device/public/cpp:test_support",
    "//services/network/public/cpp:cpp",
    "//testing/gmock",
    "//ui/aura",
    "//ui/aura:test_support",
    "//ui/gfx",
    "//ui/gfx:test_support",
    "//ui/views",
  ]
}
