Index: webkit/browser/fileapi/sandbox_file_system_backend_delegate.h |
diff --git a/webkit/browser/fileapi/sandbox_file_system_backend_delegate.h b/webkit/browser/fileapi/sandbox_file_system_backend_delegate.h |
index c0ce39eb5d4e104a4d3dc3a9aa6ea4584ce4d7b4..cc883dc34c8f7d541dd06554b1f3362eebcd291b 100644 |
--- a/webkit/browser/fileapi/sandbox_file_system_backend_delegate.h |
+++ b/webkit/browser/fileapi/sandbox_file_system_backend_delegate.h |
@@ -1,260 +1,5 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef WEBKIT_BROWSER_FILEAPI_SANDBOX_FILE_SYSTEM_BACKEND_DELEGATE_H_ |
-#define WEBKIT_BROWSER_FILEAPI_SANDBOX_FILE_SYSTEM_BACKEND_DELEGATE_H_ |
- |
-#include <map> |
-#include <set> |
-#include <string> |
-#include <utility> |
- |
-#include "base/files/file_path.h" |
-#include "base/gtest_prod_util.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/threading/thread_checker.h" |
-#include "base/time/time.h" |
-#include "webkit/browser/fileapi/file_system_backend.h" |
-#include "webkit/browser/fileapi/file_system_options.h" |
-#include "webkit/browser/fileapi/file_system_quota_util.h" |
-#include "webkit/browser/storage_browser_export.h" |
- |
-namespace base { |
-class SequencedTaskRunner; |
-} |
- |
-namespace content { |
-class SandboxFileSystemBackendDelegateTest; |
-class SandboxFileSystemTestHelper; |
-} |
- |
-namespace storage { |
-class QuotaManagerProxy; |
-class SpecialStoragePolicy; |
-} |
- |
-namespace storage { |
-class FileStreamReader; |
-} |
- |
-namespace storage { |
- |
-class AsyncFileUtil; |
-class FileStreamWriter; |
-class FileSystemFileUtil; |
-class FileSystemOperationContext; |
-class FileSystemURL; |
-class FileSystemUsageCache; |
-class ObfuscatedFileUtil; |
-class QuotaReservationManager; |
-class SandboxFileSystemBackend; |
-class SandboxQuotaObserver; |
- |
-// Delegate implementation of the some methods in Sandbox/SyncFileSystemBackend. |
-// An instance of this class is created and owned by FileSystemContext. |
-class STORAGE_EXPORT SandboxFileSystemBackendDelegate |
- : public FileSystemQuotaUtil { |
- public: |
- typedef FileSystemBackend::OpenFileSystemCallback OpenFileSystemCallback; |
- |
- // The FileSystem directory name. |
- static const base::FilePath::CharType kFileSystemDirectory[]; |
- |
- // Origin enumerator interface. |
- // An instance of this interface is assumed to be called on the file thread. |
- class OriginEnumerator { |
- public: |
- virtual ~OriginEnumerator() {} |
- |
- // Returns the next origin. Returns empty if there are no more origins. |
- virtual GURL Next() = 0; |
- |
- // Returns the current origin's information. |
- virtual bool HasFileSystemType(FileSystemType type) const = 0; |
- }; |
- |
- // Returns the type directory name in sandbox directory for given |type|. |
- static std::string GetTypeString(FileSystemType type); |
- |
- SandboxFileSystemBackendDelegate( |
- storage::QuotaManagerProxy* quota_manager_proxy, |
- base::SequencedTaskRunner* file_task_runner, |
- const base::FilePath& profile_path, |
- storage::SpecialStoragePolicy* special_storage_policy, |
- const FileSystemOptions& file_system_options); |
- |
- virtual ~SandboxFileSystemBackendDelegate(); |
- |
- // Returns an origin enumerator of sandbox filesystem. |
- // This method can only be called on the file thread. |
- OriginEnumerator* CreateOriginEnumerator(); |
- |
- // Gets a base directory path of the sandboxed filesystem that is |
- // specified by |origin_url| and |type|. |
- // (The path is similar to the origin's root path but doesn't contain |
- // the 'unique' part.) |
- // Returns an empty path if the given type is invalid. |
- // This method can only be called on the file thread. |
- base::FilePath GetBaseDirectoryForOriginAndType( |
- const GURL& origin_url, |
- FileSystemType type, |
- bool create); |
- |
- // FileSystemBackend helpers. |
- void OpenFileSystem( |
- const GURL& origin_url, |
- FileSystemType type, |
- OpenFileSystemMode mode, |
- const OpenFileSystemCallback& callback, |
- const GURL& root_url); |
- scoped_ptr<FileSystemOperationContext> CreateFileSystemOperationContext( |
- const FileSystemURL& url, |
- FileSystemContext* context, |
- base::File::Error* error_code) const; |
- scoped_ptr<storage::FileStreamReader> CreateFileStreamReader( |
- const FileSystemURL& url, |
- int64 offset, |
- const base::Time& expected_modification_time, |
- FileSystemContext* context) const; |
- scoped_ptr<FileStreamWriter> CreateFileStreamWriter( |
- const FileSystemURL& url, |
- int64 offset, |
- FileSystemContext* context, |
- FileSystemType type) const; |
- |
- // FileSystemQuotaUtil overrides. |
- virtual base::File::Error DeleteOriginDataOnFileTaskRunner( |
- FileSystemContext* context, |
- storage::QuotaManagerProxy* proxy, |
- const GURL& origin_url, |
- FileSystemType type) OVERRIDE; |
- virtual void GetOriginsForTypeOnFileTaskRunner( |
- FileSystemType type, |
- std::set<GURL>* origins) OVERRIDE; |
- virtual void GetOriginsForHostOnFileTaskRunner( |
- FileSystemType type, |
- const std::string& host, |
- std::set<GURL>* origins) OVERRIDE; |
- 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, |
- base::SequencedTaskRunner* task_runner) OVERRIDE; |
- virtual void AddFileChangeObserver( |
- FileSystemType type, |
- FileChangeObserver* observer, |
- base::SequencedTaskRunner* task_runner) OVERRIDE; |
- virtual void AddFileAccessObserver( |
- FileSystemType type, |
- FileAccessObserver* observer, |
- base::SequencedTaskRunner* task_runner) OVERRIDE; |
- virtual const UpdateObserverList* GetUpdateObservers( |
- FileSystemType type) const OVERRIDE; |
- virtual const ChangeObserverList* GetChangeObservers( |
- FileSystemType type) const OVERRIDE; |
- virtual const AccessObserverList* GetAccessObservers( |
- FileSystemType type) const OVERRIDE; |
- |
- // Registers quota observer for file updates on filesystem of |type|. |
- void RegisterQuotaUpdateObserver(FileSystemType type); |
- |
- void InvalidateUsageCache(const GURL& origin_url, |
- FileSystemType type); |
- void StickyInvalidateUsageCache(const GURL& origin_url, |
- FileSystemType type); |
- |
- void CollectOpenFileSystemMetrics(base::File::Error error_code); |
- |
- base::SequencedTaskRunner* file_task_runner() { |
- return file_task_runner_.get(); |
- } |
- |
- AsyncFileUtil* file_util() { return sandbox_file_util_.get(); } |
- FileSystemUsageCache* usage_cache() { return file_system_usage_cache_.get(); } |
- SandboxQuotaObserver* quota_observer() { return quota_observer_.get(); } |
- |
- storage::SpecialStoragePolicy* special_storage_policy() { |
- return special_storage_policy_.get(); |
- } |
- |
- const FileSystemOptions& file_system_options() const { |
- return file_system_options_; |
- } |
- |
- FileSystemFileUtil* sync_file_util(); |
- |
- private: |
- friend class QuotaBackendImpl; |
- friend class SandboxQuotaObserver; |
- 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. |
- bool IsAccessValid(const FileSystemURL& url) const; |
- |
- // Returns true if the given |url|'s scheme is allowed to access |
- // filesystem. |
- bool IsAllowedScheme(const GURL& url) const; |
- |
- // Returns a path to the usage cache file. |
- base::FilePath GetUsageCachePathForOriginAndType( |
- const GURL& origin_url, |
- FileSystemType type); |
- |
- // Returns a path to the usage cache file (static version). |
- static base::FilePath GetUsageCachePathForOriginAndType( |
- ObfuscatedFileUtil* sandbox_file_util, |
- const GURL& origin_url, |
- FileSystemType type, |
- base::File::Error* error_out); |
- |
- int64 RecalculateUsage(FileSystemContext* context, |
- const GURL& origin, |
- FileSystemType type); |
- |
- ObfuscatedFileUtil* obfuscated_file_util(); |
- |
- scoped_refptr<base::SequencedTaskRunner> file_task_runner_; |
- |
- 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<storage::SpecialStoragePolicy> special_storage_policy_; |
- |
- FileSystemOptions file_system_options_; |
- |
- bool is_filesystem_opened_; |
- base::ThreadChecker io_thread_checker_; |
- |
- // Accessed only on the file thread. |
- std::set<GURL> visited_origins_; |
- |
- std::set<std::pair<GURL, FileSystemType> > sticky_dirty_origins_; |
- |
- std::map<FileSystemType, UpdateObserverList> update_observers_; |
- std::map<FileSystemType, ChangeObserverList> change_observers_; |
- std::map<FileSystemType, AccessObserverList> access_observers_; |
- |
- base::Time next_release_time_for_open_filesystem_stat_; |
- |
- base::WeakPtrFactory<SandboxFileSystemBackendDelegate> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SandboxFileSystemBackendDelegate); |
-}; |
- |
-} // namespace storage |
- |
-#endif // WEBKIT_BROWSER_FILEAPI_SANDBOX_FILE_SYSTEM_BACKEND_DELEGATE_H_ |
+#include "storage/browser/fileapi/sandbox_file_system_backend_delegate.h" |