blob: 97925f0c1d6c5564bb330aa634a67b247cd3a8c2 [file] [log] [blame]
# 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" ]
}
}