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

Side by Side Diff: webkit/fileapi/sandboxed_file_system_operation.h

Issue 5633008: Remove BrowserFileSystemContext class (merge into SandboxedFSContext) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 10 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_FILEAPI_SANDBOXED_FILE_SYSTEM_OPERATION_H_ 5 #ifndef WEBKIT_FILEAPI_SANDBOXED_FILE_SYSTEM_OPERATION_H_
6 #define WEBKIT_FILEAPI_SANDBOXED_FILE_SYSTEM_OPERATION_H_ 6 #define WEBKIT_FILEAPI_SANDBOXED_FILE_SYSTEM_OPERATION_H_
7 7
8 #include "base/scoped_callback_factory.h" 8 #include "base/scoped_callback_factory.h"
9 #include "webkit/fileapi/file_system_operation.h" 9 #include "webkit/fileapi/file_system_operation.h"
10 #include "webkit/fileapi/file_system_types.h" 10 #include "webkit/fileapi/file_system_types.h"
11 11
12 namespace fileapi { 12 namespace fileapi {
13 13
14 class SandboxedFileSystemContext; 14 class SandboxedFileSystemContext;
15 15
16 // This class provides a 'sandboxed' access to the underlying file system, 16 // This class provides a 'sandboxed' access to the underlying file system,
17 // that is: 17 // that is:
18 // 1. provides OpenFileSystem method that returns a (hidden) root path 18 // 1. provides OpenFileSystem method that returns a (hidden) root path
19 // that is given by |file_system_context|. 19 // that is given by |file_system_context|.
20 // 2. enforces quota and file names/paths restrictions on each operation 20 // 2. enforces quota and file names/paths restrictions on each operation
21 // via |file_system_context|. 21 // via |file_system_context|.
22 class SandboxedFileSystemOperation : public FileSystemOperation { 22 class SandboxedFileSystemOperation : public FileSystemOperation {
23 public: 23 public:
24 // This class doesn't hold a reference or ownership of |file_system_context|. 24 SandboxedFileSystemOperation(
25 // It is the caller's responsibility to keep the pointer alive *until* 25 FileSystemCallbackDispatcher* dispatcher,
26 // it calls any of the operation methods. The |file_system_context| won't be 26 scoped_refptr<base::MessageLoopProxy> proxy,
27 // used in the callback path and can be deleted after the operation is 27 scoped_refptr<SandboxedFileSystemContext> file_system_context);
28 // made (e.g. after one of CreateFile, CreateDirectory, Copy, etc is called).
29 SandboxedFileSystemOperation(FileSystemCallbackDispatcher* dispatcher,
30 scoped_refptr<base::MessageLoopProxy> proxy,
31 SandboxedFileSystemContext* file_system_context);
32 virtual ~SandboxedFileSystemOperation(); 28 virtual ~SandboxedFileSystemOperation();
33 29
34 void OpenFileSystem(const GURL& origin_url, 30 void OpenFileSystem(const GURL& origin_url,
35 fileapi::FileSystemType type, 31 fileapi::FileSystemType type,
36 bool create); 32 bool create);
37 33
38 // FileSystemOperation's methods. 34 // FileSystemOperation's methods.
39 virtual void CreateFile(const FilePath& path, 35 virtual void CreateFile(const FilePath& path,
40 bool exclusive); 36 bool exclusive);
41 virtual void CreateDirectory(const FilePath& path, 37 virtual void CreateDirectory(const FilePath& path,
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 // In either case it returns false after firing DidFail. 83 // In either case it returns false after firing DidFail.
88 // If |create| flag is true this also checks if the |path| contains 84 // If |create| flag is true this also checks if the |path| contains
89 // any restricted names and chars. If it does, the call fires dispatcher's 85 // any restricted names and chars. If it does, the call fires dispatcher's
90 // DidFail with PLATFORM_FILE_ERROR_SECURITY and returns false. 86 // DidFail with PLATFORM_FILE_ERROR_SECURITY and returns false.
91 // (Note: this doesn't delete this when it calls DidFail and returns false; 87 // (Note: this doesn't delete this when it calls DidFail and returns false;
92 // it's the caller's responsibility.) 88 // it's the caller's responsibility.)
93 bool VerifyFileSystemPathForWrite(const FilePath& path, 89 bool VerifyFileSystemPathForWrite(const FilePath& path,
94 bool create, 90 bool create,
95 int64 growth); 91 int64 growth);
96 92
97 // Not owned. See the comment at the constructor. 93 scoped_refptr<SandboxedFileSystemContext> file_system_context_;
98 SandboxedFileSystemContext* file_system_context_;
99 94
100 base::ScopedCallbackFactory<SandboxedFileSystemOperation> callback_factory_; 95 base::ScopedCallbackFactory<SandboxedFileSystemOperation> callback_factory_;
101 96
102 DISALLOW_COPY_AND_ASSIGN(SandboxedFileSystemOperation); 97 DISALLOW_COPY_AND_ASSIGN(SandboxedFileSystemOperation);
103 }; 98 };
104 99
105 } // namespace fileapi 100 } // namespace fileapi
106 101
107 #endif // WEBKIT_FILEAPI_SANDBOXED_FILE_SYSTEM_OPERATION_H_ 102 #endif // WEBKIT_FILEAPI_SANDBOXED_FILE_SYSTEM_OPERATION_H_
OLDNEW
« no previous file with comments | « webkit/fileapi/sandboxed_file_system_context.cc ('k') | webkit/fileapi/sandboxed_file_system_operation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698