[email protected] | a322475 | 2013-09-13 10:40:44 | [diff] [blame^] | 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 WEBKIT_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_ |
| 6 | #define WEBKIT_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_ |
| 7 | |
| 8 | #include "base/memory/scoped_ptr.h" |
| 9 | #include "webkit/browser/fileapi/local_file_util.h" |
| 10 | #include "webkit/browser/webkit_storage_browser_export.h" |
| 11 | |
| 12 | namespace fileapi { |
| 13 | |
| 14 | class FileSystemOperationContext; |
| 15 | |
| 16 | // Dragged file system is a specialized LocalFileUtil where read access to |
| 17 | // the virtual root directory (i.e. empty cracked path case) is allowed |
| 18 | // and single isolated context may be associated with multiple file paths. |
| 19 | class WEBKIT_STORAGE_BROWSER_EXPORT_PRIVATE DraggedFileUtil |
| 20 | : public LocalFileUtil { |
| 21 | public: |
| 22 | DraggedFileUtil(); |
| 23 | virtual ~DraggedFileUtil() {} |
| 24 | |
| 25 | // FileSystemFileUtil overrides. |
| 26 | virtual base::PlatformFileError GetFileInfo( |
| 27 | FileSystemOperationContext* context, |
| 28 | const FileSystemURL& url, |
| 29 | base::PlatformFileInfo* file_info, |
| 30 | base::FilePath* platform_path) OVERRIDE; |
| 31 | virtual scoped_ptr<AbstractFileEnumerator> CreateFileEnumerator( |
| 32 | FileSystemOperationContext* context, |
| 33 | const FileSystemURL& root_url) OVERRIDE; |
| 34 | |
| 35 | private: |
| 36 | DISALLOW_COPY_AND_ASSIGN(DraggedFileUtil); |
| 37 | }; |
| 38 | |
| 39 | } // namespace fileapi |
| 40 | |
| 41 | #endif // WEBKIT_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_ |