BUILD.gn 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. # Copyright 2020 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. # TODO(crbug.com/1327384): Make `permissions_common` source_set.
  5. component("permissions_common") {
  6. sources = [
  7. "constants.cc",
  8. "constants.h",
  9. "features.cc",
  10. "features.h",
  11. "permission_request_enums.h",
  12. "request_type.h",
  13. ]
  14. defines = [ "IS_PERMISSIONS_COMMON_IMPL" ]
  15. deps = [
  16. "//base",
  17. "//build:chromeos_buildflags",
  18. ]
  19. }
  20. source_set("permissions") {
  21. sources = [
  22. "bluetooth_delegate_impl.cc",
  23. "bluetooth_delegate_impl.h",
  24. "chooser_controller.cc",
  25. "chooser_controller.h",
  26. "chooser_title_util.cc",
  27. "chooser_title_util.h",
  28. "contexts/accessibility_permission_context.cc",
  29. "contexts/accessibility_permission_context.h",
  30. "contexts/bluetooth_chooser_context.cc",
  31. "contexts/bluetooth_chooser_context.h",
  32. "contexts/camera_pan_tilt_zoom_permission_context.cc",
  33. "contexts/camera_pan_tilt_zoom_permission_context.h",
  34. "contexts/clipboard_read_write_permission_context.cc",
  35. "contexts/clipboard_read_write_permission_context.h",
  36. "contexts/clipboard_sanitized_write_permission_context.cc",
  37. "contexts/clipboard_sanitized_write_permission_context.h",
  38. "contexts/geolocation_permission_context.cc",
  39. "contexts/geolocation_permission_context.h",
  40. "contexts/local_fonts_permission_context.cc",
  41. "contexts/local_fonts_permission_context.h",
  42. "contexts/midi_permission_context.cc",
  43. "contexts/midi_permission_context.h",
  44. "contexts/midi_sysex_permission_context.cc",
  45. "contexts/midi_sysex_permission_context.h",
  46. "contexts/nfc_permission_context.cc",
  47. "contexts/nfc_permission_context.h",
  48. "contexts/payment_handler_permission_context.cc",
  49. "contexts/payment_handler_permission_context.h",
  50. "contexts/sensor_permission_context.cc",
  51. "contexts/sensor_permission_context.h",
  52. "contexts/wake_lock_permission_context.cc",
  53. "contexts/wake_lock_permission_context.h",
  54. "contexts/webxr_permission_context.cc",
  55. "contexts/webxr_permission_context.h",
  56. "contexts/window_placement_permission_context.cc",
  57. "contexts/window_placement_permission_context.h",
  58. "notifications_engagement_service.cc",
  59. "notifications_engagement_service.h",
  60. "object_permission_context_base.cc",
  61. "object_permission_context_base.h",
  62. "permission_actions_history.cc",
  63. "permission_actions_history.h",
  64. "permission_auditing_database.cc",
  65. "permission_auditing_database.h",
  66. "permission_auditing_service.cc",
  67. "permission_auditing_service.h",
  68. "permission_context_base.cc",
  69. "permission_context_base.h",
  70. "permission_decision_auto_blocker.cc",
  71. "permission_decision_auto_blocker.h",
  72. "permission_manager.cc",
  73. "permission_manager.h",
  74. "permission_prompt.h",
  75. "permission_request.cc",
  76. "permission_request.h",
  77. "permission_request_id.cc",
  78. "permission_request_id.h",
  79. "permission_request_manager.cc",
  80. "permission_request_manager.h",
  81. "permission_request_queue.cc",
  82. "permission_request_queue.h",
  83. "permission_result.cc",
  84. "permission_result.h",
  85. "permission_ui_selector.cc",
  86. "permission_ui_selector.h",
  87. "permission_uma_util.cc",
  88. "permission_uma_util.h",
  89. "permission_usage_session.cc",
  90. "permission_usage_session.h",
  91. "permission_util.cc",
  92. "permission_util.h",
  93. "permissions_client.cc",
  94. "permissions_client.h",
  95. "pref_names.cc",
  96. "pref_names.h",
  97. "quota_permission_context_impl.cc",
  98. "quota_permission_context_impl.h",
  99. "request_type.cc",
  100. "request_type.h",
  101. "switches.cc",
  102. "switches.h",
  103. ]
  104. deps = [
  105. "//base",
  106. "//build:chromeos_buildflags",
  107. "//components/autofill_assistant/browser/public:public",
  108. "//components/back_forward_cache",
  109. "//components/content_settings/browser",
  110. "//components/content_settings/core/browser",
  111. "//components/keyed_service/content",
  112. "//components/permissions/prediction_service",
  113. "//components/permissions/vector_icons",
  114. "//components/pref_registry",
  115. "//components/prefs",
  116. "//components/strings:components_strings_grit",
  117. "//components/ukm/content",
  118. "//components/url_formatter",
  119. "//components/variations",
  120. "//components/vector_icons",
  121. "//components/webrtc:media_stream_device_enumerator",
  122. "//content/public/browser",
  123. "//device/bluetooth",
  124. "//device/bluetooth/public/cpp",
  125. "//services/device/public/cpp/geolocation",
  126. "//services/device/public/mojom",
  127. "//services/metrics/public/cpp:ukm_builders",
  128. "//sql",
  129. "//third_party/blink/public/common",
  130. "//third_party/sqlite",
  131. "//ui/base",
  132. "//url",
  133. ]
  134. if (is_mac) {
  135. sources += [
  136. "contexts/geolocation_permission_context_mac.cc",
  137. "contexts/geolocation_permission_context_mac.h",
  138. ]
  139. }
  140. if (is_android) {
  141. sources += [
  142. "android/android_permission_util.cc",
  143. "android/android_permission_util.h",
  144. "android/bluetooth_chooser_android.cc",
  145. "android/bluetooth_chooser_android.h",
  146. "android/bluetooth_chooser_android_delegate.h",
  147. "android/bluetooth_scanning_prompt_android.cc",
  148. "android/bluetooth_scanning_prompt_android.h",
  149. "android/bluetooth_scanning_prompt_android_delegate.h",
  150. "android/permission_prompt/permission_dialog.cc",
  151. "android/permission_prompt/permission_dialog.h",
  152. "android/permission_prompt/permission_dialog_delegate.cc",
  153. "android/permission_prompt/permission_dialog_delegate.h",
  154. "android/permission_prompt/permission_infobar.cc",
  155. "android/permission_prompt/permission_infobar.h",
  156. "android/permission_prompt/permission_message.cc",
  157. "android/permission_prompt/permission_message.h",
  158. "android/permission_prompt/permission_prompt_android.cc",
  159. "android/permission_prompt/permission_prompt_android.h",
  160. "android/permission_prompt/permission_prompt_android_factory.cc",
  161. "android/permissions_android_feature_list.cc",
  162. "android/permissions_android_feature_list.h",
  163. "contexts/geolocation_permission_context_android.cc",
  164. "contexts/geolocation_permission_context_android.h",
  165. "contexts/nfc_permission_context_android.cc",
  166. "contexts/nfc_permission_context_android.h",
  167. ]
  168. deps += [
  169. "//components/infobars/core",
  170. "//components/location/android:location_settings_dialog_enums_java",
  171. "//components/location/android:settings",
  172. "//components/messages/android:android",
  173. "//components/permissions/android:jni_headers",
  174. "//components/permissions/android:native",
  175. "//components/prefs",
  176. "//components/resources:android_resources",
  177. "//components/security_state/core:core",
  178. "//ui/android",
  179. ]
  180. } else {
  181. sources += [
  182. "bluetooth_chooser_controller.cc",
  183. "bluetooth_chooser_controller.h",
  184. "bluetooth_chooser_desktop.cc",
  185. "bluetooth_chooser_desktop.h",
  186. "bluetooth_scanning_prompt_controller.cc",
  187. "bluetooth_scanning_prompt_controller.h",
  188. "bluetooth_scanning_prompt_desktop.cc",
  189. "bluetooth_scanning_prompt_desktop.h",
  190. "permission_prompt_impl.cc",
  191. ]
  192. }
  193. public_deps = [ ":permissions_common" ]
  194. }
  195. source_set("test_support") {
  196. testonly = true
  197. sources = [
  198. "test/mock_permission_prompt.cc",
  199. "test/mock_permission_prompt.h",
  200. "test/mock_permission_prompt_factory.cc",
  201. "test/mock_permission_prompt_factory.h",
  202. "test/mock_permission_request.cc",
  203. "test/mock_permission_request.h",
  204. "test/object_permission_context_base_mock_permission_observer.cc",
  205. "test/object_permission_context_base_mock_permission_observer.h",
  206. "test/permission_request_observer.cc",
  207. "test/permission_request_observer.h",
  208. "test/permission_test_util.cc",
  209. "test/permission_test_util.h",
  210. "test/test_permissions_client.cc",
  211. "test/test_permissions_client.h",
  212. ]
  213. if (!is_android) {
  214. sources += [
  215. "fake_bluetooth_chooser_controller.cc",
  216. "fake_bluetooth_chooser_controller.h",
  217. "fake_usb_chooser_controller.cc",
  218. "fake_usb_chooser_controller.h",
  219. "mock_chooser_controller_view.cc",
  220. "mock_chooser_controller_view.h",
  221. ]
  222. }
  223. deps = [
  224. ":permissions",
  225. "//base",
  226. "//components/content_settings/core/browser",
  227. "//components/strings:components_strings_grit",
  228. "//components/sync_preferences:test_support",
  229. "//components/ukm/content",
  230. "//components/vector_icons",
  231. "//content/public/browser",
  232. "//services/device/public/cpp:test_support",
  233. "//testing/gmock",
  234. "//testing/gtest",
  235. "//ui/gfx",
  236. "//url",
  237. ]
  238. if (is_android) {
  239. deps += [ "//components/resources:android_resources" ]
  240. }
  241. }
  242. source_set("unit_tests") {
  243. testonly = true
  244. sources = [
  245. "chooser_title_util_unittest.cc",
  246. "contexts/camera_pan_tilt_zoom_permission_context_unittest.cc",
  247. "contexts/geolocation_permission_context_unittest.cc",
  248. "contexts/midi_permission_context_unittest.cc",
  249. "contexts/midi_sysex_permission_context_unittest.cc",
  250. "contexts/nfc_permission_context_unittest.cc",
  251. "contexts/wake_lock_permission_context_unittest.cc",
  252. "object_permission_context_base_unittest.cc",
  253. "permission_actions_history_unittest.cc",
  254. "permission_auditing_database_unittest.cc",
  255. "permission_auditing_service_unittest.cc",
  256. "permission_context_base_unittest.cc",
  257. "permission_decision_auto_blocker_unittest.cc",
  258. "permission_manager_unittest.cc",
  259. "permission_request_manager_unittest.cc",
  260. "permission_request_queue_unittest.cc",
  261. "permission_uma_util_unittest.cc",
  262. ]
  263. if (!is_android) {
  264. sources += [
  265. "bluetooth_chooser_controller_unittest.cc",
  266. "bluetooth_scanning_prompt_controller_unittest.cc",
  267. ]
  268. }
  269. if (is_android) {
  270. sources +=
  271. [ "android/permission_prompt/permission_dialog_delegate_unittest.cc" ]
  272. }
  273. deps = [
  274. ":permissions",
  275. ":test_support",
  276. "//base",
  277. "//base/test:test_support",
  278. "//build:chromeos_buildflags",
  279. "//components/content_settings/browser",
  280. "//components/content_settings/browser:test_support",
  281. "//components/content_settings/core/browser",
  282. "//components/keyed_service/content",
  283. "//components/prefs:test_support",
  284. "//components/strings:components_strings_grit",
  285. "//components/ukm:test_support",
  286. "//components/ukm/content",
  287. "//components/variations",
  288. "//components/webrtc",
  289. "//content/test:test_support",
  290. "//services/device/public/cpp:test_support",
  291. "//sql",
  292. "//sql:test_support",
  293. "//testing/gtest",
  294. "//third_party/sqlite",
  295. "//url",
  296. ]
  297. if (is_android) {
  298. deps += [
  299. "//components/location/android:location_settings_dialog_enums_java",
  300. "//components/location/android:test_support",
  301. "//components/permissions/android:test_support",
  302. ]
  303. }
  304. }