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

Unified Diff: content/renderer/service_worker/embedded_worker_instance_client_impl.cc

Issue 2496073002: ServiceWorker: Initialize EmbeddedWorkerInstanceClientImpl::wrapper_ (Closed)
Patch Set: update comments Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/service_worker/embedded_worker_instance_client_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/service_worker/embedded_worker_instance_client_impl.cc
diff --git a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
index 6ef334bb81e52f7781cd00dbe77d92a3857d94a6..03611458968a63c0fda9a4295cafc87712b700df 100644
--- a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
+++ b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
@@ -52,6 +52,7 @@ void EmbeddedWorkerInstanceClientImpl::StartWorker(
service_manager::mojom::InterfaceProviderPtr browser_interfaces,
service_manager::mojom::InterfaceProviderRequest renderer_request) {
DCHECK(ChildThreadImpl::current());
+ DCHECK(!wrapper_);
TRACE_EVENT0("ServiceWorker",
"EmbeddedWorkerInstanceClientImpl::StartWorker");
embedded_worker_id_ = params.embedded_worker_id;
@@ -73,11 +74,9 @@ void EmbeddedWorkerInstanceClientImpl::StopWorker(
const StopWorkerCallback& callback) {
DCHECK(ChildThreadImpl::current());
DCHECK(embedded_worker_id_);
- // StopWorker is possible to be called twice.
- if (stop_callback_ || !wrapper_) {
- LOG(WARNING) << "Got StopWorker for stopping worker";
+ // StopWorker is possible to be called twice or before StartWorker().
+ if (stop_callback_ || !wrapper_)
return;
- }
TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstanceClientImpl::StopWorker");
stop_callback_ = std::move(callback);
dispatcher_->RecordStopWorkerTimer(embedded_worker_id_.value());
@@ -89,7 +88,8 @@ EmbeddedWorkerInstanceClientImpl::EmbeddedWorkerInstanceClientImpl(
mojo::InterfaceRequest<mojom::EmbeddedWorkerInstanceClient> request)
: dispatcher_(dispatcher),
binding_(this, std::move(request)),
- temporal_self_(std::unique_ptr<EmbeddedWorkerInstanceClientImpl>(this)) {
+ temporal_self_(std::unique_ptr<EmbeddedWorkerInstanceClientImpl>(this)),
+ wrapper_(nullptr) {
binding_.set_connection_error_handler(base::Bind(
&EmbeddedWorkerInstanceClientImpl::OnError, base::Unretained(this)));
}
« no previous file with comments | « content/renderer/service_worker/embedded_worker_instance_client_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698