Bug 34065

Summary: Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: eric, mitz
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
Reduction
none
Another testcase
none
Patch
none
Patch mitz: review+

Description Simon Fraser (smfr) 2010-01-24 19:24:33 PST
When watching videos at hulu in recent builds, with Flash Player 10.1 beta installed, there's an assertion:
ASSERTION FAILED: rootLayer == m_clipRectsRoot
Comment 1 Simon Fraser (smfr) 2010-01-24 19:25:10 PST
Created attachment 47306 [details]
Reduction
Comment 2 Simon Fraser (smfr) 2010-01-24 19:25:26 PST
<rdar://problem/7573509>
Comment 3 Simon Fraser (smfr) 2010-03-04 18:47:13 PST
Created attachment 50078 [details]
Another testcase

Here's another testcase, which doesn't involve any 0x0 layers.
Comment 4 Simon Fraser (smfr) 2010-03-04 19:24:16 PST
In the second testcase, the assertion is firing because there's a layer whose parent is composited, but that parent is not a stacking context, so the layer is not rendered by that parent. Thus, the parent computes its own clip rects relative to itself, but when that layer asks for its parent's clip rects, it's asking with the root layer as the clip rects root.
Comment 5 Simon Fraser (smfr) 2010-03-04 19:48:50 PST
Ah, <object> tag is triggering this because of the call to FrameView::windowClipRectForLayer() from -[WebBaseNetscapePluginView _windowClipRect]
Comment 6 Simon Fraser (smfr) 2010-03-05 14:11:38 PST
Created attachment 50119 [details]
Patch
Comment 7 mitz 2010-03-05 14:23:50 PST
Comment on attachment 50119 [details]
Patch

> +        Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
> +        https://bugs.webkit.org/show_bug.cgi?id=34065

Please add the Radar link. You may remove one instance of “assertion”.
Comment 8 Simon Fraser (smfr) 2010-03-05 14:24:49 PST
Created attachment 50121 [details]
Patch
Comment 9 Simon Fraser (smfr) 2010-03-05 14:29:41 PST
Comment on attachment 50119 [details]
Patch

Stupid webkit-patch
Comment 10 Simon Fraser (smfr) 2010-03-05 14:56:54 PST
Comment on attachment 50119 [details]
Patch

http://trac.webkit.org/changeset/55597
Comment 11 Eric Seidel (no email) 2010-03-15 13:14:21 PDT
Did this land?  And what did webkit-patch do that you'd not like it to?  I'm happy to fix any and all webkit-patch bugs if you file them. :)
Comment 12 Simon Fraser (smfr) 2010-03-17 17:18:18 PDT
webkit-patch obsoleted an earlier, non-overlapping patch in the bug when attaching a second patch.

Sometimes we do need to track > 1 patch per bug.
Comment 13 Eric Seidel (no email) 2010-03-17 17:20:14 PDT
(In reply to comment #12)
> webkit-patch obsoleted an earlier, non-overlapping patch in the bug when
> attaching a second patch.
> 
> Sometimes we do need to track > 1 patch per bug.

Agreed.  We decided to optimize for the common case.  You can always pass --no-obsolete to any command which does obsoleting and it will stop. :)
Comment 14 Simon Fraser (smfr) 2010-03-23 17:07:12 PDT
http://trac.webkit.org/changeset/56428