BUILD.gn 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  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("//mojo/public/tools/bindings/mojom.gni")
  5. import("//testing/test.gni")
  6. component("browser") {
  7. output_name = "storage_browser"
  8. sources = [
  9. "blob/blob_builder_from_stream.cc",
  10. "blob/blob_builder_from_stream.h",
  11. "blob/blob_data_builder.cc",
  12. "blob/blob_data_builder.h",
  13. "blob/blob_data_handle.cc",
  14. "blob/blob_data_handle.h",
  15. "blob/blob_data_item.cc",
  16. "blob/blob_data_item.h",
  17. "blob/blob_data_snapshot.cc",
  18. "blob/blob_data_snapshot.h",
  19. "blob/blob_entry.cc",
  20. "blob/blob_entry.h",
  21. "blob/blob_handle.cc",
  22. "blob/blob_handle.h",
  23. "blob/blob_impl.cc",
  24. "blob/blob_impl.h",
  25. "blob/blob_memory_controller.cc",
  26. "blob/blob_memory_controller.h",
  27. "blob/blob_reader.cc",
  28. "blob/blob_reader.h",
  29. "blob/blob_registry_impl.cc",
  30. "blob/blob_registry_impl.h",
  31. "blob/blob_storage_constants.cc",
  32. "blob/blob_storage_constants.h",
  33. "blob/blob_storage_context.cc",
  34. "blob/blob_storage_context.h",
  35. "blob/blob_storage_registry.cc",
  36. "blob/blob_storage_registry.h",
  37. "blob/blob_transport_strategy.cc",
  38. "blob/blob_transport_strategy.h",
  39. "blob/blob_url_loader.cc",
  40. "blob/blob_url_loader.h",
  41. "blob/blob_url_loader_factory.cc",
  42. "blob/blob_url_loader_factory.h",
  43. "blob/blob_url_registry.cc",
  44. "blob/blob_url_registry.h",
  45. "blob/blob_url_store_impl.cc",
  46. "blob/blob_url_store_impl.h",
  47. "blob/blob_url_utils.cc",
  48. "blob/blob_url_utils.h",
  49. "blob/mojo_blob_reader.cc",
  50. "blob/mojo_blob_reader.h",
  51. "blob/scoped_file.cc",
  52. "blob/scoped_file.h",
  53. "blob/shareable_blob_data_item.cc",
  54. "blob/shareable_blob_data_item.h",
  55. "blob/shareable_file_reference.cc",
  56. "blob/shareable_file_reference.h",
  57. "blob/view_blob_internals_job.cc",
  58. "blob/view_blob_internals_job.h",
  59. "blob/write_blob_to_file.cc",
  60. "blob/write_blob_to_file.h",
  61. "database/database_connections.cc",
  62. "database/database_connections.h",
  63. "database/database_quota_client.cc",
  64. "database/database_quota_client.h",
  65. "database/database_tracker.cc",
  66. "database/database_tracker.h",
  67. "database/database_util.cc",
  68. "database/database_util.h",
  69. "database/databases_table.cc",
  70. "database/databases_table.h",
  71. "database/vfs_backend.cc",
  72. "database/vfs_backend.h",
  73. "file_system/async_file_util.h",
  74. "file_system/async_file_util_adapter.cc",
  75. "file_system/async_file_util_adapter.h",
  76. "file_system/copy_or_move_file_validator.h",
  77. "file_system/copy_or_move_hook_delegate.cc",
  78. "file_system/copy_or_move_hook_delegate.h",
  79. "file_system/copy_or_move_operation_delegate.cc",
  80. "file_system/copy_or_move_operation_delegate.h",
  81. "file_system/dragged_file_util.cc",
  82. "file_system/dragged_file_util.h",
  83. "file_system/external_mount_points.cc",
  84. "file_system/external_mount_points.h",
  85. "file_system/file_observers.h",
  86. "file_system/file_permission_policy.h",
  87. "file_system/file_stream_reader.cc",
  88. "file_system/file_stream_reader.h",
  89. "file_system/file_stream_writer.h",
  90. "file_system/file_system_backend.h",
  91. "file_system/file_system_context.cc",
  92. "file_system/file_system_context.h",
  93. "file_system/file_system_features.cc",
  94. "file_system/file_system_features.h",
  95. "file_system/file_system_file_util.cc",
  96. "file_system/file_system_file_util.h",
  97. "file_system/file_system_operation.h",
  98. "file_system/file_system_operation_context.cc",
  99. "file_system/file_system_operation_context.h",
  100. "file_system/file_system_operation_impl.cc",
  101. "file_system/file_system_operation_impl.h",
  102. "file_system/file_system_operation_runner.cc",
  103. "file_system/file_system_operation_runner.h",
  104. "file_system/file_system_options.cc",
  105. "file_system/file_system_options.h",
  106. "file_system/file_system_quota_client.cc",
  107. "file_system/file_system_quota_client.h",
  108. "file_system/file_system_quota_util.h",
  109. "file_system/file_system_request_info.cc",
  110. "file_system/file_system_request_info.h",
  111. "file_system/file_system_url.cc",
  112. "file_system/file_system_url.h",
  113. "file_system/file_system_usage_cache.cc",
  114. "file_system/file_system_usage_cache.h",
  115. "file_system/file_system_util.cc",
  116. "file_system/file_system_util.h",
  117. "file_system/file_writer_delegate.cc",
  118. "file_system/file_writer_delegate.h",
  119. "file_system/filesystem_proxy_file_stream_reader.cc",
  120. "file_system/filesystem_proxy_file_stream_reader.h",
  121. "file_system/isolated_context.cc",
  122. "file_system/isolated_context.h",
  123. "file_system/isolated_file_system_backend.cc",
  124. "file_system/isolated_file_system_backend.h",
  125. "file_system/local_file_stream_reader.cc",
  126. "file_system/local_file_stream_reader.h",
  127. "file_system/local_file_stream_writer.cc",
  128. "file_system/local_file_stream_writer.h",
  129. "file_system/local_file_util.cc",
  130. "file_system/local_file_util.h",
  131. "file_system/memory_file_stream_reader.cc",
  132. "file_system/memory_file_stream_reader.h",
  133. "file_system/memory_file_stream_writer.cc",
  134. "file_system/memory_file_stream_writer.h",
  135. "file_system/mount_points.cc",
  136. "file_system/mount_points.h",
  137. "file_system/native_file_util.cc",
  138. "file_system/native_file_util.h",
  139. "file_system/obfuscated_file_util.cc",
  140. "file_system/obfuscated_file_util.h",
  141. "file_system/obfuscated_file_util_delegate.h",
  142. "file_system/obfuscated_file_util_disk_delegate.cc",
  143. "file_system/obfuscated_file_util_disk_delegate.h",
  144. "file_system/obfuscated_file_util_memory_delegate.cc",
  145. "file_system/obfuscated_file_util_memory_delegate.h",
  146. "file_system/open_file_system_mode.h",
  147. "file_system/quota/open_file_handle.cc",
  148. "file_system/quota/open_file_handle.h",
  149. "file_system/quota/open_file_handle_context.cc",
  150. "file_system/quota/open_file_handle_context.h",
  151. "file_system/quota/quota_backend_impl.cc",
  152. "file_system/quota/quota_backend_impl.h",
  153. "file_system/quota/quota_limit_type.h",
  154. "file_system/quota/quota_reservation.cc",
  155. "file_system/quota/quota_reservation.h",
  156. "file_system/quota/quota_reservation_buffer.cc",
  157. "file_system/quota/quota_reservation_buffer.h",
  158. "file_system/quota/quota_reservation_manager.cc",
  159. "file_system/quota/quota_reservation_manager.h",
  160. "file_system/recursive_operation_delegate.cc",
  161. "file_system/recursive_operation_delegate.h",
  162. "file_system/remove_operation_delegate.cc",
  163. "file_system/remove_operation_delegate.h",
  164. "file_system/sandbox_directory_database.cc",
  165. "file_system/sandbox_directory_database.h",
  166. "file_system/sandbox_file_stream_reader.cc",
  167. "file_system/sandbox_file_stream_reader.h",
  168. "file_system/sandbox_file_stream_writer.cc",
  169. "file_system/sandbox_file_stream_writer.h",
  170. "file_system/sandbox_file_system_backend.cc",
  171. "file_system/sandbox_file_system_backend.h",
  172. "file_system/sandbox_file_system_backend_delegate.cc",
  173. "file_system/sandbox_file_system_backend_delegate.h",
  174. "file_system/sandbox_origin_database.cc",
  175. "file_system/sandbox_origin_database.h",
  176. "file_system/sandbox_origin_database_interface.cc",
  177. "file_system/sandbox_origin_database_interface.h",
  178. "file_system/sandbox_quota_observer.cc",
  179. "file_system/sandbox_quota_observer.h",
  180. "file_system/task_runner_bound_observer_list.h",
  181. "file_system/transient_file_util.cc",
  182. "file_system/transient_file_util.h",
  183. "file_system/watcher_manager.h",
  184. "quota/client_usage_tracker.cc",
  185. "quota/client_usage_tracker.h",
  186. "quota/quota_callbacks.h",
  187. "quota/quota_client_type.cc",
  188. "quota/quota_client_type.h",
  189. "quota/quota_database.cc",
  190. "quota/quota_database.h",
  191. "quota/quota_database_migrations.cc",
  192. "quota/quota_database_migrations.h",
  193. "quota/quota_device_info_helper.cc",
  194. "quota/quota_device_info_helper.h",
  195. "quota/quota_features.cc",
  196. "quota/quota_features.h",
  197. "quota/quota_macros.h",
  198. "quota/quota_manager.cc",
  199. "quota/quota_manager.h",
  200. "quota/quota_manager_impl.cc",
  201. "quota/quota_manager_impl.h",
  202. "quota/quota_manager_proxy.cc",
  203. "quota/quota_manager_proxy.h",
  204. "quota/quota_override_handle.cc",
  205. "quota/quota_override_handle.h",
  206. "quota/quota_settings.cc",
  207. "quota/quota_settings.h",
  208. "quota/quota_task.cc",
  209. "quota/quota_task.h",
  210. "quota/quota_temporary_storage_evictor.cc",
  211. "quota/quota_temporary_storage_evictor.h",
  212. "quota/special_storage_policy.cc",
  213. "quota/special_storage_policy.h",
  214. "quota/storage_directory.cc",
  215. "quota/storage_directory.h",
  216. "quota/storage_directory_util.cc",
  217. "quota/storage_directory_util.h",
  218. "quota/storage_policy_observer.cc",
  219. "quota/storage_policy_observer.h",
  220. "quota/usage_tracker.cc",
  221. "quota/usage_tracker.h",
  222. ]
  223. defines = [ "IS_STORAGE_BROWSER_IMPL" ]
  224. configs += [
  225. "//build/config:precompiled_headers",
  226. "//build/config/compiler:wexit_time_destructors",
  227. ]
  228. public_deps = [
  229. "//components/services/filesystem/public/mojom",
  230. "//components/services/storage/public/mojom",
  231. "//storage/common",
  232. ]
  233. deps = [
  234. "//base",
  235. "//base:i18n",
  236. "//base/third_party/dynamic_annotations",
  237. "//build:chromeos_buildflags",
  238. "//components/crash/core/common:crash_key",
  239. "//components/services/storage/public/cpp",
  240. "//components/services/storage/public/cpp/filesystem",
  241. "//mojo/public/cpp/bindings",
  242. "//net",
  243. "//services/network:network_service",
  244. "//services/network/public/cpp",
  245. "//services/network/public/mojom",
  246. "//sql",
  247. "//storage/browser/quota:mojo_bindings",
  248. "//third_party/blink/public/common",
  249. "//third_party/leveldatabase",
  250. "//third_party/sqlite",
  251. "//url",
  252. ]
  253. }
  254. executable("dump_file_system") {
  255. sources = [ "file_system/dump_file_system.cc" ]
  256. deps = [
  257. ":browser",
  258. "//base",
  259. "//build/win:default_exe_manifest",
  260. "//storage/common",
  261. ]
  262. }
  263. source_set("unittests") {
  264. testonly = true
  265. sources = [
  266. # This target is in the process of being populated. See
  267. # http://crbug.com/653751
  268. "blob/blob_builder_from_stream_unittest.cc",
  269. "blob/blob_data_builder_unittest.cc",
  270. "blob/blob_flattener_unittest.cc",
  271. "blob/blob_impl_unittest.cc",
  272. "blob/blob_memory_controller_unittest.cc",
  273. "blob/blob_reader_unittest.cc",
  274. "blob/blob_registry_impl_unittest.cc",
  275. "blob/blob_slice_unittest.cc",
  276. "blob/blob_storage_context_mojo_unittest.cc",
  277. "blob/blob_storage_context_unittest.cc",
  278. "blob/blob_storage_registry_unittest.cc",
  279. "blob/blob_transport_strategy_unittest.cc",
  280. "blob/blob_url_registry_unittest.cc",
  281. "blob/blob_url_store_impl_unittest.cc",
  282. "database/database_connections_unittest.cc",
  283. "database/database_quota_client_unittest.cc",
  284. "database/database_tracker_unittest.cc",
  285. "database/database_util_unittest.cc",
  286. "database/databases_table_unittest.cc",
  287. "file_system/copy_or_move_file_validator_unittest.cc",
  288. "file_system/copy_or_move_operation_delegate_unittest.cc",
  289. "file_system/dragged_file_util_unittest.cc",
  290. "file_system/external_mount_points_unittest.cc",
  291. "file_system/file_stream_reader_test.cc",
  292. "file_system/file_stream_reader_test.h",
  293. "file_system/file_stream_test_utils.cc",
  294. "file_system/file_stream_test_utils.h",
  295. "file_system/file_stream_writer_test.cc",
  296. "file_system/file_stream_writer_test.h",
  297. "file_system/file_system_context_unittest.cc",
  298. "file_system/file_system_operation_impl_unittest.cc",
  299. "file_system/file_system_operation_impl_write_unittest.cc",
  300. "file_system/file_system_quota_client_unittest.cc",
  301. "file_system/file_system_url_unittest.cc",
  302. "file_system/file_system_usage_cache_unittest.cc",
  303. "file_system/file_writer_delegate_unittest.cc",
  304. "file_system/filesystem_proxy_file_stream_reader_unittest.cc",
  305. "file_system/isolated_context_unittest.cc",
  306. "file_system/local_file_stream_reader_unittest.cc",
  307. "file_system/local_file_stream_writer_unittest.cc",
  308. "file_system/local_file_util_unittest.cc",
  309. "file_system/memory_file_stream_reader_unittest.cc",
  310. "file_system/memory_file_stream_writer_unittest.cc",
  311. "file_system/native_file_util_unittest.cc",
  312. "file_system/obfuscated_file_util_memory_delegate_unittest.cc",
  313. "file_system/obfuscated_file_util_unittest.cc",
  314. "file_system/quota/quota_backend_impl_unittest.cc",
  315. "file_system/quota/quota_reservation_manager_unittest.cc",
  316. "file_system/recursive_operation_delegate_unittest.cc",
  317. "file_system/sandbox_directory_database_unittest.cc",
  318. "file_system/sandbox_file_stream_reader_unittest.cc",
  319. "file_system/sandbox_file_stream_writer_unittest.cc",
  320. "file_system/sandbox_file_system_backend_delegate_unittest.cc",
  321. "file_system/sandbox_file_system_backend_unittest.cc",
  322. "file_system/sandbox_origin_database_unittest.cc",
  323. "file_system/transient_file_util_unittest.cc",
  324. "quota/quota_database_migrations_unittest.cc",
  325. "quota/quota_database_unittest.cc",
  326. "quota/quota_manager_proxy_unittest.cc",
  327. "quota/quota_manager_unittest.cc",
  328. "quota/quota_settings_unittest.cc",
  329. "quota/quota_temporary_storage_evictor_unittest.cc",
  330. "quota/storage_directory_unittest.cc",
  331. "quota/storage_policy_observer_unittest.cc",
  332. "quota/usage_tracker_unittest.cc",
  333. "test/mock_quota_manager_unittest.cc",
  334. ]
  335. deps = [
  336. ":browser",
  337. ":test_support",
  338. "//base/test:test_support",
  339. "//build:chromeos_buildflags",
  340. "//components/services/filesystem/public/mojom",
  341. "//components/services/storage/public/cpp",
  342. "//mojo/public/cpp/system",
  343. "//net:test_support",
  344. "//services/network/public/cpp",
  345. "//services/network/public/mojom",
  346. "//sql:test_support",
  347. "//storage/browser/quota:mojo_bindings",
  348. "//testing/gtest",
  349. "//third_party/blink/public/common",
  350. "//third_party/leveldatabase",
  351. "//third_party/sqlite",
  352. ]
  353. }
  354. static_library("test_support") {
  355. testonly = true
  356. sources = [
  357. "test/async_file_test_helper.cc",
  358. "test/async_file_test_helper.h",
  359. "test/blob_test_utils.cc",
  360. "test/blob_test_utils.h",
  361. "test/fake_blob.cc",
  362. "test/fake_blob.h",
  363. "test/fake_blob_data_handle.cc",
  364. "test/fake_blob_data_handle.h",
  365. "test/fake_progress_client.cc",
  366. "test/fake_progress_client.h",
  367. "test/file_system_test_file_set.cc",
  368. "test/file_system_test_file_set.h",
  369. "test/mock_blob_registry_delegate.cc",
  370. "test/mock_blob_registry_delegate.h",
  371. "test/mock_blob_util.cc",
  372. "test/mock_blob_util.h",
  373. "test/mock_bytes_provider.cc",
  374. "test/mock_bytes_provider.h",
  375. "test/mock_file_change_observer.cc",
  376. "test/mock_file_change_observer.h",
  377. "test/mock_file_update_observer.cc",
  378. "test/mock_file_update_observer.h",
  379. "test/mock_quota_client.cc",
  380. "test/mock_quota_client.h",
  381. "test/mock_quota_manager.cc",
  382. "test/mock_quota_manager.h",
  383. "test/mock_quota_manager_proxy.cc",
  384. "test/mock_quota_manager_proxy.h",
  385. "test/mock_special_storage_policy.cc",
  386. "test/mock_special_storage_policy.h",
  387. "test/quota_manager_proxy_sync.cc",
  388. "test/quota_manager_proxy_sync.h",
  389. "test/sandbox_database_test_helper.cc",
  390. "test/sandbox_database_test_helper.h",
  391. "test/sandbox_file_system_test_helper.cc",
  392. "test/sandbox_file_system_test_helper.h",
  393. "test/test_file_system_backend.cc",
  394. "test/test_file_system_backend.h",
  395. "test/test_file_system_context.cc",
  396. "test/test_file_system_context.h",
  397. "test/test_file_system_options.cc",
  398. "test/test_file_system_options.h",
  399. ]
  400. deps = [
  401. ":browser",
  402. "//base/test:test_support",
  403. "//build:chromeos_buildflags",
  404. "//components/services/storage/public/cpp",
  405. "//components/services/storage/public/mojom",
  406. "//net:test_support",
  407. "//services/network:network_service",
  408. "//testing/gtest",
  409. "//third_party/leveldatabase",
  410. ]
  411. }