1106 Commits

Author SHA1 Message Date
Alexandros Chronopoulos
29aaf180d6 Bug 751939 - make url( followed by EOF valid. r=dbaron 2014-07-23 00:14:16 +03:00
Cameron McCormack
f46facbdcc Bug 1043713 - Expose custom property names on computed style objects with their "--" prefix. r=bzbarsky 2014-07-25 16:14:33 +10:00
L. David Baron
b7a521a812 Bug 996796 patch 1 - Perform a miniflush on both animations and transitions before processing restyles. r=birtles
This affects the correctness of transitions that take over from a
running animation.  (In the current code this can happen on a single
element; once the cascading changes in bug 960465 are complete it can
only happen via inheritance.)

This version of the patch changes to do the test using opacity rather
than transform, since testing using transforms encountered issues
related to bug 1031688:  the presence of phantom transitions due to the
interaction of the computed value rules for transforms distinguishing
between values that the interpolation rules consider identical.  (These
problems only appear after patch 24 in this bug changes the coalescing
order between a parent with animations and a child with transitions so
that the parent is handled before the child, instead of transitions
being handled before animations.)

The final two added tests fail without the patch and pass with the patch.
(With the opacity version, the third to last test also fails without the
patch, probably due to the value not having yet been sent to the layer.
This was not an issue pre-patch with the original test using transform,
though.  I haven't tested that this happened with patch 0, though, so it
might have been the issue patch 0 fixes.)
2014-07-24 21:35:33 -07:00
L. David Baron
f4ad325e9a Bug 996796 patch 0 - Fix test_animations_omta_start.html so that additional tests will involve onscreen layers. r=birtles
This removes each test element when we're done with it so that each
successive test element isn't 100px lower.  This is required to keep the
third test element (added in the next patch) onscreen when running tests
on the B2G emulator (other than when running a single test at a time).
This, in turn, is required to get animations in that test properly
shipped to the compositor thread, which is required for the test to
pass.
2014-07-24 21:35:33 -07:00
L. David Baron
d81472cee7 Bug 1041075 - Request longer timeout for test_value_storage.html. r=dholbert
I think this has become needed due to changes in the configuration of
the VMs on which we're running tests.

--HG--
extra : transplant_source : %83%CE%27M%CF2%0E%A9%0B%B4%9E%BC%AB%E45g%C9J%D4%17
2014-07-24 15:02:21 -07:00
Alexandre Poirot
7ea4dd517f Bug 1027242 - Blacklist mulet's failing tests + expose 'mulet' to ini files; fix previous bustage on a CLOSED TREE, r=ahal 2014-07-02 15:40:56 -07:00
Susanna Bowen
a3e95afeef Bug 1021952 - Add ruby display values and ruby frames. r=dholbert,bz 2014-07-22 19:08:01 -07:00
Daniel Holbert
c8994e5a15 Bug 984711 part 9: Rename file_flexbox_min_size_auto.html to test_flexbox_min_size_auto.html, now that its obsolete wrapper is gone. (no review)
--HG--
rename : layout/style/test/file_flexbox_min_size_auto.html => layout/style/test/test_flexbox_min_size_auto.html
2014-07-22 08:24:36 -07:00
Daniel Holbert
8ef16d75fb Bug 984711 part 8: Remove pref-setting mochitest wrapper for min-[size]:auto mochitest. (no review; tweaking existing test) 2014-07-22 08:24:35 -07:00
Daniel Holbert
f9efd30d2e Bug 984711 part 7: Add back mochitest for min-[size]:auto. (no review; just an unbitrotted backout)
This reverts changeset edd98255e81d from bug 848539.
2014-07-22 08:24:35 -07:00
Daniel Holbert
c254eb4d6f Bug 984711 part 2: Add back min-width:auto & min-height:auto in the parser and as default value (just computing to '0' for now). (no review; just an unbitrotted backout)
This reverts changeset e7a9e30409eb from bug 848539.
2014-07-22 08:24:34 -07:00
Susanna Bowen
088ac60470 Bug 1038928 - Mochitests for CSS 2.1 9.7. r=bz 2014-07-21 18:28:04 -07:00
Geoff Brown
129db347c4 Bug 1041017 - Skip test_animations_omta_start.html on b2g desktop; r=trivial 2014-07-21 16:10:53 -06:00
L. David Baron
759eebe6d2 Bug 1040386: Fix hopefully-harmless CSS syntax error in isOMTAWorking(). r=birtles
I noticed this in the logs of a B2G emulator mochitest run.
2014-07-18 21:22:20 -07:00
Ahmed Kachkach
4b03d2c025 Bug 886570 - Initial integration of structured logs in mochitest; r=ahal,Ms2ger 2014-07-17 09:02:00 +02:00
Brian Birtles
ef118ad7fc Bug 1038032 part 2 - Add test case for overflowing TimeDuration; r=dholbert 2014-07-18 10:31:18 +09:00
Brian Birtles
f06a4c0c17 Bug 1037314 - Include animation-play-state in animation shorthand; r=dbaron
This patch is basically a reversal of attachment 530792 from bug 654890.
2014-07-17 10:04:56 +09:00
Carsten "Tomcat" Book
ce57787693 Backed out changeset cf85693280c7 (bug 886570) frequent mochitest-3 errors on windows 2014-07-11 14:15:29 +02:00
Ahmed Kachkach
50db9012f6 Bug 886570 - Initial integration of structured logs in mochitest. r=ahal,Ms2ger 2014-07-10 13:33:00 +02:00
Tom Schuster
4794be7af6 Bug 1024707 - Test. r=bz 2014-07-09 11:43:33 +02:00
Carsten "Tomcat" Book
09a3eb0e72 Backed out changeset f213b3135312 (bug 1024707) 2014-07-09 13:18:47 +02:00
Tom Schuster
5220ddff89 Bug 1024707 - Test. r=bz 2014-07-09 11:43:33 +02:00
Brian Birtles
d8a37d7c4d Bug 1033881 part 1 - Don't generate animations when the animation-name doesn't match; r=dbaron
When animation-name does not match a keyframes rule, we should not dispatch
animation events as per:

  "Any animation for which both a valid keyframe rule and a non-zero duration
  are defined will run and generate events; this includes animations with empty
  keyframe rules."
  http://dev.w3.org/csswg/css-animations/#events

Since bug 1004377, however, we started dispatching events in this case because
we no longer ignore animations whose set of keyframes is empty.

This patch checks for a matching keyframes rule in BuildAnimations and if one is
not found, no corresponding animation is generated.
2014-07-09 09:13:33 +09:00
Cameron McCormack
c3fc13b59f Bug 1034803 - Treat local(serif) as an invalid value in descriptor_database.js. r=dbaron 2014-07-08 10:17:19 +10:00
Robert Longson
f80c37ea97 Bug 556441 - Interpolation fails for stroke-width and stroke-dashoffset when animating between unitless values & values with units. r=dbaron 2014-07-03 20:05:43 +01:00
Brian Birtles
a71e7fd445 Bug 1031319 part 2 - Add tests for animation-name:none handling; r=dbaron 2014-07-03 09:04:31 +09:00
Brian Birtles
8480c917d7 Bug 1029969 - Make compositor animation (OMTA) tests ignore floating-point differences; r=dzbarsky 2014-06-27 11:28:51 +09:00
Jim Blandy
7e20285e70 Bug 914753: Make Emacs file variable header lines correct, or at least consistent. DONTBUILD r=ehsan
The -*- file variable lines -*- establish per-file settings that Emacs will
pick up. This patch makes the following changes to those lines (and touches
nothing else):

 - Never set the buffer's mode.

   Years ago, Emacs did not have a good JavaScript mode, so it made sense
   to use Java or C++ mode in .js files. However, Emacs has had js-mode for
   years now; it's perfectly serviceable, and is available and enabled by
   default in all major Emacs packagings.

   Selecting a mode in the -*- file variable line -*- is almost always the
   wrong thing to do anyway. It overrides Emacs's default choice, which is
   (now) reasonable; and even worse, it overrides settings the user might
   have made in their '.emacs' file for that file extension. It's only
   useful when there's something specific about that particular file that
   makes a particular mode appropriate.

 - Correctly propagate settings that establish the correct indentation
   level for this file: c-basic-offset and js2-basic-offset should be
   js-indent-level. Whatever value they're given should be preserved;
   different parts of our tree use different indentation styles.

 - We don't use tabs in Mozilla JS code. Always set indent-tabs-mode: nil.
   Remove tab-width: settings, at least in files that don't contain tab
   characters.

 - Remove js2-mode settings that belong in the user's .emacs file, like
   js2-skip-preprocessor-directives.
2014-06-24 22:12:07 -07:00
Brian Birtles
c455b34df0 Bug 1026323 - Add a test for a transition with a delay running on the compositor; r=dzbarsky
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).
2014-06-23 14:10:19 +09:00
Ms2ger
bad4ca4d29 Bug 1022855 - Rename nsCSSStyleSheet to mozilla::CSSStyleSheet; r=heycam
--HG--
rename : layout/style/nsCSSStyleSheet.cpp => layout/style/CSSStyleSheet.cpp
rename : layout/style/nsCSSStyleSheet.h => layout/style/CSSStyleSheet.h
2014-06-20 12:32:49 +02:00
Ms2ger
451c7edf83 Backout revision 308e51eae10c for build bustage.
--HG--
rename : layout/style/CSSStyleSheet.cpp => layout/style/nsCSSStyleSheet.cpp
rename : layout/style/CSSStyleSheet.h => layout/style/nsCSSStyleSheet.h
2014-06-20 13:00:08 +02:00
Ms2ger
9fb7f507f0 Bug 1022855 - Rename nsCSSStyleSheet to mozilla::CSSStyleSheet; r=heycam
--HG--
rename : layout/style/nsCSSStyleSheet.cpp => layout/style/CSSStyleSheet.cpp
rename : layout/style/nsCSSStyleSheet.h => layout/style/CSSStyleSheet.h
2014-06-20 12:32:49 +02:00
Josiah Bruner
0036c7d280 Bug 1021309 - Add "mac-yosemite-theme" CSS system metric. r=mstange 2014-06-05 18:02:46 -04:00
Xidorn Quan
a84079e422 Bug 985825 - Unprefix -moz-ethiopic-numeric. r=jfkthame 2014-06-13 17:37:00 +02:00
Xidorn Quan
603c17d06a Bug 982355 - Support disclosure-{open,closed} counter styles. r=jfkthame 2014-06-13 17:34:00 +02:00
Mats Palmgren
e5d483a47c Bug 427928 - part 1, Treat outline:auto as outline:solid. r=roc 2014-06-14 12:48:07 +00:00
Xidorn Quan
5b17a8fc75 Bug 966166 - Part 6: Tests for @counter-style. r=jfkthame, r=davidb 2014-06-11 21:14:00 -04:00
Xidorn Quan
c011970f03 Bug 966166 - Part 3: Link to other parts. r=dbaron 2014-06-11 21:12:00 -04:00
Brian Birtles
72cf77230c Bug 1004377 - Dispatch events for CSS Animations with empty keyframes rules; r=dholbert
This patch removes the check that skipped queueing events for animations
without keyframes since the spec indicates such animations should dispatch
events.

There is a further correctness fix here for the case where a keyframes rule
is modified using the CSSOM so that it becomes empty. Previously when we
came to create the new animation rules we would end up setting
ElementAnimations::mNeedRefreshes to false since we check if the keyframes
rule is empty and if it is we would skip all further processing (including
setting mNeedsRefreshes).

That means that:
(a) We may end up unregistering from the refresh observer so we would never
    dispatch the end event for such an animation.
(b) If the animation was running on the compositor we may never remove it from
    the compositor or may not do it in a timely fashion.

To fix both these problems, this patch removes the check for an empty keyframes
rule so that mNeedsRefreshes is set in this case.
2014-06-12 13:18:14 +09:00
Brian Birtles
da8fce7eea Bug 1018862 part 8 - Add special handling for non-invertible transforms; r=dholbert
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.
2014-06-12 13:17:47 +09:00
Brian Birtles
d73c4f0840 Bug 1018862 part 7 - Convert test_transitions_per_property.html to use OMTA test methods; r=dholbert
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.
2014-06-12 13:17:47 +09:00
Brian Birtles
249b534672 Bug 1018862 part 6 - Fix handling of 3d matrices in omta_is and co.; r=dholbert
This patch fixes a bug in the handling of 3d matrices represented as an array of
numbers.
2014-06-12 13:17:47 +09:00
Brian Birtles
dd9b7eee62 Bug 1018862 part 5 - Move paint listener promise wrappers to animation_utils.js; r=dholbert
This patch moves some utility methods from test_animations_omta.html to
animation_utils.js so that they can be used for testing transitions as well.
2014-06-12 13:17:47 +09:00
Brian Birtles
4e4bfaf98f Bug 1018862 part 4 - Move omta_is and friends to animation_utils.js; r=dholbert
This patch simply moves code from test_animations_omta.html to
animation_utils.js so that we can use it for testing transitions as well.
2014-06-12 13:17:47 +09:00
Brian Birtles
eaabbd322b Bug 1018862 part 3 - Fix the order of arguments to omta_is_approx; r=dholbert
This patch simply re-arranges the order of arguments to omta_is_approx so that
the delta sits along side the values being compared.

This, I think, makes more sense and also is more consistent when converting
tests from test_animations.html to test_animations_omta.html since the
"RunningOn" parameter is consistently inserted in the second-to-last position
just before the description for both omta_is and omta_is_approx.
2014-06-12 13:17:47 +09:00
Brian Birtles
11ab984348 Bug 1018862 part 2 - Make new_div no longer secretly flush styles; r=dholbert
This patch removes the line from new_div that forced a style flush. This was
very confusing because:
* It behaved differently to new_div in test_animations.html so copying tests
  over was more complex (particularly when registering for events is involved).
* It meant after setting up initial style using new_div you could just call
  waitForPaints but if you updated style using elem.style you'd need to call
  waitForPaintsFlushed.

In adjusting test_animations_omta.html we are able to simplify the tests
somewhat. This patch also adds a few additional checks that waiting to update
the compositor does not produce different results.
2014-06-12 13:17:47 +09:00
Brian Birtles
28571a4627 Bug 1018862 part 1 - Factor out common async animation test methods; r=dholbert
This patch moves some test utility methods from test_animations_omta.html to
animation_utils.js. It also renames addAsyncTest to addAsyncAnimTest and
likewise for a few other methods.
2014-06-12 13:17:46 +09:00
Brian Birtles
2086f1b512 Bug 1004365 part 5 - Add tests for zero-duration animations; r=dholbert 2014-06-11 14:19:08 +09:00
Brian Birtles
693e219c99 Bug 1004365 part 4 - Make nsAnimationManager.cpp no longer skip zero-duration animations; r=dholbert 2014-06-11 14:19:08 +09:00
Brian Birtles
5b6d05e7f8 Bug 1004365 part 3b.2 - Make ElementAnimation::GetComputedTimingAt handle zero-duration animations; r=dholbert
This patch adjusts GetComputedTimingAt to set the time fraction and current
iteration fields of the output computed timing correctly for animations with
zero iteration duration. Care must be taken to handle cases such as animations
that have zero duration but repeat infinitely.

The code is significantly re-arranged to more closely align with the naming and
algorithms defined in Web Animations.

A couple of tests in test_animations.html have been tweaked to account for
floating-point error. This is not because the new code is less precise but
actually the opposite. These tests fall on the transition point of step-timing
functions. The new code uses the closest possible floating-point representation
of these times which happens to cause them to fall on the opposite side of the
transition point.

For example, in evaluating a point 3s into a reversed interval the old code
would give us an intermediate time fraction of:

   0.29999999999999982

When we reverse that by subtracting from 1.0 we get: 0.70000000000000018

With the code in this patch we get an intermediate time fraction of:

   0.29999999999999999

When we reverse that by subtracting from 1.0 we get: 0.69999999999999996

Hence we fall on the opposite side of the transition boundary.
2014-06-11 14:19:08 +09:00