Home | History | Annotate | Download | only in fileapi
      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::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 fileapi
     40 
     41 #endif  // WEBKIT_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_
     42