summaryrefslogtreecommitdiffstats
path: root/chrome/browser/google_apis/request_registry.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/google_apis/request_registry.cc')
-rw-r--r--chrome/browser/google_apis/request_registry.cc77
1 files changed, 1 insertions, 76 deletions
diff --git a/chrome/browser/google_apis/request_registry.cc b/chrome/browser/google_apis/request_registry.cc
index f2f773c..e7b8f74 100644
--- a/chrome/browser/google_apis/request_registry.cc
+++ b/chrome/browser/google_apis/request_registry.cc
@@ -29,7 +29,6 @@ RequestRegistry::Request::Request(RequestRegistry* registry,
RequestRegistry::Request::~Request() {
DCHECK(progress_status_.transfer_state == REQUEST_COMPLETED ||
- progress_status_.transfer_state == REQUEST_SUSPENDED ||
progress_status_.transfer_state == REQUEST_FAILED);
}
@@ -56,21 +55,6 @@ void RequestRegistry::Request::NotifyFinish(
registry_->OnRequestFinish(progress_status().request_id);
}
-void RequestRegistry::Request::NotifySuspend() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK(progress_status_.transfer_state >= REQUEST_STARTED);
- progress_status_.transfer_state = REQUEST_SUSPENDED;
- registry_->OnRequestSuspend(progress_status().request_id);
-}
-
-void RequestRegistry::Request::NotifyResume() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (progress_status_.transfer_state == REQUEST_NOT_STARTED) {
- progress_status_.transfer_state = REQUEST_IN_PROGRESS;
- registry_->OnRequestResume(this, &progress_status_);
- }
-}
-
RequestRegistry::RequestRegistry() {
in_flight_requests_.set_check_on_null_data(true);
}
@@ -109,16 +93,7 @@ bool RequestRegistry::CancelForFilePath(const base::FilePath& file_path) {
}
void RequestRegistry::CancelRequest(Request* request) {
- if (request->progress_status().transfer_state == REQUEST_SUSPENDED) {
- // SUSPENDED request already completed its job (like calling back to
- // its client code). Invoking request->Cancel() again on it is a kind of
- // 'double deletion'. So here we directly call OnRequestFinish and just
- // unregister the request from the registry.
- // TODO(kinaba): http://crbug.com/164098 Get rid of the hack.
- OnRequestFinish(request->progress_status().request_id);
- } else {
- request->Cancel();
- }
+ request->Cancel();
}
void RequestRegistry::OnRequestStart(
@@ -140,54 +115,4 @@ void RequestRegistry::OnRequestFinish(RequestID id) {
in_flight_requests_.Remove(id);
}
-void RequestRegistry::OnRequestResume(
- RequestRegistry::Request* request,
- RequestProgressStatus* new_status) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- // Find the corresponding suspended task.
- Request* suspended = NULL;
- for (RequestIDMap::iterator iter(&in_flight_requests_);
- !iter.IsAtEnd();
- iter.Advance()) {
- Request* in_flight_request = iter.GetCurrentValue();
- const RequestProgressStatus& status =
- in_flight_request->progress_status();
- if (status.transfer_state == REQUEST_SUSPENDED &&
- status.file_path == request->progress_status().file_path) {
- suspended = in_flight_request;
- break;
- }
- }
-
- if (!suspended) {
- // Preceding suspended requests was not found. Assume it was canceled.
- //
- // request->Cancel() needs to be called to properly shut down the
- // current request, but request->Cancel() tries to unregister itself
- // from the registry. So, as a hack, temporarily assign it an ID.
- // TODO(kinaba): http://crbug.com/164098 Get rid of it.
- new_status->request_id = in_flight_requests_.Add(request);
- CancelRequest(request);
- return;
- }
-
- // Remove the old one and initiate the new request.
- const RequestProgressStatus& old_status = suspended->progress_status();
- RequestID old_id = old_status.request_id;
- in_flight_requests_.Remove(old_id);
- new_status->request_id = in_flight_requests_.Add(request);
- DVLOG(1) << "Request[" << old_id << " -> " <<
- new_status->request_id << "] resumed.";
-}
-
-void RequestRegistry::OnRequestSuspend(RequestID id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- Request* request = in_flight_requests_.Lookup(id);
- DCHECK(request);
-
- DVLOG(1) << "Request[" << id << "] suspended.";
-}
-
} // namespace google_apis