Bug 219053

Summary: Make sure ProcessThrottler is always holding a ProcessAssertion for its child process
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Chris Dumez
Reported 2020-11-17 14:37:50 PST
Make sure ProcessThrottler is always holding a ProcessAssertion for its child process. Previously, when changing the assertion type (e.g. when going from background to foreground) we would release the previous assertion and then take the new one. RunningBoard developers recommend that we wait until the new ProcessAssertion is taken before we release the previous one to avoid churn. It is also important we always hold a ProcessAssertion at all times for the child process because the child process may exit otherwise.
Attachments
Patch (2.35 KB, patch)
2020-11-17 14:39 PST, Chris Dumez
no flags
Patch (2.34 KB, patch)
2020-11-17 15:00 PST, Chris Dumez
no flags
Chris Dumez
Comment 1 2020-11-17 14:39:18 PST
Geoffrey Garen
Comment 2 2020-11-17 14:58:25 PST
Comment on attachment 414386 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=414386&action=review r=me > Source/WebKit/UIProcess/ProcessThrottler.cpp:132 > + // Keep the previous assertion around until after the new one has been created so that we always have > + // hold a process assertion for the process. have hold => hold
Chris Dumez
Comment 3 2020-11-17 15:00:53 PST
EWS
Comment 4 2020-11-17 16:36:33 PST
Committed r269934: <https://trac.webkit.org/changeset/269934> All reviewed patches have been landed. Closing bug and clearing flags on attachment 414388 [details].
Radar WebKit Bug Importer
Comment 5 2020-11-17 16:37:20 PST
Note You need to log in before you can comment on or make changes to this bug.