test_file_system_context.cc 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#include "content/public/test/test_file_system_context.h"
6
7#include "base/memory/scoped_vector.h"
8#include "content/public/test/test_file_system_backend.h"
9#include "content/public/test/test_file_system_options.h"
10#include "webkit/browser/fileapi/external_mount_points.h"
11#include "webkit/browser/fileapi/file_system_backend.h"
12#include "webkit/browser/fileapi/file_system_context.h"
13#include "webkit/browser/quota/mock_special_storage_policy.h"
14
15namespace content {
16
17fileapi::FileSystemContext* CreateFileSystemContextForTesting(
18    quota::QuotaManagerProxy* quota_manager_proxy,
19    const base::FilePath& base_path) {
20  ScopedVector<fileapi::FileSystemBackend> additional_providers;
21  additional_providers.push_back(new TestFileSystemBackend(
22      base::MessageLoopProxy::current().get(), base_path));
23  return CreateFileSystemContextWithAdditionalProvidersForTesting(
24      quota_manager_proxy, additional_providers.Pass(), base_path);
25}
26
27fileapi::FileSystemContext*
28CreateFileSystemContextWithAdditionalProvidersForTesting(
29    quota::QuotaManagerProxy* quota_manager_proxy,
30    ScopedVector<fileapi::FileSystemBackend> additional_providers,
31    const base::FilePath& base_path) {
32  return new fileapi::FileSystemContext(
33      base::MessageLoopProxy::current().get(),
34      base::MessageLoopProxy::current().get(),
35      fileapi::ExternalMountPoints::CreateRefCounted().get(),
36      make_scoped_refptr(new quota::MockSpecialStoragePolicy()).get(),
37      quota_manager_proxy,
38      additional_providers.Pass(),
39      std::vector<fileapi::URLRequestAutoMountHandler>(),
40      base_path,
41      CreateAllowFileAccessOptions());
42}
43
44fileapi::FileSystemContext*
45CreateFileSystemContextWithAutoMountersForTesting(
46    quota::QuotaManagerProxy* quota_manager_proxy,
47    ScopedVector<fileapi::FileSystemBackend> additional_providers,
48    const std::vector<fileapi::URLRequestAutoMountHandler>& auto_mounters,
49    const base::FilePath& base_path) {
50  return new fileapi::FileSystemContext(
51      base::MessageLoopProxy::current().get(),
52      base::MessageLoopProxy::current().get(),
53      fileapi::ExternalMountPoints::CreateRefCounted().get(),
54      make_scoped_refptr(new quota::MockSpecialStoragePolicy()).get(),
55      quota_manager_proxy,
56      additional_providers.Pass(),
57      auto_mounters,
58      base_path,
59      CreateAllowFileAccessOptions());
60}
61
62fileapi::FileSystemContext* CreateIncognitoFileSystemContextForTesting(
63    quota::QuotaManagerProxy* quota_manager_proxy,
64    const base::FilePath& base_path) {
65  ScopedVector<fileapi::FileSystemBackend> additional_providers;
66  return new fileapi::FileSystemContext(
67      base::MessageLoopProxy::current().get(),
68      base::MessageLoopProxy::current().get(),
69      fileapi::ExternalMountPoints::CreateRefCounted().get(),
70      make_scoped_refptr(new quota::MockSpecialStoragePolicy()).get(),
71      quota_manager_proxy,
72      additional_providers.Pass(),
73      std::vector<fileapi::URLRequestAutoMountHandler>(),
74      base_path,
75      CreateIncognitoFileSystemOptions());
76}
77
78}  // namespace content
79