Bug 206325 - Add finite timeout when synchronously terminating a service worker
Summary: Add finite timeout when synchronously terminating a service worker
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alex Christensen
URL:
Keywords: InRadar
Depends on: 207354
Blocks:
  Show dependency treegraph
 
Reported: 2020-01-15 16:37 PST by Alex Christensen
Modified: 2020-02-06 14:28 PST (History)
4 users (show)

See Also:


Attachments
Patch (1.94 KB, patch)
2020-01-15 16:38 PST, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (6.64 KB, patch)
2020-01-15 17:27 PST, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (6.43 KB, patch)
2020-01-16 13:07 PST, Alex Christensen
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Christensen 2020-01-15 16:37:00 PST
Add finite timeout when synchronously terminating a service worker
Comment 1 Alex Christensen 2020-01-15 16:38:33 PST
Created attachment 387869 [details]
Patch
Comment 2 Alex Christensen 2020-01-15 16:38:36 PST
<rdar://problem/58183380>
Comment 3 Alex Christensen 2020-01-15 17:27:57 PST
Created attachment 387875 [details]
Patch
Comment 4 youenn fablet 2020-01-16 02:39:16 PST
Comment on attachment 387875 [details]
Patch

LGTM.
In the future, we should be able to remove this syncTerminateWorker and use a timer to kick in process termination if it does not answer soon enough.

View in context: https://bugs.webkit.org/attachment.cgi?id=387875&action=review

> Source/WebKit/ChangeLog:11
> +        and tell the UI process to terminate the hanging service worker process.  Continue handling messages during

s/.  C/. C/

> Source/WebKit/UIProcess/WebProcessPool.cpp:1771
> +void WebProcessPool::terminateServiceWorkers(const WebCore::RegistrableDomain& domain, const PAL::SessionID& sessionID)

s/terminateServiceWorkers/terminateServiceWorkerProcess?

> Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:429
> +    for (auto processPool : WebProcessPool::allProcessPools())

auto*

> Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:39
> +#include <WebCore/ServiceWorkerIdentifier.h>

Does not seem necessary
Comment 5 Alex Christensen 2020-01-16 13:07:32 PST
Created attachment 387946 [details]
Patch
Comment 6 WebKit Commit Bot 2020-01-16 13:45:55 PST
Comment on attachment 387946 [details]
Patch

Clearing flags on attachment: 387946

Committed r254706: <https://trac.webkit.org/changeset/254706>
Comment 7 WebKit Commit Bot 2020-01-16 13:45:56 PST
All reviewed patches have been landed.  Closing bug.