Bug 67140

Summary: Assertion failure in RenderLayer::computeRepaintRects when scrolling
Product: WebKit Reporter: Julien Chaffraix <jchaffraix>
Component: Layout and RenderingAssignee: Julien Chaffraix <jchaffraix>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
WIP patch, missing baseline for mac.
none
Proposed fix: Bail early if we see a layer with no visible content.
none
Patch for landing none

Description Julien Chaffraix 2011-08-29 11:08:45 PDT
r93837 added an ASSERT when calling computeRepaintRects. It looks like it is hit when scrolling, likely in the following code:

RenderLayer::updateLayerPositionsAfterScroll(bool fixed)
{
    (...)


        computeRepaintRects();

We do not check if the layer is visible (in which case we could likely return early as empty layers have no repaint rectangles anyway).
Comment 1 Julien Chaffraix 2011-08-29 11:41:28 PDT
Created attachment 105507 [details]
WIP patch, missing baseline for mac.
Comment 2 Julien Chaffraix 2011-08-29 12:24:14 PDT
Created attachment 105509 [details]
Proposed fix: Bail early if we see a layer with no visible content.
Comment 3 Dave Hyatt 2011-08-29 13:40:40 PDT
Comment on attachment 105509 [details]
Proposed fix: Bail early if we see a layer with no visible content.

View in context: https://bugs.webkit.org/attachment.cgi?id=105509&action=review

r=me

> Source/WebCore/rendering/RenderLayer.cpp:394
> +    // they will be empty. If our visibility change, we are expected to recompute all

Typo. Should be "changes"
Comment 4 Julien Chaffraix 2011-08-29 13:52:02 PDT
Created attachment 105518 [details]
Patch for landing
Comment 5 WebKit Review Bot 2011-08-29 14:32:20 PDT
Comment on attachment 105518 [details]
Patch for landing

Clearing flags on attachment: 105518

Committed r94016: <http://trac.webkit.org/changeset/94016>
Comment 6 WebKit Review Bot 2011-08-29 14:32:24 PDT
All reviewed patches have been landed.  Closing bug.