[webkit-reviews] review denied: [Bug 115304] REGRESSION(SUBPIXEL_LAYOUT) Composited layers can cause one pixel shifts : [Attachment 200888] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jun 6 11:02:46 PDT 2013


Simon Fraser (smfr) <simon.fraser at apple.com> has denied Allan Sandfeld Jensen
<allan.jensen at digia.com>'s request for review:
Bug 115304: REGRESSION(SUBPIXEL_LAYOUT) Composited layers can cause one pixel
shifts
https://bugs.webkit.org/show_bug.cgi?id=115304

Attachment 200888: Patch
https://bugs.webkit.org/attachment.cgi?id=200888&action=review

------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=200888&action=review


I think the spirit of the patch is OK, but not the implementation.

> Source/WebCore/platform/graphics/GraphicsLayer.h:252
>      IntSize offsetFromRenderer() const { return m_offsetFromRenderer; }
>      void setOffsetFromRenderer(const IntSize&, ShouldSetNeedsDisplay =
SetNeedsDisplay);
>  
> +    LayoutSize subpixelAccumulation() const { return m_subpixelAccumulation;
}
> +    void setSubpixelAccumulation(const LayoutSize& subpixelAccumulation) {
m_subpixelAccumulation = subpixelAccumulation; }

Unclear why we would need both offsetFromRenderer and subpixelAccumulation. Why
is it ok for offsetFromRenderer to be IntSize?

> Source/WebCore/platform/graphics/GraphicsLayer.h:502
> +    // Accumulated subpixel error to be used by subpixel layout of the
content.
> +    LayoutSize m_subpixelAccumulation;

I don't think GraphicsLayer should every see Layout*

> Source/WebCore/rendering/RenderLayerBacking.cpp:656
> +    // We must move the bounds by the subpixel part of delta,
> +    // so that they can be pixel snapped to actual pixels.

That comment doesn't make much sense.

> Source/WebCore/rendering/RenderLayerBacking.cpp:710
> +   
m_graphicsLayer->setPosition(FloatPoint(relativePixelCompositingBounds.location
() - graphicsLayerParentLocation));
> +   
m_graphicsLayer->setOffsetFromRenderer(toIntSize(localPixelCompositingBounds.lo
cation()));
> +   
m_graphicsLayer->setSubpixelAccumulation(toLayoutSize(delta.fraction()));

What about m_foregroundLayer, m_maskLayer and m_backgroundLayer?

Why not store subpixel accumulation here on the RLB?


More information about the webkit-reviews mailing list