# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//mojo/public/tools/bindings/mojom.gni")
import("//testing/test.gni")
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/features.cc",
"blob/features.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_connections.cc",
"database/database_connections.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_hook_delegate.cc",
"file_system/copy_or_move_hook_delegate.h",
"file_system/copy_or_move_hook_delegate_composite.cc",
"file_system/copy_or_move_hook_delegate_composite.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_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_request_info.cc",
"file_system/file_system_request_info.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_system_util.cc",
"file_system/file_system_util.h",
"file_system/file_writer_delegate.cc",
"file_system/file_writer_delegate.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/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_reader.cc",
"file_system/sandbox_file_stream_reader.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_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_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_availability.h",
"quota/quota_callbacks.h",
"quota/quota_client_type.cc",
"quota/quota_client_type.h",
"quota/quota_database.cc",
"quota/quota_database.h",
"quota/quota_database_migrations.cc",
"quota/quota_database_migrations.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_impl.cc",
"quota/quota_manager_impl.h",
"quota/quota_manager_proxy.cc",
"quota/quota_manager_proxy.h",
"quota/quota_override_handle.cc",
"quota/quota_override_handle.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/storage_directory.cc",
"quota/storage_directory.h",
"quota/storage_directory_util.cc",
"quota/storage_directory_util.h",
"quota/storage_policy_observer.cc",
"quota/storage_policy_observer.h",
"quota/usage_tracker.cc",
"quota/usage_tracker.h",
]
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",
"//build:chromeos_buildflags",
"//components/crash/core/common:crash_key",
"//components/file_access:file_access",
"//components/services/storage/public/cpp",
"//components/services/storage/public/cpp/filesystem",
"//mojo/public/cpp/bindings",
"//net",
"//services/network:network_service",
"//services/network/public/cpp",
"//services/network/public/mojom",
"//sql",
"//storage/browser/quota:mojo_bindings",
"//third_party/blink/public/common",
"//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_connections_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_hook_delegate_composite_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.h",
"file_system/file_stream_test_utils.cc",
"file_system/file_stream_test_utils.h",
"file_system/file_stream_writer_test.h",
"file_system/file_system_context_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/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/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_stream_reader_unittest.cc",
"file_system/sandbox_file_stream_writer_unittest.cc",
"file_system/sandbox_file_system_backend_delegate_unittest.cc",
"file_system/sandbox_file_system_backend_unittest.cc",
"file_system/sandbox_origin_database_unittest.cc",
"file_system/transient_file_util_unittest.cc",
"quota/quota_database_migrations_unittest.cc",
"quota/quota_database_unittest.cc",
"quota/quota_manager_proxy_unittest.cc",
"quota/quota_manager_unittest.cc",
"quota/quota_settings_unittest.cc",
"quota/quota_temporary_storage_evictor_unittest.cc",
"quota/storage_directory_unittest.cc",
"quota/storage_policy_observer_unittest.cc",
"quota/usage_tracker_unittest.cc",
"test/mock_quota_manager_unittest.cc",
]
deps = [
":browser",
":test_support",
"//base/test:test_support",
"//build:chromeos_buildflags",
"//components/file_access:file_access",
"//components/file_access:test_support",
"//components/services/filesystem/public/mojom",
"//components/services/storage/public/cpp",
"//mojo/public/cpp/system",
"//net:test_support",
"//services/network/public/cpp",
"//services/network/public/mojom",
"//sql:test_support",
"//storage/browser/quota:mojo_bindings",
"//testing/gtest",
"//third_party/blink/public/common",
"//third_party/leveldatabase",
"//third_party/sqlite",
]
}
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_copy_or_move_hook_delegate.cc",
"test/mock_copy_or_move_hook_delegate.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/quota_manager_proxy_sync.cc",
"test/quota_manager_proxy_sync.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",
"//build:chromeos_buildflags",
"//components/file_access:file_access",
"//components/services/storage/public/cpp",
"//components/services/storage/public/mojom",
"//net:test_support",
"//services/network:network_service",
"//testing/gtest",
"//third_party/leveldatabase",
]
}