Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / webkit / browser / fileapi / sandbox_file_system_backend_delegate.h
index c011a48..2b67cfc 100644 (file)
@@ -26,6 +26,11 @@ namespace base {
 class SequencedTaskRunner;
 }
 
+namespace content {
+class SandboxFileSystemBackendDelegateTest;
+class SandboxFileSystemTestHelper;
+}
+
 namespace quota {
 class QuotaManagerProxy;
 class SpecialStoragePolicy;
@@ -44,8 +49,8 @@ class FileSystemOperationContext;
 class FileSystemURL;
 class FileSystemUsageCache;
 class ObfuscatedFileUtil;
+class QuotaReservationManager;
 class SandboxFileSystemBackend;
-class SandboxFileSystemTestHelper;
 class SandboxQuotaObserver;
 
 // Delegate implementation of the some methods in Sandbox/SyncFileSystemBackend.
@@ -108,7 +113,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT SandboxFileSystemBackendDelegate
   scoped_ptr<FileSystemOperationContext> CreateFileSystemOperationContext(
       const FileSystemURL& url,
       FileSystemContext* context,
-      base::PlatformFileError* error_code) const;
+      base::File::Error* error_code) const;
   scoped_ptr<webkit_blob::FileStreamReader> CreateFileStreamReader(
       const FileSystemURL& url,
       int64 offset,
@@ -121,22 +126,26 @@ class WEBKIT_STORAGE_BROWSER_EXPORT SandboxFileSystemBackendDelegate
       FileSystemType type) const;
 
   // FileSystemQuotaUtil overrides.
-  virtual base::PlatformFileError DeleteOriginDataOnFileThread(
+  virtual base::File::Error DeleteOriginDataOnFileTaskRunner(
       FileSystemContext* context,
       quota::QuotaManagerProxy* proxy,
       const GURL& origin_url,
       FileSystemType type) OVERRIDE;
-  virtual void GetOriginsForTypeOnFileThread(
+  virtual void GetOriginsForTypeOnFileTaskRunner(
       FileSystemType type,
       std::set<GURL>* origins) OVERRIDE;
-  virtual void GetOriginsForHostOnFileThread(
+  virtual void GetOriginsForHostOnFileTaskRunner(
       FileSystemType type,
       const std::string& host,
       std::set<GURL>* origins) OVERRIDE;
-  virtual int64 GetOriginUsageOnFileThread(
+  virtual int64 GetOriginUsageOnFileTaskRunner(
       FileSystemContext* context,
       const GURL& origin_url,
       FileSystemType type) OVERRIDE;
+  virtual scoped_refptr<QuotaReservation>
+      CreateQuotaReservationOnFileTaskRunner(
+          const GURL& origin_url,
+          FileSystemType type) OVERRIDE;
   virtual void AddFileUpdateObserver(
       FileSystemType type,
       FileUpdateObserver* observer,
@@ -164,7 +173,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT SandboxFileSystemBackendDelegate
   void StickyInvalidateUsageCache(const GURL& origin_url,
                                   FileSystemType type);
 
-  void CollectOpenFileSystemMetrics(base::PlatformFileError error_code);
+  void CollectOpenFileSystemMetrics(base::File::Error error_code);
 
   base::SequencedTaskRunner* file_task_runner() {
     return file_task_runner_.get();
@@ -185,9 +194,10 @@ class WEBKIT_STORAGE_BROWSER_EXPORT SandboxFileSystemBackendDelegate
   FileSystemFileUtil* sync_file_util();
 
  private:
+  friend class QuotaBackendImpl;
   friend class SandboxQuotaObserver;
-  friend class SandboxFileSystemTestHelper;
-  FRIEND_TEST_ALL_PREFIXES(SandboxFileSystemBackendDelegateTest, IsAccessValid);
+  friend class content::SandboxFileSystemBackendDelegateTest;
+  friend class content::SandboxFileSystemTestHelper;
 
   // Performs API-specific validity checks on the given path |url|.
   // Returns true if access to |url| is valid in this filesystem.
@@ -207,7 +217,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT SandboxFileSystemBackendDelegate
       ObfuscatedFileUtil* sandbox_file_util,
       const GURL& origin_url,
       FileSystemType type,
-      base::PlatformFileError* error_out);
+      base::File::Error* error_out);
 
   int64 RecalculateUsage(FileSystemContext* context,
                          const GURL& origin,
@@ -220,6 +230,7 @@ class WEBKIT_STORAGE_BROWSER_EXPORT SandboxFileSystemBackendDelegate
   scoped_ptr<AsyncFileUtil> sandbox_file_util_;
   scoped_ptr<FileSystemUsageCache> file_system_usage_cache_;
   scoped_ptr<SandboxQuotaObserver> quota_observer_;
+  scoped_ptr<QuotaReservationManager> quota_reservation_manager_;
 
   scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy_;