summaryrefslogtreecommitdiffstats
path: root/webkit/browser/fileapi/file_system_operation_runner.h
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-10 04:57:15 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-10 04:57:15 +0000
commit5dfa47c9d9d5a2350b9ea8f362c4987ceed7bdda (patch)
treea6d33f1cd82419d68d810cccb3eb10e346a03109 /webkit/browser/fileapi/file_system_operation_runner.h
parent70afd12a7d12ce853c3da07e3d24be2313e43e84 (diff)
downloadchromium_src-5dfa47c9d9d5a2350b9ea8f362c4987ceed7bdda.zip
chromium_src-5dfa47c9d9d5a2350b9ea8f362c4987ceed7bdda.tar.gz
chromium_src-5dfa47c9d9d5a2350b9ea8f362c4987ceed7bdda.tar.bz2
Deprecate LocalFileSystemOperation::SetUp
Move update and access observers setup to FileSystemOperationRunner. BUG=176444 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/16447003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205146 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/browser/fileapi/file_system_operation_runner.h')
-rw-r--r--webkit/browser/fileapi/file_system_operation_runner.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/webkit/browser/fileapi/file_system_operation_runner.h b/webkit/browser/fileapi/file_system_operation_runner.h
index a917eb3..9c2dd85 100644
--- a/webkit/browser/fileapi/file_system_operation_runner.h
+++ b/webkit/browser/fileapi/file_system_operation_runner.h
@@ -5,11 +5,14 @@
#ifndef WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_
#define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_
+#include <map>
+
#include "base/basictypes.h"
#include "base/id_map.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "webkit/browser/fileapi/file_system_operation.h"
+#include "webkit/browser/fileapi/file_system_url.h"
#include "webkit/storage/webkit_storage_export.h"
namespace fileapi {
@@ -263,12 +266,23 @@ class WEBKIT_STORAGE_EXPORT FileSystemOperationRunner
const FileSystemURL& url,
base::PlatformFileError* error);
+ void PrepareForWrite(OperationID id, const FileSystemURL& url);
+ void PrepareForRead(OperationID id, const FileSystemURL& url);
+
+ // This must be called at the end of any async operations.
+ void FinishOperation(OperationID id);
+
// Not owned; file_system_context owns this.
FileSystemContext* file_system_context_;
// IDMap<FileSystemOperation, IDMapOwnPointer> operations_;
IDMap<FileSystemOperation> operations_;
+ // We keep track of the file to be modified by each operation so that
+ // we can notify observers when we're done.
+ typedef std::map<OperationID, FileSystemURLSet> OperationToURLSet;
+ OperationToURLSet write_target_urls_;
+
DISALLOW_COPY_AND_ASSIGN(FileSystemOperationRunner);
};