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

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

Issue 380093002: Update installed ServiceWorkers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 weak_factory_.GetWeakPtr())); 210 weak_factory_.GetWeakPtr()));
211 } 211 }
212 212
213 void ServiceWorkerVersion::DeferScheduledUpdate() { 213 void ServiceWorkerVersion::DeferScheduledUpdate() {
214 if (update_timer_.IsRunning()) 214 if (update_timer_.IsRunning())
215 update_timer_.Reset(); 215 update_timer_.Reset();
216 } 216 }
217 217
218 void ServiceWorkerVersion::StartUpdate() { 218 void ServiceWorkerVersion::StartUpdate() {
219 update_timer_.Stop(); 219 update_timer_.Stop();
220 // TODO(michaeln): write me 220 if (!context_)
221 return;
222 ServiceWorkerRegistration* registration =
223 context_->GetLiveRegistration(registration_id_);
224 if (!registration)
225 return;
226 context_->UpdateServiceWorker(registration);
221 } 227 }
222 228
223 void ServiceWorkerVersion::SendMessage( 229 void ServiceWorkerVersion::SendMessage(
224 const IPC::Message& message, const StatusCallback& callback) { 230 const IPC::Message& message, const StatusCallback& callback) {
225 if (running_status() != RUNNING) { 231 if (running_status() != RUNNING) {
226 // Schedule calling this method after starting the worker. 232 // Schedule calling this method after starting the worker.
227 StartWorker(base::Bind(&RunTaskAfterStartWorker, 233 StartWorker(base::Bind(&RunTaskAfterStartWorker,
228 weak_factory_.GetWeakPtr(), callback, 234 weak_factory_.GetWeakPtr(), callback,
229 base::Bind(&self::SendMessage, 235 base::Bind(&self::SendMessage,
230 weak_factory_.GetWeakPtr(), 236 weak_factory_.GetWeakPtr(),
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 388
383 void ServiceWorkerVersion::RemoveControllee( 389 void ServiceWorkerVersion::RemoveControllee(
384 ServiceWorkerProviderHost* provider_host) { 390 ServiceWorkerProviderHost* provider_host) {
385 ControlleeMap::iterator found = controllee_map_.find(provider_host); 391 ControlleeMap::iterator found = controllee_map_.find(provider_host);
386 DCHECK(found != controllee_map_.end()); 392 DCHECK(found != controllee_map_.end());
387 controllee_by_id_.Remove(found->second); 393 controllee_by_id_.Remove(found->second);
388 controllee_map_.erase(found); 394 controllee_map_.erase(found);
389 RemoveProcessFromWorker(provider_host->process_id()); 395 RemoveProcessFromWorker(provider_host->process_id());
390 if (HasControllee()) 396 if (HasControllee())
391 return; 397 return;
398 FOR_EACH_OBSERVER(Listener, listeners_, OnNoControllees(this));
392 if (is_doomed_) { 399 if (is_doomed_) {
393 DoomInternal(); 400 DoomInternal();
394 return; 401 return;
395 } 402 }
396 ScheduleStopWorker(); 403 ScheduleStopWorker();
397 } 404 }
398 405
399 void ServiceWorkerVersion::AddPotentialControllee( 406 void ServiceWorkerVersion::AddPotentialControllee(
400 ServiceWorkerProviderHost* provider_host) { 407 ServiceWorkerProviderHost* provider_host) {
401 AddProcessToWorker(provider_host->process_id()); 408 AddProcessToWorker(provider_host->process_id());
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 SetStatus(REDUNDANT); 680 SetStatus(REDUNDANT);
674 StopWorker(base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 681 StopWorker(base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
675 if (!context_) 682 if (!context_)
676 return; 683 return;
677 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; 684 std::vector<ServiceWorkerDatabase::ResourceRecord> resources;
678 script_cache_map_.GetResources(&resources); 685 script_cache_map_.GetResources(&resources);
679 context_->storage()->PurgeResources(resources); 686 context_->storage()->PurgeResources(resources);
680 } 687 }
681 688
682 } // namespace content 689 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698