WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
88906
Tiled drawing means some elements can disappear behind the page
https://bugs.webkit.org/show_bug.cgi?id=88906
Summary
Tiled drawing means some elements can disappear behind the page
Dean Jackson
Reported
2012-06-12 13:28:32 PDT
When tiled drawing (TileCache) is enabled on a page, and the page has preserve-3d, then elements can potentially disappear behind the tiles.
Attachments
Test case
(424 bytes, text/html)
2012-06-12 13:39 PDT
,
Dean Jackson
no flags
Details
Patch
(9.63 KB, patch)
2012-06-14 17:10 PDT
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Patch
(17.34 KB, patch)
2012-07-06 15:42 PDT
,
Dean Jackson
no flags
Details
Formatted Diff
Diff
Patch
(16.77 KB, patch)
2012-07-08 17:04 PDT
,
Dean Jackson
simon.fraser
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Dean Jackson
Comment 1
2012-06-12 13:29:51 PDT
<
rdar://problem/11601834
>
Radar WebKit Bug Importer
Comment 2
2012-06-12 13:30:52 PDT
<
rdar://problem/11649569
>
Dean Jackson
Comment 3
2012-06-12 13:39:06 PDT
Created
attachment 147146
[details]
Test case
Dean Jackson
Comment 4
2012-06-14 17:10:51 PDT
Created
attachment 147683
[details]
Patch
Dean Jackson
Comment 5
2012-07-06 15:42:13 PDT
Created
attachment 151121
[details]
Patch
Simon Fraser (smfr)
Comment 6
2012-07-06 15:52:46 PDT
Comment on
attachment 151121
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=151121&action=review
> Source/WebCore/platform/graphics/ca/mac/TileCache.mm:67 > + [m_tileContainerLayer.get() setName:@"TileCache Container Layer"];
We normally only set layer names in debug.
> Source/WebCore/rendering/RenderLayerBacking.cpp:145 > + m_creatingPrimaryGraphicsLayer = true;
I think m_creatingPrimaryGraphicsLayer could just be a static.
> Source/WebCore/rendering/RenderLayerBacking.cpp:176 > + m_graphicsLayer = createGraphicsLayer(layerName, true);
Not a big fan of the 'true' here.
> Source/WebCore/rendering/RenderLayerBacking.cpp:570 > + if (m_containmentLayer && !m_usingTiledCacheLayer) {
I think the m_containmentLayer && !m_usingTiledCacheLayer thing everywhere is confusing. Maybe add: GraphicsLayer* tileCacheFlatteningLayer() const { return m_usingTiledCacheLayer ? m_containmentLayer : 0; } GraphicsLayer* clippingLayer() const { return !m_usingTiledCacheLayer ? m_containmentLayer : 0; } and use them like: if (GraphicsLayer* clippingLayer = clippingLayer()) clippingLayer->....
Dean Jackson
Comment 7
2012-07-08 16:54:23 PDT
(In reply to
comment #6
)
> (From update of
attachment 151121
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=151121&action=review
> > > Source/WebCore/platform/graphics/ca/mac/TileCache.mm:67 > > + [m_tileContainerLayer.get() setName:@"TileCache Container Layer"]; > > We normally only set layer names in debug.
Done.
> > > Source/WebCore/rendering/RenderLayerBacking.cpp:145 > > + m_creatingPrimaryGraphicsLayer = true; > > I think m_creatingPrimaryGraphicsLayer could just be a static.
Done.
> > > Source/WebCore/rendering/RenderLayerBacking.cpp:176 > > + m_graphicsLayer = createGraphicsLayer(layerName, true); > > Not a big fan of the 'true' here.
I removed the default parameter, and had createPrimaryGraphicsLayer just wrap its call to createGraphicsLayer in the yucky setting of the static bool.
> > Source/WebCore/rendering/RenderLayerBacking.cpp:570 > > + if (m_containmentLayer && !m_usingTiledCacheLayer) { > > I think the m_containmentLayer && !m_usingTiledCacheLayer thing everywhere is confusing. > > ...
I did this where I could. There are still come cases where we need to check m_usingTileCacheLayer directly, such as when we create the layers, but it's better now.
Dean Jackson
Comment 8
2012-07-08 17:04:18 PDT
Created
attachment 151167
[details]
Patch
Simon Fraser (smfr)
Comment 9
2012-07-09 10:30:15 PDT
Comment on
attachment 151167
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=151167&action=review
> Source/WebCore/ChangeLog:11 > + some 3d transforms, the elements could disappear behind the > + page background (which is rendered into the tile cache). Fix
... and could intersect with the tile cache tiles.
Dean Jackson
Comment 10
2012-07-09 13:39:27 PDT
Committed
r122152
: <
http://trac.webkit.org/changeset/122152
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug