Pixel snapping these methods can lead to repaint issues, as the resulting values are sent through repaint code that's aware of pixel snapping. Unfortunately, there doesn't seem to be a way to repeat this without a plugin redrawing itself. http://news.nana10.co.il/Article/?ArticleID=930551 demonstrates the issue (see http://code.google.com/p/chromium/issues/detail?id=156528 for details). This is a regression introduced by me in http://trac.webkit.org/changeset/131111
Created attachment 171887 [details] Patch
Comment on attachment 171887 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=171887&action=review > Source/WebCore/page/FrameView.cpp:-3488 > - IntRect rect = renderer->localToAbsoluteQuad(FloatRect(rendererRect), SnapOffsetForTransforms).enclosingBoundingBox(); This change restores the logic we had prior to r131111 for these methods, correct?
Comment on attachment 171887 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=171887&action=review >> Source/WebCore/page/FrameView.cpp:-3488 >> - IntRect rect = renderer->localToAbsoluteQuad(FloatRect(rendererRect), SnapOffsetForTransforms).enclosingBoundingBox(); > > This change restores the logic we had prior to r131111 for these methods, correct? That's correct.
Comment on attachment 171887 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=171887&action=review The comments make it sound like these fixes are specific to plug-ins, yet the code changes are in non-plug-in-specific functions. Are these code paths really unused outside of the plug-in world? We have test plug-ins and tests that use those plug-ins. Is it really impossible to cover this with a regression test? If so, can you check in some test cases to be run manually? > Source/WebCore/ChangeLog:3 > + [subixel] FrameView's converTo/FromRenderer methods should not pixel snap transforms Missing p in subpixel?
Comment on attachment 171887 [details] Patch Attachment 171887 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/14686591 New failing tests: fast/repaint/repaint-during-scroll-with-zoom.html fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html
I found a better fix for this.