Commit Graph

1044 Commits

Author SHA1 Message Date
Brian Birtles
d48a8e62e9 Bug 1004361 - Dispatch animationstart events as well when skipping entire animation intervals; r=dholbert 2014-05-28 16:51:50 +09:00
Brian Birtles
e74ab14953 Bug 964646 part 21 - Add OMTA tests for animation list lengths and dynamic style rule changes; r=dbaron
This patch adds tests for triggering animations based on the length of the
animation-name property as well as tests for dynamic changes to style rules.
These tests are based on tests in test_animations.html but for directed at
animations that run on the compositor thread.
2014-05-19 14:42:49 +09:00
Brian Birtles
daaf99415e Bug 964646 part 20 - Add OMTA tests for cascading between keyframe rules; r=dbaron
This patch adds tests for the cascanding of keyframes rules based on those in
test_animations.html but for animations that run on the compositor thread.
2014-05-19 14:42:49 +09:00
Brian Birtles
1a81e30f49 Bug 964646 part 19 - Add OMTA tests for restyling interaction; r=dbaron
This patch adds tests for the interaction of animation and restyling (Bug
686656) based on those in test_animations.html but for animations that run on
the compositor thread.
2014-05-19 14:42:49 +09:00
Brian Birtles
2c15d45f05 Bug 964646 part 18 - Add omta_todo_is for marking OMTA animations that are known to fail; r=dbaron
The implementation here current expects BOTH the following to fail:

- The comparison between the OMTA value and the expected value
- The comparison between the OMTA value and the computed value

This generally tends to be the case since the computed value and expected value
normally match unless we have a bug that affects all CSS animations. If we need
to mark tests where the computed value is also wrong we'll need to modify the
behavior here at that time.

This patch also applies this new function to the author !important test that was
previously commented-out because it currently fails.
2014-05-19 14:42:49 +09:00
Brian Birtles
c4033d836e Bug 964646 part 17 - Add RunningOn.TodoMainThread for marking animations that are known to run on the compositor when they should not; r=dbaron
This patch also ensures that when we have an animation running on the compositor
when it should not that we still compare the values produced on the compositor
and on the main thread so that the visual result is correct even if the
performance characteristics are not.
2014-05-19 14:42:49 +09:00
Brian Birtles
7f3d73ea15 Bug 964646 part 16 - Add OMTA tests for !important rules and animations; r=dbaron
This patch adds tests for the handling of author !important rules and animations
based on similar tests in test_animations.html but for animations that run on
the compositor thread.

Due to bug 847287, these tests don't pass and are partly disabled. Subsequent
patches add todo_is tests for this.
2014-05-19 14:42:49 +09:00
Brian Birtles
8612ecc789 Bug 964646 part 15 - Add OMTA tests for sampling animations with same timestamp; r=dbaron
This patch adds a version of tests in test_animations.html for bug 651456 which
covers multiple samples with the same timestamp. The version here, however,
tests animations that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles
90ccbe5eed Bug 964646 part 14 - Add OMTA tests for multi-property animations; r=dbaron
This patch adds a version of tests in test_animations.html for keyframe
animations with multiple properties where some properties are present in only
some keyframes. The version here, however, tests animations that run on the
compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles
97b59f7e2e Bug 964646 part 13 - Add OMTA tests for animation-delay; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.8 The 'animation-delay' Property", for animations
that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles
7a70f8148f Bug 964646 part 12 - Add OMTA tests for animation-play-state; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.7 The 'animation-play-state' Property", for animations
that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles
729a071655 Bug 964646 part 11 - Add OMTA tests for animation-direction; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.6 The 'animation-direction' Property, for animations
that run on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles
8e12e6c3e9 Bug 964646 part 10 - Fix floating point precision issues when comparing matrices; r=dbaron
This patch addresses and issue where the OMTA style and computed style were not
comparing equal in one particular case.

In this case AddTransformTranslate in nsStyleAnimation would give us
a translate-y value of 94.331673 in both cases (i.e. when calculating the
animated value on the compositor thread or when fetching computed style).

For the OMTA case, however, after we apply additional layer transformations and
then reverse them (so we can query the CSS value) we'd end up with 94.331642,
a difference of 0.000031. The reversing procedure is only used for testing so
the actual error introduced here by the additional layer transformations is
probably less.

Unfortunately, when we pass 94.331642 this along to MatrixToCSSValue we get back
matrix(1, 0, 0, 1, 94.3316) since it only outputs 6 digits of precision.

On the other hand, on the computed style end we'd pass 94.331673 to
MatrixToCSSValue which gives us matrix(1, 0, 0, 1, 94.3317), so the error swells
from 0.000031 to 0.0001.

Then when we subtract 94.3316 from 94.3317 in Javascript we get
0.00010000000000331966 due to floating-point precision issues which compares
greater than the default tolerance of 0.0001.

This patch simply adjusts the default tolerance to 0.00011 to accommodate
these floating-point differences.
2014-05-19 14:42:48 +09:00
Brian Birtles
5100f066e9 Bug 964646 part 9 - Add OMTA tests for animation-iteration-count; r=dbaron
This patch adds a version of tests in test_animations.html under the heading,
"css3-animation: 3.5 The 'animation-iteration-count' Property" for animations
that run on the compositor thread.

These tests surface an issue where in some cases precision errors lead to
discrepencies between the OMTA style and computed style. This is fixed in
a subsequent patch in this series.
2014-05-19 14:42:48 +09:00
Brian Birtles
cf4114df58 Bug 964646 part 8 - Add OMTA tests for animation-name; r=dbaron
This patch adds a version of the tests in test_animations.html under the
heading, "css3-animations:  3.2. The 'animation-name' Property" that tests the
same features when animations are running on the compositor thread.
2014-05-19 14:42:48 +09:00
Brian Birtles
3e009094af Bug 964646 part 7 - Handle NaN values when comparing matrices; r=dbaron
The test harness code for normalizing transform inputs to a standard form for
comparison fails to detect the case where the input is a string such as

 { tx: "20px" }

instead of:

 { tx: 20 }

When we go to compare matrix components we fail if:

  Math.abs(a.comp - b.comp) > tolerance

But if a.comp or b.comp is a string, we'll get NaN on the LHS and
"NaN > tolerance" will return false so we'll skip the failure handling and
continue onto the next component. That means if we have input { tx: "30px" } and
we get "20" as the x-translation component we'll pass the test.

This patch fixes this condition to check for isNaN.

We *could* also just drop a few .map(parseFloat) calls into
convertObjectTo3dMatrix and convertArrayTo3dMatrix to ensure "20px" becomes 20
but there may be situations where that masks bugs (since "20px" and "20em" turn
into the same thing) so for now this minimal fix should be enough.
2014-05-19 14:42:48 +09:00
Brian Birtles
af1e278076 Bug 964646 part 6 - Add OMTA tests for timing functions on keyframes; r=dbaron
This patch converts the tests in test_animations.html under the heading,
"css3-animations:  3.1. Timing functions for keyframes" to an equivalent version
for testing animations that run on the compositor thread.
2014-05-19 14:42:47 +09:00
Daniel Holbert
861db17398 Bug 1005660: Add an "early freeze" step, to freeze flex items that clearly can't grow (or shrink, if we're shrinking). r=mats 2014-05-17 18:49:06 -07:00
Boris Zbarsky
46e763763c Bug 1008719. CSS syntax got changed to allow identifiers starting with "--", so update our escaping code accordingly. r=dholbert 2014-05-15 10:26:53 -07:00
Ryan VanderMeulen
96ed00e142 Revert to revision 63dfac3c9c87 due to mass bustage pile-ups that landed after it on a CLOSED TREE. 2014-05-16 12:29:37 -04:00
Boris Zbarsky
a8d51502a8 Bug 1008719. CSS syntax got changed to allow identifiers starting with "--", so update our escaping code accordingly. r=dholbert 2014-05-15 10:26:53 -07:00
Mats Palmgren
8d52eba6a5 Bug 1005567 - Remove the obsolete 'grid-auto-position' property. r=simon.sapin 2014-05-06 09:45:13 +00:00
Mats Palmgren
3716fd29bb Bug 994592 - Make 'row' the initial value for 'grid-auto-flow' and remove 'none' as a valid value. And add the 'stack' variants. r=simon.sapin 2014-05-06 09:45:13 +00:00
Mats Palmgren
6493d7a251 Bug 613659 - Minor whitespace fixes. r=cam 2014-05-05 17:55:55 +00:00
Mats Palmgren
41b3ef3651 Bug 613659 - Change mode-lines and indentation to 2-space indent. r=cam 2014-05-05 17:55:55 +00:00
Mats Palmgren
aea76177e8 Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-05-05 17:55:54 +00:00
Mats Palmgren
4c1b15348b Bug 613659 - Implement box-decoration-break in the style system. r=cam 2014-05-05 17:55:53 +00:00
Daniel Holbert
fb1252420a Bug 996945: Remove prohibition on flex-grow & flex-shrink properties transitioning between 0 and other values. r=mats 2014-05-04 09:12:32 -07:00
Daniel Holbert
c243f023e3 Bug 985304 part 3: Extend flexbox layout mochitest to cover cases with flex values that sum to less than 1. f=mats 2014-05-04 09:10:40 -07:00
Maksim Lebedev
39d6a3538b Bug 979345 - Implement "touch-action: manipulation" CSS value for Pointer Events. r=kats,botond,dbaron,mbrubeck 2014-04-23 09:56:46 -04:00
Daniel Holbert
145b80cc24 (no bug) Fix mis-indented line in mochitest file 'flexbox_layout_testcases.js'. (whitespace-only, DONTBUILD) 2014-04-21 13:47:51 -07:00
Mats Palmgren
96d62d5ba4 Back out bug 613659 (for regression bug 998792)
--HG--
rename : layout/reftests/backgrounds/background-size-slice.html => layout/reftests/backgrounds/background-size-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-slice.html => layout/reftests/backgrounds/background-size-cover-continuous.html
rename : layout/reftests/backgrounds/background-size-cover-clone.html => layout/reftests/backgrounds/background-size-cover-each-box.html
rename : layout/reftests/backgrounds/background-size-clone.html => layout/reftests/backgrounds/background-size-each-box.html
2014-04-20 19:39:24 +00:00
Mats Palmgren
7e0b8100c5 Bug 613659 - Minor whitespace fixes. r=cam 2014-04-18 23:01:24 +00:00
Mats Palmgren
842095893c Bug 613659 - Change mode-lines and indentation to 2-space indent. r=cam 2014-04-18 23:01:24 +00:00
Mats Palmgren
d335554b04 Bug 613659 - Remove remaining vestiges of -moz-background-inline-policy. r=cam 2014-04-18 23:01:23 +00:00
Mats Palmgren
38f499fee7 Bug 613659 - Implement box-decoration-break in the style system. r=cam 2014-04-18 23:01:22 +00:00
John Daggett
1e0a07af48 Bug 997006 - rename text-combine-horizontal to text-combine-upright. r=dholbert 2014-04-17 09:15:18 +09:00
Daniel Holbert
1e94812b15 Bug 992397: Relax extreme testcases in test_flexbox_layout.html to allow an epsilon difference. r=mats 2014-04-11 14:22:11 -07:00
Bobby Holley
586d18305b Bug 986730 - Fix up a bunch of tests that assume that they can touch AC in content. r=mrbkap 2014-04-06 12:32:38 -07:00
Brian Birtles
1161c15afd Bug 964646 part 5 - Add OMTA version of test_animations.html keyframe tests; r=dbaron 2014-04-03 16:55:45 +09:00
Brian Birtles
a6a988ba15 Bug 964646 part 4 - Add OMTA version of test_animations.html animation list tests; r=dbaron
Tests for animation list handling on the compositor thread. Some checks are
currently marked todo_is because they depend on Bug 980769 in order to pass.
2014-04-03 16:55:44 +09:00
Brian Birtles
c6c412f2a7 Bug 964646 part 3 - Refactor OMTA test methods to include opacity too; r=dbaron
This patch takes the compareTransform utility methods and makes them more
generic so they can be used for testing opacity too (the other property
currently animated on the compositor thread).

The naming omta_is and omta_is_approx is intended to mirror is and is_approx in
test_animations.html.
2014-04-03 16:55:44 +09:00
Brian Birtles
eced1fdb7c Bug 964646 part 2 - Add OMTA version of test_animations.html fill mode tests; r=dbaron
This patch adds an additional mochitest for specifically targetting CSS
Animations that run on the compositor thread. The content of the test mimicks
test_animations.html but using properties whose animations are expected to run
on the compositor thread.
2014-04-03 16:55:44 +09:00
Brian Birtles
1db86095cf Bug 964646 part 1 - Add common OMTA test runner to animation_utils.js; r=dbaron
Since off-main thread animation (OMTA) is not available on all platforms we
define a common wrapper function that runs OMTA tests only when available. This
patch further performs an internal check of basic OMTA operation so that
only a single error is produced if OMTA is unexpectedly unavailable.

Typical usage is:

  SimpleTest.waitForExplicitFinish();
  runOMTATest(function() {
    ... test code ...
    SimpleTest.finish();
  },
  SimpleTest.finish);

This can be easily wrapped with promises if needed but does not require using
promises.

The calls to waitForExplicitFinish and finish are not performed automatically
since this function may be integrated with test suites that do other work
outside the call to runOMTATest.
2014-04-03 16:55:44 +09:00
Cameron McCormack
efeaf8eada Bug 985838 - Change custom property name prefix from "var-" to "--" and allow identifiers to begin with "--". r=dbaron 2014-04-02 14:32:16 +11:00
Mark Hammond
cd2c8e6c5b Bug 987404 - Disable failing mochitest-browser tests in e10s. r=ted. 2014-04-02 10:53:55 +11:00
L. David Baron
e176d7070c Bug 989560 patch 2 - Don't accept an empty value for font-variant-alternates. r=heycam
Had patch 3 not been present, this would be needed to prevent a test
failure with patch 4 (which removes the ExpectEndProperty check from the
CSS_PROPERTY_PARSE_VALUE case in
CSSParserImpl::ParseProperty(nsCSSProperty) since its callers handle
checking for appropriate endings), since the way this function returns
success for empty values leads var() functions alone inside
font-variant-alternates to be rejected, since
CSSParserImpl::ParseProperty(nsCSSProperty) won't try reparsing with
variables.
2014-04-01 11:53:32 -07:00
L. David Baron
38512d8749 Bug 989560 patch 1 - Make it an error to have an empty item within an animation or transition shorthand. r=heycam
This is needed to make the test in the next patch (which tests that we
reject entirely-empty properties) pass.
2014-04-01 11:53:31 -07:00
L. David Baron
e19068ec03 Bug 988702 patch 3 - Fix missing UngetToken() calls in ParseCounterData(), and avoid evil CheckEndProperty() calls while I'm there. r=heycam
I tested that test_property_syntax_errors.html gives a failure on the
new test without the patch, and that the failure is not present with the
patch.
2014-04-01 11:53:31 -07:00
L. David Baron
c0359feda4 Bug 988702 patch 2 - Test invalid CSS property values for their balanced-ness of () [] or {}. r=heycam
(This provides an easy mechanism for testing for missing UngetToken()
calls as in the following patch.)
2014-04-01 11:53:31 -07:00