REGRESSION (r164449): Subpixel rendering: http://www.apple.com/iphone-6/ "Faster...
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 May 2015 22:03:12 +0000 (22:03 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 May 2015 22:03:12 +0000 (22:03 +0000)
commit4a2ea90b7d9c00232d1b573d62066f929ed703ef
treeb646fc5626aee9aa620f3114ed3b3caed584a313
parent5787b67be124c563a67742df3347d2cccbc8820e
REGRESSION (r164449): Subpixel rendering: apple.com/iphone-6/ "Faster wireless." image displays vertical black line on 1x displays at specific window width.
https://bugs.webkit.org/show_bug.cgi?id=144723
rdar://problem/18307094

Reviewed by Simon Fraser.

This patch ensures that the backing store's graphics layer is always positioned on a device pixel boundary.

While calculating the backing store's graphics layer location, its ancestor layer's compositing bounds is taken into account.
However the compositing bounds is an unsnapped value, so in order to place the graphics layer properly,
we need to pixel align the ancestor compositing bounds before using it to adjust the child's graphics layer position.

Source/WebCore:

Test: compositing/ancestor-compositing-layer-is-on-subpixel-position.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):

LayoutTests:

* compositing/ancestor-compositing-layer-is-on-subpixel-position-expected.html: Added.
* compositing/ancestor-compositing-layer-is-on-subpixel-position.html: Added.
* platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt: progression.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/compositing/ancestor-compositing-layer-is-on-subpixel-position-expected.html [new file with mode: 0644]
LayoutTests/compositing/ancestor-compositing-layer-is-on-subpixel-position.html [new file with mode: 0644]
LayoutTests/platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayerBacking.cpp