#include "storage/browser/file_system/isolated_file_system_backend.h"
#include <stdint.h>
#include <memory>
#include <string>
#include <utility>
#include "base/check.h"
#include "base/files/file_path.h"
#include "base/functional/bind.h"
#include "base/notreached.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "storage/browser/file_system/async_file_util_adapter.h"
#include "storage/browser/file_system/copy_or_move_file_validator.h"
#include "storage/browser/file_system/dragged_file_util.h"
#include "storage/browser/file_system/file_stream_reader.h"
#include "storage/browser/file_system/file_stream_writer.h"
#include "storage/browser/file_system/file_system_context.h"
#include "storage/browser/file_system/file_system_operation.h"
#include "storage/browser/file_system/file_system_operation_context.h"
#include "storage/browser/file_system/isolated_context.h"
#include "storage/browser/file_system/native_file_util.h"
#include "storage/browser/file_system/transient_file_util.h"
#include "storage/browser/file_system/watcher_manager.h"
#include "storage/common/file_system/file_system_types.h"
#include "storage/common/file_system/file_system_util.h"
namespace storage {
IsolatedFileSystemBackend::IsolatedFileSystemBackend(
bool use_for_type_native_local,
bool use_for_type_platform_app)
: … { … }
IsolatedFileSystemBackend::~IsolatedFileSystemBackend() = default;
bool IsolatedFileSystemBackend::CanHandleType(FileSystemType type) const { … }
void IsolatedFileSystemBackend::Initialize(FileSystemContext* context) { … }
void IsolatedFileSystemBackend::ResolveURL(const FileSystemURL& url,
OpenFileSystemMode mode,
ResolveURLCallback callback) { … }
AsyncFileUtil* IsolatedFileSystemBackend::GetAsyncFileUtil(
FileSystemType type) { … }
WatcherManager* IsolatedFileSystemBackend::GetWatcherManager(
FileSystemType type) { … }
CopyOrMoveFileValidatorFactory*
IsolatedFileSystemBackend::GetCopyOrMoveFileValidatorFactory(
FileSystemType type,
base::File::Error* error_code) { … }
std::unique_ptr<FileSystemOperation>
IsolatedFileSystemBackend::CreateFileSystemOperation(
OperationType type,
const FileSystemURL& url,
FileSystemContext* context,
base::File::Error* error_code) const { … }
bool IsolatedFileSystemBackend::SupportsStreaming(
const FileSystemURL& url) const { … }
bool IsolatedFileSystemBackend::HasInplaceCopyImplementation(
FileSystemType type) const { … }
std::unique_ptr<FileStreamReader>
IsolatedFileSystemBackend::CreateFileStreamReader(
const FileSystemURL& url,
int64_t offset,
int64_t max_bytes_to_read,
const base::Time& expected_modification_time,
FileSystemContext* context,
file_access::ScopedFileAccessDelegate::RequestFilesAccessIOCallback
file_access) const { … }
std::unique_ptr<FileStreamWriter>
IsolatedFileSystemBackend::CreateFileStreamWriter(
const FileSystemURL& url,
int64_t offset,
FileSystemContext* context) const { … }
FileSystemQuotaUtil* IsolatedFileSystemBackend::GetQuotaUtil() { … }
const UpdateObserverList* IsolatedFileSystemBackend::GetUpdateObservers(
FileSystemType type) const { … }
const ChangeObserverList* IsolatedFileSystemBackend::GetChangeObservers(
FileSystemType type) const { … }
const AccessObserverList* IsolatedFileSystemBackend::GetAccessObservers(
FileSystemType type) const { … }
}