| # 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("//build/config/chromeos/args.gni") |
| |
| assert(is_win || is_mac || is_linux || is_chromeos || is_android) |
| |
| # The public interface has no circular dependencies. |
| source_set("omnibox") { |
| sources = [ "omnibox_pedal_implementations.h" ] |
| deps = [] |
| public_deps = [ |
| "//base", |
| "//components/omnibox/browser", |
| ] |
| if (!is_android) { |
| sources += [ |
| "alternate_nav_infobar_delegate.h", |
| "chrome_omnibox_client.h", |
| "chrome_omnibox_navigation_observer.h", |
| "clipboard_utils.h", |
| "omnibox_tab_helper.h", |
| "omnibox_theme.h", |
| ] |
| public_deps += [ |
| "//base", |
| "//chrome/browser/bitmap_fetcher", |
| "//chrome/browser/page_content_annotations:extraction_service", |
| "//chrome/browser/ui/color:color_headers", |
| "//chrome/common", |
| "//components/infobars/core", |
| "//components/omnibox/browser:mojo_bindings_shared", |
| "//components/omnibox/browser:mojo_bindings_shared_cpp_sources", |
| "//components/omnibox/common", |
| "//content/public/browser", |
| "//services/network/public/mojom:url_loader_base", |
| ] |
| } |
| } |
| |
| # The implementation must be linked into the same binary as the public |
| # interface. This does have circular dependencies with //chrome/browser and |
| # //chrome/browser/ui. |
| source_set("impl") { |
| sources = [ "omnibox_pedal_implementations.cc" ] |
| public_deps = [ "//chrome/browser:browser_public_dependencies" ] |
| deps = [ |
| ":omnibox", |
| "//base", |
| "//build:branding_buildflags", |
| "//chrome/app/vector_icons", |
| "//chrome/browser:shell_integration", |
| "//chrome/browser/feedback", |
| "//chrome/browser/feedback:feedback_enum", |
| "//chrome/common", |
| "//chrome/common:chrome_features", |
| "//components/omnibox/browser", |
| "//components/omnibox/browser:vector_icons", |
| "//components/omnibox/common", |
| "//components/omnibox/resources:omnibox_pedal_synonyms", |
| "//components/omnibox/resources:omnibox_pedal_synonyms_grit", |
| "//components/prefs", |
| "//components/search", |
| "//components/strings:components_strings", |
| "//components/strings:components_strings_grit", |
| "//components/vector_icons", |
| ] |
| if (!is_android) { |
| sources += [ |
| "alternate_nav_infobar_delegate.cc", |
| "chrome_omnibox_client.cc", |
| "chrome_omnibox_navigation_observer.cc", |
| "clipboard_utils.cc", |
| "omnibox_tab_helper.cc", |
| ] |
| deps += [ |
| "//chrome/app:command_ids", |
| "//chrome/browser:browser_process", |
| "//chrome/browser:primitives", |
| "//chrome/browser/autocomplete", |
| "//chrome/browser/bitmap_fetcher", |
| "//chrome/browser/extensions/api/omnibox", |
| "//chrome/browser/favicon", |
| "//chrome/browser/omnibox", |
| "//chrome/browser/preloading/search_preload", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/safe_browsing", |
| "//chrome/browser/search_engines", |
| "//chrome/browser/ui:browser_list", |
| "//chrome/browser/ui:layout_constants", |
| "//chrome/browser/ui/bookmarks", |
| "//chrome/browser/ui/extensions/", |
| "//chrome/browser/ui/hats", |
| "//chrome/browser/ui/lens", |
| "//chrome/browser/ui/location_bar", |
| "//chrome/browser/ui/views/location_bar", |
| "//chrome/common", |
| "//components/bookmarks/browser", |
| "//components/favicon/content", |
| "//components/favicon/core", |
| "//components/history/core/browser", |
| "//components/infobars/content", |
| "//components/infobars/core", |
| "//components/profile_metrics", |
| "//components/search_engines", |
| "//components/sessions", |
| "//content/public/browser", |
| "//extensions/buildflags", |
| "//net", |
| "//net/traffic_annotation", |
| "//services/metrics/public/cpp:gen_ukm_builders", |
| "//services/metrics/public/cpp:metrics_cpp", |
| "//services/metrics/public/cpp:ukm_builders", |
| "//services/network/public/cpp", |
| "//services/network/public/mojom:url_loader_base", |
| "//ui/base", |
| "//ui/base:types", |
| "//ui/base/clipboard", |
| "//ui/base/data_transfer_policy", |
| "//ui/gfx", |
| "//url", |
| ] |
| } |
| } |
| |
| if (!is_android) { |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "chrome_omnibox_navigation_observer_unittest.cc", |
| "clipboard_utils_unittest.cc", |
| "omnibox_pedal_implementations_unittest.cc", |
| "omnibox_pedals_unittest.cc", |
| ] |
| deps = [ |
| ":omnibox", |
| "//base/test:test_support", |
| "//chrome/browser/search_engines", |
| "//chrome/test:test_support", |
| "//components/infobars/content", |
| "//components/omnibox/browser", |
| "//components/omnibox/browser:location_bar", |
| "//components/omnibox/browser:test_support", |
| "//components/omnibox/common", |
| "//components/search_engines", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//net", |
| "//services/network:test_support", |
| "//services/network/public/cpp", |
| "//services/network/public/mojom:url_loader_base", |
| "//ui/base", |
| "//ui/base:types", |
| "//ui/base/clipboard", |
| "//ui/base/clipboard:clipboard_test_support", |
| ] |
| } |
| |
| source_set("browser_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| sources = [ |
| "alternate_nav_infobar_delegate_browsertest.cc", |
| "omnibox_search_aggregator_browsertest.cc", |
| ] |
| deps = [ |
| ":omnibox", |
| "//base/test:test_support", |
| "//chrome/browser/autocomplete", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/search_engines", |
| "//chrome/browser/ui/location_bar", |
| "//chrome/browser/ui/search", |
| "//chrome/test:test_support", |
| "//chrome/test:test_support_ui", |
| "//components/infobars/core", |
| "//components/omnibox/browser", |
| "//components/omnibox/browser:location_bar", |
| "//components/policy:generated", |
| "//components/policy:policy_code_generate", |
| "//components/policy/core/browser", |
| "//components/policy/core/common:test_support", |
| "//components/search_engines", |
| "//components/search_engines:search_engine_type", |
| "//content/test:test_support", |
| "//net:test_support", |
| "//third_party/metrics_proto", |
| "//url", |
| |
| # This target has a circular dependency against //chrome/test:browser_tests |
| # due to the inclusion of `chrome/browser/ui/test/test_infobar.h`. |
| ] |
| |
| # TODO(crbug.com/40031409): Fix code that adds exit-time destructors and |
| # enable the diagnostic by removing this line. |
| configs += [ "//build/config/compiler:no_exit_time_destructors" ] |
| } |
| |
| if (!is_chromeos_device) { |
| source_set("interactive_ui_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| sources = [ "omnibox_metrics_browsertest.cc" ] |
| deps = [ |
| "//base/test:test_support", |
| "//chrome/browser/autocomplete", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/search_engines", |
| "//chrome/browser/ui/location_bar", |
| "//chrome/browser/ui/search", |
| "//chrome/test:test_support", |
| "//chrome/test:test_support_ui", |
| "//components/omnibox/browser", |
| "//components/omnibox/browser:location_bar", |
| "//components/search_engines", |
| "//components/search_engines:search_engine_type", |
| "//content/test:test_support", |
| "//third_party/metrics_proto", |
| ] |
| |
| if (!is_mac) { |
| sources += [ |
| # TODO(crbug.com/40659953): Re-enable this test when history backend failures are addressed. |
| "omnibox_view_browsertest.cc", |
| ] |
| deps += [ |
| ":omnibox", |
| "//chrome/browser/ui:browser_navigator_params_headers", |
| "//chrome/browser/ui/browser_window", |
| ] |
| } |
| } |
| } |
| } |