| Index: net/http/http_cache.cc
|
| diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
| index e9685264db326fa47e0cab828f88737c8f0e669d..58fa5cb14e232fcb67b3329008c24b2c1d305bcb 100644
|
| --- a/net/http/http_cache.cc
|
| +++ b/net/http/http_cache.cc
|
| @@ -23,7 +23,6 @@
|
| #include "base/string_number_conversions.h"
|
| #include "base/string_util.h"
|
| #include "base/stringprintf.h"
|
| -#include "net/base/completion_callback.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/load_flags.h"
|
| #include "net/base/net_errors.h"
|
| @@ -144,16 +143,11 @@ enum WorkItemOperation {
|
| class HttpCache::WorkItem {
|
| public:
|
| WorkItem(WorkItemOperation operation, Transaction* trans, ActiveEntry** entry)
|
| - : operation_(operation),
|
| - trans_(trans),
|
| - entry_(entry),
|
| + : operation_(operation), trans_(trans), entry_(entry), callback_(NULL),
|
| backend_(NULL) {}
|
| WorkItem(WorkItemOperation operation, Transaction* trans,
|
| - const CompletionCallback& cb, disk_cache::Backend** backend)
|
| - : operation_(operation),
|
| - trans_(trans),
|
| - entry_(NULL),
|
| - callback_(cb),
|
| + OldCompletionCallback* cb, disk_cache::Backend** backend)
|
| + : operation_(operation), trans_(trans), entry_(NULL), callback_(cb),
|
| backend_(backend) {}
|
| ~WorkItem() {}
|
|
|
| @@ -171,31 +165,25 @@ class HttpCache::WorkItem {
|
| bool DoCallback(int result, disk_cache::Backend* backend) {
|
| if (backend_)
|
| *backend_ = backend;
|
| - if (!callback_.is_null()) {
|
| - callback_.Run(result);
|
| + if (callback_) {
|
| + callback_->Run(result);
|
| return true;
|
| }
|
| return false;
|
| }
|
|
|
| - void ClearCallback() {
|
| - callback_.Reset();
|
| - }
|
| -
|
| - bool IsValid() const {
|
| - return trans_ || entry_ || !callback_.is_null();
|
| - }
|
| -
|
| WorkItemOperation operation() { return operation_; }
|
| void ClearTransaction() { trans_ = NULL; }
|
| void ClearEntry() { entry_ = NULL; }
|
| + void ClearCallback() { callback_ = NULL; }
|
| bool Matches(Transaction* trans) const { return trans == trans_; }
|
| + bool IsValid() const { return trans_ || entry_ || callback_; }
|
|
|
| private:
|
| WorkItemOperation operation_;
|
| Transaction* trans_;
|
| ActiveEntry** entry_;
|
| - CompletionCallback callback_;
|
| + OldCompletionCallback* callback_; // User callback.
|
| disk_cache::Backend** backend_;
|
| };
|
|
|
| @@ -434,8 +422,8 @@ HttpCache::~HttpCache() {
|
| }
|
|
|
| int HttpCache::GetBackend(disk_cache::Backend** backend,
|
| - const CompletionCallback& callback) {
|
| - DCHECK(!callback.is_null());
|
| + OldCompletionCallback* callback) {
|
| + DCHECK(callback != NULL);
|
|
|
| if (disk_cache_.get()) {
|
| *backend = disk_cache_.get();
|
| @@ -464,10 +452,8 @@ void HttpCache::WriteMetadata(const GURL& url,
|
| return;
|
|
|
| // Do lazy initialization of disk cache if needed.
|
| - if (!disk_cache_.get()) {
|
| - // We don't care about the result.
|
| - CreateBackend(NULL, CompletionCallback());
|
| - }
|
| + if (!disk_cache_.get())
|
| + CreateBackend(NULL, NULL); // We don't care about the result.
|
|
|
| HttpCache::Transaction* trans = new HttpCache::Transaction(this);
|
| MetadataWriter* writer = new MetadataWriter(trans);
|
| @@ -506,10 +492,8 @@ void HttpCache::OnExternalCacheHit(const GURL& url,
|
|
|
| int HttpCache::CreateTransaction(scoped_ptr<HttpTransaction>* trans) {
|
| // Do lazy initialization of disk cache if needed.
|
| - if (!disk_cache_.get()) {
|
| - // We don't care about the result.
|
| - CreateBackend(NULL, CompletionCallback());
|
| - }
|
| + if (!disk_cache_.get())
|
| + CreateBackend(NULL, NULL); // We don't care about the result.
|
|
|
| trans->reset(new HttpCache::Transaction(this));
|
| return OK;
|
| @@ -528,7 +512,7 @@ HttpNetworkSession* HttpCache::GetSession() {
|
| //-----------------------------------------------------------------------------
|
|
|
| int HttpCache::CreateBackend(disk_cache::Backend** backend,
|
| - const CompletionCallback& callback) {
|
| + OldCompletionCallback* callback) {
|
| if (!backend_factory_.get())
|
| return ERR_FAILED;
|
|
|
| @@ -541,7 +525,7 @@ int HttpCache::CreateBackend(disk_cache::Backend** backend,
|
| // entry, so we use an empty key for it.
|
| PendingOp* pending_op = GetPendingOp("");
|
| if (pending_op->writer) {
|
| - if (!callback.is_null())
|
| + if (callback)
|
| pending_op->pending_queue.push_back(item.release());
|
| return ERR_IO_PENDING;
|
| }
|
| @@ -569,8 +553,7 @@ int HttpCache::GetBackendForTransaction(Transaction* trans) {
|
| if (!building_backend_)
|
| return ERR_FAILED;
|
|
|
| - WorkItem* item = new WorkItem(WI_CREATE_BACKEND, trans,
|
| - CompletionCallback(), NULL);
|
| + WorkItem* item = new WorkItem(WI_CREATE_BACKEND, trans, NULL, NULL);
|
| PendingOp* pending_op = GetPendingOp("");
|
| DCHECK(pending_op->writer);
|
| pending_op->pending_queue.push_back(item);
|
|
|