Summary: | Subpixel rendering: Transform origin is miscalculated when RenderLayer's offsetfromRenderer has device pixel fraction value. | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | zalan <zalan> | ||||||||||||||||||
Component: | Layout and Rendering | Assignee: | zalan <zalan> | ||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||
Severity: | Normal | CC: | buildbot, commit-queue, esprehn+autocc, glenn, kondapallykalyan, rniwa, simon.fraser | ||||||||||||||||||
Priority: | P2 | ||||||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||
Bug Depends on: | 129961 | ||||||||||||||||||||
Bug Blocks: | |||||||||||||||||||||
Attachments: |
|
Description
zalan
2014-03-06 20:35:57 PST
This patch requires to be able to test hidpi compositing layers. bug 129961 Created attachment 226244 [details]
Patch
Comment on attachment 226244 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=226244&action=review > Source/WebCore/rendering/RenderLayerBacking.cpp:845 > + LayoutRect layerBounds(LayoutPoint(roundedForPainting(offsetFromParent, deviceScaleFactor)), borderBox.size()); It's a bit odd that the origin is device-pixel snapped, but the size is not. Does this work for large boxes where a percentage transform-origin could be visibly affected by the exact size? (In reply to comment #3) > (From update of attachment 226244 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=226244&action=review > > > Source/WebCore/rendering/RenderLayerBacking.cpp:845 > > + LayoutRect layerBounds(LayoutPoint(roundedForPainting(offsetFromParent, deviceScaleFactor)), borderBox.size()); > > It's a bit odd that the origin is device-pixel snapped, but the size is not. Does this work for large boxes where a percentage transform-origin could be visibly affected by the exact size? Good catch. It is most likely incorrect. Created attachment 226262 [details]
Patch
Comment on attachment 226262 [details]
Patch
EWSing
Comment on attachment 226262 [details] Patch Attachment 226262 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/6043000496979968 New failing tests: compositing/columns/composited-columns.html compositing/repaint/resize-repaint.html compositing/visibility/visibility-image-layers-dynamic.html compositing/repaint/invalidations-on-composited-layers.html compositing/geometry/limit-layer-bounds-opacity-transition.html Created attachment 226263 [details]
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-10 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Comment on attachment 226262 [details] Patch Attachment 226262 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/4645108901216256 New failing tests: compositing/columns/composited-columns.html compositing/repaint/resize-repaint.html compositing/visibility/visibility-image-layers-dynamic.html compositing/repaint/invalidations-on-composited-layers.html compositing/geometry/limit-layer-bounds-opacity-transition.html Created attachment 226264 [details]
Archive of layout-test-results from webkit-ews-03 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-03 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Comment on attachment 226262 [details] Patch Attachment 226262 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/6612167415562240 New failing tests: compositing/columns/composited-columns.html compositing/repaint/resize-repaint.html compositing/visibility/visibility-image-layers-dynamic.html compositing/repaint/invalidations-on-composited-layers.html compositing/geometry/limit-layer-bounds-opacity-transition.html Created attachment 226265 [details]
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-11 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Comment on attachment 226262 [details] Patch Attachment 226262 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6541343404851200 New failing tests: compositing/columns/composited-columns.html compositing/repaint/resize-repaint.html compositing/visibility/visibility-image-layers-dynamic.html compositing/repaint/invalidations-on-composited-layers.html compositing/geometry/limit-layer-bounds-opacity-transition.html Created attachment 226271 [details]
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-07 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Created attachment 226469 [details]
Patch
Comment on attachment 226469 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=226469&action=review > LayoutTests/platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:114 > + (anchor 0.50 0.50) Are these just slightly different from 0.5? Maybe we need to print more precision. > Source/WebCore/rendering/RenderLayerBacking.cpp:848 > + FloatPoint3D anchor(enclosingRelativeCompositingBounds.width() != 0.0f ? ((layerOffset.x() - enclosingRelativeCompositingBounds.x()) + transformOrigin.x()) > + / enclosingRelativeCompositingBounds.width() : 0.5f, enclosingRelativeCompositingBounds.height() != 0.0f ? ((layerOffset.y() - enclosingRelativeCompositingBounds.y()) 0.0f -> 0, 0.5f -> 0.5 Created attachment 227150 [details]
Patch
Comment on attachment 227150 [details]
Patch
EWS testing.
(In reply to comment #16) > (From update of attachment 226469 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=226469&action=review > > > LayoutTests/platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:114 > > + (anchor 0.50 0.50) > > Are these just slightly different from 0.5? Maybe we need to print more precision. bug 130442 > > > Source/WebCore/rendering/RenderLayerBacking.cpp:848 > > + FloatPoint3D anchor(enclosingRelativeCompositingBounds.width() != 0.0f ? ((layerOffset.x() - enclosingRelativeCompositingBounds.x()) + transformOrigin.x()) > > + / enclosingRelativeCompositingBounds.width() : 0.5f, enclosingRelativeCompositingBounds.height() != 0.0f ? ((layerOffset.y() - enclosingRelativeCompositingBounds.y()) > > 0.0f -> 0, 0.5f -> 0.5 done. Comment on attachment 227150 [details] Patch Clearing flags on attachment: 227150 Committed r165892: <http://trac.webkit.org/changeset/165892> All reviewed patches have been landed. Closing bug. |