BUILD.gn 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  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/features.gni")
  5. import("//build/config/ui.gni")
  6. import("//components/vector_icons/vector_icons.gni")
  7. import("//testing/test.gni")
  8. import("//ui/base/ui_features.gni")
  9. aggregate_vector_icons("message_center_vector_icons") {
  10. icon_directory = "vector_icons"
  11. sources = [
  12. "notification_close_button.icon",
  13. "notification_expand_less.icon",
  14. "notification_expand_more.icon",
  15. "notification_inline_reply.icon",
  16. "notification_settings_button.icon",
  17. "notification_snooze_button.icon",
  18. "product.icon",
  19. ]
  20. }
  21. # TODO(msw|mukai|dewittj): Move ash-specific files: crbug.com/585175
  22. component("message_center") {
  23. deps = [
  24. "//base",
  25. "//build:chromeos_buildflags",
  26. "//ui/base",
  27. "//ui/strings",
  28. "//url",
  29. ]
  30. public_deps = [ "//ui/message_center/public/cpp" ]
  31. defines = [ "MESSAGE_CENTER_IMPLEMENTATION" ]
  32. if (enable_message_center) {
  33. deps += [
  34. ":message_center_vector_icons",
  35. "//base:i18n",
  36. "//base/third_party/dynamic_annotations",
  37. "//components/url_formatter",
  38. "//skia",
  39. "//ui/accessibility",
  40. "//ui/display",
  41. "//ui/events",
  42. "//ui/events:gesture_detection",
  43. "//ui/gfx",
  44. "//ui/gfx/geometry",
  45. "//ui/native_theme",
  46. "//ui/resources",
  47. ]
  48. configs += [ "//build/config:precompiled_headers" ]
  49. sources = [
  50. "lock_screen/empty_lock_screen_controller.cc",
  51. "lock_screen/empty_lock_screen_controller.h",
  52. "lock_screen/lock_screen_controller.h",
  53. "message_center.cc",
  54. "message_center.h",
  55. "message_center_export.h",
  56. "message_center_impl.cc",
  57. "message_center_impl.h",
  58. "message_center_observer.h",
  59. "message_center_stats_collector.cc",
  60. "message_center_stats_collector.h",
  61. "message_center_style.cc",
  62. "message_center_style.h",
  63. "message_center_types.h",
  64. "notification_blocker.cc",
  65. "notification_blocker.h",
  66. "notification_list.cc",
  67. "notification_list.h",
  68. "notification_view_controller.h",
  69. "popup_timer.cc",
  70. "popup_timer.h",
  71. "popup_timers_controller.cc",
  72. "popup_timers_controller.h",
  73. ]
  74. sources += get_target_outputs(":message_center_vector_icons")
  75. if (is_win) {
  76. deps += [
  77. "//ui/aura",
  78. "//ui/wm/public",
  79. ]
  80. }
  81. if (toolkit_views) {
  82. sources += [
  83. "views/desktop_message_popup_collection.cc",
  84. "views/desktop_message_popup_collection.h",
  85. "views/message_popup_collection.cc",
  86. "views/message_popup_collection.h",
  87. "views/message_popup_view.cc",
  88. "views/message_popup_view.h",
  89. "views/message_view.cc",
  90. "views/message_view.h",
  91. "views/notification_background_painter.cc",
  92. "views/notification_background_painter.h",
  93. "views/notification_control_buttons_view.cc",
  94. "views/notification_control_buttons_view.h",
  95. "views/notification_header_view.cc",
  96. "views/notification_header_view.h",
  97. "views/notification_input_container.cc",
  98. "views/notification_input_container.h",
  99. "views/notification_view.cc",
  100. "views/notification_view.h",
  101. "views/notification_view_base.cc",
  102. "views/notification_view_base.h",
  103. "views/notification_view_util.cc",
  104. "views/notification_view_util.h",
  105. "views/padded_button.cc",
  106. "views/padded_button.h",
  107. "views/proportional_image_view.cc",
  108. "views/proportional_image_view.h",
  109. "views/relative_time_formatter.cc",
  110. "views/relative_time_formatter.h",
  111. ]
  112. if (is_mac) {
  113. sources += [ "views/message_popup_view_mac.mm" ]
  114. }
  115. deps += [
  116. "//ui/color",
  117. "//ui/compositor",
  118. "//ui/events",
  119. "//ui/views",
  120. ]
  121. if (is_mac) {
  122. frameworks = [ "Foundation.framework" ]
  123. }
  124. }
  125. if (is_chromeos_ash) {
  126. deps += [ "//ash/constants" ]
  127. }
  128. } else {
  129. # Notification service disabled.
  130. sources = [ "dummy_message_center.cc" ]
  131. }
  132. }
  133. if (enable_message_center) {
  134. static_library("test_support") {
  135. testonly = true
  136. sources = [
  137. "fake_message_center.cc",
  138. "fake_message_center.h",
  139. "lock_screen/fake_lock_screen_controller.cc",
  140. "lock_screen/fake_lock_screen_controller.h",
  141. ]
  142. deps = [
  143. "//base",
  144. "//base/test:test_support",
  145. "//skia",
  146. "//ui/gfx",
  147. "//ui/gfx/geometry",
  148. ]
  149. public_deps = [
  150. ":message_center",
  151. "//ui/message_center/public/cpp",
  152. ]
  153. }
  154. test("message_center_unittests") {
  155. use_xvfb = use_xvfb_in_this_config
  156. sources = [
  157. "message_center_impl_unittest.cc",
  158. "notification_list_unittest.cc",
  159. "public/cpp/notification_delegate_unittest.cc",
  160. "test/run_all_unittests.cc",
  161. ]
  162. deps = [
  163. ":message_center",
  164. ":test_support",
  165. "//base",
  166. "//base/test:test_support",
  167. "//build:chromeos_buildflags",
  168. "//mojo/core/embedder",
  169. "//skia",
  170. "//testing/gmock",
  171. "//testing/gtest",
  172. "//ui/base",
  173. "//ui/base:test_support",
  174. "//ui/events",
  175. "//ui/events:test_support",
  176. "//ui/gfx",
  177. "//ui/gfx:test_support",
  178. "//ui/gfx/geometry",
  179. "//ui/gl",
  180. "//ui/gl:test_support",
  181. "//ui/message_center/public/cpp",
  182. "//ui/native_theme",
  183. "//ui/resources",
  184. "//ui/resources:ui_test_pak",
  185. "//url",
  186. ]
  187. data_deps = [
  188. "//third_party/mesa_headers",
  189. "//ui/resources:ui_test_pak_data",
  190. ]
  191. if (is_chromeos_ash) {
  192. deps += [ "//ash/constants" ]
  193. }
  194. if (toolkit_views) {
  195. sources += [
  196. "views/message_popup_collection_unittest.cc",
  197. "views/notification_control_buttons_unittest.cc",
  198. "views/notification_header_view_unittest.cc",
  199. "views/notification_view_base_unittest.cc",
  200. "views/notification_view_unittest.cc",
  201. "views/relative_time_formatter_unittest.cc",
  202. ]
  203. deps += [
  204. "//ui/color",
  205. "//ui/display",
  206. "//ui/strings",
  207. "//ui/views",
  208. "//ui/views:test_support",
  209. ]
  210. if (is_chromeos) {
  211. deps += [ "//chromeos/constants:constants" ]
  212. }
  213. }
  214. if (is_fuchsia) {
  215. use_cfv1 = false
  216. additional_manifest_fragments = [
  217. "//build/config/fuchsia/test/fonts.shard.test-cml",
  218. "//build/config/fuchsia/test/present_view.shard.test-cml",
  219. "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",
  220. ]
  221. }
  222. }
  223. }