test_file_system_context.h revision 23730a6e56a168d1879203e4b3819bb36e3d8f1f
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 "webkit/browser/fileapi/file_system_context.h"
11
12namespace quota {
13class QuotaManagerProxy;
14class SpecialStoragePolicy;
15}
16
17namespace fileapi {
18class FileSystemBackend;
19}
20
21namespace content {
22
23fileapi::FileSystemContext* CreateFileSystemContextForTesting(
24    quota::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.
29fileapi::FileSystemContext*
30CreateFileSystemContextWithAdditionalProvidersForTesting(
31    quota::QuotaManagerProxy* quota_manager_proxy,
32    ScopedVector<fileapi::FileSystemBackend> additional_providers,
33    const base::FilePath& base_path);
34
35fileapi::FileSystemContext*
36CreateFileSystemContextWithAutoMountersForTesting(
37    quota::QuotaManagerProxy* quota_manager_proxy,
38    ScopedVector<fileapi::FileSystemBackend> additional_providers,
39    const std::vector<fileapi::URLRequestAutoMountHandler>& auto_mounters,
40    const base::FilePath& base_path);
41
42fileapi::FileSystemContext* CreateIncognitoFileSystemContextForTesting(
43    quota::QuotaManagerProxy* quota_manager_proxy,
44    const base::FilePath& base_path);
45
46}  // namespace content
47
48#endif  // CONTENT_PUBLIC_TEST_TEST_FILE_SYSTEM_CONTEXT_H_
49