Bug 44629 - Crash when switching to tiled layer when parent is also a tiled layer
Summary: Crash when switching to tiled layer when parent is also a tiled layer
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows 7
: P2 Normal
Assignee: Chris Marrin
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2010-08-25 11:49 PDT by Chris Marrin
Modified: 2010-08-26 10:33 PDT (History)
0 users

See Also:


Attachments
test showing problem (1.45 KB, text/html)
2010-08-25 13:29 PDT, Chris Marrin
no flags Details
Patch with test case (12.80 KB, patch)
2010-08-25 15:09 PDT, Chris Marrin
simon.fraser: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Marrin 2010-08-25 11:49:03 PDT
There is a case (found with a Bing page) where causing a layer to go from non-tiled to tiled causes a crash when that layer has a tiled layer parent. A test case is forthcoming.
Comment 1 Chris Marrin 2010-08-25 13:29:27 PDT
Created attachment 65466 [details]
test showing problem
Comment 2 Chris Marrin 2010-08-25 15:09:12 PDT
Created attachment 65479 [details]
Patch with test case
Comment 3 Chris Marrin 2010-08-25 15:12:12 PDT
rdar://problem/8223788
Comment 4 Simon Fraser (smfr) 2010-08-25 15:17:03 PDT
Comment on attachment 65479 [details]
Patch with test case

WebCore/platform/graphics/win/WKCACFLayer.h:65
 +          ASSERT(CACFLayerGetUserData(layer) != reinterpret_cast<void*>(0xDeadBeef));
I think 0xDeadBeef should be all lower- or uppercase. 

WebCore/platform/graphics/win/WKCACFLayer.cpp:185
 +      CACFLayerSetUserData(layer(), reinterpret_cast<void*>(0xDeadBeef));
Only do this in debug builds.

Seems like the underlying cause is that we mess with sublayerCount() for tiled layers. It would be nice to find a way to avoid that source of confusion.
Comment 5 Chris Marrin 2010-08-26 10:33:06 PDT
Landed in http://trac.webkit.org/changeset/66050