# 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/ozone.gni") import("//chrome/common/features.gni") # No absolute !is_android wrapper for the whole file. source_set("browser_ui") { sources = [ "glic_actor_nudge_controller.h", "glic_actor_task_icon_manager.h", "glic_actor_task_icon_manager_factory.h", "glic_nudge_controller.h", "glic_split_button_controller.h", "glic_split_button_delegate.h", "glic_tab_indicator_helper.h", ] public_deps = [ "//chrome/browser/actor", "//chrome/browser/actor/ui", "//chrome/browser/actor/ui/task_list_bubble:delegate", "//chrome/browser/glic", "//chrome/browser/glic:mojo_bindings", "//chrome/browser/tab_list", "//components/keyed_service/core", "//components/skills/public", "//ui/base/unowned_user_data", ] deps = [ "//base", "//chrome/browser/contextual_tasks", "//components/tabs:public", ] if (!is_android) { sources += [ "glic_iph_controller.h", "glic_selection_widget.h", "glic_vector_icon_manager.h", ] public_deps += [ "//chrome/browser/actor:types", "//components/actor/core:task_id", ] } else { sources += [ "glic_toast.h" ] deps += [ "//components/messages/android" ] } } source_set("impl") { sources = [ "glic_actor_nudge_controller.cc", "glic_actor_task_icon_manager.cc", "glic_actor_task_icon_manager_factory.cc", "glic_button_controller.cc", "glic_button_controller.h", "glic_nudge_controller.cc", "glic_nudge_controller_impl.cc", "glic_nudge_controller_impl.h", "glic_split_button_controller.cc", "glic_split_button_delegate.cc", "glic_tab_indicator_helper.cc", ] if (!is_android) { sources += [ "glic_iph_controller.cc", "glic_selection_widget.cc", "glic_vector_icon_manager.cc", ] } else { sources += [ "glic_split_button_delegate_android.cc", "glic_toast.cc", ] } deps = [ ":browser_ui", "//chrome/browser/actor/ui/task_list_bubble:controller", "//chrome/browser/contextual_tasks", "//chrome/browser/tab_list", "//chrome/browser/ui/call_to_action", "//components/contextual_tasks/public:feature_list", "//components/feature_engagement/public", ] if (!is_android) { deps += [ "//chrome/browser:primitives", "//chrome/browser/actor", "//chrome/browser/actor/ui", "//chrome/browser/glic", "//chrome/browser/profiles:profile", "//chrome/browser/themes", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/user_education", "//chrome/browser/ui/views/tabs/glic", "//chrome/browser/ui/views/toolbar", "//chrome/common:buildflags", "//chrome/common:chrome_features", "//components/constrained_window", "//components/omnibox/browser:vector_icons", "//components/prefs", "//content/public/browser", "//third_party/re2", "//ui/strings", "//ui/strings:ui_strings__strings_grit", ] } else { deps += [ "//chrome/browser/glic/android:jni_headers", "//components/messages/android", ] } public_deps = [ "//chrome/browser/glic" ] } if (!is_android) { source_set("glow_controller") { sources = [ "context_sharing_border_view_controller_impl.h" ] deps = [ ":glow", "//chrome/browser/actor/ui", "//chrome/browser/contextual_tasks", "//chrome/browser/glic", "//chrome/browser/themes", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/user_education", "//components/feature_engagement/public", ] } source_set("glow_controller_impl") { sources = [ "context_sharing_border_view_controller_impl.cc" ] deps = [ ":glow", ":glow_controller", "//chrome/browser/actor/ui", "//chrome/browser/glic", "//chrome/browser/themes", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/user_education", "//components/contextual_tasks/public:feature_list", "//components/feature_engagement/public", ] } } source_set("glow") { sources = [ "tab_underline_controller.h" ] deps = [ ":browser_ui", "//base", "//chrome/browser/contextual_tasks", "//components/tabs:public", ] if (!is_android) { sources += [ "animated_effect_view.h", "context_sharing_border_view.h", "context_sharing_border_view_controller.h", "tab_underline_view.h", ] deps += [ "//chrome/browser/themes", "//chrome/browser/ui/tabs:tab_strip", ] } } source_set("glow_impl") { sources = [ "tab_underline_controller.cc" ] deps = [ ":browser_ui", ":glow", "//chrome/browser/contextual_tasks", "//components/contextual_tasks/public:feature_list", ] if (!is_android) { sources += [ "animated_effect_view.cc", "context_sharing_border_view.cc", "tab_underline_view.cc", ] deps += [ "//chrome/browser/dictation", "//chrome/browser/glic/resources:browser_resources", "//chrome/browser/themes", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/tabs:tab_strip", ] } } if (!is_android) { source_set("unit_tests") { testonly = true sources = [ "glic_actor_task_icon_manager_unittest.cc", "glic_button_controller_unittest.cc", "glic_selection_widget_unittest.cc", ] deps = [ ":browser_ui", ":impl", "//base/test:test_support", "//chrome/browser", "//chrome/browser:global_features", "//chrome/browser/actor:test_support", "//chrome/browser/glic", "//chrome/browser/glic/test_support", "//chrome/browser/profiles:profile", "//chrome/browser/ui:ui_features", "//chrome/common:chrome_features", "//chrome/common:constants", "//chrome/test:test_support", "//components/prefs", "//components/signin/public/identity_manager:test_support", "//content/test:test_support", "//testing/gmock", "//testing/gtest", "//ui/gfx", ] if (is_chromeos) { deps += [ "//chrome/browser/ash/test:test_support" ] } } source_set("interactive_ui_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "context_sharing_border_view_interactive_uitest.cc", "glic_iph_controller_interactive_uitest.cc", "glic_nudge_controller_interactive_uitest.cc", "glic_tab_indicator_helper_interactive_uitest.cc", ] deps = [ ":browser_ui", ":glow", ":glow_controller", "//base", "//chrome/browser/actor", "//chrome/browser/actor:test_support", "//chrome/browser/actor/ui", "//chrome/browser/glic/actor:test_support", "//chrome/browser/glic/test_support", "//chrome/browser/ui", "//chrome/browser/ui:browser_element_identifiers", "//chrome/browser/ui/tabs/alert:tab_alert", "//chrome/browser/ui/views/frame", "//chrome/browser/ui/views/tabs/glic", "//chrome/browser/ui/views/tabs/tab", "//chrome/common:chrome_features", "//chrome/common:non_code_constants", "//chrome/test:test_support_ui", "//chrome/test/user_education:impl", "//content/test:test_support", "//testing/gmock", "//testing/gtest", "//ui/base:ozone_buildflags", "//ui/base:test_support", "//ui/compositor", "//ui/gfx", "//ui/gfx:gfx_switches", "//ui/views", "//ui/views:test_support", "//url", ] if (use_ozone) { deps += [ "//ui/ozone" ] } } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [ "tab_underline_view_browsertest.cc" ] deps = [ ":browser_ui", ":glow", "//base", "//chrome/browser/glic/test_support", "//chrome/browser/tab_list", "//chrome/browser/ui", "//chrome/browser/ui:browser_element_identifiers", "//chrome/browser/ui/tabs/alert:tab_alert", "//chrome/browser/ui/views/frame", "//chrome/browser/ui/views/tabs/tab", "//chrome/common:chrome_features", "//chrome/common:non_code_constants", "//chrome/test:test_support", "//components/tabs:public", "//content/test:test_support", "//testing/gmock", "//testing/gtest", "//ui/views", "//url", ] } } # !is_android