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

static_library("gpu") {
  deps = [
    "//components/metrics:child_call_stacks",
    "//content/public/common",
    "//content/public/gpu",
    "//gpu/command_buffer/service",
    "//media",
    "//media/gpu",
  ]

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

  if (is_chromeos) {
    deps += [ "//components/arc:arc_bindings" ]
    sources += [
      "arc_gpu_video_decode_accelerator.cc",
      "arc_gpu_video_decode_accelerator.h",
      "arc_video_accelerator.h",
      "gpu_arc_video_service.cc",
      "gpu_arc_video_service.h",
    ]
  }
}
