Bug 86429

Summary: RenderLayer::repaintRectIncludingDescendants shouldn't include repaint rects of composited descendants
Product: WebKit Reporter: Tim Horton <thorton>
Component: Layout and RenderingAssignee: Tim Horton <thorton>
Status: RESOLVED FIXED    
Severity: Normal CC: eric, simon.fraser, webkit.review.bot
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch simon.fraser: review+

Description Tim Horton 2012-05-14 19:12:08 PDT
As it stands, we can end up unioning a rect with a page-relative origin and a rect with a 0,0 origin (the compositing layer), creating huge repaint rects with some content. Composited descendants don't need to be factored in here (the only use of repaintRectIncludingDescendants is in scrollContentsFathPath, and composited layers won't need to be invalidated manually there).

This is a significant scrolling performance win on some pages.

<rdar://problem/11445132>
Comment 1 Tim Horton 2012-05-14 19:56:46 PDT
Created attachment 141845 [details]
patch
Comment 2 Tim Horton 2012-05-14 23:11:37 PDT
http://trac.webkit.org/changeset/117032