# 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. import("linux/buildflags/buildflags.gni") component("system_media_controls") { friend = [ ":unit_tests" ] public = [ "system_media_controls.h", "system_media_controls_observer.h", ] defines = [ "IS_SYSTEM_MEDIA_CONTROLS_IMPL" ] deps = [ "//base", "//services/media_session/public/cpp", "//ui/gfx", ] public_deps = [ "//skia" ] if (is_win) { sources = [ "win/system_media_controls_win.cc", "win/system_media_controls_win.h", ] } else if (use_mpris) { sources = [ "linux/system_media_controls_linux.cc", "linux/system_media_controls_linux.h", ] deps += [ "//build:branding_buildflags", "//components/dbus/properties", "//components/dbus/thread_linux", "//dbus", ] } else if (is_mac) { sources = [ "mac/now_playing_info_center_delegate.h", "mac/now_playing_info_center_delegate.mm", "mac/now_playing_info_center_delegate_cocoa.h", "mac/now_playing_info_center_delegate_cocoa.mm", "mac/remote_command_center_delegate.h", "mac/remote_command_center_delegate.mm", "mac/remote_command_center_delegate_cocoa.h", "mac/remote_command_center_delegate_cocoa.mm", "mac/system_media_controls_mac.h", "mac/system_media_controls_mac.mm", ] deps += [ "//build:branding_buildflags" ] frameworks = [ "Foundation.framework" ] weak_frameworks = [ "MediaPlayer.framework" ] } else { sources = [ "system_media_controls_stub.cc" ] } } source_set("unit_tests") { testonly = true if (use_mpris) { sources = [ "linux/system_media_controls_linux_unittest.cc" ] deps = [ ":system_media_controls", "//base", "//base/test:test_support", "//components/dbus/thread_linux", "//dbus", "//dbus:test_support", "//testing/gmock", "//testing/gtest", ] } } static_library("test_support") { testonly = true sources = [ "mock_system_media_controls.cc", "mock_system_media_controls.h", ] deps = [ ":system_media_controls", "//base", "//testing/gmock", ] }