Bug 43167 - SHOULD NEVER BE REACHED assertion when switching tabs with composited content
Summary: SHOULD NEVER BE REACHED assertion when switching tabs with composited content
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-28 18:17 PDT by Simon Fraser (smfr)
Modified: 2010-07-29 11:43 PDT (History)
0 users

See Also:


Attachments
Testcase (623 bytes, text/html)
2010-07-28 18:17 PDT, Simon Fraser (smfr)
no flags Details
Patch (1.80 KB, patch)
2010-07-29 11:15 PDT, Simon Fraser (smfr)
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2010-07-28 18:17:54 PDT
Created attachment 62909 [details]
Testcase

Load the attached testcase in Safari, switch to another tab, then switch back. You often hit:

SHOULD NEVER BE REACHED
(RenderLayerBacking.cpp:941 void WebCore::RenderLayerBacking::paintIntoLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, const WebCore::IntRect&, WebCore::PaintBehavior, WebCore::GraphicsLayerPaintingPhase, WebCore::RenderObject*))
Comment 1 Simon Fraser (smfr) 2010-07-29 11:04:56 PDT
The issue here is that as the root layer attachment changes, setDrawsContent(true) gets called on the RenderView's compositing layer, which in turn cause a -setNeedsDisplay. That should never happen.
Comment 2 Simon Fraser (smfr) 2010-07-29 11:15:16 PDT
Created attachment 62970 [details]
Patch
Comment 3 Darin Adler 2010-07-29 11:18:57 PDT
Comment on attachment 62970 [details]
Patch

Can you land a manual test? Just an HTML file with steps to reproduce in it. We do have a directory full of manual tests, although Iā€™m not sure we get maximum value from them.
Comment 4 Simon Fraser (smfr) 2010-07-29 11:43:19 PDT
http://trac.webkit.org/changeset/64296, including manual test.