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
|
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "storage/browser/test/test_file_system_context.h"
#include <memory>
#include <utility>
#include <vector>
#include "base/memory/scoped_refptr.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "storage/browser/file_system/external_mount_points.h"
#include "storage/browser/file_system/file_system_backend.h"
#include "storage/browser/file_system/file_system_context.h"
#include "storage/browser/quota/quota_manager_proxy.h"
#include "storage/browser/test/mock_special_storage_policy.h"
#include "storage/browser/test/test_file_system_backend.h"
#include "storage/browser/test/test_file_system_options.h"
namespace storage {
scoped_refptr<FileSystemContext> CreateFileSystemContextForTesting(
scoped_refptr<QuotaManagerProxy> quota_manager_proxy,
const base::FilePath& base_path) {
std::vector<std::unique_ptr<FileSystemBackend>> additional_providers;
additional_providers.push_back(std::make_unique<TestFileSystemBackend>(
base::SingleThreadTaskRunner::GetCurrentDefault().get(), base_path));
return CreateFileSystemContextWithAdditionalProvidersForTesting(
base::SingleThreadTaskRunner::GetCurrentDefault(),
base::SingleThreadTaskRunner::GetCurrentDefault(),
std::move(quota_manager_proxy), std::move(additional_providers),
base_path);
}
scoped_refptr<FileSystemContext>
CreateFileSystemContextWithAdditionalProvidersForTesting(
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
scoped_refptr<base::SequencedTaskRunner> file_task_runner,
scoped_refptr<QuotaManagerProxy> quota_manager_proxy,
std::vector<std::unique_ptr<FileSystemBackend>> additional_providers,
const base::FilePath& base_path) {
return FileSystemContext::Create(
std::move(io_task_runner), std::move(file_task_runner),
ExternalMountPoints::CreateRefCounted(),
base::MakeRefCounted<MockSpecialStoragePolicy>(),
std::move(quota_manager_proxy), std::move(additional_providers),
std::vector<URLRequestAutoMountHandler>(), base_path,
CreateAllowFileAccessOptions());
}
scoped_refptr<FileSystemContext>
CreateFileSystemContextWithAutoMountersForTesting(
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
scoped_refptr<base::SequencedTaskRunner> file_task_runner,
scoped_refptr<QuotaManagerProxy> quota_manager_proxy,
std::vector<std::unique_ptr<FileSystemBackend>> additional_providers,
const std::vector<URLRequestAutoMountHandler>& auto_mounters,
const base::FilePath& base_path) {
return FileSystemContext::Create(
std::move(io_task_runner), std::move(file_task_runner),
ExternalMountPoints::CreateRefCounted(),
base::MakeRefCounted<MockSpecialStoragePolicy>(),
std::move(quota_manager_proxy), std::move(additional_providers),
auto_mounters, base_path, CreateAllowFileAccessOptions());
}
scoped_refptr<FileSystemContext> CreateIncognitoFileSystemContextForTesting(
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
scoped_refptr<base::SequencedTaskRunner> file_task_runner,
scoped_refptr<QuotaManagerProxy> quota_manager_proxy,
const base::FilePath& base_path) {
std::vector<std::unique_ptr<FileSystemBackend>> additional_providers;
additional_providers.push_back(std::make_unique<TestFileSystemBackend>(
base::SingleThreadTaskRunner::GetCurrentDefault().get(), base_path));
return CreateIncognitoFileSystemContextWithAdditionalProvidersForTesting(
std::move(io_task_runner), std::move(file_task_runner),
std::move(quota_manager_proxy), std::move(additional_providers),
base_path);
}
scoped_refptr<FileSystemContext>
CreateIncognitoFileSystemContextWithAdditionalProvidersForTesting(
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
scoped_refptr<base::SequencedTaskRunner> file_task_runner,
scoped_refptr<QuotaManagerProxy> quota_manager_proxy,
std::vector<std::unique_ptr<FileSystemBackend>> additional_providers,
const base::FilePath& base_path) {
return FileSystemContext::Create(
std::move(io_task_runner), std::move(file_task_runner),
ExternalMountPoints::CreateRefCounted(),
base::MakeRefCounted<MockSpecialStoragePolicy>(),
std::move(quota_manager_proxy), std::move(additional_providers),
std::vector<URLRequestAutoMountHandler>(), base_path,
CreateIncognitoFileSystemOptions());
}
} // namespace storage
|