| 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)));
|
| }
|
|
|