diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-09 22:15:06 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-09 22:15:06 +0000 |
commit | 062c625092d733875cc37706769b60c636f314ec (patch) | |
tree | 49c59a2a49ce879312dd10d4a880c919a2bfe90b | |
parent | 76a5e002ec3f398702fa73ce54badaded5b36fce (diff) | |
download | chromium_src-062c625092d733875cc37706769b60c636f314ec.zip chromium_src-062c625092d733875cc37706769b60c636f314ec.tar.gz chromium_src-062c625092d733875cc37706769b60c636f314ec.tar.bz2 |
Revert r84649 and r84671: "Move MockQuotaManager out of anonymous namespace to
fix build" and "Notify the quota manager when write operation is made in
FileSystem API."
FileSystemExtensionApiTest.FileBrowserTest is consistently crashing on chrome OS.
TBR=kinuko
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84699 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | webkit/fileapi/file_writer_delegate.cc | 29 | ||||
-rw-r--r-- | webkit/fileapi/file_writer_delegate.h | 2 | ||||
-rw-r--r-- | webkit/fileapi/file_writer_delegate_unittest.cc | 165 | ||||
-rw-r--r-- | webkit/fileapi/quota_file_util.cc | 31 | ||||
-rw-r--r-- | webkit/fileapi/quota_file_util_unittest.cc | 69 | ||||
-rw-r--r-- | webkit/quota/quota_database_unittest.cc | 15 | ||||
-rw-r--r-- | webkit/quota/quota_manager.h | 24 |
7 files changed, 101 insertions, 234 deletions
diff --git a/webkit/fileapi/file_writer_delegate.cc b/webkit/fileapi/file_writer_delegate.cc index 7045970..1f80620 100644 --- a/webkit/fileapi/file_writer_delegate.cc +++ b/webkit/fileapi/file_writer_delegate.cc @@ -12,9 +12,7 @@ #include "webkit/fileapi/file_system_operation.h" #include "webkit/fileapi/file_system_path_manager.h" #include "webkit/fileapi/file_system_usage_cache.h" -#include "webkit/fileapi/file_system_util.h" #include "webkit/fileapi/quota_file_util.h" -#include "webkit/quota/quota_manager.h" namespace fileapi { @@ -94,7 +92,7 @@ FileWriterDelegate::FileWriterDelegate( file_(base::kInvalidPlatformFileValue), offset_(offset), proxy_(proxy), - bytes_written_backlog_(0), + bytes_read_backlog_(0), bytes_written_(0), bytes_read_(0), total_bytes_written_(0), @@ -262,40 +260,31 @@ void FileWriterDelegate::OnError(base::PlatformFileError error) { file_system_operation_->DidWrite(error, 0, true); } -void FileWriterDelegate::OnProgress(int bytes_written, bool done) { - DCHECK(bytes_written + bytes_written_backlog_ >= bytes_written_backlog_); - if (bytes_written > 0 && !usage_file_path_.empty()) { +void FileWriterDelegate::OnProgress(int bytes_read, bool done) { + DCHECK(bytes_read + bytes_read_backlog_ >= bytes_read_backlog_); + if (bytes_read > 0 && !usage_file_path_.empty()) { proxy_->PostTask(FROM_HERE, NewRunnableFunction( &FileSystemUsageCache::AtomicUpdateUsageByDelta, - usage_file_path_, bytes_written)); - FileSystemOperationContext* operation_context = - file_system_operation_->file_system_operation_context(); - if (file_system_operation_->file_system_context()->quota_manager_proxy()) - file_system_operation_->file_system_context()-> - quota_manager_proxy()->NotifyStorageModified( - quota::QuotaClient::kFileSystem, - operation_context->src_origin_url(), - FileSystemTypeToQuotaStorageType(operation_context->src_type()), - bytes_written); + usage_file_path_, bytes_read)); } static const int kMinProgressDelayMS = 200; base::Time currentTime = base::Time::Now(); if (done || last_progress_event_time_.is_null() || (currentTime - last_progress_event_time_).InMilliseconds() > kMinProgressDelayMS) { - bytes_written += bytes_written_backlog_; + bytes_read += bytes_read_backlog_; last_progress_event_time_ = currentTime; - bytes_written_backlog_ = 0; + bytes_read_backlog_ = 0; if (done && !usage_file_path_.empty()) { // Decrement the dirty when the Write operation finishes. proxy_->PostTask(FROM_HERE, NewRunnableFunction( &FileSystemUsageCache::DecrementDirty, usage_file_path_)); } file_system_operation_->DidWrite( - base::PLATFORM_FILE_OK, bytes_written, done); + base::PLATFORM_FILE_OK, bytes_read, done); return; } - bytes_written_backlog_ += bytes_written; + bytes_read_backlog_ += bytes_read; } } // namespace fileapi diff --git a/webkit/fileapi/file_writer_delegate.h b/webkit/fileapi/file_writer_delegate.h index d75bd31..d95cc42 100644 --- a/webkit/fileapi/file_writer_delegate.h +++ b/webkit/fileapi/file_writer_delegate.h @@ -67,7 +67,7 @@ class FileWriterDelegate : public net::URLRequest::Delegate { int64 offset_; scoped_refptr<base::MessageLoopProxy> proxy_; base::Time last_progress_event_time_; - int bytes_written_backlog_; + int bytes_read_backlog_; int bytes_written_; int bytes_read_; FilePath usage_file_path_; diff --git a/webkit/fileapi/file_writer_delegate_unittest.cc b/webkit/fileapi/file_writer_delegate_unittest.cc index af46faf..d56c7ae 100644 --- a/webkit/fileapi/file_writer_delegate_unittest.cc +++ b/webkit/fileapi/file_writer_delegate_unittest.cc @@ -27,12 +27,6 @@ #include "webkit/fileapi/file_system_usage_cache.h" #include "webkit/fileapi/file_writer_delegate.h" #include "webkit/fileapi/quota_file_util.h" -#include "webkit/quota/quota_manager.h" - -using quota::QuotaClient; -using quota::QuotaManager; -using quota::QuotaManagerProxy; -using quota::StorageType; namespace fileapi { @@ -57,29 +51,6 @@ class MockFileSystemPathManager : public FileSystemPathManager { FilePath test_filesystem_path_; }; -class MockQuotaManager : public QuotaManager { - public: - MockQuotaManager(const FilePath& filesystem_path) - : QuotaManager(false /* is_incognito */, - filesystem_path, - base::MessageLoopProxy::CreateForCurrentThread(), - base::MessageLoopProxy::CreateForCurrentThread()), - usage_(0) {} - int64 usage() const { return usage_; } - - protected: - virtual void NotifyStorageModified(QuotaClient::ID client_id, - const GURL& origin, - StorageType type, - int64 delta) { - DCHECK(client_id == QuotaClient::kFileSystem); - usage_ += delta; - } - - private: - int64 usage_; -}; - class Result { public: Result() @@ -110,7 +81,40 @@ class Result { bool complete_; }; -static const char* g_content = NULL; +} // namespace (anonymous) + +class FileWriterDelegateTest : public PlatformTest { + public: + FileWriterDelegateTest() + : loop_(MessageLoop::TYPE_IO) {} + + protected: + virtual void SetUp(); + virtual void TearDown(); + + int64 GetCachedUsage() { + return FileSystemUsageCache::GetUsage(usage_file_path_); + } + + static net::URLRequest::ProtocolFactory Factory; + + scoped_ptr<FileWriterDelegate> file_writer_delegate_; + scoped_ptr<net::URLRequest> request_; + scoped_ptr<FileSystemOperationContext> context_; + scoped_ptr<Result> result_; + + MessageLoop loop_; + + ScopedTempDir dir_; + FilePath filesystem_dir_; + FilePath usage_file_path_; + FilePath file_path_; + PlatformFile file_; +}; + +namespace { + +static std::string g_content; class FileWriterDelegateTestJob : public net::URLRequestJob { public: @@ -187,47 +191,6 @@ class MockDispatcher : public FileSystemCallbackDispatcher { } // namespace (anonymous) -class FileWriterDelegateTest : public PlatformTest { - public: - FileWriterDelegateTest() - : loop_(MessageLoop::TYPE_IO) {} - - protected: - virtual void SetUp(); - virtual void TearDown(); - - int64 GetCachedUsage() { - return FileSystemUsageCache::GetUsage(usage_file_path_); - } - - int64 GetManagerUsage() const { - DCHECK(quota_manager_.get()); - return quota_manager_->usage(); - } - - FileSystemContext* file_system_context() const { - return file_system_context_.get(); - } - - static net::URLRequest::ProtocolFactory Factory; - - scoped_ptr<FileWriterDelegate> file_writer_delegate_; - scoped_ptr<net::URLRequest> request_; - scoped_ptr<FileSystemOperationContext> context_; - scoped_ptr<Result> result_; - - scoped_refptr<FileSystemContext> file_system_context_; - scoped_refptr<MockQuotaManager> quota_manager_; - - MessageLoop loop_; - - ScopedTempDir dir_; - FilePath filesystem_dir_; - FilePath usage_file_path_; - FilePath file_path_; - PlatformFile file_; -}; - // static net::URLRequestJob* FileWriterDelegateTest::Factory( net::URLRequest* request, @@ -242,17 +205,13 @@ void FileWriterDelegateTest::SetUp() { ASSERT_TRUE(file_util::CreateTemporaryFileInDir(filesystem_dir_, &file_path_)); - quota_manager_ = new MockQuotaManager(filesystem_dir_); - file_system_context_ = + context_.reset(new FileSystemOperationContext( new FileSystemContext(base::MessageLoopProxy::CreateForCurrentThread(), base::MessageLoopProxy::CreateForCurrentThread(), - NULL, quota_manager_->proxy(), - FilePath(), false /* is_incognito */, + NULL, NULL, FilePath(), false /* is_incognito */, true, true, new MockFileSystemPathManager(filesystem_dir_)), - - context_.reset(new FileSystemOperationContext( - file_system_context_.get(), NULL)); + NULL)); usage_file_path_ = filesystem_dir_.AppendASCII(FileSystemUsageCache::kUsageFileName); @@ -274,32 +233,25 @@ void FileWriterDelegateTest::SetUp() { void FileWriterDelegateTest::TearDown() { net::URLRequest::RegisterProtocolFactory("blob", NULL); - result_.reset(); + result_.reset(NULL); base::ClosePlatformFile(file_); - context_.reset(); - file_system_context_ = NULL; - quota_manager_ = NULL; - // Make sure objects that need to be freed on a particular thread go away. - MessageLoop::current()->RunAllPending(); + context_.reset(NULL); } TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) { GURL blob_url("blob:nolimit"); - g_content = "The quick brown fox jumps over the lazy dog.\n"; + g_content = std::string("The quick brown fox jumps over the lazy dog.\n"); file_writer_delegate_.reset(new FileWriterDelegate( - new FileSystemOperation(new MockDispatcher(result_.get()), - NULL, file_system_context(), + new FileSystemOperation(new MockDispatcher(result_.get()), NULL, NULL, QuotaFileUtil::GetInstance()), 0, base::MessageLoopProxy::CreateForCurrentThread())); request_.reset(new net::URLRequest(blob_url, file_writer_delegate_.get())); ASSERT_EQ(0, GetCachedUsage()); - ASSERT_EQ(0, GetManagerUsage()); context_->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); file_writer_delegate_->Start(file_, request_.get(), *context_); MessageLoop::current()->Run(); ASSERT_EQ(45, GetCachedUsage()); - ASSERT_EQ(45, GetManagerUsage()); EXPECT_EQ(45, result_->bytes_written()); EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); @@ -310,10 +262,9 @@ TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) { TEST_F(FileWriterDelegateTest, WriteSuccessWithJustQuota) { GURL blob_url("blob:just"); - g_content = "The quick brown fox jumps over the lazy dog.\n"; + g_content = std::string("The quick brown fox jumps over the lazy dog.\n"); file_writer_delegate_.reset(new FileWriterDelegate( - new FileSystemOperation(new MockDispatcher(result_.get()), - NULL, file_system_context(), + new FileSystemOperation(new MockDispatcher(result_.get()), NULL, NULL, QuotaFileUtil::GetInstance()), 0, base::MessageLoopProxy::CreateForCurrentThread())); request_.reset(new net::URLRequest(blob_url, file_writer_delegate_.get())); @@ -323,7 +274,6 @@ TEST_F(FileWriterDelegateTest, WriteSuccessWithJustQuota) { file_writer_delegate_->Start(file_, request_.get(), *context_); MessageLoop::current()->Run(); ASSERT_EQ(45, GetCachedUsage()); - ASSERT_EQ(45, GetManagerUsage()); file_writer_delegate_.reset(NULL); @@ -334,10 +284,9 @@ TEST_F(FileWriterDelegateTest, WriteSuccessWithJustQuota) { TEST_F(FileWriterDelegateTest, WriteFailureByQuota) { GURL blob_url("blob:failure"); - g_content = "The quick brown fox jumps over the lazy dog.\n"; + g_content = std::string("The quick brown fox jumps over the lazy dog.\n"); file_writer_delegate_.reset(new FileWriterDelegate( - new FileSystemOperation(new MockDispatcher(result_.get()), - NULL, file_system_context(), + new FileSystemOperation(new MockDispatcher(result_.get()), NULL, NULL, QuotaFileUtil::GetInstance()), 0, base::MessageLoopProxy::CreateForCurrentThread())); request_.reset(new net::URLRequest(blob_url, file_writer_delegate_.get())); @@ -347,7 +296,6 @@ TEST_F(FileWriterDelegateTest, WriteFailureByQuota) { file_writer_delegate_->Start(file_, request_.get(), *context_); MessageLoop::current()->Run(); ASSERT_EQ(44, GetCachedUsage()); - ASSERT_EQ(44, GetManagerUsage()); file_writer_delegate_.reset(NULL); @@ -358,10 +306,9 @@ TEST_F(FileWriterDelegateTest, WriteFailureByQuota) { TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) { GURL blob_url("blob:zero"); - g_content = ""; + g_content = std::string(""); file_writer_delegate_.reset(new FileWriterDelegate( - new FileSystemOperation(new MockDispatcher(result_.get()), - NULL, file_system_context(), + new FileSystemOperation(new MockDispatcher(result_.get()), NULL, NULL, QuotaFileUtil::GetInstance()), 0, base::MessageLoopProxy::CreateForCurrentThread())); request_.reset(new net::URLRequest(blob_url, file_writer_delegate_.get())); @@ -371,7 +318,6 @@ TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) { file_writer_delegate_->Start(file_, request_.get(), *context_); MessageLoop::current()->Run(); ASSERT_EQ(0, GetCachedUsage()); - ASSERT_EQ(0, GetManagerUsage()); file_writer_delegate_.reset(NULL); @@ -397,20 +343,24 @@ TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimitConcurrent) { ASSERT_EQ(base::PLATFORM_FILE_OK, error_code); context2.reset(new FileSystemOperationContext( - file_system_context(), NULL)); + new FileSystemContext(base::MessageLoopProxy::CreateForCurrentThread(), + base::MessageLoopProxy::CreateForCurrentThread(), + NULL, NULL, FilePath(), false /* is_incognito */, + true, true, + new MockFileSystemPathManager(filesystem_dir_)), + NULL)); + result2.reset(new Result()); GURL blob_url("blob:nolimitconcurrent"); GURL blob_url2("blob:nolimitconcurrent2"); - g_content = "The quick brown fox jumps over the lazy dog.\n"; + g_content = std::string("The quick brown fox jumps over the lazy dog.\n"); file_writer_delegate_.reset(new FileWriterDelegate( - new FileSystemOperation(new MockDispatcher(result_.get()), - NULL, file_system_context(), + new FileSystemOperation(new MockDispatcher(result_.get()), NULL, NULL, QuotaFileUtil::GetInstance()), 0, base::MessageLoopProxy::CreateForCurrentThread())); file_writer_delegate2.reset(new FileWriterDelegate( - new FileSystemOperation(new MockDispatcher(result2.get()), - NULL, file_system_context(), + new FileSystemOperation(new MockDispatcher(result2.get()), NULL, NULL, QuotaFileUtil::GetInstance()), 0, base::MessageLoopProxy::CreateForCurrentThread())); request_.reset(new net::URLRequest(blob_url, file_writer_delegate_.get())); @@ -425,7 +375,6 @@ TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimitConcurrent) { if (!result_->complete() || !result2->complete()) MessageLoop::current()->Run(); ASSERT_EQ(90, GetCachedUsage()); - ASSERT_EQ(90, GetManagerUsage()); file_writer_delegate_.reset(NULL); diff --git a/webkit/fileapi/quota_file_util.cc b/webkit/fileapi/quota_file_util.cc index 3167313..820b6a8 100644 --- a/webkit/fileapi/quota_file_util.cc +++ b/webkit/fileapi/quota_file_util.cc @@ -6,13 +6,10 @@ #include "base/file_util.h" #include "base/logging.h" -#include "base/message_loop_proxy.h" #include "webkit/fileapi/file_system_context.h" #include "webkit/fileapi/file_system_operation_context.h" #include "webkit/fileapi/file_system_path_manager.h" #include "webkit/fileapi/file_system_usage_cache.h" -#include "webkit/fileapi/file_system_util.h" -#include "webkit/quota/quota_manager.h" namespace fileapi { @@ -57,23 +54,13 @@ static FilePath InitUsageFile(FileSystemOperationContext* fs_context) { return usage_file_path; } -static void UpdateUsage( - FileSystemOperationContext* fs_context, - const GURL& modified_origin, - FileSystemType type, - const FilePath& usage_file_path, int64 growth) { +static void UpdateUsageFile(const FilePath& usage_file_path, int64 growth) { if (FileSystemUsageCache::Exists(usage_file_path)) FileSystemUsageCache::DecrementDirty(usage_file_path); - FileSystemUsageCache::AtomicUpdateUsageByDelta(usage_file_path, growth); - - if (fs_context->file_system_context()->quota_manager_proxy()) - fs_context->file_system_context()->quota_manager_proxy() - ->NotifyStorageModified( - quota::QuotaClient::kFileSystem, - GURL(modified_origin), - FileSystemTypeToQuotaStorageType(type), - growth); + int64 usage = FileSystemUsageCache::GetUsage(usage_file_path); + if (usage >= 0) + FileSystemUsageCache::UpdateUsage(usage_file_path, usage + growth); } } // namespace (anonymous) @@ -112,9 +99,7 @@ base::PlatformFileError QuotaFileUtil::CopyOrMoveFile( base::PlatformFileError error = FileSystemFileUtil::GetInstance()-> CopyOrMoveFile(fs_context, src_file_path, dest_file_path, copy); - UpdateUsage(fs_context, - fs_context->dest_origin_url(), fs_context->dest_type(), - usage_file_path, growth); + UpdateUsageFile(usage_file_path, growth); return error; } @@ -133,8 +118,7 @@ base::PlatformFileError QuotaFileUtil::DeleteFile( base::PlatformFileError error = FileSystemFileUtil::GetInstance()-> DeleteFile(fs_context, file_path); - UpdateUsage(fs_context, fs_context->src_origin_url(), fs_context->src_type(), - usage_file_path, growth); + UpdateUsageFile(usage_file_path, growth); return error; } @@ -164,8 +148,7 @@ base::PlatformFileError QuotaFileUtil::Truncate( base::PlatformFileError error = FileSystemFileUtil::GetInstance()->Truncate( fs_context, path, length); - UpdateUsage(fs_context, fs_context->src_origin_url(), fs_context->src_type(), - usage_file_path, growth); + UpdateUsageFile(usage_file_path, growth); return error; } diff --git a/webkit/fileapi/quota_file_util_unittest.cc b/webkit/fileapi/quota_file_util_unittest.cc index 0877df4..bb76f65 100644 --- a/webkit/fileapi/quota_file_util_unittest.cc +++ b/webkit/fileapi/quota_file_util_unittest.cc @@ -16,14 +16,8 @@ #include "webkit/fileapi/file_system_path_manager.h" #include "webkit/fileapi/file_system_types.h" #include "webkit/fileapi/file_system_usage_cache.h" -#include "webkit/quota/quota_client.h" -#include "webkit/quota/quota_manager.h" using namespace fileapi; -using quota::QuotaClient; -using quota::QuotaManager; -using quota::QuotaManagerProxy; -using quota::StorageType; namespace { @@ -48,30 +42,6 @@ class MockFileSystemPathManager : public FileSystemPathManager { } // namespace (anonymous) -class MockQuotaManager : public QuotaManager { - public: - MockQuotaManager(const FilePath& filesystem_path) - : QuotaManager(false /* is_incognito */, - filesystem_path, - base::MessageLoopProxy::CreateForCurrentThread(), - base::MessageLoopProxy::CreateForCurrentThread()), - usage_(0) {} - - int64 usage() const { return usage_; } - - protected: - virtual void NotifyStorageModified(QuotaClient::ID client_id, - const GURL& origin, - StorageType type, - int64 delta) { - DCHECK(client_id == QuotaClient::kFileSystem); - usage_ += delta; - } - - private: - int64 usage_; -}; - class QuotaFileUtilTest : public testing::Test { public: QuotaFileUtilTest() @@ -85,8 +55,6 @@ class QuotaFileUtilTest : public testing::Test { usage_file_path_ = Path(FileSystemUsageCache::kUsageFileName); FileSystemUsageCache::UpdateUsage(usage_file_path_, 0); - - quota_manager_ = new MockQuotaManager(filesystem_dir_); } protected: @@ -94,7 +62,7 @@ class QuotaFileUtilTest : public testing::Test { FileSystemOperationContext *context = new FileSystemOperationContext( new FileSystemContext(base::MessageLoopProxy::CreateForCurrentThread(), base::MessageLoopProxy::CreateForCurrentThread(), - NULL, quota_manager_proxy(), FilePath(), false, + NULL, NULL, FilePath(), false, true, true, new MockFileSystemPathManager(filesystem_dir_)), QuotaFileUtil::GetInstance()); @@ -131,21 +99,11 @@ class QuotaFileUtilTest : public testing::Test { return FileSystemUsageCache::GetUsage(usage_file_path_); } - int64 usage() const { - DCHECK(quota_manager_.get()); - return quota_manager_->usage(); - } - QuotaManagerProxy* quota_manager_proxy() const { - DCHECK(quota_manager_.get()); - return quota_manager_->proxy(); - } - private: ScopedTempDir data_dir_; FilePath filesystem_dir_; FilePath usage_file_path_; base::ScopedCallbackFactory<QuotaFileUtilTest> callback_factory_; - scoped_refptr<MockQuotaManager> quota_manager_; DISALLOW_COPY_AND_ASSIGN(QuotaFileUtilTest); }; @@ -189,7 +147,6 @@ TEST_F(QuotaFileUtilTest, Truncate) { Path(file_name), 1020)); ASSERT_EQ(1020, GetCachedUsage()); - ASSERT_EQ(1020, usage()); truncate_context.reset(NewContext()); truncate_context->set_allowed_bytes_growth(0); @@ -198,7 +155,6 @@ TEST_F(QuotaFileUtilTest, Truncate) { Path(file_name), 0)); ASSERT_EQ(0, GetCachedUsage()); - ASSERT_EQ(0, usage()); truncate_context.reset(NewContext()); truncate_context->set_allowed_bytes_growth(1020); @@ -207,7 +163,6 @@ TEST_F(QuotaFileUtilTest, Truncate) { Path(file_name), 1021)); ASSERT_EQ(0, GetCachedUsage()); - ASSERT_EQ(0, usage()); } TEST_F(QuotaFileUtilTest, CopyFile) { @@ -229,7 +184,6 @@ TEST_F(QuotaFileUtilTest, CopyFile) { Path(from_file), 1020)); ASSERT_EQ(1020, GetCachedUsage()); - ASSERT_EQ(1020, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); @@ -238,7 +192,6 @@ TEST_F(QuotaFileUtilTest, CopyFile) { Path(obstacle_file), 1)); ASSERT_EQ(1021, GetCachedUsage()); - ASSERT_EQ(1021, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(1020); @@ -247,7 +200,6 @@ TEST_F(QuotaFileUtilTest, CopyFile) { Path(from_file), Path(to_file1))); ASSERT_EQ(2041, GetCachedUsage()); - ASSERT_EQ(2041, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(1019); @@ -256,7 +208,6 @@ TEST_F(QuotaFileUtilTest, CopyFile) { Path(from_file), Path(to_file2))); ASSERT_EQ(2041, GetCachedUsage()); - ASSERT_EQ(2041, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(1019); @@ -265,7 +216,6 @@ TEST_F(QuotaFileUtilTest, CopyFile) { Path(from_file), Path(obstacle_file))); ASSERT_EQ(3060, GetCachedUsage()); - ASSERT_EQ(3060, usage()); } TEST_F(QuotaFileUtilTest, CopyDirectory) { @@ -291,7 +241,6 @@ TEST_F(QuotaFileUtilTest, CopyDirectory) { Path(from_file), 1020)); ASSERT_EQ(1020, GetCachedUsage()); - ASSERT_EQ(1020, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(1020); @@ -300,7 +249,6 @@ TEST_F(QuotaFileUtilTest, CopyDirectory) { Path(from_dir), Path(to_dir1))); ASSERT_EQ(2040, GetCachedUsage()); - ASSERT_EQ(2040, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(1019); @@ -309,7 +257,6 @@ TEST_F(QuotaFileUtilTest, CopyDirectory) { Path(from_dir), Path(to_dir2))); ASSERT_EQ(2040, GetCachedUsage()); - ASSERT_EQ(2040, usage()); } TEST_F(QuotaFileUtilTest, MoveFile) { @@ -328,7 +275,6 @@ TEST_F(QuotaFileUtilTest, MoveFile) { Path(from_file), 1020)); ASSERT_EQ(1020, GetCachedUsage()); - ASSERT_EQ(1020, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(0); @@ -337,7 +283,6 @@ TEST_F(QuotaFileUtilTest, MoveFile) { Path(from_file), Path(to_file))); ASSERT_EQ(1020, GetCachedUsage()); - ASSERT_EQ(1020, usage()); ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created)); ASSERT_TRUE(created); @@ -351,7 +296,6 @@ TEST_F(QuotaFileUtilTest, MoveFile) { Path(from_file), 1020)); ASSERT_EQ(2040, GetCachedUsage()); - ASSERT_EQ(2040, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); @@ -360,7 +304,6 @@ TEST_F(QuotaFileUtilTest, MoveFile) { Path(obstacle_file), 1)); ASSERT_EQ(2041, GetCachedUsage()); - ASSERT_EQ(2041, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(0); @@ -369,7 +312,6 @@ TEST_F(QuotaFileUtilTest, MoveFile) { Path(from_file), Path(obstacle_file))); ASSERT_EQ(2040, GetCachedUsage()); - ASSERT_EQ(2040, usage()); } TEST_F(QuotaFileUtilTest, MoveDirectory) { @@ -395,7 +337,6 @@ TEST_F(QuotaFileUtilTest, MoveDirectory) { Path(from_file), 1020)); ASSERT_EQ(1020, GetCachedUsage()); - ASSERT_EQ(1020, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(1020); @@ -404,7 +345,6 @@ TEST_F(QuotaFileUtilTest, MoveDirectory) { Path(from_dir), Path(to_dir1))); ASSERT_EQ(1020, GetCachedUsage()); - ASSERT_EQ(1020, usage()); context.reset(NewContext()); ASSERT_EQ(base::PLATFORM_FILE_OK, @@ -421,7 +361,6 @@ TEST_F(QuotaFileUtilTest, MoveDirectory) { Path(from_file), 1020)); ASSERT_EQ(2040, GetCachedUsage()); - ASSERT_EQ(2040, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(1019); @@ -430,7 +369,6 @@ TEST_F(QuotaFileUtilTest, MoveDirectory) { Path(from_dir), Path(to_dir2))); ASSERT_EQ(2040, GetCachedUsage()); - ASSERT_EQ(2040, usage()); } TEST_F(QuotaFileUtilTest, Remove) { @@ -460,7 +398,6 @@ TEST_F(QuotaFileUtilTest, Remove) { Path(file), 340)); ASSERT_EQ(340, GetCachedUsage()); - ASSERT_EQ(340, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); @@ -469,7 +406,6 @@ TEST_F(QuotaFileUtilTest, Remove) { Path(dfile1), 1020)); ASSERT_EQ(1360, GetCachedUsage()); - ASSERT_EQ(1360, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); @@ -478,7 +414,6 @@ TEST_F(QuotaFileUtilTest, Remove) { Path(dfile2), 120)); ASSERT_EQ(1480, GetCachedUsage()); - ASSERT_EQ(1480, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); @@ -487,7 +422,6 @@ TEST_F(QuotaFileUtilTest, Remove) { Path(file), false)); ASSERT_EQ(1140, GetCachedUsage()); - ASSERT_EQ(1140, usage()); context.reset(NewContext()); context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); @@ -496,5 +430,4 @@ TEST_F(QuotaFileUtilTest, Remove) { Path(dir), true)); ASSERT_EQ(0, GetCachedUsage()); - ASSERT_EQ(0, usage()); } diff --git a/webkit/quota/quota_database_unittest.cc b/webkit/quota/quota_database_unittest.cc index 5e2f2d6..ccbe74f 100644 --- a/webkit/quota/quota_database_unittest.cc +++ b/webkit/quota/quota_database_unittest.cc @@ -10,6 +10,21 @@ #include "googleurl/src/gurl.h" #include "webkit/quota/quota_database.h" +namespace { + +const base::Time kZeroTime; + +class TestErrorDelegate : public sql::ErrorDelegate { + public: + virtual ~TestErrorDelegate() { } + virtual int OnError( + int error, sql::Connection* connection, sql::Statement* stmt) { + return error; + } +}; + +} // namespace + namespace quota { TEST(QuotaDatabaseTest, LazyOpen) { diff --git a/webkit/quota/quota_manager.h b/webkit/quota/quota_manager.h index 949f1e2..eb8d70f 100644 --- a/webkit/quota/quota_manager.h +++ b/webkit/quota/quota_manager.h @@ -81,16 +81,6 @@ class QuotaManager : public QuotaTaskObserver, const static int64 kIncognitoDefaultTemporaryQuota; - protected: - // Called by clients via proxy. - // QuotaClients must call this method whenever they have made any - // modifications that change the amount of data stored in their storage. - // This method is declared as virtual only to allow test code to override. - virtual void NotifyStorageModified(QuotaClient::ID client_id, - const GURL& origin, - StorageType type, - int64 delta); - private: class InitializeTask; class TemporaryGlobalQuotaUpdateTask; @@ -117,6 +107,14 @@ class QuotaManager : public QuotaTaskObserver, // The client must remain valid until OnQuotaManagerDestored is called. void RegisterClient(QuotaClient* client); + // Called by clients via proxy. + // QuotaClients must call this method whenever they have made any + // modifications that change the amount of data stored in their storage. + void NotifyStorageModified(QuotaClient::ID client_id, + const GURL& origin, + StorageType type, + int64 delta); + UsageTracker* GetUsageTracker(StorageType type) const; void DidGetTemporaryGlobalQuota(int64 quota); @@ -162,9 +160,9 @@ class QuotaManagerProxy public: void RegisterClient(QuotaClient* client); void NotifyStorageModified(QuotaClient::ID client_id, - const GURL& origin, - StorageType type, - int64 delta); + const GURL& origin, + StorageType type, + int64 delta); private: friend class QuotaManager; friend class base::RefCountedThreadSafe<QuotaManagerProxy>; |