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

Unified Diff: webkit/appcache/mock_appcache_storage.cc

Issue 8515019: base::Bind: Convert most of webkit/appcache. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove unused include. Created 9 years, 1 month 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/appcache/mock_appcache_storage.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/appcache/mock_appcache_storage.cc
diff --git a/webkit/appcache/mock_appcache_storage.cc b/webkit/appcache/mock_appcache_storage.cc
index 8560074aa3266902c7d5d634d32b6c77f4eac441..43533905b60b7f48f96bd9bdc94226909a38831e 100644
--- a/webkit/appcache/mock_appcache_storage.cc
+++ b/webkit/appcache/mock_appcache_storage.cc
@@ -4,6 +4,7 @@
#include "webkit/appcache/mock_appcache_storage.h"
+#include "base/bind.h"
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop.h"
@@ -28,7 +29,7 @@ namespace appcache {
MockAppCacheStorage::MockAppCacheStorage(AppCacheService* service)
: AppCacheStorage(service),
- ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)),
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
simulate_make_group_obsolete_failure_(false),
simulate_store_group_and_newest_cache_failure_(false),
simulate_find_main_resource_(false),
@@ -42,22 +43,23 @@ MockAppCacheStorage::MockAppCacheStorage(AppCacheService* service)
}
MockAppCacheStorage::~MockAppCacheStorage() {
- STLDeleteElements(&pending_tasks_);
}
void MockAppCacheStorage::GetAllInfo(Delegate* delegate) {
- ScheduleTask(method_factory_.NewRunnableMethod(
- &MockAppCacheStorage::ProcessGetAllInfo,
- make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
+ ScheduleTask(
+ base::Bind(&MockAppCacheStorage::ProcessGetAllInfo,
+ weak_factory_.GetWeakPtr(),
+ make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
}
void MockAppCacheStorage::LoadCache(int64 id, Delegate* delegate) {
DCHECK(delegate);
AppCache* cache = working_set_.GetCache(id);
if (ShouldCacheLoadAppearAsync(cache)) {
- ScheduleTask(method_factory_.NewRunnableMethod(
- &MockAppCacheStorage::ProcessLoadCache,
- id, make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
+ ScheduleTask(
+ base::Bind(&MockAppCacheStorage::ProcessLoadCache,
+ weak_factory_.GetWeakPtr(), id,
+ make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
return;
}
ProcessLoadCache(id, GetOrCreateDelegateReference(delegate));
@@ -68,10 +70,10 @@ void MockAppCacheStorage::LoadOrCreateGroup(
DCHECK(delegate);
AppCacheGroup* group = working_set_.GetGroup(manifest_url);
if (ShouldGroupLoadAppearAsync(group)) {
- ScheduleTask(method_factory_.NewRunnableMethod(
- &MockAppCacheStorage::ProcessLoadOrCreateGroup,
- manifest_url,
- make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
+ ScheduleTask(
+ base::Bind(&MockAppCacheStorage::ProcessLoadOrCreateGroup,
+ weak_factory_.GetWeakPtr(), manifest_url,
+ make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
return;
}
ProcessLoadOrCreateGroup(
@@ -83,11 +85,11 @@ void MockAppCacheStorage::StoreGroupAndNewestCache(
DCHECK(group && delegate && newest_cache);
// Always make this operation look async.
- ScheduleTask(method_factory_.NewRunnableMethod(
- &MockAppCacheStorage::ProcessStoreGroupAndNewestCache,
- make_scoped_refptr(group),
- make_scoped_refptr(newest_cache),
- make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
+ ScheduleTask(
+ base::Bind(&MockAppCacheStorage::ProcessStoreGroupAndNewestCache,
+ weak_factory_.GetWeakPtr(), make_scoped_refptr(group),
+ make_scoped_refptr(newest_cache),
+ make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
}
void MockAppCacheStorage::FindResponseForMainRequest(
@@ -97,10 +99,10 @@ void MockAppCacheStorage::FindResponseForMainRequest(
// Note: MockAppCacheStorage does not respect the preferred_manifest_url.
// Always make this operation look async.
- ScheduleTask(method_factory_.NewRunnableMethod(
- &MockAppCacheStorage::ProcessFindResponseForMainRequest,
- url,
- make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
+ ScheduleTask(
+ base::Bind(&MockAppCacheStorage::ProcessFindResponseForMainRequest,
+ weak_factory_.GetWeakPtr(), url,
+ make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
}
void MockAppCacheStorage::FindResponseForSubRequest(
@@ -140,10 +142,10 @@ void MockAppCacheStorage::MakeGroupObsolete(
DCHECK(group && delegate);
// Always make this method look async.
- ScheduleTask(method_factory_.NewRunnableMethod(
- &MockAppCacheStorage::ProcessMakeGroupObsolete,
- make_scoped_refptr(group),
- make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
+ ScheduleTask(
+ base::Bind(&MockAppCacheStorage::ProcessMakeGroupObsolete,
+ weak_factory_.GetWeakPtr(), make_scoped_refptr(group),
+ make_scoped_refptr(GetOrCreateDelegateReference(delegate))));
}
AppCacheResponseReader* MockAppCacheStorage::CreateResponseReader(
@@ -405,19 +407,19 @@ void MockAppCacheStorage::ProcessMakeGroupObsolete(
delegate_ref->delegate->OnGroupMadeObsolete(group, true);
}
-void MockAppCacheStorage::ScheduleTask(Task* task) {
+void MockAppCacheStorage::ScheduleTask(const base::Closure& task) {
pending_tasks_.push_back(task);
- MessageLoop::current()->PostTask(FROM_HERE,
- method_factory_.NewRunnableMethod(
- &MockAppCacheStorage::RunOnePendingTask));
+ MessageLoop::current()->PostTask(
+ FROM_HERE,
+ base::Bind(&MockAppCacheStorage::RunOnePendingTask,
+ weak_factory_.GetWeakPtr()));
}
void MockAppCacheStorage::RunOnePendingTask() {
DCHECK(!pending_tasks_.empty());
- Task* task = pending_tasks_.front();
+ base::Closure task = pending_tasks_.front();
pending_tasks_.pop_front();
- task->Run();
- delete task;
+ task.Run();
}
void MockAppCacheStorage::AddStoredCache(AppCache* cache) {
« no previous file with comments | « webkit/appcache/mock_appcache_storage.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698