[Webkit-unassigned] [Bug 95699] !needsLayout assertion firing often

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Sep 10 09:54:41 PDT 2012


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


Zalan Bujtas <zbujtas at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zbujtas at gmail.com




--- Comment #1 from Zalan Bujtas <zbujtas at gmail.com>  2012-09-10 09:55:02 PST ---
(In reply to comment #0)
> I'm hitting this assertion fairly often.
> 
> ASSERTION FAILED: !needsLayout()
> /Users/dino/apple/code/WebKit-OpenSource/Source/WebCore/page/FrameView.cpp(3148) : virtual void WebCore::FrameView::paintContents(WebCore::GraphicsContext *, const WebCore::IntRect &)
> 1   0x1021e788d WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&)
> 2   0x1006e1993 -[WebFrame(WebInternal) _drawRect:contentsOnly:]
> 3   0x100737fc0 -[WebHTMLView drawSingleRect:]
> 4   0x1007386a0 -[WebHTMLView drawRect:]
> 
> The setup is a single document with an iframe element. The script in the top level sets the src of the iframe and then extracts some of the content (each of the sub-documents is a test case). Overall, it updates the iframe src about 300 times, and almost certainly asserts at some point in the run. 
Could you share your test case? I quickly put one together, but couldn't reproduce it. (although i was pretty sure it won't work as this assert is highly content dependent)

>Commenting it out appears harmless (the next line is an early return).
It might appear harmless, but this is actually a good indicator when something goes wrong while layouting a frame. The frame needs to be layout clean, when painting phase hits. 
On release build, you would end up with blank content, unless there are an additional layout-paint loop that does the job.

-- 
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