Index: webkit/appcache/appcache_url_request_job_unittest.cc |
diff --git a/webkit/appcache/appcache_url_request_job_unittest.cc b/webkit/appcache/appcache_url_request_job_unittest.cc |
index eadac539b2e2c18ae22d5aa99db93e864a8a9520..aea70e766e12c8770d70c1b8ff652e5930bcdffe 100644 |
--- a/webkit/appcache/appcache_url_request_job_unittest.cc |
+++ b/webkit/appcache/appcache_url_request_job_unittest.cc |
@@ -5,6 +5,9 @@ |
#include <stack> |
#include <utility> |
+#include "base/bind.h" |
+#include "base/bind_helpers.h" |
+#include "base/callback.h" |
#include "base/compiler_specific.h" |
#include "base/pickle.h" |
#include "base/synchronization/waitable_event.h" |
@@ -212,10 +215,9 @@ class AppCacheURLRequestJobTest : public testing::Test { |
url_request_delegate_.reset(); |
DCHECK(!mock_factory_job_); |
- while (!task_stack_.empty()) { |
- delete task_stack_.top().first; |
+ while (!task_stack_.empty()) |
task_stack_.pop(); |
- } |
+ |
reader_.reset(); |
read_buffer_ = NULL; |
read_info_buffer_ = NULL; |
@@ -231,8 +233,8 @@ class AppCacheURLRequestJobTest : public testing::Test { |
// based objects get deleted. |
DCHECK(MessageLoop::current() == io_thread_->message_loop()); |
MessageLoop::current()->PostTask(FROM_HERE, |
- NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::TestFinishedUnwound)); |
+ base::Bind(&AppCacheURLRequestJobTest::TestFinishedUnwound, |
+ base::Unretained(this))); |
} |
void TestFinishedUnwound() { |
@@ -240,12 +242,12 @@ class AppCacheURLRequestJobTest : public testing::Test { |
test_finished_event_->Signal(); |
} |
- void PushNextTask(Task* task) { |
- task_stack_.push(std::pair<Task*, bool>(task, false)); |
+ void PushNextTask(const base::Closure& task) { |
+ task_stack_.push(std::pair<base::Closure, bool>(task, false)); |
} |
- void PushNextTaskAsImmediate(Task* task) { |
- task_stack_.push(std::pair<Task*, bool>(task, true)); |
+ void PushNextTaskAsImmediate(const base::Closure& task) { |
+ task_stack_.push(std::pair<base::Closure, bool>(task, true)); |
} |
void ScheduleNextTask() { |
@@ -254,13 +256,13 @@ class AppCacheURLRequestJobTest : public testing::Test { |
TestFinished(); |
return; |
} |
- scoped_ptr<Task> task(task_stack_.top().first); |
+ base::Closure task =task_stack_.top().first; |
bool immediate = task_stack_.top().second; |
task_stack_.pop(); |
if (immediate) |
- task->Run(); |
+ task.Run(); |
else |
- MessageLoop::current()->PostTask(FROM_HERE, task.release()); |
+ MessageLoop::current()->PostTask(FROM_HERE, task); |
} |
// Wrappers to call AppCacheResponseReader/Writer Read and Write methods |
@@ -276,9 +278,8 @@ class AppCacheURLRequestJobTest : public testing::Test { |
IOBuffer* body, int body_len) { |
DCHECK(body); |
scoped_refptr<IOBuffer> body_ref(body); |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::WriteResponseBody, |
- body_ref, body_len)); |
+ PushNextTask(base::Bind(&AppCacheURLRequestJobTest::WriteResponseBody, |
+ base::Unretained(this), body_ref, body_len)); |
WriteResponseHead(head); |
} |
@@ -456,8 +457,9 @@ class AppCacheURLRequestJobTest : public testing::Test { |
void DeliverNetworkResponse() { |
// This test has async steps. |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::VerifyDeliverNetworkResponse)); |
+ PushNextTask( |
+ base::Bind(&AppCacheURLRequestJobTest::VerifyDeliverNetworkResponse, |
+ base::Unretained(this))); |
AppCacheStorage* storage = service_->storage(); |
request_.reset( |
@@ -488,8 +490,9 @@ class AppCacheURLRequestJobTest : public testing::Test { |
void DeliverErrorResponse() { |
// This test has async steps. |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::VerifyDeliverErrorResponse)); |
+ PushNextTask( |
+ base::Bind(&AppCacheURLRequestJobTest::VerifyDeliverErrorResponse, |
+ base::Unretained(this))); |
AppCacheStorage* storage = service_->storage(); |
request_.reset( |
@@ -525,10 +528,12 @@ class AppCacheURLRequestJobTest : public testing::Test { |
// 2. Use net::URLRequest to retrieve it. |
// 3. Verify we received what we expected to receive. |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::VerifyDeliverSmallAppCachedResponse)); |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::RequestAppCachedResource, false)); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::VerifyDeliverSmallAppCachedResponse, |
+ base::Unretained(this))); |
+ PushNextTask( |
+ base::Bind(&AppCacheURLRequestJobTest::RequestAppCachedResource, |
+ base::Unretained(this), false)); |
writer_.reset(service_->storage()->CreateResponseWriter(GURL(), 0)); |
written_response_id_ = writer_->response_id(); |
@@ -593,10 +598,12 @@ class AppCacheURLRequestJobTest : public testing::Test { |
// 2. Use net::URLRequest to retrieve it. |
// 3. Verify we received what we expected to receive. |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::VerifyDeliverLargeAppCachedResponse)); |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::RequestAppCachedResource, true)); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::VerifyDeliverLargeAppCachedResponse, |
+ base::Unretained(this))); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::RequestAppCachedResource, |
+ base::Unretained(this), true)); |
writer_.reset(service_->storage()->CreateResponseWriter(GURL(), 0)); |
written_response_id_ = writer_->response_id(); |
@@ -635,10 +642,11 @@ class AppCacheURLRequestJobTest : public testing::Test { |
// 1. Write a small response to response storage. |
// 2. Use net::URLRequest to retrieve it a subset using a range request |
// 3. Verify we received what we expected to receive. |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::VerifyDeliverPartialResponse)); |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::MakeRangeRequest)); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::VerifyDeliverPartialResponse, |
+ base::Unretained(this))); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::MakeRangeRequest, base::Unretained(this))); |
writer_.reset(service_->storage()->CreateResponseWriter(GURL(), 0)); |
written_response_id_ = writer_->response_id(); |
WriteBasicResponse(); |
@@ -700,10 +708,11 @@ class AppCacheURLRequestJobTest : public testing::Test { |
// 2. Use net::URLRequest to retrieve it. |
// 3. Cancel the request after data starts coming in. |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::VerifyCancel)); |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::RequestAppCachedResource, true)); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::VerifyCancel, base::Unretained(this))); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::RequestAppCachedResource, |
+ base::Unretained(this), true)); |
writer_.reset(service_->storage()->CreateResponseWriter(GURL(), 0)); |
written_response_id_ = writer_->response_id(); |
@@ -728,10 +737,11 @@ class AppCacheURLRequestJobTest : public testing::Test { |
// 2. Use net::URLRequest to retrieve it. |
// 3. Cancel the request after data starts coming in. |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::VerifyCancel)); |
- PushNextTask(NewRunnableMethod( |
- this, &AppCacheURLRequestJobTest::RequestAppCachedResource, true)); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::VerifyCancel, base::Unretained(this))); |
+ PushNextTask(base::Bind( |
+ &AppCacheURLRequestJobTest::RequestAppCachedResource, |
+ base::Unretained(this), true)); |
writer_.reset(service_->storage()->CreateResponseWriter(GURL(), 0)); |
written_response_id_ = writer_->response_id(); |
@@ -748,7 +758,7 @@ class AppCacheURLRequestJobTest : public testing::Test { |
scoped_ptr<base::WaitableEvent> test_finished_event_; |
scoped_ptr<MockStorageDelegate> storage_delegate_; |
scoped_ptr<MockAppCacheService> service_; |
- std::stack<std::pair<Task*, bool> > task_stack_; |
+ std::stack<std::pair<base::Closure, bool> > task_stack_; |
scoped_ptr<AppCacheResponseReader> reader_; |
scoped_refptr<HttpResponseInfoIOBuffer> read_info_buffer_; |
@@ -820,7 +830,3 @@ TEST_F(AppCacheURLRequestJobTest, CancelRequestWithIOPending) { |
} |
} // namespace appcache |
- |
-// AppCacheURLRequestJobTest is expected to always live longer than the |
-// runnable methods. This lets us call NewRunnableMethod on its instances. |
-DISABLE_RUNNABLE_METHOD_REFCOUNT(appcache::AppCacheURLRequestJobTest); |