[Webkit-unassigned] [Bug 38954] ASSERTION FAILED: rootLayer == m_clipRectsRoot with this testcase

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 25 20:31:55 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=38954





--- Comment #1 from Simon Fraser (smfr) <simon.fraser at apple.com>  2010-06-25 20:31:55 PST ---
The assertion happens because RenderLayer::backgroundClipRect() asks the parent() for clip rects, but this can skip over compositing layer boundaries.

For example, in this tree:

layer 0x1275a8e58 at (0,0) size 599x332 (composited, bounds at (0,0) size 599x332)
  RenderView 0x10fb2cf98 at (0,0) size 599x332
 positive z-order list(1)
  layer 0x127b80d58 at (0,0) size 599x118 layerType: background only (composited, bounds at (0,0) size 599x332)
   negative z-order list(1)
    layer 0x12711b538 at (8,8) size 20x20
      RenderBlock (positioned) 0x1275f8228 zI: -1 {DIV} at (0,0) size 20x20 [bgcolor=#0000FF]
     positive z-order list(1)
      layer 0x127b49c68 at (8,8) size 20x0 (composited, bounds at (0,0) size 20x0)
        RenderBlock 0x1275f6b98 {DIV} at (0,0) size 20x0
  layer 0x127b80d58 at (0,0) size 599x118 layerType: foreground only (composited, bounds at (0,0) size 599x332)
    RenderBlock 0x127b30408 {HTML} at (0,0) size 599x118
   positive z-order list(1)
    layer 0x10fb2a098 at (8,8) size 583x102 (composited, bounds at (0,0) size 583x102)
      RenderBody 0x127b0d9b8 {BODY} at (8,8) size 583x102 [bgcolor=#C0C0C0]
     normal flow list(1)
      layer 0x1271e91c8 at (8,8) size 202x102 clip at (9,9) size 200x100
        RenderBlock 0x124aed948 {DIV} at (0,0) size 202x102 [border: (1px solid #000000)]

we cache clip rects on 0x10fb2a098 relative to itself (because it's composited). But then when painting 0x12711b538 relative to root 0x127b80d58, we ask for clip rects on parent(), which is 0x1271e91c8.

I think we should fix bug 38959 before this one, since currently the rendering of the testcase is not correct.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list