diff options
Diffstat (limited to 'webkit/browser')
9 files changed, 44 insertions, 28 deletions
diff --git a/webkit/browser/fileapi/file_system_context.cc b/webkit/browser/fileapi/file_system_context.cc index e1e99ed..f21824b 100644 --- a/webkit/browser/fileapi/file_system_context.cc +++ b/webkit/browser/fileapi/file_system_context.cc @@ -188,6 +188,10 @@ FileSystemMountPointProvider* FileSystemContext::GetMountPointProvider( return NULL; } +bool FileSystemContext::IsSandboxFileSystem(FileSystemType type) const { + return GetQuotaUtil(type) != NULL; +} + const UpdateObserverList* FileSystemContext::GetUpdateObservers( FileSystemType type) const { // Currently update observer is only available in SandboxMountPointProvider @@ -195,8 +199,8 @@ const UpdateObserverList* FileSystemContext::GetUpdateObservers( // TODO(kinuko): Probably GetUpdateObservers() virtual method should be // added to FileSystemMountPointProvider interface and be called like // other GetFoo() methods do. - if (SandboxMountPointProvider::IsSandboxType(type)) - return sandbox_provider()->GetUpdateObservers(type); + if (sandbox_provider_->CanHandleType(type)) + return sandbox_provider_->GetUpdateObservers(type); if (type != kFileSystemTypeTest) return NULL; FileSystemMountPointProvider* mount_point_provider = @@ -208,8 +212,8 @@ const UpdateObserverList* FileSystemContext::GetUpdateObservers( const AccessObserverList* FileSystemContext::GetAccessObservers( FileSystemType type) const { // Currently access observer is only available in SandboxMountPointProvider. - if (SandboxMountPointProvider::IsSandboxType(type)) - return sandbox_provider()->GetAccessObservers(type); + if (sandbox_provider_->CanHandleType(type)) + return sandbox_provider_->GetAccessObservers(type); return NULL; } diff --git a/webkit/browser/fileapi/file_system_context.h b/webkit/browser/fileapi/file_system_context.h index ce8648d..50b3753 100644 --- a/webkit/browser/fileapi/file_system_context.h +++ b/webkit/browser/fileapi/file_system_context.h @@ -129,6 +129,12 @@ class WEBKIT_STORAGE_BROWSER_EXPORT FileSystemContext FileSystemMountPointProvider* GetMountPointProvider( FileSystemType type) const; + // Returns true for sandboxed filesystems. Currently this does + // the same as GetQuotaUtil(type) != NULL. (In an assumption that + // all sandboxed filesystems must cooperate with QuotaManager so that + // they can get deleted) + bool IsSandboxFileSystem(FileSystemType type) const; + // Returns observers for the given filesystem type. const UpdateObserverList* GetUpdateObservers(FileSystemType type) const; const AccessObserverList* GetAccessObservers(FileSystemType type) const; diff --git a/webkit/browser/fileapi/file_system_dir_url_request_job_unittest.cc b/webkit/browser/fileapi/file_system_dir_url_request_job_unittest.cc index b86b907..a0c08bf 100644 --- a/webkit/browser/fileapi/file_system_dir_url_request_job_unittest.cc +++ b/webkit/browser/fileapi/file_system_dir_url_request_job_unittest.cc @@ -27,7 +27,6 @@ #include "webkit/browser/fileapi/file_system_operation_context.h" #include "webkit/browser/fileapi/file_system_url.h" #include "webkit/browser/fileapi/mock_file_system_context.h" -#include "webkit/browser/fileapi/sandbox_mount_point_provider.h" #include "webkit/browser/quota/mock_special_storage_policy.h" namespace fileapi { @@ -53,7 +52,7 @@ class FileSystemDirURLRequestJobTest : public testing::Test { file_system_context_ = CreateFileSystemContextForTesting( NULL, temp_dir_.path()); - file_system_context_->sandbox_provider()->OpenFileSystem( + file_system_context_->OpenFileSystem( GURL("http://remote/"), kFileSystemTypeTemporary, OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT, base::Bind(&FileSystemDirURLRequestJobTest::OnOpenFileSystem, @@ -73,7 +72,9 @@ class FileSystemDirURLRequestJobTest : public testing::Test { ClearUnusedJob(); } - void OnOpenFileSystem(base::PlatformFileError result) { + void OnOpenFileSystem(base::PlatformFileError result, + const std::string& name, + const GURL& root_url) { ASSERT_EQ(base::PLATFORM_FILE_OK, result); } @@ -198,8 +199,7 @@ class FileSystemDirURLRequestJobTest : public testing::Test { } FileSystemFileUtil* file_util() { - return file_system_context_->sandbox_provider()->GetFileUtil( - kFileSystemTypeTemporary); + return file_system_context_->GetFileUtil(kFileSystemTypeTemporary); } // Put the message loop at the top, so that it's the last thing deleted. diff --git a/webkit/browser/fileapi/file_system_file_stream_reader_unittest.cc b/webkit/browser/fileapi/file_system_file_stream_reader_unittest.cc index 31f91ae..5d97b9b 100644 --- a/webkit/browser/fileapi/file_system_file_stream_reader_unittest.cc +++ b/webkit/browser/fileapi/file_system_file_stream_reader_unittest.cc @@ -20,7 +20,6 @@ #include "webkit/browser/fileapi/file_system_file_util.h" #include "webkit/browser/fileapi/file_system_operation_context.h" #include "webkit/browser/fileapi/mock_file_system_context.h" -#include "webkit/browser/fileapi/sandbox_mount_point_provider.h" namespace fileapi { @@ -70,7 +69,7 @@ class FileSystemFileStreamReaderTest : public testing::Test { file_system_context_ = CreateFileSystemContextForTesting( NULL, temp_dir_.path()); - file_system_context_->sandbox_provider()->OpenFileSystem( + file_system_context_->OpenFileSystem( GURL(kURLOrigin), kFileSystemTypeTemporary, OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT, base::Bind(&OnOpenFileSystem)); @@ -103,8 +102,8 @@ class FileSystemFileStreamReaderTest : public testing::Test { const char* buf, int buf_size, base::Time* modification_time) { - FileSystemFileUtil* file_util = file_system_context_-> - sandbox_provider()->GetFileUtil(kFileSystemTypeTemporary); + FileSystemFileUtil* file_util = file_system_context_->GetFileUtil( + kFileSystemTypeTemporary); FileSystemURL url = GetFileSystemURL(file_name); FileSystemOperationContext context(file_system_context_.get()); @@ -134,7 +133,9 @@ class FileSystemFileStreamReaderTest : public testing::Test { } private: - static void OnOpenFileSystem(base::PlatformFileError result) { + static void OnOpenFileSystem(base::PlatformFileError result, + const std::string& name, + const GURL& root_url) { ASSERT_EQ(base::PLATFORM_FILE_OK, result); } diff --git a/webkit/browser/fileapi/file_system_quota_client_unittest.cc b/webkit/browser/fileapi/file_system_quota_client_unittest.cc index 01b8e6d..48e4d11 100644 --- a/webkit/browser/fileapi/file_system_quota_client_unittest.cc +++ b/webkit/browser/fileapi/file_system_quota_client_unittest.cc @@ -17,7 +17,6 @@ #include "webkit/browser/fileapi/file_system_usage_cache.h" #include "webkit/browser/fileapi/mock_file_system_context.h" #include "webkit/browser/fileapi/obfuscated_file_util.h" -#include "webkit/browser/fileapi/sandbox_mount_point_provider.h" #include "webkit/common/fileapi/file_system_types.h" #include "webkit/common/fileapi/file_system_util.h" #include "webkit/common/quota/quota_types.h" @@ -147,8 +146,7 @@ class FileSystemQuotaClientTest : public testing::Test { return false; FileSystemType type = QuotaStorageTypeToFileSystemType(storage_type); - FileSystemFileUtil* file_util = file_system_context_-> - sandbox_provider()->GetFileUtil(type); + FileSystemFileUtil* file_util = file_system_context_->GetFileUtil(type); FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL( GURL(origin_url), type, file_path); diff --git a/webkit/browser/fileapi/file_system_url_request_job_unittest.cc b/webkit/browser/fileapi/file_system_url_request_job_unittest.cc index 09ea1ac..7c4e6da 100644 --- a/webkit/browser/fileapi/file_system_url_request_job_unittest.cc +++ b/webkit/browser/fileapi/file_system_url_request_job_unittest.cc @@ -32,7 +32,6 @@ #include "webkit/browser/fileapi/file_system_file_util.h" #include "webkit/browser/fileapi/file_system_operation_context.h" #include "webkit/browser/fileapi/mock_file_system_context.h" -#include "webkit/browser/fileapi/sandbox_mount_point_provider.h" namespace fileapi { namespace { @@ -62,7 +61,7 @@ class FileSystemURLRequestJobTest : public testing::Test { file_system_context_ = CreateFileSystemContextForTesting(NULL, temp_dir_.path()); - file_system_context_->sandbox_provider()->OpenFileSystem( + file_system_context_->OpenFileSystem( GURL("http://remote/"), kFileSystemTypeTemporary, OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT, base::Bind(&FileSystemURLRequestJobTest::OnOpenFileSystem, @@ -84,7 +83,9 @@ class FileSystemURLRequestJobTest : public testing::Test { base::MessageLoop::current()->RunUntilIdle(); } - void OnOpenFileSystem(base::PlatformFileError result) { + void OnOpenFileSystem(base::PlatformFileError result, + const std::string& name, + const GURL& root_url) { ASSERT_EQ(base::PLATFORM_FILE_OK, result); } @@ -123,8 +124,8 @@ class FileSystemURLRequestJobTest : public testing::Test { } void CreateDirectory(const base::StringPiece& dir_name) { - FileSystemFileUtil* file_util = file_system_context_-> - sandbox_provider()->GetFileUtil(kFileSystemTypeTemporary); + FileSystemFileUtil* file_util = file_system_context_->GetFileUtil( + kFileSystemTypeTemporary); FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL( GURL("http://remote"), kFileSystemTypeTemporary, @@ -142,8 +143,8 @@ class FileSystemURLRequestJobTest : public testing::Test { void WriteFile(const base::StringPiece& file_name, const char* buf, int buf_size) { - FileSystemFileUtil* file_util = file_system_context_-> - sandbox_provider()->GetFileUtil(kFileSystemTypeTemporary); + FileSystemFileUtil* file_util = file_system_context_->GetFileUtil( + kFileSystemTypeTemporary); FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL( GURL("http://remote"), kFileSystemTypeTemporary, diff --git a/webkit/browser/fileapi/local_file_system_operation_unittest.cc b/webkit/browser/fileapi/local_file_system_operation_unittest.cc index e867ba9..58c825d 100644 --- a/webkit/browser/fileapi/local_file_system_operation_unittest.cc +++ b/webkit/browser/fileapi/local_file_system_operation_unittest.cc @@ -68,10 +68,7 @@ class LocalFileSystemOperationTest quota_manager_proxy_ = new quota::MockQuotaManagerProxy( quota_manager(), base::MessageLoopProxy::current().get()); sandbox_file_system_.SetUp(base_dir, quota_manager_proxy_.get()); - sandbox_file_system_.file_system_context()->sandbox_provider()-> - AddFileChangeObserver(sandbox_file_system_.type(), - &change_observer_, - NULL); + sandbox_file_system_.AddFileChangeObserver(&change_observer_); } virtual void TearDown() OVERRIDE { diff --git a/webkit/browser/fileapi/sandbox_file_system_test_helper.cc b/webkit/browser/fileapi/sandbox_file_system_test_helper.cc index 85e909c..f8a84ff 100644 --- a/webkit/browser/fileapi/sandbox_file_system_test_helper.cc +++ b/webkit/browser/fileapi/sandbox_file_system_test_helper.cc @@ -123,6 +123,12 @@ SandboxFileSystemTestHelper::NewOperationContext() { return context; } +void SandboxFileSystemTestHelper::AddFileChangeObserver( + FileChangeObserver* observer) { + file_system_context_->sandbox_provider()-> + AddFileChangeObserver(type_, observer, NULL); +} + FileSystemUsageCache* SandboxFileSystemTestHelper::usage_cache() { return file_system_context()->sandbox_provider()->usage_cache(); } diff --git a/webkit/browser/fileapi/sandbox_file_system_test_helper.h b/webkit/browser/fileapi/sandbox_file_system_test_helper.h index aa699d5..140d2c3 100644 --- a/webkit/browser/fileapi/sandbox_file_system_test_helper.h +++ b/webkit/browser/fileapi/sandbox_file_system_test_helper.h @@ -12,6 +12,7 @@ #include "googleurl/src/gurl.h" #include "webkit/browser/fileapi/file_system_url.h" #include "webkit/browser/fileapi/file_system_usage_cache.h" +#include "webkit/browser/fileapi/task_runner_bound_observer_list.h" #include "webkit/common/fileapi/file_system_types.h" #include "webkit/common/fileapi/file_system_util.h" #include "webkit/common/quota/quota_types.h" @@ -74,6 +75,8 @@ class SandboxFileSystemTestHelper { FileSystemOperationRunner* operation_runner(); FileSystemOperationContext* NewOperationContext(); + void AddFileChangeObserver(FileChangeObserver* observer); + FileSystemContext* file_system_context() const { return file_system_context_.get(); } |