| # 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/chromeos/ui_mode.gni") |
| |
| assert(!is_android) |
| |
| source_set("app_service") { |
| sources = [ |
| "app_icon/app_icon_factory.cc", |
| "app_icon/app_icon_factory.h", |
| "app_icon/app_icon_loader.cc", |
| "app_icon/app_icon_loader.h", |
| "app_icon/app_icon_source.cc", |
| "app_icon/app_icon_source.h", |
| "app_icon/app_icon_util.cc", |
| "app_icon/app_icon_util.h", |
| "app_icon/dip_px_util.cc", |
| "app_icon/dip_px_util.h", |
| "app_icon/icon_key_util.cc", |
| "app_icon/icon_key_util.h", |
| "app_service_proxy.h", |
| "app_service_proxy_factory.cc", |
| "app_service_proxy_factory.h", |
| "app_service_proxy_forward.h", |
| "browser_app_launcher.cc", |
| "browser_app_launcher.h", |
| "intent_util.cc", |
| "intent_util.h", |
| "launch_result_type.cc", |
| "launch_result_type.h", |
| "launch_utils.cc", |
| "launch_utils.h", |
| "metrics/app_service_metrics.cc", |
| "metrics/app_service_metrics.h", |
| "package_id.cc", |
| "package_id.h", |
| "paused_apps.cc", |
| "paused_apps.h", |
| "policy_util.cc", |
| "policy_util.h", |
| "publishers/app_publisher.cc", |
| "publishers/app_publisher.h", |
| "publishers/extension_apps_enable_flow.cc", |
| "publishers/extension_apps_enable_flow.h", |
| "publishers/extension_apps_util.cc", |
| "publishers/extension_apps_util.h", |
| "web_contents_app_id_utils.cc", |
| "web_contents_app_id_utils.h", |
| ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| public_deps = [ ":constants" ] |
| |
| deps = [ |
| "//base", |
| "//chrome/app/theme:chrome_unscaled_resources", |
| "//chrome/browser/apps:icon_standardizer", |
| "//chrome/browser/extensions", |
| "//chrome/browser/favicon", |
| "//chrome/browser/profiles", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/resources:app_icon_resources", |
| "//chrome/browser/ui/tabs:tab_enums", |
| "//chrome/browser/web_applications", |
| "//chrome/browser/web_applications/extensions", |
| "//components/app_constants", |
| "//components/crx_file", |
| "//components/favicon/core", |
| "//components/keyed_service/content", |
| "//components/services/app_service/public/cpp:app_types", |
| "//components/services/app_service/public/cpp:app_update", |
| "//components/services/app_service/public/cpp:icon_loader", |
| "//components/services/app_service/public/cpp:icon_types", |
| "//components/services/app_service/public/cpp:intents", |
| "//components/services/app_service/public/cpp:preferred_apps", |
| "//components/services/app_service/public/cpp:types", |
| "//extensions/browser", |
| "//extensions/common", |
| ] |
| |
| # TODO(crbug.com/1402145): Remove circular dependencies. Possibly flip |
| # dependency direction so AppService doesn't depend on extensions |
| # (crbug.com/1402146). |
| allow_circular_includes_from = [ |
| "//chrome/browser/extensions", |
| "//chrome/browser/web_applications/extensions", |
| ] |
| |
| if (is_chromeos) { |
| sources += [ |
| "app_notifications.cc", |
| "app_notifications.h", |
| "app_web_contents_data.cc", |
| "app_web_contents_data.h", |
| "browser_app_instance.cc", |
| "browser_app_instance.h", |
| "browser_app_instance_map.h", |
| "browser_app_instance_observer.cc", |
| "browser_app_instance_observer.h", |
| "browser_app_instance_tracker.cc", |
| "browser_app_instance_tracker.h", |
| "extension_apps_utils.cc", |
| "extension_apps_utils.h", |
| "media_requests.cc", |
| "media_requests.h", |
| "menu_item_constants.h", |
| "webapk/webapk_utils.cc", |
| "webapk/webapk_utils.h", |
| ] |
| |
| deps += [ |
| "//ash/webui/projector_app/public/cpp", |
| "//chromeos/crosapi/mojom", |
| "//chromeos/startup", |
| "//components/webapk:proto", |
| "//third_party/smhasher:murmurhash2", |
| "//ui/views", |
| "//ui/wm/public", |
| ] |
| } |
| |
| if (is_chromeos_ash) { |
| sources += [ |
| "app_icon/app_icon_decoder.cc", |
| "app_icon/app_icon_decoder.h", |
| "app_icon/app_icon_reader.cc", |
| "app_icon/app_icon_reader.h", |
| "app_icon/app_icon_writer.cc", |
| "app_icon/app_icon_writer.h", |
| "app_icon/arc_activity_adaptive_icon_impl.cc", |
| "app_icon/arc_activity_adaptive_icon_impl.h", |
| "app_icon/arc_icon_once_loader.cc", |
| "app_icon/arc_icon_once_loader.h", |
| "app_service_proxy_ash.cc", |
| "app_service_proxy_ash.h", |
| "app_shortcut_item.cc", |
| "app_shortcut_item.h", |
| "browser_app_instance_registry.cc", |
| "browser_app_instance_registry.h", |
| "file_utils.cc", |
| "file_utils.h", |
| "instance_registry_updater.cc", |
| "instance_registry_updater.h", |
| "menu_util.cc", |
| "menu_util.h", |
| "metrics/app_discovery_metrics.cc", |
| "metrics/app_discovery_metrics.h", |
| "metrics/app_platform_input_metrics.cc", |
| "metrics/app_platform_input_metrics.h", |
| "metrics/app_platform_metrics.cc", |
| "metrics/app_platform_metrics.h", |
| "metrics/app_platform_metrics_service.cc", |
| "metrics/app_platform_metrics_service.h", |
| "metrics/app_platform_metrics_utils.cc", |
| "metrics/app_platform_metrics_utils.h", |
| "metrics/browser_to_tab_list.cc", |
| "metrics/browser_to_tab_list.h", |
| "metrics/website_metrics.cc", |
| "metrics/website_metrics.h", |
| "promise_apps/promise_app.cc", |
| "promise_apps/promise_app.h", |
| "promise_apps/promise_app_almanac_connector.cc", |
| "promise_apps/promise_app_almanac_connector.h", |
| "promise_apps/promise_app_registry_cache.cc", |
| "promise_apps/promise_app_registry_cache.h", |
| "promise_apps/promise_app_service.cc", |
| "promise_apps/promise_app_service.h", |
| "promise_apps/promise_app_update.cc", |
| "promise_apps/promise_app_update.h", |
| "promise_apps/promise_app_wrapper.cc", |
| "promise_apps/promise_app_wrapper.h", |
| "publishers/arc_apps.cc", |
| "publishers/arc_apps.h", |
| "publishers/arc_apps_factory.cc", |
| "publishers/arc_apps_factory.h", |
| "publishers/borealis_apps.cc", |
| "publishers/borealis_apps.h", |
| "publishers/bruschetta_apps.cc", |
| "publishers/bruschetta_apps.h", |
| "publishers/built_in_chromeos_apps.cc", |
| "publishers/built_in_chromeos_apps.h", |
| "publishers/crostini_apps.cc", |
| "publishers/crostini_apps.h", |
| "publishers/extension_apps_chromeos.cc", |
| "publishers/extension_apps_chromeos.h", |
| "publishers/guest_os_apps.cc", |
| "publishers/guest_os_apps.h", |
| "publishers/plugin_vm_apps.cc", |
| "publishers/plugin_vm_apps.h", |
| "publishers/remote_apps.cc", |
| "publishers/remote_apps.h", |
| "publishers/standalone_browser_apps.cc", |
| "publishers/standalone_browser_apps.h", |
| "publishers/standalone_browser_extension_apps.cc", |
| "publishers/standalone_browser_extension_apps.h", |
| "publishers/standalone_browser_extension_apps_factory.cc", |
| "publishers/standalone_browser_extension_apps_factory.h", |
| "publishers/web_apps_crosapi.cc", |
| "publishers/web_apps_crosapi.h", |
| "publishers/web_apps_crosapi_factory.cc", |
| "publishers/web_apps_crosapi_factory.h", |
| "subscriber_crosapi.cc", |
| "subscriber_crosapi.h", |
| "subscriber_crosapi_factory.cc", |
| "subscriber_crosapi_factory.h", |
| "uninstall_dialog.cc", |
| "uninstall_dialog.h", |
| "webapk/webapk_install_queue.cc", |
| "webapk/webapk_install_queue.h", |
| "webapk/webapk_install_task.cc", |
| "webapk/webapk_install_task.h", |
| "webapk/webapk_manager.cc", |
| "webapk/webapk_manager.h", |
| "webapk/webapk_metrics.cc", |
| "webapk/webapk_metrics.h", |
| "webapk/webapk_prefs.cc", |
| "webapk/webapk_prefs.h", |
| ] |
| |
| deps += [ |
| "//ash", |
| "//ash/components/arc", |
| "//ash/components/arc:arc_base", |
| "//ash/components/arc:arc_base_utils", |
| "//ash/components/arc:arc_metrics_constants", |
| "//ash/components/arc/mojom", |
| "//ash/components/arc/session", |
| "//ash/components/arc/session:connection_holder", |
| "//ash/public/cpp", |
| "//ash/webui/system_apps/public:system_web_app_type", |
| "//chrome/browser:browser_process", |
| "//chrome/browser/apps/almanac_api_client", |
| "//chrome/browser/apps/app_service/promise_apps/proto", |
| "//chrome/browser/ash/crosapi", |
| "//chrome/browser/ash/system_web_apps", |
| "//chrome/browser/ash/system_web_apps/types", |
| "//chrome/browser/image_decoder", |
| "//chrome/browser/metrics/structured:features", |
| "//chrome/browser/resources", |
| "//chromeos/ash/components/login/login_state", |
| "//components/app_restore", |
| "//components/arc", |
| "//components/arc/common", |
| "//components/arc/common:arc_intent_helper_constants", |
| "//components/exo", |
| "//components/metrics/structured:structured_events", |
| "//components/resources:components_resources", |
| "//components/services/app_service/public/cpp:crosapi_utils", |
| "//components/services/app_service/public/cpp:instance_update", |
| "//components/services/app_service/public/cpp:macros", |
| "//components/ukm", |
| "//components/webapps/browser", |
| "//services/metrics/public/cpp:ukm_builders", |
| ] |
| |
| # TODO(crbug.com/1402145): Remove circular dependencies. |
| allow_circular_includes_from += [ "//chrome/browser/ash/crosapi" ] |
| } |
| |
| if (is_chromeos_lacros) { |
| sources += [ |
| "app_service_proxy_lacros.cc", |
| "app_service_proxy_lacros.h", |
| "browser_app_instance_forwarder.cc", |
| "browser_app_instance_forwarder.h", |
| "metrics/website_metrics.cc", |
| "metrics/website_metrics.h", |
| "metrics/website_metrics_service_lacros.cc", |
| "metrics/website_metrics_service_lacros.h", |
| ] |
| |
| deps += [ |
| "//chromeos/lacros", |
| "//components/keep_alive_registry", |
| "//components/webapps/browser", |
| "//services/metrics/public/cpp:ukm_builders", |
| "//ui/wm", |
| ] |
| } |
| |
| if (!is_chromeos) { |
| sources += [ |
| "app_service_proxy_desktop.cc", |
| "app_service_proxy_desktop.h", |
| ] |
| |
| deps += [ "//components/services/app_service/public/cpp:run_on_os_login" ] |
| } |
| |
| if (!is_chromeos_lacros) { |
| sources += [ |
| # TODO(crbug.com/1402872): Make this safe to include in lacros by removing |
| # redefinition of types in app_service_proxy_lacros. |
| "app_service_proxy_base.cc", |
| "app_service_proxy_base.h", |
| "publisher_host.cc", |
| "publisher_host.h", |
| "publishers/extension_apps.cc", |
| "publishers/extension_apps.h", |
| "publishers/extension_apps_base.cc", |
| "publishers/extension_apps_base.h", |
| ] |
| |
| deps += [ "//components/services/app_service/public/cpp:preferred_app" ] |
| } |
| } |
| |
| source_set("constants") { |
| sources = [ |
| "app_launch_params.cc", |
| "app_launch_params.h", |
| ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| deps = [ |
| "//base", |
| "//components/services/app_service/public/cpp:app_types", |
| "//components/services/app_service/public/cpp:intents", |
| "//ui/base:types", |
| "//ui/display/types", |
| "//ui/gfx/geometry", |
| "//url", |
| ] |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| sources = [ |
| "app_service_test.cc", |
| "app_service_test.h", |
| ] |
| |
| public_deps = [ ":app_service" ] |
| |
| deps = [ |
| "//build:chromeos_buildflags", |
| "//chrome/test:test_support", |
| "//components/services/app_service/public/cpp:app_types", |
| "//components/services/app_service/public/cpp:icon_types", |
| "//components/services/app_service/public/cpp:run_on_os_login", |
| "//skia", |
| ] |
| |
| if (is_chromeos_ash) { |
| sources += [ |
| "webapk/webapk_test_server.cc", |
| "webapk/webapk_test_server.h", |
| ] |
| |
| deps += [ "//components/webapk:proto" ] |
| } |
| } |