tools/variations/fieldtrial_to_struct.py
[chromium-dfly.git] / cc / BUILD.gn
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.
4 import("//gpu/vulkan/features.gni")
5
6 import("//cc/cc.gni")
7
8 cc_component("cc") {
9   sources = [
10     "benchmarks/benchmark_instrumentation.cc",
11     "benchmarks/benchmark_instrumentation.h",
12     "benchmarks/invalidation_benchmark.cc",
13     "benchmarks/invalidation_benchmark.h",
14     "benchmarks/micro_benchmark.cc",
15     "benchmarks/micro_benchmark.h",
16     "benchmarks/micro_benchmark_controller.cc",
17     "benchmarks/micro_benchmark_controller.h",
18     "benchmarks/micro_benchmark_controller_impl.cc",
19     "benchmarks/micro_benchmark_controller_impl.h",
20     "benchmarks/micro_benchmark_impl.cc",
21     "benchmarks/micro_benchmark_impl.h",
22     "benchmarks/rasterize_and_record_benchmark.cc",
23     "benchmarks/rasterize_and_record_benchmark.h",
24     "benchmarks/rasterize_and_record_benchmark_impl.cc",
25     "benchmarks/rasterize_and_record_benchmark_impl.h",
26     "benchmarks/unittest_only_benchmark.cc",
27     "benchmarks/unittest_only_benchmark.h",
28     "benchmarks/unittest_only_benchmark_impl.cc",
29     "benchmarks/unittest_only_benchmark_impl.h",
30     "input/browser_controls_offset_manager.cc",
31     "input/browser_controls_offset_manager.h",
32     "input/browser_controls_offset_manager_client.h",
33     "input/input_handler.cc",
34     "input/input_handler.h",
35     "input/layer_selection_bound.cc",
36     "input/layer_selection_bound.h",
37     "input/main_thread_scrolling_reason.cc",
38     "input/main_thread_scrolling_reason.h",
39     "input/overscroll_behavior.h",
40     "input/page_scale_animation.cc",
41     "input/page_scale_animation.h",
42     "input/scroll_elasticity_helper.cc",
43     "input/scroll_elasticity_helper.h",
44     "input/scroll_snap_data.cc",
45     "input/scroll_snap_data.h",
46     "input/scroll_state.cc",
47     "input/scroll_state.h",
48     "input/scroll_state_data.cc",
49     "input/scroll_state_data.h",
50     "input/scrollbar_animation_controller.cc",
51     "input/scrollbar_animation_controller.h",
52     "input/scrollbar_controller.cc",
53     "input/scrollbar_controller.h",
54     "input/single_scrollbar_animation_controller_thinning.cc",
55     "input/single_scrollbar_animation_controller_thinning.h",
56     "input/snap_fling_controller.cc",
57     "input/snap_fling_controller.h",
58     "input/snap_fling_curve.cc",
59     "input/snap_fling_curve.h",
60     "input/snap_selection_strategy.cc",
61     "input/snap_selection_strategy.h",
62     "input/touch_action.h",
63     "layers/append_quads_data.cc",
64     "layers/append_quads_data.h",
65     "layers/content_layer_client.h",
66     "layers/deadline_policy.cc",
67     "layers/deadline_policy.h",
68     "layers/draw_mode.h",
69     "layers/draw_properties.cc",
70     "layers/draw_properties.h",
71     "layers/effect_tree_layer_list_iterator.cc",
72     "layers/effect_tree_layer_list_iterator.h",
73     "layers/heads_up_display_layer.cc",
74     "layers/heads_up_display_layer.h",
75     "layers/heads_up_display_layer_impl.cc",
76     "layers/heads_up_display_layer_impl.h",
77     "layers/layer.cc",
78     "layers/layer.h",
79     "layers/layer_client.h",
80     "layers/layer_collections.h",
81     "layers/layer_impl.cc",
82     "layers/layer_impl.h",
83     "layers/layer_impl_test_properties.cc",
84     "layers/layer_impl_test_properties.h",
85     "layers/layer_list_iterator.cc",
86     "layers/layer_list_iterator.h",
87     "layers/mirror_layer.cc",
88     "layers/mirror_layer.h",
89     "layers/mirror_layer_impl.cc",
90     "layers/mirror_layer_impl.h",
91     "layers/nine_patch_generator.cc",
92     "layers/nine_patch_generator.h",
93     "layers/nine_patch_layer.cc",
94     "layers/nine_patch_layer.h",
95     "layers/nine_patch_layer_impl.cc",
96     "layers/nine_patch_layer_impl.h",
97     "layers/painted_overlay_scrollbar_layer.cc",
98     "layers/painted_overlay_scrollbar_layer.h",
99     "layers/painted_overlay_scrollbar_layer_impl.cc",
100     "layers/painted_overlay_scrollbar_layer_impl.h",
101     "layers/painted_scrollbar_layer.cc",
102     "layers/painted_scrollbar_layer.h",
103     "layers/painted_scrollbar_layer_impl.cc",
104     "layers/painted_scrollbar_layer_impl.h",
105     "layers/picture_image_layer.cc",
106     "layers/picture_image_layer.h",
107     "layers/picture_layer.cc",
108     "layers/picture_layer.h",
109     "layers/picture_layer_impl.cc",
110     "layers/picture_layer_impl.h",
111     "layers/recording_source.cc",
112     "layers/recording_source.h",
113     "layers/render_surface_impl.cc",
114     "layers/render_surface_impl.h",
115     "layers/scrollbar_layer_impl_base.cc",
116     "layers/scrollbar_layer_impl_base.h",
117     "layers/scrollbar_layer_interface.h",
118     "layers/solid_color_layer.cc",
119     "layers/solid_color_layer.h",
120     "layers/solid_color_layer_impl.cc",
121     "layers/solid_color_layer_impl.h",
122     "layers/solid_color_scrollbar_layer.cc",
123     "layers/solid_color_scrollbar_layer.h",
124     "layers/solid_color_scrollbar_layer_impl.cc",
125     "layers/solid_color_scrollbar_layer_impl.h",
126     "layers/surface_layer.cc",
127     "layers/surface_layer.h",
128     "layers/surface_layer_impl.cc",
129     "layers/surface_layer_impl.h",
130     "layers/texture_layer.cc",
131     "layers/texture_layer.h",
132     "layers/texture_layer_client.h",
133     "layers/texture_layer_impl.cc",
134     "layers/texture_layer_impl.h",
135     "layers/tile_size_calculator.cc",
136     "layers/tile_size_calculator.h",
137     "layers/touch_action_region.cc",
138     "layers/touch_action_region.h",
139     "layers/ui_resource_layer.cc",
140     "layers/ui_resource_layer.h",
141     "layers/ui_resource_layer_impl.cc",
142     "layers/ui_resource_layer_impl.h",
143     "layers/video_frame_provider.h",
144     "layers/video_frame_provider_client_impl.cc",
145     "layers/video_frame_provider_client_impl.h",
146     "layers/video_layer.cc",
147     "layers/video_layer.h",
148     "layers/video_layer_impl.cc",
149     "layers/video_layer_impl.h",
150     "layers/viewport.cc",
151     "layers/viewport.h",
152     "metrics/compositor_frame_reporter.cc",
153     "metrics/compositor_frame_reporter.h",
154     "metrics/compositor_frame_reporting_controller.cc",
155     "metrics/compositor_frame_reporting_controller.h",
156     "metrics/compositor_timing_history.cc",
157     "metrics/compositor_timing_history.h",
158     "metrics/frame_sequence_tracker.cc",
159     "metrics/frame_sequence_tracker.h",
160     "raster/bitmap_raster_buffer_provider.cc",
161     "raster/bitmap_raster_buffer_provider.h",
162     "raster/gpu_raster_buffer_provider.cc",
163     "raster/gpu_raster_buffer_provider.h",
164     "raster/one_copy_raster_buffer_provider.cc",
165     "raster/one_copy_raster_buffer_provider.h",
166     "raster/paint_worklet_image_provider.cc",
167     "raster/paint_worklet_image_provider.h",
168     "raster/playback_image_provider.cc",
169     "raster/playback_image_provider.h",
170     "raster/raster_buffer.cc",
171     "raster/raster_buffer.h",
172     "raster/raster_buffer_provider.cc",
173     "raster/raster_buffer_provider.h",
174     "raster/raster_source.cc",
175     "raster/raster_source.h",
176     "raster/scoped_gpu_raster.cc",
177     "raster/scoped_gpu_raster.h",
178     "raster/scoped_grcontext_access.h",
179     "raster/single_thread_task_graph_runner.cc",
180     "raster/single_thread_task_graph_runner.h",
181     "raster/staging_buffer_pool.cc",
182     "raster/staging_buffer_pool.h",
183     "raster/synchronous_task_graph_runner.cc",
184     "raster/synchronous_task_graph_runner.h",
185     "raster/task.cc",
186     "raster/task.h",
187     "raster/task_category.h",
188     "raster/task_graph_runner.h",
189     "raster/task_graph_work_queue.cc",
190     "raster/task_graph_work_queue.h",
191     "raster/tile_task.cc",
192     "raster/tile_task.h",
193     "raster/zero_copy_raster_buffer_provider.cc",
194     "raster/zero_copy_raster_buffer_provider.h",
195     "resources/cross_thread_shared_bitmap.cc",
196     "resources/cross_thread_shared_bitmap.h",
197     "resources/memory_history.cc",
198     "resources/memory_history.h",
199     "resources/resource_pool.cc",
200     "resources/resource_pool.h",
201     "resources/scoped_ui_resource.cc",
202     "resources/scoped_ui_resource.h",
203     "resources/shared_bitmap_id_registrar.cc",
204     "resources/shared_bitmap_id_registrar.h",
205     "resources/ui_resource_bitmap.cc",
206     "resources/ui_resource_bitmap.h",
207     "resources/ui_resource_client.h",
208     "resources/ui_resource_manager.cc",
209     "resources/ui_resource_manager.h",
210     "resources/ui_resource_request.cc",
211     "resources/ui_resource_request.h",
212     "scheduler/begin_frame_tracker.cc",
213     "scheduler/begin_frame_tracker.h",
214     "scheduler/commit_earlyout_reason.h",
215     "scheduler/draw_result.h",
216     "scheduler/scheduler.cc",
217     "scheduler/scheduler.h",
218     "scheduler/scheduler_settings.cc",
219     "scheduler/scheduler_settings.h",
220     "scheduler/scheduler_state_machine.cc",
221     "scheduler/scheduler_state_machine.h",
222     "scheduler/video_frame_controller.h",
223     "tiles/checker_image_tracker.cc",
224     "tiles/checker_image_tracker.h",
225     "tiles/decoded_image_tracker.cc",
226     "tiles/decoded_image_tracker.h",
227     "tiles/eviction_tile_priority_queue.cc",
228     "tiles/eviction_tile_priority_queue.h",
229     "tiles/frame_viewer_instrumentation.cc",
230     "tiles/frame_viewer_instrumentation.h",
231     "tiles/gpu_image_decode_cache.cc",
232     "tiles/gpu_image_decode_cache.h",
233     "tiles/image_controller.cc",
234     "tiles/image_controller.h",
235     "tiles/image_decode_cache.cc",
236     "tiles/image_decode_cache.h",
237     "tiles/image_decode_cache_utils.cc",
238     "tiles/image_decode_cache_utils.h",
239     "tiles/mipmap_util.cc",
240     "tiles/mipmap_util.h",
241     "tiles/picture_layer_tiling.cc",
242     "tiles/picture_layer_tiling.h",
243     "tiles/picture_layer_tiling_set.cc",
244     "tiles/picture_layer_tiling_set.h",
245     "tiles/prioritized_tile.cc",
246     "tiles/prioritized_tile.h",
247     "tiles/raster_tile_priority_queue.cc",
248     "tiles/raster_tile_priority_queue.h",
249     "tiles/raster_tile_priority_queue_all.cc",
250     "tiles/raster_tile_priority_queue_all.h",
251     "tiles/raster_tile_priority_queue_required.cc",
252     "tiles/raster_tile_priority_queue_required.h",
253     "tiles/software_image_decode_cache.cc",
254     "tiles/software_image_decode_cache.h",
255     "tiles/software_image_decode_cache_utils.cc",
256     "tiles/software_image_decode_cache_utils.h",
257     "tiles/tile.cc",
258     "tiles/tile.h",
259     "tiles/tile_draw_info.cc",
260     "tiles/tile_draw_info.h",
261     "tiles/tile_manager.cc",
262     "tiles/tile_manager.h",
263     "tiles/tile_manager_settings.h",
264     "tiles/tile_priority.cc",
265     "tiles/tile_priority.h",
266     "tiles/tile_task_manager.cc",
267     "tiles/tile_task_manager.h",
268     "tiles/tiling_set_eviction_queue.cc",
269     "tiles/tiling_set_eviction_queue.h",
270     "tiles/tiling_set_raster_queue_all.cc",
271     "tiles/tiling_set_raster_queue_all.h",
272     "tiles/tiling_set_raster_queue_required.cc",
273     "tiles/tiling_set_raster_queue_required.h",
274     "trees/animated_paint_worklet_tracker.cc",
275     "trees/animated_paint_worklet_tracker.h",
276     "trees/animation_effect_timings.h",
277     "trees/animation_options.h",
278     "trees/clip_expander.cc",
279     "trees/clip_expander.h",
280     "trees/clip_node.cc",
281     "trees/clip_node.h",
282     "trees/compositor_mode.h",
283     "trees/damage_tracker.cc",
284     "trees/damage_tracker.h",
285     "trees/de_jelly_state.cc",
286     "trees/de_jelly_state.h",
287     "trees/debug_rect_history.cc",
288     "trees/debug_rect_history.h",
289     "trees/draw_property_utils.cc",
290     "trees/draw_property_utils.h",
291     "trees/effect_node.cc",
292     "trees/effect_node.h",
293     "trees/frame_rate_counter.cc",
294     "trees/frame_rate_counter.h",
295     "trees/image_animation_controller.cc",
296     "trees/image_animation_controller.h",
297     "trees/latency_info_swap_promise.cc",
298     "trees/latency_info_swap_promise.h",
299     "trees/latency_info_swap_promise_monitor.cc",
300     "trees/latency_info_swap_promise_monitor.h",
301     "trees/layer_tree_frame_sink.cc",
302     "trees/layer_tree_frame_sink.h",
303     "trees/layer_tree_frame_sink_client.h",
304     "trees/layer_tree_host.cc",
305     "trees/layer_tree_host.h",
306     "trees/layer_tree_host_client.h",
307     "trees/layer_tree_host_common.cc",
308     "trees/layer_tree_host_common.h",
309     "trees/layer_tree_host_impl.cc",
310     "trees/layer_tree_host_impl.h",
311     "trees/layer_tree_host_single_thread_client.h",
312     "trees/layer_tree_impl.cc",
313     "trees/layer_tree_impl.h",
314     "trees/layer_tree_mutator.cc",
315     "trees/layer_tree_mutator.h",
316     "trees/layer_tree_settings.cc",
317     "trees/layer_tree_settings.h",
318     "trees/managed_memory_policy.cc",
319     "trees/managed_memory_policy.h",
320     "trees/mutator_host.h",
321     "trees/mutator_host_client.h",
322     "trees/occlusion.cc",
323     "trees/occlusion.h",
324     "trees/occlusion_tracker.cc",
325     "trees/occlusion_tracker.h",
326     "trees/paint_holding_commit_trigger.h",
327     "trees/presentation_time_callback_buffer.cc",
328     "trees/presentation_time_callback_buffer.h",
329     "trees/property_animation_state.cc",
330     "trees/property_animation_state.h",
331     "trees/property_tree.cc",
332     "trees/property_tree.h",
333     "trees/property_tree_builder.cc",
334     "trees/property_tree_builder.h",
335     "trees/proxy.h",
336     "trees/proxy_common.cc",
337     "trees/proxy_common.h",
338     "trees/proxy_impl.cc",
339     "trees/proxy_impl.h",
340     "trees/proxy_main.cc",
341     "trees/proxy_main.h",
342     "trees/render_frame_metadata.cc",
343     "trees/render_frame_metadata.h",
344     "trees/render_frame_metadata_observer.h",
345     "trees/scoped_abort_remaining_swap_promises.h",
346     "trees/scroll_node.cc",
347     "trees/scroll_node.h",
348     "trees/single_thread_proxy.cc",
349     "trees/single_thread_proxy.h",
350     "trees/sticky_position_constraint.cc",
351     "trees/sticky_position_constraint.h",
352     "trees/swap_promise.h",
353     "trees/swap_promise_manager.cc",
354     "trees/swap_promise_manager.h",
355     "trees/swap_promise_monitor.cc",
356     "trees/swap_promise_monitor.h",
357     "trees/target_property.cc",
358     "trees/target_property.h",
359     "trees/task_runner_provider.cc",
360     "trees/task_runner_provider.h",
361     "trees/transform_node.cc",
362     "trees/transform_node.h",
363     "trees/tree_synchronizer.cc",
364     "trees/tree_synchronizer.h",
365     "trees/ukm_manager.cc",
366     "trees/ukm_manager.h",
367     "trees/viewport_layers.cc",
368     "trees/viewport_layers.h",
369   ]
370
371   public_deps = [
372     "//cc/base",
373     "//cc/paint",
374     "//components/viz/common",
375     "//skia",
376   ]
377   deps = [
378     "//base",
379     "//base/third_party/dynamic_annotations",
380     "//components/ukm",
381     "//components/viz/client",
382     "//gpu",
383     "//gpu/command_buffer/client:gles2_interface",
384     "//gpu/command_buffer/client:raster_interface",
385     "//gpu/skia_bindings:skia_bindings",
386     "//gpu/vulkan:buildflags",
387     "//media",  # For VideoLayerImpl.
388     "//mojo/public/cpp/bindings:struct_traits",
389     "//services/metrics/public/cpp:ukm_builders",
390     "//ui/events:events_base",
391     "//ui/gfx",
392     "//ui/gfx/geometry",
393     "//ui/gl",
394     "//ui/latency",
395   ]
396
397   defines = [ "CC_IMPLEMENTATION=1" ]
398 }
399
400 cc_test_static_library("test_support") {
401   testonly = true
402   sources = [
403     "test/animation_test_common.cc",
404     "test/animation_test_common.h",
405     "test/animation_timelines_test_common.cc",
406     "test/animation_timelines_test_common.h",
407     "test/fake_compositor_frame_reporting_controller.cc",
408     "test/fake_compositor_frame_reporting_controller.h",
409     "test/fake_content_layer_client.cc",
410     "test/fake_content_layer_client.h",
411     "test/fake_impl_task_runner_provider.h",
412     "test/fake_layer_tree_frame_sink.cc",
413     "test/fake_layer_tree_frame_sink.h",
414     "test/fake_layer_tree_frame_sink_client.cc",
415     "test/fake_layer_tree_frame_sink_client.h",
416     "test/fake_layer_tree_host.cc",
417     "test/fake_layer_tree_host.h",
418     "test/fake_layer_tree_host_client.cc",
419     "test/fake_layer_tree_host_client.h",
420     "test/fake_layer_tree_host_impl.cc",
421     "test/fake_layer_tree_host_impl.h",
422     "test/fake_layer_tree_host_impl_client.cc",
423     "test/fake_layer_tree_host_impl_client.h",
424     "test/fake_mask_layer_impl.cc",
425     "test/fake_mask_layer_impl.h",
426     "test/fake_output_surface_client.cc",
427     "test/fake_output_surface_client.h",
428     "test/fake_paint_image_generator.cc",
429     "test/fake_paint_image_generator.h",
430     "test/fake_painted_scrollbar_layer.cc",
431     "test/fake_painted_scrollbar_layer.h",
432     "test/fake_picture_layer.cc",
433     "test/fake_picture_layer.h",
434     "test/fake_picture_layer_impl.cc",
435     "test/fake_picture_layer_impl.h",
436     "test/fake_picture_layer_tiling_client.cc",
437     "test/fake_picture_layer_tiling_client.h",
438     "test/fake_proxy.cc",
439     "test/fake_proxy.h",
440     "test/fake_raster_buffer_provider.cc",
441     "test/fake_raster_buffer_provider.h",
442     "test/fake_raster_source.cc",
443     "test/fake_raster_source.h",
444     "test/fake_recording_source.cc",
445     "test/fake_recording_source.h",
446     "test/fake_rendering_stats_instrumentation.h",
447     "test/fake_scoped_ui_resource.cc",
448     "test/fake_scoped_ui_resource.h",
449     "test/fake_scrollbar.cc",
450     "test/fake_scrollbar.h",
451     "test/fake_tile_manager.cc",
452     "test/fake_tile_manager.h",
453     "test/fake_tile_manager_client.cc",
454     "test/fake_tile_manager_client.h",
455     "test/fake_tile_task_manager.cc",
456     "test/fake_tile_task_manager.h",
457     "test/fake_ui_resource_layer_tree_host_impl.cc",
458     "test/fake_ui_resource_layer_tree_host_impl.h",
459     "test/fake_video_frame_provider.cc",
460     "test/fake_video_frame_provider.h",
461     "test/geometry_test_utils.cc",
462     "test/geometry_test_utils.h",
463     "test/layer_test_common.cc",
464     "test/layer_test_common.h",
465     "test/layer_tree_json_parser.cc",
466     "test/layer_tree_json_parser.h",
467     "test/layer_tree_pixel_resource_test.cc",
468     "test/layer_tree_pixel_resource_test.h",
469     "test/layer_tree_pixel_test.cc",
470     "test/layer_tree_pixel_test.h",
471     "test/layer_tree_test.cc",
472     "test/layer_tree_test.h",
473     "test/mock_layer_client.cc",
474     "test/mock_layer_client.h",
475     "test/mock_layer_tree_mutator.cc",
476     "test/mock_layer_tree_mutator.h",
477     "test/mock_occlusion_tracker.h",
478     "test/paint_op_helper.h",
479     "test/pixel_comparator.cc",
480     "test/pixel_comparator.h",
481     "test/pixel_test.cc",
482     "test/pixel_test.h",
483     "test/pixel_test_output_surface.cc",
484     "test/pixel_test_output_surface.h",
485     "test/pixel_test_utils.cc",
486     "test/pixel_test_utils.h",
487     "test/property_tree_test_utils.cc",
488     "test/property_tree_test_utils.h",
489     "test/push_properties_counting_layer.cc",
490     "test/push_properties_counting_layer.h",
491     "test/push_properties_counting_layer_impl.cc",
492     "test/push_properties_counting_layer_impl.h",
493     "test/render_pass_test_utils.cc",
494     "test/render_pass_test_utils.h",
495     "test/resource_provider_test_utils.cc",
496     "test/resource_provider_test_utils.h",
497     "test/scheduler_test_common.cc",
498     "test/scheduler_test_common.h",
499     "test/skia_common.cc",
500     "test/skia_common.h",
501     "test/solid_color_content_layer_client.cc",
502     "test/solid_color_content_layer_client.h",
503     "test/stub_decode_cache.cc",
504     "test/stub_decode_cache.h",
505     "test/stub_layer_tree_host_client.cc",
506     "test/stub_layer_tree_host_client.h",
507     "test/stub_layer_tree_host_single_thread_client.cc",
508     "test/stub_layer_tree_host_single_thread_client.h",
509     "test/task_graph_runner_test_template.cc",
510     "test/task_graph_runner_test_template.h",
511     "test/test_hooks.cc",
512     "test/test_hooks.h",
513     "test/test_layer_tree_frame_sink.cc",
514     "test/test_layer_tree_frame_sink.h",
515     "test/test_layer_tree_host_base.cc",
516     "test/test_layer_tree_host_base.h",
517     "test/test_occlusion_tracker.h",
518     "test/test_options_provider.cc",
519     "test/test_options_provider.h",
520     "test/test_paint_worklet_input.cc",
521     "test/test_paint_worklet_input.h",
522     "test/test_paint_worklet_layer_painter.cc",
523     "test/test_paint_worklet_layer_painter.h",
524     "test/test_skcanvas.cc",
525     "test/test_skcanvas.h",
526     "test/test_task_graph_runner.cc",
527     "test/test_task_graph_runner.h",
528     "test/test_tile_priorities.cc",
529     "test/test_tile_priorities.h",
530     "test/test_tile_task_runner.cc",
531     "test/test_tile_task_runner.h",
532     "test/test_ukm_recorder_factory.cc",
533     "test/test_ukm_recorder_factory.h",
534     "test/transfer_cache_test_helper.cc",
535     "test/transfer_cache_test_helper.h",
536   ]
537
538   public_deps = [
539     ":cc",
540     "//cc/animation",
541     "//gpu:test_support",
542     "//testing/gmock",
543   ]
544   deps = [
545     "//base",
546     "//base/test:test_support",
547     "//base/third_party/dynamic_annotations",
548     "//cc/paint",
549     "//components/ukm",
550     "//components/ukm:test_support",
551     "//components/viz/client",
552     "//components/viz/common",
553     "//components/viz/service",
554     "//components/viz/test:test_support",
555     "//gpu/command_buffer/client:gles2_implementation",
556     "//gpu/command_buffer/client:raster",
557     "//gpu/command_buffer/common",
558     "//gpu/ipc:gl_in_process_context",
559     "//gpu/ipc/service",
560     "//gpu/skia_bindings",
561     "//media",
562     "//services/viz/privileged/mojom",
563     "//skia",
564     "//testing/gtest",
565     "//ui/gfx",
566     "//ui/gfx:test_support",
567     "//ui/gfx/geometry",
568     "//ui/gl",
569     "//ui/gl:test_support",
570     "//ui/latency",
571   ]
572   if (enable_vulkan) {
573     deps += [ "//gpu/vulkan/init" ]
574   }
575   if (!is_android && !is_bsd) {
576     data_deps = [
577       "//third_party/mesa_headers",
578     ]
579   }
580 }
581
582 cc_test("cc_unittests") {
583   sources = [
584     "base/delayed_unique_notifier_unittest.cc",
585     "base/float_quad_unittest.cc",
586     "base/histograms_unittest.cc",
587     "base/index_rect_unittest.cc",
588     "base/list_container_unittest.cc",
589     "base/math_util_unittest.cc",
590     "base/region_unittest.cc",
591     "base/rolling_time_delta_history_unittest.cc",
592     "base/rtree_unittest.cc",
593     "base/simple_enclosed_region_unittest.cc",
594     "base/spiral_iterator_unittest.cc",
595     "base/tiling_data_unittest.cc",
596     "base/unique_notifier_unittest.cc",
597     "benchmarks/micro_benchmark_controller_unittest.cc",
598     "debug/rendering_stats_unittest.cc",
599     "input/browser_controls_offset_manager_unittest.cc",
600     "input/main_thread_scrolling_reason_unittest.cc",
601     "input/scroll_snap_data_unittest.cc",
602     "input/scroll_state_unittest.cc",
603     "input/scrollbar_animation_controller_unittest.cc",
604     "input/single_scrollbar_animation_controller_thinning_unittest.cc",
605     "input/snap_fling_controller_unittest.cc",
606     "input/snap_fling_curve_unittest.cc",
607     "layers/effect_tree_layer_list_iterator_unittest.cc",
608     "layers/heads_up_display_layer_impl_unittest.cc",
609     "layers/heads_up_display_unittest.cc",
610     "layers/layer_impl_unittest.cc",
611     "layers/layer_list_iterator_unittest.cc",
612     "layers/layer_unittest.cc",
613     "layers/mirror_layer_unittest.cc",
614     "layers/nine_patch_generator_unittest.cc",
615     "layers/nine_patch_layer_impl_unittest.cc",
616     "layers/nine_patch_layer_unittest.cc",
617     "layers/painted_overlay_scrollbar_layer_unittest.cc",
618     "layers/painted_scrollbar_layer_impl_unittest.cc",
619     "layers/painted_scrollbar_layer_unittest.cc",
620     "layers/picture_image_layer_unittest.cc",
621     "layers/picture_layer_impl_unittest.cc",
622     "layers/picture_layer_unittest.cc",
623     "layers/recording_source_unittest.cc",
624     "layers/render_surface_impl_unittest.cc",
625     "layers/render_surface_unittest.cc",
626     "layers/scrollbar_layer_unittest.cc",
627     "layers/solid_color_layer_impl_unittest.cc",
628     "layers/solid_color_scrollbar_layer_impl_unittest.cc",
629     "layers/surface_layer_impl_unittest.cc",
630     "layers/surface_layer_unittest.cc",
631     "layers/texture_layer_impl_unittest.cc",
632     "layers/texture_layer_unittest.cc",
633     "layers/touch_action_region_unittest.cc",
634     "layers/ui_resource_layer_impl_unittest.cc",
635     "layers/ui_resource_layer_unittest.cc",
636     "layers/video_frame_provider_client_impl_unittest.cc",
637     "layers/video_layer_impl_unittest.cc",
638     "layers/viewport_unittest.cc",
639     "metrics/compositor_frame_reporter_unittest.cc",
640     "metrics/compositor_frame_reporting_controller_unittest.cc",
641     "metrics/compositor_timing_history_unittest.cc",
642     "metrics/frame_sequence_tracker_unittest.cc",
643     "mojo_embedder/async_layer_tree_frame_sink_unittest.cc",
644     "paint/discardable_image_map_unittest.cc",
645     "paint/display_item_list_unittest.cc",
646     "paint/filter_operations_unittest.cc",
647     "paint/image_transfer_cache_entry_unittest.cc",
648     "paint/oop_pixeltest.cc",
649     "paint/paint_cache_unittest.cc",
650     "paint/paint_filter_unittest.cc",
651     "paint/paint_image_unittest.cc",
652     "paint/paint_op_buffer_unittest.cc",
653     "paint/paint_op_helper_unittest.cc",
654     "paint/paint_shader_unittest.cc",
655     "paint/scoped_raster_flags_unittest.cc",
656     "paint/skia_paint_canvas_unittest.cc",
657     "paint/solid_color_analyzer_unittest.cc",
658     "paint/transfer_cache_unittest.cc",
659     "raster/playback_image_provider_unittest.cc",
660     "raster/raster_buffer_provider_unittest.cc",
661     "raster/raster_source_unittest.cc",
662     "raster/scoped_gpu_raster_unittest.cc",
663     "raster/single_thread_task_graph_runner_unittest.cc",
664     "raster/staging_buffer_pool_unittest.cc",
665     "raster/synchronous_task_graph_runner_unittest.cc",
666     "raster/task_graph_work_queue_unittest.cc",
667     "resources/resource_pool_unittest.cc",
668     "scheduler/scheduler_state_machine_unittest.cc",
669     "scheduler/scheduler_unittest.cc",
670     "test/layer_tree_json_parser_unittest.cc",
671     "tiles/checker_image_tracker_unittest.cc",
672     "tiles/decoded_image_tracker_unittest.cc",
673     "tiles/gpu_image_decode_cache_unittest.cc",
674     "tiles/image_controller_unittest.cc",
675     "tiles/mipmap_util_unittest.cc",
676     "tiles/picture_layer_tiling_set_unittest.cc",
677     "tiles/picture_layer_tiling_unittest.cc",
678     "tiles/software_image_decode_cache_unittest.cc",
679     "tiles/software_image_decode_cache_unittest_combinations.cc",
680     "tiles/tile_manager_unittest.cc",
681     "tiles/tile_priority_unittest.cc",
682     "trees/damage_tracker_unittest.cc",
683     "trees/image_animation_controller_unittest.cc",
684     "trees/layer_tree_frame_sink_unittest.cc",
685     "trees/layer_tree_host_common_unittest.cc",
686     "trees/layer_tree_host_impl_unittest.cc",
687     "trees/layer_tree_host_pixeltest_blending.cc",
688     "trees/layer_tree_host_pixeltest_filters.cc",
689     "trees/layer_tree_host_pixeltest_masks.cc",
690     "trees/layer_tree_host_pixeltest_mirror.cc",
691     "trees/layer_tree_host_pixeltest_readback.cc",
692     "trees/layer_tree_host_pixeltest_scrollbars.cc",
693     "trees/layer_tree_host_pixeltest_synchronous.cc",
694     "trees/layer_tree_host_pixeltest_tiles.cc",
695     "trees/layer_tree_host_unittest.cc",
696     "trees/layer_tree_host_unittest_animation.cc",
697     "trees/layer_tree_host_unittest_capture_content.cc",
698     "trees/layer_tree_host_unittest_checkerimaging.cc",
699     "trees/layer_tree_host_unittest_context.cc",
700     "trees/layer_tree_host_unittest_copyrequest.cc",
701     "trees/layer_tree_host_unittest_damage.cc",
702     "trees/layer_tree_host_unittest_masks.cc",
703     "trees/layer_tree_host_unittest_occlusion.cc",
704     "trees/layer_tree_host_unittest_picture.cc",
705     "trees/layer_tree_host_unittest_proxy.cc",
706     "trees/layer_tree_host_unittest_record_gpu_histogram.cc",
707     "trees/layer_tree_host_unittest_scroll.cc",
708     "trees/layer_tree_host_unittest_video.cc",
709     "trees/layer_tree_impl_unittest.cc",
710     "trees/occlusion_tracker_unittest.cc",
711     "trees/occlusion_unittest.cc",
712     "trees/presentation_time_callback_buffer_unittest.cc",
713     "trees/property_tree_unittest.cc",
714     "trees/swap_promise_manager_unittest.cc",
715     "trees/tree_synchronizer_unittest.cc",
716     "trees/ukm_manager_unittest.cc",
717
718     # Animation test files.
719     "animation/animation_host_unittest.cc",
720     "animation/animation_timeline_unittest.cc",
721     "animation/animation_unittest.cc",
722     "animation/element_animations_unittest.cc",
723     "animation/keyframe_model_unittest.cc",
724     "animation/keyframed_animation_curve_unittest.cc",
725     "animation/scroll_offset_animation_curve_unittest.cc",
726     "animation/scroll_timeline_unittest.cc",
727     "animation/transform_operations_unittest.cc",
728     "animation/worklet_animation_unittest.cc",
729
730     # Setup.
731     "test/cc_test_suite.cc",
732     "test/cc_test_suite.h",
733     "test/run_all_unittests.cc",
734   ]
735
736   if (!is_android) {
737     data = [
738       "//components/viz/test/data/",
739     ]
740   }
741
742   if (is_win) {
743     # TODO(vmpstr): Some SoftwareImageDecodeCacheTests use virtual inheritance,
744     # which MSVC doesn't like. Suppress "Foo inherits Bar via dominance"
745     # warnings for now.
746     cflags = [ "/wd4250" ]
747   }
748
749   deps = [
750     ":cc",
751     ":test_support",
752     "//base/test:test_support",
753     "//cc/mojo_embedder",
754     "//cc/paint",
755     "//components/ukm:test_support",
756     "//components/viz/client",
757     "//components/viz/common",
758     "//components/viz/service",
759     "//components/viz/test:test_support",
760     "//gpu",
761     "//gpu:test_support",
762     "//gpu/command_buffer/client:gles2_implementation",
763     "//gpu/command_buffer/client:gles2_interface",
764     "//gpu/command_buffer/client:raster",
765     "//gpu/command_buffer/client:raster_interface",
766     "//gpu/ipc:gl_in_process_context",
767     "//gpu/skia_bindings",
768     "//media",
769     "//mojo/core/embedder",
770     "//mojo/public/cpp/bindings",
771     "//testing/gmock",
772     "//testing/gtest",
773     "//ui/events:events_base",
774     "//ui/gfx",
775     "//ui/gfx:test_support",
776     "//ui/gfx/geometry",
777     "//ui/gl",
778     "//ui/gl:test_support",
779   ]
780
781   if (enable_vulkan) {
782     deps += [
783       "//gpu/vulkan:test_support",
784       "//gpu/vulkan/init",
785     ]
786
787     # TODO(samans): Support more configurations.
788     # CFI issue: https://crbug.com/967819
789     # LSAN issue: https://crbug.com/971325
790     if (use_x11 && !is_cfi && !is_lsan) {
791       defines = [ "ENABLE_CC_VULKAN_TESTS" ]
792     }
793   }
794 }
795
796 cc_test("cc_perftests") {
797   sources = [
798     "animation/animation_host_perftest.cc",
799     "base/rtree_perftest.cc",
800     "layers/layer_perftest.cc",
801     "layers/picture_layer_impl_perftest.cc",
802     "paint/paint_op_perftest.cc",
803     "raster/raster_buffer_provider_perftest.cc",
804     "raster/task_graph_runner_perftest.cc",
805     "test/cc_test_suite.cc",
806     "test/cc_test_suite.h",
807     "test/run_all_perftests.cc",
808     "tiles/gpu_image_decode_cache_perftest.cc",
809     "tiles/software_image_decode_cache_perftest.cc",
810     "tiles/tile_manager_perftest.cc",
811     "trees/layer_tree_host_common_perftest.cc",
812     "trees/layer_tree_host_perftest.cc",
813   ]
814
815   deps = [
816     ":cc",
817     ":test_support",
818     "//base",
819     "//base/test:test_support",
820     "//cc/paint",
821     "//components/viz/client",
822     "//components/viz/common",
823     "//components/viz/test:test_support",
824     "//gpu",
825     "//gpu:test_support",
826     "//gpu/command_buffer/client:gles2_implementation",
827     "//gpu/command_buffer/client:raster",
828     "//gpu/command_buffer/client:raster_interface",
829     "//gpu/ipc:gl_in_process_context",
830     "//gpu/ipc/common:mojom_traits",
831     "//media",
832     "//mojo/core/embedder",
833     "//mojo/public/cpp/bindings",
834     "//services/viz/public/mojom",
835     "//skia",
836     "//testing/gmock",
837     "//testing/gtest",
838     "//testing/perf",
839     "//ui/gfx",
840     "//ui/gfx/geometry",
841     "//ui/gl",
842     "//ui/gl:test_support",
843   ]
844
845   # This target should not require the Chrome executable to run.
846   assert_no_deps = [ "//chrome" ]
847
848   data = [
849     "//components/viz/test/data/",
850   ]
851
852   data_deps = [
853     # Needed for isolate script to execute.
854     "//testing:run_perf_test",
855   ]
856 }