# Copyright 2020 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/features.gni")
assert(use_blink)
# This source set should contain only types and constants and no dependencies,
# for use in crosapi type mappings.
source_set("constants") {
sources = [
"install_result_code.cc",
"install_result_code.h",
"uninstall_result_code.cc",
"uninstall_result_code.h",
]
}
source_set("webapps_client") {
sources = [
"webapps_client.cc",
"webapps_client.h",
]
public_deps = [
"//base",
"//components/security_state/core",
"//components/webapps/common",
]
deps = [ "//components/segmentation_platform/public:public" ]
}
source_set("browser") {
sources = [
"banners/app_banner_manager.cc",
"banners/app_banner_manager.h",
"banners/app_banner_metrics.cc",
"banners/app_banner_metrics.h",
"banners/app_banner_settings_helper.cc",
"banners/app_banner_settings_helper.h",
"banners/install_banner_config.cc",
"banners/install_banner_config.h",
"banners/installable_web_app_check_result.h",
"banners/native_app_banner_data.cc",
"banners/native_app_banner_data.h",
"banners/web_app_banner_data.cc",
"banners/web_app_banner_data.h",
"features.cc",
"features.h",
"installable/installable_data.cc",
"installable/installable_data.h",
"installable/installable_data_fetcher.cc",
"installable/installable_data_fetcher.h",
"installable/installable_evaluator.cc",
"installable/installable_evaluator.h",
"installable/installable_icon_fetcher.cc",
"installable/installable_icon_fetcher.h",
"installable/installable_logging.cc",
"installable/installable_logging.h",
"installable/installable_manager.cc",
"installable/installable_manager.h",
"installable/installable_metrics.cc",
"installable/installable_metrics.h",
"installable/installable_page_data.cc",
"installable/installable_page_data.h",
"installable/installable_params.cc",
"installable/installable_params.h",
"installable/installable_task.cc",
"installable/installable_task.h",
"installable/installable_task_queue.cc",
"installable/installable_task_queue.h",
"installable/metrics/site_manifest_metrics_task.cc",
"installable/metrics/site_manifest_metrics_task.h",
"installable/metrics/site_quality_metrics_task.cc",
"installable/metrics/site_quality_metrics_task.h",
"installable/ml_install_operation_tracker.cc",
"installable/ml_install_operation_tracker.h",
"installable/ml_install_result_reporter.cc",
"installable/ml_install_result_reporter.h",
"installable/ml_installability_promoter.cc",
"installable/ml_installability_promoter.h",
"pwa_install_path_tracker.cc",
"pwa_install_path_tracker.h",
"web_contents/web_app_url_loader.cc",
"web_contents/web_app_url_loader.h",
]
deps = [
"//base",
"//build:android_buildflags",
"//components/back_forward_cache",
"//components/content_settings/core/browser",
"//components/favicon/content",
"//components/favicon/core",
"//components/favicon_base",
"//components/password_manager/content/common",
"//components/permissions",
"//components/security_state/core",
"//components/segmentation_platform/public:public",
"//components/site_engagement/content",
"//components/variations",
"//components/webapps/common",
"//components/webapps/common:mojo_bindings",
"//content/public/browser",
"//content/public/common",
"//net",
"//services/metrics/public/cpp:ukm_builders",
"//services/network/public/cpp",
"//skia",
"//third_party/blink/public/common",
"//third_party/blink/public/mojom:mojom_platform_headers",
"//url",
]
public_deps = [
":constants",
":webapps_client",
]
if (is_android) {
sources += [
"android/add_to_homescreen_coordinator.cc",
"android/add_to_homescreen_coordinator.h",
"android/add_to_homescreen_data_fetcher.cc",
"android/add_to_homescreen_data_fetcher.h",
"android/add_to_homescreen_installer.cc",
"android/add_to_homescreen_installer.h",
"android/add_to_homescreen_mediator.cc",
"android/add_to_homescreen_mediator.h",
"android/add_to_homescreen_params.cc",
"android/add_to_homescreen_params.h",
"android/ambient_badge_manager.cc",
"android/ambient_badge_manager.h",
"android/app_banner_manager_android.cc",
"android/app_banner_manager_android.h",
"android/bottomsheet/pwa_bottom_sheet_controller.cc",
"android/bottomsheet/pwa_bottom_sheet_controller.h",
"android/install_prompt_prefs.cc",
"android/install_prompt_prefs.h",
"android/installable/installable_ambient_badge_client.h",
"android/installable/installable_ambient_badge_message_controller.cc",
"android/installable/installable_ambient_badge_message_controller.h",
"android/pwa_universal_install_bottom_sheet_coordinator.cc",
"android/shortcut_info.cc",
"android/shortcut_info.h",
"android/webapk/webapk_icons_hasher.cc",
"android/webapk/webapk_icons_hasher.h",
"android/webapk/webapk_proto_builder.cc",
"android/webapk/webapk_proto_builder.h",
"android/webapk/webapk_single_icon_hasher.cc",
"android/webapk/webapk_single_icon_hasher.h",
"android/webapk/webapk_types.h",
"android/webapp_icon.cc",
"android/webapp_icon.h",
"android/webapps_icon_utils.cc",
"android/webapps_icon_utils.h",
"android/webapps_utils.cc",
"android/webapps_utils.h",
]
public_deps += [ "android:webapps_jni_headers" ]
deps += [
"//base",
"//components/dom_distiller/core",
"//components/feature_engagement",
"//components/messages/android",
"//components/messages/android:feature_flags",
"//components/prefs:prefs",
"//components/strings",
"//components/url_formatter",
"//components/version_info",
"//components/version_info/android:channel_getter",
"//components/webapk:proto",
"//components/webapps/common:mojo_bindings",
"//services/device/public/mojom",
"//third_party/smhasher:murmurhash2",
"//ui/android:android",
"//ui/base",
"//ui/gfx",
]
}
}
source_set("test_support") {
testonly = true
sources = [
"installable/fake_installable_manager.cc",
"installable/fake_installable_manager.h",
"test/service_worker_registration_waiter.cc",
"test/service_worker_registration_waiter.h",
]
deps = [
":browser",
"//base",
"//components/webapps/common:mojo_bindings",
"//content/test:test_support",
"//skia",
"//third_party/blink/public/common:headers",
"//third_party/blink/public/mojom:mojom_platform_headers",
"//url",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"banners/app_banner_settings_helper_unittest.cc",
"install_result_code_unittest.cc",
"installable/installable_evaluator_unittest.cc",
"installable/installable_task_queue_unittest.cc",
"pwa_install_path_tracker_unittest.cc",
"web_contents/web_app_url_loader_unittest.cc",
]
deps = [
":browser",
"//base",
"//base/test:test_support",
"//components/content_settings/core/browser",
"//components/permissions:test_support",
"//components/prefs:test_support",
"//components/site_engagement/content",
"//components/user_prefs",
"//content/public/browser",
"//content/public/common",
"//content/test:test_support",
"//testing/gtest",
"//third_party/blink/public/mojom:mojom_platform_headers",
]
if (is_ios) {
deps += [ "//components/test:webapps_test_bundle_data" ]
}
if (is_android) {
sources += [ "android/installable/installable_ambient_badge_message_controller_unittest.cc" ]
deps += [ "//components/messages/android:test_support" ]
}
}