Commit 5cfa2574 authored by Makoto Shimazu's avatar Makoto Shimazu Committed by Commit Bot

Check WeakPtr validity in ServiceWorkerScriptLoaderFactory

Bug: 1129850
Change-Id: I1b1f7dbaa2f63fa7797cf9637a828e5379b7e39d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2428302
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Auto-Submit: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: default avatarKenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#810501}
parent d85fefed
...@@ -229,6 +229,12 @@ void ServiceWorkerScriptLoaderFactory::OnCopyScriptFinished( ...@@ -229,6 +229,12 @@ void ServiceWorkerScriptLoaderFactory::OnCopyScriptFinished(
mojo::PendingRemote<network::mojom::URLLoaderClient> client, mojo::PendingRemote<network::mojom::URLLoaderClient> client,
int64_t new_resource_id, int64_t new_resource_id,
net::Error error) { net::Error error) {
if (!worker_host_) {
// Null |worker_host_| means the worker has been terminated unexpectedly.
// Nothing can do in this case.
return;
}
int64_t resource_size = cache_writer_->bytes_written(); int64_t resource_size = cache_writer_->bytes_written();
cache_writer_.reset(); cache_writer_.reset();
scoped_refptr<ServiceWorkerVersion> version = worker_host_->version(); scoped_refptr<ServiceWorkerVersion> version = worker_host_->version();
...@@ -268,6 +274,12 @@ void ServiceWorkerScriptLoaderFactory::OnResourceIdAssignedForNewScriptLoader( ...@@ -268,6 +274,12 @@ void ServiceWorkerScriptLoaderFactory::OnResourceIdAssignedForNewScriptLoader(
mojo::PendingRemote<network::mojom::URLLoaderClient> client, mojo::PendingRemote<network::mojom::URLLoaderClient> client,
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
int64_t resource_id) { int64_t resource_id) {
if (!worker_host_) {
// Null |worker_host_| means the worker has been terminated unexpectedly.
// Nothing can do in this case.
return;
}
if (resource_id == blink::mojom::kInvalidServiceWorkerResourceId) { if (resource_id == blink::mojom::kInvalidServiceWorkerResourceId) {
mojo::Remote<network::mojom::URLLoaderClient>(std::move(client)) mojo::Remote<network::mojom::URLLoaderClient>(std::move(client))
->OnComplete(network::URLLoaderCompletionStatus(net::ERR_ABORTED)); ->OnComplete(network::URLLoaderCompletionStatus(net::ERR_ABORTED));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment