# 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/jumbo.gni")

jumbo_source_set("browser") {
  sources = [
    "cdm_message_filter_android.cc",
    "cdm_message_filter_android.h",
    "media_drm_storage_impl.cc",
    "media_drm_storage_impl.h",
  ]

  public_deps = [
    "//base",
    "//content/public/browser",
    "//media/mojo/interfaces",
    "//url",
  ]

  deps = [
    "//components/cdm/common",
    "//components/prefs",
    "//content/public/common",
    "//ipc",
    "//media",
  ]
}

jumbo_source_set("unit_tests") {
  testonly = true
  sources = [
    "media_drm_storage_impl_unittest.cc",
  ]
  deps = [
    ":browser",
    "//base/test:test_support",
    "//components/prefs:test_support",
    "//content/test:test_support",
    "//media/mojo/services",
    "//testing/gtest",
  ]
}
