Fix emulator build error
[platform/framework/web/chromium-efl.git] / cc / BUILD.gn
1 # Copyright 2014 The Chromium Authors
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 import("//build/config/sanitizers/sanitizers.gni")
5 import("//gpu/vulkan/features.gni")
6 import("//skia/features.gni")
7 import("//ui/gl/features.gni")
8
9 import("//cc/cc.gni")
10
11 if (is_android) {
12   import("//build/config/android/rules.gni")
13 }
14
15 cc_component("cc") {
16   sources = [
17     "benchmarks/benchmark_instrumentation.cc",
18     "benchmarks/benchmark_instrumentation.h",
19     "benchmarks/invalidation_benchmark.cc",
20     "benchmarks/invalidation_benchmark.h",
21     "benchmarks/micro_benchmark.cc",
22     "benchmarks/micro_benchmark.h",
23     "benchmarks/micro_benchmark_controller.cc",
24     "benchmarks/micro_benchmark_controller.h",
25     "benchmarks/micro_benchmark_controller_impl.cc",
26     "benchmarks/micro_benchmark_controller_impl.h",
27     "benchmarks/micro_benchmark_impl.cc",
28     "benchmarks/micro_benchmark_impl.h",
29     "benchmarks/rasterize_and_record_benchmark.cc",
30     "benchmarks/rasterize_and_record_benchmark.h",
31     "benchmarks/rasterize_and_record_benchmark_impl.cc",
32     "benchmarks/rasterize_and_record_benchmark_impl.h",
33     "benchmarks/unittest_only_benchmark.cc",
34     "benchmarks/unittest_only_benchmark.h",
35     "benchmarks/unittest_only_benchmark_impl.cc",
36     "benchmarks/unittest_only_benchmark_impl.h",
37     "input/actively_scrolling_type.h",
38     "input/browser_controls_offset_manager.cc",
39     "input/browser_controls_offset_manager.h",
40     "input/browser_controls_offset_manager_client.h",
41     "input/browser_controls_state.h",
42     "input/compositor_input_interfaces.h",
43     "input/hit_test_opaqueness.cc",
44     "input/hit_test_opaqueness.h",
45     "input/input_handler.cc",
46     "input/input_handler.h",
47     "input/layer_selection_bound.cc",
48     "input/layer_selection_bound.h",
49     "input/main_thread_scrolling_reason.cc",
50     "input/main_thread_scrolling_reason.h",
51     "input/overscroll_behavior.h",
52     "input/page_scale_animation.cc",
53     "input/page_scale_animation.h",
54     "input/scroll_elasticity_helper.cc",
55     "input/scroll_elasticity_helper.h",
56     "input/scroll_snap_data.cc",
57     "input/scroll_snap_data.h",
58     "input/scroll_state.cc",
59     "input/scroll_state.h",
60     "input/scroll_state_data.cc",
61     "input/scroll_state_data.h",
62     "input/scroll_utils.cc",
63     "input/scroll_utils.h",
64     "input/scrollbar.h",
65     "input/scrollbar_animation_controller.cc",
66     "input/scrollbar_animation_controller.h",
67     "input/scrollbar_controller.cc",
68     "input/scrollbar_controller.h",
69     "input/single_scrollbar_animation_controller_thinning.cc",
70     "input/single_scrollbar_animation_controller_thinning.h",
71     "input/snap_fling_controller.cc",
72     "input/snap_fling_controller.h",
73     "input/snap_fling_curve.cc",
74     "input/snap_fling_curve.h",
75     "input/snap_selection_strategy.cc",
76     "input/snap_selection_strategy.h",
77     "input/touch_action.h",
78     "layers/append_quads_data.cc",
79     "layers/append_quads_data.h",
80     "layers/content_layer_client.h",
81     "layers/deadline_policy.cc",
82     "layers/deadline_policy.h",
83     "layers/draw_mode.h",
84     "layers/draw_properties.cc",
85     "layers/draw_properties.h",
86     "layers/effect_tree_layer_list_iterator.cc",
87     "layers/effect_tree_layer_list_iterator.h",
88     "layers/heads_up_display_layer.cc",
89     "layers/heads_up_display_layer.h",
90     "layers/heads_up_display_layer_impl.cc",
91     "layers/heads_up_display_layer_impl.h",
92     "layers/layer.cc",
93     "layers/layer.h",
94     "layers/layer_collections.h",
95     "layers/layer_impl.cc",
96     "layers/layer_impl.h",
97     "layers/layer_list_iterator.cc",
98     "layers/layer_list_iterator.h",
99     "layers/mirror_layer.cc",
100     "layers/mirror_layer.h",
101     "layers/mirror_layer_impl.cc",
102     "layers/mirror_layer_impl.h",
103     "layers/nine_patch_generator.cc",
104     "layers/nine_patch_generator.h",
105     "layers/nine_patch_layer.cc",
106     "layers/nine_patch_layer.h",
107     "layers/nine_patch_layer_impl.cc",
108     "layers/nine_patch_layer_impl.h",
109     "layers/painted_overlay_scrollbar_layer.cc",
110     "layers/painted_overlay_scrollbar_layer.h",
111     "layers/painted_overlay_scrollbar_layer_impl.cc",
112     "layers/painted_overlay_scrollbar_layer_impl.h",
113     "layers/painted_scrollbar_layer.cc",
114     "layers/painted_scrollbar_layer.h",
115     "layers/painted_scrollbar_layer_impl.cc",
116     "layers/painted_scrollbar_layer_impl.h",
117     "layers/picture_layer.cc",
118     "layers/picture_layer.h",
119     "layers/picture_layer_impl.cc",
120     "layers/picture_layer_impl.h",
121     "layers/recording_source.cc",
122     "layers/recording_source.h",
123     "layers/render_surface_impl.cc",
124     "layers/render_surface_impl.h",
125     "layers/scrollbar_layer_base.cc",
126     "layers/scrollbar_layer_base.h",
127     "layers/scrollbar_layer_impl_base.cc",
128     "layers/scrollbar_layer_impl_base.h",
129     "layers/solid_color_layer.cc",
130     "layers/solid_color_layer.h",
131     "layers/solid_color_layer_impl.cc",
132     "layers/solid_color_layer_impl.h",
133     "layers/solid_color_scrollbar_layer.cc",
134     "layers/solid_color_scrollbar_layer.h",
135     "layers/solid_color_scrollbar_layer_impl.cc",
136     "layers/solid_color_scrollbar_layer_impl.h",
137     "layers/surface_layer.cc",
138     "layers/surface_layer.h",
139     "layers/surface_layer_impl.cc",
140     "layers/surface_layer_impl.h",
141     "layers/texture_layer.cc",
142     "layers/texture_layer.h",
143     "layers/texture_layer_client.h",
144     "layers/texture_layer_impl.cc",
145     "layers/texture_layer_impl.h",
146     "layers/tile_size_calculator.cc",
147     "layers/tile_size_calculator.h",
148     "layers/touch_action_region.cc",
149     "layers/touch_action_region.h",
150     "layers/ui_resource_layer.cc",
151     "layers/ui_resource_layer.h",
152     "layers/ui_resource_layer_impl.cc",
153     "layers/ui_resource_layer_impl.h",
154     "layers/video_frame_provider.h",
155     "layers/video_frame_provider_client_impl.cc",
156     "layers/video_frame_provider_client_impl.h",
157     "layers/video_layer.cc",
158     "layers/video_layer.h",
159     "layers/video_layer_impl.cc",
160     "layers/video_layer_impl.h",
161     "layers/view_transition_content_layer.cc",
162     "layers/view_transition_content_layer.h",
163     "layers/view_transition_content_layer_impl.cc",
164     "layers/view_transition_content_layer_impl.h",
165     "layers/viewport.cc",
166     "layers/viewport.h",
167     "metrics/average_lag_tracker.cc",
168     "metrics/average_lag_tracker.h",
169     "metrics/average_lag_tracking_manager.cc",
170     "metrics/average_lag_tracking_manager.h",
171     "metrics/begin_main_frame_metrics.cc",
172     "metrics/begin_main_frame_metrics.h",
173     "metrics/compositor_frame_reporter.cc",
174     "metrics/compositor_frame_reporter.h",
175     "metrics/compositor_frame_reporting_controller.cc",
176     "metrics/compositor_frame_reporting_controller.h",
177     "metrics/compositor_timing_history.cc",
178     "metrics/compositor_timing_history.h",
179     "metrics/custom_metrics_recorder.cc",
180     "metrics/custom_metrics_recorder.h",
181     "metrics/dropped_frame_counter.cc",
182     "metrics/dropped_frame_counter.h",
183     "metrics/event_latency_tracing_recorder.cc",
184     "metrics/event_latency_tracing_recorder.h",
185     "metrics/event_latency_tracker.cc",
186     "metrics/event_latency_tracker.h",
187     "metrics/event_metrics.cc",
188     "metrics/event_metrics.h",
189     "metrics/events_metrics_manager.cc",
190     "metrics/events_metrics_manager.h",
191     "metrics/frame_info.cc",
192     "metrics/frame_info.h",
193     "metrics/frame_sequence_metrics.cc",
194     "metrics/frame_sequence_metrics.h",
195     "metrics/frame_sequence_tracker.cc",
196     "metrics/frame_sequence_tracker.h",
197     "metrics/frame_sequence_tracker_collection.cc",
198     "metrics/frame_sequence_tracker_collection.h",
199     "metrics/frame_sorter.cc",
200     "metrics/frame_sorter.h",
201     "metrics/jank_metrics.cc",
202     "metrics/jank_metrics.h",
203     "metrics/latency_ukm_reporter.cc",
204     "metrics/latency_ukm_reporter.h",
205     "metrics/lcd_text_metrics_reporter.cc",
206     "metrics/lcd_text_metrics_reporter.h",
207     "metrics/predictor_jank_tracker.cc",
208     "metrics/predictor_jank_tracker.h",
209     "metrics/scroll_jank_dropped_frame_tracker.cc",
210     "metrics/scroll_jank_dropped_frame_tracker.h",
211     "metrics/shared_metrics_buffer.h",
212     "metrics/total_frame_counter.cc",
213     "metrics/total_frame_counter.h",
214     "metrics/ukm_smoothness_data.cc",
215     "metrics/ukm_smoothness_data.h",
216     "metrics/video_playback_roughness_reporter.cc",
217     "metrics/video_playback_roughness_reporter.h",
218     "metrics/web_vital_metrics.cc",
219     "metrics/web_vital_metrics.h",
220     "raster/bitmap_raster_buffer_provider.cc",
221     "raster/bitmap_raster_buffer_provider.h",
222     "raster/categorized_worker_pool.cc",
223     "raster/categorized_worker_pool.h",
224     "raster/gpu_raster_buffer_provider.cc",
225     "raster/gpu_raster_buffer_provider.h",
226     "raster/lcd_text_disallowed_reason.cc",
227     "raster/lcd_text_disallowed_reason.h",
228     "raster/one_copy_raster_buffer_provider.cc",
229     "raster/one_copy_raster_buffer_provider.h",
230     "raster/paint_worklet_image_provider.cc",
231     "raster/paint_worklet_image_provider.h",
232     "raster/playback_image_provider.cc",
233     "raster/playback_image_provider.h",
234     "raster/raster_buffer.cc",
235     "raster/raster_buffer.h",
236     "raster/raster_buffer_provider.cc",
237     "raster/raster_buffer_provider.h",
238     "raster/raster_query_queue.cc",
239     "raster/raster_query_queue.h",
240     "raster/raster_source.cc",
241     "raster/raster_source.h",
242     "raster/scoped_grcontext_access.h",
243     "raster/single_thread_task_graph_runner.cc",
244     "raster/single_thread_task_graph_runner.h",
245     "raster/staging_buffer_pool.cc",
246     "raster/staging_buffer_pool.h",
247     "raster/synchronous_task_graph_runner.cc",
248     "raster/synchronous_task_graph_runner.h",
249     "raster/task.cc",
250     "raster/task.h",
251     "raster/task_category.h",
252     "raster/task_graph_runner.h",
253     "raster/task_graph_work_queue.cc",
254     "raster/task_graph_work_queue.h",
255     "raster/tile_task.cc",
256     "raster/tile_task.h",
257     "raster/zero_copy_raster_buffer_provider.cc",
258     "raster/zero_copy_raster_buffer_provider.h",
259     "resources/cross_thread_shared_bitmap.cc",
260     "resources/cross_thread_shared_bitmap.h",
261     "resources/memory_history.cc",
262     "resources/memory_history.h",
263     "resources/resource_pool.cc",
264     "resources/resource_pool.h",
265     "resources/scoped_ui_resource.cc",
266     "resources/scoped_ui_resource.h",
267     "resources/shared_bitmap_id_registrar.cc",
268     "resources/shared_bitmap_id_registrar.h",
269     "resources/ui_resource_bitmap.cc",
270     "resources/ui_resource_bitmap.h",
271     "resources/ui_resource_client.h",
272     "resources/ui_resource_manager.cc",
273     "resources/ui_resource_manager.h",
274     "resources/ui_resource_request.cc",
275     "resources/ui_resource_request.h",
276     "scheduler/begin_frame_tracker.cc",
277     "scheduler/begin_frame_tracker.h",
278     "scheduler/commit_earlyout_reason.h",
279     "scheduler/draw_result.h",
280     "scheduler/scheduler.cc",
281     "scheduler/scheduler.h",
282     "scheduler/scheduler_settings.cc",
283     "scheduler/scheduler_settings.h",
284     "scheduler/scheduler_state_machine.cc",
285     "scheduler/scheduler_state_machine.h",
286     "scheduler/video_frame_controller.h",
287     "tiles/checker_image_tracker.cc",
288     "tiles/checker_image_tracker.h",
289     "tiles/decoded_image_tracker.cc",
290     "tiles/decoded_image_tracker.h",
291     "tiles/eviction_tile_priority_queue.cc",
292     "tiles/eviction_tile_priority_queue.h",
293     "tiles/frame_viewer_instrumentation.cc",
294     "tiles/frame_viewer_instrumentation.h",
295     "tiles/gpu_image_decode_cache.cc",
296     "tiles/gpu_image_decode_cache.h",
297     "tiles/image_controller.cc",
298     "tiles/image_controller.h",
299     "tiles/image_decode_cache.cc",
300     "tiles/image_decode_cache.h",
301     "tiles/image_decode_cache_utils.cc",
302     "tiles/image_decode_cache_utils.h",
303     "tiles/mipmap_util.cc",
304     "tiles/mipmap_util.h",
305     "tiles/picture_layer_tiling.cc",
306     "tiles/picture_layer_tiling.h",
307     "tiles/picture_layer_tiling_set.cc",
308     "tiles/picture_layer_tiling_set.h",
309     "tiles/prioritized_tile.cc",
310     "tiles/prioritized_tile.h",
311     "tiles/raster_dark_mode_filter.h",
312     "tiles/raster_tile_priority_queue.cc",
313     "tiles/raster_tile_priority_queue.h",
314     "tiles/raster_tile_priority_queue_all.cc",
315     "tiles/raster_tile_priority_queue_all.h",
316     "tiles/raster_tile_priority_queue_required.cc",
317     "tiles/raster_tile_priority_queue_required.h",
318     "tiles/software_image_decode_cache.cc",
319     "tiles/software_image_decode_cache.h",
320     "tiles/software_image_decode_cache_utils.cc",
321     "tiles/software_image_decode_cache_utils.h",
322     "tiles/tile.cc",
323     "tiles/tile.h",
324     "tiles/tile_draw_info.cc",
325     "tiles/tile_draw_info.h",
326     "tiles/tile_manager.cc",
327     "tiles/tile_manager.h",
328     "tiles/tile_manager_settings.h",
329     "tiles/tile_priority.cc",
330     "tiles/tile_priority.h",
331     "tiles/tile_task_manager.cc",
332     "tiles/tile_task_manager.h",
333     "tiles/tiles_with_resource_iterator.cc",
334     "tiles/tiles_with_resource_iterator.h",
335     "tiles/tiling_set_eviction_queue.cc",
336     "tiles/tiling_set_eviction_queue.h",
337     "tiles/tiling_set_raster_queue_all.cc",
338     "tiles/tiling_set_raster_queue_all.h",
339     "tiles/tiling_set_raster_queue_required.cc",
340     "tiles/tiling_set_raster_queue_required.h",
341     "trees/animated_paint_worklet_tracker.cc",
342     "trees/animated_paint_worklet_tracker.h",
343     "trees/animation_effect_timings.h",
344     "trees/animation_options.h",
345     "trees/browser_controls_params.cc",
346     "trees/browser_controls_params.h",
347     "trees/clip_node.cc",
348     "trees/clip_node.h",
349     "trees/commit_state.cc",
350     "trees/commit_state.h",
351     "trees/compositor_commit_data.cc",
352     "trees/compositor_commit_data.h",
353     "trees/compositor_mode.h",
354     "trees/damage_tracker.cc",
355     "trees/damage_tracker.h",
356     "trees/debug_rect_history.cc",
357     "trees/debug_rect_history.h",
358     "trees/draw_property_utils.cc",
359     "trees/draw_property_utils.h",
360     "trees/effect_node.cc",
361     "trees/effect_node.h",
362     "trees/frame_rate_estimator.cc",
363     "trees/frame_rate_estimator.h",
364     "trees/image_animation_controller.cc",
365     "trees/image_animation_controller.h",
366     "trees/latency_info_swap_promise.cc",
367     "trees/latency_info_swap_promise.h",
368     "trees/latency_info_swap_promise_monitor.cc",
369     "trees/latency_info_swap_promise_monitor.h",
370     "trees/layer_context.h",
371     "trees/layer_context_client.h",
372     "trees/layer_tree_frame_sink.cc",
373     "trees/layer_tree_frame_sink.h",
374     "trees/layer_tree_frame_sink_client.h",
375     "trees/layer_tree_host.cc",
376     "trees/layer_tree_host.h",
377     "trees/layer_tree_host_client.h",
378     "trees/layer_tree_host_impl.cc",
379     "trees/layer_tree_host_impl.h",
380     "trees/layer_tree_host_single_thread_client.h",
381     "trees/layer_tree_impl.cc",
382     "trees/layer_tree_impl.h",
383     "trees/layer_tree_mutator.cc",
384     "trees/layer_tree_mutator.h",
385     "trees/layer_tree_settings.cc",
386     "trees/layer_tree_settings.h",
387     "trees/local_layer_context.cc",
388     "trees/local_layer_context.h",
389     "trees/managed_memory_policy.cc",
390     "trees/managed_memory_policy.h",
391     "trees/mobile_optimized_viewport_util.cc",
392     "trees/mobile_optimized_viewport_util.h",
393     "trees/mutator_host.h",
394     "trees/mutator_host_client.h",
395     "trees/occlusion.cc",
396     "trees/occlusion.h",
397     "trees/occlusion_tracker.cc",
398     "trees/occlusion_tracker.h",
399     "trees/paint_holding_commit_trigger.cc",
400     "trees/paint_holding_commit_trigger.h",
401     "trees/paint_holding_reason.h",
402     "trees/presentation_time_callback_buffer.cc",
403     "trees/presentation_time_callback_buffer.h",
404     "trees/property_animation_state.cc",
405     "trees/property_animation_state.h",
406     "trees/property_tree.cc",
407     "trees/property_tree.h",
408     "trees/property_tree_builder.cc",
409     "trees/property_tree_builder.h",
410     "trees/proxy.h",
411     "trees/proxy_common.cc",
412     "trees/proxy_common.h",
413     "trees/proxy_impl.cc",
414     "trees/proxy_impl.h",
415     "trees/proxy_main.cc",
416     "trees/proxy_main.h",
417     "trees/raster_capabilities.cc",
418     "trees/raster_capabilities.h",
419     "trees/raster_context_provider_wrapper.cc",
420     "trees/raster_context_provider_wrapper.h",
421     "trees/render_frame_metadata.cc",
422     "trees/render_frame_metadata.h",
423     "trees/render_frame_metadata_observer.h",
424     "trees/scoped_abort_remaining_swap_promises.h",
425     "trees/scroll_node.cc",
426     "trees/scroll_node.h",
427     "trees/single_thread_proxy.cc",
428     "trees/single_thread_proxy.h",
429     "trees/sticky_position_constraint.cc",
430     "trees/sticky_position_constraint.h",
431     "trees/swap_promise.h",
432     "trees/swap_promise_manager.cc",
433     "trees/swap_promise_manager.h",
434     "trees/target_property.cc",
435     "trees/target_property.h",
436     "trees/task_runner_provider.cc",
437     "trees/task_runner_provider.h",
438     "trees/throttle_decider.cc",
439     "trees/throttle_decider.h",
440     "trees/transform_node.cc",
441     "trees/transform_node.h",
442     "trees/tree_synchronizer.cc",
443     "trees/tree_synchronizer.h",
444     "trees/ukm_manager.cc",
445     "trees/ukm_manager.h",
446     "trees/viewport_layers.cc",
447     "trees/viewport_layers.h",
448     "trees/viewport_property_ids.h",
449     "view_transition/view_transition_element_id.cc",
450     "view_transition/view_transition_element_id.h",
451     "view_transition/view_transition_request.cc",
452     "view_transition/view_transition_request.h",
453   ]
454
455   public_deps = [
456     "//cc/base",
457     "//cc/paint",
458     "//components/viz/common",
459     "//skia",
460   ]
461   deps = [
462     "//base",
463     "//base/third_party/dynamic_annotations",
464     "//build:chromeos_buildflags",
465     "//components/miracle_parameter/common",
466     "//components/viz/client",
467     "//device/base/synchronization",
468     "//gpu",
469     "//gpu/command_buffer/client:gles2_interface",
470     "//gpu/command_buffer/client:raster_interface",
471     "//gpu/skia_bindings:skia_bindings",
472     "//gpu/vulkan:buildflags",
473     "//media",  # For VideoLayerImpl.
474     "//mojo/public/cpp/bindings:struct_traits",
475     "//services/metrics/public/cpp:ukm_builders",
476     "//services/metrics/public/mojom",
477     "//services/tracing/public/cpp:cpp",
478     "//skia:skcms",
479     "//ui/base:features",
480     "//ui/events:events_base",
481     "//ui/gfx",
482     "//ui/gfx/animation/keyframe",
483     "//ui/gfx/geometry",
484     "//ui/gl",
485     "//ui/latency",
486   ]
487
488   defines = [ "CC_IMPLEMENTATION=1" ]
489 }
490
491 cc_test_static_library("test_support") {
492   testonly = true
493   sources = [
494     "test/animation_test_common.cc",
495     "test/animation_test_common.h",
496     "test/animation_timelines_test_common.cc",
497     "test/animation_timelines_test_common.h",
498     "test/fake_compositor_frame_reporting_controller.cc",
499     "test/fake_compositor_frame_reporting_controller.h",
500     "test/fake_content_layer_client.cc",
501     "test/fake_content_layer_client.h",
502     "test/fake_frame_info.cc",
503     "test/fake_frame_info.h",
504     "test/fake_impl_task_runner_provider.h",
505     "test/fake_layer_tree_frame_sink.cc",
506     "test/fake_layer_tree_frame_sink.h",
507     "test/fake_layer_tree_frame_sink_client.cc",
508     "test/fake_layer_tree_frame_sink_client.h",
509     "test/fake_layer_tree_host.cc",
510     "test/fake_layer_tree_host.h",
511     "test/fake_layer_tree_host_client.cc",
512     "test/fake_layer_tree_host_client.h",
513     "test/fake_layer_tree_host_impl.cc",
514     "test/fake_layer_tree_host_impl.h",
515     "test/fake_layer_tree_host_impl_client.cc",
516     "test/fake_layer_tree_host_impl_client.h",
517     "test/fake_mask_layer_impl.cc",
518     "test/fake_mask_layer_impl.h",
519     "test/fake_output_surface_client.cc",
520     "test/fake_output_surface_client.h",
521     "test/fake_paint_image_generator.cc",
522     "test/fake_paint_image_generator.h",
523     "test/fake_painted_scrollbar_layer.cc",
524     "test/fake_painted_scrollbar_layer.h",
525     "test/fake_picture_layer.cc",
526     "test/fake_picture_layer.h",
527     "test/fake_picture_layer_impl.cc",
528     "test/fake_picture_layer_impl.h",
529     "test/fake_picture_layer_tiling_client.cc",
530     "test/fake_picture_layer_tiling_client.h",
531     "test/fake_proxy.cc",
532     "test/fake_proxy.h",
533     "test/fake_raster_buffer_provider.cc",
534     "test/fake_raster_buffer_provider.h",
535     "test/fake_raster_query_queue.cc",
536     "test/fake_raster_query_queue.h",
537     "test/fake_raster_source.cc",
538     "test/fake_raster_source.h",
539     "test/fake_recording_source.cc",
540     "test/fake_recording_source.h",
541     "test/fake_rendering_stats_instrumentation.h",
542     "test/fake_scoped_ui_resource.cc",
543     "test/fake_scoped_ui_resource.h",
544     "test/fake_scrollbar.cc",
545     "test/fake_scrollbar.h",
546     "test/fake_tile_manager.cc",
547     "test/fake_tile_manager.h",
548     "test/fake_tile_manager_client.cc",
549     "test/fake_tile_manager_client.h",
550     "test/fake_tile_task_manager.cc",
551     "test/fake_tile_task_manager.h",
552     "test/fake_ui_resource_layer_tree_host_impl.cc",
553     "test/fake_ui_resource_layer_tree_host_impl.h",
554     "test/fake_video_frame_provider.cc",
555     "test/fake_video_frame_provider.h",
556     "test/layer_test_common.cc",
557     "test/layer_test_common.h",
558     "test/layer_tree_impl_test_base.cc",
559     "test/layer_tree_impl_test_base.h",
560     "test/layer_tree_json_parser.cc",
561     "test/layer_tree_json_parser.h",
562     "test/layer_tree_pixel_resource_test.cc",
563     "test/layer_tree_pixel_resource_test.h",
564     "test/layer_tree_pixel_test.cc",
565     "test/layer_tree_pixel_test.h",
566     "test/layer_tree_test.cc",
567     "test/layer_tree_test.h",
568     "test/lottie_test_data.cc",
569     "test/lottie_test_data.h",
570     "test/mock_latency_info_swap_promise_monitor.cc",
571     "test/mock_latency_info_swap_promise_monitor.h",
572     "test/mock_layer_tree_mutator.cc",
573     "test/mock_layer_tree_mutator.h",
574     "test/mock_occlusion_tracker.h",
575     "test/paint_image_matchers.h",
576     "test/paint_op_helper.h",
577     "test/paint_op_matchers.h",
578     "test/pixel_comparator.cc",
579     "test/pixel_comparator.h",
580     "test/pixel_test.cc",
581     "test/pixel_test.h",
582     "test/pixel_test_output_surface.cc",
583     "test/pixel_test_output_surface.h",
584     "test/pixel_test_utils.cc",
585     "test/pixel_test_utils.h",
586     "test/property_tree_test_utils.cc",
587     "test/property_tree_test_utils.h",
588     "test/push_properties_counting_layer.cc",
589     "test/push_properties_counting_layer.h",
590     "test/push_properties_counting_layer_impl.cc",
591     "test/push_properties_counting_layer_impl.h",
592     "test/render_pass_test_utils.cc",
593     "test/render_pass_test_utils.h",
594     "test/resource_provider_test_utils.cc",
595     "test/resource_provider_test_utils.h",
596     "test/scheduler_test_common.cc",
597     "test/scheduler_test_common.h",
598     "test/skia_common.cc",
599     "test/skia_common.h",
600     "test/solid_color_content_layer_client.cc",
601     "test/solid_color_content_layer_client.h",
602     "test/stub_decode_cache.cc",
603     "test/stub_decode_cache.h",
604     "test/stub_input_handler_client.h",
605     "test/stub_layer_tree_host_client.cc",
606     "test/stub_layer_tree_host_client.h",
607     "test/stub_layer_tree_host_single_thread_client.cc",
608     "test/stub_layer_tree_host_single_thread_client.h",
609     "test/task_graph_runner_test_template.cc",
610     "test/task_graph_runner_test_template.h",
611     "test/test_hooks.cc",
612     "test/test_hooks.h",
613     "test/test_layer_tree_frame_sink.cc",
614     "test/test_layer_tree_frame_sink.h",
615     "test/test_layer_tree_host_base.cc",
616     "test/test_layer_tree_host_base.h",
617     "test/test_occlusion_tracker.h",
618     "test/test_options_provider.cc",
619     "test/test_options_provider.h",
620     "test/test_paint_worklet_input.cc",
621     "test/test_paint_worklet_input.h",
622     "test/test_paint_worklet_layer_painter.cc",
623     "test/test_paint_worklet_layer_painter.h",
624     "test/test_skcanvas.cc",
625     "test/test_skcanvas.h",
626     "test/test_task_graph_runner.cc",
627     "test/test_task_graph_runner.h",
628     "test/test_tile_priorities.cc",
629     "test/test_tile_priorities.h",
630     "test/test_tile_task_runner.cc",
631     "test/test_tile_task_runner.h",
632     "test/test_types.cc",
633     "test/test_types.h",
634     "test/test_ukm_recorder_factory.cc",
635     "test/test_ukm_recorder_factory.h",
636     "test/transfer_cache_test_helper.cc",
637     "test/transfer_cache_test_helper.h",
638   ]
639
640   public_deps = [
641     ":cc",
642     "//cc/animation",
643     "//gpu:test_support",
644     "//testing/gmock",
645   ]
646   deps = [
647     "//base",
648     "//base/test:test_support",
649     "//base/third_party/dynamic_annotations",
650     "//cc/paint",
651     "//components/ukm",
652     "//components/ukm:test_support",
653     "//components/viz/client",
654     "//components/viz/common",
655     "//components/viz/service",
656     "//components/viz/test:test_support",
657     "//gpu/command_buffer/client:gles2_implementation",
658     "//gpu/command_buffer/client:raster",
659     "//gpu/command_buffer/common",
660     "//gpu/ipc:gl_in_process_context",
661     "//gpu/ipc/service",
662     "//gpu/skia_bindings",
663     "//media",
664     "//services/viz/privileged/mojom",
665     "//skia",
666     "//testing/gtest",
667     "//ui/base:features",
668     "//ui/gfx",
669     "//ui/gfx:test_support",
670     "//ui/gfx/animation/keyframe",
671     "//ui/gfx/geometry",
672     "//ui/gl",
673     "//ui/gl:test_support",
674     "//ui/latency",
675   ]
676   if (enable_vulkan) {
677     deps += [ "//gpu/vulkan/init" ]
678   }
679   if (!is_android) {
680     data_deps = [ "//third_party/mesa_headers" ]
681   }
682   if (skia_use_dawn) {
683     deps += [
684       "//third_party/dawn/src/dawn:proc",
685       "//third_party/dawn/src/dawn/native",
686     ]
687   }
688 }
689
690 if (is_ios) {
691   bundle_data("unit_tests_bundle_data") {
692     testonly = true
693     sources = [ "test/data/lottie/animation_with_2_text_nodes.json" ]
694     outputs = [ "{{bundle_resources_dir}}/" +
695                 "{{source_root_relative_dir}}/{{source_file_part}}" ]
696   }
697 }
698
699 cc_test("cc_unittests") {
700   use_xvfb = use_xvfb_in_this_config
701
702   sources = [
703     "base/delayed_unique_notifier_unittest.cc",
704     "base/histograms_unittest.cc",
705     "base/index_rect_unittest.cc",
706     "base/list_container_unittest.cc",
707     "base/math_util_unittest.cc",
708     "base/region_unittest.cc",
709     "base/rolling_time_delta_history_unittest.cc",
710     "base/rtree_unittest.cc",
711     "base/simple_enclosed_region_unittest.cc",
712     "base/spiral_iterator_unittest.cc",
713     "base/tiling_data_unittest.cc",
714     "base/unique_notifier_unittest.cc",
715     "benchmarks/micro_benchmark_controller_unittest.cc",
716     "debug/rendering_stats_unittest.cc",
717     "input/browser_controls_offset_manager_unittest.cc",
718     "input/hit_test_opaqueness_unittest.cc",
719     "input/main_thread_scrolling_reason_unittest.cc",
720     "input/scroll_snap_data_unittest.cc",
721     "input/scroll_state_unittest.cc",
722     "input/scrollbar_animation_controller_unittest.cc",
723     "input/single_scrollbar_animation_controller_thinning_unittest.cc",
724     "input/snap_fling_controller_unittest.cc",
725     "input/snap_fling_curve_unittest.cc",
726     "layers/effect_tree_layer_list_iterator_unittest.cc",
727     "layers/heads_up_display_layer_impl_unittest.cc",
728     "layers/heads_up_display_unittest.cc",
729     "layers/layer_impl_unittest.cc",
730     "layers/layer_list_iterator_unittest.cc",
731     "layers/layer_unittest.cc",
732     "layers/mirror_layer_unittest.cc",
733     "layers/nine_patch_generator_unittest.cc",
734     "layers/nine_patch_layer_impl_unittest.cc",
735     "layers/nine_patch_layer_unittest.cc",
736     "layers/painted_overlay_scrollbar_layer_unittest.cc",
737     "layers/painted_scrollbar_layer_impl_unittest.cc",
738     "layers/painted_scrollbar_layer_unittest.cc",
739     "layers/picture_layer_impl_unittest.cc",
740     "layers/picture_layer_unittest.cc",
741     "layers/recording_source_unittest.cc",
742     "layers/render_surface_impl_unittest.cc",
743     "layers/render_surface_unittest.cc",
744     "layers/scrollbar_layer_unittest.cc",
745     "layers/solid_color_layer_impl_unittest.cc",
746     "layers/solid_color_scrollbar_layer_impl_unittest.cc",
747     "layers/surface_layer_impl_unittest.cc",
748     "layers/surface_layer_unittest.cc",
749     "layers/texture_layer_impl_unittest.cc",
750     "layers/texture_layer_unittest.cc",
751     "layers/touch_action_region_unittest.cc",
752     "layers/ui_resource_layer_impl_unittest.cc",
753     "layers/ui_resource_layer_unittest.cc",
754     "layers/video_frame_provider_client_impl_unittest.cc",
755     "layers/video_layer_impl_unittest.cc",
756     "layers/viewport_unittest.cc",
757     "metrics/average_lag_tracker_unittest.cc",
758     "metrics/average_lag_tracking_manager_unittest.cc",
759     "metrics/compositor_frame_reporter_unittest.cc",
760     "metrics/compositor_frame_reporting_controller_unittest.cc",
761     "metrics/compositor_timing_history_unittest.cc",
762     "metrics/dropped_frame_counter_unittest.cc",
763     "metrics/event_metrics_unittest.cc",
764     "metrics/events_metrics_manager_unittest.cc",
765     "metrics/frame_info_unittest.cc",
766     "metrics/frame_sequence_metrics_unittest.cc",
767     "metrics/frame_sequence_tracker_unittest.cc",
768     "metrics/frame_sorter_unittest.cc",
769     "metrics/jank_metrics_unittest.cc",
770     "metrics/predictor_jank_tracker_unittest.cc",
771     "metrics/scroll_jank_dropped_frame_tracker_unittest.cc",
772     "metrics/total_frame_counter_unittest.cc",
773     "metrics/video_playback_roughness_reporter_unittest.cc",
774     "mojo_embedder/async_layer_tree_frame_sink_unittest.cc",
775     "paint/clear_for_opaque_raster_unittest.cc",
776     "paint/discardable_image_map_unittest.cc",
777     "paint/display_item_list_unittest.cc",
778     "paint/filter_operations_unittest.cc",
779     "paint/image_transfer_cache_entry_unittest.cc",
780     "paint/oop_pixeltest.cc",
781     "paint/paint_cache_unittest.cc",
782     "paint/paint_filter_unittest.cc",
783     "paint/paint_image_unittest.cc",
784     "paint/paint_op_buffer_unittest.cc",
785     "paint/paint_op_helper_unittest.cc",
786     "paint/paint_op_writer_reader_unittest.cc",
787     "paint/paint_shader_unittest.cc",
788     "paint/paint_worklet_input_unittest.cc",
789     "paint/scoped_raster_flags_unittest.cc",
790     "paint/skia_paint_canvas_unittest.cc",
791     "paint/solid_color_analyzer_unittest.cc",
792     "paint/transfer_cache_unittest.cc",
793     "raster/categorized_worker_pool_unittest.cc",
794     "raster/playback_image_provider_unittest.cc",
795     "raster/raster_buffer_provider_unittest.cc",
796     "raster/raster_source_unittest.cc",
797     "raster/single_thread_task_graph_runner_unittest.cc",
798     "raster/staging_buffer_pool_unittest.cc",
799     "raster/synchronous_task_graph_runner_unittest.cc",
800     "raster/task_graph_work_queue_unittest.cc",
801     "resources/resource_pool_unittest.cc",
802     "scheduler/scheduler_state_machine_unittest.cc",
803     "scheduler/scheduler_unittest.cc",
804     "slim/delayer_scheduler_unittest.cc",
805     "slim/slim_layer_tree_compositor_frame_unittest.cc",
806     "slim/slim_layer_tree_unittest.cc",
807     "slim/slim_layer_unittest.cc",
808     "slim/test_frame_sink_impl.cc",
809     "slim/test_frame_sink_impl.h",
810     "slim/test_layer_tree_client.cc",
811     "slim/test_layer_tree_client.h",
812     "slim/test_layer_tree_impl.cc",
813     "slim/test_layer_tree_impl.h",
814     "tiles/checker_image_tracker_unittest.cc",
815     "tiles/decoded_image_tracker_unittest.cc",
816     "tiles/gpu_image_decode_cache_unittest.cc",
817     "tiles/image_controller_unittest.cc",
818     "tiles/mipmap_util_unittest.cc",
819     "tiles/picture_layer_tiling_set_unittest.cc",
820     "tiles/picture_layer_tiling_unittest.cc",
821     "tiles/software_image_decode_cache_unittest.cc",
822     "tiles/software_image_decode_cache_unittest_combinations.cc",
823     "tiles/tile_manager_unittest.cc",
824     "tiles/tile_priority_unittest.cc",
825     "trees/damage_tracker_unittest.cc",
826     "trees/draw_properties_unittest.cc",
827     "trees/frame_rate_estimator_unittest.cc",
828     "trees/image_animation_controller_unittest.cc",
829     "trees/layer_tree_frame_sink_unittest.cc",
830     "trees/layer_tree_host_impl_unittest.cc",
831     "trees/layer_tree_host_pixeltest_blending.cc",
832     "trees/layer_tree_host_pixeltest_filters.cc",
833     "trees/layer_tree_host_pixeltest_masks.cc",
834     "trees/layer_tree_host_pixeltest_mirror.cc",
835     "trees/layer_tree_host_pixeltest_readback.cc",
836     "trees/layer_tree_host_pixeltest_scrollbars.cc",
837     "trees/layer_tree_host_pixeltest_synchronous.cc",
838     "trees/layer_tree_host_pixeltest_tiles.cc",
839     "trees/layer_tree_host_unittest.cc",
840     "trees/layer_tree_host_unittest_animation.cc",
841     "trees/layer_tree_host_unittest_capture.cc",
842     "trees/layer_tree_host_unittest_capture_content.cc",
843     "trees/layer_tree_host_unittest_checkerimaging.cc",
844     "trees/layer_tree_host_unittest_context.cc",
845     "trees/layer_tree_host_unittest_copyrequest.cc",
846     "trees/layer_tree_host_unittest_damage.cc",
847     "trees/layer_tree_host_unittest_masks.cc",
848     "trees/layer_tree_host_unittest_occlusion.cc",
849     "trees/layer_tree_host_unittest_picture.cc",
850     "trees/layer_tree_host_unittest_proxy.cc",
851     "trees/layer_tree_host_unittest_record_gpu_histogram.cc",
852     "trees/layer_tree_host_unittest_scroll.cc",
853     "trees/layer_tree_host_unittest_video.cc",
854     "trees/layer_tree_impl_unittest.cc",
855     "trees/occlusion_tracker_unittest.cc",
856     "trees/occlusion_unittest.cc",
857     "trees/presentation_time_callback_buffer_unittest.cc",
858     "trees/property_tree_builder_unittest.cc",
859     "trees/property_tree_unittest.cc",
860     "trees/swap_promise_manager_unittest.cc",
861     "trees/throttle_decider_unittest.cc",
862     "trees/tree_synchronizer_unittest.cc",
863     "trees/ukm_manager_unittest.cc",
864     "view_transition/view_transition_request_unittest.cc",
865
866     # Animation test files.
867     "animation/animation_host_unittest.cc",
868     "animation/animation_timeline_unittest.cc",
869     "animation/animation_unittest.cc",
870     "animation/element_animations_unittest.cc",
871     "animation/filter_animation_curve_unittest.cc",
872     "animation/keyframe_model_unittest.cc",
873     "animation/scroll_offset_animation_curve_unittest.cc",
874     "animation/scroll_timeline_unittest.cc",
875     "animation/worklet_animation_unittest.cc",
876
877     # Setup.
878     "test/cc_test_suite.cc",
879     "test/cc_test_suite.h",
880     "test/run_all_unittests.cc",
881   ]
882
883   if (skia_support_skottie) {
884     sources += [
885       "paint/skottie_mru_resource_provider_unittest.cc",
886       "paint/skottie_resource_metadata_unittest.cc",
887       "paint/skottie_serialization_history_unittest.cc",
888       "paint/skottie_text_property_value_unittest.cc",
889       "paint/skottie_transfer_cache_entry_unittest.cc",
890       "paint/skottie_wrapper_unittest.cc",
891     ]
892   }
893
894   deps = [
895     ":cc",
896     ":test_support",
897     "//base/test:test_support",
898     "//build:chromeos_buildflags",
899     "//cc/mojo_embedder",
900     "//cc/paint",
901     "//cc/slim",
902     "//components/ukm:test_support",
903     "//components/viz/client",
904     "//components/viz/common",
905     "//components/viz/service",
906     "//components/viz/test:test_support",
907     "//gpu",
908     "//gpu:test_support",
909     "//gpu/command_buffer/client:gles2_implementation",
910     "//gpu/command_buffer/client:gles2_interface",
911     "//gpu/command_buffer/client:raster",
912     "//gpu/command_buffer/client:raster_interface",
913     "//gpu/ipc:gl_in_process_context",
914     "//gpu/skia_bindings",
915     "//media",
916     "//mojo/core/embedder",
917     "//mojo/public/cpp/bindings",
918     "//skia:buildflags",
919     "//skia:skcms",
920     "//testing/gmock",
921     "//testing/gtest",
922     "//ui/events:events_base",
923     "//ui/gfx",
924     "//ui/gfx:test_support",
925     "//ui/gfx/animation/keyframe",
926     "//ui/gfx/geometry",
927     "//ui/gl",
928     "//ui/gl:test_support",
929   ]
930
931   data = [ "//components/test/data/viz/" ]
932   data_deps = [
933     "//testing/buildbot/filters:cc_unittests_filters",
934     "//third_party/mesa_headers",
935   ]
936
937   if (is_android && enable_chrome_android_internal) {
938     data_deps += [ "//clank/build/bot/filters:cc_unittests_filters" ]
939   }
940
941   if (skia_support_skottie) {
942     data += [ "test/data/" ]
943   }
944
945   if (is_fuchsia) {
946     # TODO(https://crbug.com/1022542): Some of these tests use SwiftShader,
947     # which requires ambient VMEX.
948     test_runner_shard = "//build/config/fuchsia/test/elf_test_ambient_exec_runner.shard.test-cml"
949
950     additional_manifest_fragments = [
951       "//build/config/fuchsia/test/fonts.shard.test-cml",
952
953       # TODO(https://crbug.com/1185811): Investigate removing the requirement
954       # for VmexResource.
955       "//build/config/fuchsia/test/mark_vmo_executable.shard.test-cml",
956       "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",
957     ]
958   }
959
960   if (enable_vulkan) {
961     deps += [
962       "//gpu/vulkan:test_support",
963       "//gpu/vulkan/init",
964     ]
965   }
966
967   if (is_ios) {
968     public_deps = [
969       ":unit_tests_bundle_data",
970       "//components/test:viz_test_bundle_data",
971     ]
972   }
973 }
974
975 cc_test("cc_perftests") {
976   sources = [
977     "animation/animation_host_perftest.cc",
978     "base/rtree_perftest.cc",
979     "layers/layer_perftest.cc",
980     "layers/picture_layer_impl_perftest.cc",
981     "paint/paint_op_perftest.cc",
982     "raster/raster_buffer_provider_perftest.cc",
983     "raster/task_graph_runner_perftest.cc",
984     "test/cc_test_suite.cc",
985     "test/cc_test_suite.h",
986     "test/run_all_perftests.cc",
987     "tiles/gpu_image_decode_cache_perftest.cc",
988     "tiles/software_image_decode_cache_perftest.cc",
989     "tiles/tile_manager_perftest.cc",
990     "trees/draw_property_utils_perftest.cc",
991     "trees/layer_tree_host_perftest.cc",
992   ]
993
994   deps = [
995     ":cc",
996     ":test_support",
997     "//base",
998     "//base/test:test_support",
999     "//cc/paint",
1000     "//components/viz/client",
1001     "//components/viz/common",
1002     "//components/viz/test:test_support",
1003     "//gpu",
1004     "//gpu:test_support",
1005     "//gpu/command_buffer/client:gles2_implementation",
1006     "//gpu/command_buffer/client:raster",
1007     "//gpu/command_buffer/client:raster_interface",
1008     "//gpu/ipc:gl_in_process_context",
1009     "//gpu/ipc/common",
1010     "//media",
1011     "//mojo/core/embedder",
1012     "//mojo/public/cpp/bindings",
1013     "//services/viz/public/mojom",
1014     "//skia",
1015     "//testing/gmock",
1016     "//testing/gtest",
1017     "//testing/perf",
1018     "//ui/gfx",
1019     "//ui/gfx/geometry",
1020     "//ui/gl",
1021     "//ui/gl:test_support",
1022   ]
1023
1024   # This target should not require the Chrome executable to run.
1025   assert_no_deps = [ "//chrome" ]
1026
1027   data = [ "//components/test/data/viz/" ]
1028
1029   data_deps = [
1030     # Needed for isolate script to execute.
1031     "//testing:run_perf_test",
1032   ]
1033 }
1034
1035 if (is_android) {
1036   java_cpp_enum("cc_android_java_enums_srcjar") {
1037     sources = [ "//cc/input/browser_controls_state.h" ]
1038   }
1039
1040   android_library("cc_java") {
1041     # Right now, this only includes the Java switches. But if we need more Java
1042     # files, they should be added here as necessary.
1043     srcjar_deps = [ ":cc_android_java_enums_srcjar" ]
1044     deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
1045   }
1046 }