# Copyright 2022 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/cast.gni")
if (enable_cast_receiver) {
source_set("browser") {
public = [
"public/application_config.h",
"public/application_state_observer.h",
"public/content_browser_client_mixins.h",
"public/content_window_controls.h",
"public/embedder_application.h",
"public/message_port_service.h",
"public/runtime_application.h",
"public/runtime_application_dispatcher.h",
"public/streaming_config_manager.h",
"public/streaming_resolution_observer.h",
]
sources = [
"application_client.cc",
"application_client.h",
"application_config.cc",
"bindings_manager.cc",
"bindings_manager.h",
"bindings_message_port_connector.cc",
"bindings_message_port_connector.h",
"content_browser_client_mixins_impl.cc",
"content_browser_client_mixins_impl.h",
"content_window_controls.cc",
"embedder_application.cc",
"page_state_observer.cc",
"page_state_observer.h",
"runtime_application.cc",
"runtime_application_base.cc",
"runtime_application_base.h",
"runtime_application_dispatcher_impl.h",
"streaming_config_manager.cc",
"streaming_controller.h",
"streaming_controller_base.cc",
"streaming_controller_base.h",
"streaming_controller_mirroring.cc",
"streaming_controller_mirroring.h",
"streaming_controller_remoting.cc",
"streaming_controller_remoting.h",
"streaming_receiver_session_client.cc",
"streaming_receiver_session_client.h",
"streaming_runtime_application.cc",
"streaming_runtime_application.h",
"web_runtime_application.cc",
"web_runtime_application.h",
]
public_deps = [
"//components/cast_streaming/browser",
"//third_party/blink/public/common:headers",
]
deps = [
":permissions_manager",
"//base",
"//components/cast/api_bindings:manager",
"//components/cast/message_port",
"//components/cast/message_port:blink_message_port_adapter",
"//components/cast/message_port:message_port_cast",
"//components/cast/named_message_port_connector",
"//components/cast_receiver/common",
"//components/cast_streaming/common",
"//components/cast_streaming/common:mojom",
"//components/media_control/browser",
"//components/on_load_script_injector/browser",
"//components/url_rewrite/browser",
"//components/url_rewrite/common",
"//components/url_rewrite/mojom",
"//content/public/browser",
"//content/public/common",
"//media",
"//media/mojo/mojom",
"//mojo/public/cpp/bindings",
"//net",
"//third_party/abseil-cpp:absl",
"//ui/base",
"//url",
]
friend = [ ":unit_tests" ]
}
}
source_set("permissions_manager") {
public = [ "public/permissions_manager.h" ]
sources = [
"permissions_manager_impl.cc",
"permissions_manager_impl.h",
]
public_deps = [
"//third_party/blink/public/common:headers",
"//url",
]
deps = [
"//base",
"//content",
]
friend = [ ":unit_tests" ]
if (enable_cast_receiver) {
friend += [ ":browser" ]
}
}
source_set("unit_tests") {
testonly = true
sources = [ "permissions_manager_impl_unittest.cc" ]
deps = [
":permissions_manager",
"//base/test:test_support",
"//media",
"//testing/gmock",
"//testing/gtest",
"//ui/gfx/geometry",
]
if (enable_cast_receiver) {
deps += [ ":browser" ]
sources += [
"application_client_unittest.cc",
"streaming_receiver_session_client_unittest.cc",
]
}
}