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

component("cc") {
  sources = [
    "animation/animation.cc",
    "animation/animation.h",
    "animation/animation_curve.cc",
    "animation/animation_curve.h",
    "animation/animation_delegate.h",
    "animation/animation_events.cc",
    "animation/animation_events.h",
    "animation/animation_id_provider.cc",
    "animation/animation_id_provider.h",
    "animation/animation_registrar.cc",
    "animation/animation_registrar.h",
    "animation/keyframed_animation_curve.cc",
    "animation/keyframed_animation_curve.h",
    "animation/layer_animation_controller.cc",
    "animation/layer_animation_controller.h",
    "animation/layer_animation_event_observer.h",
    "animation/layer_animation_value_observer.h",
    "animation/layer_animation_value_provider.h",
    "animation/scroll_offset_animation_curve.cc",
    "animation/scroll_offset_animation_curve.h",
    "animation/scrollbar_animation_controller.h",
    "animation/scrollbar_animation_controller.cc",
    "animation/scrollbar_animation_controller_linear_fade.cc",
    "animation/scrollbar_animation_controller_linear_fade.h",
    "animation/scrollbar_animation_controller_thinning.cc",
    "animation/scrollbar_animation_controller_thinning.h",
    "animation/timing_function.cc",
    "animation/timing_function.h",
    "animation/transform_operation.cc",
    "animation/transform_operation.h",
    "animation/transform_operations.cc",
    "animation/transform_operations.h",
    "base/completion_event.h",
    "base/delayed_unique_notifier.cc",
    "base/delayed_unique_notifier.h",
    "base/invalidation_region.cc",
    "base/invalidation_region.h",
    "base/latency_info_swap_promise.cc",
    "base/latency_info_swap_promise.h",
    "base/latency_info_swap_promise_monitor.cc",
    "base/latency_info_swap_promise_monitor.h",
    "base/math_util.cc",
    "base/math_util.h",
    "base/ref_counted_managed.h",
    "base/region.cc",
    "base/region.h",
    "base/rolling_time_delta_history.cc",
    "base/rolling_time_delta_history.h",
    "base/scoped_ptr_algorithm.h",
    "base/scoped_ptr_deque.h",
    "base/scoped_ptr_vector.h",
    "base/swap_promise.h",
    "base/swap_promise_monitor.cc",
    "base/swap_promise_monitor.h",
    "base/switches.cc",
    "base/switches.h",
    "base/tiling_data.cc",
    "base/tiling_data.h",
    "base/unique_notifier.cc",
    "base/unique_notifier.h",
    "base/util.h",
    "debug/benchmark_instrumentation.cc",
    "debug/benchmark_instrumentation.h",
    "debug/debug_colors.cc",
    "debug/debug_colors.h",
    "debug/debug_rect_history.cc",
    "debug/debug_rect_history.h",
    "debug/devtools_instrumentation.h",
    "debug/frame_rate_counter.cc",
    "debug/frame_rate_counter.h",
    "debug/frame_viewer_instrumentation.h",
    "debug/invalidation_benchmark.cc",
    "debug/invalidation_benchmark.h",
    "debug/lap_timer.cc",
    "debug/lap_timer.h",
    "debug/layer_tree_debug_state.cc",
    "debug/layer_tree_debug_state.h",
    "debug/micro_benchmark.cc",
    "debug/micro_benchmark.h",
    "debug/micro_benchmark_impl.cc",
    "debug/micro_benchmark_impl.h",
    "debug/micro_benchmark_controller.cc",
    "debug/micro_benchmark_controller.h",
    "debug/micro_benchmark_controller_impl.cc",
    "debug/micro_benchmark_controller_impl.h",
    "debug/paint_time_counter.cc",
    "debug/paint_time_counter.h",
    "debug/picture_record_benchmark.cc",
    "debug/picture_record_benchmark.h",
    "debug/rasterize_and_record_benchmark.cc",
    "debug/rasterize_and_record_benchmark.h",
    "debug/rasterize_and_record_benchmark_impl.cc",
    "debug/rasterize_and_record_benchmark_impl.h",
    "debug/rendering_stats.cc",
    "debug/rendering_stats.h",
    "debug/rendering_stats_instrumentation.cc",
    "debug/rendering_stats_instrumentation.h",
    "debug/ring_buffer.h",
    "debug/traced_picture.cc",
    "debug/traced_picture.h",
    "debug/traced_value.cc",
    "debug/traced_value.h",
    "debug/unittest_only_benchmark.cc",
    "debug/unittest_only_benchmark.h",
    "debug/unittest_only_benchmark_impl.cc",
    "debug/unittest_only_benchmark_impl.h",
    "input/input_handler.h",
    "input/page_scale_animation.cc",
    "input/page_scale_animation.h",
    "input/top_controls_manager.cc",
    "input/top_controls_manager.h",
    "input/top_controls_manager_client.h",
    "layers/append_quads_data.h",
    "layers/content_layer.cc",
    "layers/content_layer.h",
    "layers/content_layer_client.h",
    "layers/contents_scaling_layer.cc",
    "layers/contents_scaling_layer.h",
    "layers/delegated_frame_provider.cc",
    "layers/delegated_frame_provider.h",
    "layers/delegated_frame_resource_collection.cc",
    "layers/delegated_frame_resource_collection.h",
    "layers/delegated_renderer_layer.cc",
    "layers/delegated_renderer_layer.h",
    "layers/delegated_renderer_layer_impl.cc",
    "layers/delegated_renderer_layer_impl.h",
    "layers/draw_properties.h",
    "layers/heads_up_display_layer.cc",
    "layers/heads_up_display_layer.h",
    "layers/heads_up_display_layer_impl.cc",
    "layers/heads_up_display_layer_impl.h",
    "layers/image_layer.cc",
    "layers/image_layer.h",
    "layers/io_surface_layer.cc",
    "layers/io_surface_layer.h",
    "layers/io_surface_layer_impl.cc",
    "layers/io_surface_layer_impl.h",
    "layers/layer.cc",
    "layers/layer.h",
    "layers/layer_client.h",
    "layers/layer_impl.cc",
    "layers/layer_impl.h",
    "layers/layer_iterator.h",
    "layers/layer_lists.cc",
    "layers/layer_lists.h",
    "layers/layer_position_constraint.cc",
    "layers/layer_position_constraint.h",
    "layers/layer_utils.cc",
    "layers/layer_utils.h",
    "layers/nine_patch_layer.cc",
    "layers/nine_patch_layer.h",
    "layers/nine_patch_layer_impl.cc",
    "layers/nine_patch_layer_impl.h",
    "layers/paint_properties.h",
    "layers/painted_scrollbar_layer.cc",
    "layers/painted_scrollbar_layer.h",
    "layers/painted_scrollbar_layer_impl.cc",
    "layers/painted_scrollbar_layer_impl.h",
    "layers/picture_image_layer.cc",
    "layers/picture_image_layer.h",
    "layers/picture_image_layer_impl.cc",
    "layers/picture_image_layer_impl.h",
    "layers/picture_layer.cc",
    "layers/picture_layer.h",
    "layers/picture_layer_impl.cc",
    "layers/picture_layer_impl.h",
    "layers/quad_sink.h",
    "layers/quad_sink.cc",
    "layers/render_pass_sink.h",
    "layers/render_surface.cc",
    "layers/render_surface.h",
    "layers/render_surface_impl.cc",
    "layers/render_surface_impl.h",
    "layers/scrollbar_layer_impl_base.cc",
    "layers/scrollbar_layer_impl_base.h",
    "layers/scrollbar_layer_interface.h",
    "layers/solid_color_layer.cc",
    "layers/solid_color_layer.h",
    "layers/solid_color_layer_impl.cc",
    "layers/solid_color_layer_impl.h",
    "layers/solid_color_scrollbar_layer.cc",
    "layers/solid_color_scrollbar_layer.h",
    "layers/solid_color_scrollbar_layer_impl.cc",
    "layers/solid_color_scrollbar_layer_impl.h",
    "layers/surface_layer.cc",
    "layers/surface_layer.h",
    "layers/surface_layer_impl.cc",
    "layers/surface_layer_impl.h",
    "layers/texture_layer.cc",
    "layers/texture_layer.h",
    "layers/texture_layer_client.h",
    "layers/texture_layer_impl.cc",
    "layers/texture_layer_impl.h",
    "layers/tiled_layer.cc",
    "layers/tiled_layer.h",
    "layers/tiled_layer_impl.cc",
    "layers/tiled_layer_impl.h",
    "layers/ui_resource_layer.cc",
    "layers/ui_resource_layer.h",
    "layers/ui_resource_layer_impl.cc",
    "layers/ui_resource_layer_impl.h",
    "layers/video_frame_provider.h",
    "layers/video_frame_provider_client_impl.cc",
    "layers/video_frame_provider_client_impl.h",
    "layers/video_layer.cc",
    "layers/video_layer.h",
    "layers/video_layer_impl.cc",
    "layers/video_layer_impl.h",
    "output/begin_frame_args.cc",
    "output/begin_frame_args.h",
    "output/compositor_frame.cc",
    "output/compositor_frame.h",
    "output/compositor_frame_ack.cc",
    "output/compositor_frame_ack.h",
    "output/compositor_frame_metadata.cc",
    "output/compositor_frame_metadata.h",
    "output/context_provider.cc",
    "output/context_provider.h",
    "output/copy_output_request.cc",
    "output/copy_output_request.h",
    "output/copy_output_result.cc",
    "output/copy_output_result.h",
    "output/delegated_frame_data.h",
    "output/delegated_frame_data.cc",
    "output/delegating_renderer.cc",
    "output/delegating_renderer.h",
    "output/direct_renderer.cc",
    "output/direct_renderer.h",
    "output/filter_operation.cc",
    "output/filter_operation.h",
    "output/filter_operations.cc",
    "output/filter_operations.h",
    "output/geometry_binding.cc",
    "output/geometry_binding.h",
    "output/gl_frame_data.h",
    "output/gl_frame_data.cc",
    "output/gl_renderer.cc",
    "output/gl_renderer.h",
    "output/gl_renderer_draw_cache.cc",
    "output/gl_renderer_draw_cache.h",
    "output/managed_memory_policy.cc",
    "output/managed_memory_policy.h",
    "output/output_surface.cc",
    "output/output_surface.h",
    "output/output_surface_client.h",
    "output/overlay_candidate.cc",
    "output/overlay_candidate.h",
    "output/overlay_candidate_validator.h",
    "output/overlay_processor.cc",
    "output/overlay_processor.h",
    "output/overlay_strategy_single_on_top.cc",
    "output/overlay_strategy_single_on_top.h",
    "output/program_binding.cc",
    "output/program_binding.h",
    "output/render_surface_filters.cc",
    "output/render_surface_filters.h",
    "output/renderer.cc",
    "output/renderer.h",
    "output/shader.cc",
    "output/shader.h",
    "output/software_frame_data.cc",
    "output/software_frame_data.h",
    "output/software_output_device.cc",
    "output/software_output_device.h",
    "output/software_renderer.cc",
    "output/software_renderer.h",
    "quads/checkerboard_draw_quad.cc",
    "quads/checkerboard_draw_quad.h",
    "quads/content_draw_quad_base.cc",
    "quads/content_draw_quad_base.h",
    "quads/debug_border_draw_quad.cc",
    "quads/debug_border_draw_quad.h",
    "quads/draw_quad.cc",
    "quads/draw_quad.h",
    "quads/io_surface_draw_quad.cc",
    "quads/io_surface_draw_quad.h",
    "quads/picture_draw_quad.cc",
    "quads/picture_draw_quad.h",
    "quads/render_pass.cc",
    "quads/render_pass.h",
    "quads/render_pass_draw_quad.cc",
    "quads/render_pass_draw_quad.h",
    "quads/shared_quad_state.cc",
    "quads/shared_quad_state.h",
    "quads/solid_color_draw_quad.cc",
    "quads/solid_color_draw_quad.h",
    "quads/stream_video_draw_quad.cc",
    "quads/stream_video_draw_quad.h",
    "quads/surface_draw_quad.cc",
    "quads/surface_draw_quad.h",
    "quads/texture_draw_quad.cc",
    "quads/texture_draw_quad.h",
    "quads/tile_draw_quad.cc",
    "quads/tile_draw_quad.h",
    "quads/yuv_video_draw_quad.cc",
    "quads/yuv_video_draw_quad.h",
    "resources/bitmap_content_layer_updater.cc",
    "resources/bitmap_content_layer_updater.h",
    "resources/bitmap_skpicture_content_layer_updater.cc",
    "resources/bitmap_skpicture_content_layer_updater.h",
    "resources/content_layer_updater.cc",
    "resources/content_layer_updater.h",
    "resources/direct_raster_worker_pool.cc",
    "resources/direct_raster_worker_pool.h",
    "resources/image_layer_updater.cc",
    "resources/image_layer_updater.h",
    "resources/image_raster_worker_pool.cc",
    "resources/image_raster_worker_pool.h",
    "resources/image_copy_raster_worker_pool.cc",
    "resources/image_copy_raster_worker_pool.h",
    "resources/layer_painter.h",
    "resources/layer_quad.cc",
    "resources/layer_quad.h",
    "resources/layer_tiling_data.cc",
    "resources/layer_tiling_data.h",
    "resources/layer_updater.cc",
    "resources/layer_updater.h",
    "resources/managed_tile_state.cc",
    "resources/managed_tile_state.h",
    "resources/memory_history.cc",
    "resources/memory_history.h",
    "resources/picture.cc",
    "resources/picture.h",
    "resources/picture_layer_tiling.cc",
    "resources/picture_layer_tiling.h",
    "resources/picture_layer_tiling_set.cc",
    "resources/picture_layer_tiling_set.h",
    "resources/picture_pile.cc",
    "resources/picture_pile.h",
    "resources/picture_pile_base.cc",
    "resources/picture_pile_base.h",
    "resources/picture_pile_impl.cc",
    "resources/picture_pile_impl.h",
    "resources/pixel_buffer_raster_worker_pool.cc",
    "resources/pixel_buffer_raster_worker_pool.h",
    "resources/platform_color.h",
    "resources/prioritized_resource.cc",
    "resources/prioritized_resource.h",
    "resources/prioritized_resource_manager.cc",
    "resources/prioritized_resource_manager.h",
    "resources/prioritized_tile_set.cc",
    "resources/prioritized_tile_set.h",
    "resources/priority_calculator.cc",
    "resources/priority_calculator.h",
    "resources/raster_mode.cc",
    "resources/raster_mode.h",
    "resources/raster_worker_pool.cc",
    "resources/raster_worker_pool.h",
    "resources/rasterizer.cc",
    "resources/rasterizer.h",
    "resources/release_callback.h",
    "resources/resource.cc",
    "resources/resource.h",
    "resources/resource_format.h",
    "resources/resource_format.cc",
    "resources/resource_pool.cc",
    "resources/resource_pool.h",
    "resources/resource_provider.cc",
    "resources/resource_provider.h",
    "resources/resource_update.cc",
    "resources/resource_update.h",
    "resources/resource_update_controller.cc",
    "resources/resource_update_controller.h",
    "resources/resource_update_queue.cc",
    "resources/resource_update_queue.h",
    "resources/returned_resource.h",
    "resources/scoped_resource.cc",
    "resources/scoped_resource.h",
    "resources/scoped_ui_resource.cc",
    "resources/scoped_ui_resource.h",
    "resources/shared_bitmap.cc",
    "resources/shared_bitmap.h",
    "resources/shared_bitmap_manager.h",
    "resources/single_release_callback.cc",
    "resources/single_release_callback.h",
    "resources/skpicture_content_layer_updater.cc",
    "resources/skpicture_content_layer_updater.h",
    "resources/task_graph_runner.cc",
    "resources/task_graph_runner.h",
    "resources/texture_mailbox.cc",
    "resources/texture_mailbox.h",
    "resources/texture_mailbox_deleter.cc",
    "resources/texture_mailbox_deleter.h",
    "resources/texture_uploader.cc",
    "resources/texture_uploader.h",
    "resources/tile.cc",
    "resources/tile.h",
    "resources/tile_manager.cc",
    "resources/tile_manager.h",
    "resources/tile_priority.cc",
    "resources/tile_priority.h",
    "resources/transferable_resource.cc",
    "resources/transferable_resource.h",
    "resources/ui_resource_bitmap.cc",
    "resources/ui_resource_bitmap.h",
    "resources/ui_resource_client.h",
    "resources/ui_resource_request.cc",
    "resources/ui_resource_request.h",
    "resources/video_resource_updater.cc",
    "resources/video_resource_updater.h",
    "scheduler/delay_based_time_source.cc",
    "scheduler/delay_based_time_source.h",
    "scheduler/draw_result.h",
    "scheduler/scheduler.cc",
    "scheduler/scheduler.h",
    "scheduler/scheduler_settings.cc",
    "scheduler/scheduler_settings.h",
    "scheduler/scheduler_state_machine.cc",
    "scheduler/scheduler_state_machine.h",
    "scheduler/time_source.h",
    "trees/blocking_task_runner.cc",
    "trees/blocking_task_runner.h",
    "trees/damage_tracker.cc",
    "trees/damage_tracker.h",
    "trees/layer_sorter.cc",
    "trees/layer_sorter.h",
    "trees/layer_tree_host.cc",
    "trees/layer_tree_host.h",
    "trees/layer_tree_host_client.h",
    "trees/layer_tree_host_common.cc",
    "trees/layer_tree_host_common.h",
    "trees/layer_tree_host_impl.cc",
    "trees/layer_tree_host_impl.h",
    "trees/layer_tree_impl.cc",
    "trees/layer_tree_impl.h",
    "trees/layer_tree_settings.cc",
    "trees/layer_tree_settings.h",
    "trees/occlusion_tracker.cc",
    "trees/occlusion_tracker.h",
    "trees/proxy.cc",
    "trees/proxy.h",
    "trees/proxy_timing_history.cc",
    "trees/proxy_timing_history.h",
    "trees/single_thread_proxy.cc",
    "trees/single_thread_proxy.h",
    "trees/thread_proxy.cc",
    "trees/thread_proxy.h",
    "trees/tree_synchronizer.cc",
    "trees/tree_synchronizer.h",
  ]

  if (is_win) {
    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    cflags = [ "/wd4267" ]  # size_t -> int
  }

  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
    "//gpu",
    #"//media",  TODO(GYP)
    "//skia",
    "//ui/events:events_base",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/gl",
  ]
  forward_dependent_configs_from = [
    "//skia",
  ]

  defined = [ "CC_IMPLEMENTATION=1" ]

  if (!is_debug && is_win) {
    configs -= [ "//build/config/compiler:optimize" ]
    configs += [ "//build/config/compiler:optimize_max" ]
  }
}

component("cc_surfaces") {
  sources = [
    "surfaces/surface.cc",
    "surfaces/surface.h",
    "surfaces/surface_aggregator.cc",
    "surfaces/surface_aggregator.h",
    "surfaces/surface_manager.cc",
    "surfaces/surface_manager.h",
    "surfaces/surfaces_export.h",
  ]

  defines = [ "CC_SURFACES_IMPLEMENTATION=1" ]

  deps = [
    ":cc",
    "//base",
    "//base/third_party/dynamic_annotations",
    "//skia",
    "//ui/gfx",
    "//ui/gfx/geometry",
  ]
}

source_set("test_support") {
  sources = [
    "test/animation_test_common.cc",
    "test/animation_test_common.h",
    "test/begin_frame_args_test.cc",
    "test/begin_frame_args_test.h",
    "test/fake_content_layer.cc",
    "test/fake_content_layer.h",
    "test/fake_content_layer_client.cc",
    "test/fake_content_layer_client.h",
    "test/fake_content_layer_impl.cc",
    "test/fake_content_layer_impl.h",
    "test/fake_delegated_renderer_layer.cc",
    "test/fake_delegated_renderer_layer.h",
    "test/fake_delegated_renderer_layer_impl.cc",
    "test/fake_delegated_renderer_layer_impl.h",
    "test/fake_impl_proxy.h",
    "test/fake_layer_tree_host.cc",
    "test/fake_layer_tree_host.h",
    "test/fake_layer_tree_host_client.cc",
    "test/fake_layer_tree_host_client.h",
    "test/fake_layer_tree_host_impl.cc",
    "test/fake_layer_tree_host_impl.h",
    "test/fake_layer_tree_host_impl_client.cc",
    "test/fake_layer_tree_host_impl_client.h",
    "test/fake_output_surface.cc",
    "test/fake_output_surface.h",
    "test/fake_output_surface_client.cc",
    "test/fake_output_surface_client.h",
    "test/fake_painted_scrollbar_layer.cc",
    "test/fake_painted_scrollbar_layer.h",
    "test/fake_picture_layer.cc",
    "test/fake_picture_layer.h",
    "test/fake_picture_layer_impl.cc",
    "test/fake_picture_layer_impl.h",
    "test/fake_picture_layer_tiling_client.cc",
    "test/fake_picture_layer_tiling_client.h",
    "test/fake_picture_pile_impl.cc",
    "test/fake_picture_pile_impl.h",
    "test/fake_proxy.cc",
    "test/fake_proxy.h",
    "test/fake_renderer_client.cc",
    "test/fake_renderer_client.h",
    "test/fake_rendering_stats_instrumentation.h",
    "test/fake_scoped_ui_resource.cc",
    "test/fake_scoped_ui_resource.h",
    "test/fake_scrollbar.cc",
    "test/fake_scrollbar.h",
    "test/fake_tile_manager.cc",
    "test/fake_tile_manager.h",
    "test/fake_tile_manager_client.cc",
    "test/fake_tile_manager_client.h",
    "test/fake_ui_resource_layer_tree_host_impl.cc",
    "test/fake_ui_resource_layer_tree_host_impl.h",
    "test/fake_video_frame_provider.cc",
    "test/fake_video_frame_provider.h",
    "test/geometry_test_utils.cc",
    "test/geometry_test_utils.h",
    "test/test_in_process_context_provider.cc",
    "test/test_in_process_context_provider.h",
    "test/impl_side_painting_settings.h",
    "test/layer_test_common.cc",
    "test/layer_test_common.h",
    "test/layer_tree_host_common_test.cc",
    "test/layer_tree_host_common_test.h",
    "test/layer_tree_json_parser.cc",
    "test/layer_tree_json_parser.h",
    "test/layer_tree_pixel_test.cc",
    "test/layer_tree_pixel_test.h",
    "test/layer_tree_test.cc",
    "test/layer_tree_test.h",
    "test/mock_occlusion_tracker.h",
    "test/mock_quad_culler.cc",
    "test/mock_quad_culler.h",
    "test/ordered_simple_task_runner.cc",
    "test/ordered_simple_task_runner.h",
    "test/ordered_texture_map.cc",
    "test/ordered_texture_map.h",
    "test/paths.cc",
    "test/paths.h",
    "test/pixel_comparator.cc",
    "test/pixel_comparator.h",
    "test/pixel_test.cc",
    "test/pixel_test.h",
    "test/pixel_test_output_surface.cc",
    "test/pixel_test_output_surface.h",
    "test/pixel_test_software_output_device.cc",
    "test/pixel_test_software_output_device.h",
    "test/pixel_test_utils.cc",
    "test/pixel_test_utils.h",
    "test/render_pass_test_common.cc",
    "test/render_pass_test_common.h",
    "test/render_pass_test_utils.cc",
    "test/render_pass_test_utils.h",
    "test/scheduler_test_common.cc",
    "test/scheduler_test_common.h",
    "test/skia_common.cc",
    "test/skia_common.h",
    "test/solid_color_content_layer_client.cc",
    "test/solid_color_content_layer_client.h",
    "test/test_context_provider.cc",
    "test/test_context_provider.h",
    "test/test_context_support.cc",
    "test/test_context_support.h",
    "test/test_gles2_interface.cc",
    "test/test_gles2_interface.h",
    "test/test_occlusion_tracker.h",
    "test/test_shared_bitmap_manager.cc",
    "test/test_shared_bitmap_manager.h",
    "test/test_texture.cc",
    "test/test_texture.h",
    "test/test_tile_priorities.cc",
    "test/test_tile_priorities.h",
    "test/test_web_graphics_context_3d.cc",
    "test/test_web_graphics_context_3d.h",
    "test/tiled_layer_test_common.cc",
    "test/tiled_layer_test_common.h",
  ]

  include_dirs = [
    ".",
    "test",
  ]

  deps = [
    "//base",
    "//base/third_party/dynamic_annotations",
    "//gpu:gpu_unittest_utils",
    "//gpu/command_buffer/client:gles2_c_lib",
    "//gpu/command_buffer/client:gles2_implementation",
    "//gpu/command_buffer/client:gl_in_process_context",
    "//gpu/skia_bindings",
    "//skia",
    "//testing/gmock",
    "//testing/gtest",
    # TODO(GYP)
    #"//third_party/mesa/mesa.gyp:osmesa",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/gfx:gfx_test_support",
    "//ui/gl",
  ]
}

# TODO(GYP) make these tests link when all deps are resolved.
if (false) {

test("cc_unittests") {
  sources = [
    "animation/animation_unittest.cc",
    "animation/keyframed_animation_curve_unittest.cc",
    "animation/layer_animation_controller_unittest.cc",
    "animation/scroll_offset_animation_curve_unittest.cc",
    "animation/scrollbar_animation_controller_linear_fade_unittest.cc",
    "animation/scrollbar_animation_controller_thinning_unittest.cc",
    "animation/transform_operations_unittest.cc",
    "base/float_quad_unittest.cc",
    "base/math_util_unittest.cc",
    "base/region_unittest.cc",
    "base/rolling_time_delta_history_unittest.cc",
    "base/scoped_ptr_vector_unittest.cc",
    "base/tiling_data_unittest.cc",
    "base/util_unittest.cc",
    "debug/micro_benchmark_controller_unittest.cc",
    "input/top_controls_manager_unittest.cc",
    "layers/content_layer_unittest.cc",
    "layers/contents_scaling_layer_unittest.cc",
    "layers/delegated_frame_provider_unittest.cc",
    "layers/delegated_frame_resource_collection_unittest.cc",
    "layers/delegated_renderer_layer_impl_unittest.cc",
    "layers/heads_up_display_unittest.cc",
    "layers/heads_up_display_layer_impl_unittest.cc",
    "layers/io_surface_layer_impl_unittest.cc",
    "layers/layer_impl_unittest.cc",
    "layers/layer_iterator_unittest.cc",
    "layers/layer_position_constraint_unittest.cc",
    "layers/layer_unittest.cc",
    "layers/layer_utils_unittest.cc",
    "layers/nine_patch_layer_impl_unittest.cc",
    "layers/nine_patch_layer_unittest.cc",
    "layers/painted_scrollbar_layer_impl_unittest.cc",
    "layers/picture_image_layer_impl_unittest.cc",
    "layers/picture_layer_impl_unittest.cc",
    "layers/picture_layer_unittest.cc",
    "layers/render_surface_unittest.cc",
    "layers/render_surface_impl_unittest.cc",
    "layers/scrollbar_layer_unittest.cc",
    "layers/solid_color_layer_impl_unittest.cc",
    "layers/solid_color_scrollbar_layer_impl_unittest.cc",
    "layers/surface_layer_impl_unittest.cc",
    "layers/texture_layer_unittest.cc",
    "layers/texture_layer_impl_unittest.cc",
    "layers/tiled_layer_impl_unittest.cc",
    "layers/tiled_layer_unittest.cc",
    "layers/ui_resource_layer_impl_unittest.cc",
    "layers/ui_resource_layer_unittest.cc",
    "layers/video_layer_impl_unittest.cc",
    "output/begin_frame_args_unittest.cc",
    "output/delegating_renderer_unittest.cc",
    "output/filter_operations_unittest.cc",
    "output/gl_renderer_unittest.cc",
    "output/output_surface_unittest.cc",
    "output/overlay_unittest.cc",
    "output/renderer_pixeltest.cc",
    "output/renderer_unittest.cc",
    "output/shader_unittest.cc",
    "output/software_renderer_unittest.cc",
    "quads/draw_quad_unittest.cc",
    "quads/render_pass_unittest.cc",
    "resources/layer_quad_unittest.cc",
    "resources/picture_layer_tiling_set_unittest.cc",
    "resources/picture_layer_tiling_unittest.cc",
    "resources/picture_pile_impl_unittest.cc",
    "resources/picture_pile_unittest.cc",
    "resources/picture_unittest.cc",
    "resources/prioritized_resource_unittest.cc",
    "resources/prioritized_tile_set_unittest.cc",
    "resources/raster_worker_pool_unittest.cc",
    "resources/resource_provider_unittest.cc",
    "resources/resource_update_controller_unittest.cc",
    "resources/scoped_resource_unittest.cc",
    "resources/task_graph_runner_unittest.cc",
    "resources/texture_mailbox_deleter_unittest.cc",
    "resources/texture_uploader_unittest.cc",
    "resources/tile_manager_unittest.cc",
    "resources/tile_priority_unittest.cc",
    "resources/video_resource_updater_unittest.cc",
    "scheduler/delay_based_time_source_unittest.cc",
    "scheduler/scheduler_state_machine_unittest.cc",
    "scheduler/scheduler_unittest.cc",
    "test/layer_tree_json_parser_unittest.cc",
    "test/test_web_graphics_context_3d_unittest.cc",
    "trees/damage_tracker_unittest.cc",
    "trees/layer_sorter_unittest.cc",
    "trees/layer_tree_host_common_unittest.cc",
    "trees/layer_tree_host_impl_unittest.cc",
    "trees/layer_tree_host_pixeltest_blending.cc",
    "trees/layer_tree_host_pixeltest_filters.cc",
    "trees/layer_tree_host_pixeltest_masks.cc",
    "trees/layer_tree_host_pixeltest_on_demand_raster.cc",
    "trees/layer_tree_host_pixeltest_readback.cc",
    "trees/layer_tree_host_unittest.cc",
    "trees/layer_tree_host_unittest_animation.cc",
    "trees/layer_tree_host_unittest_context.cc",
    "trees/layer_tree_host_unittest_copyrequest.cc",
    "trees/layer_tree_host_unittest_damage.cc",
    "trees/layer_tree_host_unittest_delegated.cc",
    "trees/layer_tree_host_unittest_occlusion.cc",
    "trees/layer_tree_host_unittest_no_message_loop.cc",
    "trees/layer_tree_host_unittest_picture.cc",
    "trees/layer_tree_host_unittest_proxy.cc",
    "trees/layer_tree_host_unittest_scroll.cc",
    "trees/layer_tree_host_unittest_video.cc",
    "trees/layer_tree_impl_unittest.cc",
    "trees/occlusion_tracker_unittest.cc",
    "trees/tree_synchronizer_unittest.cc",

    # Surfaces test files.
    "surfaces/surface_aggregator_test_helpers.cc",
    "surfaces/surface_aggregator_test_helpers.h",
    "surfaces/surface_aggregator_unittest.cc",
    "surfaces/surface_unittest.cc",
    "surfaces/surfaces_pixeltest.cc",

    # Setup.
    "test/run_all_unittests.cc",
    "test/cc_test_suite.cc",
  ]

  deps = [
    ":cc",
    ":cc_surfaces",
    ":test_support",
    "//base/test:test_support",
    "//gpu",
    "//gpu:gpu_unittest_utils",
    # TODO(GYP)
    #"//media",
    "//testing/gmock",
    "//testing/gtest",
    "//ui/events:events_base",
    "//ui/gfx",
    "//ui/gfx/geometry",
  ]
}

test("cc_perftests") {
  # TODO(GYP)
}

}  # if false