Created attachment 100904 [details] Reduction FF and Opera apply the transformation where WebKit uses the top / left information and ignores the transformation. Attached is a reduction.
Looks like the reduced test works fine. Could you please attach the correct test?
Created attachment 104201 [details] Reduction without deps on repaint.js > Could you please attach the correct test? There was a dependency on repaint.js in the previous one. The new one does not have that (it was meant to be a repaint test in the first place). Thanks for noticing!
I think this is correct behavior for HTML.
The given test fails because of missing unit identifier (px) in '-webkit-transform: translate(100, 100);' property. FF and Opera have no problem in assuming 'px' in case of missing unit identifier in transform property. The CSS3 spec http://www.w3.org/TR/css3-2d-transforms/#transform-values says <translation-value> is defined as a <length> or <percentage> value, and the <angle> type is defined by CSS Values and Units. and in http://www.w3.org/TR/css3-values/#lengths The format of a length value (denoted by <length>) is a <number> immediately followed by a unit identifier (e.g., 'px', 'gd'). After the '0' length, the unit identifier is optional. There is no default assumption specified in case of missing unit identifier in the spec. I think WebKit follows the spec correctly but FF and Opera are not.
Yes, this is correct behaviour. Without the unit the transform is invalid. There is a plan to eventually promote SVG's transform to a property in which case we'll have to allow unitless values, but it still might not apply to HTML.