# Copyright 2017 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("//cc/cc.gni")
cc_component("debug") {
  output_name = "cc_debug"
  sources = [
    "debug_colors.cc",
    "debug_colors.h",
    "debug_export.h",
    "layer_tree_debug_state.cc",
    "layer_tree_debug_state.h",
    "picture_debug_util.cc",
    "picture_debug_util.h",
    "rendering_stats.cc",
    "rendering_stats.h",
    "rendering_stats_instrumentation.cc",
    "rendering_stats_instrumentation.h",
  ]
  deps = [
    "//base",
    "//skia",
    "//ui/gfx/codec",
  ]

  defines = [ "CC_DEBUG_IMPLEMENTATION=1" ]
}
