|  | # 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", | 
|  | "web_app_error_page_constants.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" ] | 
|  | } | 
|  |  | 
|  | 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", | 
|  | "image_visual_diff.cc", | 
|  | "image_visual_diff.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", | 
|  | "launch_queue/launch_params.cc", | 
|  | "launch_queue/launch_params.h", | 
|  | "launch_queue/launch_queue.cc", | 
|  | "launch_queue/launch_queue.h", | 
|  | "launch_queue/launch_queue_delegate.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", | 
|  | "//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", | 
|  | "//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", | 
|  | "//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", | 
|  | "image_visual_diff_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" ] | 
|  | } | 
|  | } |