[Transforms] Pixel cracks in scaled border-image
https://bugs.webkit.org/show_bug.cgi?id=15720
Summary [Transforms] Pixel cracks in scaled border-image
mitz
Reported 2007-10-26 23:11:44 PDT
Applying non-power-of-2 scaling to a box with border-image results in gross misalignment of the pieces of the border. In the attached test case, move the slider to see the effect.
Attachments
Test case (893 bytes, text/html)
2007-10-26 23:12 PDT, mitz
no flags
Propose patch (10.95 KB, patch)
2010-05-24 13:29 PDT, Damian Kaleta
no flags
Propose patch (10.96 KB, patch)
2010-05-24 13:46 PDT, Damian Kaleta
bdakin: review-
Proposed patch. (13.74 KB, patch)
2010-05-28 15:32 PDT, Damian Kaleta
eric: review-
mitz
Comment 1 2007-10-26 23:12:18 PDT
Created attachment 16896 [details] Test case
mitz
Comment 2 2010-05-21 15:06:54 PDT
*** Bug 39500 has been marked as a duplicate of this bug. ***
mitz
Comment 3 2010-05-21 15:07:34 PDT
Damian Kaleta
Comment 4 2010-05-24 13:29:24 PDT
Created attachment 56917 [details] Propose patch
WebKit Review Bot
Comment 5 2010-05-24 13:31:30 PDT
Attachment 56917 [details] did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style', '--no-squash']" exit_code: 1 WebCore/ChangeLog:6: Line contains tab character. [whitespace/tab] [5] Total errors found: 1 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
Damian Kaleta
Comment 6 2010-05-24 13:46:34 PDT
Created attachment 56920 [details] Propose patch Fixes tab typo.
Beth Dakin
Comment 7 2010-05-24 13:55:53 PDT
Comment on attachment 56920 [details] Propose patch I don't like the idea of GraphicsContext having two new implementations of drawTiledImage() that are copies of the existing implementations except that they take FloatRects instead of IntRects. That is a lot of code duplication, which is something we try to avoid. The GraphicsContext::drawImage() functions do a better job of sharing code. I suggest taking a look at them and devising a way to share as much code as possible. Also, right now we only call roundToDevicePixels() from graphics-centric code…in other words, this would be the first patch where we called into that function directly from the render tree. I wonder if that is a separation that we want to maintain or not. It might be worth considering having drawTiledImage() call roundToDevicePixels() on the FloatRect rather than doing that at the call sites. I would be interested to see if Hyatt, Dan, or Darin has an opinion too :-)
Damian Kaleta
Comment 8 2010-05-28 15:32:20 PDT
Created attachment 57389 [details] Proposed patch.
Beth Dakin
Comment 9 2010-06-01 13:01:29 PDT
Comment on attachment 57389 [details] Proposed patch. r=me
WebKit Review Bot
Comment 10 2010-06-03 16:41:16 PDT
http://trac.webkit.org/changeset/60642 might have broken GTK Linux 32-bit Release
James Robinson
Comment 11 2010-06-03 17:27:42 PDT
Hi. This changed the rendering of fast/borders/border-image-rotate-transform.html on the chromium bots and I think it may be a regression. Here's the expected rendering: http://trac.webkit.org/export/60645/trunk/LayoutTests/platform/mac/fast/borders/border-image-rotate-transform-expected.png and here's what we are getting: http://build.chromium.org/buildbot/layout_test_results/webkit-rel-mac-webkit-org/results/layout-test-results/fast/borders/border-image-rotate-transform-actual.png The B B B and R R R borders are at a different offset after the patch. If this is intended, could you update the platform/mac expected results?
mitz
Comment 12 2010-06-03 17:32:32 PDT
(In reply to comment #11) > Hi. This changed the rendering of fast/borders/border-image-rotate-transform.html on the chromium bots and I think it may be a regression. It’s a regression.
James Robinson
Comment 13 2010-06-03 18:01:42 PDT
Thanks for looking at it. Given that it's a rendering regression I'm inclined to roll it out.
James Robinson
Comment 14 2010-06-03 18:32:34 PDT
Eric Seidel (no email)
Comment 15 2010-06-03 21:02:11 PDT
Borked the gtk.
Eric Seidel (no email)
Comment 16 2010-06-03 21:56:22 PDT
(I was mistaken with my Gtk comment.)
Eric Seidel (no email)
Comment 17 2010-06-24 16:30:14 PDT
Comment on attachment 57389 [details] Proposed patch. nm. Should be r-'d since it was rolled out.
Mike Taylor
Comment 18 2011-11-17 11:05:52 PST
I believe I'm running into this bug with -webkit-transform:translate(-50%, -50%) on a div with border-image in r100547. Removing the transform gets rid of the "crack" and blurriness. Same in Chrome Canary too. see http://miketaylr.com/post/338660f5.png
Radar WebKit Bug Importer
Comment 19 2013-11-07 16:42:48 PST
Note You need to log in before you can comment on or make changes to this bug.