diff options
Diffstat (limited to 'chrome/browser/suspend_controller.cc')
-rw-r--r-- | chrome/browser/suspend_controller.cc | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/chrome/browser/suspend_controller.cc b/chrome/browser/suspend_controller.cc deleted file mode 100644 index 9eb9eab..0000000 --- a/chrome/browser/suspend_controller.cc +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 2006-2008 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/suspend_controller.h" - -#include "base/logging.h" -#include "base/message_loop.h" -#include "base/task.h" -#include "base/thread.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/profile.h" -#include "chrome/browser/resource_dispatcher_host.h" -#include "chrome/browser/safe_browsing/safe_browsing_service.h" -#include "net/url_request/url_request_job.h" -#include "net/url_request/url_request_job_tracker.h" - -// Static member. -bool SuspendController::is_suspended_ = false; - -// Static method. -void SuspendController::OnSuspend(Profile* profile) { - if (is_suspended_) - return; - is_suspended_ = true; - - LOG(INFO) << "Received APM suspend message"; - - SuspendController* controller = g_browser_process->suspend_controller(); - - MessageLoop* io_loop = g_browser_process->io_thread()->message_loop(); - io_loop->PostTask(FROM_HERE, - NewRunnableMethod(controller, - &SuspendController::StopRequests, - profile)); - - ResourceDispatcherHost* rdh = g_browser_process->resource_dispatcher_host(); - SafeBrowsingService* safe_browsing_service = rdh->safe_browsing_service(); - io_loop->PostTask(FROM_HERE, - NewRunnableMethod(safe_browsing_service, - &SafeBrowsingService::OnSuspend)); -} - -// Static method. -void SuspendController::OnResume(Profile* profile) { - if (!is_suspended_) - return; - is_suspended_ = false; - - LOG(INFO) << "Received APM resume message"; - - SuspendController* controller = g_browser_process->suspend_controller(); - - MessageLoop* io_loop = g_browser_process->io_thread()->message_loop(); - io_loop->PostTask(FROM_HERE, - NewRunnableMethod(controller, - &SuspendController::AllowNewRequests, - profile)); - - ResourceDispatcherHost* rdh = g_browser_process->resource_dispatcher_host(); - SafeBrowsingService* safe_browsing_service = rdh->safe_browsing_service(); - io_loop->PostTask(FROM_HERE, - NewRunnableMethod(safe_browsing_service, - &SafeBrowsingService::OnResume)); -} - -void SuspendController::StopRequests(Profile* profile) { - // Cancel all requests and stop creating new ones. - URLRequestJobTracker::JobIterator it = g_url_request_job_tracker.begin(); - for (;it != g_url_request_job_tracker.end(); ++it) { - URLRequestJob* job = const_cast<URLRequestJob*>(*it); - job->Kill(); - } - - // Close the network session. - profile->GetRequestContext()->http_transaction_factory()->Suspend(true); -} - -void SuspendController::AllowNewRequests(Profile* profile) { - // Re-enable the network session. - profile->GetRequestContext()->http_transaction_factory()->Suspend(false); -} - |