summaryrefslogtreecommitdiffstats
path: root/chromium/components/webdata/common/web_data_request_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/webdata/common/web_data_request_manager.cc')
-rw-r--r--chromium/components/webdata/common/web_data_request_manager.cc145
1 files changed, 0 insertions, 145 deletions
diff --git a/chromium/components/webdata/common/web_data_request_manager.cc b/chromium/components/webdata/common/web_data_request_manager.cc
deleted file mode 100644
index 9aba721da25..00000000000
--- a/chromium/components/webdata/common/web_data_request_manager.cc
+++ /dev/null
@@ -1,145 +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 "components/webdata/common/web_data_request_manager.h"
-
-#include "base/bind.h"
-#include "base/message_loop/message_loop.h"
-#include "base/stl_util.h"
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// WebDataRequest implementation.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-WebDataRequest::WebDataRequest(WebDataServiceConsumer* consumer,
- WebDataRequestManager* manager)
- : manager_(manager), cancelled_(false), consumer_(consumer) {
- handle_ = manager_->GetNextRequestHandle();
- message_loop_ = base::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_;
-}
-
-base::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) {
- base::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());
- }
- }
-
-}