summaryrefslogtreecommitdiffstats
path: root/chromium/storage/browser/BUILD.gn
blob: 389b129e9ee06f42d7eeb908f735a1c01fd6748d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/jumbo.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//testing/test.gni")

jumbo_component("browser") {
  output_name = "storage_browser"
  sources = [
    "blob/blob_builder_from_stream.cc",
    "blob/blob_builder_from_stream.h",
    "blob/blob_data_builder.cc",
    "blob/blob_data_builder.h",
    "blob/blob_data_handle.cc",
    "blob/blob_data_handle.h",
    "blob/blob_data_item.cc",
    "blob/blob_data_item.h",
    "blob/blob_data_snapshot.cc",
    "blob/blob_data_snapshot.h",
    "blob/blob_entry.cc",
    "blob/blob_entry.h",
    "blob/blob_handle.cc",
    "blob/blob_handle.h",
    "blob/blob_impl.cc",
    "blob/blob_impl.h",
    "blob/blob_memory_controller.cc",
    "blob/blob_memory_controller.h",
    "blob/blob_reader.cc",
    "blob/blob_reader.h",
    "blob/blob_registry_impl.cc",
    "blob/blob_registry_impl.h",
    "blob/blob_storage_constants.cc",
    "blob/blob_storage_constants.h",
    "blob/blob_storage_context.cc",
    "blob/blob_storage_context.h",
    "blob/blob_storage_registry.cc",
    "blob/blob_storage_registry.h",
    "blob/blob_transport_strategy.cc",
    "blob/blob_transport_strategy.h",
    "blob/blob_url_loader.cc",
    "blob/blob_url_loader.h",
    "blob/blob_url_loader_factory.cc",
    "blob/blob_url_loader_factory.h",
    "blob/blob_url_registry.cc",
    "blob/blob_url_registry.h",
    "blob/blob_url_store_impl.cc",
    "blob/blob_url_store_impl.h",
    "blob/blob_url_utils.cc",
    "blob/blob_url_utils.h",
    "blob/mojo_blob_reader.cc",
    "blob/mojo_blob_reader.h",
    "blob/scoped_file.cc",
    "blob/scoped_file.h",
    "blob/shareable_blob_data_item.cc",
    "blob/shareable_blob_data_item.h",
    "blob/shareable_file_reference.cc",
    "blob/shareable_file_reference.h",
    "blob/view_blob_internals_job.cc",
    "blob/view_blob_internals_job.h",
    "blob/write_blob_to_file.cc",
    "blob/write_blob_to_file.h",
    "database/database_quota_client.cc",
    "database/database_quota_client.h",
    "database/database_tracker.cc",
    "database/database_tracker.h",
    "database/database_util.cc",
    "database/database_util.h",
    "database/databases_table.cc",
    "database/databases_table.h",
    "database/vfs_backend.cc",
    "database/vfs_backend.h",
    "file_system/async_file_util.h",
    "file_system/async_file_util_adapter.cc",
    "file_system/async_file_util_adapter.h",
    "file_system/copy_or_move_file_validator.h",
    "file_system/copy_or_move_operation_delegate.cc",
    "file_system/copy_or_move_operation_delegate.h",
    "file_system/dragged_file_util.cc",
    "file_system/dragged_file_util.h",
    "file_system/external_mount_points.cc",
    "file_system/external_mount_points.h",
    "file_system/file_observers.h",
    "file_system/file_permission_policy.h",
    "file_system/file_stream_reader.cc",
    "file_system/file_stream_reader.h",
    "file_system/file_stream_writer.h",
    "file_system/file_system_backend.h",
    "file_system/file_system_context.cc",
    "file_system/file_system_context.h",
    "file_system/file_system_features.cc",
    "file_system/file_system_features.h",
    "file_system/file_system_file_stream_reader.cc",
    "file_system/file_system_file_stream_reader.h",
    "file_system/file_system_file_util.cc",
    "file_system/file_system_file_util.h",
    "file_system/file_system_operation.h",
    "file_system/file_system_operation_context.cc",
    "file_system/file_system_operation_context.h",
    "file_system/file_system_operation_impl.cc",
    "file_system/file_system_operation_impl.h",
    "file_system/file_system_operation_runner.cc",
    "file_system/file_system_operation_runner.h",
    "file_system/file_system_options.cc",
    "file_system/file_system_options.h",
    "file_system/file_system_quota_client.cc",
    "file_system/file_system_quota_client.h",
    "file_system/file_system_quota_util.h",
    "file_system/file_system_url.cc",
    "file_system/file_system_url.h",
    "file_system/file_system_usage_cache.cc",
    "file_system/file_system_usage_cache.h",
    "file_system/file_writer_delegate.cc",
    "file_system/file_writer_delegate.h",
    "file_system/filesystem_proxy_file_stream_reader.cc",
    "file_system/filesystem_proxy_file_stream_reader.h",
    "file_system/isolated_context.cc",
    "file_system/isolated_context.h",
    "file_system/isolated_file_system_backend.cc",
    "file_system/isolated_file_system_backend.h",
    "file_system/local_file_stream_reader.cc",
    "file_system/local_file_stream_reader.h",
    "file_system/local_file_stream_writer.cc",
    "file_system/local_file_stream_writer.h",
    "file_system/local_file_util.cc",
    "file_system/local_file_util.h",
    "file_system/memory_file_stream_reader.cc",
    "file_system/memory_file_stream_reader.h",
    "file_system/memory_file_stream_writer.cc",
    "file_system/memory_file_stream_writer.h",
    "file_system/mount_points.cc",
    "file_system/mount_points.h",
    "file_system/native_file_util.cc",
    "file_system/native_file_util.h",
    "file_system/obfuscated_file_util.cc",
    "file_system/obfuscated_file_util.h",
    "file_system/obfuscated_file_util_delegate.h",
    "file_system/obfuscated_file_util_disk_delegate.cc",
    "file_system/obfuscated_file_util_disk_delegate.h",
    "file_system/obfuscated_file_util_memory_delegate.cc",
    "file_system/obfuscated_file_util_memory_delegate.h",
    "file_system/open_file_system_mode.h",
    "file_system/plugin_private_file_system_backend.cc",
    "file_system/plugin_private_file_system_backend.h",
    "file_system/quota/open_file_handle.cc",
    "file_system/quota/open_file_handle.h",
    "file_system/quota/open_file_handle_context.cc",
    "file_system/quota/open_file_handle_context.h",
    "file_system/quota/quota_backend_impl.cc",
    "file_system/quota/quota_backend_impl.h",
    "file_system/quota/quota_limit_type.h",
    "file_system/quota/quota_reservation.cc",
    "file_system/quota/quota_reservation.h",
    "file_system/quota/quota_reservation_buffer.cc",
    "file_system/quota/quota_reservation_buffer.h",
    "file_system/quota/quota_reservation_manager.cc",
    "file_system/quota/quota_reservation_manager.h",
    "file_system/recursive_operation_delegate.cc",
    "file_system/recursive_operation_delegate.h",
    "file_system/remove_operation_delegate.cc",
    "file_system/remove_operation_delegate.h",
    "file_system/sandbox_directory_database.cc",
    "file_system/sandbox_directory_database.h",
    "file_system/sandbox_file_stream_writer.cc",
    "file_system/sandbox_file_stream_writer.h",
    "file_system/sandbox_file_system_backend.cc",
    "file_system/sandbox_file_system_backend.h",
    "file_system/sandbox_file_system_backend_delegate.cc",
    "file_system/sandbox_file_system_backend_delegate.h",
    "file_system/sandbox_isolated_origin_database.cc",
    "file_system/sandbox_isolated_origin_database.h",
    "file_system/sandbox_origin_database.cc",
    "file_system/sandbox_origin_database.h",
    "file_system/sandbox_origin_database_interface.cc",
    "file_system/sandbox_origin_database_interface.h",
    "file_system/sandbox_prioritized_origin_database.cc",
    "file_system/sandbox_prioritized_origin_database.h",
    "file_system/sandbox_quota_observer.cc",
    "file_system/sandbox_quota_observer.h",
    "file_system/task_runner_bound_observer_list.h",
    "file_system/transient_file_util.cc",
    "file_system/transient_file_util.h",
    "file_system/watcher_manager.h",
    "quota/client_usage_tracker.cc",
    "quota/client_usage_tracker.h",
    "quota/quota_callbacks.h",
    "quota/quota_client.h",
    "quota/quota_client_type.cc",
    "quota/quota_client_type.h",
    "quota/quota_database.cc",
    "quota/quota_database.h",
    "quota/quota_device_info_helper.cc",
    "quota/quota_device_info_helper.h",
    "quota/quota_features.cc",
    "quota/quota_features.h",
    "quota/quota_macros.h",
    "quota/quota_manager.cc",
    "quota/quota_manager.h",
    "quota/quota_manager_proxy.cc",
    "quota/quota_manager_proxy.h",
    "quota/quota_settings.cc",
    "quota/quota_settings.h",
    "quota/quota_task.cc",
    "quota/quota_task.h",
    "quota/quota_temporary_storage_evictor.cc",
    "quota/quota_temporary_storage_evictor.h",
    "quota/special_storage_policy.cc",
    "quota/special_storage_policy.h",
    "quota/usage_tracker.cc",
    "quota/usage_tracker.h",
  ]

  jumbo_excluded_sources = [
    "file_system/local_file_stream_reader.cc",
  ]

  defines = [ "IS_STORAGE_BROWSER_IMPL" ]
  configs += [
    "//build/config:precompiled_headers",
    "//build/config/compiler:wexit_time_destructors",
  ]

  public_deps = [
    "//components/services/filesystem/public/mojom",
    "//components/services/storage/public/mojom",
    "//storage/common",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//base/third_party/dynamic_annotations",
    "//components/services/storage/public/cpp/filesystem",
    "//mojo/public/cpp/bindings",
    "//net",
    "//services/network:network_service",
    "//services/network/public/cpp",
    "//services/network/public/mojom",
    "//sql",
    "//third_party/leveldatabase",
    "//third_party/sqlite",
    "//url",
  ]
}

executable("dump_file_system") {
  sources = [ "file_system/dump_file_system.cc" ]

  deps = [
    ":browser",
    "//base",
    "//build/win:default_exe_manifest",
    "//storage/common",
  ]
}

source_set("unittests") {
  testonly = true

  sources = [
    # This target is in the process of being populated. See
    # http://crbug.com/653751
    "blob/blob_builder_from_stream_unittest.cc",
    "blob/blob_data_builder_unittest.cc",
    "blob/blob_flattener_unittest.cc",
    "blob/blob_impl_unittest.cc",
    "blob/blob_memory_controller_unittest.cc",
    "blob/blob_reader_unittest.cc",
    "blob/blob_registry_impl_unittest.cc",
    "blob/blob_slice_unittest.cc",
    "blob/blob_storage_context_mojo_unittest.cc",
    "blob/blob_storage_context_unittest.cc",
    "blob/blob_storage_registry_unittest.cc",
    "blob/blob_transport_strategy_unittest.cc",
    "blob/blob_url_registry_unittest.cc",
    "blob/blob_url_store_impl_unittest.cc",
    "database/database_quota_client_unittest.cc",
    "database/database_tracker_unittest.cc",
    "database/database_util_unittest.cc",
    "database/databases_table_unittest.cc",
    "file_system/copy_or_move_file_validator_unittest.cc",
    "file_system/copy_or_move_operation_delegate_unittest.cc",
    "file_system/dragged_file_util_unittest.cc",
    "file_system/external_mount_points_unittest.cc",
    "file_system/file_stream_reader_test.cc",
    "file_system/file_stream_reader_test.h",
    "file_system/file_stream_test_utils.cc",
    "file_system/file_stream_test_utils.h",
    "file_system/file_system_context_unittest.cc",
    "file_system/file_system_file_stream_reader_unittest.cc",
    "file_system/file_system_operation_impl_unittest.cc",
    "file_system/file_system_operation_impl_write_unittest.cc",
    "file_system/file_system_quota_client_unittest.cc",
    "file_system/file_system_url_unittest.cc",
    "file_system/file_system_usage_cache_unittest.cc",
    "file_system/file_writer_delegate_unittest.cc",
    "file_system/filesystem_proxy_file_stream_reader_unittest.cc",
    "file_system/isolated_context_unittest.cc",
    "file_system/local_file_stream_reader_unittest.cc",
    "file_system/local_file_stream_writer_unittest.cc",
    "file_system/local_file_util_unittest.cc",
    "file_system/memory_file_stream_reader_unittest.cc",
    "file_system/memory_file_stream_writer_unittest.cc",
    "file_system/native_file_util_unittest.cc",
    "file_system/obfuscated_file_util_memory_delegate_unittest.cc",
    "file_system/obfuscated_file_util_unittest.cc",
    "file_system/plugin_private_file_system_backend_unittest.cc",
    "file_system/quota/quota_backend_impl_unittest.cc",
    "file_system/quota/quota_reservation_manager_unittest.cc",
    "file_system/recursive_operation_delegate_unittest.cc",
    "file_system/sandbox_directory_database_unittest.cc",
    "file_system/sandbox_file_system_backend_delegate_unittest.cc",
    "file_system/sandbox_file_system_backend_unittest.cc",
    "file_system/sandbox_isolated_origin_database_unittest.cc",
    "file_system/sandbox_origin_database_unittest.cc",
    "file_system/sandbox_prioritized_origin_database_unittest.cc",
    "file_system/transient_file_util_unittest.cc",
    "quota/quota_database_unittest.cc",
    "quota/quota_manager_unittest.cc",
    "quota/quota_settings_unittest.cc",
    "quota/quota_temporary_storage_evictor_unittest.cc",
    "quota/usage_tracker_unittest.cc",
    "test/mock_quota_manager_unittest.cc",
  ]

  deps = [
    ":browser",
    ":test_support",
    "//base/test:test_support",
    "//components/services/filesystem/public/mojom",
    "//components/services/storage/public/cpp/filesystem",
    "//mojo/public/cpp/system",
    "//net:test_support",
    "//services/network/public/cpp",
    "//services/network/public/mojom",
    "//sql:test_support",
    "//testing/gtest",
    "//third_party/leveldatabase",
    "//third_party/sqlite",
  ]
}

jumbo_static_library("test_support") {
  testonly = true

  sources = [
    "test/async_file_test_helper.cc",
    "test/async_file_test_helper.h",
    "test/blob_test_utils.cc",
    "test/blob_test_utils.h",
    "test/fake_blob.cc",
    "test/fake_blob.h",
    "test/fake_blob_data_handle.cc",
    "test/fake_blob_data_handle.h",
    "test/fake_progress_client.cc",
    "test/fake_progress_client.h",
    "test/file_system_test_file_set.cc",
    "test/file_system_test_file_set.h",
    "test/mock_blob_registry_delegate.cc",
    "test/mock_blob_registry_delegate.h",
    "test/mock_blob_util.cc",
    "test/mock_blob_util.h",
    "test/mock_bytes_provider.cc",
    "test/mock_bytes_provider.h",
    "test/mock_file_change_observer.cc",
    "test/mock_file_change_observer.h",
    "test/mock_file_update_observer.cc",
    "test/mock_file_update_observer.h",
    "test/mock_quota_client.cc",
    "test/mock_quota_client.h",
    "test/mock_quota_manager.cc",
    "test/mock_quota_manager.h",
    "test/mock_quota_manager_proxy.cc",
    "test/mock_quota_manager_proxy.h",
    "test/mock_special_storage_policy.cc",
    "test/mock_special_storage_policy.h",
    "test/sandbox_database_test_helper.cc",
    "test/sandbox_database_test_helper.h",
    "test/sandbox_file_system_test_helper.cc",
    "test/sandbox_file_system_test_helper.h",
    "test/test_file_system_backend.cc",
    "test/test_file_system_backend.h",
    "test/test_file_system_context.cc",
    "test/test_file_system_context.h",
    "test/test_file_system_options.cc",
    "test/test_file_system_options.h",
  ]

  deps = [
    ":browser",
    "//base/test:test_support",
    "//components/services/storage/public/mojom",
    "//net:test_support",
    "//services/network:network_service",
    "//testing/gtest",
    "//third_party/leveldatabase",
  ]
}