BUILD.gn 36 KB

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