New issue
Advanced search Search tips

Issue 775361 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Proj-Servicification

Blocking:
issue 715640



Sign in to add a comment

S13nServiceWorker: Restart inflight fetch events if service worker gets killed before finishing events

Project Member Reported by shimazu@chromium.org, Oct 17 2017

Issue description

Once the direct Mojo connection is established between a page (client) and a service worker, the service worker could be stopped during the page is requesting a fetch event. It ends up with calling connection error handler on the page side, but currently we don't have restarting logic to wake the worker up again.

https://cs.chromium.org/chromium/src/content/child/service_worker/controller_service_worker_connector.cc?sq=package:chromium&l=41


 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1296cbe7d99e1e9fffb59ba46be26f6b62a9f86

commit a1296cbe7d99e1e9fffb59ba46be26f6b62a9f86
Author: Makoto Shimazu <shimazu@chromium.org>
Date: Thu Oct 26 06:58:44 2017

S13NServiceWorker: Restart an inflight fetch event on SubresourceLoader

When Mojo connection to the controller gets disconnected during fetch event, the
fetch event could be missed if it's before responding. This patch is to re-send
the fetch event when the pipe is disconnected.

Bug:  775361 
Change-Id: I683efac0dba2c1836c1e9ba2a5dea0f60dd607f3
Reviewed-on: https://chromium-review.googlesource.com/725919
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511753}
[modify] https://crrev.com/a1296cbe7d99e1e9fffb59ba46be26f6b62a9f86/content/renderer/service_worker/controller_service_worker_connector.cc
[modify] https://crrev.com/a1296cbe7d99e1e9fffb59ba46be26f6b62a9f86/content/renderer/service_worker/controller_service_worker_connector.h
[modify] https://crrev.com/a1296cbe7d99e1e9fffb59ba46be26f6b62a9f86/content/renderer/service_worker/service_worker_subresource_loader.cc
[modify] https://crrev.com/a1296cbe7d99e1e9fffb59ba46be26f6b62a9f86/content/renderer/service_worker/service_worker_subresource_loader.h
[modify] https://crrev.com/a1296cbe7d99e1e9fffb59ba46be26f6b62a9f86/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc

Comment 2 by shimazu@google.com, Oct 27 2017

Status: Fixed (was: Started)

Comment 3 by falken@chromium.org, Oct 27 2017

Blocking: 715640

Comment 4 by laforge@google.com, Nov 7 2017

Components: Internals>Network>Service

Comment 5 by laforge@google.com, Nov 7 2017

Components: -Internals>Network>Service Internals>Services>Network
Apologies, applied the wrong component in bulk.

Sign in to add a comment