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

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

Issue 2034663002: ServiceWorker: Keep the worker alive until FetchEvent.waitUntil settles (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 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
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_register_job.h" 5 #include "content/browser/service_worker/service_worker_register_job.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 422
423 void ServiceWorkerRegisterJob::DispatchInstallEvent() { 423 void ServiceWorkerRegisterJob::DispatchInstallEvent() {
424 DCHECK_EQ(ServiceWorkerVersion::INSTALLING, new_version()->status()) 424 DCHECK_EQ(ServiceWorkerVersion::INSTALLING, new_version()->status())
425 << new_version()->status(); 425 << new_version()->status();
426 DCHECK_EQ(ServiceWorkerVersion::RUNNING, new_version()->running_status()) 426 DCHECK_EQ(ServiceWorkerVersion::RUNNING, new_version()->running_status())
427 << "Worker stopped too soon after it was started."; 427 << "Worker stopped too soon after it was started.";
428 int request_id = new_version()->StartRequest( 428 int request_id = new_version()->StartRequest(
429 ServiceWorkerMetrics::EventType::INSTALL, 429 ServiceWorkerMetrics::EventType::INSTALL,
430 base::Bind(&ServiceWorkerRegisterJob::OnInstallFailed, 430 base::Bind(&ServiceWorkerRegisterJob::OnInstallFailed,
431 weak_factory_.GetWeakPtr())); 431 weak_factory_.GetWeakPtr()));
432 new_version()->DispatchEvent<ServiceWorkerHostMsg_InstallEventFinished>( 432 new_version()
433 request_id, ServiceWorkerMsg_InstallEvent(request_id), 433 ->RegisterRequestCallback<ServiceWorkerHostMsg_InstallEventFinished>(
434 base::Bind(&ServiceWorkerRegisterJob::OnInstallFinished, 434 request_id, base::Bind(&ServiceWorkerRegisterJob::OnInstallFinished,
435 weak_factory_.GetWeakPtr())); 435 weak_factory_.GetWeakPtr()));
436 new_version()->DispatchEvent({request_id},
437 ServiceWorkerMsg_InstallEvent(request_id));
436 } 438 }
437 439
438 void ServiceWorkerRegisterJob::OnInstallFinished( 440 void ServiceWorkerRegisterJob::OnInstallFinished(
439 int request_id, 441 int request_id,
440 blink::WebServiceWorkerEventResult result, 442 blink::WebServiceWorkerEventResult result,
441 bool has_fetch_handler) { 443 bool has_fetch_handler) {
442 new_version()->FinishRequest( 444 new_version()->FinishRequest(
443 request_id, result == blink::WebServiceWorkerEventResultCompleted); 445 request_id, result == blink::WebServiceWorkerEventResultCompleted);
444 446
445 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 447 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 new_version()->force_bypass_cache_for_scripts() || 633 new_version()->force_bypass_cache_for_scripts() ||
632 registration()->last_update_check().is_null()) { 634 registration()->last_update_check().is_null()) {
633 registration()->set_last_update_check(base::Time::Now()); 635 registration()->set_last_update_check(base::Time::Now());
634 636
635 if (registration()->has_installed_version()) 637 if (registration()->has_installed_version())
636 context_->storage()->UpdateLastUpdateCheckTime(registration()); 638 context_->storage()->UpdateLastUpdateCheckTime(registration());
637 } 639 }
638 } 640 }
639 641
640 } // namespace content 642 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698