| Index: content/browser/service_worker/service_worker_job_coordinator.cc
|
| diff --git a/content/browser/service_worker/service_worker_job_coordinator.cc b/content/browser/service_worker/service_worker_job_coordinator.cc
|
| index f2b54389d1175e19292c0a9ed8ef78fad7ddf458..6da772c54efae2411676d3bfbc8721754c03da05 100644
|
| --- a/content/browser/service_worker/service_worker_job_coordinator.cc
|
| +++ b/content/browser/service_worker/service_worker_job_coordinator.cc
|
| @@ -41,6 +41,14 @@ void ServiceWorkerJobCoordinator::JobQueue::Pop(
|
| jobs_.front()->Start();
|
| }
|
|
|
| +void ServiceWorkerJobCoordinator::JobQueue::AbortAll() {
|
| + for (std::deque<ServiceWorkerRegisterJobBase*>::iterator it = jobs_.begin();
|
| + it != jobs_.end(); ++it) {
|
| + (*it)->Abort();
|
| + }
|
| + STLDeleteElements(&jobs_);
|
| +}
|
| +
|
| void ServiceWorkerJobCoordinator::JobQueue::ClearForShutdown() {
|
| STLDeleteElements(&jobs_);
|
| }
|
| @@ -84,6 +92,14 @@ void ServiceWorkerJobCoordinator::Unregister(
|
| queued_job->AddCallback(callback);
|
| }
|
|
|
| +void ServiceWorkerJobCoordinator::AbortAll() {
|
| + for (RegistrationJobMap::iterator it = jobs_.begin();
|
| + it != jobs_.end(); ++it) {
|
| + it->second.AbortAll();
|
| + }
|
| + jobs_.clear();
|
| +}
|
| +
|
| void ServiceWorkerJobCoordinator::FinishJob(const GURL& pattern,
|
| ServiceWorkerRegisterJobBase* job) {
|
| RegistrationJobMap::iterator pending_jobs = jobs_.find(pattern);
|
|
|