# Copyright 2014 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("//build/config/features.gni") static_library("storage_monitor") { sources = [ "image_capture_device.h", "image_capture_device.mm", "image_capture_device_manager.h", "image_capture_device_manager.mm", "media_storage_util.cc", "media_storage_util.h", "mtab_watcher_linux.cc", "mtab_watcher_linux.h", "portable_device_watcher_win.cc", "portable_device_watcher_win.h", "removable_device_constants.cc", "removable_device_constants.h", "removable_storage_observer.h", "storage_info.cc", "storage_info.h", "storage_monitor.cc", "storage_monitor.h", "storage_monitor_chromeos.cc", "storage_monitor_chromeos.h", "storage_monitor_linux.cc", "storage_monitor_linux.h", "storage_monitor_mac.h", "storage_monitor_mac.mm", "storage_monitor_win.cc", "storage_monitor_win.h", "transient_device_ids.cc", "transient_device_ids.h", "udev_util_linux.cc", "udev_util_linux.h", "volume_mount_watcher_win.cc", "volume_mount_watcher_win.h", ] deps = [ "//base", "//content/public/browser", "//mojo/public/cpp/bindings", "//services/service_manager/public/cpp", "//ui/base", ] if (is_mac) { libs = [ "DiskArbitration.framework", "Foundation.framework", "ImageCaptureCore.framework", ] } if (is_chromeos && use_dbus) { deps += [ "//services/device/public/mojom" ] sources += [ "mtp_manager_client_chromeos.cc", "mtp_manager_client_chromeos.h", "storage_info_utils.cc", "storage_info_utils.h", ] } if (use_udev) { deps += [ "//device/udev_linux" ] } else if (is_linux) { # These were already removed for non-Linux. sources -= [ "storage_monitor_linux.cc", "storage_monitor_linux.h", "udev_util_linux.cc", "udev_util_linux.h", ] } if (is_chromeos) { sources -= [ "mtab_watcher_linux.cc", "mtab_watcher_linux.h", "storage_monitor_linux.cc", "storage_monitor_linux.h", ] deps += [ "//chromeos" ] } } static_library("test_support") { testonly = true sources = [ "mock_removable_storage_observer.cc", "mock_removable_storage_observer.h", "test_media_transfer_protocol_manager_chromeos.cc", "test_media_transfer_protocol_manager_chromeos.h", "test_portable_device_watcher_win.cc", "test_portable_device_watcher_win.h", "test_storage_monitor.cc", "test_storage_monitor.h", "test_storage_monitor_win.cc", "test_storage_monitor_win.h", "test_volume_mount_watcher_win.cc", "test_volume_mount_watcher_win.h", ] public_deps = [ ":storage_monitor", "//base", "//content/public/browser", ] if (is_chromeos && use_dbus) { deps = [ "//services/device/public/mojom", ] } if (is_win) { deps = [ "//testing/gtest", ] } } source_set("unit_tests") { testonly = true sources = [ "image_capture_device_manager_unittest.mm", "media_storage_util_unittest.cc", "storage_info_unittest.cc", "storage_monitor_mac_unittest.mm", "storage_monitor_unittest.cc", "storage_monitor_win_unittest.cc", ] deps = [ ":test_support", "//base/test:test_support", "//content/test:test_support", "//testing/gtest", ] if (use_dbus) { if (is_chromeos) { deps += [ "//services/device/public/mojom", "//testing/gmock", ] sources += [ "mtp_manager_client_chromeos_unittest.cc", "storage_monitor_chromeos_unittest.cc", ] } else if (is_linux) { sources += [ "storage_monitor_linux_unittest.cc" ] } } if (is_chromeos) { deps += [ "//chromeos:test_support" ] } }