Bug 191833 - Avoid potential longer than expected layer flush delays
Summary: Avoid potential longer than expected layer flush delays
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-11-19 05:21 PST by Antti Koivisto
Modified: 2018-11-20 01:03 PST (History)
6 users (show)

See Also:


Attachments
patch (5.15 KB, patch)
2018-11-19 05:37 PST, Antti Koivisto
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antti Koivisto 2018-11-19 05:21:10 PST
Layer flush throttling also stops style recalcs and layouts. Layouts schedule layer flushes. Especially on a slow network we can in principle end up in situation where layer flush timer fires but there is no flush scheduled and so nothing happens. However there is a pending style recalc or layout that would actually schedule a flush (in practice various things force style recalcs and this doesn't occur commonly).

To avoid this we should flush unconditionally when the flush timer fires. This performs any pending style recalc and layout too. If there is nothing to do the flush will be cheap.
Comment 1 Antti Koivisto 2018-11-19 05:37:49 PST
Created attachment 355275 [details]
patch
Comment 2 WebKit Commit Bot 2018-11-20 01:02:35 PST
Comment on attachment 355275 [details]
patch

Clearing flags on attachment: 355275

Committed r238394: <https://trac.webkit.org/changeset/238394>
Comment 3 WebKit Commit Bot 2018-11-20 01:02:37 PST
All reviewed patches have been landed.  Closing bug.
Comment 4 Radar WebKit Bug Importer 2018-11-20 01:03:32 PST
<rdar://problem/46181098>