Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / cc / BUILD.gn
blob922ac34aafe60e8b8be1b511aacfcb663c482830
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//testing/test.gni")
7 component("cc") {
8   sources = [
9     "animation/animation.cc",
10     "animation/animation.h",
11     "animation/animation_curve.cc",
12     "animation/animation_curve.h",
13     "animation/animation_delegate.h",
14     "animation/animation_events.cc",
15     "animation/animation_events.h",
16     "animation/animation_host.cc",
17     "animation/animation_host.h",
18     "animation/animation_id_provider.cc",
19     "animation/animation_id_provider.h",
20     "animation/animation_player.cc",
21     "animation/animation_player.h",
22     "animation/animation_registrar.cc",
23     "animation/animation_registrar.h",
24     "animation/animation_timeline.cc",
25     "animation/animation_timeline.h",
26     "animation/element_animations.cc",
27     "animation/element_animations.h",
28     "animation/keyframed_animation_curve.cc",
29     "animation/keyframed_animation_curve.h",
30     "animation/layer_animation_controller.cc",
31     "animation/layer_animation_controller.h",
32     "animation/layer_animation_event_observer.h",
33     "animation/layer_animation_value_observer.h",
34     "animation/layer_animation_value_provider.h",
35     "animation/scroll_offset_animation_curve.cc",
36     "animation/scroll_offset_animation_curve.h",
37     "animation/scrollbar_animation_controller.cc",
38     "animation/scrollbar_animation_controller.h",
39     "animation/scrollbar_animation_controller_linear_fade.cc",
40     "animation/scrollbar_animation_controller_linear_fade.h",
41     "animation/scrollbar_animation_controller_thinning.cc",
42     "animation/scrollbar_animation_controller_thinning.h",
43     "animation/timing_function.cc",
44     "animation/timing_function.h",
45     "animation/transform_operation.cc",
46     "animation/transform_operation.h",
47     "animation/transform_operations.cc",
48     "animation/transform_operations.h",
49     "debug/benchmark_instrumentation.cc",
50     "debug/benchmark_instrumentation.h",
51     "debug/debug_colors.cc",
52     "debug/debug_colors.h",
53     "debug/debug_rect_history.cc",
54     "debug/debug_rect_history.h",
55     "debug/devtools_instrumentation.h",
56     "debug/frame_rate_counter.cc",
57     "debug/frame_rate_counter.h",
58     "debug/frame_timing_request.cc",
59     "debug/frame_timing_request.h",
60     "debug/frame_timing_tracker.cc",
61     "debug/frame_timing_tracker.h",
62     "debug/frame_viewer_instrumentation.cc",
63     "debug/frame_viewer_instrumentation.h",
64     "debug/invalidation_benchmark.cc",
65     "debug/invalidation_benchmark.h",
66     "debug/lap_timer.cc",
67     "debug/lap_timer.h",
68     "debug/layer_tree_debug_state.cc",
69     "debug/layer_tree_debug_state.h",
70     "debug/micro_benchmark.cc",
71     "debug/micro_benchmark.h",
72     "debug/micro_benchmark_controller.cc",
73     "debug/micro_benchmark_controller.h",
74     "debug/micro_benchmark_controller_impl.cc",
75     "debug/micro_benchmark_controller_impl.h",
76     "debug/micro_benchmark_impl.cc",
77     "debug/micro_benchmark_impl.h",
78     "debug/picture_debug_util.cc",
79     "debug/picture_debug_util.h",
80     "debug/picture_record_benchmark.cc",
81     "debug/picture_record_benchmark.h",
82     "debug/rasterize_and_record_benchmark.cc",
83     "debug/rasterize_and_record_benchmark.h",
84     "debug/rasterize_and_record_benchmark_impl.cc",
85     "debug/rasterize_and_record_benchmark_impl.h",
86     "debug/rendering_stats.cc",
87     "debug/rendering_stats.h",
88     "debug/rendering_stats_instrumentation.cc",
89     "debug/rendering_stats_instrumentation.h",
90     "debug/ring_buffer.h",
91     "debug/traced_display_item_list.cc",
92     "debug/traced_display_item_list.h",
93     "debug/traced_picture.cc",
94     "debug/traced_picture.h",
95     "debug/traced_value.cc",
96     "debug/traced_value.h",
97     "debug/unittest_only_benchmark.cc",
98     "debug/unittest_only_benchmark.h",
99     "debug/unittest_only_benchmark_impl.cc",
100     "debug/unittest_only_benchmark_impl.h",
101     "input/input_handler.cc",
102     "input/input_handler.h",
103     "input/layer_selection_bound.cc",
104     "input/layer_selection_bound.h",
105     "input/page_scale_animation.cc",
106     "input/page_scale_animation.h",
107     "input/scroll_elasticity_helper.cc",
108     "input/scroll_elasticity_helper.h",
109     "input/scroll_state.cc",
110     "input/scroll_state.h",
111     "input/selection.h",
112     "input/selection_bound_type.h",
113     "input/top_controls_manager.cc",
114     "input/top_controls_manager.h",
115     "input/top_controls_manager_client.h",
116     "layers/append_quads_data.h",
117     "layers/content_layer_client.h",
118     "layers/delegated_frame_provider.cc",
119     "layers/delegated_frame_provider.h",
120     "layers/delegated_frame_resource_collection.cc",
121     "layers/delegated_frame_resource_collection.h",
122     "layers/delegated_renderer_layer.cc",
123     "layers/delegated_renderer_layer.h",
124     "layers/delegated_renderer_layer_impl.cc",
125     "layers/delegated_renderer_layer_impl.h",
126     "layers/draw_properties.cc",
127     "layers/draw_properties.h",
128     "layers/heads_up_display_layer.cc",
129     "layers/heads_up_display_layer.h",
130     "layers/heads_up_display_layer_impl.cc",
131     "layers/heads_up_display_layer_impl.h",
132     "layers/io_surface_layer.cc",
133     "layers/io_surface_layer.h",
134     "layers/io_surface_layer_impl.cc",
135     "layers/io_surface_layer_impl.h",
136     "layers/layer.cc",
137     "layers/layer.h",
138     "layers/layer_client.h",
139     "layers/layer_impl.cc",
140     "layers/layer_impl.h",
141     "layers/layer_iterator.h",
142     "layers/layer_lists.h",
143     "layers/layer_position_constraint.cc",
144     "layers/layer_position_constraint.h",
145     "layers/layer_utils.cc",
146     "layers/layer_utils.h",
147     "layers/nine_patch_layer.cc",
148     "layers/nine_patch_layer.h",
149     "layers/nine_patch_layer_impl.cc",
150     "layers/nine_patch_layer_impl.h",
151     "layers/paint_properties.h",
152     "layers/painted_scrollbar_layer.cc",
153     "layers/painted_scrollbar_layer.h",
154     "layers/painted_scrollbar_layer_impl.cc",
155     "layers/painted_scrollbar_layer_impl.h",
156     "layers/picture_image_layer.cc",
157     "layers/picture_image_layer.h",
158     "layers/picture_image_layer_impl.cc",
159     "layers/picture_image_layer_impl.h",
160     "layers/picture_layer.cc",
161     "layers/picture_layer.h",
162     "layers/picture_layer_impl.cc",
163     "layers/picture_layer_impl.h",
164     "layers/render_pass_sink.h",
165     "layers/render_surface_draw_properties.cc",
166     "layers/render_surface_draw_properties.h",
167     "layers/render_surface_impl.cc",
168     "layers/render_surface_impl.h",
169     "layers/scrollbar_layer_impl_base.cc",
170     "layers/scrollbar_layer_impl_base.h",
171     "layers/scrollbar_layer_interface.h",
172     "layers/solid_color_layer.cc",
173     "layers/solid_color_layer.h",
174     "layers/solid_color_layer_impl.cc",
175     "layers/solid_color_layer_impl.h",
176     "layers/solid_color_scrollbar_layer.cc",
177     "layers/solid_color_scrollbar_layer.h",
178     "layers/solid_color_scrollbar_layer_impl.cc",
179     "layers/solid_color_scrollbar_layer_impl.h",
180     "layers/surface_layer.cc",
181     "layers/surface_layer.h",
182     "layers/surface_layer_impl.cc",
183     "layers/surface_layer_impl.h",
184     "layers/texture_layer.cc",
185     "layers/texture_layer.h",
186     "layers/texture_layer_client.h",
187     "layers/texture_layer_impl.cc",
188     "layers/texture_layer_impl.h",
189     "layers/ui_resource_layer.cc",
190     "layers/ui_resource_layer.h",
191     "layers/ui_resource_layer_impl.cc",
192     "layers/ui_resource_layer_impl.h",
193     "layers/video_frame_provider.h",
194     "layers/video_frame_provider_client_impl.cc",
195     "layers/video_frame_provider_client_impl.h",
196     "layers/video_layer.cc",
197     "layers/video_layer.h",
198     "layers/video_layer_impl.cc",
199     "layers/video_layer_impl.h",
200     "layers/viewport.cc",
201     "layers/viewport.h",
202     "output/begin_frame_args.cc",
203     "output/begin_frame_args.h",
204     "output/bsp_tree.cc",
205     "output/bsp_tree.h",
206     "output/bsp_walk_action.cc",
207     "output/bsp_walk_action.h",
208     "output/compositor_frame.cc",
209     "output/compositor_frame.h",
210     "output/compositor_frame_ack.cc",
211     "output/compositor_frame_ack.h",
212     "output/compositor_frame_metadata.cc",
213     "output/compositor_frame_metadata.h",
214     "output/context_provider.cc",
215     "output/context_provider.h",
216     "output/copy_output_request.cc",
217     "output/copy_output_request.h",
218     "output/copy_output_result.cc",
219     "output/copy_output_result.h",
220     "output/delegated_frame_data.cc",
221     "output/delegated_frame_data.h",
222     "output/delegating_renderer.cc",
223     "output/delegating_renderer.h",
224     "output/direct_renderer.cc",
225     "output/direct_renderer.h",
226     "output/dynamic_geometry_binding.cc",
227     "output/dynamic_geometry_binding.h",
228     "output/filter_operation.cc",
229     "output/filter_operation.h",
230     "output/filter_operations.cc",
231     "output/filter_operations.h",
232     "output/geometry_binding.cc",
233     "output/geometry_binding.h",
234     "output/gl_frame_data.cc",
235     "output/gl_frame_data.h",
236     "output/gl_renderer.cc",
237     "output/gl_renderer.h",
238     "output/gl_renderer_draw_cache.cc",
239     "output/gl_renderer_draw_cache.h",
240     "output/latency_info_swap_promise.cc",
241     "output/latency_info_swap_promise.h",
242     "output/layer_quad.cc",
243     "output/layer_quad.h",
244     "output/managed_memory_policy.cc",
245     "output/managed_memory_policy.h",
246     "output/output_surface.cc",
247     "output/output_surface.h",
248     "output/output_surface_client.h",
249     "output/overlay_candidate.cc",
250     "output/overlay_candidate.h",
251     "output/overlay_candidate_validator.h",
252     "output/overlay_processor.cc",
253     "output/overlay_processor.h",
254     "output/overlay_strategy_common.cc",
255     "output/overlay_strategy_common.h",
256     "output/overlay_strategy_sandwich.cc",
257     "output/overlay_strategy_sandwich.h",
258     "output/overlay_strategy_single_on_top.cc",
259     "output/overlay_strategy_single_on_top.h",
260     "output/overlay_strategy_underlay.cc",
261     "output/overlay_strategy_underlay.h",
262     "output/program_binding.cc",
263     "output/program_binding.h",
264     "output/render_surface_filters.cc",
265     "output/render_surface_filters.h",
266     "output/renderer.cc",
267     "output/renderer.h",
268     "output/renderer_capabilities.cc",
269     "output/renderer_capabilities.h",
270     "output/renderer_settings.cc",
271     "output/renderer_settings.h",
272     "output/shader.cc",
273     "output/shader.h",
274     "output/software_output_device.cc",
275     "output/software_output_device.h",
276     "output/software_renderer.cc",
277     "output/software_renderer.h",
278     "output/static_geometry_binding.cc",
279     "output/static_geometry_binding.h",
280     "output/swap_promise.h",
281     "output/texture_mailbox_deleter.cc",
282     "output/texture_mailbox_deleter.h",
283     "output/viewport_selection_bound.cc",
284     "output/viewport_selection_bound.h",
285     "playback/clip_display_item.cc",
286     "playback/clip_display_item.h",
287     "playback/clip_path_display_item.cc",
288     "playback/clip_path_display_item.h",
289     "playback/compositing_display_item.cc",
290     "playback/compositing_display_item.h",
291     "playback/discardable_image_map.cc",
292     "playback/discardable_image_map.h",
293     "playback/display_item.cc",
294     "playback/display_item.h",
295     "playback/display_item_list.cc",
296     "playback/display_item_list.h",
297     "playback/display_item_list_settings.cc",
298     "playback/display_item_list_settings.h",
299     "playback/display_list_raster_source.cc",
300     "playback/display_list_raster_source.h",
301     "playback/display_list_recording_source.cc",
302     "playback/display_list_recording_source.h",
303     "playback/drawing_display_item.cc",
304     "playback/drawing_display_item.h",
305     "playback/filter_display_item.cc",
306     "playback/filter_display_item.h",
307     "playback/float_clip_display_item.cc",
308     "playback/float_clip_display_item.h",
309     "playback/largest_display_item.cc",
310     "playback/largest_display_item.h",
311     "playback/picture.cc",
312     "playback/picture.h",
313     "playback/picture_pile.cc",
314     "playback/picture_pile.h",
315     "playback/picture_pile_impl.cc",
316     "playback/picture_pile_impl.h",
317     "playback/raster_source.h",
318     "playback/raster_source_helper.cc",
319     "playback/raster_source_helper.h",
320     "playback/transform_display_item.cc",
321     "playback/transform_display_item.h",
322     "quads/content_draw_quad_base.cc",
323     "quads/content_draw_quad_base.h",
324     "quads/debug_border_draw_quad.cc",
325     "quads/debug_border_draw_quad.h",
326     "quads/draw_polygon.cc",
327     "quads/draw_polygon.h",
328     "quads/draw_quad.cc",
329     "quads/draw_quad.h",
330     "quads/io_surface_draw_quad.cc",
331     "quads/io_surface_draw_quad.h",
332     "quads/largest_draw_quad.cc",
333     "quads/largest_draw_quad.h",
334     "quads/picture_draw_quad.cc",
335     "quads/picture_draw_quad.h",
336     "quads/render_pass.cc",
337     "quads/render_pass.h",
338     "quads/render_pass_draw_quad.cc",
339     "quads/render_pass_draw_quad.h",
340     "quads/render_pass_id.cc",
341     "quads/render_pass_id.h",
342     "quads/shared_quad_state.cc",
343     "quads/shared_quad_state.h",
344     "quads/solid_color_draw_quad.cc",
345     "quads/solid_color_draw_quad.h",
346     "quads/stream_video_draw_quad.cc",
347     "quads/stream_video_draw_quad.h",
348     "quads/surface_draw_quad.cc",
349     "quads/surface_draw_quad.h",
350     "quads/texture_draw_quad.cc",
351     "quads/texture_draw_quad.h",
352     "quads/tile_draw_quad.cc",
353     "quads/tile_draw_quad.h",
354     "quads/yuv_video_draw_quad.cc",
355     "quads/yuv_video_draw_quad.h",
356     "raster/bitmap_tile_task_worker_pool.cc",
357     "raster/bitmap_tile_task_worker_pool.h",
358     "raster/gpu_rasterizer.cc",
359     "raster/gpu_rasterizer.h",
360     "raster/gpu_tile_task_worker_pool.cc",
361     "raster/gpu_tile_task_worker_pool.h",
362     "raster/one_copy_tile_task_worker_pool.cc",
363     "raster/one_copy_tile_task_worker_pool.h",
364     "raster/raster_buffer.cc",
365     "raster/raster_buffer.h",
366     "raster/scoped_gpu_raster.cc",
367     "raster/scoped_gpu_raster.h",
368     "raster/task_graph_runner.cc",
369     "raster/task_graph_runner.h",
370     "raster/texture_compressor.cc",
371     "raster/texture_compressor.h",
372     "raster/texture_compressor_etc1.cc",
373     "raster/texture_compressor_etc1.h",
374     "raster/tile_task_runner.cc",
375     "raster/tile_task_runner.h",
376     "raster/tile_task_worker_pool.cc",
377     "raster/tile_task_worker_pool.h",
378     "raster/zero_copy_tile_task_worker_pool.cc",
379     "raster/zero_copy_tile_task_worker_pool.h",
380     "resources/memory_history.cc",
381     "resources/memory_history.h",
382     "resources/platform_color.h",
383     "resources/release_callback.h",
384     "resources/resource.h",
385     "resources/resource_format.cc",
386     "resources/resource_format.h",
387     "resources/resource_pool.cc",
388     "resources/resource_pool.h",
389     "resources/resource_provider.cc",
390     "resources/resource_provider.h",
391     "resources/resource_util.h",
392     "resources/returned_resource.h",
393     "resources/scoped_resource.cc",
394     "resources/scoped_resource.h",
395     "resources/scoped_ui_resource.cc",
396     "resources/scoped_ui_resource.h",
397     "resources/shared_bitmap.cc",
398     "resources/shared_bitmap.h",
399     "resources/shared_bitmap_manager.h",
400     "resources/single_release_callback.cc",
401     "resources/single_release_callback.h",
402     "resources/single_release_callback_impl.cc",
403     "resources/single_release_callback_impl.h",
404     "resources/texture_mailbox.cc",
405     "resources/texture_mailbox.h",
406     "resources/transferable_resource.cc",
407     "resources/transferable_resource.h",
408     "resources/ui_resource_bitmap.cc",
409     "resources/ui_resource_bitmap.h",
410     "resources/ui_resource_client.h",
411     "resources/ui_resource_request.cc",
412     "resources/ui_resource_request.h",
413     "resources/video_resource_updater.cc",
414     "resources/video_resource_updater.h",
415     "scheduler/begin_frame_source.cc",
416     "scheduler/begin_frame_source.h",
417     "scheduler/begin_frame_tracker.cc",
418     "scheduler/begin_frame_tracker.h",
419     "scheduler/commit_earlyout_reason.h",
420     "scheduler/compositor_timing_history.cc",
421     "scheduler/compositor_timing_history.h",
422     "scheduler/delay_based_time_source.cc",
423     "scheduler/delay_based_time_source.h",
424     "scheduler/draw_result.h",
425     "scheduler/scheduler.cc",
426     "scheduler/scheduler.h",
427     "scheduler/scheduler_settings.cc",
428     "scheduler/scheduler_settings.h",
429     "scheduler/scheduler_state_machine.cc",
430     "scheduler/scheduler_state_machine.h",
431     "scheduler/video_frame_controller.h",
432     "tiles/eviction_tile_priority_queue.cc",
433     "tiles/eviction_tile_priority_queue.h",
434     "tiles/image_decode_controller.cc",
435     "tiles/image_decode_controller.h",
436     "tiles/picture_layer_tiling.cc",
437     "tiles/picture_layer_tiling.h",
438     "tiles/picture_layer_tiling_set.cc",
439     "tiles/picture_layer_tiling_set.h",
440     "tiles/prioritized_tile.cc",
441     "tiles/prioritized_tile.h",
442     "tiles/raster_tile_priority_queue.cc",
443     "tiles/raster_tile_priority_queue.h",
444     "tiles/raster_tile_priority_queue_all.cc",
445     "tiles/raster_tile_priority_queue_all.h",
446     "tiles/raster_tile_priority_queue_required.cc",
447     "tiles/raster_tile_priority_queue_required.h",
448     "tiles/tile.cc",
449     "tiles/tile.h",
450     "tiles/tile_draw_info.cc",
451     "tiles/tile_draw_info.h",
452     "tiles/tile_manager.cc",
453     "tiles/tile_manager.h",
454     "tiles/tile_priority.cc",
455     "tiles/tile_priority.h",
456     "tiles/tiling_set_eviction_queue.cc",
457     "tiles/tiling_set_eviction_queue.h",
458     "tiles/tiling_set_raster_queue_all.cc",
459     "tiles/tiling_set_raster_queue_all.h",
460     "tiles/tiling_set_raster_queue_required.cc",
461     "tiles/tiling_set_raster_queue_required.h",
462     "trees/blocking_task_runner.cc",
463     "trees/blocking_task_runner.h",
464     "trees/damage_tracker.cc",
465     "trees/damage_tracker.h",
466     "trees/draw_property_utils.cc",
467     "trees/draw_property_utils.h",
468     "trees/latency_info_swap_promise_monitor.cc",
469     "trees/latency_info_swap_promise_monitor.h",
470     "trees/layer_tree_host.cc",
471     "trees/layer_tree_host.h",
472     "trees/layer_tree_host_client.h",
473     "trees/layer_tree_host_common.cc",
474     "trees/layer_tree_host_common.h",
475     "trees/layer_tree_host_impl.cc",
476     "trees/layer_tree_host_impl.h",
477     "trees/layer_tree_host_single_thread_client.h",
478     "trees/layer_tree_impl.cc",
479     "trees/layer_tree_impl.h",
480     "trees/layer_tree_settings.cc",
481     "trees/layer_tree_settings.h",
482     "trees/mutator_host_client.h",
483     "trees/occlusion.cc",
484     "trees/occlusion.h",
485     "trees/occlusion_tracker.cc",
486     "trees/occlusion_tracker.h",
487     "trees/property_tree.cc",
488     "trees/property_tree.h",
489     "trees/property_tree_builder.cc",
490     "trees/property_tree_builder.h",
491     "trees/proxy.cc",
492     "trees/proxy.h",
493     "trees/scoped_abort_remaining_swap_promises.h",
494     "trees/single_thread_proxy.cc",
495     "trees/single_thread_proxy.h",
496     "trees/swap_promise_monitor.cc",
497     "trees/swap_promise_monitor.h",
498     "trees/thread_proxy.cc",
499     "trees/thread_proxy.h",
500     "trees/tree_synchronizer.cc",
501     "trees/tree_synchronizer.h",
502   ]
504   if (target_cpu == "x86" || target_cpu == "x64") {
505     sources += [
506       "raster/texture_compressor_etc1_sse.cc",
507       "raster/texture_compressor_etc1_sse.h",
508     ]
509   }
511   configs += [ "//build/config:precompiled_headers" ]
513   public_deps = [
514     "//cc/base",
515     "//skia",
516   ]
517   deps = [
518     "//base",
519     "//base/third_party/dynamic_annotations",
520     "//cc/surfaces:surface_id",
521     "//gpu",
522     "//gpu/command_buffer/client:gles2_interface",
523     "//media",
524     "//ui/events:events_base",
525     "//ui/gfx",
526     "//ui/gfx/geometry",
527     "//ui/gl",
528   ]
530   defines = [ "CC_IMPLEMENTATION=1" ]
532   if (!is_debug && (is_win || is_android)) {
533     configs -= [ "//build/config/compiler:default_optimization" ]
534     configs += [ "//build/config/compiler:optimize_max" ]
535   }
538 source_set("test_support") {
539   testonly = true
540   sources = [
541     "test/animation_test_common.cc",
542     "test/animation_test_common.h",
543     "test/animation_timelines_test_common.cc",
544     "test/animation_timelines_test_common.h",
545     "test/begin_frame_args_test.cc",
546     "test/begin_frame_args_test.h",
547     "test/failure_output_surface.cc",
548     "test/failure_output_surface.h",
549     "test/fake_content_layer_client.cc",
550     "test/fake_content_layer_client.h",
551     "test/fake_delegated_renderer_layer.cc",
552     "test/fake_delegated_renderer_layer.h",
553     "test/fake_delegated_renderer_layer_impl.cc",
554     "test/fake_delegated_renderer_layer_impl.h",
555     "test/fake_display_list_recording_source.cc",
556     "test/fake_display_list_recording_source.h",
557     "test/fake_external_begin_frame_source.cc",
558     "test/fake_external_begin_frame_source.h",
559     "test/fake_impl_proxy.h",
560     "test/fake_layer_tree_host.cc",
561     "test/fake_layer_tree_host.h",
562     "test/fake_layer_tree_host_client.cc",
563     "test/fake_layer_tree_host_client.h",
564     "test/fake_layer_tree_host_impl.cc",
565     "test/fake_layer_tree_host_impl.h",
566     "test/fake_layer_tree_host_impl_client.cc",
567     "test/fake_layer_tree_host_impl_client.h",
568     "test/fake_output_surface.cc",
569     "test/fake_output_surface.h",
570     "test/fake_output_surface_client.cc",
571     "test/fake_output_surface_client.h",
572     "test/fake_painted_scrollbar_layer.cc",
573     "test/fake_painted_scrollbar_layer.h",
574     "test/fake_picture_layer.cc",
575     "test/fake_picture_layer.h",
576     "test/fake_picture_layer_impl.cc",
577     "test/fake_picture_layer_impl.h",
578     "test/fake_picture_layer_tiling_client.cc",
579     "test/fake_picture_layer_tiling_client.h",
580     "test/fake_picture_pile.cc",
581     "test/fake_picture_pile.h",
582     "test/fake_picture_pile_impl.cc",
583     "test/fake_picture_pile_impl.h",
584     "test/fake_proxy.cc",
585     "test/fake_proxy.h",
586     "test/fake_renderer_client.cc",
587     "test/fake_renderer_client.h",
588     "test/fake_rendering_stats_instrumentation.h",
589     "test/fake_resource_provider.h",
590     "test/fake_scoped_ui_resource.cc",
591     "test/fake_scoped_ui_resource.h",
592     "test/fake_scrollbar.cc",
593     "test/fake_scrollbar.h",
594     "test/fake_tile_manager.cc",
595     "test/fake_tile_manager.h",
596     "test/fake_tile_manager_client.cc",
597     "test/fake_tile_manager_client.h",
598     "test/fake_ui_resource_layer_tree_host_impl.cc",
599     "test/fake_ui_resource_layer_tree_host_impl.h",
600     "test/fake_video_frame_provider.cc",
601     "test/fake_video_frame_provider.h",
602     "test/geometry_test_utils.cc",
603     "test/geometry_test_utils.h",
604     "test/layer_test_common.cc",
605     "test/layer_test_common.h",
606     "test/layer_tree_host_common_test.cc",
607     "test/layer_tree_host_common_test.h",
608     "test/layer_tree_json_parser.cc",
609     "test/layer_tree_json_parser.h",
610     "test/layer_tree_pixel_resource_test.cc",
611     "test/layer_tree_pixel_resource_test.h",
612     "test/layer_tree_pixel_test.cc",
613     "test/layer_tree_pixel_test.h",
614     "test/layer_tree_test.cc",
615     "test/layer_tree_test.h",
616     "test/mock_occlusion_tracker.h",
617     "test/ordered_simple_task_runner.cc",
618     "test/ordered_simple_task_runner.h",
619     "test/ordered_texture_map.cc",
620     "test/ordered_texture_map.h",
621     "test/paths.cc",
622     "test/paths.h",
623     "test/pixel_comparator.cc",
624     "test/pixel_comparator.h",
625     "test/pixel_test.cc",
626     "test/pixel_test.h",
627     "test/pixel_test_output_surface.cc",
628     "test/pixel_test_output_surface.h",
629     "test/pixel_test_software_output_device.cc",
630     "test/pixel_test_software_output_device.h",
631     "test/pixel_test_utils.cc",
632     "test/pixel_test_utils.h",
633     "test/render_pass_test_utils.cc",
634     "test/render_pass_test_utils.h",
635     "test/scheduler_test_common.cc",
636     "test/scheduler_test_common.h",
637     "test/skia_common.cc",
638     "test/skia_common.h",
639     "test/solid_color_content_layer_client.cc",
640     "test/solid_color_content_layer_client.h",
641     "test/test_context_provider.cc",
642     "test/test_context_provider.h",
643     "test/test_context_support.cc",
644     "test/test_context_support.h",
645     "test/test_gles2_interface.cc",
646     "test/test_gles2_interface.h",
647     "test/test_gpu_memory_buffer_manager.cc",
648     "test/test_gpu_memory_buffer_manager.h",
649     "test/test_image_factory.cc",
650     "test/test_image_factory.h",
651     "test/test_in_process_context_provider.cc",
652     "test/test_in_process_context_provider.h",
653     "test/test_occlusion_tracker.h",
654     "test/test_shared_bitmap_manager.cc",
655     "test/test_shared_bitmap_manager.h",
656     "test/test_task_graph_runner.cc",
657     "test/test_task_graph_runner.h",
658     "test/test_texture.cc",
659     "test/test_texture.h",
660     "test/test_tile_priorities.cc",
661     "test/test_tile_priorities.h",
662     "test/test_web_graphics_context_3d.cc",
663     "test/test_web_graphics_context_3d.h",
664   ]
666   configs += [ "//build/config:precompiled_headers" ]
667   include_dirs = [
668     ".",
669     "test",
670   ]
672   public_deps = [
673     ":cc",
674     "//gpu:test_support",
675   ]
676   deps = [
677     "//base",
678     "//base/test:test_support",
679     "//base/third_party/dynamic_annotations",
680     "//gpu/command_buffer/client:gles2_c_lib",
681     "//gpu/command_buffer/client:gles2_implementation",
682     "//gpu/command_buffer/client:gl_in_process_context",
683     "//gpu/command_buffer/common:gles2_utils",
684     "//gpu/skia_bindings",
685     "//media",
686     "//skia",
687     "//testing/gmock",
688     "//testing/gtest",
689     "//ui/gfx",
690     "//ui/gfx/geometry",
691     "//ui/gfx:test_support",
692     "//ui/gl",
693     "//ui/gl:test_support",
694   ]
696   if (!is_android) {  # TODO(GYP) Enable on Android when osmesa links.
697     deps += [ "//third_party/mesa:osmesa" ]
698   }
701 # TODO(GYP): Delete this after we've converted everything to GN.
702 # The _run targets exist only for compatibility w/ GYP.
703 group("cc_unittests_run") {
704   testonly = true
705   deps = [
706     ":cc_unittests",
707   ]
710 test("cc_unittests") {
711   sources = [
712     "animation/animation_host_unittest.cc",
713     "animation/animation_player_unittest.cc",
714     "animation/animation_timeline_unittest.cc",
715     "animation/animation_unittest.cc",
716     "animation/element_animations_unittest.cc",
717     "animation/keyframed_animation_curve_unittest.cc",
718     "animation/layer_animation_controller_unittest.cc",
719     "animation/scroll_offset_animation_curve_unittest.cc",
720     "animation/scrollbar_animation_controller_linear_fade_unittest.cc",
721     "animation/scrollbar_animation_controller_thinning_unittest.cc",
722     "animation/transform_operations_unittest.cc",
723     "base/delayed_unique_notifier_unittest.cc",
724     "base/float_quad_unittest.cc",
725     "base/histograms_unittest.cc",
726     "base/list_container_unittest.cc",
727     "base/math_util_unittest.cc",
728     "base/random_access_list_container_unittest.cc",
729     "base/region_unittest.cc",
730     "base/rolling_time_delta_history_unittest.cc",
731     "base/scoped_ptr_vector_unittest.cc",
732     "base/simple_enclosed_region_unittest.cc",
733     "base/tiling_data_unittest.cc",
734     "base/unique_notifier_unittest.cc",
735     "debug/frame_timing_tracker_unittest.cc",
736     "debug/micro_benchmark_controller_unittest.cc",
737     "debug/rendering_stats_unittest.cc",
738     "input/scroll_state_unittest.cc",
739     "input/top_controls_manager_unittest.cc",
740     "layers/delegated_frame_provider_unittest.cc",
741     "layers/delegated_frame_resource_collection_unittest.cc",
742     "layers/delegated_renderer_layer_impl_unittest.cc",
743     "layers/delegated_renderer_layer_unittest.cc",
744     "layers/heads_up_display_layer_impl_unittest.cc",
745     "layers/heads_up_display_unittest.cc",
746     "layers/io_surface_layer_impl_unittest.cc",
747     "layers/layer_impl_unittest.cc",
748     "layers/layer_iterator_unittest.cc",
749     "layers/layer_position_constraint_unittest.cc",
750     "layers/layer_unittest.cc",
751     "layers/layer_utils_unittest.cc",
752     "layers/nine_patch_layer_impl_unittest.cc",
753     "layers/nine_patch_layer_unittest.cc",
754     "layers/painted_scrollbar_layer_impl_unittest.cc",
755     "layers/picture_image_layer_impl_unittest.cc",
756     "layers/picture_image_layer_unittest.cc",
757     "layers/picture_layer_impl_unittest.cc",
758     "layers/picture_layer_unittest.cc",
759     "layers/render_surface_impl_unittest.cc",
760     "layers/render_surface_unittest.cc",
761     "layers/scrollbar_layer_unittest.cc",
762     "layers/solid_color_layer_impl_unittest.cc",
763     "layers/solid_color_scrollbar_layer_impl_unittest.cc",
764     "layers/surface_layer_impl_unittest.cc",
765     "layers/surface_layer_unittest.cc",
766     "layers/texture_layer_impl_unittest.cc",
767     "layers/texture_layer_unittest.cc",
768     "layers/ui_resource_layer_impl_unittest.cc",
769     "layers/ui_resource_layer_unittest.cc",
770     "layers/video_frame_provider_client_impl_unittest.cc",
771     "layers/video_layer_impl_unittest.cc",
772     "output/begin_frame_args_unittest.cc",
773     "output/bsp_tree_unittest.cc",
774     "output/delegating_renderer_unittest.cc",
775     "output/filter_operations_unittest.cc",
776     "output/gl_renderer_unittest.cc",
777     "output/layer_quad_unittest.cc",
778     "output/output_surface_unittest.cc",
779     "output/overlay_unittest.cc",
780     "output/renderer_pixeltest.cc",
781     "output/renderer_unittest.cc",
782     "output/shader_unittest.cc",
783     "output/software_renderer_unittest.cc",
784     "output/texture_mailbox_deleter_unittest.cc",
785     "playback/discardable_image_map_unittest.cc",
786     "playback/display_item_list_unittest.cc",
787     "playback/display_list_raster_source_unittest.cc",
788     "playback/display_list_recording_source_unittest.cc",
789     "playback/picture_pile_impl_unittest.cc",
790     "playback/picture_pile_unittest.cc",
791     "playback/picture_unittest.cc",
792     "playback/recording_source_unittest.cc",
793     "quads/draw_polygon_unittest.cc",
794     "quads/draw_quad_unittest.cc",
795     "quads/render_pass_unittest.cc",
796     "raster/scoped_gpu_raster_unittest.cc",
797     "raster/task_graph_runner_unittest.cc",
798     "raster/texture_compressor_etc1_unittest.cc",
799     "raster/tile_task_worker_pool_unittest.cc",
800     "resources/platform_color_unittest.cc",
801     "resources/resource_pool_unittest.cc",
802     "resources/resource_provider_unittest.cc",
803     "resources/resource_util_unittest.cc",
804     "resources/scoped_resource_unittest.cc",
805     "resources/video_resource_updater_unittest.cc",
806     "scheduler/begin_frame_source_unittest.cc",
807     "scheduler/compositor_timing_history_unittest.cc",
808     "scheduler/delay_based_time_source_unittest.cc",
809     "scheduler/scheduler_state_machine_unittest.cc",
810     "scheduler/scheduler_unittest.cc",
811     "test/layer_tree_json_parser_unittest.cc",
812     "test/ordered_simple_task_runner_unittest.cc",
813     "test/test_web_graphics_context_3d_unittest.cc",
814     "tiles/picture_layer_tiling_set_unittest.cc",
815     "tiles/picture_layer_tiling_unittest.cc",
816     "tiles/tile_manager_unittest.cc",
817     "tiles/tile_priority_unittest.cc",
818     "trees/blocking_task_runner_unittest.cc",
819     "trees/damage_tracker_unittest.cc",
820     "trees/layer_tree_host_common_unittest.cc",
821     "trees/layer_tree_host_impl_unittest.cc",
822     "trees/layer_tree_host_pixeltest_blending.cc",
823     "trees/layer_tree_host_pixeltest_filters.cc",
824     "trees/layer_tree_host_pixeltest_masks.cc",
825     "trees/layer_tree_host_pixeltest_readback.cc",
826     "trees/layer_tree_host_pixeltest_synchronous.cc",
827     "trees/layer_tree_host_pixeltest_tiles.cc",
828     "trees/layer_tree_host_unittest.cc",
829     "trees/layer_tree_host_unittest_animation.cc",
830     "trees/layer_tree_host_unittest_animation_timelines.cc",
831     "trees/layer_tree_host_unittest_context.cc",
832     "trees/layer_tree_host_unittest_copyrequest.cc",
833     "trees/layer_tree_host_unittest_damage.cc",
834     "trees/layer_tree_host_unittest_delegated.cc",
835     "trees/layer_tree_host_unittest_occlusion.cc",
836     "trees/layer_tree_host_unittest_picture.cc",
837     "trees/layer_tree_host_unittest_proxy.cc",
838     "trees/layer_tree_host_unittest_scroll.cc",
839     "trees/layer_tree_host_unittest_video.cc",
840     "trees/layer_tree_impl_unittest.cc",
841     "trees/occlusion_tracker_unittest.cc",
842     "trees/occlusion_unittest.cc",
843     "trees/property_tree_unittest.cc",
844     "trees/tree_synchronizer_unittest.cc",
846     # Surfaces test files.
847     "surfaces/display_scheduler_unittest.cc",
848     "surfaces/display_unittest.cc",
849     "surfaces/surface_aggregator_test_helpers.cc",
850     "surfaces/surface_aggregator_test_helpers.h",
851     "surfaces/surface_aggregator_unittest.cc",
852     "surfaces/surface_display_output_surface_unittest.cc",
853     "surfaces/surface_factory_unittest.cc",
854     "surfaces/surface_hittest_unittest.cc",
855     "surfaces/surface_unittest.cc",
856     "surfaces/surfaces_pixeltest.cc",
858     # Setup.
859     "test/cc_test_suite.cc",
860     "test/run_all_unittests.cc",
861   ]
863   configs += [ "//build/config:precompiled_headers" ]
864   data = [
865     "test/data/",
866   ]
868   deps = [
869     ":cc",
870     ":test_support",
871     "//base/test:test_support",
872     "//cc/surfaces",
873     "//cc/surfaces:surface_id",
874     "//gpu",
875     "//gpu:test_support",
876     "//gpu/command_buffer/client:gles2_interface",
877     "//gpu/command_buffer/common:gles2_utils",
878     "//media",
879     "//testing/gmock",
880     "//testing/gtest",
881     "//ui/events:events_base",
882     "//ui/gfx",
883     "//ui/gfx/geometry",
884     "//ui/gfx:test_support",
885     "//ui/gl",
886     "//ui/gl:test_support",
887   ]
889   data_deps = [ "//third_party/mesa:osmesa" ]
892 test("cc_perftests") {
893   sources = [
894     "layers/layer_perftest.cc",
895     "layers/picture_layer_impl_perftest.cc",
896     "playback/picture_pile_impl_perftest.cc",
897     "quads/draw_quad_perftest.cc",
898     "raster/task_graph_runner_perftest.cc",
899     "raster/texture_compressor_perftest.cc",
900     "raster/tile_task_worker_pool_perftest.cc",
901     "surfaces/surface_aggregator_perftest.cc",
902     "test/cc_test_suite.cc",
903     "test/run_all_perftests.cc",
904     "tiles/picture_layer_tiling_perftest.cc",
905     "tiles/tile_manager_perftest.cc",
906     "trees/layer_tree_host_common_perftest.cc",
907     "trees/layer_tree_host_perftest.cc",
908     "trees/occlusion_tracker_perftest.cc",
909   ]
911   deps = [
912     ":cc",
913     ":test_support",
914     "//base",
915     "//base/test:test_support",
916     "//cc/surfaces",
917     "//cc/surfaces:surface_id",
918     "//gpu",
919     "//gpu:test_support",
920     "//gpu/command_buffer/common:gles2_utils",
921     "//media",
922     "//skia",
923     "//testing/gmock",
924     "//testing/gtest",
925     "//testing/perf",
926     "//ui/gfx",
927     "//ui/gfx/geometry",
928     "//ui/gl",
929     "//ui/gl:test_support",
930   ]
932   if (is_android) {
933     isolate_file = "cc_perftests.isolate"
934   }
936 # When adding support for isolates, please have a look at run-time dependencies
937 # in the cc_unittests_run target in cc_tests.gyp.