Commit Graph

2007 Commits

Author SHA1 Message Date
Boris Chiou
7884884b3d Bug 1592787 - Don't run compositor animations if offset-path is not animating and is none. r=hiro
So, we don't create a stacking context for this case. Besides, we also
make sure FindAnimationsForCompositor() work properly for motion-path if
offset-path is not effective (i.e. none and no animations).

Differential Revision: https://phabricator.services.mozilla.com/D51895

--HG--
extra : moz-landing-system : lando
2019-11-06 20:17:07 +00:00
Mirko Brodesser
b2de103bf9 Bug 1593222: part 12) Rename "nsNodeUtils.*" to "MutationObservers.*". r=smaug
Depends on D51827

Differential Revision: https://phabricator.services.mozilla.com/D51828

--HG--
rename : dom/base/nsNodeUtils.cpp => dom/base/MutationObservers.cpp
rename : dom/base/nsNodeUtils.h => dom/base/MutationObservers.h
extra : moz-landing-system : lando
2019-11-06 09:08:06 +00:00
Mirko Brodesser
4807f484fc Bug 1593222: part 10) Move Animation* methods to MutationObservers. r=smaug
Depends on D51825

Differential Revision: https://phabricator.services.mozilla.com/D51826

--HG--
extra : moz-landing-system : lando
2019-11-05 20:39:22 +00:00
Mirko Brodesser
f7921bb4e3 Bug 1593222: part 2) Move nsNodeUtils::GetTargetForAnimation to Animation class. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D51607

--HG--
extra : moz-landing-system : lando
2019-11-05 14:23:13 +00:00
Nicolas Silva
cff6e480f0 Bug 1587713 - Adjust the tests to account for transform layerization changes with webrender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50963

--HG--
extra : moz-landing-system : lando
2019-11-04 14:55:24 +00:00
Boris Chiou
d77411c397 Bug 1429305 - Enable OMTA for motion path and add some tests for it. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D50015

--HG--
extra : moz-landing-system : lando
2019-10-31 21:16:35 +00:00
Geoff Brown
1984c353ae Bug 1591121 - Disable some tests on Android; r=geckoview-reviewers,snorp
I have recently enabled many mochitests on Android, but a few of those tests are
still failing intermittently; let's skip those tests again to avoid the intermittent
failures.

Differential Revision: https://phabricator.services.mozilla.com/D50562

--HG--
extra : moz-landing-system : lando
2019-10-25 13:30:06 +00:00
Geoff Brown
32490358c2 Bug 1585119 - Re-enable many more mochitests on Android; r=geckoview-reviewers,snorp
Most of these tests have been disabled for a long time; they run well
in the current test environment.
I intend to enable still more mochitests in a future patch.

Differential Revision: https://phabricator.services.mozilla.com/D49524

--HG--
extra : moz-landing-system : lando
2019-10-18 14:35:20 +00:00
Hiroyuki Ikezoe
e198ba4111 Bug 1585770 - Copy KeyframeEffect::mBaseStyle in the KeyframeEffect copy constructor. r=boris
The original test case doesn't crash reliably but the test case in this commit
crashes 100% locally without this fix.

Differential Revision: https://phabricator.services.mozilla.com/D48009

--HG--
extra : moz-landing-system : lando
2019-10-03 20:00:27 +00:00
Hiroyuki Ikezoe
d7ab277e4e Bug 1583658 - Re-enable test_restyles.html on GeckoView. r=boris
It no longer fails there.

Differential Revision: https://phabricator.services.mozilla.com/D47198

--HG--
extra : moz-landing-system : lando
2019-09-26 21:01:17 +00:00
Boris Chiou
470629b5d3 Bug 1567330 - Add offset shorthand. r=emilio,birtles
Also, update the serialization by the shorter perference because this is
a new feature and using older syntax doesn't make sense.

Besides, use `cssOffset` for web animation IDL attribute name.

Differential Revision: https://phabricator.services.mozilla.com/D45607

--HG--
extra : moz-landing-system : lando
2019-09-23 19:56:33 +00:00
Boris Zbarsky
d0ce4c7209 Bug 1581315 part 3. Add MOZ_MUST_RETURN_FROM_CALLER_IF_THIS_IS_ARG to more ErrorResult methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D46107

--HG--
extra : moz-landing-system : lando
2019-09-20 02:19:18 +00:00
Adam Gashlin
5dbbd97138 Bug 1561546 Part 1 - Change scrollbar pref early. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D46363

--HG--
extra : moz-landing-system : lando
2019-09-18 21:28:06 +00:00
Hiroyuki Ikezoe
f869493a22 Bug 1541705 - Factor out functionalities for obsversing animation style counts into testcommon.js. r=boris
We are going to use these functions in gfx/layers/apz/tests/mochitest/ for
fission.

Differential Revision: https://phabricator.services.mozilla.com/D44418

--HG--
extra : moz-landing-system : lando
2019-09-12 08:08:20 +00:00
Mark Banner
351d147e2f Bug 1577746 - Enable ESLint rule object-shorthand for dom/. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44149

--HG--
extra : moz-landing-system : lando
2019-09-02 11:22:27 +00:00
Tom Ritter
821203b7b6 Bug 1577243 - Backed out changeset cae99e27ccdd, restoring document.timeline and rAF timestamp comparisons r=birtles
Depends on D43788

Differential Revision: https://phabricator.services.mozilla.com/D43789

--HG--
extra : moz-landing-system : lando
2019-08-28 23:44:14 +00:00
Sylvestre Ledru
acfbfdc9af Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in dom/animation/ r=hiro
Depends on D43779

Differential Revision: https://phabricator.services.mozilla.com/D43780

--HG--
extra : moz-landing-system : lando
2019-08-28 21:31:46 +00:00
Emilio Cobos Álvarez
70b6fda902 Bug 1575926 - Check that we have a target in CalculateCumulativeChangeHint. r=hiro
Seems we'll update the change hint properly via SetTarget if we get a new
target.

Differential Revision: https://phabricator.services.mozilla.com/D43397

--HG--
extra : moz-landing-system : lando
2019-08-26 09:08:22 +00:00
Hiroyuki Ikezoe
5e47b0f499 Bug 1574061 - Use the target window object for waitForAnimationFrames in observeStylingInTargetWindow. r=boris
Also waitForAnimationReadyToRestyle should use owner window object instead of
global `window`.

Differential Revision: https://phabricator.services.mozilla.com/D42078

--HG--
extra : moz-landing-system : lando
2019-08-15 21:20:45 +00:00
kriswright
8c68307d03 Bug 1573268 - Convert two layers.offmainthreadcomposition.* prefs to static prefs. r=njn
Converts layers.offmainthreadcomposition.async-animations and layers.offmainthreadcomposition.log-animations to their respective static prefs. Since all IsAnimationLoggingEnabled() did was create a pref and return the variable sShouldLog, this function is removed and replaced with the static pref.

Differential Revision: https://phabricator.services.mozilla.com/D41651

--HG--
extra : moz-landing-system : lando
2019-08-13 00:02:12 +00:00
Boris Chiou
f6f83966df Bug 1571211 - Enable the pref of motion path in dom/animation/test/chrome. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D40570

--HG--
extra : moz-landing-system : lando
2019-08-06 23:51:54 +00:00
Tom Ritter
7c2791e322 Bug 1571038 - Copy test logic for scrolled out element to out of view element r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D40664

--HG--
extra : moz-landing-system : lando
2019-08-05 23:16:14 +00:00
Tom Ritter
6dafd6a623 Bug 1571227 - Fix test_restyles to account for double imprecision r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D40663

--HG--
extra : moz-landing-system : lando
2019-08-05 22:45:48 +00:00
Boris Chiou
c4f468de6a Bug 1569795 - Block compositor animations of transform-like properties if offset-path is not none. r=hiro
The animations of motion path are not running on the compositor, and the
properties in [motion-1] is not part of transform-like properties (i.e.
nsCSSProperties::TransformLikeProperties()) for now, so we should run
transform animations on the main thread if offset-path is not `none`.

Differential Revision: https://phabricator.services.mozilla.com/D39966

--HG--
extra : moz-landing-system : lando
2019-08-01 21:22:49 +00:00
Tom Ritter
76b62652f6 Bug 1387894, 1476950 - Fix test_restyles.html for unconditional clamping. r=birtles,hiro
This refactors things to run until the animation is unthrottled. It confirms
the proper amount of time has passed; and then awaits another styling to ensure
that markers.length = 0 (unless it took very long (over 200ms) that it should
be 1.

Differential Revision: https://phabricator.services.mozilla.com/D38808

Depends on D38807

--HG--
extra : rebase_source : 1b668b212c788511962d2557d298af990bd430ad
2019-08-02 07:36:19 +02:00
Tom Ritter
8285198060 Bug 1387894 - Fix the WPT and mochitest test_document-timeline.html for unconditional clamping. r=birtles
We fix this by clamping the requestAnimationFrame timestamp in the test before comparing it.
We don't clamp the requestAnimationFrame timestamp normally because it would be meaningless:
rAF fires on a regular frequency and someone perfoming a fine-grained timing attack will be
able to determine the timestamp from when it fires.

We need to use parseFloat to knock off any extra epislon we gain.

This shouldn't cause any major blow-ups because timelines are disabled in release and beta,
so at least any potential fallout would be constrained.

Differential Revision: https://phabricator.services.mozilla.com/D38807

Depends on D38806

--HG--
extra : rebase_source : d6f6170ae3082022d422f925e8d5619400e845ed
2019-08-02 07:36:09 +02:00
Daniel Varga
c7ecfc9e12 Backed out 9 changesets (bug 1387894) for wpt failures at /web-animations/timing-model/animations/finishing-an-animation.html on a CLOSED TREE
Backed out changeset 998582bf083d (bug 1387894)
Backed out changeset cd58aae7d47b (bug 1387894)
Backed out changeset a51919fb2062 (bug 1387894)
Backed out changeset ef7b589d751b (bug 1387894)
Backed out changeset 75c0249b594a (bug 1387894)
Backed out changeset 4a75f2556242 (bug 1387894)
Backed out changeset 0bff9ba4237c (bug 1387894)
Backed out changeset 80040c0a275e (bug 1387894)
Backed out changeset 02814f69872d (bug 1387894)
2019-07-30 21:05:59 +03:00
Tom Ritter
210fb2ea26 Bug 1387894, 1476950 - Fix test_restyles.html for unconditional clamping r=birtles,hiro
This refactors things to run until the animation is unthrottled. It confirms
the proper amount of time has passed; and then awaits another styling to ensure
that markers.length = 0 (unless it took very long (over 200ms) that it should
be 1.

Differential Revision: https://phabricator.services.mozilla.com/D38808

--HG--
extra : moz-landing-system : lando
2019-07-30 15:11:59 +00:00
Tom Ritter
905b162e22 Bug 1387894 - Fix the WPT and mochitest test_document-timeline.html for unconditional clamping r=birtles
We fix this by clamping the requestAnimationFrame timestamp in the test before comparing it.
We don't clamp the requestAnimationFrame timestamp normally because it would be meaningless:
rAF fires on a regular frequency and someone perfoming a fine-grained timing attack will be
able to determine the timestamp from when it fires.

We need to use parseFloat to knock off any extra epislon we gain.

This shouldn't cause any major blow-ups because timelines are disabled in release and beta,
so at least any potential fallout would be constrained.

Differential Revision: https://phabricator.services.mozilla.com/D38807

--HG--
extra : moz-landing-system : lando
2019-07-30 15:11:50 +00:00
Andreea Pavel
8cbd06b810 Backed out 8 changesets (bug 1387894) for build bustages on a CLOSED TREE
Backed out changeset 09785dc4c5aa (bug 1387894)
Backed out changeset 05728160b89e (bug 1387894)
Backed out changeset 01e5b31bcc17 (bug 1387894)
Backed out changeset c5e16646ddb1 (bug 1387894)
Backed out changeset d1f09b772bac (bug 1387894)
Backed out changeset de538a48f455 (bug 1387894)
Backed out changeset d49cd8ef0825 (bug 1387894)
Backed out changeset fcfe77fab0ec (bug 1387894)
2019-07-30 17:17:39 +03:00
Tom Ritter
ab449f70cd Bug 1387894, 1476950 - Fix test_restyles.html for unconditional clamping r=birtles,hiro
This refactors things to run until the animation is unthrottled. It confirms
the proper amount of time has passed; and then awaits another styling to ensure
that markers.length = 0 (unless it took very long (over 200ms) that it should
be 1.

Differential Revision: https://phabricator.services.mozilla.com/D38808

--HG--
extra : moz-landing-system : lando
2019-07-30 13:19:05 +00:00
Tom Ritter
d2f55fcd2f Bug 1387894 - Fix the WPT and mochitest test_document-timeline.html for unconditional clamping r=birtles
We fix this by clamping the requestAnimationFrame timestamp in the test before comparing it.
We don't clamp the requestAnimationFrame timestamp normally because it would be meaningless:
rAF fires on a regular frequency and someone perfoming a fine-grained timing attack will be
able to determine the timestamp from when it fires.

We need to use parseFloat to knock off any extra epislon we gain.

This shouldn't cause any major blow-ups because timelines are disabled in release and beta,
so at least any potential fallout would be constrained.

Differential Revision: https://phabricator.services.mozilla.com/D38807

--HG--
extra : moz-landing-system : lando
2019-07-30 13:19:05 +00:00
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Barret Rennie
55aec3ef61 Bug 1289211 - Rename InfallibleTArray to nsTArray in dom/animation/ r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D36940

--HG--
extra : moz-landing-system : lando
2019-07-10 03:25:03 +00:00
Victor Porof
0a8ff0ad85 Bug 1561435 - Format dom/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35951

--HG--
extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
2019-07-05 10:44:55 +02:00
Boris Chiou
b5a2513e31 Bug 1534884 - Add new animation warning for animations overridden by important rules. r=birtles
We move the check of important rule and animation level into
KeyframeEffect::ShouldBlockAsyncTransformAnimations(), and add a new warning
for it.

Note:
1. ShouldBlockAsyncTransformAnimations() only cares about transforms. And
   for other compositor animation properties, we count on
   HasEffectiveAnimationOfPropertySet() (in IsMatchForCompositor()).
2. If we check the important rules in both
   EffectCompositor::HasAnimationsForCompositor() and
   ActiveLayerTracker::IsTransformMaybeAnimated(), we may get the incorrect
   animation warnings (i.e. TransformFrameInactive). In most cases, we
   check these two functions together, so perhaps move the check of important
   rules outside HasEffectiveAnimationOfPropertySet() is fine.
   Besides, ActiveLayerTracker just tracks if there is a style change on this
   property (or display item) on the active layers, so should be OK to not
   check important rules in it.

So IsMatchForCompositor() should check all transform-like properties,
instead of each one, to get the correct result. (That's why we have to
refactor KeyframeEffect::GetPropertiesForCompositor() as well.)

Differential Revision: https://phabricator.services.mozilla.com/D34432

--HG--
extra : moz-landing-system : lando
2019-06-28 18:18:08 +00:00
Mark Banner
ea1728721a Bug 1558527 - Fix various issues related to shadowing of variables in dom/ code. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D34588

--HG--
extra : moz-landing-system : lando
2019-06-12 08:29:58 +00:00
Boris Zbarsky
d5a8a4a595 Bug 1557793 part 3. Change the signatures of various nsContentUtils localization methods to play nicer with the new stringbundle API. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D34201

--HG--
extra : moz-landing-system : lando
2019-06-08 21:26:12 +00:00
Boris Zbarsky
deea17a98e Bug 1557793 part 1. Fix incorrect template arguments in AnimationPerformanceWarning. r=birtles
It looks like bug 1321412 changed the number of params but didn't update the
template parameter, and then bug 1364221 followed its example of not matching
the template parameter to the actual number of params.  As a result we're
passing an array with one garbage pointer to the callee, and it just happens
that the callee doesn't examine that pointer.  But that's about to change.

Differential Revision: https://phabricator.services.mozilla.com/D34234

--HG--
extra : moz-landing-system : lando
2019-06-09 22:00:41 +00:00
Daniel Holbert
df03876416 Bug 1556855 part 2: Update tests to assume that 'layout.css.prefixes.webkit' is already true. r=mats
(The pref is about to be removed, but even before its removal, it defaults to
'true' so these tests don't need to bother setting/checking it.)

Differential Revision: https://phabricator.services.mozilla.com/D33805

--HG--
extra : moz-landing-system : lando
2019-06-05 18:22:39 +00:00
Daniel Holbert
71bdcc078c Bug 1556855 part 1: Adjust tests that depend on being able to disable properties via the pref 'layout.css.prefixes.webkit'. r=mats
In particular:

- The tests test_disabled_properties.html and
test_animations_with_disabled_properties.html just want to be able to toggle
some pref to turn off some property. So, this patch changes them to use a more
recently-added pref-controlled property (-webkit-line-clamp).  (We'll probably
have to update these tests again when we eventually remove the pref for that
property. Oh well.)

 - The tests 1265611-1.html and test_transitions_with_disabled_properties.html
are more picky -- they require a pref-controlled property **whose initial value
is 'currentcolor'**.  We don't have any such property anymore, once the
layout.css.prefixes.webkit pref is removed.  For the crashtest, we might as
well keep the test, with a disclaimer that its tested codepath has changed.
And for the mochitest, we can't really "fix" the test, so let's just remove
it. (We can take some comfort in knowing that the still-present test
'test_animations_with_disabled_properties' is very similar and covers some of
the same codepaths.)

Differential Revision: https://phabricator.services.mozilla.com/D33804

--HG--
extra : moz-landing-system : lando
2019-06-05 18:22:25 +00:00
Sebastian Hengst
ebc7a1fa8c Bug 1553154 - enable animation preferences for test_animation_observers_async.html. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D32035

--HG--
extra : moz-landing-system : lando
2019-05-22 23:51:19 +00:00
Brian Birtles
5ca0980aea Bug 1553021 - Update naming of parameter to getAnimations to match spec; r=bzbarsky
As per spec text added here:

  cf3a00ee5c

Differential Revision: https://phabricator.services.mozilla.com/D31944

--HG--
extra : moz-landing-system : lando
2019-05-22 05:40:36 +00:00
Emilio Cobos Álvarez
c1954c0d3a Bug 1492739 - Unprefix user-select. r=mats
The CSSWG decided that our behavior regarding inheritance is what we want,
see [1].

[1]: https://github.com/w3c/csswg-drafts/issues/3344

Differential Revision: https://phabricator.services.mozilla.com/D11585

--HG--
extra : moz-landing-system : lando
2019-05-17 02:43:59 +00:00
Brian Birtles
2f6180dd9e Bug 1253476 - Use update() to update declarations from Servo_DeclarationBlock_SetPropertyToAnimationValue; r=emilio
This method is used when updating the SMIL override style and from Web
Animations' Animation.commitStyles method. By using update we accurately return
false when no change is made to a declaration block.

For SMIL this simply acts as an optimization, meaning we can avoid updating the
SMIL override style ub some cases.

For Animation.commitStyles, however, this allows us to avoid generating
a mutation record. Normally making a redundant change to an attribute *does*
generate a mutation record but the style attribute is different. All browsers
avoid generating a mutation record for a redundant change to inline style.
This is specified in the behavior for setProperty[1] which does not update the
style attribute if updated is false.

[1] https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty

Differential Revision: https://phabricator.services.mozilla.com/D30871

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:39 +00:00
Brian Birtles
65f06d35fe Bug 1253476 - Implement Animation.commitStyles; r=boris,emilio,bzbarsky,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30327

--HG--
extra : moz-landing-system : lando
2019-05-20 06:04:23 +00:00
Brian Birtles
cb3c791020 Bug 1253476 - Implement Animation::Persist; r=boris,bzbarsky
https://drafts.csswg.org/web-animations-1/#dom-animation-persist

Differential Revision: https://phabricator.services.mozilla.com/D30325

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:22 +00:00
Brian Birtles
050372ea8e Bug 1253476 - Don't composite removed animations; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D30324

--HG--
extra : moz-landing-system : lando
2019-05-20 05:55:52 +00:00
Brian Birtles
8ceb39cc5f Bug 1253476 - Add tests that removing is triggered at the right time; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D30323

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:16 +00:00
Brian Birtles
5b145a6de4 Bug 1253476 - Add remove events; r=boris,bzbarsky
This patch introduces the machinery for dispatching remove events but does not
actually cause removing to do anything to the output of the animation beyond
updating its replaceState member.

The expected behavior is defined in:

  https://drafts.csswg.org/web-animations-1/#removing-replaced-animations

And the corresponding IDL members are defined in:

  https://drafts.csswg.org/web-animations-1/#animation
  https://drafts.csswg.org/web-animations-1/#enumdef-animationreplacestate

Tests for these events are added in the next patch in this series.

Differential Revision: https://phabricator.services.mozilla.com/D30322

--HG--
extra : moz-landing-system : lando
2019-05-20 05:48:29 +00:00