Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(900)

Side by Side Diff: content/public/test/test_file_system_backend.h

Issue 2815743002: Move a couple of blob tests next to the files they cover. (Closed)
Patch Set: Fix gn check, take 2. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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_BACKEND_H_
6 #define CONTENT_PUBLIC_TEST_TEST_FILE_SYSTEM_BACKEND_H_
7
8 #include <stdint.h>
9
10 #include <memory>
11
12 #include "base/files/file_path.h"
13 #include "base/macros.h"
14 #include "base/memory/ref_counted.h"
15 #include "storage/browser/fileapi/async_file_util_adapter.h"
16 #include "storage/browser/fileapi/file_system_backend.h"
17 #include "storage/browser/fileapi/task_runner_bound_observer_list.h"
18
19 namespace base {
20 class SequencedTaskRunner;
21 }
22
23 namespace storage {
24 class AsyncFileUtilAdapter;
25 class FileSystemQuotaUtil;
26 }
27
28 namespace content {
29
30 // This should be only used for testing.
31 // This file system backend uses LocalFileUtil and stores data file
32 // under the given directory.
33 class TestFileSystemBackend : public storage::FileSystemBackend {
34 public:
35 TestFileSystemBackend(
36 base::SequencedTaskRunner* task_runner,
37 const base::FilePath& base_path);
38 ~TestFileSystemBackend() override;
39
40 // FileSystemBackend implementation.
41 bool CanHandleType(storage::FileSystemType type) const override;
42 void Initialize(storage::FileSystemContext* context) override;
43 void ResolveURL(const storage::FileSystemURL& url,
44 storage::OpenFileSystemMode mode,
45 const OpenFileSystemCallback& callback) override;
46 storage::AsyncFileUtil* GetAsyncFileUtil(
47 storage::FileSystemType type) override;
48 storage::WatcherManager* GetWatcherManager(
49 storage::FileSystemType type) override;
50 storage::CopyOrMoveFileValidatorFactory* GetCopyOrMoveFileValidatorFactory(
51 storage::FileSystemType type,
52 base::File::Error* error_code) override;
53 storage::FileSystemOperation* CreateFileSystemOperation(
54 const storage::FileSystemURL& url,
55 storage::FileSystemContext* context,
56 base::File::Error* error_code) const override;
57 bool SupportsStreaming(const storage::FileSystemURL& url) const override;
58 bool HasInplaceCopyImplementation(
59 storage::FileSystemType type) const override;
60 std::unique_ptr<storage::FileStreamReader> CreateFileStreamReader(
61 const storage::FileSystemURL& url,
62 int64_t offset,
63 int64_t max_bytes_to_read,
64 const base::Time& expected_modification_time,
65 storage::FileSystemContext* context) const override;
66 std::unique_ptr<storage::FileStreamWriter> CreateFileStreamWriter(
67 const storage::FileSystemURL& url,
68 int64_t offset,
69 storage::FileSystemContext* context) const override;
70 storage::FileSystemQuotaUtil* GetQuotaUtil() override;
71 const storage::UpdateObserverList* GetUpdateObservers(
72 storage::FileSystemType type) const override;
73 const storage::ChangeObserverList* GetChangeObservers(
74 storage::FileSystemType type) const override;
75 const storage::AccessObserverList* GetAccessObservers(
76 storage::FileSystemType type) const override;
77
78 // Initialize the CopyOrMoveFileValidatorFactory. Invalid to call more than
79 // once.
80 void InitializeCopyOrMoveFileValidatorFactory(
81 std::unique_ptr<storage::CopyOrMoveFileValidatorFactory> factory);
82
83 void AddFileChangeObserver(storage::FileChangeObserver* observer);
84
85 // For CopyOrMoveFileValidatorFactory testing. Once it's set to true
86 // GetCopyOrMoveFileValidatorFactory will start returning security
87 // error if validator is not initialized.
88 void set_require_copy_or_move_validator(bool flag) {
89 require_copy_or_move_validator_ = flag;
90 }
91
92 private:
93 class QuotaUtil;
94
95 base::FilePath base_path_;
96 scoped_refptr<base::SequencedTaskRunner> task_runner_;
97 std::unique_ptr<storage::AsyncFileUtilAdapter> file_util_;
98 std::unique_ptr<QuotaUtil> quota_util_;
99 storage::UpdateObserverList update_observers_;
100 storage::ChangeObserverList change_observers_;
101
102 bool require_copy_or_move_validator_;
103 std::unique_ptr<storage::CopyOrMoveFileValidatorFactory>
104 copy_or_move_file_validator_factory_;
105
106 DISALLOW_COPY_AND_ASSIGN(TestFileSystemBackend);
107 };
108
109 } // namespace content
110
111 #endif // CONTENT_PUBLIC_TEST_TEST_FILE_SYSTEM_BACKEND_H_
OLDNEW
« no previous file with comments | « content/public/test/sandbox_file_system_test_helper.cc ('k') | content/public/test/test_file_system_backend.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698