# Copyright 2026 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//chrome/common/features.gni") source_set("skills") { sources = [ "skills_glic_mojom_util.cc", "skills_glic_mojom_util.h", "skills_metrics_provider.cc", "skills_metrics_provider.h", "skills_service_factory.cc", "skills_service_factory.h", ] public_deps = [ "//base", "//chrome/browser/glic:mojo_bindings", "//components/keyed_service/content", "//components/sync/protocol", ] deps = [ "//chrome/browser/optimization_guide", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//chrome/browser/sync:data_type_store_service_factory", "//chrome/common:channel_info", "//components/keyed_service/core", "//components/skills:features", "//components/skills/internal", "//components/skills/public", "//components/sync/model", ] } source_set("public") { sources = [ "skills_dialog_launcher.h", "skills_ui_tab_controller_interface.cc", "skills_ui_tab_controller_interface.h", ] deps = [ "//base", "//components/skills/public", "//components/skills/public:mojo_bindings", "//components/tabs:public", "//ui/base/unowned_user_data", ] if (!is_android) { sources += [ "skills_ui_window_controller.h" ] deps += [ "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//components/prefs", ] } } source_set("ui") { sources = [ "skills_dialog_launcher.cc", "skills_update_observer.cc", "skills_update_observer.h", ] if (!is_android) { sources += [ "skills_ui_tab_controller.cc", "skills_ui_tab_controller.h", "skills_ui_window_controller.cc", ] } public_deps = [ ":public", "//base", ] deps = [ ":skills", "//chrome/browser/glic", "//chrome/browser/glic:mojo_bindings", "//chrome/browser/optimization_guide", "//chrome/browser/profiles:profile", "//chrome/browser/ui/tabs:tabs_public", "//components/keyed_service/core", "//components/optimization_guide/core", "//components/skills:features", "//components/skills/proto", "//components/skills/public", "//components/skills/public:mojo_bindings", "//services/service_manager/public/cpp", "//ui/base/unowned_user_data", ] if (!is_android) { deps += [ "//chrome/browser/ui/browser_window", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//chrome/browser/ui/webui", "//chrome/browser/ui/webui/skills", "//components/constrained_window", "//components/prefs", "//components/web_modal", ] } } source_set("browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [] if (!is_android) { sources += [ "enterprise_skills_provider_browsertest.cc", "skills_api_functional_browsertest.cc", "skills_dialog_launcher_browsertest.cc", "skills_functional_browsertest.cc", "skills_functional_browsertest.h", "skills_ui_tab_controller_browsertest.cc", "skills_ui_window_controller_browsertest.cc", ] } deps = [ ":public", ":skills", ":ui", "//chrome/browser/glic", "//chrome/browser/glic/test_support", "//chrome/browser/ui", "//chrome/browser/ui/browser_window", "//chrome/test:test_support", "//components/skills:features", "//components/skills/internal", "//components/skills/public", "//components/skills/public:mojo_bindings", ] if (!is_android) { deps += [ "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//chrome/browser/ui/webui", "//chrome/browser/ui/webui/skills", ] } if (is_chromeos) { deps += [ "//chrome/browser/chromeos/policy/dlp", "//chrome/browser/chromeos/policy/dlp/test:test_support", ] } } source_set("interactive_ui_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [] if (!is_android) { sources += [ "skills_creation_interactive_uitest.cc", "skills_interactive_uitest_base.cc", "skills_interactive_uitest_base.h", "skills_invocation_interactive_uitest.cc", "skills_update_interactive_uitest.cc", ] } deps = [ ":browser_tests", ":public", ":skills", "//base/test:test_support", "//chrome/browser", "//chrome/browser/glic", "//chrome/browser/glic:mojo_bindings", "//chrome/browser/glic/test_support", "//chrome/browser/sync:factories", "//chrome/browser/ui/browser_window", "//chrome/test:test_support", "//components/skills:features", "//components/skills/internal", "//components/skills/public", "//testing/gmock", "//testing/gtest", ] if (!is_android) { deps += [ "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//chrome/browser/ui/webui/skills", ] } } source_set("unit_tests") { testonly = true sources = [ "skills_metrics_provider_unittest.cc", "skills_update_observer_unittest.cc", ] if (!is_android) { sources += [ "skills_ui_tab_controller_unittest.cc" ] } deps = [ ":skills", ":ui", "//base", "//base/test:test_support", "//chrome/browser/glic", "//chrome/browser/glic:mojo_bindings", "//chrome/browser/glic/test_support", "//chrome/browser/optimization_guide:test_support", "//chrome/browser/profiles:profile", "//chrome/test:test_support", "//components/keyed_service/core", "//components/skills:features", "//components/skills/mocks", "//components/skills/proto", "//components/skills/public", "//components/tabs:test_support", "//content/public/browser", "//content/test:test_support", "//testing/gmock", "//testing/gtest", "//ui/base/unowned_user_data", ] }