1// Copyright 2013 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
5#ifndef CONTENT_PUBLIC_TEST_TEST_FILE_SYSTEM_CONTEXT_H_
6#define CONTENT_PUBLIC_TEST_TEST_FILE_SYSTEM_CONTEXT_H_
7
8#include "base/files/file_path.h"
9#include "base/memory/scoped_vector.h"
10#include "storage/browser/fileapi/file_system_context.h"
11
12namespace storage {
13class QuotaManagerProxy;
14class SpecialStoragePolicy;
15}
16
17namespace storage {
18class FileSystemBackend;
19}
20
21namespace content {
22
23storage::FileSystemContext* CreateFileSystemContextForTesting(
24    storage::QuotaManagerProxy* quota_manager_proxy,
25    const base::FilePath& base_path);
26
27// The caller is responsible for including TestFileSystemBackend in
28// |additional_providers| if needed.
29storage::FileSystemContext*
30    CreateFileSystemContextWithAdditionalProvidersForTesting(
31        storage::QuotaManagerProxy* quota_manager_proxy,
32        ScopedVector<storage::FileSystemBackend> additional_providers,
33        const base::FilePath& base_path);
34
35storage::FileSystemContext* CreateFileSystemContextWithAutoMountersForTesting(
36    storage::QuotaManagerProxy* quota_manager_proxy,
37    ScopedVector<storage::FileSystemBackend> additional_providers,
38    const std::vector<storage::URLRequestAutoMountHandler>& auto_mounters,
39    const base::FilePath& base_path);
40
41storage::FileSystemContext* CreateIncognitoFileSystemContextForTesting(
42    storage::QuotaManagerProxy* quota_manager_proxy,
43    const base::FilePath& base_path);
44
45}  // namespace content
46
47#endif  // CONTENT_PUBLIC_TEST_TEST_FILE_SYSTEM_CONTEXT_H_
48