# 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("//components/signin/features.gni") import("//ui/webui/webui_features.gni") assert(!is_ios) source_set("searchbox") { sources = [ "lens_searchbox_client.h", "lens_searchbox_handler.cc", "lens_searchbox_handler.h", "realbox_handler.cc", "realbox_handler.h", ] public_deps = [ "//base", "//chrome/browser:browser_public_dependencies", "//chrome/browser/ui/webui/new_tab_page/composebox/variations", "//components/contextual_search:prefs", "//components/lens/proto/server:proto", "//components/omnibox/browser", "//components/omnibox/browser:mojo_bindings", "//components/omnibox/browser:vector_icons", "//components/omnibox/composebox:mojo_bindings", "//components/sessions:session_id", "//components/url_formatter", "//mojo/public/cpp/bindings", "//third_party/metrics_proto", "//ui/gfx", "//ui/gfx/geometry", "//url", ] deps = [ "//build:branding_buildflags", "//chrome/browser:browser_process", "//chrome/browser:global_features", "//chrome/browser/autocomplete", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/contextual_search", "//chrome/browser/omnibox", "//chrome/browser/preloading/search_preload", "//chrome/browser/profiles:profile", "//chrome/browser/safe_browsing", "//chrome/browser/search_engines", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/omnibox", "//chrome/browser/ui/webui:webui_util", "//chrome/browser/ui/webui/cr_components/composebox", "//chrome/browser/ui/webui/cr_components/searchbox", "//chrome/browser/ui/webui/metrics_reporter", "//components/application_locale_storage", "//components/bookmarks/browser", "//components/contextual_search:public", "//components/lens", "//components/lens/proto/server:proto", "//components/navigation_metrics", "//components/omnibox/browser", "//components/omnibox/browser:location_bar", "//components/omnibox/browser:vector_icons", "//components/omnibox/common", "//components/prefs", "//components/profile_metrics", "//components/search", "//components/search_engines", "//components/sessions", "//components/strings:components_strings", "//components/strings:components_strings_grit", "//components/variations", "//components/variations/service", "//components/vector_icons", "//content/public/browser", "//net", "//third_party/omnibox_proto", "//ui/base", "//ui/webui/resources/cr_components/composebox:mojo_bindings", ] if (!is_android) { sources += [ "omnibox_composebox_handler.cc", "omnibox_composebox_handler.h", "webui_omnibox_full_handler.cc", "webui_omnibox_full_handler.h", "webui_omnibox_handler.cc", "webui_omnibox_handler.h", ] public_deps += [ "//chrome/browser/ui/webui/top_chrome" ] deps += [ "//chrome/browser/contextual_tasks", "//chrome/browser/resources/new_tab_page:resources", "//chrome/browser/resources/new_tab_page:resources_grit", "//chrome/browser/ui/bookmarks", "//chrome/browser/ui/search", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/views/location_bar", "//chrome/browser/ui/webui/omnibox_popup/mojom", "//chrome/browser/ui/webui/top_chrome", "//components/omnibox/common:features", ] } } source_set("searchbox_test_utils") { testonly = true sources = [ "contextual_searchbox_test_utils.cc", "contextual_searchbox_test_utils.h", "searchbox_interactive_test_mixin.h", "searchbox_test_utils.cc", "searchbox_test_utils.h", ] public_deps = [ ":searchbox", "//base", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/omnibox:test_support", "//chrome/browser/ui/webui/cr_components/searchbox", "//chrome/test:test_support", "//components/contextual_search:public", "//components/contextual_search/internal:test_support", "//components/lens", "//components/omnibox/browser", "//mojo/public/cpp/bindings", "//services/network:test_support", "//testing/gmock", "//testing/gtest", "//third_party/omnibox_proto", ] deps = [ "//chrome/browser/contextual_search", "//chrome/browser/search_engines", "//chrome/browser/ui/omnibox", "//components/contextual_search:test_support", "//components/omnibox/browser:vector_icons", "//components/search", ] if (!is_android) { public_deps += [ "//chrome/browser/tab_list:test_support", "//chrome/browser/ui/browser_window/test:test_support", "//components/tabs:test_support", ] deps += [ "//chrome/browser/ui/webui/omnibox_popup/mojom" ] } } # TODO(b/502297163): Enable tests. if (!is_android) { source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "contextual_searchbox_handler_browsertest.cc", "realbox_handler_browsertest.cc", ] deps = [ ":searchbox", ":searchbox_test_utils", "//chrome/browser/contextual_search", "//chrome/browser/preloading", "//chrome/browser/preloading/prefetch:browser_tests", "//chrome/browser/preloading/prefetch/search_prefetch", "//chrome/browser/preloading/prefetch/search_prefetch:field_trial_settings", "//chrome/browser/profiles:profile", "//chrome/browser/search_engines", "//chrome/browser/ui", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/omnibox", "//chrome/browser/ui/webui/cr_components/searchbox", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//components/contextual_search:public", "//components/lens", "//components/omnibox/browser", "//components/omnibox/browser:test_support", "//components/omnibox/common", "//components/omnibox/composebox:mojo_bindings", "//components/search_engines", "//content/test:test_support", "//mojo/public/cpp/bindings", "//testing/gmock", "//third_party/metrics_proto", "//ui/base", "//ui/display", "//ui/gfx", ] if (enable_dice_support) { deps += [ "//chrome/browser/ui/views/search_ai_mode" ] } } } source_set("unit_tests") { testonly = true sources = [] # Common to contextual_searchbox_handler_unittest.cc (!is_android) and # searchbox_handler_unittest.cc (enable_webui_ntp) below. deps = [ ":searchbox_test_utils", "//chrome/browser/autocomplete", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/contextual_search", "//chrome/browser/tab_list", "//chrome/browser/tab_list:test_support", "//chrome/browser/ui:test_support", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/tabs/alert:tab_alert", "//chrome/browser/ui/webui:webui_util", "//chrome/browser/ui/webui/new_tab_page/composebox/variations", "//components/contextual_search:test_support", "//components/omnibox/browser", "//components/omnibox/browser:test_support", "//components/omnibox/common", "//components/search", "//components/tabs:test_support", "//content/test:test_support", "//testing/gtest", "//ui/base", ] if (!is_android) { sources += [ "contextual_searchbox_handler_unittest.cc" ] deps += [ "//chrome/browser/contextual_tasks", "//chrome/browser/feature_engagement", "//chrome/browser/search_engines", "//chrome/browser/signin", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/views/drive_picker_host", "//chrome/browser/ui/webui/cr_components/composebox", "//chrome/browser/ui/webui/drive_picker_host", "//chrome/common", "//components/contextual_search/internal:test_support", "//components/contextual_tasks/public", "//components/contextual_tasks/public:test_support", "//components/feature_engagement/test:test_support", "//components/lens", "//components/omnibox/common:features", "//components/omnibox/composebox:mojo_bindings", "//components/prefs", "//ui/base:test_support", ] if (is_chromeos) { deps += [ "//chromeos/ash/components/network:test_support" ] } } # searchbox_handler_unittest.cc exercises the desktop-NTP-only handlers # (omnibox_composebox_handler, webui_omnibox_handler), which :searchbox # only compiles under !is_android; it's gated on enable_webui_ntp (rather # than the !is_android split above) because enable_webui_ntp can also be # true for is_desktop_android. if (enable_webui_ntp) { sources += [ "searchbox_handler_unittest.cc" ] deps += [ ":searchbox", "//chrome/browser/bookmarks", "//chrome/browser/ui/omnibox", "//chrome/browser/ui/omnibox:test_support", "//chrome/browser/ui/webui/cr_components/searchbox", "//chrome/test:test_support", "//components/bookmarks/browser", "//components/contextual_search:public", "//components/variations", "//ui/webui/resources/cr_components/composebox:mojo_bindings", ] if (!is_android) { deps += [ "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/tabs:test_support", "//chrome/browser/ui/webui/omnibox_popup", ] } } } # interactive_ui_tests as a whole never builds for is_android # (chrome/test/BUILD.gn gates the test() on !is_android && !is_chromeos_device). if (enable_webui_ntp && !is_android) { source_set("interactive_ui_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] configs += [ "//build/config/compiler:no_exit_time_destructors" ] sources = [ "full_webui_omnibox_interactive_uitest.cc", "webui_omnibox_interactive_uitest.cc", ] deps = [ ":searchbox_test_utils", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/contextual_search", "//chrome/browser/signin", "//chrome/browser/ui", "//chrome/browser/ui/views/page_action:test_support", "//chrome/browser/ui/webui/new_tab_page/composebox/variations", "//chrome/browser/ui/webui/test_support", "//chrome/common", "//chrome/test:test_support", "//components/bookmarks/browser", "//components/bookmarks/test", "//components/contextual_search:public", "//components/contextual_search:test_support", "//components/keyed_service/content", "//components/omnibox/browser", "//components/omnibox/common", "//components/prefs", "//components/signin/public/base", "//components/signin/public/identity_manager:test_support", "//content/public/browser", "//content/test:test_support", "//ui/accessibility", "//ui/base", "//ui/events:test_support", "//ui/gfx/geometry", "//ui/shell_dialogs", "//ui/views", ] } }