Reviewed by Alexey Proskuryakov.
- apply matrix transforms on the correct side of the transformation
matrix (not on the side where the vector is multiplied).
Test: fast/transforms/matrix-02.html
* rendering/RenderStyle.h:
(WebCore::MatrixTransformOperation::apply):
LayoutTests:
Reviewed by Alexey Proskuryakov.
- test the matrix transforms are applied on the correct side
* fast/transforms/matrix-02.html: Added.
* platform/mac/fast/transforms/matrix-02-expected.checksum: Added.
* platform/mac/fast/transforms/matrix-02-expected.png: Added.
* platform/mac/fast/transforms/matrix-02-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27985
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-11-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ - test the matrix transforms are applied on the correct side
+
+ * fast/transforms/matrix-02.html: Added.
+ * platform/mac/fast/transforms/matrix-02-expected.checksum: Added.
+ * platform/mac/fast/transforms/matrix-02-expected.png: Added.
+ * platform/mac/fast/transforms/matrix-02-expected.txt: Added.
+
2007-11-23 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
--- /dev/null
+<body style="position: relative;">
+ <div style="width: 90px; height: 90px; position: absolute; top: 0; left: 0; -webkit-transform: matrix(.7071, .7071, -.7071, .7071, 0, 0) rotate(-45deg); border: 5px solid green;"></div>
+ <div style="width: 90px; height: 90px; position: absolute; top: 5px; left: 5px; background-color: green;"></div>
+</body>
--- /dev/null
+18f1f64eab31dfb69467a497de9442d7
\ No newline at end of file
--- /dev/null
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+layer at (8,8) size 784x584
+ RenderBody {BODY} at (8,8) size 784x584
+layer at (8,8) size 100x100
+ RenderBlock (positioned) {DIV} at (0,0) size 100x100 [border: (5px solid #008000)]
+layer at (13,13) size 90x90
+ RenderBlock (positioned) {DIV} at (5,5) size 90x90 [bgcolor=#008000]
+2007-11-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ - apply matrix transforms on the correct side of the transformation
+ matrix (not on the side where the vector is multiplied).
+
+ Test: fast/transforms/matrix-02.html
+
+ * rendering/RenderStyle.h:
+ (WebCore::MatrixTransformOperation::apply):
+
2007-11-23 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
virtual void apply(AffineTransform& transform, const IntSize& borderBoxSize)
{
AffineTransform matrix(m_a, m_b, m_c, m_d, m_e, m_f);
- transform.multiply(matrix);
+ transform = matrix * transform;
}
virtual TransformOperation* blend(const TransformOperation* from, double progress, bool blendToIdentity = false);