blob: f5168a3397a0c1fd3dc081ca9ea75a66b75b657c [file] [log] [blame]
pilgrim4af8c212014-09-05 17:30:151// 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
dchengc6378bd2016-04-01 05:36:508#include <memory>
9
Victor Costanfeaee8cf72018-12-28 00:39:1510#include "base/component_export.h"
avi5caf646e2015-12-21 21:21:5011#include "base/macros.h"
pilgrim4af8c212014-09-05 17:30:1512#include "storage/browser/fileapi/local_file_util.h"
pilgrim4af8c212014-09-05 17:30:1513
14namespace storage {
15
16class FileSystemOperationContext;
17
18// Dragged file system is a specialized LocalFileUtil where read access to
19// the virtual root directory (i.e. empty cracked path case) is allowed
20// and single isolated context may be associated with multiple file paths.
Victor Costanfeaee8cf72018-12-28 00:39:1521class COMPONENT_EXPORT(STORAGE_BROWSER) DraggedFileUtil : public LocalFileUtil {
pilgrim4af8c212014-09-05 17:30:1522 public:
23 DraggedFileUtil();
dcheng1a54c8df2014-10-21 11:01:1924 ~DraggedFileUtil() override {}
pilgrim4af8c212014-09-05 17:30:1525
26 // FileSystemFileUtil overrides.
dcheng1a54c8df2014-10-21 11:01:1927 base::File::Error GetFileInfo(FileSystemOperationContext* context,
28 const FileSystemURL& url,
29 base::File::Info* file_info,
30 base::FilePath* platform_path) override;
dchengc6378bd2016-04-01 05:36:5031 std::unique_ptr<AbstractFileEnumerator> CreateFileEnumerator(
pilgrim4af8c212014-09-05 17:30:1532 FileSystemOperationContext* context,
Sergei Datsenko8fab0862018-12-28 04:23:4933 const FileSystemURL& root_url,
34 bool recursive) override;
pilgrim4af8c212014-09-05 17:30:1535
36 private:
37 DISALLOW_COPY_AND_ASSIGN(DraggedFileUtil);
38};
39
40} // namespace storage
41
42#endif // STORAGE_BROWSER_FILEAPI_DRAGGED_FILE_UTIL_H_