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

assert(is_fuchsia)

source_set("service") {
  sources = [
    "fuchsia_cdm_manager.cc",
    "fuchsia_cdm_manager.h",
    "provisioning_fetcher_impl.cc",
    "provisioning_fetcher_impl.h",
  ]

  public_deps = [
    "//base",
    "//media",
    "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.media.drm",
  ]

  deps = [
    "//media/fuchsia/mojom",
    "//third_party/fuchsia-sdk/sdk/pkg/fit-promise",
    "//url",
  ]
}

source_set("unittests") {
  testonly = true

  deps = [
    ":service",
    "//base",
    "//base/test:test_support",
    "//media",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/fuchsia-sdk/sdk/pkg/fit-promise",
    "//url",
  ]

  sources = [
    "fuchsia_cdm_manager_unittest.cc",
    "mock_provision_fetcher.cc",
    "mock_provision_fetcher.h",
    "provisioning_fetcher_impl_unittest.cc",
  ]
}
