# 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") import("//mojo/public/tools/bindings/mojom.gni") mojom("mojo_bindings") { sources = [ "skills.mojom" ] webui_module_path = "/" public_deps = [ "//components/skills/public:mojo_bindings", "//mojo/public/mojom/base", "//ui/base/mojom", "//url/mojom:url_mojom_gurl", ] } source_set("skills") { public = [ "skills_dialog_delegate.h", "skills_dialog_handler.h", "skills_dialog_view.h", "skills_navigation_throttle.h", "skills_page_handler.h", "skills_page_handler_v2.h", "skills_ui.h", ] sources = [ "skills_dialog_handler.cc", "skills_dialog_handler.h", "skills_dialog_view.cc", "skills_navigation_throttle.cc", "skills_page_handler.cc", "skills_page_handler_v2.cc", "skills_ui.cc", ] deps = [ ":mojo_bindings", "//base", "//chrome/app:generated_resources", "//chrome/browser:global_features", "//chrome/browser/glic", "//chrome/browser/optimization_guide", "//chrome/browser/profiles:profile", "//chrome/browser/profiles/keep_alive", "//chrome/browser/resources/skills:resources", "//chrome/browser/signin", "//chrome/browser/skills", "//chrome/browser/skills:public", "//chrome/browser/ui:ui_features", "//chrome/browser/ui/browser_window", "//chrome/browser/ui/toasts/api:toasts", "//chrome/browser/ui/webui", "//chrome/browser/ui/webui:chrome_web_contents_handler", "//chrome/browser/ui/webui/sanitized_image:sanitized_image_source", "//chrome/common", "//components/application_locale_storage", "//components/google/core/common", "//components/optimization_guide/proto:optimization_guide_proto", "//components/signin/public/identity_manager", "//components/skills:features", "//components/skills/public", "//components/skills/public:mojo_bindings", "//components/tabs:public", "//components/zoom", "//content/public/browser", "//mojo/public/cpp/bindings", "//ui/base", "//ui/base/interaction", "//ui/views", "//ui/views/controls/webview", "//ui/webui", ] if (!is_android) { deps += [ "//ui/web_dialogs" ] } } source_set("unit_tests") { testonly = true sources = [ "skills_dialog_handler_unittest.cc", "skills_navigation_throttle_unittest.cc", "skills_page_handler_unittest.cc", "skills_page_handler_v2_unittest.cc", ] deps = [ ":skills", "//chrome/browser/optimization_guide:test_support", "//chrome/browser/skills", "//chrome/browser/skills:public", "//chrome/test:test_support", "//components/optimization_guide/core:test_support", "//components/skills:features", "//components/skills/mocks", "//components/skills/public", "//components/skills/public:metrics", "//components/skills/public:mojo_bindings", "//components/tabs:test_support", "//content/public/browser", "//content/test:test_support", "//testing/gmock", "//testing/gtest", ] if (is_chromeos) { deps += [ "//chrome/browser/chromeos/policy/dlp", "//chrome/browser/chromeos/policy/dlp/test:test_support", ] } } if (!is_android) { source_set("interactive_ui_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] configs += [ "//build/config/compiler:no_exit_time_destructors" ] sources = [ "skills_page_interactive_uitest.cc" ] deps = [ ":skills", "//chrome/browser/glic", "//chrome/browser/optimization_guide", "//chrome/browser/profiles:profile", "//chrome/browser/signin", "//chrome/browser/skills", "//chrome/browser/sync", "//chrome/browser/ui/toasts", "//chrome/browser/ui/toasts/api:toasts", "//chrome/browser/ui/views/frame", "//chrome/common", "//chrome/test:test_support", "//components/keyed_service/content", "//components/signin/public/identity_manager", "//components/signin/public/identity_manager:test_support", "//components/skills:features", "//components/skills/internal", "//components/skills/public", "//components/skills/public:metrics", "//components/skills/public:mojo_bindings", "//components/sync/model", "//components/zoom", "//content/test:test_support", "//ui/base/interaction", "//ui/native_theme", ] } }