Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / webkit / browser / fileapi / dragged_file_util.h
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_