[webkit-reviews] review granted: [Bug 133522] [New Multicolumn] Hit testing of composited content is broken : [Attachment 232550] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jun 5 10:23:46 PDT 2014
Simon Fraser (smfr) <simon.fraser at apple.com> has granted Dave Hyatt
<hyatt at apple.com>'s request for review:
Bug 133522: [New Multicolumn] Hit testing of composited content is broken
https://bugs.webkit.org/show_bug.cgi?id=133522
Attachment 232550: Patch
https://bugs.webkit.org/attachment.cgi?id=232550&action=review
------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=232550&action=review
>>> Source/WebCore/rendering/RenderLayer.cpp:955
>>> + m_enclosingLayerIsPaginatedAndComposited = isComposited();
>>
>> Do you actually need to cache m_enclosingLayerIsPaginatedAndComposited? Is
m_enclosingLayerIsPaginatedAndComposited ever different from
m_enclosingPaginationLayer->isComposited()?
>
> Yes. An intermediate layer can be composited that sits in between the
enclosing pagination layer and this layer.
The name of m_enclosingLayerIsPaginatedAndComposited is a bit confusing then.
Is it worth caching this or could you just detect it on the fly by walking up
the layer tree?
> Source/WebCore/rendering/RenderLayer.cpp:966
> + m_enclosingPaginationLayer =
parent()->enclosingPaginationLayer(IncludeCompositedPaginatedLayers);
> + m_enclosingLayerIsPaginatedAndComposited = isComposited() ? true :
parent()->enclosingLayerIsPaginatedAndComposited();
> + if (parent()->hasTransform()) {
> m_enclosingPaginationLayer = 0;
Why bother computing enclosingPaginationLayer() if you're just going to null it
out? Also nullptr.
> Source/WebCore/rendering/RenderLayer.cpp:984
> + m_enclosingPaginationLayer =
containingBlock->layer()->enclosingPaginationLayer(IncludeCompositedPaginatedLa
yers);
> + m_enclosingLayerIsPaginatedAndComposited = isComposited() ? true
: containingBlock->layer()->enclosingLayerIsPaginatedAndComposited();
> + if (containingBlock->layer()->hasTransform()) {
> m_enclosingPaginationLayer = 0;
Ditto.
> Source/WebCore/rendering/RenderLayer.cpp:5587
> + const RenderLayer* paginationLayer = 0;
nullptr.
> Source/WebCore/rendering/RenderLayer.h:522
> + return 0;
nullptr.
More information about the webkit-reviews
mailing list