# 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("//build/config/android/config.gni") import("//components/guest_view/buildflags/buildflags.gni") import("//components/signin/features.gni") import("//extensions/buildflags/buildflags.gni") import("//mojo/public/tools/bindings/mojom.gni") import("//pdf/features.gni") import("//third_party/protobuf/proto_library.gni") import("//ui/webui/webui_features.gni") if (is_android) { import("//build/config/android/rules.gni") import("//third_party/jni_zero/jni_zero.gni") } # This target is only for public headers for classes used outside this directory # (i.e. services and factories). source_set("contextual_tasks") { sources = [ "active_task_context_provider.h", "active_task_context_provider_impl.h", "ai_mode_context_library_converter.h", "aim_message_poster.h", "aim_user_agent_tab_helper.h", "contextual_tasks_auto_suggestion_manager.h", "contextual_tasks_composebox_handler_interface.h", "contextual_tasks_context_scoring_utils.h", "contextual_tasks_context_service.h", "contextual_tasks_context_service_factory.h", "contextual_tasks_panel_controller.h", "contextual_tasks_panel_host.h", "contextual_tasks_service_factory.h", "contextual_tasks_tab_visit_tracker.cc", "contextual_tasks_tab_visit_tracker.h", "contextual_tasks_ui_interface.h", "contextual_tasks_ui_service_delegate.h", "contextual_tasks_utils.h", "smart_tab_sharing_metrics.h", "smart_tab_sharing_settings_policy_handler.h", "task_info_delegate.h", ] deps = [ "//base", "//chrome/browser/ui/browser_window", "//components/tabs:public", "//ui/base/unowned_user_data", ] public_deps = [ ":mojo_bindings", "//chrome/browser/passage_embeddings", "//chrome/browser/profiles:profile", "//chrome/browser/tab_list", "//chrome/browser/ui/browser_window", "//components/contextual_search:public", "//components/contextual_tasks/public", "//components/contextual_tasks/public:query_contextualizer", "//components/keyed_service/core", "//components/lens", "//components/lens:lens_url_utils", "//components/page_content_annotations/content:page_embeddings", "//components/page_content_annotations/core", "//components/passage_embeddings/core:passage_embeddings_types", "//content/public/browser", "//third_party/abseil-cpp:absl", "//third_party/omnibox_proto", ] if (enable_extensions_core) { sources += [ "contextual_tasks_extension_binder_provider.h", "contextual_tasks_extension_bridge.h", "contextual_tasks_extension_bridge_factory.h", "contextual_tasks_extension_config_provider.h", ] public_deps += [ "//extensions/browser" ] } if (!is_android) { public_deps += [ "//components/policy/core/browser" ] } } # This target is for all non-public files (all .c - including factories and # services - and non-public .h). source_set("impl") { visibility = [ ":*", "//chrome/browser", "//chrome/browser/ui/lens:browser_tests", ] sources = [ "active_task_context_provider_impl.cc", "ai_mode_context_library_converter.cc", "aim_user_agent_tab_helper.cc", "contextual_tasks_auto_suggestion_manager.cc", "contextual_tasks_context_model_executor.cc", "contextual_tasks_context_model_executor.h", "contextual_tasks_context_model_handler.cc", "contextual_tasks_context_model_handler.h", "contextual_tasks_context_multi_turn_model_executor.cc", "contextual_tasks_context_multi_turn_model_executor.h", "contextual_tasks_context_multi_turn_model_handler.cc", "contextual_tasks_context_multi_turn_model_handler.h", "contextual_tasks_context_scoring_utils.cc", "contextual_tasks_context_service.cc", "contextual_tasks_context_service_factory.cc", "contextual_tasks_context_signal_utils.cc", "contextual_tasks_context_signal_utils.h", "contextual_tasks_service_factory.cc", "contextual_tasks_utils.cc", "site_exclusion_detail.cc", "site_exclusion_detail.h", "smart_tab_sharing_metrics.cc", ] if (enable_extensions_core) { sources += [ "contextual_tasks_extension_binder_provider.cc", "contextual_tasks_extension_bridge.cc", "contextual_tasks_extension_bridge_factory.cc", "contextual_tasks_extension_config_provider.cc", ] if (!is_android) { sources += [ "contextual_tasks_extension_handler.cc", "contextual_tasks_extension_handler.h", ] } } if (is_android) { sources += [ "android/contextual_tasks_bridge.cc", "android/contextual_tasks_bridge.h", "android/contextual_tasks_ui_service_delegate_android.cc", "android/contextual_tasks_ui_service_delegate_android.h", "android/contextual_tasks_utils_android.cc", ] } else { sources += [ "contextual_tasks_ui_service_delegate_desktop.cc", "contextual_tasks_ui_service_delegate_desktop.h", "smart_tab_sharing_settings_policy_handler.cc", ] } deps = [ ":contextual_tasks", ":ui", ":user_data", "//chrome/browser:browser_public_dependencies", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/contextual_search", "//chrome/browser/favicon", "//chrome/browser/glic", "//chrome/browser/history", "//chrome/browser/optimization_guide", "//chrome/browser/page_content_annotations", "//chrome/browser/page_content_annotations:extraction_service", "//chrome/browser/passage_embeddings", "//chrome/browser/search", "//chrome/browser/signin", "//chrome/browser/sync", "//chrome/browser/tab_list", "//chrome/browser/ui", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/omnibox", "//chrome/browser/ui/tabs:tabs_public", "//chrome/common:channel_info", "//components/contextual_search:public", "//components/contextual_tasks/internal", "//components/contextual_tasks/public", "//components/embedder_support:user_agent", "//components/favicon/core", "//components/history/core/browser", "//components/keyed_service/core", "//components/omnibox/browser", "//components/omnibox/common:features", "//components/optimization_guide/core:model_execution", "//components/optimization_guide/proto:optimization_guide_proto", "//components/page_content_annotations/core", "//components/sessions:session_id", "//components/sync/base", "//components/sync/model", "//components/tabs:public", "//components/url_deduplication", "//components/visited_url_ranking/public", "//content/public/browser", "//third_party/lens_server_proto:lens_overlay_proto", ] if (enable_extensions_core) { deps += [ "//extensions/browser", "//extensions/common", ] } if (is_android) { deps += [ ":jni_headers", ":utils_jni_headers", "//chrome/browser/ui/webui:webui_util", "//ui/android", ] } else { deps += [ "//chrome/browser/ui:browser_actions", "//chrome/browser/ui/lens", "//chrome/browser/ui/views/permissions:permission_prompt_observer", "//chrome/browser/ui/webui:webui_util", "//components/policy/core/browser", ] } } source_set("ui") { sources = [ "contextual_tasks_composebox_handler.h", "contextual_tasks_cookie_synchronizer.h", "contextual_tasks_eligibility_manager.h", "contextual_tasks_internals_page_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_base.h", "contextual_tasks_ui_service.h", "contextual_tasks_ui_service_factory.h", "contextual_tasks_window_tracker.h", "contextual_tasks_window_tracker_manager.h", "entry_point_eligibility_manager.h", ] if (is_android) { sources += [ "android/contextual_tasks_panel_host_android.h", "android/contextual_tasks_panel_host_desktop_android.h", "android/contextual_tasks_toast.h", ] } else { sources += [ "contextual_tasks_panel_host_desktop.h", "contextual_tasks_web_view.h", ] } if (enable_dice_support) { sources += [ "search_ai_mode_promo_tab_helper.h", "search_ai_mode_signin_promo_controller_observer.h", ] } public_deps = [ ":contextual_tasks", ":mojo_bindings", ":mojom_traits", "//base", "//chrome/browser/actor", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/contextual_search", "//chrome/browser/tab_list", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/side_panel", "//chrome/browser/ui/webui/cr_components/composebox", "//chrome/browser/ui/webui/searchbox", "//chrome/common", "//components/contextual_search:public", "//components/contextual_tasks/public:feature_list", "//components/contextual_tasks/public:query_contextualizer", "//components/optimization_guide/proto:optimization_guide_proto", "//components/prefs", "//components/signin/public/identity_manager", "//components/tabs:public", "//components/user_education/webui", "//content/public/browser", "//content/public/common", "//extensions/buildflags", "//third_party/lens_server_proto:lens_overlay_proto", "//third_party/omnibox_proto", "//ui/base/interaction", "//ui/base/unowned_user_data", "//ui/shell_dialogs", "//ui/webui", "//ui/webui/resources/cr_components/composebox:mojo_bindings", "//ui/webui/resources/cr_components/help_bubble:mojo_bindings", "//url", ] if (is_android) { public_deps += [ "//chrome/browser/context_sharing/tab_bottom_sheet/android" ] } else { public_deps += [ "//chrome/browser/glic/browser_ui", "//chrome/browser/ui/side_panel:side_panel_views_dependent", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/views/bubble", "//chrome/browser/ui/views/page_info", "//chrome/browser/ui/views/permissions/chip", "//chrome/browser/ui/views/permissions/chip:impl", "//chrome/browser/ui/views/side_panel", ] } if (enable_guest_view && !enable_extensions_core) { public_deps += [ "//components/guest_view/browser/slim_web_view:page_handler" ] } } source_set("user_data") { sources = [ "contextual_tasks_web_contents_user_data.cc", "contextual_tasks_web_contents_user_data.h", ] deps = [ ":ui", "//base", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//components/contextual_search:public", "//components/omnibox/browser", "//content/public/browser", ] } source_set("ui_impl") { sources = [ "contextual_search_session_finder.cc", "contextual_search_session_finder.h", "contextual_tasks_composebox_handler.cc", "contextual_tasks_cookie_synchronizer.cc", "contextual_tasks_eligibility_manager.cc", "contextual_tasks_internals_page_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_base.cc", "contextual_tasks_ui_service.cc", "contextual_tasks_ui_service_factory.cc", "contextual_tasks_url_loader_factory_interceptor.cc", "contextual_tasks_url_loader_factory_interceptor.h", "contextual_tasks_window_tracker.cc", "contextual_tasks_window_tracker_manager.cc", "entry_point_eligibility_manager.cc", "guest_opener_user_data.cc", "guest_opener_user_data.h", ] deps = [ ":impl", ":ui", ":user_data", "//base", "//chrome/browser:browser_process", "//chrome/browser:global_features", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/companion/text_finder", "//chrome/browser/contextual_search", "//chrome/browser/devtools", "//chrome/browser/feature_engagement", "//chrome/browser/feedback:feedback_enum", "//chrome/browser/glic/browser_ui", "//chrome/browser/optimization_guide", "//chrome/browser/profiles:profile", "//chrome/browser/profiles:profile_manager", "//chrome/browser/resources/contextual_tasks:resources", "//chrome/browser/search_engines", "//chrome/browser/sessions", "//chrome/browser/signin", "//chrome/browser/tab_list", "//chrome/browser/ui", "//chrome/browser/ui:browser_element_identifiers", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/hats", "//chrome/browser/ui/navigator", "//chrome/browser/ui/omnibox", "//chrome/browser/ui/select_file_policy", "//chrome/browser/ui/tabs:tabs_public", "//chrome/browser/ui/webui:plural_string_handler", "//chrome/browser/ui/webui:webui_util", "//chrome/browser/ui/webui/cr_components/composebox", "//chrome/browser/ui/webui/cr_components/searchbox", "//chrome/browser/ui/webui/cr_components/searchbox:searchbox_impl", "//chrome/browser/ui/webui/new_tab_page/composebox/variations", "//chrome/browser/ui/webui/sanitized_image:sanitized_image_source", "//components/application_locale_storage", "//components/contextual_search:prefs", "//components/contextual_search:public", "//components/contextual_tasks/public:feature_list", "//components/embedder_support:user_agent", "//components/favicon_base", "//components/keyed_service/core", "//components/lens", "//components/omnibox/browser:mojo_bindings", "//components/omnibox/common:features", "//components/sessions", "//components/shared_highlighting/core/common", "//components/tabs:public", "//components/zoom", "//content/public/browser", "//extensions/buildflags", "//google_apis", "//net", "//pdf:buildflags", "//ui/webui:buildflags", "//ui/webui/tracked_element", ] if (is_android) { sources += [ "android/contextual_tasks_control_coordinator_android.cc", "android/contextual_tasks_control_coordinator_android.h", "android/contextual_tasks_panel_host_android.cc", "android/contextual_tasks_panel_host_desktop_android.cc", "android/contextual_tasks_toast.cc", ] deps += [ ":jni_headers", "//chrome/browser/android:tabs_public", "//chrome/browser/context_sharing/tab_bottom_sheet/android", "//chrome/browser/ui/side_panel:side_panel_ui_provider", "//chrome/browser/ui/side_panel/android", "//components/messages/android", ] } else { sources += [ "contextual_tasks_panel_host_desktop.cc", "contextual_tasks_web_view.cc", ] deps += [ "//chrome/browser/pdf", "//chrome/browser/resources/contextual_tasks:resources", "//chrome/browser/resources/webui_toolbar_shared:resources", "//chrome/browser/tab_list", "//chrome/browser/ui:browser_actions", "//chrome/browser/ui/interaction", "//chrome/browser/ui/lens", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/user_education", "//chrome/browser/ui/views/bubble", "//chrome/browser/ui/views/interaction", "//chrome/browser/ui/views/page_info", "//chrome/browser/ui/views/user_education", "//chrome/browser/ui/webui", "//chrome/browser/ui/webui/webui_toolbar:impl", "//components/contextual_tasks/public:feature_list", "//components/embedder_support:user_agent", "//services/network/public/cpp", "//services/network/public/mojom", "//third_party/blink/public/common:headers", "//third_party/lens_server_proto:lens_overlay_proto", "//third_party/protobuf:protobuf_lite", "//url", ] } if (enable_dice_support) { sources += [ "search_ai_mode_promo_tab_helper.cc" ] deps += [ "//chrome/browser/ui/views/search_ai_mode" ] } if (enable_webui_contextual_tasks_composebox) { # FaviconSource is only used under #if # ENABLE_WEBUI_CONTEXTUAL_TASKS_COMPOSEBOX. deps += [ "//chrome/browser/ui/webui:favicon_source" ] } if (enable_extensions_core) { deps += [ "//chrome/browser/resources/contextual_tasks/extension:resources" ] } if (enable_guest_view && !enable_extensions_core) { deps += [ "//chrome/browser/resources/guest_view_shared:resources", "//components/guest_view/browser/slim_web_view", ] } } source_set("mojom_traits") { sources = [ "contextual_tasks_mojom_traits.h", "contextual_tasks_types.h", ] public_deps = [ ":mojo_bindings_shared_cpp_sources", "//base", "//mojo/public/cpp/base:shared_typemap_traits", "//mojo/public/cpp/bindings", ] } mojom("mojo_bindings") { sources = [ "contextual_tasks.mojom", "contextual_tasks_internals.mojom", "contextual_tasks_toolbar.mojom", "contextual_tasks_types.mojom", ] webui_module_path = "/" public_deps = [ "//mojo/public/mojom/base", "//mojo/public/mojom/base:protobuf_support", "//ui/base/mojom", "//ui/webui/resources/cr_components/composebox:mojo_bindings", "//url/mojom:url_mojom_gurl", ] cpp_typemaps = [ { types = [ { mojom = "contextual_tasks.mojom.ContextualTaskId" cpp = "::contextual_tasks::ContextualTaskId" }, { mojom = "contextual_tasks.mojom.ContextualWindowId" cpp = "::contextual_tasks::ContextualWindowId" }, ] traits_headers = [ "contextual_tasks_mojom_traits.h" ] traits_public_deps = [ ":mojom_traits" ] }, ] } if (!is_android) { source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "aim_user_agent_tab_helper_browsertest.cc", "contextual_tasks_composebox_handler_browsertest.cc", "contextual_tasks_context_service_browsertest.cc", "contextual_tasks_extension_handler_browsertest.cc", "contextual_tasks_page_handler_browsertest.cc", "contextual_tasks_ui_browsertest.cc", "contextual_tasks_ui_service_browsertest.cc", "contextual_tasks_ui_service_pdf_browsertest.cc", "contextual_tasks_url_loader_factory_interceptor_browsertest.cc", ] deps = [ ":contextual_tasks", ":impl", ":test_support", ":ui", ":ui_impl", "//base", "//base/test:test_support", "//chrome/browser:browser_process", "//chrome/browser/optimization_guide", "//chrome/browser/optimization_guide:test_support", "//chrome/browser/page_content_annotations", "//chrome/browser/page_content_annotations:extraction_service", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//chrome/browser/tab_list", "//chrome/browser/ui", "//chrome/browser/ui/browser_window:create_browser_window", "//chrome/browser/ui/hats:test_support", "//chrome/browser/ui/lens", "//chrome/browser/ui/webui:webui_util", "//chrome/browser/ui/webui/searchbox:searchbox_test_utils", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//components/contextual_search:test_support", "//components/contextual_tasks/public:feature_list", "//components/contextual_tasks/public:test_support", "//components/embedder_support:user_agent", "//components/omnibox/browser:test_support", "//components/omnibox/common:features", "//components/optimization_guide/core:test_support", "//components/page_content_annotations/core", "//components/page_content_annotations/core:test_support", "//components/passage_embeddings/core", "//components/passage_embeddings/core:test_support", "//components/signin/public/base", "//components/signin/public/identity_manager", "//components/signin/public/identity_manager:test_support", "//components/tabs:test_support", "//content/test:test_support", "//google_apis", "//testing/gmock", "//testing/gtest", ] if (enable_dice_support) { sources += [ "search_ai_mode_promo_tab_helper_browsertest.cc" ] deps += [ "//chrome/browser/ui/views/search_ai_mode" ] } if (enable_pdf) { deps += [ "//chrome/browser/pdf:pdf_extension_test_base" ] } } } source_set("unit_tests") { testonly = true sources = [ "active_task_context_provider_impl_unittest.cc", "ai_mode_context_library_converter_unittest.cc", "contextual_tasks_auto_suggestion_manager_unittest.cc", "contextual_tasks_context_model_handler_unittest.cc", "contextual_tasks_context_multi_turn_model_handler_unittest.cc", "contextual_tasks_context_scoring_utils_unittest.cc", "contextual_tasks_context_service_factory_unittest.cc", "contextual_tasks_context_signal_utils_unittest.cc", "contextual_tasks_cookie_synchronizer_unittest.cc", "contextual_tasks_eligibility_manager_unittest.cc", "contextual_tasks_navigation_throttle_unittest.cc", "contextual_tasks_page_handler_unittest.cc", "contextual_tasks_service_factory_unittest.cc", "contextual_tasks_side_panel_coordinator_unittest.cc", "contextual_tasks_tab_visit_tracker_unittest.cc", "contextual_tasks_ui_service_test_base.cc", "contextual_tasks_ui_service_test_base.h", "contextual_tasks_ui_service_unittest.cc", "contextual_tasks_ui_unittest.cc", "contextual_tasks_window_tracker_manager_unittest.cc", "contextual_tasks_window_tracker_unittest.cc", "entry_point_eligibility_manager_unittest.cc", ] if (is_android) { sources += [ "android/contextual_tasks_bridge_unittest.cc" ] } else { sources += [ "contextual_tasks_panel_host_desktop_unittest.cc", "contextual_tasks_utils_unittest.cc", "contextual_tasks_web_contents_user_data_unittest.cc", ] } deps = [ ":contextual_tasks", ":impl", ":test_support", ":ui", ":ui_impl", ":user_data", "//base", "//base/test:test_support", "//chrome/browser:global_features", "//chrome/browser/autocomplete:aim_eligibility_service", "//chrome/browser/contextual_search", "//chrome/browser/optimization_guide", "//chrome/browser/optimization_guide:test_support", "//chrome/browser/search_engines", "//chrome/browser/sync", "//chrome/browser/tab_list", "//chrome/browser/tab_list:test_support", "//chrome/browser/ui:test_support", "//chrome/browser/ui/actions", "//chrome/browser/ui/actions:actions_headers", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/hats", "//chrome/browser/ui/side_panel:test_support", "//chrome/browser/ui/toolbar/pinned_toolbar", "//chrome/browser/ui/webui:webui_util", "//chrome/browser/ui/webui/cr_components/searchbox", "//chrome/test:test_support", "//components/application_locale_storage", "//components/contextual_search:prefs", "//components/contextual_search:public", "//components/contextual_search:test_support", "//components/contextual_tasks/public", "//components/contextual_tasks/public:test_support", "//components/omnibox/browser:test_support", "//components/omnibox/common:features", "//components/optimization_guide/core:test_support", "//components/optimization_guide/proto:optimization_guide_proto", "//components/page_content_annotations/content:page_embeddings", "//components/tabs:test_support", "//components/variations:test_support", "//content/test:test_support", "//services/network/public/cpp", "//testing/gmock", "//testing/gtest", "//third_party/lens_server_proto:lens_overlay_proto", "//ui/actions:actions_headers", "//ui/base/unowned_user_data", "//ui/webui:buildflags", ] if (!is_android) { deps += [ "//chrome/browser/ui:browser_actions", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/hats:test_support", "//chrome/browser/ui/lens", "//chrome/browser/ui/lens:test_support", "//chrome/browser/ui/tabs:tab_list_bridge", "//chrome/browser/ui/tabs:test_support", "//chrome/browser/ui/webui/searchbox:searchbox_test_utils", "//chrome/test/user_education:impl", "//components/omnibox/browser:test_support", "//components/passage_embeddings/core", "//services/network/public/cpp", ] } } source_set("interactive_ui_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [] if (!is_android) { sources += [ "contextual_tasks_interactive_uitest.cc", "contextual_tasks_side_panel_coordinator_interactive_uitest.cc", "contextual_tasks_ui_service_interactive_uitest.cc", ] } deps = [ ":contextual_tasks", ":impl", ":test_support", "//base", "//base/test:test_support", "//chrome/browser/tab_list", "//chrome/test:test_support", "//components/contextual_tasks/public", "//content/test:test_support", "//services/network/public/cpp", "//testing/gmock", "//testing/gtest", ] public_deps = [ "//components/omnibox/common:features" ] if (enable_dice_support) { sources += [ "search_ai_mode_promo_tab_helper_interactive_uitest.cc" ] deps += [ ":test_support", "//chrome/browser/ui/signin", "//chrome/browser/ui/views/search_ai_mode", ] } if (!is_android) { deps += [ ":ui", "//chrome/browser/tab_list", "//chrome/browser/ui/contextual_search", "//chrome/browser/ui/lens", "//chrome/browser/ui/lens:test_support", "//chrome/browser/ui/webui/searchbox:searchbox_test_utils", "//components/lens:enterprise_policy", ] } } if (is_android) { android_resources("java_resources") { deps = [ "//components/browser_ui/strings/android:browser_ui_strings_grd", "//components/browser_ui/styles/android:java_resources", "//components/strings:components_strings_grd", ] } android_library("utils_java") { srcjar_deps = [ ":utils_jni_headers" ] sources = [ "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTasksUtils.java" ] deps = [ "//base:features_java", "//chrome/browser/flags:java", "//components/embedder_support/android:util_java", "//content/public/android:content_java", "//third_party/jni_zero:jni_zero_java", "//url:gurl_java", ] } android_library("java") { srcjar_deps = [ ":jni_headers" ] resources_package = "org.chromium.chrome.browser.contextual_tasks" sources = [ "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTaskBottomSheetComponentProvider.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTaskBottomSheetContent.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTasksBridge.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ui/ContextualTasksControlCoordinator.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ui/ContextualTasksControlMediator.java", ] deps = [ ":java_resources", ":utils_java", "//base:base_java", "//base:supplier_java", "//build/android:build_java", "//chrome/browser/android/lifecycle:java", "//chrome/browser/context_sharing/tab_bottom_sheet/public/android:java", "//chrome/browser/feedback/android:factory_java", "//chrome/browser/feedback/android:java", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//chrome/browser/tab:java", "//chrome/browser/ui/android/omnibox:java", "//chrome/browser/ui/android/strings:ui_strings_grd", "//chrome/browser/ui/browser_window/public/android:java", "//chrome/browser/ui/messages/android:java", "//components/browser_ui/bottomsheet/android:java", "//components/browser_ui/styles/android:java", "//components/strings:components_strings_grd", "//content/public/android:content_java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", "//ui/android:ui_java", "//url:gurl_java", ] } generate_jni("jni_headers") { sources = [ "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTaskBottomSheetComponentProvider.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTasksBridge.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ui/ContextualTasksControlCoordinator.java", ] } generate_jni("utils_jni_headers") { sources = [ "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTasksUtils.java" ] } robolectric_library("junit") { sources = [ "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTasksBridgeUnitTest.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ContextualTasksUtilsUnitTest.java", "android/java/src/org/chromium/chrome/browser/contextual_tasks/ui/ContextualTasksControlCoordinatorUnitTest.java", ] deps = [ ":java", ":utils_java", "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", "//base:supplier_java", "//chrome/browser/android/lifecycle:java", "//chrome/browser/context_sharing/tab_bottom_sheet/public/android:java", "//chrome/browser/feedback/android:factory_java", "//chrome/browser/feedback/android:java", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//chrome/browser/tab:java", "//chrome/browser/ui/android/omnibox:java", "//chrome/browser/ui/browser_window/public/android:java", "//chrome/browser/ui/messages/android:java", "//components/browser_ui/styles/android:java", "//content/public/android:content_java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", "//third_party/junit", "//third_party/mockito:mockito_java", "//ui/android:ui_java", "//url:gurl_java", "//url:gurl_junit_test_support", ] } } source_set("test_support") { testonly = true sources = [ "mock_contextual_tasks_page.cc", "mock_contextual_tasks_page.h", "mock_contextual_tasks_panel_controller.cc", "mock_contextual_tasks_panel_controller.h", "mock_contextual_tasks_panel_host.cc", "mock_contextual_tasks_panel_host.h", "mock_contextual_tasks_ui_service.cc", "mock_contextual_tasks_ui_service.h", "mock_contextual_tasks_ui_service_delegate.cc", "mock_contextual_tasks_ui_service_delegate.h", ] deps = [ ":contextual_tasks", ":ui", "//base", "//components/contextual_search:public", "//components/contextual_tasks/public", "//testing/gmock", "//third_party/omnibox_proto", ] }