BUILD.gn 49 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535
  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/buildflag_header.gni")
  5. import("//build/config/chromeos/ui_mode.gni")
  6. import("//build/config/features.gni")
  7. import("//build/config/ozone.gni")
  8. import("//build/config/ui.gni")
  9. import("//components/vector_icons/vector_icons.gni")
  10. import("//skia/features.gni")
  11. import("//testing/test.gni")
  12. import("//ui/base/ui_features.gni")
  13. import("//ui/views/features.gni")
  14. assert(toolkit_views)
  15. config("flags") {
  16. defines = [ "TOOLKIT_VIEWS=1" ]
  17. }
  18. aggregate_vector_icons("views_vector_icons") {
  19. icon_directory = "vector_icons"
  20. sources = [
  21. "checkbox_active.icon",
  22. "checkbox_normal.icon",
  23. "close.icon",
  24. "drag_general_selection.icon",
  25. "drag_image_selection.icon",
  26. "ic_close.icon",
  27. "info.icon",
  28. "launch.icon",
  29. "linux_high_density.icon",
  30. "linux_low_density.icon",
  31. "menu_check.icon",
  32. "menu_drop_arrow.icon",
  33. "menu_radio_empty.icon",
  34. "menu_radio_selected.icon",
  35. "new_incognito_window.icon",
  36. "new_tab.icon",
  37. "new_window.icon",
  38. "open.icon",
  39. "options.icon",
  40. "pin.icon",
  41. "radio_button_active.icon",
  42. "radio_button_normal.icon",
  43. "uninstall.icon",
  44. "unpin.icon",
  45. ]
  46. }
  47. buildflag_header("buildflags") {
  48. header = "buildflags.h"
  49. flags = [ "ENABLE_DESKTOP_AURA=$enable_desktop_aura" ]
  50. }
  51. component("views") {
  52. all_dependent_configs = [ ":flags" ]
  53. public = [
  54. "accessibility/accessibility_paint_checks.h",
  55. "accessibility/ax_event_manager.h",
  56. "accessibility/ax_event_observer.h",
  57. "accessibility/ax_virtual_view.h",
  58. "accessibility/view_accessibility.h",
  59. "accessibility/view_accessibility_utils.h",
  60. "accessibility/views_ax_tree_manager.h",
  61. "accessibility/widget_ax_tree_id_map.h",
  62. "accessible_pane_view.h",
  63. "animation/animation_abort_handle.h",
  64. "animation/animation_builder.h",
  65. "animation/animation_delegate_views.h",
  66. "animation/animation_sequence_block.h",
  67. "animation/bounds_animator.h",
  68. "animation/bounds_animator_observer.h",
  69. "animation/bubble_slide_animator.h",
  70. "animation/compositor_animation_runner.h",
  71. "animation/flood_fill_ink_drop_ripple.h",
  72. "animation/ink_drop.h",
  73. "animation/ink_drop_animation_ended_reason.h",
  74. "animation/ink_drop_event_handler.h",
  75. "animation/ink_drop_highlight.h",
  76. "animation/ink_drop_highlight_observer.h",
  77. "animation/ink_drop_host_view.h",
  78. "animation/ink_drop_impl.h",
  79. "animation/ink_drop_mask.h",
  80. "animation/ink_drop_observer.h",
  81. "animation/ink_drop_painted_layer_delegates.h",
  82. "animation/ink_drop_ripple.h",
  83. "animation/ink_drop_ripple_observer.h",
  84. "animation/ink_drop_state.h",
  85. "animation/ink_drop_stub.h",
  86. "animation/ink_drop_util.h",
  87. "animation/scroll_animator.h",
  88. "animation/slide_out_controller.h",
  89. "animation/slide_out_controller_delegate.h",
  90. "animation/square_ink_drop_ripple.h",
  91. "animation/widget_fade_animator.h",
  92. "background.h",
  93. "border.h",
  94. "bubble/bubble_border.h",
  95. "bubble/bubble_border_arrow_utils.h",
  96. "bubble/bubble_dialog_delegate_view.h",
  97. "bubble/bubble_dialog_model_host.h",
  98. "bubble/bubble_frame_view.h",
  99. "bubble/info_bubble.h",
  100. "bubble/tooltip_icon.h",
  101. "button_drag_utils.h",
  102. "cascading_property.h",
  103. "color_chooser/color_chooser_listener.h",
  104. "context_menu_controller.h",
  105. "controls/animated_image_view.h",
  106. "controls/button/button.h",
  107. "controls/button/button_controller.h",
  108. "controls/button/button_controller_delegate.h",
  109. "controls/button/checkbox.h",
  110. "controls/button/image_button.h",
  111. "controls/button/image_button_factory.h",
  112. "controls/button/label_button.h",
  113. "controls/button/label_button_border.h",
  114. "controls/button/md_text_button.h",
  115. "controls/button/menu_button.h",
  116. "controls/button/menu_button_controller.h",
  117. "controls/button/radio_button.h",
  118. "controls/button/toggle_button.h",
  119. "controls/combobox/combobox.h",
  120. "controls/combobox/combobox_menu_model.h",
  121. "controls/combobox/combobox_util.h",
  122. "controls/dot_indicator.h",
  123. "controls/editable_combobox/editable_combobox.h",
  124. "controls/focus_ring.h",
  125. "controls/focusable_border.h",
  126. "controls/highlight_path_generator.h",
  127. "controls/image_view.h",
  128. "controls/image_view_base.h",
  129. "controls/label.h",
  130. "controls/link.h",
  131. "controls/link_fragment.h",
  132. "controls/menu/menu_config.h",
  133. "controls/menu/menu_controller.h",
  134. "controls/menu/menu_controller_delegate.h",
  135. "controls/menu/menu_delegate.h",
  136. "controls/menu/menu_host.h",
  137. "controls/menu/menu_host_root_view.h",
  138. "controls/menu/menu_image_util.h",
  139. "controls/menu/menu_insertion_delegate_win.h",
  140. "controls/menu/menu_item_view.h",
  141. "controls/menu/menu_model_adapter.h",
  142. "controls/menu/menu_runner.h",
  143. "controls/menu/menu_runner_handler.h",
  144. "controls/menu/menu_runner_impl.h",
  145. "controls/menu/menu_runner_impl_adapter.h",
  146. "controls/menu/menu_runner_impl_interface.h",
  147. "controls/menu/menu_scroll_view_container.h",
  148. "controls/menu/menu_separator.h",
  149. "controls/menu/menu_types.h",
  150. "controls/menu/new_badge.h",
  151. "controls/menu/submenu_view.h",
  152. "controls/message_box_view.h",
  153. "controls/native/native_view_host.h",
  154. "controls/native/native_view_host_mac.h",
  155. "controls/native/native_view_host_wrapper.h",
  156. "controls/prefix_delegate.h",
  157. "controls/prefix_selector.h",
  158. "controls/progress_bar.h",
  159. "controls/progress_ring_utils.h",
  160. "controls/resize_area.h",
  161. "controls/resize_area_delegate.h",
  162. "controls/scroll_view.h",
  163. "controls/scrollbar/base_scroll_bar_thumb.h",
  164. "controls/scrollbar/overlay_scroll_bar.h",
  165. "controls/scrollbar/scroll_bar.h",
  166. "controls/scrollbar/scroll_bar_button.h",
  167. "controls/scrollbar/scroll_bar_views.h",
  168. "controls/separator.h",
  169. "controls/slider.h",
  170. "controls/styled_label.h",
  171. "controls/tabbed_pane/tabbed_pane.h",
  172. "controls/tabbed_pane/tabbed_pane_listener.h",
  173. "controls/table/table_grouper.h",
  174. "controls/table/table_header.h",
  175. "controls/table/table_utils.h",
  176. "controls/table/table_view.h",
  177. "controls/table/table_view_observer.h",
  178. "controls/textarea/textarea.h",
  179. "controls/textfield/textfield.h",
  180. "controls/textfield/textfield_controller.h",
  181. "controls/textfield/textfield_model.h",
  182. "controls/theme_tracking_image_view.h",
  183. "controls/throbber.h",
  184. "controls/tree/tree_view.h",
  185. "controls/tree/tree_view_controller.h",
  186. "controls/tree/tree_view_drawing_provider.h",
  187. "controls/views_text_services_context_menu.h",
  188. "controls/views_text_services_context_menu_base.h",
  189. "debug_utils.h",
  190. "dialog_model_context_menu_controller.h",
  191. "drag_controller.h",
  192. "drag_utils.h",
  193. "event_monitor.h",
  194. "focus/external_focus_tracker.h",
  195. "focus/focus_manager.h",
  196. "focus/focus_manager_delegate.h",
  197. "focus/focus_manager_factory.h",
  198. "focus/focus_search.h",
  199. "focus/widget_focus_manager.h",
  200. "input_event_activation_protector.h",
  201. "interaction/element_tracker_views.h",
  202. "interaction/interaction_sequence_views.h",
  203. "layout/animating_layout_manager.h",
  204. "layout/box_layout.h",
  205. "layout/box_layout_view.h",
  206. "layout/fill_layout.h",
  207. "layout/flex_layout.h",
  208. "layout/flex_layout_types.h",
  209. "layout/flex_layout_view.h",
  210. "layout/layout_manager.h",
  211. "layout/layout_manager_base.h",
  212. "layout/layout_provider.h",
  213. "layout/layout_types.h",
  214. "layout/normalized_geometry.h",
  215. "layout/proposed_layout.h",
  216. "layout/table_layout.h",
  217. "layout/table_layout_view.h",
  218. "masked_targeter_delegate.h",
  219. "metadata/type_conversion.h",
  220. "metadata/view_factory.h",
  221. "metadata/view_factory_internal.h",
  222. "metrics.h",
  223. "mouse_constants.h",
  224. "mouse_watcher.h",
  225. "mouse_watcher_view_host.h",
  226. "native_theme_delegate.h",
  227. "paint_info.h",
  228. "painter.h",
  229. "rect_based_targeting_utils.h",
  230. "repeat_controller.h",
  231. "round_rect_painter.h",
  232. "selection_controller.h",
  233. "selection_controller_delegate.h",
  234. "style/platform_style.h",
  235. "style/typography.h",
  236. "style/typography_provider.h",
  237. "view.h",
  238. "view_class_properties.h",
  239. "view_constants.h",
  240. "view_model.h",
  241. "view_model_utils.h",
  242. "view_observer.h",
  243. "view_targeter.h",
  244. "view_targeter_delegate.h",
  245. "view_tracker.h",
  246. "view_utils.h",
  247. "views_delegate.h",
  248. "views_export.h",
  249. "views_features.h",
  250. "views_switches.h",
  251. "views_touch_selection_controller_factory.h",
  252. "widget/any_widget_observer.h",
  253. "widget/any_widget_observer_singleton.h",
  254. "widget/drop_helper.h",
  255. "widget/native_widget.h",
  256. "widget/native_widget_delegate.h",
  257. "widget/native_widget_private.h",
  258. "widget/root_view.h",
  259. "widget/root_view_targeter.h",
  260. "widget/tooltip_manager.h",
  261. "widget/unique_widget_ptr.h",
  262. "widget/widget.h",
  263. "widget/widget_delegate.h",
  264. "widget/widget_deletion_observer.h",
  265. "widget/widget_observer.h",
  266. "widget/widget_removals_observer.h",
  267. "widget/widget_utils.h",
  268. "window/caption_button_layout_constants.h",
  269. "window/caption_button_types.h",
  270. "window/client_view.h",
  271. "window/custom_frame_view.h",
  272. "window/dialog_client_view.h",
  273. "window/dialog_delegate.h",
  274. "window/dialog_observer.h",
  275. "window/frame_background.h",
  276. "window/frame_buttons.h",
  277. "window/frame_caption_button.h",
  278. "window/hit_test_utils.h",
  279. "window/native_frame_view.h",
  280. "window/non_client_view.h",
  281. "window/window_button_order_provider.h",
  282. "window/window_resources.h",
  283. "window/window_shape.h",
  284. "word_lookup_client.h",
  285. ]
  286. sources = [
  287. "accessibility/accessibility_paint_checks.cc",
  288. "accessibility/ax_event_manager.cc",
  289. "accessibility/ax_event_observer.cc",
  290. "accessibility/ax_virtual_view.cc",
  291. "accessibility/view_accessibility.cc",
  292. "accessibility/view_accessibility_utils.cc",
  293. "accessible_pane_view.cc",
  294. "animation/animation_abort_handle.cc",
  295. "animation/animation_builder.cc",
  296. "animation/animation_delegate_views.cc",
  297. "animation/animation_key.h",
  298. "animation/animation_sequence_block.cc",
  299. "animation/bounds_animator.cc",
  300. "animation/bubble_slide_animator.cc",
  301. "animation/compositor_animation_runner.cc",
  302. "animation/flood_fill_ink_drop_ripple.cc",
  303. "animation/ink_drop.cc",
  304. "animation/ink_drop_animation_ended_reason.cc",
  305. "animation/ink_drop_event_handler.cc",
  306. "animation/ink_drop_highlight.cc",
  307. "animation/ink_drop_host_view.cc",
  308. "animation/ink_drop_impl.cc",
  309. "animation/ink_drop_mask.cc",
  310. "animation/ink_drop_painted_layer_delegates.cc",
  311. "animation/ink_drop_ripple.cc",
  312. "animation/ink_drop_state.cc",
  313. "animation/ink_drop_stub.cc",
  314. "animation/ink_drop_util.cc",
  315. "animation/scroll_animator.cc",
  316. "animation/slide_out_controller.cc",
  317. "animation/square_ink_drop_ripple.cc",
  318. "animation/widget_fade_animator.cc",
  319. "background.cc",
  320. "border.cc",
  321. "bubble/bubble_border.cc",
  322. "bubble/bubble_border_arrow_utils.cc",
  323. "bubble/bubble_dialog_delegate_view.cc",
  324. "bubble/bubble_dialog_model_host.cc",
  325. "bubble/bubble_frame_view.cc",
  326. "bubble/footnote_container_view.cc",
  327. "bubble/info_bubble.cc",
  328. "bubble/tooltip_icon.cc",
  329. "button_drag_utils.cc",
  330. "cascading_property.cc",
  331. "context_menu_controller.cc",
  332. "controls/animated_image_view.cc",
  333. "controls/button/button.cc",
  334. "controls/button/button_controller.cc",
  335. "controls/button/checkbox.cc",
  336. "controls/button/image_button.cc",
  337. "controls/button/image_button_factory.cc",
  338. "controls/button/label_button.cc",
  339. "controls/button/label_button_border.cc",
  340. "controls/button/md_text_button.cc",
  341. "controls/button/menu_button.cc",
  342. "controls/button/menu_button_controller.cc",
  343. "controls/button/radio_button.cc",
  344. "controls/button/toggle_button.cc",
  345. "controls/combobox/combobox.cc",
  346. "controls/combobox/combobox_menu_model.cc",
  347. "controls/combobox/combobox_util.cc",
  348. "controls/combobox/empty_combobox_model.cc",
  349. "controls/combobox/empty_combobox_model.h",
  350. "controls/dot_indicator.cc",
  351. "controls/editable_combobox/editable_combobox.cc",
  352. "controls/focus_ring.cc",
  353. "controls/focusable_border.cc",
  354. "controls/highlight_path_generator.cc",
  355. "controls/image_view.cc",
  356. "controls/image_view_base.cc",
  357. "controls/label.cc",
  358. "controls/link.cc",
  359. "controls/link_fragment.cc",
  360. "controls/menu/menu_config.cc",
  361. "controls/menu/menu_controller.cc",
  362. "controls/menu/menu_delegate.cc",
  363. "controls/menu/menu_host.cc",
  364. "controls/menu/menu_host_root_view.cc",
  365. "controls/menu/menu_image_util.cc",
  366. "controls/menu/menu_item_view.cc",
  367. "controls/menu/menu_model_adapter.cc",
  368. "controls/menu/menu_runner.cc",
  369. "controls/menu/menu_runner_impl.cc",
  370. "controls/menu/menu_runner_impl_adapter.cc",
  371. "controls/menu/menu_scroll_view_container.cc",
  372. "controls/menu/menu_separator.cc",
  373. "controls/menu/new_badge.cc",
  374. "controls/menu/submenu_view.cc",
  375. "controls/message_box_view.cc",
  376. "controls/native/native_view_host.cc",
  377. "controls/prefix_selector.cc",
  378. "controls/progress_bar.cc",
  379. "controls/progress_ring_utils.cc",
  380. "controls/resize_area.cc",
  381. "controls/scroll_view.cc",
  382. "controls/scrollbar/base_scroll_bar_thumb.cc",
  383. "controls/scrollbar/overlay_scroll_bar.cc",
  384. "controls/scrollbar/scroll_bar.cc",
  385. "controls/scrollbar/scroll_bar_button.cc",
  386. "controls/scrollbar/scroll_bar_views.cc",
  387. "controls/separator.cc",
  388. "controls/slider.cc",
  389. "controls/styled_label.cc",
  390. "controls/tabbed_pane/tabbed_pane.cc",
  391. "controls/table/table_header.cc",
  392. "controls/table/table_utils.cc",
  393. "controls/table/table_view.cc",
  394. "controls/textarea/textarea.cc",
  395. "controls/textfield/textfield.cc",
  396. "controls/textfield/textfield_controller.cc",
  397. "controls/textfield/textfield_model.cc",
  398. "controls/theme_tracking_image_view.cc",
  399. "controls/throbber.cc",
  400. "controls/tree/tree_view.cc",
  401. "controls/tree/tree_view_controller.cc",
  402. "controls/tree/tree_view_drawing_provider.cc",
  403. "controls/views_text_services_context_menu_base.cc",
  404. "debug_utils.cc",
  405. "dialog_model_context_menu_controller.cc",
  406. "drag_utils.cc",
  407. "focus/external_focus_tracker.cc",
  408. "focus/focus_manager.cc",
  409. "focus/focus_manager_factory.cc",
  410. "focus/focus_search.cc",
  411. "focus/widget_focus_manager.cc",
  412. "input_event_activation_protector.cc",
  413. "interaction/element_tracker_views.cc",
  414. "interaction/interaction_sequence_views.cc",
  415. "layout/animating_layout_manager.cc",
  416. "layout/box_layout.cc",
  417. "layout/box_layout_view.cc",
  418. "layout/fill_layout.cc",
  419. "layout/flex_layout.cc",
  420. "layout/flex_layout_types.cc",
  421. "layout/flex_layout_view.cc",
  422. "layout/layout_manager.cc",
  423. "layout/layout_manager_base.cc",
  424. "layout/layout_provider.cc",
  425. "layout/layout_types.cc",
  426. "layout/normalized_geometry.cc",
  427. "layout/proposed_layout.cc",
  428. "layout/table_layout.cc",
  429. "layout/table_layout_view.cc",
  430. "masked_targeter_delegate.cc",
  431. "metadata/type_conversion.cc",
  432. "metadata/view_factory_internal.cc",
  433. "metrics.cc",
  434. "mouse_watcher.cc",
  435. "mouse_watcher_view_host.cc",
  436. "paint_info.cc",
  437. "painter.cc",
  438. "rect_based_targeting_utils.cc",
  439. "repeat_controller.cc",
  440. "round_rect_painter.cc",
  441. "selection_controller.cc",
  442. "style/platform_style.cc",
  443. "style/typography.cc",
  444. "style/typography_provider.cc",
  445. "view.cc",
  446. "view_class_properties.cc",
  447. "view_constants.cc",
  448. "view_model.cc",
  449. "view_model_utils.cc",
  450. "view_targeter.cc",
  451. "view_targeter_delegate.cc",
  452. "view_tracker.cc",
  453. "view_utils.cc",
  454. "views_delegate.cc",
  455. "views_features.cc",
  456. "views_switches.cc",
  457. "widget/any_widget_observer.cc",
  458. "widget/any_widget_observer_singleton.cc",
  459. "widget/drop_helper.cc",
  460. "widget/native_widget_private.cc",
  461. "widget/root_view.cc",
  462. "widget/root_view_targeter.cc",
  463. "widget/tooltip_manager.cc",
  464. "widget/unique_widget_ptr.cc",
  465. "widget/widget.cc",
  466. "widget/widget_aura_utils.cc",
  467. "widget/widget_delegate.cc",
  468. "widget/widget_deletion_observer.cc",
  469. "widget/widget_utils.cc",
  470. "window/caption_button_layout_constants.cc",
  471. "window/client_view.cc",
  472. "window/custom_frame_view.cc",
  473. "window/dialog_client_view.cc",
  474. "window/dialog_delegate.cc",
  475. "window/frame_background.cc",
  476. "window/frame_caption_button.cc",
  477. "window/hit_test_utils.cc",
  478. "window/native_frame_view.cc",
  479. "window/non_client_view.cc",
  480. "window/window_button_order_provider.cc",
  481. "window/window_shape.cc",
  482. ]
  483. # Other targets in this file (e.g. tests) get access to the internal headers.
  484. friend = [ ":*" ]
  485. # Internal sources. TODO(https://crbug.com/871123): Move more headers from
  486. # public into this list, along with the implementation file.
  487. sources += [
  488. "controls/button/label_button_label.cc",
  489. "controls/button/label_button_label.h",
  490. "controls/menu/menu_pre_target_handler.h",
  491. ]
  492. sources += get_target_outputs(":views_vector_icons")
  493. configs += [
  494. "//build/config:precompiled_headers",
  495. "//build/config/compiler:prevent_unsafe_narrowing",
  496. ]
  497. defines = [ "VIEWS_IMPLEMENTATION" ]
  498. deps = [
  499. "//base:i18n",
  500. "//base/third_party/dynamic_annotations",
  501. "//build:chromeos_buildflags",
  502. "//cc/paint",
  503. "//components/url_formatter",
  504. "//mojo/public/cpp/bindings",
  505. "//skia",
  506. "//third_party/icu",
  507. "//ui/accessibility",
  508. "//ui/base/clipboard",
  509. "//ui/base/dragdrop/mojom",
  510. "//ui/color",
  511. "//ui/color:mixers",
  512. "//ui/display",
  513. "//ui/latency",
  514. "//ui/lottie",
  515. "//ui/native_theme",
  516. "//ui/native_theme:native_theme_browser",
  517. "//ui/resources",
  518. "//ui/strings",
  519. "//ui/views/debug:views_debug",
  520. "//ui/views/resources",
  521. "//url",
  522. ]
  523. public_deps = [
  524. ":buildflags",
  525. ":views_vector_icons",
  526. "//base",
  527. "//components/vector_icons",
  528. "//third_party/abseil-cpp:absl",
  529. "//ui/accessibility:ax_enums_mojo",
  530. "//ui/base",
  531. "//ui/base/clipboard",
  532. "//ui/base/cursor",
  533. "//ui/base/dragdrop:types",
  534. "//ui/base/dragdrop/mojom:mojom_headers",
  535. "//ui/base/ime/init",
  536. "//ui/base/metadata",
  537. "//ui/compositor",
  538. "//ui/display",
  539. "//ui/events",
  540. "//ui/events:events_base",
  541. "//ui/events/platform",
  542. "//ui/gfx",
  543. "//ui/gfx/animation",
  544. "//ui/gfx/geometry",
  545. "//ui/views/resources",
  546. "//ui/views/window/vector_icons",
  547. ]
  548. if (is_chromeos_ash) {
  549. deps += [
  550. "//ash/constants",
  551. "//ui/base/ime/ash",
  552. ]
  553. }
  554. if (is_chromeos) {
  555. public += [ "highlight_border.h" ]
  556. sources += [ "highlight_border.cc" ]
  557. deps += [ "//chromeos/constants" ]
  558. }
  559. if (is_linux) {
  560. public_deps += [ "//ui/linux:linux_ui" ]
  561. }
  562. if (is_linux || is_chromeos || is_fuchsia) {
  563. public += [ "color_chooser/color_chooser_view.h" ]
  564. sources += [ "color_chooser/color_chooser_view.cc" ]
  565. }
  566. if (is_linux || is_chromeos_lacros) {
  567. deps += [ "//ui/base/ime/linux" ]
  568. if (!is_chromeos_lacros) {
  569. sources += [ "controls/menu/menu_config_linux.cc" ]
  570. }
  571. }
  572. if (is_chromeos) {
  573. sources += [ "controls/menu/menu_config_chromeos.cc" ]
  574. if (!is_chromeos_lacros) {
  575. public += [ "controls/views_text_services_context_menu_chromeos.h" ]
  576. sources += [ "controls/views_text_services_context_menu_chromeos.cc" ]
  577. }
  578. }
  579. if (is_mac) {
  580. public += [
  581. "cocoa/immersive_mode_delegate_mac.h",
  582. "cocoa/native_widget_mac_ns_window_host.h",
  583. "controls/menu/menu_closure_animation_mac.h",
  584. "controls/menu/menu_cocoa_watcher_mac.h",
  585. "controls/menu/menu_runner_impl_cocoa.h",
  586. "controls/scrollbar/cocoa_scroll_bar.h",
  587. "event_monitor_mac.h",
  588. "widget/native_widget_mac.h",
  589. "widget/widget_utils_mac.h",
  590. ]
  591. sources += [
  592. "accessibility/ax_virtual_view_mac.mm",
  593. "cocoa/drag_drop_client_mac.h",
  594. "cocoa/drag_drop_client_mac.mm",
  595. "cocoa/native_widget_mac_event_monitor.h",
  596. "cocoa/native_widget_mac_event_monitor.mm",
  597. "cocoa/native_widget_mac_ns_window_host.mm",
  598. "cocoa/text_input_host.h",
  599. "cocoa/text_input_host.mm",
  600. "cocoa/tooltip_manager_mac.h",
  601. "cocoa/tooltip_manager_mac.mm",
  602. "controls/menu/menu_closure_animation_mac.mm",
  603. "controls/menu/menu_cocoa_watcher_mac.mm",
  604. "controls/menu/menu_config_mac.mm",
  605. "controls/menu/menu_pre_target_handler_mac.h",
  606. "controls/menu/menu_pre_target_handler_mac.mm",
  607. "controls/menu/menu_runner_impl_cocoa.mm",
  608. "controls/native/native_view_host_mac.mm",
  609. "controls/scrollbar/cocoa_scroll_bar.mm",
  610. "controls/views_text_services_context_menu_mac.mm",
  611. "drag_utils_mac.mm",
  612. "event_monitor_mac.mm",
  613. "metrics_mac.cc",
  614. "style/platform_style_mac.mm",
  615. "views_touch_selection_controller_factory_mac.cc",
  616. "widget/native_widget_mac.mm",
  617. "widget/widget_utils_mac.mm",
  618. ]
  619. public_deps += [ "//components/remote_cocoa/common:mojo" ]
  620. deps += [
  621. "//components/crash/core/common",
  622. "//components/remote_cocoa/app_shim",
  623. "//components/remote_cocoa/browser",
  624. "//ui/accelerated_widget_mac",
  625. "//ui/events:dom_keycode_converter",
  626. ]
  627. frameworks = [
  628. "AppKit.framework",
  629. "CoreGraphics.framework",
  630. "Foundation.framework",
  631. "IOSurface.framework",
  632. "QuartzCore.framework",
  633. ]
  634. }
  635. if (is_win) {
  636. public += [
  637. "controls/menu/native_menu_win.h",
  638. "widget/widget_hwnd_utils.h",
  639. "win/fullscreen_handler.h",
  640. "win/hwnd_message_handler.h",
  641. "win/hwnd_message_handler_delegate.h",
  642. "win/hwnd_util.h",
  643. "win/pen_event_processor.h",
  644. "win/scoped_enable_unadjusted_mouse_events_win.h",
  645. "win/scoped_fullscreen_visibility.h",
  646. ]
  647. sources += [
  648. "controls/menu/menu_config_win.cc",
  649. "controls/menu/native_menu_win.cc",
  650. "widget/widget_hwnd_utils.cc",
  651. "win/fullscreen_handler.cc",
  652. "win/hwnd_message_handler.cc",
  653. "win/hwnd_util_aurawin.cc",
  654. "win/pen_event_processor.cc",
  655. "win/scoped_enable_unadjusted_mouse_events_win.cc",
  656. "win/scoped_fullscreen_visibility.cc",
  657. ]
  658. libs = [
  659. "dwmapi.lib",
  660. "imm32.lib",
  661. "oleacc.lib",
  662. "uiautomationcore.lib",
  663. ]
  664. ldflags = [
  665. "/DELAYLOAD:dwmapi.dll",
  666. "/DELAYLOAD:imm32.dll",
  667. "/DELAYLOAD:oleacc.dll",
  668. "/DELAYLOAD:user32.dll",
  669. ]
  670. deps += [
  671. "//third_party/iaccessible2",
  672. "//third_party/wtl",
  673. ]
  674. }
  675. if (use_aura) {
  676. public += [
  677. "accessibility/accessibility_alert_window.h",
  678. "accessibility/ax_aura_obj_cache.h",
  679. "accessibility/ax_aura_obj_wrapper.h",
  680. "accessibility/ax_root_obj_wrapper.h",
  681. "accessibility/ax_tree_source_views.h",
  682. "accessibility/ax_view_obj_wrapper.h",
  683. "accessibility/ax_virtual_view_wrapper.h",
  684. "accessibility/ax_widget_obj_wrapper.h",
  685. "accessibility/ax_window_obj_wrapper.h",
  686. "controls/native/native_view_host_aura.h",
  687. "corewm/cursor_height_provider_win.h",
  688. "corewm/tooltip.h",
  689. "corewm/tooltip_aura.h",
  690. "corewm/tooltip_controller.h",
  691. "corewm/tooltip_state_manager.h",
  692. "corewm/tooltip_win.h",
  693. "event_monitor_aura.h",
  694. "touchui/touch_selection_controller_impl.h",
  695. "touchui/touch_selection_menu_runner_views.h",
  696. "touchui/touch_selection_menu_views.h",
  697. "view_constants_aura.h",
  698. "widget/focus_manager_event_handler.h",
  699. "widget/native_widget_aura.h",
  700. "widget/tooltip_manager_aura.h",
  701. "widget/widget_aura_utils.h",
  702. "widget/window_reorderer.h",
  703. ]
  704. sources += [
  705. "accessibility/accessibility_alert_window.cc",
  706. "accessibility/ax_aura_obj_cache.cc",
  707. "accessibility/ax_aura_obj_wrapper.cc",
  708. "accessibility/ax_root_obj_wrapper.cc",
  709. "accessibility/ax_tree_source_views.cc",
  710. "accessibility/ax_view_obj_wrapper.cc",
  711. "accessibility/ax_virtual_view_wrapper.cc",
  712. "accessibility/ax_widget_obj_wrapper.cc",
  713. "accessibility/ax_window_obj_wrapper.cc",
  714. "controls/menu/menu_pre_target_handler_aura.cc",
  715. "controls/menu/menu_pre_target_handler_aura.h",
  716. "controls/native/native_view_host_aura.cc",
  717. "corewm/tooltip_aura.cc",
  718. "corewm/tooltip_controller.cc",
  719. "corewm/tooltip_state_manager.cc",
  720. "drag_utils_aura.cc",
  721. "event_monitor_aura.cc",
  722. "metrics_aura.cc",
  723. "touchui/touch_selection_controller_impl.cc",
  724. "touchui/touch_selection_menu_runner_views.cc",
  725. "touchui/touch_selection_menu_views.cc",
  726. "view_constants_aura.cc",
  727. "views_touch_selection_controller_factory_aura.cc",
  728. "widget/focus_manager_event_handler.cc",
  729. "widget/native_widget_aura.cc",
  730. "widget/tooltip_manager_aura.cc",
  731. "widget/window_reorderer.cc",
  732. ]
  733. if (is_win) {
  734. sources += [
  735. "corewm/cursor_height_provider_win.cc",
  736. "corewm/tooltip_win.cc",
  737. ]
  738. }
  739. if (!is_chromeos_ash) {
  740. sources += [
  741. "accessibility/views_ax_tree_manager.cc",
  742. "accessibility/widget_ax_tree_id_map.cc",
  743. ]
  744. }
  745. deps += [
  746. "//ui/aura",
  747. "//ui/base/cursor/mojom:cursor_type_shared",
  748. "//ui/events",
  749. "//ui/platform_window",
  750. "//ui/platform_window/wm",
  751. "//ui/touch_selection",
  752. "//ui/wm",
  753. "//ui/wm/public",
  754. ]
  755. if (enable_desktop_aura) {
  756. public += [
  757. "widget/desktop_aura/desktop_capture_client.h",
  758. "widget/desktop_aura/desktop_drop_target_win.h",
  759. "widget/desktop_aura/desktop_event_client.h",
  760. "widget/desktop_aura/desktop_focus_rules.h",
  761. "widget/desktop_aura/desktop_native_cursor_manager.h",
  762. "widget/desktop_aura/desktop_native_widget_aura.h",
  763. "widget/desktop_aura/desktop_screen.h",
  764. "widget/desktop_aura/desktop_screen_position_client.h",
  765. "widget/desktop_aura/desktop_window_tree_host.h",
  766. ]
  767. sources += [
  768. "widget/desktop_aura/desktop_capture_client.cc",
  769. "widget/desktop_aura/desktop_event_client.cc",
  770. "widget/desktop_aura/desktop_focus_rules.cc",
  771. "widget/desktop_aura/desktop_native_cursor_manager.cc",
  772. "widget/desktop_aura/desktop_native_widget_aura.cc",
  773. "widget/desktop_aura/desktop_screen_position_client.cc",
  774. "widget/desktop_aura/desktop_window_tree_host.cc",
  775. ]
  776. if (is_win) {
  777. public += [ "widget/desktop_aura/desktop_window_tree_host_win.h" ]
  778. sources += [
  779. "widget/desktop_aura/desktop_drag_drop_client_win.cc",
  780. "widget/desktop_aura/desktop_drag_drop_client_win.h",
  781. "widget/desktop_aura/desktop_drop_target_win.cc",
  782. "widget/desktop_aura/desktop_native_cursor_manager_win.cc",
  783. "widget/desktop_aura/desktop_native_cursor_manager_win.h",
  784. "widget/desktop_aura/desktop_screen_win.cc",
  785. "widget/desktop_aura/desktop_screen_win.h",
  786. "widget/desktop_aura/desktop_window_tree_host_win.cc",
  787. ]
  788. deps += [
  789. "//ui/events:dom_keyboard_layout",
  790. "//ui/events:keyboard_hook",
  791. ]
  792. }
  793. if (use_ozone) {
  794. public += [ "widget/desktop_aura/desktop_screen_ozone.h" ]
  795. sources += [ "widget/desktop_aura/desktop_screen_ozone.cc" ]
  796. }
  797. if (is_linux) {
  798. public += [ "widget/desktop_aura/desktop_window_tree_host_linux.h" ]
  799. sources += [
  800. "widget/desktop_aura/desktop_screen_ozone_linux.cc",
  801. "widget/desktop_aura/desktop_window_tree_host_linux.cc",
  802. "widget/desktop_aura/window_event_filter_linux.cc",
  803. "widget/desktop_aura/window_event_filter_linux.h",
  804. ]
  805. deps += [ "//ui/base:hit_test" ]
  806. }
  807. if (is_chromeos_lacros) {
  808. public += [ "widget/desktop_aura/desktop_window_tree_host_lacros.h" ]
  809. sources += [
  810. # TODO: do we need one for lacros?
  811. "widget/desktop_aura/desktop_window_tree_host_lacros.cc",
  812. "widget/desktop_aura/window_event_filter_lacros.cc",
  813. "widget/desktop_aura/window_event_filter_lacros.h",
  814. ]
  815. deps += [ "//ui/base:hit_test" ]
  816. }
  817. if (is_linux || is_chromeos_lacros || is_fuchsia) {
  818. public += [
  819. "widget/desktop_aura/desktop_window_tree_host_platform.h",
  820. "widget/desktop_aura/window_move_client_platform.h",
  821. ]
  822. sources += [
  823. "widget/desktop_aura/desktop_drag_drop_client_ozone.cc",
  824. "widget/desktop_aura/desktop_drag_drop_client_ozone.h",
  825. "widget/desktop_aura/desktop_window_tree_host_platform.cc",
  826. "widget/desktop_aura/window_move_client_platform.cc",
  827. ]
  828. public_deps += [ "//ui/base/dragdrop/mojom:mojom_shared" ]
  829. }
  830. if (is_linux) {
  831. sources += [
  832. "widget/desktop_aura/desktop_drag_drop_client_ozone_linux.cc",
  833. "widget/desktop_aura/desktop_drag_drop_client_ozone_linux.h",
  834. ]
  835. }
  836. if (use_atk) {
  837. sources += [
  838. "accessibility/view_ax_platform_node_delegate_auralinux.cc",
  839. "accessibility/view_ax_platform_node_delegate_auralinux.h",
  840. ]
  841. configs += [ "//build/config/linux/atk" ]
  842. }
  843. }
  844. }
  845. if (has_native_accessibility) {
  846. sources += [
  847. "accessibility/view_ax_platform_node_delegate.cc",
  848. "accessibility/view_ax_platform_node_delegate.h",
  849. ]
  850. if (use_aura) {
  851. sources += [
  852. "accessibility/views_utilities_aura.cc",
  853. "accessibility/views_utilities_aura.h",
  854. ]
  855. }
  856. if (is_mac) {
  857. sources += [
  858. "accessibility/view_ax_platform_node_delegate_mac.h",
  859. "accessibility/view_ax_platform_node_delegate_mac.mm",
  860. ]
  861. }
  862. if (is_win) {
  863. sources += [
  864. "accessibility/view_ax_platform_node_delegate_win.cc",
  865. "accessibility/view_ax_platform_node_delegate_win.h",
  866. ]
  867. }
  868. }
  869. if (is_fuchsia) {
  870. sources += [ "controls/menu/menu_config_fuchsia.cc" ]
  871. }
  872. if (use_ozone) {
  873. deps += [ "//ui/ozone" ]
  874. }
  875. }
  876. if (is_win || is_mac || is_linux || is_chromeos) {
  877. static_library("view_pixel_diff_test_support") {
  878. testonly = true
  879. sources = [
  880. "test/view_skia_gold_pixel_diff.cc",
  881. "test/view_skia_gold_pixel_diff.h",
  882. ]
  883. deps = [
  884. ":views",
  885. "//base",
  886. "//skia",
  887. "//testing/gtest",
  888. "//ui/base:pixel_diff_test_support",
  889. "//ui/gfx",
  890. "//ui/snapshot",
  891. ]
  892. }
  893. }
  894. source_set("test_support") {
  895. testonly = true
  896. sources = [
  897. "animation/test/flood_fill_ink_drop_ripple_test_api.cc",
  898. "animation/test/flood_fill_ink_drop_ripple_test_api.h",
  899. "animation/test/ink_drop_highlight_test_api.cc",
  900. "animation/test/ink_drop_highlight_test_api.h",
  901. "animation/test/ink_drop_host_view_test_api.cc",
  902. "animation/test/ink_drop_host_view_test_api.h",
  903. "animation/test/ink_drop_impl_test_api.cc",
  904. "animation/test/ink_drop_impl_test_api.h",
  905. "animation/test/ink_drop_ripple_test_api.cc",
  906. "animation/test/ink_drop_ripple_test_api.h",
  907. "animation/test/ink_drop_utils.cc",
  908. "animation/test/square_ink_drop_ripple_test_api.cc",
  909. "animation/test/square_ink_drop_ripple_test_api.h",
  910. "animation/test/test_ink_drop.cc",
  911. "animation/test/test_ink_drop.h",
  912. "animation/test/test_ink_drop_animation_observer_helper.h",
  913. "animation/test/test_ink_drop_highlight_observer.cc",
  914. "animation/test/test_ink_drop_highlight_observer.h",
  915. "animation/test/test_ink_drop_host.cc",
  916. "animation/test/test_ink_drop_host.h",
  917. "animation/test/test_ink_drop_ripple_observer.cc",
  918. "animation/test/test_ink_drop_ripple_observer.h",
  919. "controls/table/test_table_model.cc",
  920. "controls/table/test_table_model.h",
  921. "controls/textfield/textfield_test_api.cc",
  922. "controls/textfield/textfield_test_api.h",
  923. "interaction/interaction_test_util_views.cc",
  924. "interaction/interaction_test_util_views.h",
  925. "layout/animating_layout_manager_test_util.cc",
  926. "layout/animating_layout_manager_test_util.h",
  927. "test/ax_event_counter.cc",
  928. "test/ax_event_counter.h",
  929. "test/button_test_api.cc",
  930. "test/button_test_api.h",
  931. "test/capture_tracking_view.cc",
  932. "test/capture_tracking_view.h",
  933. "test/combobox_test_api.cc",
  934. "test/combobox_test_api.h",
  935. "test/desktop_test_views_delegate.h",
  936. "test/dialog_test.cc",
  937. "test/dialog_test.h",
  938. "test/focus_manager_test.cc",
  939. "test/focus_manager_test.h",
  940. "test/layout_test_utils.cc",
  941. "test/menu_runner_test_api.cc",
  942. "test/menu_runner_test_api.h",
  943. "test/menu_test_utils.cc",
  944. "test/menu_test_utils.h",
  945. "test/native_widget_factory.cc",
  946. "test/native_widget_factory.h",
  947. "test/scoped_views_test_helper.cc",
  948. "test/scoped_views_test_helper.h",
  949. "test/slider_test_api.cc",
  950. "test/slider_test_api.h",
  951. "test/test_layout_manager.cc",
  952. "test/test_layout_manager.h",
  953. "test/test_layout_provider.cc",
  954. "test/test_layout_provider.h",
  955. "test/test_platform_native_widget.h",
  956. "test/test_views.cc",
  957. "test/test_views.h",
  958. "test/test_views_delegate.h",
  959. "test/test_widget_observer.cc",
  960. "test/test_widget_observer.h",
  961. "test/view_metadata_test_utils.cc",
  962. "test/view_metadata_test_utils.h",
  963. "test/views_drawing_test_utils.cc",
  964. "test/views_drawing_test_utils.h",
  965. "test/views_test_base.cc",
  966. "test/views_test_base.h",
  967. "test/views_test_helper.cc",
  968. "test/views_test_helper.h",
  969. "test/widget_animation_waiter.cc",
  970. "test/widget_animation_waiter.h",
  971. "test/widget_test.cc",
  972. "test/widget_test.h",
  973. "test/widget_test_api.cc",
  974. "test/widget_test_api.h",
  975. "view_test_api.h",
  976. "views_test_suite.cc",
  977. "views_test_suite.h",
  978. ]
  979. configs += [ "//build/config:precompiled_headers" ]
  980. deps = [
  981. ":views",
  982. "//base",
  983. "//base/test:test_support",
  984. "//build:chromeos_buildflags",
  985. "//gpu/ipc/service",
  986. "//ipc:test_support",
  987. "//mojo/core/embedder",
  988. "//skia",
  989. "//ui/accessibility",
  990. "//ui/base",
  991. "//ui/base:test_support",
  992. "//ui/base/clipboard:clipboard_test_support",
  993. "//ui/base/dragdrop:types",
  994. "//ui/base/dragdrop/mojom",
  995. "//ui/base/ime/init",
  996. "//ui/compositor",
  997. "//ui/compositor:test_support",
  998. "//ui/events",
  999. "//ui/events:events_base",
  1000. "//ui/events:test_support",
  1001. "//ui/events/platform",
  1002. "//ui/gfx",
  1003. "//ui/gfx/geometry",
  1004. "//ui/gl:test_support",
  1005. ]
  1006. public_deps = [ "//testing/gtest" ]
  1007. if (is_win) {
  1008. sources += [
  1009. "test/desktop_window_tree_host_win_test_api.cc",
  1010. "test/desktop_window_tree_host_win_test_api.h",
  1011. ]
  1012. }
  1013. if (is_mac) {
  1014. sources += [
  1015. "test/desktop_test_views_delegate_mac.mm",
  1016. "test/event_generator_delegate_mac.h",
  1017. "test/event_generator_delegate_mac.mm",
  1018. "test/scoped_views_test_helper_cocoa.mm",
  1019. "test/test_views_delegate_mac.mm",
  1020. "test/views_test_base_mac.mm",
  1021. "test/views_test_helper_mac.h",
  1022. "test/views_test_helper_mac.mm",
  1023. "test/widget_test_mac.mm",
  1024. ]
  1025. deps += [
  1026. "//components/remote_cocoa/app_shim",
  1027. "//ui/display:test_support",
  1028. ]
  1029. }
  1030. if (use_aura) {
  1031. sources += [
  1032. "corewm/test/tooltip_aura_test_api.cc",
  1033. "corewm/test/tooltip_aura_test_api.h",
  1034. "corewm/tooltip_controller_test_helper.cc",
  1035. "corewm/tooltip_controller_test_helper.h",
  1036. "test/desktop_test_views_delegate_aura.cc",
  1037. "test/test_views_delegate_aura.cc",
  1038. "test/views_test_helper_aura.cc",
  1039. "test/views_test_helper_aura.h",
  1040. "test/widget_test_aura.cc",
  1041. ]
  1042. deps += [
  1043. "//ui/aura",
  1044. "//ui/aura:test_support",
  1045. "//ui/wm",
  1046. "//ui/wm/public",
  1047. ]
  1048. }
  1049. if (use_ozone) {
  1050. deps += [ "//ui/ozone" ]
  1051. }
  1052. if (use_ozone && enable_desktop_aura) {
  1053. sources += [
  1054. "test/test_desktop_screen_ozone.cc",
  1055. "test/test_desktop_screen_ozone.h",
  1056. "test/ui_controls_factory_desktop_aura_ozone.cc",
  1057. "test/ui_controls_factory_desktop_aura_ozone.h",
  1058. ]
  1059. deps += [ "//ui/ozone:ui_test_support" ]
  1060. }
  1061. }
  1062. test("views_unittests") {
  1063. use_xvfb = use_xvfb_in_this_config
  1064. sources = [
  1065. "accessibility/accessibility_paint_checks_unittest.cc",
  1066. "accessible_pane_view_unittest.cc",
  1067. "animation/animation_builder_unittest.cc",
  1068. "animation/bounds_animator_unittest.cc",
  1069. "animation/bubble_slide_animator_unittest.cc",
  1070. "animation/compositor_animation_runner_unittest.cc",
  1071. "animation/flood_fill_ink_drop_ripple_unittest.cc",
  1072. "animation/ink_drop_highlight_unittest.cc",
  1073. "animation/ink_drop_host_view_unittest.cc",
  1074. "animation/ink_drop_impl_unittest.cc",
  1075. "animation/ink_drop_mask_unittest.cc",
  1076. "animation/ink_drop_ripple_unittest.cc",
  1077. "animation/ink_drop_unittest.cc",
  1078. "animation/slide_out_controller_unittest.cc",
  1079. "animation/square_ink_drop_ripple_unittest.cc",
  1080. "animation/widget_fade_animator_unittest.cc",
  1081. "border_unittest.cc",
  1082. "bubble/bubble_border_unittest.cc",
  1083. "bubble/bubble_dialog_delegate_view_unittest.cc",
  1084. "bubble/bubble_dialog_model_host_unittest.cc",
  1085. "bubble/bubble_frame_view_unittest.cc",
  1086. "bubble/info_bubble_unittest.cc",
  1087. "controls/base_control_test_widget.cc",
  1088. "controls/base_control_test_widget.h",
  1089. "controls/button/button_unittest.cc",
  1090. "controls/button/checkbox_unittest.cc",
  1091. "controls/button/image_button_factory_unittest.cc",
  1092. "controls/button/image_button_unittest.cc",
  1093. "controls/button/label_button_label_unittest.cc",
  1094. "controls/button/label_button_unittest.cc",
  1095. "controls/button/md_text_button_unittest.cc",
  1096. "controls/button/menu_button_unittest.cc",
  1097. "controls/button/radio_button_unittest.cc",
  1098. "controls/button/toggle_button_unittest.cc",
  1099. "controls/combobox/combobox_unittest.cc",
  1100. "controls/editable_combobox/editable_combobox_unittest.cc",
  1101. "controls/image_view_unittest.cc",
  1102. "controls/label_unittest.cc",
  1103. "controls/link_fragment_unittest.cc",
  1104. "controls/link_unittest.cc",
  1105. "controls/menu/menu_controller_unittest.cc",
  1106. "controls/menu/menu_item_view_unittest.cc",
  1107. "controls/menu/menu_model_adapter_unittest.cc",
  1108. "controls/menu/menu_runner_unittest.cc",
  1109. "controls/menu/menu_separator_unittest.cc",
  1110. "controls/menu/submenu_view_unittest.cc",
  1111. "controls/menu/test_menu_item_view.cc",
  1112. "controls/menu/test_menu_item_view.h",
  1113. "controls/message_box_view_unittest.cc",
  1114. "controls/native/native_view_host_test_base.cc",
  1115. "controls/native/native_view_host_test_base.h",
  1116. "controls/native/native_view_host_unittest.cc",
  1117. "controls/prefix_selector_unittest.cc",
  1118. "controls/progress_bar_unittest.cc",
  1119. "controls/resize_area_unittest.cc",
  1120. "controls/scroll_view_unittest.cc",
  1121. "controls/scrollbar/scroll_bar_button_unittest.cc",
  1122. "controls/scrollbar/scrollbar_unittest.cc",
  1123. "controls/separator_unittest.cc",
  1124. "controls/slider_unittest.cc",
  1125. "controls/styled_label_unittest.cc",
  1126. "controls/tabbed_pane/tabbed_pane_unittest.cc",
  1127. "controls/table/table_utils_unittest.cc",
  1128. "controls/table/table_view_unittest.cc",
  1129. "controls/textarea/textarea_unittest.cc",
  1130. "controls/textfield/textfield_model_unittest.cc",
  1131. "controls/textfield/textfield_unittest.cc",
  1132. "controls/textfield/textfield_unittest.h",
  1133. "controls/tree/tree_view_unittest.cc",
  1134. "event_monitor_unittest.cc",
  1135. "focus/focus_manager_unittest.cc",
  1136. "focus/focus_traversal_unittest.cc",
  1137. "interaction/element_tracker_views_unittest.cc",
  1138. "interaction/interaction_sequence_views_unittest.cc",
  1139. "interaction/interaction_test_util_views_unittest.cc",
  1140. "layout/animating_layout_manager_unittest.cc",
  1141. "layout/box_layout_unittest.cc",
  1142. "layout/box_layout_view_unittest.cc",
  1143. "layout/composite_layout_tests.cc",
  1144. "layout/fill_layout_unittest.cc",
  1145. "layout/flex_layout_unittest.cc",
  1146. "layout/flex_layout_view_unittest.cc",
  1147. "layout/layout_manager_base_unittest.cc",
  1148. "layout/normalized_geometry_unittest.cc",
  1149. "layout/proposed_layout_unittest.cc",
  1150. "layout/table_layout_unittest.cc",
  1151. "metadata/type_conversion_unittest.cc",
  1152. "metadata/view_factory_unittest.cc",
  1153. "paint_info_unittest.cc",
  1154. "rect_based_targeting_utils_unittest.cc",
  1155. "repeat_controller_unittest.cc",
  1156. "run_all_unittests_main.cc",
  1157. "selection_controller_unittest.cc",
  1158. "test/widget_test_unittest.cc",
  1159. "view_model_unittest.cc",
  1160. "view_model_utils_unittest.cc",
  1161. "view_targeter_unittest.cc",
  1162. "view_tracker_unittest.cc",
  1163. "view_unittest.cc",
  1164. "widget/any_widget_observer_unittest.cc",
  1165. "widget/drop_helper_unittest.cc",
  1166. "widget/native_widget_unittest.cc",
  1167. "widget/root_view_unittest.cc",
  1168. "widget/unique_widget_ptr_unittest.cc",
  1169. "widget/widget_delegate_unittest.cc",
  1170. "widget/widget_unittest.cc",
  1171. "window/custom_frame_view_unittest.cc",
  1172. "window/dialog_client_view_unittest.cc",
  1173. "window/dialog_delegate_unittest.cc",
  1174. "window/frame_caption_button_unittest.cc",
  1175. "window/hit_test_utils_unittest.cc",
  1176. ]
  1177. configs += [ "//build/config:precompiled_headers" ]
  1178. deps = [
  1179. ":test_support",
  1180. ":views",
  1181. "//base",
  1182. "//base:i18n",
  1183. "//base/test:test_support",
  1184. "//build:chromeos_buildflags",
  1185. "//cc:test_support",
  1186. "//cc/paint",
  1187. "//components/vector_icons",
  1188. "//components/viz/common",
  1189. "//mojo/core/embedder",
  1190. "//skia",
  1191. "//testing/gmock",
  1192. "//testing/gtest",
  1193. "//third_party/icu",
  1194. "//ui/accessibility",
  1195. "//ui/base",
  1196. "//ui/base:test_support",
  1197. "//ui/base/clipboard",
  1198. "//ui/base/clipboard:clipboard_test_support",
  1199. "//ui/base/dragdrop:types",
  1200. "//ui/base/dragdrop/mojom",
  1201. "//ui/base/ime/init",
  1202. "//ui/color",
  1203. "//ui/compositor:test_support",
  1204. "//ui/display:test_support",
  1205. "//ui/events:dom_keycode_converter",
  1206. "//ui/events:events_base",
  1207. "//ui/events:test_support",
  1208. "//ui/events/platform",
  1209. "//ui/gfx:test_support",
  1210. "//ui/gfx/geometry",
  1211. "//ui/gl:test_support",
  1212. "//ui/native_theme",
  1213. "//ui/native_theme:test_support",
  1214. "//ui/platform_window/wm",
  1215. "//ui/resources",
  1216. "//ui/resources:ui_test_pak",
  1217. "//ui/strings",
  1218. "//url",
  1219. ]
  1220. data_deps = [
  1221. "//testing/buildbot/filters:views_unittests_filters",
  1222. "//ui/resources:ui_test_pak_data",
  1223. ]
  1224. if (is_win) {
  1225. public_deps = [
  1226. "//build/win:default_exe_manifest",
  1227. "//third_party/iaccessible2",
  1228. "//third_party/wtl",
  1229. ]
  1230. deps += [ "//ui/base:data_exchange" ]
  1231. libs = [
  1232. "imm32.lib",
  1233. "oleacc.lib",
  1234. "comctl32.lib",
  1235. "uiautomationcore.lib",
  1236. ]
  1237. sources += [
  1238. "accessibility/test_list_grid_view.cc",
  1239. "accessibility/test_list_grid_view.h",
  1240. "accessibility/view_ax_platform_node_delegate_win_unittest.cc",
  1241. "win/pen_event_processor_unittest.cc",
  1242. ]
  1243. }
  1244. if (is_linux) {
  1245. deps += [ "//ui/linux:test_support" ]
  1246. }
  1247. if (is_linux || is_chromeos_lacros) {
  1248. deps += [ "//ui/base/ime/linux" ]
  1249. }
  1250. if (has_native_accessibility) {
  1251. sources += [
  1252. "accessibility/ax_virtual_view_unittest.cc",
  1253. "accessibility/view_ax_platform_node_delegate_unittest.cc",
  1254. ]
  1255. if (use_aura) {
  1256. sources += [ "accessibility/views_ax_tree_manager_unittest.cc" ]
  1257. }
  1258. }
  1259. if (skia_support_skottie) {
  1260. sources += [ "controls/animated_image_view_unittest.cc" ]
  1261. deps += [ "//ui/lottie" ]
  1262. }
  1263. if (is_mac) {
  1264. sources += [
  1265. "accessibility/view_ax_platform_node_delegate_mac_unittest.cc",
  1266. "cocoa/bridged_native_widget_unittest.mm",
  1267. "cocoa/cocoa_mouse_capture_unittest.mm",
  1268. "cocoa/drag_drop_client_mac_unittest.mm",
  1269. "cocoa/fullscreen_controller_unittest.cc",
  1270. "controls/menu/menu_closure_animation_mac_unittest.cc",
  1271. "controls/menu/menu_runner_cocoa_unittest.mm",
  1272. "controls/native/native_view_host_mac_unittest.mm",
  1273. "controls/tabbed_pane/tabbed_pane_accessibility_mac_unittest.mm",
  1274. "view_unittest_mac.mm",
  1275. "widget/ax_native_widget_mac_unittest.mm",
  1276. "widget/native_widget_mac_unittest.mm",
  1277. ]
  1278. # views_unittests not yet compiling on Mac. http://crbug.com/378134
  1279. sources -= [ "controls/native/native_view_host_unittest.cc" ]
  1280. public_deps = [
  1281. "//components/remote_cocoa/app_shim",
  1282. "//ui/accelerated_widget_mac",
  1283. ]
  1284. }
  1285. if (is_fuchsia) {
  1286. use_cfv1 = false
  1287. # These tests use SwiftShader (crbug.com/1022542), which uses JIT.
  1288. test_runner_shard = "//build/config/fuchsia/test/elf_test_ambient_exec_runner.shard.test-cml"
  1289. additional_manifest_fragments = [
  1290. "//build/config/fuchsia/test/fonts.shard.test-cml",
  1291. "//build/config/fuchsia/test/present_view.shard.test-cml",
  1292. "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",
  1293. ]
  1294. }
  1295. if (use_aura) {
  1296. sources += [
  1297. "accessibility/accessibility_alert_window_unittest.cc",
  1298. "accessibility/ax_aura_obj_cache_unittest.cc",
  1299. "accessibility/ax_tree_source_views_unittest.cc",
  1300. "controls/native/native_view_host_aura_unittest.cc",
  1301. "corewm/tooltip_controller_unittest.cc",
  1302. "touchui/touch_selection_controller_impl_unittest.cc",
  1303. "touchui/touch_selection_menu_runner_views_unittest.cc",
  1304. "view_unittest_aura.cc",
  1305. "widget/native_widget_aura_unittest.cc",
  1306. "widget/window_reorderer_unittest.cc",
  1307. ]
  1308. deps += [
  1309. "//ui/accessibility:test_support",
  1310. "//ui/aura",
  1311. "//ui/aura:test_support",
  1312. "//ui/base/cursor/mojom:cursor_type",
  1313. "//ui/touch_selection",
  1314. "//ui/wm",
  1315. "//ui/wm/public",
  1316. ]
  1317. if (is_mac) {
  1318. # views_unittests not yet compiling on Mac. http://crbug.com/378134
  1319. sources -= [ "widget/window_reorderer_unittest.cc" ]
  1320. }
  1321. if (is_win) {
  1322. sources +=
  1323. [ "widget/desktop_aura/desktop_window_tree_host_win_unittest.cc" ]
  1324. }
  1325. if (enable_desktop_aura) {
  1326. sources += [
  1327. "widget/desktop_aura/desktop_focus_rules_unittest.cc",
  1328. "widget/desktop_aura/desktop_native_widget_aura_unittest.cc",
  1329. "widget/desktop_widget_unittest.cc",
  1330. ]
  1331. if (is_linux || is_chromeos || is_fuchsia) {
  1332. sources += [
  1333. "widget/desktop_aura/desktop_window_tree_host_platform_unittest.cc",
  1334. ]
  1335. }
  1336. if (is_linux || is_chromeos) {
  1337. sources += [ "widget/desktop_aura/desktop_window_tree_host_platform_impl_unittest.cc" ]
  1338. }
  1339. if (use_ozone) {
  1340. sources +=
  1341. [ "widget/desktop_aura/desktop_drag_drop_client_ozone_unittest.cc" ]
  1342. deps += [ "//ui/platform_window" ]
  1343. }
  1344. }
  1345. }
  1346. if ((is_linux || is_chromeos_lacros) && use_ozone) {
  1347. data_deps +=
  1348. [ "//testing/buildbot/filters:linux_ozone_views_unittests_filters" ]
  1349. }
  1350. if (use_atk) {
  1351. sources +=
  1352. [ "accessibility/view_ax_platform_node_delegate_auralinux_unittest.cc" ]
  1353. configs += [ "//build/config/linux/atk" ]
  1354. }
  1355. if (use_ozone) {
  1356. deps += [
  1357. "//ui/events/ozone/layout:test_support",
  1358. "//ui/ozone",
  1359. ]
  1360. }
  1361. if (is_linux || is_chromeos) {
  1362. sources += [ "color_chooser/color_chooser_unittest.cc" ]
  1363. }
  1364. if (is_win || is_mac || is_linux || is_chromeos) {
  1365. sources += [ "test/view_skia_gold_pixel_diff_unittest.cc" ]
  1366. deps += [ "//ui/views:view_pixel_diff_test_support" ]
  1367. }
  1368. }
  1369. # This target is added as a dependency of browser interactive_ui_tests. It must
  1370. # be source_set, otherwise the linker will drop the tests as dead code.
  1371. source_set("views_interactive_ui_tests") {
  1372. testonly = true
  1373. sources = [ "widget/widget_interactive_uitest.cc" ]
  1374. deps = [
  1375. ":test_support",
  1376. ":views",
  1377. "//base",
  1378. "//base/test:test_support",
  1379. "//build:chromeos_buildflags",
  1380. "//mojo/core/embedder",
  1381. "//skia",
  1382. "//testing/gtest",
  1383. "//ui/base:test_support",
  1384. "//ui/base/ime",
  1385. "//ui/compositor",
  1386. "//ui/events:test_support",
  1387. "//ui/gl:test_support",
  1388. "//ui/resources",
  1389. "//ui/resources:ui_test_pak",
  1390. "//ui/strings",
  1391. ]
  1392. if (is_win) {
  1393. sources += [ "accessibility/ax_system_caret_win_interactive_uitest.cc" ]
  1394. }
  1395. if (is_mac) {
  1396. sources += [
  1397. "cocoa/bridged_native_widget_interactive_uitest.mm",
  1398. "widget/native_widget_mac_interactive_uitest.mm",
  1399. ]
  1400. deps += [ "//components/remote_cocoa/app_shim" ]
  1401. }
  1402. if (use_aura) {
  1403. sources += [
  1404. "bubble/bubble_dialog_delegate_view_interactive_uitest_aura.cc",
  1405. "corewm/desktop_capture_controller_unittest.cc",
  1406. "widget/native_widget_aura_interactive_uitest.cc",
  1407. ]
  1408. deps += [
  1409. "//ui/aura",
  1410. "//ui/aura:test_support",
  1411. "//ui/wm",
  1412. "//ui/wm/public",
  1413. ]
  1414. if (is_linux || is_chromeos_lacros) {
  1415. sources += [ "widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc" ]
  1416. }
  1417. deps += [
  1418. "//ui/events/platform",
  1419. "//ui/platform_window",
  1420. "//ui/platform_window/wm",
  1421. ]
  1422. if (enable_desktop_aura) {
  1423. sources += [
  1424. "widget/desktop_aura/desktop_native_widget_aura_interactive_uitest.cc",
  1425. ]
  1426. }
  1427. }
  1428. if (is_chromeos_ash) {
  1429. sources -= [ "corewm/desktop_capture_controller_unittest.cc" ]
  1430. }
  1431. }
  1432. test("views_perftests") {
  1433. sources = [
  1434. "controls/label_perftest.cc",
  1435. "views_perftests.cc",
  1436. ]
  1437. deps = [
  1438. ":test_support",
  1439. ":views",
  1440. "//base/test:test_support",
  1441. "//cc/base:base",
  1442. "//mojo/core/embedder",
  1443. "//testing/perf",
  1444. "//ui/resources:ui_test_pak",
  1445. ]
  1446. data_deps = [
  1447. "//testing:run_perf_test",
  1448. "//ui/resources:ui_test_pak_data",
  1449. ]
  1450. }