Index: chrome/browser/webdata/web_data_request_manager.cc |
diff --git a/chrome/browser/webdata/web_data_request_manager.cc b/chrome/browser/webdata/web_data_request_manager.cc |
deleted file mode 100644 |
index db2e80fa7287c3bd496967407470c61ec9c6bb3e..0000000000000000000000000000000000000000 |
--- a/chrome/browser/webdata/web_data_request_manager.cc |
+++ /dev/null |
@@ -1,148 +0,0 @@ |
-// Copyright 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/webdata/web_data_request_manager.h" |
- |
-#include "base/bind.h" |
-#include "base/message_loop.h" |
-#include "base/stl_util.h" |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// |
-// WebDataRequest implementation. |
-// |
-//////////////////////////////////////////////////////////////////////////////// |
- |
-WebDataRequest::WebDataRequest(WebDataServiceConsumer* consumer, |
- WebDataRequestManager* manager) |
- : manager_(manager), |
- cancelled_(false), |
- consumer_(consumer), |
- result_(NULL) { |
- handle_ = manager_->GetNextRequestHandle(); |
- message_loop_ = MessageLoop::current(); |
- manager_->RegisterRequest(this); |
-} |
- |
-WebDataRequest::~WebDataRequest() { |
- if (manager_) { |
- manager_->CancelRequest(handle_); |
- } |
- if (result_.get()) { |
- result_->Destroy(); |
- } |
-} |
- |
-WebDataServiceBase::Handle WebDataRequest::GetHandle() const { |
- return handle_; |
-} |
- |
-WebDataServiceConsumer* WebDataRequest::GetConsumer() const { |
- return consumer_; |
-} |
- |
-MessageLoop* WebDataRequest::GetMessageLoop() const { |
- return message_loop_; |
-} |
- |
-bool WebDataRequest::IsCancelled() const { |
- base::AutoLock l(cancel_lock_); |
- return cancelled_; |
-} |
- |
-void WebDataRequest::Cancel() { |
- base::AutoLock l(cancel_lock_); |
- cancelled_ = true; |
- consumer_ = NULL; |
- manager_ = NULL; |
-} |
- |
-void WebDataRequest::OnComplete() { |
- manager_= NULL; |
-} |
- |
-void WebDataRequest::SetResult(scoped_ptr<WDTypedResult> r) { |
- result_ = r.Pass(); |
-} |
- |
-scoped_ptr<WDTypedResult> WebDataRequest::GetResult(){ |
- return result_.Pass(); |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// |
-// WebDataRequestManager implementation. |
-// |
-//////////////////////////////////////////////////////////////////////////////// |
- |
-WebDataRequestManager::WebDataRequestManager() |
- : next_request_handle_(1) { |
-} |
- |
-WebDataRequestManager::~WebDataRequestManager() { |
- base::AutoLock l(pending_lock_); |
- for (RequestMap::iterator i = pending_requests_.begin(); |
- i != pending_requests_.end(); ++i) { |
- i->second->Cancel(); |
- } |
- pending_requests_.clear(); |
-} |
- |
-void WebDataRequestManager::RegisterRequest(WebDataRequest* request) { |
- base::AutoLock l(pending_lock_); |
- pending_requests_[request->GetHandle()] = request; |
-} |
- |
-int WebDataRequestManager::GetNextRequestHandle() { |
- base::AutoLock l(pending_lock_); |
- return ++next_request_handle_; |
-} |
- |
-void WebDataRequestManager::CancelRequest(WebDataServiceBase::Handle h) { |
- base::AutoLock l(pending_lock_); |
- RequestMap::iterator i = pending_requests_.find(h); |
- if (i == pending_requests_.end()) { |
- NOTREACHED() << "Canceling a nonexistent web data service request"; |
- return; |
- } |
- i->second->Cancel(); |
- pending_requests_.erase(i); |
-} |
- |
-void WebDataRequestManager::RequestCompleted( |
- scoped_ptr<WebDataRequest> request) { |
- MessageLoop* loop = request->GetMessageLoop(); |
- loop->PostTask(FROM_HERE, base::Bind( |
- &WebDataRequestManager::RequestCompletedOnThread, |
- this, |
- base::Passed(&request))); |
-} |
- |
-void WebDataRequestManager::RequestCompletedOnThread( |
- scoped_ptr<WebDataRequest> request) { |
- if (request->IsCancelled()) |
- return; |
- { |
- base::AutoLock l(pending_lock_); |
- RequestMap::iterator i = pending_requests_.find(request->GetHandle()); |
- if (i == pending_requests_.end()) { |
- NOTREACHED() << "Request completed called for an unknown request"; |
- return; |
- } |
- |
- // Take ownership of the request object and remove it from the map. |
- pending_requests_.erase(i); |
- } |
- |
- // Notify the consumer if needed. |
- if (!request->IsCancelled()) { |
- WebDataServiceConsumer* consumer = request->GetConsumer(); |
- request->OnComplete(); |
- if (consumer) { |
- scoped_ptr<WDTypedResult> r = request->GetResult(); |
- consumer->OnWebDataServiceRequestDone(request->GetHandle(), r.get()); |
- } |
- } |
- |
-} |