blob: f3c7ced75666ecb272c62a41fa517599ad1eaf51 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//chrome/browser/media/router/features.gni")
import("//extensions/buildflags/buildflags.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
static_library("router") {
deps = [
"//base",
"//chrome:strings",
"//chrome/common:constants",
"//components/cast_channel",
"//components/cast_channel",
"//components/keyed_service/content",
"//components/keyed_service/core",
"//content/public/browser",
"//content/public/common",
"//crypto",
"//net",
"//net/traffic_annotation",
"//services/network:network_service",
"//services/network/public/mojom",
"//third_party/icu",
"//url",
]
public_deps = [
"//chrome/common/media_router:router",
"//chrome/common/media_router/mojom:media_router",
]
sources = [
"issue_manager.cc",
"issue_manager.h",
"issues_observer.cc",
"issues_observer.h",
"media_router.h",
"media_router_base.cc",
"media_router_base.h",
"media_router_dialog_controller.cc",
"media_router_dialog_controller.h",
"media_router_factory.cc",
"media_router_factory.h",
"media_router_metrics.cc",
"media_router_metrics.h",
"media_routes_observer.cc",
"media_routes_observer.h",
"media_sinks_observer.cc",
"media_sinks_observer.h",
"presentation/browser_presentation_connection_proxy.cc",
"presentation/browser_presentation_connection_proxy.h",
"presentation/local_presentation_manager.cc",
"presentation/local_presentation_manager.h",
"presentation/local_presentation_manager_factory.cc",
"presentation/local_presentation_manager_factory.h",
"presentation/presentation_media_sinks_observer.cc",
"presentation/presentation_media_sinks_observer.h",
"presentation/presentation_service_delegate_impl.cc",
"presentation/presentation_service_delegate_impl.h",
"presentation/presentation_service_delegate_observers.cc",
"presentation/presentation_service_delegate_observers.h",
"presentation/receiver_presentation_service_delegate_impl.cc",
"presentation/receiver_presentation_service_delegate_impl.h",
"presentation/web_contents_presentation_manager.cc",
"presentation/web_contents_presentation_manager.h",
"route_message_observer.cc",
"route_message_observer.h",
"route_message_util.cc",
"route_message_util.h",
]
if (enable_extensions) {
deps += [
"discovery",
"//components/mirroring/mojom:host",
"//components/mirroring/mojom:service",
# We can't depend on //chrome/browser/ui due to introducing a cyclic
# dependency, so we have to depend on this directly to fix include
# resolution for browser.h, which is used in multiple extension-only
# files.
# TODO(crbug.com/1030821): Resolve circular dependencies
"//components/signin/public/base:signin_buildflags",
"//components/translate/content/common",
"//mojo/public/cpp/bindings",
"//ui/base:buildflags",
]
sources += [
"data_decoder_util.cc",
"data_decoder_util.h",
"event_page_request_manager.cc",
"event_page_request_manager.h",
"event_page_request_manager_factory.cc",
"event_page_request_manager_factory.h",
"mojo/media_route_provider_util_win.cc",
"mojo/media_route_provider_util_win.h",
"mojo/media_router_desktop.cc",
"mojo/media_router_desktop.h",
"mojo/media_router_mojo_impl.cc",
"mojo/media_router_mojo_impl.h",
"mojo/media_router_mojo_metrics.cc",
"mojo/media_router_mojo_metrics.h",
"mojo/media_sink_service_status.cc",
"mojo/media_sink_service_status.h",
"presentation/presentation_navigation_policy.cc",
"presentation/presentation_navigation_policy.h",
"providers/cast/activity_record.cc",
"providers/cast/activity_record.h",
"providers/cast/cast_activity_manager.cc",
"providers/cast/cast_activity_manager.h",
"providers/cast/cast_activity_record.cc",
"providers/cast/cast_activity_record.h",
"providers/cast/cast_app_availability_tracker.cc",
"providers/cast/cast_app_availability_tracker.h",
"providers/cast/cast_app_discovery_service.cc",
"providers/cast/cast_app_discovery_service.h",
"providers/cast/cast_internal_message_util.cc",
"providers/cast/cast_internal_message_util.h",
"providers/cast/cast_media_controller.cc",
"providers/cast/cast_media_controller.h",
"providers/cast/cast_media_route_provider.cc",
"providers/cast/cast_media_route_provider.h",
"providers/cast/cast_media_route_provider_metrics.cc",
"providers/cast/cast_media_route_provider_metrics.h",
"providers/cast/cast_session_client.cc",
"providers/cast/cast_session_client.h",
"providers/cast/cast_session_tracker.cc",
"providers/cast/cast_session_tracker.h",
"providers/cast/chrome_cast_message_handler.cc",
"providers/cast/chrome_cast_message_handler.h",
"providers/cast/dual_media_sink_service.cc",
"providers/cast/dual_media_sink_service.h",
"providers/cast/mirroring_activity_record.cc",
"providers/cast/mirroring_activity_record.h",
"providers/common/buffered_message_sender.cc",
"providers/common/buffered_message_sender.h",
"providers/dial/dial_activity_manager.cc",
"providers/dial/dial_activity_manager.h",
"providers/dial/dial_internal_message_util.cc",
"providers/dial/dial_internal_message_util.h",
"providers/dial/dial_media_route_provider.cc",
"providers/dial/dial_media_route_provider.h",
"providers/dial/dial_media_route_provider_metrics.cc",
"providers/dial/dial_media_route_provider_metrics.h",
"providers/extension/extension_media_route_provider_proxy.cc",
"providers/extension/extension_media_route_provider_proxy.h",
"providers/wired_display/wired_display_media_route_provider.cc",
"providers/wired_display/wired_display_media_route_provider.h",
"providers/wired_display/wired_display_presentation_receiver.h",
"providers/wired_display/wired_display_presentation_receiver_factory.cc",
"providers/wired_display/wired_display_presentation_receiver_factory.h",
]
if (enable_openscreen) {
sources += [
"providers/openscreen/discovery/open_screen_listener.cc",
"providers/openscreen/discovery/open_screen_listener.h",
"providers/openscreen/network_service_async_packet_sender.cc",
"providers/openscreen/network_service_async_packet_sender.h",
"providers/openscreen/network_service_quic_packet_writer.cc",
"providers/openscreen/network_service_quic_packet_writer.h",
]
deps += [
":openscreen_platform_impl",
"//third_party/openscreen/src/osp/public",
"//third_party/openscreen/src/platform",
"//third_party/openscreen/src/util",
]
}
}
}
if (enable_openscreen) {
source_set("openscreen_platform_impl") {
sources = [
"providers/openscreen/platform/chrome_task_runner.cc",
"providers/openscreen/platform/chrome_task_runner.h",
"providers/openscreen/platform/chrome_tls_client_connection.cc",
"providers/openscreen/platform/chrome_tls_client_connection.h",
"providers/openscreen/platform/chrome_tls_connection_factory.cc",
"providers/openscreen/platform/chrome_tls_connection_factory.h",
"providers/openscreen/platform/chrome_udp_socket.cc",
"providers/openscreen/platform/chrome_udp_socket.h",
"providers/openscreen/platform/logging.cc",
"providers/openscreen/platform/mojo_data_pump.cc",
"providers/openscreen/platform/mojo_data_pump.h",
"providers/openscreen/platform/network_data_pump.h",
"providers/openscreen/platform/network_util.cc",
"providers/openscreen/platform/network_util.h",
"providers/openscreen/platform/time.cc",
"providers/openscreen/platform/trace_logging_platform.cc",
]
public_configs =
[ "//third_party/openscreen/src/build:openscreen_include_dirs" ]
deps = [
"//base",
"//net/traffic_annotation",
"//services/network:network_service",
"//services/network/public/mojom",
]
}
}
static_library("test_support") {
testonly = true
deps = [
"//chrome/test:test_support",
"//testing/gmock",
]
public_deps = [
":router",
]
sources = [
"test/mock_media_router.cc",
"test/mock_media_router.h",
"test/mock_screen_availability_listener.cc",
"test/mock_screen_availability_listener.h",
"test/test_helper.cc",
"test/test_helper.h",
]
if (enable_extensions) {
deps += [
"discovery",
"//chrome/common/media_router/mojom:media_router",
"//chrome/common/media_router/mojom:media_router_test_interfaces",
"//extensions/browser",
"//extensions/common",
]
sources += [
"test/media_router_mojo_test.cc",
"test/media_router_mojo_test.h",
"test/mock_dns_sd_registry.cc",
"test/mock_dns_sd_registry.h",
"test/mock_mojo_media_router.cc",
"test/mock_mojo_media_router.h",
"test/noop_dual_media_sink_service.cc",
"test/noop_dual_media_sink_service.h",
]
}
}
source_set("unittests") {
testonly = true
sources = [
"issue_manager_unittest.cc",
"media_router_base_unittest.cc",
"media_router_dialog_controller_unittest.cc",
"media_router_factory_unittest.cc",
"media_router_metrics_unittest.cc",
"media_sinks_observer_unittest.cc",
"presentation/browser_presentation_connection_proxy_unittest.cc",
"presentation/local_presentation_manager_factory_unittest.cc",
"presentation/local_presentation_manager_unittest.cc",
"presentation/presentation_media_sinks_observer_unittest.cc",
"presentation/presentation_service_delegate_impl_unittest.cc",
]
if (!is_android) {
sources += [
# In-browser discovery is not used by Android for now.
"discovery/dial/device_description_fetcher_unittest.cc",
"discovery/dial/device_description_service_unittest.cc",
"discovery/dial/dial_app_discovery_service_unittest.cc",
"discovery/dial/dial_device_data_unittest.cc",
"discovery/dial/dial_media_sink_service_impl_unittest.cc",
"discovery/dial/dial_registry_unittest.cc",
"discovery/dial/dial_service_unittest.cc",
"discovery/dial/dial_url_fetcher_unittest.cc",
"discovery/dial/safe_dial_app_info_parser_unittest.cc",
"discovery/dial/safe_dial_device_description_parser_unittest.cc",
"discovery/discovery_network_list_unittest.cc",
"discovery/discovery_network_monitor_metric_observer_unittest.cc",
"discovery/discovery_network_monitor_unittest.cc",
"discovery/mdns/cast_media_sink_service_impl_unittest.cc",
"discovery/mdns/cast_media_sink_service_unittest.cc",
"discovery/mdns/dns_sd_registry_unittest.cc",
"discovery/media_sink_discovery_metrics_unittest.cc",
"event_page_request_manager_unittest.cc",
"media_router_feature_unittest.cc",
"mojo/media_router_desktop_unittest.cc",
"mojo/media_router_mojo_impl_unittest.cc",
"mojo/media_router_mojo_metrics_unittest.cc",
"mojo/media_sink_service_status_unittest.cc",
"providers/cast/cast_activity_manager_unittest.cc",
"providers/cast/cast_activity_record_unittest.cc",
"providers/cast/cast_app_availability_tracker_unittest.cc",
"providers/cast/cast_app_discovery_service_unittest.cc",
"providers/cast/cast_internal_message_util_unittest.cc",
"providers/cast/cast_media_controller_unittest.cc",
"providers/cast/cast_media_route_provider_metrics_unittest.cc",
"providers/cast/cast_media_route_provider_unittest.cc",
"providers/cast/cast_session_client_unittest.cc",
"providers/cast/cast_session_tracker_unittest.cc",
"providers/cast/dual_media_sink_service_unittest.cc",
"providers/cast/mirroring_activity_record_unittest.cc",
"providers/cast/mock_cast_activity_record.cc",
"providers/cast/mock_cast_activity_record.h",
"providers/cast/test_util.cc",
"providers/cast/test_util.h",
"providers/dial/dial_activity_manager_unittest.cc",
"providers/dial/dial_internal_message_util_unittest.cc",
"providers/dial/dial_media_route_provider_unittest.cc",
"providers/extension/extension_media_route_provider_proxy_unittest.cc",
"providers/wired_display/wired_display_media_route_provider_unittest.cc",
]
}
if (enable_openscreen) {
include_dirs = [ "//third_party/openscreen/src" ]
sources += [
"providers/openscreen/discovery/open_screen_listener_unittest.cc",
"providers/openscreen/network_service_quic_packet_writer_unittest.cc",
"providers/openscreen/platform/chrome_tls_client_connection_unittest.cc",
"providers/openscreen/platform/chrome_tls_connection_factory_unittest.cc",
"providers/openscreen/platform/mojo_data_pump_unittest.cc",
]
}
deps = [
":router",
":test_support",
"//base",
"//base/test:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
if (enable_openscreen) {
test("openscreen_unittests") {
include_dirs = [ "//third_party/openscreen/src" ]
deps = [
":openscreen_platform_impl",
"//base/test:test_support",
"//chrome/browser",
"//chrome/test:test_support",
"//testing/gmock",
"//third_party/openscreen/src:openscreen_unittests_all",
]
}
}
fuzzer_test("dial_internal_message_fuzzer") {
sources = [
"providers/dial/dial_internal_message_fuzzer.cc",
]
deps = [
":router",
"//base",
"//base/test:test_support",
"//chrome/browser",
"//chrome/test:test_support",
"//components/mirroring/mojom:service",
"//components/translate/content/common",
]
dict = "providers/dial/fuzzer_data/dial_internal_message_fuzzer.dict"
seed_corpus = "providers/dial/fuzzer_data/corpus/"
}