diff options
author | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-07 03:50:10 +0000 |
---|---|---|
committer | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-07 03:50:10 +0000 |
commit | dc57ec8f32abfe97c712cffbfed17be1f6e5f1ac (patch) | |
tree | ff8971f5a4649c3229143a76598115fce1c2b4b3 /webkit/fileapi/file_system_task_runners.h | |
parent | 6bb275c2204bee6abb89b9a6fc363912e19977c4 (diff) | |
download | chromium_src-dc57ec8f32abfe97c712cffbfed17be1f6e5f1ac.zip chromium_src-dc57ec8f32abfe97c712cffbfed17be1f6e5f1ac.tar.gz chromium_src-dc57ec8f32abfe97c712cffbfed17be1f6e5f1ac.tar.bz2 |
Move {Native,Device}MediaFileUtil from FILE thread to SequencedWorkerPool to avoid it blocks other I/O.
BUG=139187
Review URL: https://chromiumcodereview.appspot.com/10829147
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150252 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_task_runners.h')
-rw-r--r-- | webkit/fileapi/file_system_task_runners.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/webkit/fileapi/file_system_task_runners.h b/webkit/fileapi/file_system_task_runners.h new file mode 100644 index 0000000..219e2af --- /dev/null +++ b/webkit/fileapi/file_system_task_runners.h @@ -0,0 +1,53 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef WEBKIT_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ +#define WEBKIT_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ + +#include "base/memory/ref_counted.h" +#include "base/memory/scoped_ptr.h" +#include "webkit/fileapi/fileapi_export.h" + +namespace base { +class SequencedTaskRunner; +class SingleThreadTaskRunner; +} // namespace + +namespace fileapi { + +// This class holds task runners used for filesystem related stuff. +class FILEAPI_EXPORT FileSystemTaskRunners { + public: + FileSystemTaskRunners( + base::SingleThreadTaskRunner* io_task_runner, + base::SingleThreadTaskRunner* file_task_runner, + base::SequencedTaskRunner* media_task_runner); + + ~FileSystemTaskRunners(); + + static scoped_ptr<FileSystemTaskRunners> CreateMockTaskRunners(); + + base::SingleThreadTaskRunner* io_task_runner() { + return io_task_runner_.get(); + } + + base::SingleThreadTaskRunner* file_task_runner() { + return file_task_runner_.get(); + } + + base::SequencedTaskRunner* media_task_runner() { + return media_task_runner_.get(); + } + + private: + scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_; + scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; + scoped_refptr<base::SequencedTaskRunner> media_task_runner_; + + DISALLOW_COPY_AND_ASSIGN(FileSystemTaskRunners); +}; + +} // namespace fileapi + +#endif // WEBKIT_FILEAPI_FILE_SYSTEM_TASK_RUNNERS_H_ |