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

# GYP version: mojo/mojo.gyp:mojo_cc_support
source_set("cc") {
  deps = [
    "//base",
    "//cc",
    "//cc/surfaces",
    "//cc/surfaces:surface_id",
    "//gpu/command_buffer/client:gles2_implementation",
    "//gpu/command_buffer/client:gles2_interface",
    "//mojo/converters/surfaces",
    "//mojo/public/c/gles2",
    "//mojo/public/cpp/environment",
    "//mojo/public/cpp/system",
    "//mojo/services/surfaces/public/interfaces",
    "//skia",
  ]

  sources = [
    "context_provider_mojo.cc",
    "context_provider_mojo.h",
    "direct_output_surface.cc",
    "direct_output_surface.h",
  ]
}
