RESOLVED FIXED 28837
Compositing layer sizes do not take inner reflections into account
https://bugs.webkit.org/show_bug.cgi?id=28837
Summary Compositing layer sizes do not take inner reflections into account
Simon Fraser (smfr)
Reported 2009-08-30 22:37:59 PDT
Created attachment 38799 [details] Testcase When elements inside a compositing layer are reflected, the compositing layer is not make large enough to show the entire reflection. See attached testcase.
Attachments
Testcase (1.21 KB, text/html)
2009-08-30 22:37 PDT, Simon Fraser (smfr)
no flags
Patch, testcase, changelog (6.10 KB, patch)
2009-08-31 12:11 PDT, Simon Fraser (smfr)
mitz: review+
Simon Fraser (smfr)
Comment 1 2009-08-30 22:41:16 PDT
Patch: diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp index 517735e..5eb25cb 100644 --- a/WebCore/rendering/RenderLayerCompositor.cpp +++ b/WebCore/rendering/RenderLayerCompositor.cpp @@ -291,6 +291,13 @@ IntRect RenderLayerCompositor::calculateCompositedBounds(const RenderLayer* laye return boundingBoxRect; } + if (RenderLayer* reflection = layer->reflectionLayer()) { + if (!reflection->isComposited()) { + IntRect childUnionBounds = calculateCompositedBounds(reflection, layer); + unionBounds.unite(childUnionBounds); + } + } + ASSERT(layer->isStackingContext() || (!layer->m_posZOrderList || layer->m_posZOrderList->size() == 0)); if (Vector<RenderLayer*>* negZOrderList = layer->negZOrderList()) {
Simon Fraser (smfr)
Comment 2 2009-08-31 12:11:55 PDT
Created attachment 38828 [details] Patch, testcase, changelog
mitz
Comment 3 2009-08-31 13:44:14 PDT
Comment on attachment 38828 [details] Patch, testcase, changelog > +</html> > \ No newline at end of file Please add a newline.
Simon Fraser (smfr)
Comment 4 2009-08-31 14:00:34 PDT
Eric Seidel (no email)
Comment 5 2009-09-01 02:58:16 PDT
Looks landed.
Eric Seidel (no email)
Comment 6 2009-09-01 02:59:05 PDT
/me makes comments under his breath about tools like "bugzilla-tool" being able to update and close bugs after landing. :) bugzilla-tool land-diff 28837 in this instance. :)
Note You need to log in before you can comment on or make changes to this bug.