| # Copyright 2015 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/buildflag_header.gni") |
| import("//build/config/ui.gni") |
| import("//chromecast/chromecast.gni") |
| import("//media/media_options.gni") |
| import("//mojo/public/tools/bindings/mojom.gni") |
| import("//testing/test.gni") |
| import("//tools/grit/grit_rule.gni") |
| |
| assert(!is_fuchsia) |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| } |
| |
| group("prefs") { |
| public_deps = [ |
| ":prefs_base", |
| ":prefs_simple", |
| ] |
| } |
| |
| cast_source_set("prefs_base") { |
| sources = [ |
| "pref_service_helper.cc", |
| "pref_service_helper.h", |
| ] |
| |
| public_deps = [ "//components/prefs" ] |
| |
| deps = [ |
| "//base", |
| "//chromecast:chromecast_buildflags", |
| "//chromecast/base", |
| ] |
| |
| if (enable_media_drm_storage) { |
| deps += [ "//components/cdm/browser" ] |
| } |
| } |
| |
| cast_source_set("prefs_simple") { |
| sources = [ "pref_service_helper_simple.cc" ] |
| |
| public_deps = [ ":prefs_base" ] |
| } |
| |
| cast_source_set("feature_list") { |
| sources = [ |
| "cast_feature_list_creator.cc", |
| "cast_feature_list_creator.h", |
| ] |
| deps = [ |
| ":prefs", |
| "//base", |
| "//chromecast/base", |
| "//chromecast/browser/metrics", |
| "//components/prefs", |
| "//components/proxy_config", |
| ] |
| } |
| |
| cast_source_set("web_preferences") { |
| sources = [ |
| "cast_web_preferences.cc", |
| "cast_web_preferences.h", |
| ] |
| deps = [ |
| "//base", |
| "//content/public/common", |
| ] |
| } |
| |
| cast_source_set("named_message_port_connector_cast") { |
| sources = [ |
| "named_message_port_connector_cast.cc", |
| "named_message_port_connector_cast.h", |
| ] |
| |
| public_deps = [ ":client" ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/browser:public", |
| "//components/cast/message_port:blink_message_port_adapter", |
| "//components/cast/message_port:message_port_cast", |
| "//components/cast/named_message_port_connector", |
| "//components/on_load_script_injector/browser", |
| ] |
| } |
| |
| cast_source_set("browser") { |
| sources = [ |
| "application_media_info_manager.cc", |
| "application_media_info_manager.h", |
| "audio_socket_broker.cc", |
| "audio_socket_broker.h", |
| "bluetooth/cast_bluetooth_chooser.cc", |
| "bluetooth/cast_bluetooth_chooser.h", |
| "cast_browser_context.cc", |
| "cast_browser_context.h", |
| "cast_browser_interface_binders.cc", |
| "cast_browser_interface_binders.h", |
| "cast_browser_main_parts.cc", |
| "cast_browser_main_parts.h", |
| "cast_browser_process.cc", |
| "cast_browser_process.h", |
| "cast_content_browser_client.cc", |
| "cast_content_browser_client.h", |
| "cast_content_browser_client_receiver_bindings.cc", |
| "cast_content_gesture_handler.cc", |
| "cast_content_gesture_handler.h", |
| "cast_download_manager_delegate.cc", |
| "cast_download_manager_delegate.h", |
| "cast_feature_update_observer.cc", |
| "cast_feature_update_observer.h", |
| "cast_http_user_agent_settings.cc", |
| "cast_http_user_agent_settings.h", |
| "cast_media_blocker.cc", |
| "cast_media_blocker.h", |
| "cast_navigation_ui_data.cc", |
| "cast_navigation_ui_data.h", |
| "cast_network_contexts.cc", |
| "cast_network_contexts.h", |
| "cast_overlay_manifests.cc", |
| "cast_overlay_manifests.h", |
| "cast_permission_manager.cc", |
| "cast_permission_manager.h", |
| "cast_permission_user_data.cc", |
| "cast_permission_user_data.h", |
| "cast_renderer_block_data.cc", |
| "cast_renderer_block_data.h", |
| "cast_session_id_map.cc", |
| "cast_session_id_map.h", |
| "cast_system_memory_pressure_evaluator_adjuster.cc", |
| "cast_system_memory_pressure_evaluator_adjuster.h", |
| "cast_web_contents_impl.cc", |
| "cast_web_contents_impl.h", |
| "cast_web_service.cc", |
| "cast_web_service.h", |
| "cast_web_view_default.cc", |
| "cast_web_view_default.h", |
| "cast_web_view_factory.cc", |
| "cast_web_view_factory.h", |
| "default_navigation_throttle.cc", |
| "default_navigation_throttle.h", |
| "devtools/cast_devtools_manager_delegate.cc", |
| "devtools/cast_devtools_manager_delegate.h", |
| "devtools/remote_debugging_server.cc", |
| "devtools/remote_debugging_server.h", |
| "general_audience_browsing_navigation_throttle.cc", |
| "general_audience_browsing_navigation_throttle.h", |
| "general_audience_browsing_service.cc", |
| "general_audience_browsing_service.h", |
| "lru_renderer_cache.cc", |
| "lru_renderer_cache.h", |
| "media/media_caps_impl.cc", |
| "media/media_caps_impl.h", |
| "media/supported_codec_finder.cc", |
| "media/supported_codec_finder.h", |
| "metrics/metrics_helper_impl.cc", |
| "metrics/metrics_helper_impl.h", |
| "renderer_prelauncher.cc", |
| "renderer_prelauncher.h", |
| "service/cast_service_simple.cc", |
| "service/cast_service_simple.h", |
| "service_connector.cc", |
| "service_connector.h", |
| "service_manager_connection.cc", |
| "service_manager_connection.h", |
| "service_manager_context.cc", |
| "service_manager_context.h", |
| "system_connector.cc", |
| "system_connector.h", |
| "webui/cast_resource_data_source.cc", |
| "webui/cast_resource_data_source.h", |
| "webui/cast_webui.cc", |
| "webui/cast_webui.h", |
| "webui/cast_webui_controller_factory.cc", |
| "webui/cast_webui_controller_factory.h", |
| "webui/cast_webui_default.cc", |
| "webui/cast_webui_message_handler.cc", |
| "webui/cast_webui_message_handler.h", |
| "webui/constants.cc", |
| "webui/constants.h", |
| ] |
| |
| public_deps = [ |
| ":client", |
| ":feature_list", |
| ":prefs", |
| ":public", |
| "//chromecast/browser/metrics", |
| "//chromecast/browser/mojom", |
| "//chromecast/common/mojom", |
| "//chromecast/metrics", |
| "//chromecast/mojo", |
| "//components/media_control/mojom", |
| ] |
| |
| deps = [ |
| ":named_message_port_connector_cast", |
| ":web_preferences", |
| "//base", |
| "//base:i18n", |
| "//cc", |
| "//chromecast:chromecast_buildflags", |
| "//chromecast/activity", |
| "//chromecast/app:cast_crash_client", |
| "//chromecast/app:chromecast_settings", |
| "//chromecast/app:resources", |
| "//chromecast/base", |
| "//chromecast/base:cast_sys_info_util", |
| "//chromecast/base:cast_version", |
| "//chromecast/bindings/public/mojom", |
| "//chromecast/browser/bluetooth/public/mojom", |
| "//chromecast/browser/general_audience_browsing/mojom", |
| "//chromecast/browser/webui/mojom", |
| "//chromecast/common", |
| "//chromecast/common:activity_url_filter", |
| "//chromecast/common:cors_exempt_headers", |
| "//chromecast/common:queryable_data", |
| "//chromecast/common/media", |
| "//chromecast/external_mojo/broker_service", |
| "//chromecast/external_mojo/external_service_support:external_service", |
| "//chromecast/external_mojo/external_service_support:util", |
| "//chromecast/external_mojo/public/cpp:common", |
| "//chromecast/graphics", |
| "//chromecast/media", |
| "//chromecast/media:libcast_media", |
| "//chromecast/media/audio", |
| "//chromecast/media/audio:audio_io_thread", |
| "//chromecast/media/audio/audio_output_service:constants", |
| "//chromecast/media/base:media_codec_support", |
| "//chromecast/media/base:video_plane_controller", |
| "//chromecast/media/cdm:cdm_origin_provider", |
| "//chromecast/media/common:media_pipeline_backend_manager", |
| "//chromecast/media/service", |
| "//chromecast/media/service/mojom", |
| "//chromecast/net", |
| "//chromecast/net:connectivity_checker", |
| "//chromecast/net:socket_util", |
| "//chromecast/service", |
| "//chromecast/ui:display_settings_manager", |
| "//chromecast/ui:display_settings_public", |
| "//components/cast/message_port:blink_message_port_adapter", |
| "//components/cast/message_port:message_port_cast", |
| "//components/cast_receiver/browser:permissions_manager", |
| "//components/download/public/common:public", |
| "//components/heap_profiling/multi_process", |
| "//components/media_control/browser", |
| "//components/memory_pressure", |
| "//components/metrics", |
| "//components/metrics:content", |
| "//components/metrics:net", |
| "//components/on_load_script_injector/browser", |
| "//components/profile_metrics", |
| "//components/variations/net", |
| |
| # TODO(gfhuang): Eliminate this dependency if ScreenInfoMetricsProvider |
| # isn't needed. crbug.com/541577 |
| "//components/metrics:ui", |
| "//components/network_hints/browser", |
| "//components/network_session_configurator/common", |
| "//components/policy/core/browser", |
| "//components/prefs", |
| "//components/proxy_config", |
| "//components/safe_search_api", |
| "//components/safe_search_api:safe_search_client", |
| "//components/services/heap_profiling", |
| "//components/services/heap_profiling/public/cpp", |
| "//components/services/heap_profiling/public/mojom", |
| "//components/url_matcher", |
| "//components/url_rewrite/browser", |
| "//components/url_rewrite/common", |
| "//components/url_rewrite/mojom", |
| "//components/viz/service", |
| "//content/public/browser", |
| "//content/public/common", |
| "//device/bluetooth", |
| "//gpu", |
| "//ipc", |
| "//media", |
| "//media/gpu:buildflags", |
| "//media/mojo:buildflags", |
| "//media/mojo/mojom", |
| "//media/mojo/mojom:remoting", |
| "//media/mojo/services", |
| "//mojo/public/cpp/bindings", |
| "//mojo/public/cpp/platform", |
| "//net", |
| "//services/cert_verifier/public/mojom", |
| "//services/media_session/public/mojom", |
| "//services/metrics/public/cpp:metrics_cpp", |
| "//services/network/public/mojom", |
| "//services/service_manager", |
| "//services/service_manager/public/cpp", |
| "//third_party/blink/public/common", |
| "//ui/base", |
| "//ui/compositor", |
| "//ui/display", |
| "//ui/events", |
| "//ui/events/devices", |
| "//ui/gl", |
| ] |
| |
| if (enable_media_drm_storage) { |
| deps += [ "//components/cdm/browser" ] |
| } |
| |
| if (is_android) { |
| sources += [ |
| "android/cast_content_window_android.cc", |
| "android/cast_content_window_android.h", |
| "android/cast_metrics_helper_android.cc", |
| "android/cast_web_service_android.cc", |
| ] |
| deps += [ |
| "//chromecast/browser/android:jni_headers", |
| "//components/embedder_support/android:view", |
| ] |
| } else { |
| deps += [ ":display_configurator" ] |
| } |
| |
| if (is_linux || is_chromeos) { |
| sources += [ |
| "cast_system_memory_pressure_evaluator.cc", |
| "cast_system_memory_pressure_evaluator.h", |
| "memory_pressure_controller_impl.cc", |
| "memory_pressure_controller_impl.h", |
| ] |
| |
| deps += [ "//third_party/fontconfig" ] |
| } |
| |
| if (use_aura) { |
| sources += [ |
| "cast_content_window_aura.cc", |
| "cast_content_window_aura.h", |
| "cast_web_service_aura.cc", |
| "display_configurator_observer.cc", |
| "display_configurator_observer.h", |
| ] |
| |
| deps += [ |
| "//ui/aura", |
| "//ui/views:views", |
| ] |
| |
| if (!is_fuchsia) { |
| sources += [ |
| "devtools/cast_ui_devtools.cc", |
| "devtools/cast_ui_devtools.h", |
| ] |
| |
| deps += [ |
| "//components/ui_devtools", |
| "//components/ui_devtools/views", |
| ] |
| } |
| } |
| |
| if (!is_fuchsia) { |
| # TODO(crbug.com/40188745): Complete crash reporting integration on Fuchsia. |
| deps += [ |
| "//components/crash/content/browser", |
| "//components/crash/core/app", |
| ] |
| } |
| |
| if (use_ozone) { |
| deps += [ "//ui/ozone" ] |
| } |
| |
| if (enable_external_mojo_services) { |
| deps += [ "//chromecast/external_mojo/broker_service" ] |
| } |
| |
| configs += [ "//media/audio:platform_config" ] |
| } |
| |
| cast_source_set("display_configurator") { |
| sources = [ |
| "cast_display_configurator.cc", |
| "cast_display_configurator.h", |
| "cast_touch_device_manager.cc", |
| "cast_touch_device_manager.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast:chromecast_buildflags", |
| "//chromecast/base", |
| "//chromecast/graphics", |
| "//chromecast/public", |
| "//ui/display", |
| "//ui/events/devices", |
| "//ui/gfx/geometry", |
| ] |
| |
| if (use_ozone) { |
| deps += [ "//ui/ozone" ] |
| } |
| |
| public_configs = [ "//skia:skia_config" ] |
| } |
| |
| cast_source_set("simple_main_parts") { |
| sources = [ "cast_browser_main_parts_simple.cc" ] |
| |
| public_deps = [ ":browser" ] |
| } |
| |
| cast_source_set("base_types") { |
| public = [ |
| "visibility_types.h", |
| "web_types.h", |
| ] |
| |
| sources = [ "web_types.cc" ] |
| } |
| |
| # Lightweight target for Cast interfaces that wrap //content/public/browser. |
| # This target should only include interfaces which are required for unit tests. |
| cast_source_set("public") { |
| sources = [ |
| "cast_content_window.cc", |
| "cast_content_window.h", |
| "cast_web_contents.cc", |
| "cast_web_contents.h", |
| "cast_web_view.cc", |
| "cast_web_view.h", |
| "gesture_router.cc", |
| "gesture_router.h", |
| ] |
| |
| # Need to expose this so that internal public_configs are propagated. |
| public_deps = [ |
| ":base_types", |
| ":client", |
| "//chromecast/browser/mojom", |
| "//chromecast/common/mojom", |
| "//chromecast/mojo", |
| "//content/public/browser", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/bindings/public/mojom", |
| "//chromecast/graphics", |
| "//chromecast/ui:back_gesture_router", |
| "//chromecast/ui/mojom", |
| "//content/public/browser", |
| "//content/public/common", |
| "//mojo/public/cpp/bindings", |
| "//ui/events", |
| "//url", |
| ] |
| } |
| |
| cast_source_set("client") { |
| public = [ |
| "application_media_capabilities.h", |
| "cast_web_contents_observer.h", |
| ] |
| sources = [ |
| "application_media_capabilities.cc", |
| "cast_web_contents_observer.cc", |
| ] |
| |
| public_deps = [ |
| ":base_types", |
| "//base", |
| "//chromecast/browser/mojom", |
| "//chromecast/common/mojom", |
| "//mojo/public/cpp/bindings", |
| "//ui/gfx/geometry", |
| "//url", |
| ] |
| |
| deps = [ "//chromecast/base" ] |
| } |
| |
| cast_source_set("test_support") { |
| testonly = true |
| sources = [ |
| "test/cast_browser_test.cc", |
| "test/cast_browser_test.h", |
| "test/mock_cast_web_view.cc", |
| "test/mock_cast_web_view.h", |
| ] |
| |
| public_deps = [ |
| ":browser", |
| "//content/test:test_support", |
| "//mojo/public/cpp/bindings", |
| ] |
| |
| deps = [ |
| "//base", |
| "//chromecast/base", |
| "//chromecast/cast_core:cast_core_switches", |
| "//components/prefs:test_support", |
| "//content/public/browser", |
| "//content/public/common", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| } |
| |
| mojom("test_interfaces") { |
| testonly = true |
| sources = [ "test_interfaces.test-mojom" ] |
| } |
| |
| cast_source_set("browsertests") { |
| testonly = true |
| sources = [ |
| "cast_content_gesture_handler_test.cc", |
| "cast_media_blocker_browsertest.cc", |
| "cast_web_contents_browsertest.cc", |
| "renderer_prelauncher_test.cc", |
| "test/cast_features_browsertest.cc", |
| "test/cast_navigation_browsertest.cc", |
| ] |
| |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| |
| deps = [ |
| ":client", |
| ":test_interfaces", |
| ":test_support", |
| "//base", |
| "//chromecast:chromecast_buildflags", |
| "//chromecast/base", |
| "//chromecast/base:chromecast_switches", |
| "//chromecast/base/metrics", |
| "//chromecast/graphics:graphics", |
| "//chromecast/mojo", |
| "//components/keyed_service/content", |
| "//components/prefs", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//media:test_support", |
| "//net:test_support", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/mojom", |
| ] |
| |
| if (use_aura) { |
| deps += [ "//ui/aura" ] |
| } |
| |
| data = [ |
| "//chromecast/browser/test/data/", |
| "//media/test/data/", |
| ] |
| } |
| |
| cast_source_set("unittests") { |
| testonly = true |
| |
| sources = [ |
| "application_media_info_manager_unittest.cc", |
| "audio_socket_broker_unittest.cc", |
| "bluetooth/cast_bluetooth_chooser_unittest.cc", |
| "cast_media_blocker_unittest.cc", |
| "cast_resource_bundle_unittest.cc", |
| "cast_session_id_map_unittest.cc", |
| "devtools/cast_devtools_manager_delegate_unittest.cc", |
| "lru_renderer_cache_test.cc", |
| "migration/migration_utils_test.cc", |
| ] |
| |
| deps = [ |
| ":browser", |
| ":display_configurator", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//chromecast/base", |
| "//chromecast/bindings/public/mojom", |
| "//chromecast/browser/migration", |
| "//chromecast/net:socket_util", |
| "//components/on_load_script_injector/browser", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//net:test_support", |
| "//services/network:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/blink/public/common", |
| "//ui/base", |
| "//ui/base:test_support", |
| "//ui/events/devices:devices", |
| "//ui/gl:test_support", |
| ] |
| |
| if (!is_android) { |
| sources += [ "cast_touch_device_manager_unittest.cc" ] |
| } |
| } |
| |
| if (is_android) { |
| java_cpp_enum("java_enums") { |
| sources = [ "visibility_types.h" ] |
| } |
| } |