diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 06:59:16 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-09 06:59:16 +0000 |
commit | 6c20697e6da610f40947526bbd65dbda0579445c (patch) | |
tree | 97989a6b4e28a59038e7656c79d0502ba14b8bdd /webkit | |
parent | cc9c9d751953abd0230d7ae22ac2be27b2d9b632 (diff) | |
download | chromium_src-6c20697e6da610f40947526bbd65dbda0579445c.zip chromium_src-6c20697e6da610f40947526bbd65dbda0579445c.tar.gz chromium_src-6c20697e6da610f40947526bbd65dbda0579445c.tar.bz2 |
FileSystem code cleanup 1st cut - does some class renaming.
Renamed FileSystemQuota to FileSystemQuotaManager.
Removed PlatFormErrorToFileError in simple_file_system.cc (in favor of webkit_flue::PlatformErrorToFileError)
BUG=60243
TEST=none
Review URL: http://codereview.chromium.org/4017007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65506 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/fileapi/file_system_quota.cc | 39 | ||||
-rw-r--r-- | webkit/fileapi/file_system_quota_manager.cc | 51 | ||||
-rw-r--r-- | webkit/fileapi/file_system_quota_manager.h (renamed from webkit/fileapi/file_system_quota.h) | 22 | ||||
-rw-r--r-- | webkit/fileapi/file_system_quota_manager_unittest.cc (renamed from webkit/fileapi/file_system_quota_unittest.cc) | 24 | ||||
-rw-r--r-- | webkit/fileapi/webkit_fileapi.gypi | 4 | ||||
-rw-r--r-- | webkit/tools/test_shell/simple_file_system.cc | 23 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_shell.gypi | 2 |
7 files changed, 83 insertions, 82 deletions
diff --git a/webkit/fileapi/file_system_quota.cc b/webkit/fileapi/file_system_quota.cc deleted file mode 100644 index 7133082..0000000 --- a/webkit/fileapi/file_system_quota.cc +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2010 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. - -#include "webkit/fileapi/file_system_quota.h" - -#include "base/file_path.h" -#include "base/file_util_proxy.h" -#include "base/ref_counted.h" -#include "base/scoped_callback_factory.h" - -namespace fileapi { - -const int64 FileSystemQuota::kUnknownSize = -1; - -FileSystemQuota::FileSystemQuota() {} - -FileSystemQuota::~FileSystemQuota() {} - -bool FileSystemQuota::CheckOriginQuota(const GURL& origin, int64) { - return CheckIfOriginGrantedUnlimitedQuota(origin); -} - -void FileSystemQuota::SetOriginQuotaUnlimited(const GURL& origin) { - DCHECK(origin == origin.GetOrigin()); - unlimited_quota_origins_.insert(origin); -} - -void FileSystemQuota::ResetOriginQuotaUnlimited(const GURL& origin) { - DCHECK(origin == origin.GetOrigin()); - unlimited_quota_origins_.erase(origin); -} - -bool FileSystemQuota::CheckIfOriginGrantedUnlimitedQuota(const GURL& origin) { - std::set<GURL>::const_iterator found = unlimited_quota_origins_.find(origin); - return (found != unlimited_quota_origins_.end()); -} - -} // namespace fileapi diff --git a/webkit/fileapi/file_system_quota_manager.cc b/webkit/fileapi/file_system_quota_manager.cc new file mode 100644 index 0000000..13a33f6 --- /dev/null +++ b/webkit/fileapi/file_system_quota_manager.cc @@ -0,0 +1,51 @@ +// Copyright (c) 2010 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. + +#include "webkit/fileapi/file_system_quota_manager.h" + +#include "base/file_path.h" +#include "base/file_util_proxy.h" +#include "base/ref_counted.h" +#include "base/scoped_callback_factory.h" + +namespace fileapi { + +const int64 FileSystemQuotaManager::kUnknownSize = -1; + +FileSystemQuotaManager::FileSystemQuotaManager( + bool allow_file_access_from_files, + bool unlimited_quota) + : allow_file_access_from_files_(allow_file_access_from_files), + unlimited_quota_(unlimited_quota) { +} + +FileSystemQuotaManager::~FileSystemQuotaManager() {} + +bool FileSystemQuotaManager::CheckOriginQuota(const GURL& origin, int64) { + // If allow-file-access-from-files flag is explicitly given and the scheme + // is file, or if unlimited quota for this process was explicitly requested, + // return true. + if (unlimited_quota_ || + (origin.SchemeIsFile() && allow_file_access_from_files_)) + return true; + return CheckIfOriginGrantedUnlimitedQuota(origin); +} + +void FileSystemQuotaManager::SetOriginQuotaUnlimited(const GURL& origin) { + DCHECK(origin == origin.GetOrigin()); + unlimited_quota_origins_.insert(origin); +} + +void FileSystemQuotaManager::ResetOriginQuotaUnlimited(const GURL& origin) { + DCHECK(origin == origin.GetOrigin()); + unlimited_quota_origins_.erase(origin); +} + +bool FileSystemQuotaManager::CheckIfOriginGrantedUnlimitedQuota( + const GURL& origin) { + std::set<GURL>::const_iterator found = unlimited_quota_origins_.find(origin); + return (found != unlimited_quota_origins_.end()); +} + +} // namespace fileapi diff --git a/webkit/fileapi/file_system_quota.h b/webkit/fileapi/file_system_quota_manager.h index 9b77c9b..f1c94e1 100644 --- a/webkit/fileapi/file_system_quota.h +++ b/webkit/fileapi/file_system_quota_manager.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef WEBKIT_FILEAPI_FILE_SYSTEM_QUOTA_H_ -#define WEBKIT_FILEAPI_FILE_SYSTEM_QUOTA_H_ +#ifndef WEBKIT_FILEAPI_FILE_SYSTEM_QUOTA_MANAGER_H_ +#define WEBKIT_FILEAPI_FILE_SYSTEM_QUOTA_MANAGER_H_ #include <set> @@ -14,12 +14,17 @@ namespace fileapi { // A quota manager for FileSystem. For now it has little implementation // and just allows unlimited quota for apps. -class FileSystemQuota { +class FileSystemQuotaManager { public: static const int64 kUnknownSize; - FileSystemQuota(); - ~FileSystemQuota(); + // If |allow_file_access_from_files| is true, unlimited access is granted + // for file:/// URLs. + // If |unlimited_quota| is true, unlimited access is granted for every + // origin. This flag must be used only for testing. + FileSystemQuotaManager(bool allow_file_access_from_files, + bool unlimited_quota); + ~FileSystemQuotaManager(); // Checks if the origin can grow its usage by |growth| bytes. // This only performs in-memory check and returns immediately. @@ -36,9 +41,12 @@ class FileSystemQuota { // For some extensions/apps we allow unlimited quota. std::set<GURL> unlimited_quota_origins_; - DISALLOW_COPY_AND_ASSIGN(FileSystemQuota); + const bool allow_file_access_from_files_; + const bool unlimited_quota_; + + DISALLOW_COPY_AND_ASSIGN(FileSystemQuotaManager); }; } // namespace fileapi -#endif // WEBKIT_FILEAPI_FILE_SYSTEM_QUOTA_H_ +#endif // WEBKIT_FILEAPI_FILE_SYSTEM_QUOTA_MANAGER_H_ diff --git a/webkit/fileapi/file_system_quota_unittest.cc b/webkit/fileapi/file_system_quota_manager_unittest.cc index ff0d733..3bc7ac3 100644 --- a/webkit/fileapi/file_system_quota_unittest.cc +++ b/webkit/fileapi/file_system_quota_manager_unittest.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "webkit/fileapi/file_system_quota.h" +#include "webkit/fileapi/file_system_quota_manager.h" #include "base/basictypes.h" #include "base/logging.h" @@ -12,19 +12,19 @@ using namespace fileapi; -class FileSystemQuotaTest : public testing::Test { +class FileSystemQuotaManagerTest : public testing::Test { public: - FileSystemQuotaTest() { } + FileSystemQuotaManagerTest() { } void SetUp() { - quota_.reset(new FileSystemQuota); + quota_.reset(new FileSystemQuotaManager(false, false)); } - FileSystemQuota* quota() const { return quota_.get(); } + FileSystemQuotaManager* quota() const { return quota_.get(); } protected: - scoped_ptr<FileSystemQuota> quota_; - DISALLOW_COPY_AND_ASSIGN(FileSystemQuotaTest); + scoped_ptr<FileSystemQuotaManager> quota_; + DISALLOW_COPY_AND_ASSIGN(FileSystemQuotaManagerTest); }; namespace { @@ -38,7 +38,7 @@ static const char* const kTestOrigins[] = { } // anonymous namespace -TEST_F(FileSystemQuotaTest, CheckOriginQuotaNotAllowed) { +TEST_F(FileSystemQuotaManagerTest, CheckOriginQuotaNotAllowed) { for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestOrigins); ++i) { SCOPED_TRACE(testing::Message() << "CheckOriginQuotaNotAllowed #" << i << " " << kTestOrigins[i]); @@ -49,7 +49,7 @@ TEST_F(FileSystemQuotaTest, CheckOriginQuotaNotAllowed) { } } -TEST_F(FileSystemQuotaTest, CheckOriginQuotaUnlimited) { +TEST_F(FileSystemQuotaManagerTest, CheckOriginQuotaUnlimited) { // Tests if SetOriginQuotaUnlimited and ResetOriginQuotaUnlimited // are working as expected. for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestOrigins); ++i) { @@ -73,7 +73,7 @@ TEST_F(FileSystemQuotaTest, CheckOriginQuotaUnlimited) { } } -TEST_F(FileSystemQuotaTest, CheckOriginQuotaWithMixedSet) { +TEST_F(FileSystemQuotaManagerTest, CheckOriginQuotaWithMixedSet) { // Tests setting unlimited quota for some urls doesn't affect // other urls. GURL test_url1("http://foo.bar.com/"); @@ -90,7 +90,7 @@ TEST_F(FileSystemQuotaTest, CheckOriginQuotaWithMixedSet) { } } -TEST_F(FileSystemQuotaTest, CheckOriginQuotaMixedWithDifferentScheme) { +TEST_F(FileSystemQuotaManagerTest, CheckOriginQuotaMixedWithDifferentScheme) { // Tests setting unlimited quota for urls doesn't affect // pages in the same hosts but with different scheme. for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestOrigins); ++i) { @@ -119,7 +119,7 @@ TEST_F(FileSystemQuotaTest, CheckOriginQuotaMixedWithDifferentScheme) { } } -TEST_F(FileSystemQuotaTest, CheckOriginQuotaMixedWithDifferentPort) { +TEST_F(FileSystemQuotaManagerTest, CheckOriginQuotaMixedWithDifferentPort) { // Tests setting unlimited quota for urls doesn't affect // pages in the same scheme/hosts but with different port number. for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestOrigins); ++i) { diff --git a/webkit/fileapi/webkit_fileapi.gypi b/webkit/fileapi/webkit_fileapi.gypi index 73d49838..de9e612 100644 --- a/webkit/fileapi/webkit_fileapi.gypi +++ b/webkit/fileapi/webkit_fileapi.gypi @@ -19,8 +19,8 @@ 'file_system_operation.h', 'file_system_path_manager.cc', 'file_system_path_manager.h', - 'file_system_quota.cc', - 'file_system_quota.h', + 'file_system_quota_manager.cc', + 'file_system_quota_manager.h', 'file_system_types.h', 'file_writer_delegate.cc', 'file_writer_delegate.h', diff --git a/webkit/tools/test_shell/simple_file_system.cc b/webkit/tools/test_shell/simple_file_system.cc index 563ff34..520f709 100644 --- a/webkit/tools/test_shell/simple_file_system.cc +++ b/webkit/tools/test_shell/simple_file_system.cc @@ -24,26 +24,6 @@ using WebKit::WebVector; namespace { -WebKit::WebFileError PlatformFileErrorToWebFileError( - base::PlatformFileError error_code) { - switch (error_code) { - case base::PLATFORM_FILE_ERROR_NOT_FOUND: - return WebKit::WebFileErrorNotFound; - case base::PLATFORM_FILE_ERROR_INVALID_OPERATION: - case base::PLATFORM_FILE_ERROR_EXISTS: - case base::PLATFORM_FILE_ERROR_NOT_A_DIRECTORY: - return WebKit::WebFileErrorInvalidModification; - case base::PLATFORM_FILE_ERROR_ACCESS_DENIED: - return WebKit::WebFileErrorNoModificationAllowed; - case base::PLATFORM_FILE_ERROR_FAILED: - return WebKit::WebFileErrorInvalidState; - case base::PLATFORM_FILE_ERROR_ABORT: - return WebKit::WebFileErrorAbort; - default: - return WebKit::WebFileErrorInvalidModification; - } -} - class TestShellFileSystemCallbackDispatcher : public fileapi::FileSystemCallbackDispatcher { public: @@ -94,7 +74,8 @@ class TestShellFileSystemCallbackDispatcher } virtual void DidFail(base::PlatformFileError error_code) { - callbacks_->didFail(PlatformFileErrorToWebFileError(error_code)); + callbacks_->didFail( + webkit_glue::PlatformFileErrorToWebFileError(error_code)); file_system_->RemoveCompletedOperation(request_id_); } diff --git a/webkit/tools/test_shell/test_shell.gypi b/webkit/tools/test_shell/test_shell.gypi index 901f6fc..6bb3bbb 100644 --- a/webkit/tools/test_shell/test_shell.gypi +++ b/webkit/tools/test_shell/test_shell.gypi @@ -389,7 +389,7 @@ '../../database/quota_table_unittest.cc', '../../fileapi/file_system_operation_unittest.cc', '../../fileapi/file_system_path_manager_unittest.cc', - '../../fileapi/file_system_quota_unittest.cc', + '../../fileapi/file_system_quota_manager_unittest.cc', '../../fileapi/webfilewriter_base_unittest.cc', '../../glue/bookmarklet_unittest.cc', '../../glue/context_menu_unittest.cc', |