blob: 7449687f3b6979ee336ff29bb7cf0a129b0ed8ed [file] [log] [blame]
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//chrome/common/features.gni")
assert(is_win || is_mac || is_linux || is_chromeos)
source_set("global_media_controls") {
sources = [
"cast_device_list_host.h",
"cast_media_notification_item.h",
"cast_media_notification_producer.h",
"cast_media_session_controller.h",
"live_translate_combobox_model.h",
"media_item_ui_device_selector_delegate.h",
"media_item_ui_metrics.h",
"media_notification_device_monitor.h",
"media_notification_device_provider.h",
"media_notification_device_provider_impl.h",
"media_notification_service.h",
"media_notification_service_factory.h",
"media_toolbar_button_controller.h",
"media_toolbar_button_controller_delegate.h",
"media_toolbar_button_observer.h",
"presentation_request_notification_item.h",
"presentation_request_notification_producer.h",
]
public_deps = [
"//base",
"//chrome/browser/bitmap_fetcher",
"//chrome/browser/profiles:profile",
"//chrome/browser/ui/media_router",
"//components/global_media_controls",
"//components/global_media_controls/public/mojom:device_service",
"//components/keyed_service/core",
"//components/media_message_center",
"//components/media_router/browser",
"//components/media_router/common",
"//components/media_router/common/mojom:media_controller",
"//components/translate/core/browser",
"//content/public/browser",
"//mojo/public/cpp/bindings",
"//services/media_session/public/cpp:base_cpp",
"//services/media_session/public/mojom",
"//services/metrics/public/cpp:metrics_cpp",
"//ui/base",
"//ui/gfx",
]
if (is_chromeos) {
public_deps += [ "//ash" ]
}
}
source_set("impl") {
sources = [
"cast_device_list_host.cc",
"cast_media_notification_item.cc",
"cast_media_notification_producer.cc",
"cast_media_session_controller.cc",
"live_translate_combobox_model.cc",
"media_item_ui_metrics.cc",
"media_notification_device_monitor.cc",
"media_notification_device_provider_impl.cc",
"media_notification_service.cc",
"media_notification_service_factory.cc",
"media_toolbar_button_controller.cc",
"media_toolbar_button_controller_delegate.cc",
"presentation_request_notification_item.cc",
"presentation_request_notification_producer.cc",
]
deps = [
":global_media_controls",
"//chrome/browser:browser_process",
"//chrome/browser/feature_engagement",
"//chrome/browser/media/router:media_router_feature",
"//chrome/browser/ui:browser_list",
"//chrome/browser/ui/browser_window",
"//chrome/browser/ui/tabs:tab_strip",
"//components/favicon/content",
"//components/favicon/core",
"//components/feature_engagement/public",
"//components/live_caption:constants",
"//components/sessions",
"//media/remoting:remoting_device_capability",
"//services/metrics/public/cpp:ukm_builders",
]
if (enable_glic) {
deps += [ "//chrome/browser/glic" ]
}
public_deps = [ "//chrome/browser:browser_public_dependencies" ]
}
source_set("test_support") {
testonly = true
sources = [
"test_helper.cc",
"test_helper.h",
]
public_deps = [
":global_media_controls",
"//testing/gmock",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"cast_device_list_host_unittest.cc",
"cast_media_notification_item_unittest.cc",
"cast_media_notification_producer_unittest.cc",
"cast_media_session_controller_unittest.cc",
"media_notification_device_provider_impl_unittest.cc",
"media_notification_service_unittest.cc",
"media_toolbar_button_controller_unittest.cc",
"presentation_request_notification_item_unittest.cc",
"presentation_request_notification_producer_unittest.cc",
]
if (is_linux) {
sources += [ "media_notification_device_monitor_unittest.cc" ]
}
deps = [
"//base/test:test_support",
"//chrome/browser/bitmap_fetcher",
"//chrome/browser/media/router",
"//chrome/browser/media/router:media_router_feature",
"//chrome/browser/ui/global_media_controls:test_support",
"//chrome/test:test_support",
"//components/global_media_controls:test_support",
"//components/media_message_center:test_support",
"//components/media_router/browser:test_support",
"//components/media_router/common/mojom:media_router",
"//components/sync_preferences:test_support",
"//components/vector_icons",
"//content/public/browser",
"//content/test:test_support",
"//media",
"//net",
"//skia",
"//ui/gfx:test_support",
]
if (is_chromeos) {
deps += [ "//chrome/browser/ash/crosapi:test_support" ]
}
}