RESOLVED INVALID 100968
[subixel] FrameView's converTo/FromRenderer methods should not pixel snap transforms
https://bugs.webkit.org/show_bug.cgi?id=100968
Summary [subixel] FrameView's converTo/FromRenderer methods should not pixel snap tra...
Levi Weintraub
Reported 2012-11-01 10:03:16 PDT
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
Attachments
Patch (3.18 KB, patch)
2012-11-01 10:14 PDT, Levi Weintraub
eae: review+
webkit.review.bot: commit-queue-
Levi Weintraub
Comment 1 2012-11-01 10:14:51 PDT
Emil A Eklund
Comment 2 2012-11-01 10:16:55 PDT
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?
Levi Weintraub
Comment 3 2012-11-01 10:18:59 PDT
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.
Darin Adler
Comment 4 2012-11-01 10:20:31 PDT
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?
WebKit Review Bot
Comment 5 2012-11-01 11:38:46 PDT
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
Levi Weintraub
Comment 6 2012-11-09 11:26:53 PST
I found a better fix for this.
Note You need to log in before you can comment on or make changes to this bug.