RESOLVED FIXED196926
Drawingarea should only capture painting related milestones
https://bugs.webkit.org/show_bug.cgi?id=196926
Summary Drawingarea should only capture painting related milestones
alan
Reported 2019-04-15 12:39:17 PDT
Attachments
Patch (15.70 KB, patch)
2019-04-15 12:52 PDT, alan
no flags
Patch (15.69 KB, patch)
2019-04-15 13:02 PDT, alan
no flags
alan
Comment 1 2019-04-15 12:52:11 PDT
Tim Horton
Comment 2 2019-04-15 12:56:21 PDT
Comment on attachment 367443 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=367443&action=review > Source/WebKit/ChangeLog:3 > + Drawingarea should only capture painting related milestones DrawingArea? Drawing Area?
alan
Comment 3 2019-04-15 13:02:59 PDT
WebKit Commit Bot
Comment 4 2019-04-15 14:34:21 PDT
Comment on attachment 367444 [details] Patch Clearing flags on attachment: 367444 Committed r244291: <https://trac.webkit.org/changeset/244291>
WebKit Commit Bot
Comment 5 2019-04-15 14:34:24 PDT
All reviewed patches have been landed. Closing bug.
Aakash Jain
Comment 6 2019-04-15 17:05:08 PDT
Seems like this commit broke API test: AutoLayoutRenderingProgressRelativeOrdering. EWS did indicate this API test failure (on obsolete patch of this bug). See https://ews-build.webkit.org/#/builders/3/builds/578
alan
Comment 7 2019-04-15 17:15:30 PDT
(In reply to Aakash Jain from comment #6) > Seems like this commit broke API test: > AutoLayoutRenderingProgressRelativeOrdering. > > EWS did indicate this API test failure (on obsolete patch of this bug). See > https://ews-build.webkit.org/#/builders/3/builds/578 This might require some test changes. See https://bugs.webkit.org/show_bug.cgi?id=196948#c3
alan
Comment 8 2019-04-15 19:13:09 PDT
(In reply to zalan from comment #7) > (In reply to Aakash Jain from comment #6) > > Seems like this commit broke API test: > > AutoLayoutRenderingProgressRelativeOrdering. > > > > EWS did indicate this API test failure (on obsolete patch of this bug). See > > https://ews-build.webkit.org/#/builders/3/builds/578 > This might require some test changes. See > https://bugs.webkit.org/show_bug.cgi?id=196948#c3 It seems like autosizing clients rely on this order. However I am not convinced that updateIntrinsicContentSizeIfNeeded should be tied to flushLayer() as it looks purely layoutish (and surely auto-sizing only).
Tim Horton
Comment 9 2019-04-15 19:21:31 PDT
(In reply to zalan from comment #8) > (In reply to zalan from comment #7) > > (In reply to Aakash Jain from comment #6) > > > Seems like this commit broke API test: > > > AutoLayoutRenderingProgressRelativeOrdering. > > > > > > EWS did indicate this API test failure (on obsolete patch of this bug). See > > > https://ews-build.webkit.org/#/builders/3/builds/578 > > This might require some test changes. See > > https://bugs.webkit.org/show_bug.cgi?id=196948#c3 > > It seems like autosizing clients rely on this order. However I am not > convinced that updateIntrinsicContentSizeIfNeeded should be tied to > flushLayer() as it looks purely layoutish (and surely auto-sizing only). It may appear "layoutish" but in platform toolkit land "layout" and "painting" happen synchronously and take effect simultaneously, so it's likely important that autosizing changes and painted-content changes happen at the same time.
alan
Comment 10 2019-04-15 19:24:49 PDT
(In reply to Tim Horton from comment #9) > (In reply to zalan from comment #8) > > (In reply to zalan from comment #7) > > > (In reply to Aakash Jain from comment #6) > > > > Seems like this commit broke API test: > > > > AutoLayoutRenderingProgressRelativeOrdering. > > > > > > > > EWS did indicate this API test failure (on obsolete patch of this bug). See > > > > https://ews-build.webkit.org/#/builders/3/builds/578 > > > This might require some test changes. See > > > https://bugs.webkit.org/show_bug.cgi?id=196948#c3 > > > > It seems like autosizing clients rely on this order. However I am not > > convinced that updateIntrinsicContentSizeIfNeeded should be tied to > > flushLayer() as it looks purely layoutish (and surely auto-sizing only). > > It may appear "layoutish" but in platform toolkit land "layout" and > "painting" happen synchronously and take effect simultaneously, so it's > likely important that autosizing changes and painted-content changes happen > at the same time. The callback is in flushLayers() and not in the commit handler, so not sure what "same time" means in that context.
alan
Comment 11 2019-04-15 19:26:24 PDT
(In reply to zalan from comment #10) > (In reply to Tim Horton from comment #9) > > (In reply to zalan from comment #8) > > > (In reply to zalan from comment #7) > > > > (In reply to Aakash Jain from comment #6) > > > > > Seems like this commit broke API test: > > > > > AutoLayoutRenderingProgressRelativeOrdering. > > > > > > > > > > EWS did indicate this API test failure (on obsolete patch of this bug). See > > > > > https://ews-build.webkit.org/#/builders/3/builds/578 > > > > This might require some test changes. See > > > > https://bugs.webkit.org/show_bug.cgi?id=196948#c3 > > > > > > It seems like autosizing clients rely on this order. However I am not > > > convinced that updateIntrinsicContentSizeIfNeeded should be tied to > > > flushLayer() as it looks purely layoutish (and surely auto-sizing only). > > > > It may appear "layoutish" but in platform toolkit land "layout" and > > "painting" happen synchronously and take effect simultaneously, so it's > > likely important that autosizing changes and painted-content changes happen > > at the same time. > The callback is in flushLayers() and not in the commit handler, so not sure > what "same time" means in that context. Unless "painted-content" changes and the actual painting are unrelated.
Daniel Bates
Comment 12 2019-04-16 11:51:03 PDT
Comment on attachment 367444 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=367444&action=review > Source/WebKit/WebProcess/WebPage/WebPage.cpp:6229 > + static auto paintMilestones = OptionSet<WebCore::LayoutMilestone> { DidHitRelevantRepaintedObjectsAreaThreshold, DidFirstFlushForHeaderLayer, DidFirstPaintAfterSuppressedIncrementalRendering, DidRenderSignificantAmountOfText, DidFirstMeaningfulPaint }; This can be made ever so slightly more optimal by making this a constexpr and not static.
Note You need to log in before you can comment on or make changes to this bug.