OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ | 5 #ifndef WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ |
6 #define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ | 6 #define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "webkit/storage/webkit_storage_export.h" | 10 #include "webkit/storage/webkit_storage_export.h" |
11 | 11 |
12 namespace base { | 12 namespace base { |
13 class SequencedTaskRunner; | |
14 class SingleThreadTaskRunner; | 13 class SingleThreadTaskRunner; |
15 } // namespace | 14 } // namespace |
16 | 15 |
17 namespace fileapi { | 16 namespace fileapi { |
18 | 17 |
19 WEBKIT_STORAGE_EXPORT extern const char kMediaTaskRunnerName[]; | |
20 | |
21 // This class holds task runners used for filesystem related stuff. | 18 // This class holds task runners used for filesystem related stuff. |
22 class WEBKIT_STORAGE_EXPORT FileSystemTaskRunners { | 19 class WEBKIT_STORAGE_EXPORT FileSystemTaskRunners { |
23 public: | 20 public: |
24 FileSystemTaskRunners( | 21 FileSystemTaskRunners( |
25 base::SingleThreadTaskRunner* io_task_runner, | 22 base::SingleThreadTaskRunner* io_task_runner, |
26 base::SingleThreadTaskRunner* file_task_runner, | 23 base::SingleThreadTaskRunner* file_task_runner); |
27 base::SequencedTaskRunner* media_task_runner); | |
28 | 24 |
29 ~FileSystemTaskRunners(); | 25 ~FileSystemTaskRunners(); |
30 | 26 |
31 static scoped_ptr<FileSystemTaskRunners> CreateMockTaskRunners(); | 27 static scoped_ptr<FileSystemTaskRunners> CreateMockTaskRunners(); |
32 | 28 |
33 base::SingleThreadTaskRunner* io_task_runner() { | 29 base::SingleThreadTaskRunner* io_task_runner() { |
34 return io_task_runner_.get(); | 30 return io_task_runner_.get(); |
35 } | 31 } |
36 | 32 |
37 base::SingleThreadTaskRunner* file_task_runner() { | 33 base::SingleThreadTaskRunner* file_task_runner() { |
38 return file_task_runner_.get(); | 34 return file_task_runner_.get(); |
39 } | 35 } |
40 | 36 |
41 base::SequencedTaskRunner* media_task_runner() { | |
42 return media_task_runner_.get(); | |
43 } | |
44 | |
45 private: | 37 private: |
46 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_; | 38 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_; |
47 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; | 39 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; |
48 scoped_refptr<base::SequencedTaskRunner> media_task_runner_; | |
49 | 40 |
50 DISALLOW_COPY_AND_ASSIGN(FileSystemTaskRunners); | 41 DISALLOW_COPY_AND_ASSIGN(FileSystemTaskRunners); |
51 }; | 42 }; |
52 | 43 |
53 } // namespace fileapi | 44 } // namespace fileapi |
54 | 45 |
55 #endif // WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ | 46 #endif // WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ |
OLD | NEW |