#ifndef CONTENT_BROWSER_FILE_SYSTEM_BROWSER_FILE_SYSTEM_HELPER_H_
#define CONTENT_BROWSER_FILE_SYSTEM_BROWSER_FILE_SYSTEM_HELPER_H_
#include "base/memory/scoped_refptr.h"
#include "content/common/content_export.h"
#include "storage/browser/file_system/file_system_context.h"
#include "ui/base/clipboard/file_info.h"
class GURL;
namespace base {
class FilePath;
}
namespace blink {
class StorageKey;
}
namespace storage {
class FileSystemContext;
class FileSystemURL;
class QuotaManagerProxy;
}
namespace content {
class BrowserContext;
class ChildProcessSecurityPolicyImpl;
struct DropData;
CONTENT_EXPORT scoped_refptr<storage::FileSystemContext>
CreateFileSystemContext(
BrowserContext* browser_context,
const base::FilePath& profile_path,
bool is_incognito,
scoped_refptr<storage::QuotaManagerProxy> quota_manager_proxy);
CONTENT_EXPORT bool FileSystemURLIsValid(storage::FileSystemContext* context,
const storage::FileSystemURL& url);
DoGetPlatformPathCB;
CONTENT_EXPORT void DoGetPlatformPath(
scoped_refptr<storage::FileSystemContext> context,
int process_id,
const GURL& path,
const blink::StorageKey& storage_key,
DoGetPlatformPathCB callback);
CONTENT_EXPORT void PrepareDropDataForChildProcess(
DropData* drop_data,
ChildProcessSecurityPolicyImpl* security_policy,
int child_id,
const storage::FileSystemContext* file_system_context);
CONTENT_EXPORT std::string PrepareDataTransferFilenamesForChildProcess(
std::vector<ui::FileInfo>& filenames,
ChildProcessSecurityPolicyImpl* security_policy,
int child_id,
const storage::FileSystemContext* file_system_context);
}
#endif