This patch adds a test for transitions with a delay that run on the compositor.
Currently animations (including transitions) are not sent to the compositor
until they reach the end of their delay phase introducing the possibility that
the behavior might differ for animations with or without delays.
This patch adds a simple test for a transition with a delay. It also fixes an
existing bug in the opacity test. Also, it moves the step where the "transition"
property is removed to the end of the test sequence rather than the end of the
opacity test (which previously happened to occur at the end of the test
sequence).
This patch adjusts the tests for transform transitions that run on the
compositor to handle transitions that begin with a non-invertible transform.
In this case the first sample at the start of the animation won't create
a layer because in nsDisplayTransform::BuildLayer
/ FrameLayerBuilder::BuildContainerLayerFor we'll skip creating the layer once
we notice the equivalent matrix is singular.
In this patch we detect that case and force an extra sample betwee 0 and 200s at
100s. This means the layer will be created at t=100s and be available for
querying at the next sample.
Similar issues could occur, for example, if the transforms at both t=0s
and t=100s are not invertible but currently that doesn't occur. We can add
handling for that if and when it becomes necessary.
This patch takes the existing tests for transitions running on the compositor
and makes them re-use the same test utility methods as used for testing CSS
Animations that run on the compositor. This means these tests now also check
that the transition is in fact running on the compositor when it is expected to.
It seems the big_omta_round_error is no longer needed so I've removed that.
The test that begins with "skew(45deg, 45deg)" currently fails so it is skipped
here. This is addressed in the next patch in the series.
This currently causes a reduction in the number of background-image
values tested (by 54810, a majority of the assertions in the test file).
It doesn't change the number of values tested for any other property.
This adds entries for property aliases as though they are shorthands.
This fits with the CSS working group's recent resolution to describe
aliases as shorthands, recorded in
http://lists.w3.org/Archives/Public/www-style/2012Aug/0770.html .
The property_database.js entries themselves are copied from the
non-alias entries for the properties, with these changes:
(1) The property name is changed to the prefixed form
(2) The domProp entry is changed to the prefixed form
(3) Adding alias_for entries for each property.
(4) When type is CSS_TYPE_LONGHAND in the target of the alias, type for
the alias is CSS_TYPE_SHORTHAND_AND_LONGHAND and a subproperties
entry is added with the target of the alias.
There are also some indentation fixes to the copied entries in
property_database.js (made before they were copied, and thus affecting
the original as well).
This also converts all of the tests in layout/style/test/ to using
calc(), except that it duplicates all of the valid values and some of
the invalid values for 'width' and '-moz-column-rule-width' (which are
the two properties that intentionally have extensive calc() tests) in
property_database.js.
This patch introduces unprefixed 'transform', 'transform-origin', 'perspective',
'perspective-origin', 'transform-style' and 'backface-visibility' properties, and
updates the mochitests in layout/style to use them.