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

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

Issue 2627723004: ServiceWorker: adding a crash key to check if a new process is launched (Closed)
Patch Set: Don't record is_new_process when process hasn't been allocated Created 3 years, 11 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/embedded_worker_instance.h" 5 #include "content/browser/service_worker/embedded_worker_instance.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 devtools_proxy_.reset(); 470 devtools_proxy_.reset();
471 if (registry_->GetWorker(embedded_worker_id_)) 471 if (registry_->GetWorker(embedded_worker_id_))
472 registry_->RemoveWorker(process_id(), embedded_worker_id_); 472 registry_->RemoveWorker(process_id(), embedded_worker_id_);
473 process_handle_.reset(); 473 process_handle_.reset();
474 } 474 }
475 475
476 void EmbeddedWorkerInstance::Start( 476 void EmbeddedWorkerInstance::Start(
477 std::unique_ptr<EmbeddedWorkerStartParams> params, 477 std::unique_ptr<EmbeddedWorkerStartParams> params,
478 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request, 478 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request,
479 const StatusCallback& callback) { 479 const StatusCallback& callback) {
480 restart_count_++;
480 if (!context_) { 481 if (!context_) {
481 callback.Run(SERVICE_WORKER_ERROR_ABORT); 482 callback.Run(SERVICE_WORKER_ERROR_ABORT);
482 // |this| may be destroyed by the callback. 483 // |this| may be destroyed by the callback.
483 return; 484 return;
484 } 485 }
485 DCHECK(status_ == EmbeddedWorkerStatus::STOPPED); 486 DCHECK(status_ == EmbeddedWorkerStatus::STOPPED);
486 487
487 DCHECK(!params->pause_after_download || !params->is_installed); 488 DCHECK(!params->pause_after_download || !params->is_installed);
488 DCHECK_NE(kInvalidServiceWorkerVersionId, params->service_worker_version_id); 489 DCHECK_NE(kInvalidServiceWorkerVersionId, params->service_worker_version_id);
489 step_time_ = base::TimeTicks::Now(); 490 step_time_ = base::TimeTicks::Now();
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 } 591 }
591 592
592 EmbeddedWorkerInstance::EmbeddedWorkerInstance( 593 EmbeddedWorkerInstance::EmbeddedWorkerInstance(
593 base::WeakPtr<ServiceWorkerContextCore> context, 594 base::WeakPtr<ServiceWorkerContextCore> context,
594 int embedded_worker_id) 595 int embedded_worker_id)
595 : context_(context), 596 : context_(context),
596 registry_(context->embedded_worker_registry()), 597 registry_(context->embedded_worker_registry()),
597 embedded_worker_id_(embedded_worker_id), 598 embedded_worker_id_(embedded_worker_id),
598 status_(EmbeddedWorkerStatus::STOPPED), 599 status_(EmbeddedWorkerStatus::STOPPED),
599 starting_phase_(NOT_STARTING), 600 starting_phase_(NOT_STARTING),
601 restart_count_(0),
600 thread_id_(kInvalidEmbeddedWorkerThreadId), 602 thread_id_(kInvalidEmbeddedWorkerThreadId),
601 devtools_attached_(false), 603 devtools_attached_(false),
602 network_accessed_for_script_(false), 604 network_accessed_for_script_(false),
603 weak_factory_(this) {} 605 weak_factory_(this) {}
604 606
605 void EmbeddedWorkerInstance::OnProcessAllocated( 607 void EmbeddedWorkerInstance::OnProcessAllocated(
606 std::unique_ptr<WorkerProcessHandle> handle, 608 std::unique_ptr<WorkerProcessHandle> handle,
607 ServiceWorkerMetrics::StartSituation start_situation) { 609 ServiceWorkerMetrics::StartSituation start_situation) {
608 DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_); 610 DCHECK_EQ(EmbeddedWorkerStatus::STARTING, status_);
609 DCHECK(!process_handle_); 611 DCHECK(!process_handle_);
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 case SCRIPT_READ_FINISHED: 973 case SCRIPT_READ_FINISHED:
972 return "Script read finished"; 974 return "Script read finished";
973 case STARTING_PHASE_MAX_VALUE: 975 case STARTING_PHASE_MAX_VALUE:
974 NOTREACHED(); 976 NOTREACHED();
975 } 977 }
976 NOTREACHED() << phase; 978 NOTREACHED() << phase;
977 return std::string(); 979 return std::string();
978 } 980 }
979 981
980 } // namespace content 982 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698