| # 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("//mojo/public/tools/bindings/mojom.gni") |
| |
| # This target is only for public headers for classes used outside this directory (i.e. services and factories). |
| source_set("contextual_tasks") { |
| sources = [ |
| "contextual_tasks_context_controller.h", |
| "contextual_tasks_context_controller_factory.h", |
| "contextual_tasks_service_factory.h", |
| ] |
| |
| if (!is_android) { |
| sources += [ |
| "contextual_tasks_context_service.h", |
| "contextual_tasks_context_service_factory.h", |
| ] |
| } |
| |
| deps = [ "//base" ] |
| |
| public_deps = [ |
| "//chrome/browser/profiles:profile", |
| "//components/contextual_tasks/public", |
| "//components/keyed_service/core", |
| ] |
| if (!is_android) { |
| public_deps += |
| [ "//components/passage_embeddings:passage_embeddings_types" ] |
| } |
| } |
| |
| # This target is for all non-public files (all .c - including factories and services - and non-public .h). |
| source_set("impl") { |
| visibility = [ |
| ":*", |
| "//chrome/browser", |
| ] |
| |
| sources = [ |
| "contextual_tasks_context_controller.cc", |
| "contextual_tasks_context_controller_factory.cc", |
| "contextual_tasks_context_controller_impl.cc", |
| "contextual_tasks_context_controller_impl.h", |
| "contextual_tasks_service_factory.cc", |
| ] |
| if (!is_android) { |
| sources += [ |
| "contextual_tasks_context_service.cc", |
| "contextual_tasks_context_service_factory.cc", |
| "tab_strip_context_decorator.cc", |
| "tab_strip_context_decorator.h", |
| ] |
| } |
| |
| deps = [ |
| ":contextual_tasks", |
| "//chrome/browser/autocomplete:aim_eligibility_service", |
| "//chrome/browser/favicon", |
| "//chrome/browser/history", |
| "//chrome/browser/optimization_guide", |
| "//chrome/browser/signin", |
| "//chrome/browser/sync", |
| "//chrome/common:channel_info", |
| "//components/contextual_tasks/internal", |
| "//components/contextual_tasks/public", |
| "//components/favicon/core", |
| "//components/history/core/browser", |
| "//components/keyed_service/core", |
| "//components/omnibox/browser", |
| "//components/sessions:session_id", |
| "//components/sync/model", |
| "//content/public/browser", |
| ] |
| if (!is_android) { |
| deps += [ |
| "//chrome/browser:browser_public_dependencies", |
| "//chrome/browser/passage_embeddings", |
| "//chrome/browser/ui", |
| "//chrome/browser/ui:browser_list", |
| "//chrome/browser/ui/tabs:tab_strip", |
| "//components/url_deduplication", |
| "//components/visited_url_ranking/public", |
| ] |
| } |
| } |
| |
| if (!is_android) { |
| source_set("ui") { |
| sources = [ |
| "contextual_tasks_composebox_handler.h", |
| "contextual_tasks_navigation_throttle.h", |
| "contextual_tasks_page_handler.h", |
| "contextual_tasks_side_panel_coordinator.h", |
| "contextual_tasks_ui.h", |
| "contextual_tasks_ui_service.h", |
| "contextual_tasks_ui_service_factory.h", |
| ] |
| |
| public_deps = [ |
| ":contextual_tasks", |
| ":mojo_bindings", |
| "//chrome/browser/ui/tabs:tab_strip", |
| "//chrome/browser/ui/views/side_panel", |
| "//chrome/browser/ui/webui/new_tab_page/composebox", |
| "//chrome/browser/ui/webui/searchbox", |
| "//chrome/browser/ui/webui/top_chrome", |
| "//components/contextual_tasks/public:feature_list", |
| "//content/public/browser", |
| "//content/public/common", |
| "//ui/webui", |
| "//ui/webui/resources/cr_components/composebox:mojo_bindings", |
| "//url", |
| ] |
| } |
| |
| source_set("ui_impl") { |
| sources = [ |
| "contextual_tasks_composebox_handler.cc", |
| "contextual_tasks_navigation_throttle.cc", |
| "contextual_tasks_page_handler.cc", |
| "contextual_tasks_side_panel_coordinator.cc", |
| "contextual_tasks_ui.cc", |
| "contextual_tasks_ui_service.cc", |
| "contextual_tasks_ui_service_factory.cc", |
| ] |
| |
| deps = [ |
| ":ui", |
| "//base", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/resources/contextual_tasks:resources", |
| "//chrome/browser/ui", |
| "//chrome/browser/ui/browser_window", |
| "//chrome/browser/ui/omnibox", |
| "//chrome/browser/ui/webui", |
| "//components/contextual_tasks/public:feature_list", |
| "//components/keyed_service/core", |
| "//components/omnibox/browser:mojo_bindings", |
| "//url", |
| ] |
| } |
| |
| mojom("mojo_bindings") { |
| sources = [ "contextual_tasks.mojom" ] |
| webui_module_path = "/" |
| public_deps = [ |
| "//mojo/public/mojom/base", |
| "//url/mojom:url_mojom_gurl", |
| ] |
| } |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| sources = [ |
| "mock_contextual_tasks_context_controller.cc", |
| "mock_contextual_tasks_context_controller.h", |
| ] |
| |
| deps = [ |
| ":contextual_tasks", |
| "//testing/gmock", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| |
| sources = [ |
| "contextual_tasks_context_controller_factory_unittest.cc", |
| "contextual_tasks_context_controller_impl_unittest.cc", |
| "contextual_tasks_service_factory_unittest.cc", |
| ] |
| |
| if (!is_android) { |
| sources += [ |
| "contextual_tasks_context_service_factory_unittest.cc", |
| "contextual_tasks_ui_service_unittest.cc", |
| "tab_strip_context_decorator_unittest.cc", |
| ] |
| } |
| |
| deps = [ |
| ":contextual_tasks", |
| ":impl", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//chrome/browser/sync", |
| "//chrome/test:test_support", |
| "//components/contextual_tasks/public", |
| "//content/test:test_support", |
| "//services/network/public/cpp", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| |
| if (!is_android) { |
| deps += [ |
| ":ui", |
| "//components/passage_embeddings", |
| ] |
| } |
| } |
| |
| source_set("interactive_ui_tests") { |
| testonly = true |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| |
| sources = [] |
| |
| if (!is_android) { |
| sources += |
| [ "contextual_tasks_side_panel_coordinator_interactive_uitest.cc" ] |
| } |
| |
| deps = [ |
| ":contextual_tasks", |
| ":impl", |
| "//base", |
| "//base/test:test_support", |
| "//chrome/test:test_support", |
| "//components/contextual_tasks/public", |
| "//content/test:test_support", |
| "//services/network/public/cpp", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| |
| if (!is_android) { |
| deps += [ ":ui" ] |
| } |
| } |