chromium/chrome/browser/ui/views/side_panel/BUILD.gn

# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD - style license that can be
# found in the LICENSE file.

assert(is_win || is_mac || is_linux || is_chromeos)

import("//components/lens/features.gni")
import("//extensions/buildflags/buildflags.gni")

source_set("side_panel_enums") {
  sources = [ "side_panel_enums.h" ]
}

source_set("side_panel") {
  sources = [
    "bookmarks/bookmarks_side_panel_coordinator.cc",
    "bookmarks/bookmarks_side_panel_coordinator.h",
    "companion/companion_side_panel_controller_utils.h",
    "companion/companion_tab_helper.cc",
    "companion/companion_tab_helper.h",
    "companion/companion_utils.cc",
    "companion/companion_utils.h",
    "companion/exps_registration_success_observer.cc",
    "companion/exps_registration_success_observer.h",
    "companion_side_panel_web_view.cc",
    "companion_side_panel_web_view.h",
    "customize_chrome/customize_chrome_utils.cc",
    "customize_chrome/customize_chrome_utils.h",
    "customize_chrome/side_panel_controller_views.cc",
    "customize_chrome/side_panel_controller_views.h",
    "extensions/extension_side_panel_coordinator.cc",
    "extensions/extension_side_panel_coordinator.h",
    "extensions/extension_side_panel_manager.cc",
    "extensions/extension_side_panel_manager.h",
    "extensions/extension_side_panel_utils.cc",
    "history_clusters/history_clusters_side_panel_controller.cc",
    "history_clusters/history_clusters_side_panel_controller.h",
    "history_clusters/history_clusters_side_panel_controller_utils.cc",
    "history_clusters/history_clusters_side_panel_controller_utils.h",
    "history_clusters/history_clusters_side_panel_coordinator.cc",
    "history_clusters/history_clusters_side_panel_coordinator.h",
    "history_clusters/history_clusters_side_panel_utils.cc",
    "history_clusters/history_clusters_side_panel_utils.h",
    "history_clusters/history_clusters_tab_helper.cc",
    "history_clusters/history_clusters_tab_helper.h",
    "lens/lens_core_tab_side_panel_helper.cc",
    "lens/lens_core_tab_side_panel_helper.h",
    "read_anything/read_anything_coordinator.cc",
    "read_anything/read_anything_coordinator.h",
    "read_anything/read_anything_service.cc",
    "read_anything/read_anything_service.h",
    "read_anything/read_anything_service_factory.cc",
    "read_anything/read_anything_service_factory.h",
    "read_anything/read_anything_side_panel_controller.cc",
    "read_anything/read_anything_side_panel_controller.h",
    "read_anything/read_anything_side_panel_controller_utils.cc",
    "read_anything/read_anything_side_panel_controller_utils.h",
    "read_anything/read_anything_side_panel_navigation_throttle.cc",
    "read_anything/read_anything_side_panel_navigation_throttle.h",
    "read_anything/read_anything_side_panel_web_view.cc",
    "read_anything/read_anything_side_panel_web_view.h",
    "read_later_side_panel_web_view.cc",
    "read_later_side_panel_web_view.h",
    "reading_list/reading_list_side_panel_coordinator.cc",
    "reading_list/reading_list_side_panel_coordinator.h",
    "search_companion/companion_side_panel_controller.cc",
    "search_companion/companion_side_panel_controller.h",
    "search_companion/companion_side_panel_controller_utils.cc",
    "search_companion/search_companion_side_panel_coordinator.cc",
    "search_companion/search_companion_side_panel_coordinator.h",
    "side_panel.cc",
    "side_panel.h",
    "side_panel_action_callback.cc",
    "side_panel_action_callback.h",
    "side_panel_content_proxy.cc",
    "side_panel_content_proxy.h",
    "side_panel_coordinator.cc",
    "side_panel_coordinator.h",
    "side_panel_entry.cc",
    "side_panel_entry.h",
    "side_panel_entry_id.cc",
    "side_panel_entry_id.h",
    "side_panel_entry_key.cc",
    "side_panel_entry_key.h",
    "side_panel_entry_observer.h",
    "side_panel_enums.h",
    "side_panel_header.cc",
    "side_panel_header.h",
    "side_panel_model.cc",
    "side_panel_model.h",
    "side_panel_model_host.cc",
    "side_panel_model_host.h",
    "side_panel_prefs.cc",
    "side_panel_prefs.h",
    "side_panel_registry.cc",
    "side_panel_registry.h",
    "side_panel_registry_observer.h",
    "side_panel_resize_area.cc",
    "side_panel_resize_area.h",
    "side_panel_rounded_corner.cc",
    "side_panel_rounded_corner.h",
    "side_panel_ui.h",
    "side_panel_util.cc",
    "side_panel_util.h",
    "side_panel_view_state_observer.h",
    "side_panel_web_ui_view.cc",
    "side_panel_web_ui_view.h",
  ]
  if (enable_lens_desktop_google_branded_features) {
    sources += [
      "lens/lens_side_panel_coordinator.cc",
      "lens/lens_side_panel_coordinator.h",
      "lens/lens_unified_side_panel_view.cc",
      "lens/lens_unified_side_panel_view.h",
    ]
  }
  public_deps = [
    "//base",
    "//chrome/browser:browser_public_dependencies",
    "//chrome/browser:primitives",
    "//chrome/browser/companion/core/mojom:mojo_bindings",
    "//chrome/browser/companion/visual_query",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/ui/actions:actions_headers",
    "//chrome/browser/ui/color:color_headers",
    "//chrome/common",
    "//chrome/common/accessibility:mojo_bindings",
    "//components/lens",
    "//components/lens:buildflags",
    "//components/omnibox/browser",
    "//components/prefs",
    "//components/search_engines",
    "//content/public/browser",
    "//ui/actions:actions_headers",
    "//ui/base",
    "//ui/color:color_headers",
    "//ui/gfx",
    "//ui/gfx/animation",
    "//ui/gfx/geometry",
    "//ui/views",
    "//ui/views/controls/webview",
    "//url",
  ]
  deps = [
    "//base:i18n",
    "//build:chromeos_buildflags",
    "//chrome/app:generated_resources",
    "//chrome/app:generated_resources_grit",
    "//chrome/app/vector_icons",
    "//chrome/browser/companion/core",
    "//chrome/browser/favicon",
    "//chrome/browser/lens/region_search",
    "//chrome/browser/media/webrtc",
    "//chrome/browser/profiles",
    "//chrome/browser/resources:component_extension_resources",
    "//chrome/browser/resources:component_extension_resources_grit",
    "//chrome/browser/search",
    "//chrome/browser/search/background:background",
    "//chrome/browser/search_engines",
    "//chrome/browser/themes",
    "//chrome/browser/ui:browser_element_identifiers",
    "//chrome/browser/ui:ui_features",
    "//chrome/browser/ui/actions",
    "//chrome/browser/ui/browser_window",
    "//chrome/browser/ui/tabs",
    "//chrome/browser/ui/views/toolbar",
    "//chrome/browser/ui/webui/top_chrome",
    "//chrome/common",
    "//chrome/common:constants",
    "//components/accessibility:reading",
    "//components/download/content/factory",
    "//components/download/content/public",
    "//components/favicon_base",
    "//components/feature_engagement/public",
    "//components/google/core/common",
    "//components/history_clusters/core",
    "//components/keyed_service/core",
    "//components/language/core/browser",
    "//components/language/core/common",
    "//components/lens:features",
    "//components/omnibox/browser:vector_icons",
    "//components/optimization_guide/core:features",
    "//components/performance_manager",
    "//components/pref_registry",
    "//components/search",
    "//components/strings:components_strings",
    "//components/strings:components_strings_grit",
    "//components/translate/core/browser",
    "//components/translate/core/common",
    "//components/user_education/common",
    "//components/user_notes:features",
    "//components/vector_icons",
    "//components/web_modal",
    "//extensions/buildflags",
    "//net",
    "//skia",
    "//third_party/abseil-cpp:absl",
    "//third_party/blink/public/common",
    "//ui/accessibility:ax_base",
    "//ui/accessibility/mojom",
    "//ui/accessibility/mojom",
    "//ui/base",
    "//ui/compositor",
    "//ui/gfx:color_utils",
    "//ui/gfx/geometry:geometry_skia",
    "//ui/webui",
  ]

  if (enable_extensions) {
    public_deps += [
      "//extensions/browser",
      "//extensions/common",
    ]
    deps += [ "//chrome/common/extensions/api" ]
  }

  allow_circular_includes_from = [ "//chrome/browser/ui/views/toolbar" ]
}