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

import("//components/lens/features.gni")
import("//components/signin/features.gni")
import("//ui/webui/webui_features.gni")

assert(!is_ios || enable_webui_ntp)

source_set("searchbox") {
  sources = [
    "contextual_searchbox_handler.h",
    "contextual_searchbox_tab_favicon_helper.h",
    "searchbox_handler.h",
    "searchbox_omnibox_client.h",
    "searchbox_utils.h",
  ]
  public_deps = [
    "//chrome/browser/contextual_tasks",
    "//components/contextual_search/footprints/public",
    "//components/tabs:public",
    "//third_party/omnibox_proto",
  ]
  deps = [
    "//base",
    "//chrome/browser/autocomplete",
    "//chrome/browser/tab_list",
    "//chrome/browser/ui/omnibox",
    "//chrome/browser/ui/views/permissions:permission_prompt_observer",
    "//components/contextual_search:prefs",
    "//components/contextual_search:public",
    "//components/contextual_tasks/public",
    "//components/contextual_tasks/public:query_contextualizer",
    "//components/lens",
    "//components/omnibox/browser",
    "//components/omnibox/browser:mojo_bindings",
    "//components/omnibox/browser:vector_icons",
    "//components/omnibox/composebox:mojo_bindings",
    "//components/sessions:session_id",
    "//content/public/browser",
    "//mojo/public/cpp/bindings",
    "//ui/gfx",
    "//ui/webui/resources/cr_components/composebox:mojo_bindings",
  ]
  if (!is_android) {
    deps += [
      "//chrome/browser/ui/views/drive_picker_host:mojo_bindings",
      "//chrome/browser/ui/webui/drive_picker_host",
    ]
  }
}

source_set("searchbox_impl") {
  sources = [
    "contextual_searchbox_handler.cc",
    "contextual_searchbox_tab_favicon_helper.cc",
    "searchbox_handler.cc",
    "searchbox_omnibox_client.cc",
    "searchbox_utils.cc",
  ]
  deps = [
    ":searchbox",
    "//chrome/browser:browser_process",
    "//chrome/browser:browser_public_dependencies",
    "//chrome/browser/autocomplete",
    "//chrome/browser/autocomplete:aim_eligibility_service",
    "//chrome/browser/bookmarks",
    "//chrome/browser/contextual_search",
    "//chrome/browser/contextual_tasks",
    "//chrome/browser/contextual_tasks:ui",
    "//chrome/browser/contextual_tasks:user_data",
    "//chrome/browser/feature_engagement",
    "//chrome/browser/media/webrtc",
    "//chrome/browser/omnibox",
    "//chrome/browser/predictors",
    "//chrome/browser/preloading",
    "//chrome/browser/preloading/prefetch/search_prefetch",
    "//chrome/browser/preloading/search_preload",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/safe_browsing",
    "//chrome/browser/search_engines",
    "//chrome/browser/tab_list",
    "//chrome/browser/ui:ui_features",
    "//chrome/browser/ui/browser_window",
    "//chrome/browser/ui/contextual_search",
    "//chrome/browser/ui/omnibox",
    "//chrome/browser/ui/views/permissions:permission_prompt_observer",
    "//chrome/browser/ui/webui",
    "//chrome/browser/ui/webui:webui_util",
    "//chrome/browser/ui/webui/new_tab_page/composebox/variations",
    "//components/contextual_search:prefs",
    "//components/contextual_search:public",
    "//components/contextual_search/footprints/public",
    "//components/contextual_tasks/public:query_contextualizer",
    "//components/favicon/content",
    "//components/favicon/core",
    "//components/google/core/common",
    "//components/lens:buildflags",
    "//components/omnibox/browser:fusebox_action_mojo_utils",
    "//components/omnibox/browser:vector_icons",
    "//components/omnibox/common:features",
    "//components/search",
    "//components/sessions",
    "//components/vector_icons",
  ]
  if (enable_lens_overlay_backend) {
    deps += [ "//chrome/browser/ui/lens:backend_logic_public" ]
  }
  if (!is_android) {
    deps += [
      "//chrome/browser/new_tab_page",
      "//chrome/browser/ui/bookmarks",
      "//chrome/browser/ui/lens",
      "//chrome/browser/ui/tabs",
      "//chrome/browser/ui/views/drive_picker_host",
      "//chrome/browser/ui/views/location_bar",
      "//chrome/browser/ui/webui/drive_picker_host",
      "//chrome/browser/ui/webui/drive_picker_host:drive_picker_host_request",
      "//chrome/browser/ui/webui/omnibox_popup",
      "//components/contextual_search/footprints/internal",
    ]
  }
  if (enable_dice_support) {
    deps += [ "//chrome/browser/ui/views/search_ai_mode" ]
  }
}
