Summary: | Composited frames incorrectly get requestAnimationFrame throttled | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Mihai Parparita <mihaip> | ||||
Component: | Animations | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | cdumez, commit-queue, dino, simon.fraser, webkit-bug-importer, zalan | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Mihai Parparita
2017-10-17 10:27:14 PDT
I think the issue is that FrameView::windowClipRectForFrameOwner() uses enclosingLayer->childrenClipRect() which is sensitive to compositing. RenderLayer::childrenClipRect() takes the document rect (renderer().view().unscaledDocumentRect()) and calls localToAbsoluteQuad() on it, which maps it through the scroll offset, so it can end up with some large negative offset. This seems wrong; we should probably map LayoutRect::infiniteRect() through and then clip to the document rect. I also note that RenderWidget::setWidgetGeometry() uses childrenClipRect() and may have a similar bug. Created attachment 328497 [details]
Patch
Comment on attachment 328497 [details] Patch Clearing flags on attachment: 328497 Committed r225554: <https://trac.webkit.org/changeset/225554> All reviewed patches have been landed. Closing bug. |