Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1420)

Unified Diff: webkit/browser/fileapi/test_file_system_backend.cc

Issue 18418009: FileAPI: Add FileObserver related interfaces into FileSystemQuotaUtil (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/browser/fileapi/test_file_system_backend.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/browser/fileapi/test_file_system_backend.cc
diff --git a/webkit/browser/fileapi/test_file_system_backend.cc b/webkit/browser/fileapi/test_file_system_backend.cc
index 17e708567b5d5b916ce8f02672afb43d849800c2..dbbeb4fe8bb8e3e4b80503a336b8894514c4b533 100644
--- a/webkit/browser/fileapi/test_file_system_backend.cc
+++ b/webkit/browser/fileapi/test_file_system_backend.cc
@@ -29,7 +29,13 @@ class TestFileSystemBackend::QuotaUtil
: public FileSystemQuotaUtil,
public FileUpdateObserver {
public:
- QuotaUtil() : usage_(0) {}
+ QuotaUtil(base::SequencedTaskRunner* task_runner)
+ : usage_(0),
+ task_runner_(task_runner) {
+ UpdateObserverList::Source source;
+ source.AddObserver(this, task_runner_.get());
+ update_observers_ = UpdateObserverList(source);
+ }
virtual ~QuotaUtil() {}
// FileSystemQuotaUtil overrides.
@@ -41,33 +47,77 @@ class TestFileSystemBackend::QuotaUtil
NOTREACHED();
return base::PLATFORM_FILE_OK;
}
+
virtual void GetOriginsForTypeOnFileThread(
FileSystemType type,
std::set<GURL>* origins) OVERRIDE {
NOTREACHED();
}
+
virtual void GetOriginsForHostOnFileThread(
FileSystemType type,
const std::string& host,
std::set<GURL>* origins) OVERRIDE {
NOTREACHED();
}
+
virtual int64 GetOriginUsageOnFileThread(
FileSystemContext* context,
const GURL& origin_url,
FileSystemType type) OVERRIDE {
return usage_;
}
+
virtual void InvalidateUsageCache(const GURL& origin_url,
FileSystemType type) OVERRIDE {
// Do nothing.
}
+
virtual void StickyInvalidateUsageCache(
const GURL& origin,
FileSystemType type) OVERRIDE {
// Do nothing.
}
+ virtual void AddFileUpdateObserver(
+ FileSystemType type,
+ FileUpdateObserver* observer,
+ base::SequencedTaskRunner* task_runner) OVERRIDE {
+ NOTIMPLEMENTED();
+ }
+
+ virtual void AddFileChangeObserver(
+ FileSystemType type,
+ FileChangeObserver* observer,
+ base::SequencedTaskRunner* task_runner) OVERRIDE {
+ ChangeObserverList::Source source = change_observers_.source();
+ source.AddObserver(observer, task_runner);
+ change_observers_ = ChangeObserverList(source);
+ }
+
+ virtual void AddFileAccessObserver(
+ FileSystemType type,
+ FileAccessObserver* observer,
+ base::SequencedTaskRunner* task_runner) OVERRIDE {
+ NOTIMPLEMENTED();
+ }
+
+ virtual const UpdateObserverList* GetUpdateObservers(
+ FileSystemType type) const OVERRIDE {
+ return &update_observers_;
+ }
+
+ virtual const ChangeObserverList* GetChangeObservers(
+ FileSystemType type) const OVERRIDE {
+ return &change_observers_;
+ }
+
+ virtual const AccessObserverList* GetAccessObservers(
+ FileSystemType type) const OVERRIDE {
+ NOTIMPLEMENTED();
+ return NULL;
+ }
+
// FileUpdateObserver overrides.
virtual void OnStartUpdate(const FileSystemURL& url) OVERRIDE {}
virtual void OnUpdate(const FileSystemURL& url, int64 delta) OVERRIDE {
@@ -75,21 +125,24 @@ class TestFileSystemBackend::QuotaUtil
}
virtual void OnEndUpdate(const FileSystemURL& url) OVERRIDE {}
+ base::SequencedTaskRunner* task_runner() { return task_runner_.get(); }
+
private:
int64 usage_;
+
+ scoped_refptr<base::SequencedTaskRunner> task_runner_;
+
+ UpdateObserverList update_observers_;
+ ChangeObserverList change_observers_;
};
TestFileSystemBackend::TestFileSystemBackend(
base::SequencedTaskRunner* task_runner,
const base::FilePath& base_path)
: base_path_(base_path),
- task_runner_(task_runner),
local_file_util_(new AsyncFileUtilAdapter(new LocalFileUtil())),
- quota_util_(new QuotaUtil),
+ quota_util_(new QuotaUtil(task_runner)),
require_copy_or_move_validator_(false) {
- UpdateObserverList::Source source;
- source.AddObserver(quota_util_.get(), task_runner_.get());
- update_observers_ = UpdateObserverList(source);
}
TestFileSystemBackend::~TestFileSystemBackend() {
@@ -147,8 +200,9 @@ FileSystemOperation* TestFileSystemBackend::CreateFileSystemOperation(
base::PlatformFileError* error_code) const {
scoped_ptr<FileSystemOperationContext> operation_context(
new FileSystemOperationContext(context));
- operation_context->set_update_observers(update_observers_);
- operation_context->set_change_observers(change_observers_);
+ operation_context->set_update_observers(*GetUpdateObservers(url.type()));
+ operation_context->set_change_observers(
+ *quota_util_->GetChangeObservers(url.type()));
operation_context->set_root_path(base_path_);
return new LocalFileSystemOperation(url, context, operation_context.Pass());
}
@@ -170,7 +224,8 @@ TestFileSystemBackend::CreateFileStreamWriter(
int64 offset,
FileSystemContext* context) const {
return scoped_ptr<fileapi::FileStreamWriter>(
- new SandboxFileStreamWriter(context, url, offset, update_observers_));
+ new SandboxFileStreamWriter(context, url, offset,
+ *GetUpdateObservers(url.type())));
}
FileSystemQuotaUtil* TestFileSystemBackend::GetQuotaUtil() {
@@ -179,14 +234,13 @@ FileSystemQuotaUtil* TestFileSystemBackend::GetQuotaUtil() {
const UpdateObserverList* TestFileSystemBackend::GetUpdateObservers(
FileSystemType type) const {
- return &update_observers_;
+ return quota_util_->GetUpdateObservers(type);
}
void TestFileSystemBackend::AddFileChangeObserver(
FileChangeObserver* observer) {
- ChangeObserverList::Source source = change_observers_.source();
- source.AddObserver(observer, task_runner_.get());
- change_observers_ = ChangeObserverList(source);
+ quota_util_->AddFileChangeObserver(
+ kFileSystemTypeTest, observer, quota_util_->task_runner());
}
} // namespace fileapi
« no previous file with comments | « webkit/browser/fileapi/test_file_system_backend.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698