| # Copyright 2019 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Component for the core data structures and types used by App Service. Large |
| # parts of the codebase are dependent on this target (via |
| # //chromeos/crosapi/mojom), so this must have minimal deps to avoid circular |
| # chains. |
| component("app_types") { |
| output_name = "APP_TYPES" |
| sources = [ |
| "app.cc", |
| "app.h", |
| "app_launch_util.cc", |
| "app_launch_util.h", |
| "app_types.cc", |
| "app_types.h", |
| "capability_access.cc", |
| "capability_access.h", |
| "features.cc", |
| "features.h", |
| "icon_effects.h", |
| "icon_types.cc", |
| "icon_types.h", |
| "intent_filter.cc", |
| "intent_filter.h", |
| "menu.cc", |
| "menu.h", |
| "package_id.cc", |
| "package_id.h", |
| "permission.cc", |
| "permission.h", |
| "preferred_app.cc", |
| "preferred_app.h", |
| "run_on_os_login_types.cc", |
| "run_on_os_login_types.h", |
| "types_util.cc", |
| "types_util.h", |
| ] |
| |
| defines = [ "IS_APP_TYPES_IMPL" ] |
| |
| public_deps = [ |
| "//base", |
| "//components/services/app_service/public/protos", |
| ] |
| |
| deps = [ |
| ":macros", |
| "//third_party/abseil-cpp:absl", |
| "//ui/gfx", |
| "//url", |
| ] |
| } |
| |
| # This target is separate from //components/services/app_service because not all |
| # clients of App Service are allowed to have a dependency on //content. |
| if (is_chromeos) { |
| source_set("instance_update") { |
| sources = [ |
| "instance.cc", |
| "instance.h", |
| "instance_registry.cc", |
| "instance_registry.h", |
| "instance_update.cc", |
| "instance_update.h", |
| ] |
| deps = [ |
| ":macros", |
| "//ash/public/cpp", |
| "//content/public/browser", |
| "//skia", |
| "//ui/aura", |
| "//ui/compositor", |
| ] |
| } |
| } |
| |
| source_set("test_support") { |
| testonly = true |
| |
| sources = [ |
| "intent_test_util.cc", |
| "intent_test_util.h", |
| "stub_icon_loader.cc", |
| "stub_icon_loader.h", |
| ] |
| |
| deps = [ |
| ":app_types", |
| ":icon_loader", |
| ":intents", |
| "//skia", |
| "//third_party/abseil-cpp:absl", |
| "//ui/gfx", |
| ] |
| |
| public_deps = [] |
| |
| if (is_chromeos) { |
| sources += [ |
| "app_instance_waiter.cc", |
| "app_instance_waiter.h", |
| ] |
| public_deps += [ |
| ":instance_update", |
| "//base", |
| ] |
| } |
| } |
| |
| # The following targets are used for internal code organization, and are not |
| # exposed publicly. Clients should depend on "//components/services/app_service" |
| # instead of individual targets. New targets added below should also be added to |
| # public_deps on "//components/services/app_service" to make them available to |
| # clients. |
| |
| source_set("app_file_handling") { |
| sources = [ |
| "file_handler.cc", |
| "file_handler.h", |
| "file_handler_info.cc", |
| "file_handler_info.h", |
| ] |
| |
| public_deps = [ ":app_icon_info" ] |
| |
| deps = [ |
| "//base", |
| "//url", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("app_icon_info") { |
| sources = [ |
| "icon_info.cc", |
| "icon_info.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//url", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("app_share_target") { |
| sources = [ |
| "share_target.cc", |
| "share_target.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//url", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("macros") { |
| sources = [ "macros.h" ] |
| public_deps = [ "//base" ] |
| |
| # Not exported through //components/services/app_service, and only exposed to |
| # App Service code. |
| visibility = [ |
| "//chrome/browser/apps/app_service/*", |
| "//components/services/app_service/*", |
| ] |
| } |
| |
| component("app_update") { |
| output_name = "APP_UPDATE" |
| sources = [ |
| "app_capability_access_cache.cc", |
| "app_capability_access_cache.h", |
| "app_capability_access_cache_wrapper.cc", |
| "app_capability_access_cache_wrapper.h", |
| "app_registry_cache.cc", |
| "app_registry_cache.h", |
| "app_registry_cache_wrapper.cc", |
| "app_registry_cache_wrapper.h", |
| "app_update.cc", |
| "app_update.h", |
| "capability_access_update.cc", |
| "capability_access_update.h", |
| ] |
| |
| defines = [ "IS_APP_UPDATE_IMPL" ] |
| |
| public_deps = [ "//components/account_id" ] |
| |
| deps = [ |
| ":app_types", |
| ":intents", |
| ":macros", |
| "//ui/gfx", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("icon_loader") { |
| sources = [ |
| "icon_cache.cc", |
| "icon_cache.h", |
| "icon_coalescer.cc", |
| "icon_coalescer.h", |
| "icon_loader.cc", |
| "icon_loader.h", |
| ] |
| |
| deps = [ |
| ":app_types", |
| "//ui/gfx", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("intents") { |
| sources = [ |
| "intent.cc", |
| "intent.h", |
| "intent_filter_util.cc", |
| "intent_filter_util.h", |
| "intent_util.cc", |
| "intent_util.h", |
| ] |
| |
| deps = [ |
| ":app_types", |
| "//base", |
| "//third_party/blink/public/common", |
| "//url", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("protocol_handling") { |
| sources = [ |
| "protocol_handler_info.cc", |
| "protocol_handler_info.h", |
| ] |
| |
| deps = [ "//url" ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("preferred_apps") { |
| sources = [ |
| "preferred_apps_converter.cc", |
| "preferred_apps_converter.h", |
| "preferred_apps_impl.cc", |
| "preferred_apps_impl.h", |
| "preferred_apps_list.cc", |
| "preferred_apps_list.h", |
| "preferred_apps_list_handle.cc", |
| "preferred_apps_list_handle.h", |
| ] |
| |
| deps = [ |
| ":app_types", |
| ":intents", |
| "//base", |
| "//url", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("app_shortcut_image") { |
| sources = [ |
| "app_shortcut_image.cc", |
| "app_shortcut_image.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//cc/paint", |
| "//skia", |
| "//ui/gfx", |
| ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("crosapi_utils") { |
| sources = [ "crosapi_utils.h" ] |
| |
| visibility = [ "//components/services/app_service/*" ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| |
| sources = [ |
| "app_capability_access_cache_unittest.cc", |
| "app_capability_access_cache_wrapper_unittest.cc", |
| "app_registry_cache_unittest.cc", |
| "app_registry_cache_wrapper_unittest.cc", |
| "app_unittest.cc", |
| "app_update_unittest.cc", |
| "capability_access_update_unittest.cc", |
| "icon_cache_unittest.cc", |
| "icon_coalescer_unittest.cc", |
| "intent_filter_util_unittest.cc", |
| "intent_util_unittest.cc", |
| "package_id_unittest.cc", |
| "preferred_apps_converter_unittest.cc", |
| "preferred_apps_list_unittest.cc", |
| ] |
| |
| deps = [ |
| ":app_types", |
| ":app_update", |
| ":icon_loader", |
| ":intents", |
| ":preferred_apps", |
| ":test_support", |
| "//content/test:test_support", |
| "//testing/gtest", |
| ] |
| |
| if (is_chromeos) { |
| sources += [ |
| "icon_types_unittest.cc", |
| "instance_registry_unittest.cc", |
| "instance_unittest.cc", |
| "instance_update_unittest.cc", |
| "permission_unittest.cc", |
| "run_on_os_login_types_unittest.cc", |
| ] |
| |
| deps += [ |
| ":instance_update", |
| "//chrome/test:test_support", |
| "//components/services/app_service/public/cpp/shortcut:unit_tests", |
| ] |
| } |
| } |