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 STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_ 6 #define STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "storage/browser/fileapi/local_file_util.h" 10 #include "storage/browser/storage_browser_export.h" 11 12 namespace storage { 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 STORAGE_EXPORT_PRIVATE DraggedFileUtil 20 : public LocalFileUtil { 21 public: 22 DraggedFileUtil(); 23 virtual ~DraggedFileUtil() {} 24 25 // FileSystemFileUtil overrides. 26 virtual base::File::Error GetFileInfo( 27 FileSystemOperationContext* context, 28 const FileSystemURL& url, 29 base::File::Info* 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 storage 40 41 #endif // STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_ 42