RESOLVED FIXED 164580
CSS 3D transform by matrix3d with translations doesn't take page zoom into account
https://bugs.webkit.org/show_bug.cgi?id=164580
Summary CSS 3D transform by matrix3d with translations doesn't take page zoom into ac...
Franklin Ta
Reported 2016-11-09 21:06:07 PST
Chromium bug: https://bugs.chromium.org/p/chromium/issues/detail?id=242685. Fixed in https://codereview.chromium.org/2482753002 Analogous change is in https://github.com/WebKit/webkit/blob/48bf6ce187a5b7a28b8ab4e3f3e45866487b5b17/Source/WebCore/css/TransformFunctions.cpp#L292 where it should be: TransformationMatrix matrix(downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(0)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(1)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(2)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(3)).doubleValue() / conversionData.zoom(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(4)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(5)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(6)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(7)).doubleValue() / conversionData.zoom(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(8)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(9)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(10)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(11)).doubleValue() / conversionData.zoom(), conversionData.zoom() * downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(12)).doubleValue(), conversionData.zoom() * downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(13)).doubleValue(), conversionData.zoom() * downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(14)).doubleValue(), downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(15)).doubleValue()); Or have that logic encapsulated in a zoom method on TransformationMatrix.
Attachments
Patch (30.03 KB, patch)
2022-10-10 19:24 PDT, Fujii Hironori
no flags
Radar WebKit Bug Importer
Comment 1 2016-11-11 21:24:07 PST
Fujii Hironori
Comment 2 2022-10-06 21:49:42 PDT
*** Bug 246198 has been marked as a duplicate of this bug. ***
Fujii Hironori
Comment 3 2022-10-07 12:59:35 PDT
Thank you very much, Franklin! I'm going to cherry-pick your chromium patch.
Simon Fraser (smfr)
Comment 4 2022-10-07 13:21:47 PDT
How does this relate to bug 245606 ?
Fujii Hironori
Comment 5 2022-10-07 14:04:31 PDT
Oh, I didn't know that. It's an incomplete fix. See comment#0. 3rd, 7th, 11th elements needs divisions.
Fujii Hironori
Comment 6 2022-10-10 19:24:23 PDT
Fujii Hironori
Comment 7 2022-10-10 19:30:55 PDT
EWS
Comment 8 2022-10-11 19:15:45 PDT
Committed 255416@main (fee4b197a6bb): <https://commits.webkit.org/255416@main> Reviewed commits have been landed. Closing PR #5220 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.