# Copyright 2023 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/browser/buildflags.gni") import("//extensions/buildflags/buildflags.gni") assert(!is_android) source_set("link_capturing") { sources = [ "apps_intent_picker_delegate.h", "link_capturing_tab_data.cc", "link_capturing_tab_data.h", ] if (is_mac) { sources += [ "mac_intent_picker_helpers.h", "mac_intent_picker_helpers.mm", ] } public_deps = [ "//components/apps/link_capturing" ] deps = [ "//base", "//chrome/browser/preloading/prefetch/no_state_prefetch", "//chrome/browser/profiles:profile", "//chrome/browser/web_applications", "//chrome/browser/web_applications:features", "//chrome/common:chrome_features", "//components/keep_alive_registry", "//components/page_load_metrics/browser", "//components/page_load_metrics/google/browser", "//components/webapps/common", "//components/webapps/isolated_web_apps:scheme", "//content/public/browser", "//third_party/abseil-cpp:absl", "//url", ] if (enable_extensions) { deps += [ "//extensions/common" ] } if (is_chromeos) { sources += [ "chromeos_apps_intent_picker_delegate.cc", "chromeos_apps_intent_picker_delegate.h", "chromeos_reimpl_navigation_capturing_throttle.cc", "chromeos_reimpl_navigation_capturing_throttle.h", "metrics/intent_handling_metrics.cc", "metrics/intent_handling_metrics.h", "navigation_capturing_settings_cros_impl.cc", "navigation_capturing_settings_cros_impl.h", ] deps += [ "//ash/webui/projector_app/public/cpp", "//chrome/browser/apps/app_service", "//chromeos/ash/experiences/arc", "//components/webapps/browser", ] # Needed only to allow circular includes. deps += [ "//chrome/browser/chromeos/arc" ] allow_circular_includes_from = [ "//chrome/browser/chromeos/arc" ] } else { sources += [ "enable_link_capturing_infobar_delegate.cc", "enable_link_capturing_infobar_delegate.h", "web_apps_intent_picker_delegate.cc", "web_apps_intent_picker_delegate.h", ] deps += [ "//chrome/app:generated_resources_grit", "//components/infobars/content", "//components/infobars/core", "//components/strings:components_strings_grit", "//components/vector_icons", ] } } source_set("test_support") { testonly = true sources = [ "link_capturing_feature_test_support.cc", "link_capturing_feature_test_support.h", ] deps = [ ":link_capturing", "//base/test:test_support", "//chrome/browser:test_support", "//chrome/browser/web_applications", "//chrome/browser/web_applications:features", "//chrome/common:chrome_features", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//components/webapps/common", "//content/test:test_support", "//testing/gtest", ] } source_set("unit_tests") { testonly = true sources = [] deps = [ ":link_capturing", "//base/test:test_support", "//chrome/browser/ui/views/toolbar", "//chrome/browser/web_applications:features", "//chrome/test:test_support", "//content/test:test_support", "//testing/gtest", "//ui/base", "//ui/display:test_support", "//url", ] if (is_chromeos) { sources += [ "metrics/intent_handling_metrics_unittest.cc" ] deps += [ "//chrome/browser/apps/app_service", "//components/prefs:test_support", ] } } # Browser tests which require an Ash process with App Service to be running. source_set("app_service_browser_tests") { testonly = true defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] sources = [] deps = [ ":link_capturing", ":test_support", "//chrome/browser/apps/app_service:app_registry_cache_waiter", "//chrome/browser/ui", "//chrome/browser/ui/tabs:tab_strip", "//chrome/browser/ui/web_applications", "//chrome/browser/web_applications", "//chrome/browser/web_applications:web_applications_browser_tests", "//chrome/browser/web_applications:web_applications_test_support", "//chrome/common:chrome_features", "//chrome/test:test_support", "//chrome/test:test_support_ui", "//components/web_package", "//components/web_package/test_support", "//components/webapps/services/web_app_origin_association/test:test_support", ] }