# Copyright 2018 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.

source_set("test_support") {
  testonly = true

  visibility = [ "//media/cdm:unit_tests" ]

  sources = [
    "mock_library_cdm.cc",
    "mock_library_cdm.h",
  ]

  deps = [
    ":cdm_host_proxy",
    "//base",
    "//media/cdm:cdm_api",
    "//testing/gmock",
  ]
}

source_set("cdm_host_proxy") {
  sources = [
    "cdm_host_proxy.h",
    "cdm_host_proxy_impl.h",
  ]

  deps = [
    "//base",
    "//media/cdm:cdm_api",
  ]
}
