Transforming with 135 deg skew results in incorrect rendering. With a 135 deg skew, transformation matrix is { xx=1, xy=-1, yx=0, yy=1 } and here the xScale becomes 0, which causes a division-by-zero. https://github.com/WebKit/webkit/blob/523cf6b5bbafa7394699a0b3b52f13265174cff6/Source/WebCore/platform/graphics/cairo/CairoUtilities.cpp#L245 This behavior has been introduced with bug 154283.
Quick test: https://psdev-ext.jp.biz.playstation.net/orbis/vsh/testapp/xshin/transform_test.html
Created attachment 352150 [details] layout tests
Created attachment 352152 [details] Patch
Provided R=(ctm.xx, ctm.xy, ctm.yx, ctm.yy), T=(ctm.x0, ctm.y0), D=(-dx, -dy), the translation components (x0, y0) after cairo_translate(-dx, -dy) will be (x0, y0) = R*D + T so D to zero (x0, y0) is: D = -R^-1* T With (xy = 0, yx = 0), D is: D = -(x0, y0) * (yy, xx) / det: where det = xx * yy so (dx, dy) = (x0 / xx, y0 / yy) This is the same result as before.
Comment on attachment 352152 [details] Patch Attachment 352152 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/9549433 New failing tests: fast/transforms/skew-y-135deg-with-gradient.html fast/transforms/skew-x-135deg-with-gradient.html
Created attachment 352153 [details] Archive of layout-test-results from ews101 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-sierra Platform: Mac OS X 10.12.6
Comment on attachment 352152 [details] Patch Attachment 352152 [details] did not pass mac-wk2-ews (mac-wk2): Output: https://webkit-queues.webkit.org/results/9549446 New failing tests: fast/transforms/skew-y-135deg-with-gradient.html fast/transforms/skew-x-135deg-with-gradient.html
Created attachment 352154 [details] Archive of layout-test-results from ews106 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
Comment on attachment 352152 [details] Patch Attachment 352152 [details] did not pass mac-debug-ews (mac): Output: https://webkit-queues.webkit.org/results/9549511 New failing tests: fast/transforms/skew-y-135deg-with-gradient.html fast/transforms/skew-x-135deg-with-gradient.html
Created attachment 352157 [details] Archive of layout-test-results from ews112 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-sierra Platform: Mac OS X 10.12.6
Comment on attachment 352152 [details] Patch Attachment 352152 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/9549724 New failing tests: fast/transforms/skew-y-135deg-with-gradient.html fast/transforms/skew-x-135deg-with-gradient.html
Created attachment 352164 [details] Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
Comment on attachment 352152 [details] Patch Attachment 352152 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/9550617 New failing tests: fast/transforms/skew-y-135deg-with-gradient.html fast/transforms/skew-x-135deg-with-gradient.html
Created attachment 352167 [details] Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.6
Comment on attachment 352152 [details] Patch Attachment 352152 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/9551304 New failing tests: fast/transforms/skew-y-135deg-with-gradient.html fast/transforms/skew-x-135deg-with-gradient.html
Created attachment 352168 [details] Archive of layout-test-results from ews205 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews205 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Thanks! You'll investigate why the EWS are failing?
(In reply to Michael Catanzaro from comment #17) > Thanks! > > You'll investigate why the EWS are failing? Yes, let me check.
Created attachment 352286 [details] diff image Looks like solid color and gradient make slightly different results. The tests need to improve.
Created attachment 352294 [details] Patch
(In reply to Yoshiaki Jitsukawa from comment #19) > Looks like solid color and gradient make slightly different results. The > tests need to improve. 10px border lines now cover the edges rendered (antialiased?) in a platform-specific way.
Comment on attachment 352294 [details] Patch r=me
Comment on attachment 352294 [details] Patch Clearing flags on attachment: 352294 Committed r237119: <https://trac.webkit.org/changeset/237119>
All reviewed patches have been landed. Closing bug.
<rdar://problem/45274028>