test_file_system_context.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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      base_path,
40      CreateAllowFileAccessOptions());
41}
42
43fileapi::FileSystemContext* CreateIncognitoFileSystemContextForTesting(
44    quota::QuotaManagerProxy* quota_manager_proxy,
45    const base::FilePath& base_path) {
46  ScopedVector<fileapi::FileSystemBackend> additional_providers;
47  return new fileapi::FileSystemContext(
48      base::MessageLoopProxy::current().get(),
49      base::MessageLoopProxy::current().get(),
50      fileapi::ExternalMountPoints::CreateRefCounted().get(),
51      make_scoped_refptr(new quota::MockSpecialStoragePolicy()).get(),
52      quota_manager_proxy,
53      additional_providers.Pass(),
54      base_path,
55      CreateIncognitoFileSystemOptions());
56}
57
58}  // namespace content
59