summaryrefslogtreecommitdiffstats
path: root/webkit/appcache
diff options
context:
space:
mode:
authormichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-28 22:44:57 +0000
committermichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-28 22:44:57 +0000
commite29f9339343b075dd9dfd1519caa05679f5db1b9 (patch)
treef061fd7a8d4a56af77095a03b7758afd9cdc646b /webkit/appcache
parent11b63ca14190b6e3dc2f57dd31ae25c39bc9b4c7 (diff)
downloadchromium_src-e29f9339343b075dd9dfd1519caa05679f5db1b9.zip
chromium_src-e29f9339343b075dd9dfd1519caa05679f5db1b9.tar.gz
chromium_src-e29f9339343b075dd9dfd1519caa05679f5db1b9.tar.bz2
base::Bind: Cleanups in webkit/appcache
Review URL: http://codereview.chromium.org/8399019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107812 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache')
-rw-r--r--webkit/appcache/appcache_response.cc9
-rw-r--r--webkit/appcache/appcache_response.h6
-rw-r--r--webkit/appcache/appcache_service.cc7
-rw-r--r--webkit/appcache/appcache_service_unittest.cc8
-rw-r--r--webkit/appcache/appcache_url_request_job.cc8
-rw-r--r--webkit/appcache/appcache_url_request_job.h4
-rw-r--r--webkit/appcache/mock_appcache_service.cc5
7 files changed, 25 insertions, 22 deletions
diff --git a/webkit/appcache/appcache_response.cc b/webkit/appcache/appcache_response.cc
index 28e035b..3f105f0 100644
--- a/webkit/appcache/appcache_response.cc
+++ b/webkit/appcache/appcache_response.cc
@@ -4,6 +4,7 @@
#include "webkit/appcache/appcache_response.h"
+#include "base/bind.h"
#include "base/logging.h"
#include "base/message_loop.h"
#include "base/pickle.h"
@@ -75,7 +76,7 @@ AppCacheResponseIO::AppCacheResponseIO(
int64 response_id, int64 group_id, AppCacheDiskCacheInterface* disk_cache)
: response_id_(response_id), group_id_(group_id), disk_cache_(disk_cache),
entry_(NULL), buffer_len_(0), user_callback_(NULL),
- ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)),
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
ALLOW_THIS_IN_INITIALIZER_LIST(raw_callback_(
new net::CancelableOldCompletionCallback<AppCacheResponseIO>(
this, &AppCacheResponseIO::OnRawIOComplete))) {
@@ -88,9 +89,9 @@ AppCacheResponseIO::~AppCacheResponseIO() {
}
void AppCacheResponseIO::ScheduleIOOldCompletionCallback(int result) {
- MessageLoop::current()->PostTask(FROM_HERE,
- method_factory_.NewRunnableMethod(
- &AppCacheResponseIO::OnIOComplete, result));
+ MessageLoop::current()->PostTask(
+ FROM_HERE, base::Bind(&AppCacheResponseIO::OnIOComplete,
+ weak_factory_.GetWeakPtr(), result));
}
void AppCacheResponseIO::InvokeUserOldCompletionCallback(int result) {
diff --git a/webkit/appcache/appcache_response.h b/webkit/appcache/appcache_response.h
index 1f19ba6..7119d6e 100644
--- a/webkit/appcache/appcache_response.h
+++ b/webkit/appcache/appcache_response.h
@@ -8,7 +8,7 @@
#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
-#include "base/task.h"
+#include "base/memory/weak_ptr.h"
#include "googleurl/src/gurl.h"
#include "net/base/completion_callback.h"
#include "net/http/http_response_info.h"
@@ -100,8 +100,6 @@ class APPCACHE_EXPORT AppCacheResponseIO {
int64 response_id() const { return response_id_; }
protected:
- friend class ScopedRunnableMethodFactory<AppCacheResponseIO>;
-
template <class T>
class EntryCallback : public net::CancelableOldCompletionCallback<T> {
public:
@@ -137,7 +135,7 @@ class APPCACHE_EXPORT AppCacheResponseIO {
scoped_refptr<net::IOBuffer> buffer_;
int buffer_len_;
net::OldCompletionCallback* user_callback_;
- ScopedRunnableMethodFactory<AppCacheResponseIO> method_factory_;
+ base::WeakPtrFactory<AppCacheResponseIO> weak_factory_;
private:
void OnRawIOComplete(int result);
diff --git a/webkit/appcache/appcache_service.cc b/webkit/appcache/appcache_service.cc
index e1fac1b..a2d9097 100644
--- a/webkit/appcache/appcache_service.cc
+++ b/webkit/appcache/appcache_service.cc
@@ -4,6 +4,7 @@
#include "webkit/appcache/appcache_service.h"
+#include "base/bind.h"
#include "base/logging.h"
#include "base/message_loop.h"
#include "base/stl_util.h"
@@ -49,13 +50,13 @@ class AppCacheService::AsyncHelper
if (callback_) {
// Defer to guarentee async completion.
MessageLoop::current()->PostTask(
- FROM_HERE,
- NewRunnableFunction(&DeferredCallCallback, callback_, rv));
+ FROM_HERE, base::Bind(&DeferredCallCallback, callback_, rv));
}
callback_ = NULL;
}
- static void DeferredCallCallback(net::OldCompletionCallback* callback, int rv) {
+ static void DeferredCallCallback(net::OldCompletionCallback* callback,
+ int rv) {
callback->Run(rv);
}
diff --git a/webkit/appcache/appcache_service_unittest.cc b/webkit/appcache/appcache_service_unittest.cc
index dd37d47..0182f86 100644
--- a/webkit/appcache/appcache_service_unittest.cc
+++ b/webkit/appcache/appcache_service_unittest.cc
@@ -4,6 +4,7 @@
#include <string>
+#include "base/bind.h"
#include "base/message_loop.h"
#include "base/pickle.h"
#include "net/base/completion_callback.h"
@@ -65,9 +66,10 @@ class MockResponseReader : public AppCacheResponseReader {
private:
void ScheduleUserCallback(int result) {
- MessageLoop::current()->PostTask(FROM_HERE,
- method_factory_.NewRunnableMethod(
- &MockResponseReader::InvokeUserOldCompletionCallback, result));
+ MessageLoop::current()->PostTask(
+ FROM_HERE,
+ base::Bind(&MockResponseReader::InvokeUserOldCompletionCallback,
+ weak_factory_.GetWeakPtr(), result));
}
scoped_ptr<net::HttpResponseInfo> info_;
diff --git a/webkit/appcache/appcache_url_request_job.cc b/webkit/appcache/appcache_url_request_job.cc
index d1c9d18..5c31256 100644
--- a/webkit/appcache/appcache_url_request_job.cc
+++ b/webkit/appcache/appcache_url_request_job.cc
@@ -30,7 +30,7 @@ AppCacheURLRequestJob::AppCacheURLRequestJob(
cache_entry_not_found_(false),
ALLOW_THIS_IN_INITIALIZER_LIST(read_callback_(
this, &AppCacheURLRequestJob::OnReadComplete)),
- ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
+ ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
DCHECK(storage_);
}
@@ -73,8 +73,8 @@ void AppCacheURLRequestJob::MaybeBeginDelivery() {
// callbacks happen as they would for network requests.
MessageLoop::current()->PostTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(
- &AppCacheURLRequestJob::BeginDelivery));
+ base::Bind(&AppCacheURLRequestJob::BeginDelivery,
+ weak_factory_.GetWeakPtr()));
}
}
@@ -220,7 +220,7 @@ void AppCacheURLRequestJob::Kill() {
storage_ = NULL;
}
net::URLRequestJob::Kill();
- method_factory_.RevokeAll();
+ weak_factory_.InvalidateWeakPtrs();
}
}
diff --git a/webkit/appcache/appcache_url_request_job.h b/webkit/appcache/appcache_url_request_job.h
index dfd67d9..553bbab 100644
--- a/webkit/appcache/appcache_url_request_job.h
+++ b/webkit/appcache/appcache_url_request_job.h
@@ -7,7 +7,7 @@
#include <string>
-#include "base/task.h"
+#include "base/memory/weak_ptr.h"
#include "net/http/http_byte_range.h"
#include "net/url_request/url_request_job.h"
#include "webkit/appcache/appcache_entry.h"
@@ -137,7 +137,7 @@ class APPCACHE_EXPORT AppCacheURLRequestJob : public net::URLRequestJob,
scoped_ptr<net::HttpResponseInfo> range_response_info_;
scoped_ptr<AppCacheResponseReader> reader_;
net::OldCompletionCallbackImpl<AppCacheURLRequestJob> read_callback_;
- ScopedRunnableMethodFactory<AppCacheURLRequestJob> method_factory_;
+ base::WeakPtrFactory<AppCacheURLRequestJob> weak_factory_;
};
} // namespace appcache
diff --git a/webkit/appcache/mock_appcache_service.cc b/webkit/appcache/mock_appcache_service.cc
index a78fd39..d87f017 100644
--- a/webkit/appcache/mock_appcache_service.cc
+++ b/webkit/appcache/mock_appcache_service.cc
@@ -4,6 +4,7 @@
#include "webkit/appcache/mock_appcache_service.h"
+#include "base/bind.h"
#include "base/message_loop.h"
namespace appcache {
@@ -17,8 +18,8 @@ void MockAppCacheService::DeleteAppCachesForOrigin(
++delete_called_count_;
MessageLoop::current()->PostTask(
FROM_HERE,
- NewRunnableFunction(&DeferredCallCallback, callback,
- mock_delete_appcaches_for_origin_result_));
+ base::Bind(&DeferredCallCallback, callback,
+ mock_delete_appcaches_for_origin_result_));
}
} // namespace appcache