Bug 259219
Summary: | Don't drop the GPUProcess media assertion too promptly after playback ends | ||
---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> |
Component: | Media | Assignee: | Chris Dumez <cdumez> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Chris Dumez
Don't drop the GPUProcess media assertion too promptly after playback ends, instead, drop it on a timer.
There is a race where both the GPUProcess and the UIProcess get notified of a WebProcess exiting in parallel. When notified, the UIProcess would drop the media assertion on the GPUProcess, which could get it to suspend while the GPUProcess is STILL shutting down the media stack.
Dropping the media assertion on a timer makes it so that the GPUProcess is now extremely unlikely to lose the race and will have properly shut down the media stack by the time it gets suspended.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Chris Dumez
<rdar://112003621>
Chris Dumez
Pull request: https://github.com/WebKit/WebKit/pull/15842
EWS
Committed 266069@main (e89c9b432a4e): <https://commits.webkit.org/266069@main>
Reviewed commits have been landed. Closing PR #15842 and removing active labels.