Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Side by Side Diff: content/browser/service_worker/service_worker_version.cc

Issue 355163003: Don't prematurely delete script resources when registration is deleted (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: redesign Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/service_worker/service_worker_version.h" 5 #include "content/browser/service_worker/service_worker_version.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 #include "content/browser/service_worker/embedded_worker_instance.h" 10 #include "content/browser/service_worker/embedded_worker_instance.h"
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 382
383 void ServiceWorkerVersion::RemoveControllee( 383 void ServiceWorkerVersion::RemoveControllee(
384 ServiceWorkerProviderHost* provider_host) { 384 ServiceWorkerProviderHost* provider_host) {
385 ControlleeMap::iterator found = controllee_map_.find(provider_host); 385 ControlleeMap::iterator found = controllee_map_.find(provider_host);
386 DCHECK(found != controllee_map_.end()); 386 DCHECK(found != controllee_map_.end());
387 controllee_by_id_.Remove(found->second); 387 controllee_by_id_.Remove(found->second);
388 controllee_map_.erase(found); 388 controllee_map_.erase(found);
389 RemoveProcessFromWorker(provider_host->process_id()); 389 RemoveProcessFromWorker(provider_host->process_id());
390 if (!HasControllee()) 390 if (!HasControllee())
391 ScheduleStopWorker(); 391 ScheduleStopWorker();
392 // TODO(kinuko): Fire NoControllees notification when the # of controllees 392 FOR_EACH_OBSERVER(Listener, listeners_, OnNoControllees(this));
michaeln 2014/06/30 22:31:54 if (!HasControllee()) { ScheduleStopWorker( No
falken 2014/07/01 06:17:39 oops! Done
393 // reaches 0, so that a new pending version can be activated (which will
394 // deactivate this version).
395 // TODO(michaeln): On no controllees call storage DeleteVersionResources
396 // if this version has been deactivated. Probably storage can listen for
397 // NoControllees for versions that have been deleted.
398 } 393 }
399 394
400 void ServiceWorkerVersion::AddWaitingControllee( 395 void ServiceWorkerVersion::AddWaitingControllee(
401 ServiceWorkerProviderHost* provider_host) { 396 ServiceWorkerProviderHost* provider_host) {
402 AddProcessToWorker(provider_host->process_id()); 397 AddProcessToWorker(provider_host->process_id());
403 } 398 }
404 399
405 void ServiceWorkerVersion::RemoveWaitingControllee( 400 void ServiceWorkerVersion::RemoveWaitingControllee(
406 ServiceWorkerProviderHost* provider_host) { 401 ServiceWorkerProviderHost* provider_host) {
407 RemoveProcessFromWorker(provider_host->process_id()); 402 RemoveProcessFromWorker(provider_host->process_id());
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 return; 651 return;
657 } 652 }
658 stop_worker_timer_.Start( 653 stop_worker_timer_.Start(
659 FROM_HERE, base::TimeDelta::FromSeconds(kStopWorkerDelay), 654 FROM_HERE, base::TimeDelta::FromSeconds(kStopWorkerDelay),
660 base::Bind(&ServiceWorkerVersion::StopWorker, 655 base::Bind(&ServiceWorkerVersion::StopWorker,
661 weak_factory_.GetWeakPtr(), 656 weak_factory_.GetWeakPtr(),
662 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback))); 657 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)));
663 } 658 }
664 659
665 } // namespace content 660 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698