Граф коммитов

2400 Коммитов

Автор SHA1 Сообщение Дата
Boris Chiou a6ce72cb76 Bug 1741255 - Don't put the scroll animations into PendingAnimationTracker. r=hiro
Basically, we use the current target scroll position as the ready time for
scroll animations, so we don't need to wait until it gets painted.

In fact, it's unclear whether do we need play/pause pending status for
scroll animations, so we choose the natural way for now, and this should
match other browsers' behaviors.

Note:
We avoid puting the scroll animation into PendingAnimationTracker
in PlayNoUpdate() and Pause(). However, we may still "try" to remove
scroll animations from PendingAnimationTracker in some APIs just in
case if those APIs change the animations from using DocumentTimeline to
using ScrollTimeline. They should be revisited once we expose
ScrollTimeline to JS.

Differential Revision: https://phabricator.services.mozilla.com/D132750
2021-12-15 09:54:43 +00:00
Boris Chiou 318c1fdcc9 Bug 1746101 - Avoid making animations get removed after moving from 100% endpoint. r=hiro
Let's use the infinite iteration count and the alternative play direction
for now, so the scroll-linked animations will never be removed (and its play
state is always running) even if it reaches to the max scroll position.

Note:
1. We don't resolve finished promise at 100% now because it's unclear
   whether we should resolve it for scroll animations or not.
2. This is not a perfect solution. We are planning to use the specified
   timing in the future, so users can do more things on them, after the
   spec defines them well.

Differential Revision: https://phabricator.services.mozilla.com/D132751
2021-12-15 09:54:42 +00:00
Kagami Sascha Rosylight 87ef553bcc Bug 1743439 - Part 1: Mark callers in dom/animation and dom/base as MOZ_CAN_RUN_SCRIPT_BOUNDARY r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D133360
2021-12-09 19:56:08 +00:00
Alexandru Michis 8941bcbb1e Backed out 6 changesets (bug 1743439) for causing bustages in AnimationEventDispatcher.h
CLOSED TREE

Backed out changeset 792c405d4afc (bug 1743439)
Backed out changeset 0376e73c7dce (bug 1743439)
Backed out changeset 23202094bc00 (bug 1743439)
Backed out changeset ba0fa3a8fa0e (bug 1743439)
Backed out changeset 7ad2746ec876 (bug 1743439)
Backed out changeset a919ef50cf33 (bug 1743439)
2021-12-09 19:36:12 +02:00
Kagami Sascha Rosylight d428dbd282 Bug 1743439 - Part 1: Mark callers in dom/animation and dom/base as MOZ_CAN_RUN_SCRIPT_BOUNDARY r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D133360
2021-12-09 17:16:48 +00:00
Masayuki Nakano 6123f0e0d8 Bug 1741148 - part 5: Make `nsINode::CompareDocumentPosition()` and `nsContentUtils::PositionIsBefore()` treat offset in DOM node with `Maybe<uint32_t>` r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D131338
2021-12-09 12:26:43 +00:00
Boris Chiou 9005af910b Bug 1676791 - Part 9: Define Scroller to handle the source of ScrollTimeline. r=emilio
Per spec, "auto" represents the scrolling element of the document.
However, the scrolling element might be changed, based on the layout, in
quirks mode. Besides, the content of the root scroll frame is the root
element, instead of the scrolling element (e.g. body element) in both
standard and quirks modes. So now we define a special type, Scroller, to
represent the source of scroll-timeline, and use its |mType| to decide
which scroll frame we would like to use. In addition, hope this change let
us easier to implement nearest scroller.

Note: for auto scroller, we register this ScrollTimeline to the root
element, in both modes. Once we expose ScrollTimeline interface to the
script, we can rely on the |mType| of Scroller to return the correct
source element, whether it is scrolling element or not.

Differential Revision: https://phabricator.services.mozilla.com/D131578
2021-12-08 01:16:31 +00:00
Boris Chiou 74f0bd8a0c Bug 1676791 - Part 8: Hook scroll-timeline rule into Cascade data and use it for CSS animations. r=emilio,hiro
We hook the rule into cascade data, and so we can look it up by timeline
name. Now we only use StyleScrollDirection from @scroll-timeline rule.
`source` and `scroll-offsets` are skipped now and use the default values
instead because I'm pretty sure the syntax will be changed in Bug 1733260,
and `scroll-offsets` may be obsolete because the spec proposal intents to
make it be always 0% ~ 100%.

Also, add some reftests for the default `source` and `scroll-offsets`,
and different `orientation`s.

Besides, we disable at-scroll-timeline-start-end.html in Gecko because
we don't support start/end descriptors, and there are too many
intermittents in it.

Differential Revision: https://phabricator.services.mozilla.com/D126452
2021-12-08 01:16:31 +00:00
Boris Chiou b47eaf7ccc Bug 1676791 - Part 7: Disable OMTA for scroll-timeline. r=hiro
For simplicity purposes, we don't consider OMTA for now. OMTA support
for scoll-timeline will be done in Bug 1737180.

However, in this patch, we would like to address:
if the geometic animations use scroll-timeline, we don't have to let it
affect the transform animations on the same animation target:
1. If we don't do scrolling, its geometric properties don't change, so no
   effect on transform-like properties.
2. If we do scrolling, we may un-throttle the transform animations by
   other ways, e.g. Keyframe::CanThrottle(). So we don't need to worry
   about this.

Note: tests are in the next patch.

Differential Revision: https://phabricator.services.mozilla.com/D129103
2021-12-08 01:16:30 +00:00
Boris Chiou fcbeb1d2b0 Bug 1676791 - Part 5: Define the finite timeline and use it in Play() and Pause(). r=hiro
Based on https://github.com/w3c/csswg-drafts/pull/4842, we define
"has finite timeline", which is a timeline that's not monotonically increasing.
We need this to update start time and hold time for scroll-timeline, so
we play scroll-linked animations as we expected, e.g. GetLocalTime() returns
the correct time value from GetCurrentTimeAsDuration().

Known issue: we still have bugs when setting "animation-play-state:paused".
Will do that in Bug 1741255.

Differential Revision: https://phabricator.services.mozilla.com/D131168
2021-12-08 01:16:30 +00:00
Boris Chiou 7ea5fa0013 Bug 1676791 - Part 4: Make TimingParams be a LiteralType. r=hiro
And so we can make ScrollTimeline::GetTiming() be a constexpr function.

Differential Revision: https://phabricator.services.mozilla.com/D131449
2021-12-08 01:16:29 +00:00
Boris Chiou 193a6c3d7a Bug 1676791 - Part 3: Implement the computation of timing. r=hiro
This patch focus on the timing computation of animation effects. We have
to compute the correct progress based on the scroll offsets. Now we
simplify the implementation only from 0% to 100%. The test cases will be
added in the last patch once we hook the scroll timeline to the CSS
animation.

Differential Revision: https://phabricator.services.mozilla.com/D129101
2021-12-08 01:16:29 +00:00
Boris Chiou 8604a51732 Bug 1676791 - Part 2: Implement the infrastructure of scroll-linked animations. r=emilio,hiro
The basic part of the infrastructure of scroll-linked animations. This is
designed based on scroll-linked animation generated by CSS. We will
implement the timing computation and hook the ScrollTimeline to the CSS
animations in the following patches.

All the tests are in the patch that hooks ScrollTimeline to CSS Animation.

Differential Revision: https://phabricator.services.mozilla.com/D129100
2021-12-08 01:16:28 +00:00
Boris Chiou 470f574f58 Bug 1676791 - Part 1: Add ScrollTimeline class. r=hiro
Define a simple version of ScrollTimeline.

Differential Revision: https://phabricator.services.mozilla.com/D129099
2021-12-08 01:16:28 +00:00
Joel Maher 63bf096aef Bug 1743907 - Remove webrender annotation from manifestparser manifests. r=ahal,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D132682
2021-12-03 16:04:29 +00:00
Emilio Cobos Álvarez e120f9b2b2 Bug 1742393 - Correctly report animation status of pseudo-elements that are not stored in the parent element. r=hiro
We allow animating pseudo-elements like ::-moz-progress-bar (and we
treat them like regular elements).

Ideally we should store animations for these in the parent element as
well, so they survive reframes and such. But treating them as regular
elements right now means that we do animate them, but we never update
animations for them correctly because wrapper.rs assumed them to be
non-animatable.

Since it seems reasonable to keep allowing the animations to happen,
let's just correct the update code and add a test.

Differential Revision: https://phabricator.services.mozilla.com/D131794
2021-11-23 12:36:22 +00:00
Sebastian Hengst d1b0aec796 Bug 1680896 - fix annotation to skip test_pending_animation_tracker.html on Windows opt. DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D131591
2021-11-19 09:26:20 +00:00
Emilio Cobos Álvarez ace16c06ab Bug 1741491 - Make sure we only record old style value once. r=smaug
The way CommitStyles called into servo caused it to call the closure
multiple times, and we were not dealing with that properly.

Handle the "was called" state internally.

Differential Revision: https://phabricator.services.mozilla.com/D131411
2021-11-17 23:39:32 +00:00
Gerald Squelart 5399574d8b Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.

Differential Revision: https://phabricator.services.mozilla.com/D130009
2021-11-08 23:59:35 +00:00
Cristian Tuns 1aeac93d23 Backed out 5 changesets (bug 1738627) for causing xpcshell failures on test_ext_geckoProfiler_schema.js CLOSED TREE
Backed out changeset 42d385d7da97 (bug 1738627)
Backed out changeset edeb3a338954 (bug 1738627)
Backed out changeset 98f02e35134d (bug 1738627)
Backed out changeset 711daa6dd24b (bug 1738627)
Backed out changeset 49e12753a40c (bug 1738627)
2021-11-05 05:12:28 -04:00
Gerald Squelart 7fa084ae7c Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.

Differential Revision: https://phabricator.services.mozilla.com/D130009
2021-11-05 05:52:28 +00:00
Gerald Squelart df50ece611 Bug 1735697 - Remove profiler_can_accept_markers(), use profiler_thread_is_being_profiled() instead - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D128577
2021-10-18 23:11:30 +00:00
Jeff Muizelaar f76f41feb4 Bug 1736236 - Remove obsolete LayerManager.h. r=gfx-reviewers,lsalzman
This adds a bunch of #include "WindowRenderer.h" in places
that were getting it implicitly before.

Differential Revision: https://phabricator.services.mozilla.com/D128687
2021-10-17 23:00:47 +00:00
Andreea Pavel 6196f00cd0 Bug 1680896 - disable test_pending_animation_tracker.html on win10_2004 not debug r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D126607
2021-09-24 23:09:53 +00:00
Hiroyuki Ikezoe 3608e394a5 Bug 1731009 - Properly check whether the given nsIFrame is inside an OOP Iframe visible rect or not even if the frame size is (0x0). r=tnikkel
Before this change, in nsLayoutUtils::FrameIsScrolledOutOfViewInCrossProcess
we call BaseRect::IsEmpty() for the returned value of GetFrameVisibleRectOnScreen,
unfortunately if the returned value size is (0x0), BaseRect::IsEmpty() returns
true thus we misthink the given nsIFrame is out of the visible area of the OOP
iframe where the nsIFrame lives.

Note that we have already done the same check for in-process cases in
IsFrameScrolledOutOfView [1].

The test case in this change fails without this change, suceeds with
the change. Though, to be honest, I don't know the reason those styles
, `display: grid`, etc. generate (0x0) sized frame even if decendants have
sized.

[1] https://searchfox.org/mozilla-central/rev/15de05f0e6d841cbc2ac66f8dcad72ebdada47f6/layout/generic/nsIFrame.cpp#11090-11094

Differential Revision: https://phabricator.services.mozilla.com/D126312
2021-09-22 22:10:37 +00:00
Andreea Pavel a1a601efac Backed out changeset 4256690c306d (bug 1731009) build bustages on nsLayoutUtils.cpp on a CLOSED TREE 2021-09-22 15:50:18 +03:00
Hiroyuki Ikezoe 681fcbb965 Bug 1731009 - Properly check whether the given nsIFrame is inside an OOP Iframe visible rect or not even if the frame size is (0x0). r=tnikkel
Before this change, in nsLayoutUtils::FrameIsScrolledOutOfViewInCrossProcess
we call BaseRect::IsEmpty() for the returned value of GetFrameVisibleRectOnScreen,
unfortunately if the returned value size is (0x0), BaseRect::IsEmpty() returns
true thus we misthink the given nsIFrame is out of the visible area of the OOP
iframe where the nsIFrame lives.

Note that we have already done the same check for in-process cases in
IsFrameScrolledOutOfView [1].

The test case in this change fails without this change, suceeds with
the change. Though, to be honest, I don't know the reason those styles
, `display: grid`, etc. generate (0x0) sized frame even if decendants have
sized.

[1] https://searchfox.org/mozilla-central/rev/15de05f0e6d841cbc2ac66f8dcad72ebdada47f6/layout/generic/nsIFrame.cpp#11090-11094

Differential Revision: https://phabricator.services.mozilla.com/D126312
2021-09-22 09:20:02 +00:00
Hiroyuki Ikezoe 9e692bb775 Bug 1663509 - Skip test_restyles.html if the target machine's vsync rate is too slow to run the test. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D124584
2021-09-07 23:19:55 +00:00
Matt Woodrow 0ee96e3fa5 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-23 03:07:31 +00:00
Matt Woodrow fea5444468 Bug 1723266 - Return an infinite perspective in TransformOperation::Perspective::to_animated_zero. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D122919
2021-08-22 20:46:47 +00:00
Cosmin Sabou b53abb88e7 Backed out changeset e111894317cc (bug 1726291) for causing assertion failures on WebRenderCommandBuilder.cpp. CLOSED TREE 2021-08-20 06:22:40 +03:00
Matt Woodrow 94015526e1 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-20 02:20:39 +00:00
Geoff Brown 8a563cea2a Bug 1724296 - Remove many skip-if(verify) test annotations (mochitest); r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D122972
2021-08-18 21:33:32 +00:00
Emilio Cobos Álvarez 2d0a072174 Bug 1723921 - Cleanup nsComputedDOMStyle and related APIs. r=layout-reviewers,jfkthame
This will make implementing the new behavior behind a pref
really straight-forward, and is generally nicer.

Depends on D121858

Differential Revision: https://phabricator.services.mozilla.com/D121705
2021-08-07 09:47:15 +00:00
Kagami Sascha Rosylight 6b6ee72f7e Bug 1723050 - Part 1: Replace typedef by using in dom/animation/ r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D121293
2021-08-05 02:25:23 +00:00
Boris Chiou 349f9c4bf3 Bug 1714421 - Move the assertion of timeline after checking mReplacedTransition. r=hiro
We support the setter of Animation.timeline, so it's possible to have a
null |mTimeline| when calculating the start value for off-main-thread
animations. If it's null, it must be different from the document
timeline, so in this case we don't set |mReplacedTransition|.
So let's move the assertion below the if-check of |mReplacedTransition|.

Differential Revision: https://phabricator.services.mozilla.com/D121675
2021-08-05 00:37:55 +00:00
Alexandru Michis 326297bd47 Backed out changeset e41bfdf79fb8 (bug 1665476) for causing windows mochitest failures in test_windowminmaxsize.xhtml
CLOSED TREE
2021-08-02 02:14:52 +03:00
Emilio Cobos Álvarez 275707a51b Bug 1665476 - Remove nsRootBoxFrame to unify background propagation between XUL and non-XUL documents. r=layout-reviewers,mats
It's unused on mozilla-central, and Thunderbird can just use the canvas
frame as regular (X)HTML documents, so just use a canvas frame instead
of an nsRootBoxFrame for XUL as well.

nsRootBoxFrame was needed because of various XUL-specific things like
tooltips and so on lived there. But with the move away from XUL, that
functionality has been added to nsCanvasFrame already, behind a
principal check instead.

This also allows simplifying our background propagation setup, which was
only half-working for XUL documents (this bug is a consequence of that).

With this, most of the callers of nsCSSRendering::IsCanvasFrame can go.
They're only two of the frames that would return true for that that
actually paint backgrounds (nsCanvasFrame and nsRootBoxFrame), so the
codepaths in display list building and painting can just check
frame->IsCanvasFrame() instead.

The remaining caller to that function is
nsContainerFrame::SyncWindowProperties, and the change is also legit, in
the sense that the only thing SyncWindowProperties() really cares about
is propagating the max/min-width constraints from the root element's
style to the view/widget, and the only frame that would return true from
IsCanvasFrame and have a view is the viewport frame which is the root of
the frame tree.

Differential Revision: https://phabricator.services.mozilla.com/D90846
2021-08-01 21:57:28 +00:00
Emilio Cobos Álvarez ebffc1928f Bug 1722359 - Remove ui.showHideScrollbars. r=mstange
It probably did something more useful in the past, but right now it's
only used to avoid throttling some overflow-causing animations.

It returns 0 everywhere except on Android (for some reason?), but in any
case it doesn't seem this would need to be a LookAndFeel integer, it
could just be a regular pref that we turn on for tests.

However the tests pass with this patch locally, so for now I'm not
adding a pref to replace it.

Differential Revision: https://phabricator.services.mozilla.com/D120871
2021-07-26 18:42:36 +00:00
Matt Woodrow 912b7f8ef1 Bug 1721537 - Split out WindowRenderer base class from LayerManager. r=miko
Depends on D120439

Differential Revision: https://phabricator.services.mozilla.com/D120440
2021-07-22 22:58:57 +00:00
Tooru Fujisawa cc92ef732d Bug 1708448 - Move property and element functions into js/public/PropertyAndElement.h. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D119619
2021-07-13 11:52:42 +00:00
Andrew Halberstadt 7a16af4434 Bug 1700781 - Skip failing mochitest-plain tests with fission + xorigin, r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D117704
2021-06-15 18:24:18 +00:00
Hiroyuki Ikezoe 9e52f5ce78 Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-26 00:17:39 +00:00
Hiroyuki Ikezoe e63d42d765 Bug 1699890 - Restrict background-color animations on canvas frame or on <body> element not to run on the compositor in KeyframeEffect::IsMatchForCompositor. r=boris
So that now EffectCompositor::HasAnimationsForCompositor doesn't return true
for such cases, thus we will not accidentally try to generate
nsDisplayBackgroundColor display item for such animations (bug 1699890#c21)
and we will not generate nsChangeHint_RepaintFrame (bug 1701547) either.

Differential Revision: https://phabricator.services.mozilla.com/D115774
2021-05-26 00:17:39 +00:00
Butkovits Atila 202250ee59 Backed out 2 changesets (bug 1699890) for causing failures on background-color-animation-with-table2.html. CLOSED TREE
Backed out changeset 38bfba07a1ac (bug 1699890)
Backed out changeset 69826920340d (bug 1699890)
2021-05-25 15:30:01 +03:00
Hiroyuki Ikezoe 6b494767d9 Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-25 01:58:19 +00:00
Hiroyuki Ikezoe 9a5d9feeba Bug 1699890 - Restrict background-color animations on canvas frame or on <body> element not to run on the compositor in KeyframeEffect::IsMatchForCompositor. r=boris
So that now EffectCompositor::HasAnimationsForCompositor doesn't return true
for such cases, thus we will not accidentally try to generate
nsDisplayBackgroundColor display item for such animations (bug 1699890#c21)
and we will not generate nsChangeHint_RepaintFrame (bug 1701547) either.

Differential Revision: https://phabricator.services.mozilla.com/D115774
2021-05-25 01:58:18 +00:00
Iulian Moraru 8887e460a5 Backed out changeset c5ce83934eac (bug 1699890) for causing dt assertion failures on nsDisplayList.h. CLOSED TREE 2021-05-21 14:25:37 +03:00
Hiroyuki Ikezoe c8c37c4c3c Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-21 06:09:38 +00:00
Noemi Erli 15e72db6a4 Backed out changeset 1c7f2486a0e9 (bug 1699890) for causing multiple failures CLOSED TREE 2021-05-21 06:43:14 +03:00
Hiroyuki Ikezoe 7cceb18c82 Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-20 23:46:10 +00:00
Edgar Chen f8605ff45d Bug 1709214 - Get rid of NS_ERROR_DOM_ANIM_MISSING_PROPS_ERR; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114179
2021-05-10 12:20:17 +00:00
Boris Chiou 5272e5d351 Bug 1706157 - Avoid int overflow for steps() timing function. r=hiro
We increase |jumps| for steps(<integer>,jump-both), and the <integer>
could be a large number, so we have to avoid the int overflow. Now we use
CheckedInt32 for it.

Also, `aPortion * aStepFunc.mSteps` may be out of the range of int32_t,
so we clamp it first and use CheckedInt32 for currentStep, too.

The error handling is pretty simple. We don't care about the result of
this unexpected behavior, so we simply roll the value back to the
original one.

Differential Revision: https://phabricator.services.mozilla.com/D112684
2021-05-03 23:07:03 +00:00
Emilio Cobos Álvarez b42ccb7de0 Bug 1705509 - Hide -moz-outline-radius behind a pref. r=mstange
This property does nothing since bug 315209 got implemented.

Every single user that I checked was doing the same math by hand, so
hooray for good defaults :-)

Differential Revision: https://phabricator.services.mozilla.com/D112253
2021-04-16 01:01:45 +00:00
Gerald Squelart 3a798ef925 Bug 1703717 - Check for null aAnimation->GetOwner() before dereferencing - r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D111221
2021-04-08 07:24:54 +00:00
Florian Quèze 113408d081 Bug 1701524 - add more inner window ids in markers, r=canaltinova.
Differential Revision: https://phabricator.services.mozilla.com/D110046
2021-03-31 18:23:13 +00:00
Simon Giesecke cc730d05dd Bug 1184468 - Use nsTHashtable::Keys where possible. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D108588
2021-03-24 17:56:50 +00:00
Simon Giesecke d517012ca6 Bug 708901 - Migrate to nsTHashSet in dom/animation. r=birtles
Depends on D108591

Differential Revision: https://phabricator.services.mozilla.com/D108592
2021-03-23 10:36:32 +00:00
Florian Quèze 8ad1e5d0aa Bug 1699742 - Remove MOZ_GECKO_PROFILER ifdefs that are no longer needed, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D109078
2021-03-22 16:29:52 +00:00
Simon Giesecke 6ae9169f08 Bug 1698098 - Make use of nsBaseHashtable::Clone. r=xpcom-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D107617
2021-03-19 09:01:46 +00:00
Emilio Cobos Álvarez 6c2d77e198 Bug 1698445 - background-position changes should be throttable. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D108611
2021-03-17 23:07:25 +00:00
Florian Quèze 12e6842434 Bug 1698600 - CSS animation profiler markers should also be added for animations that run to completion, r=birtles.
Differential Revision: https://phabricator.services.mozilla.com/D108493
2021-03-16 12:04:01 +00:00
Mike Hommey d395ea5ea6 Bug 1698303 - Wrap code using profiler_can_accept_markers with #ifdef MOZ_GECKO_PROFILER. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108332
2021-03-14 03:31:48 +00:00
Butkovits Atila cf95b70d32 Bug 1663509 - disable test_restyles.html for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D107369
2021-03-13 20:09:31 +00:00
Florian Quèze 67cce94aa4 Bug 1698125 - CSS transitions and animations should be visible with profiler markers, r=emilio.
Differential Revision: https://phabricator.services.mozilla.com/D108201
2021-03-12 17:28:15 +00:00
Simon Giesecke 91fdeec18c Bug 1695162 - Migrate from custom hashtable iteration to range-based for in accessible, dom/animation, dom/base, dom/localstorage, gfx/thebes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D106895
2021-03-12 16:14:58 +00:00
Alexandru Michis c691800cb0 Backed out changeset fd03162e726d (bug 1695162) for causing bustages in Document.cpp
CLOSED TREE
2021-03-12 17:10:02 +02:00
Simon Giesecke 2fb6095f16 Bug 1695162 - Migrate from custom hashtable iteration to range-based for in accessible, dom/animation, dom/base, dom/localstorage, gfx/thebes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D106895
2021-03-12 14:54:08 +00:00
Simon Giesecke 9622562495 Bug 1634281 - Use (STL) algorithms instead of custom hashtable iteration where possible in dom/animation. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D107683
2021-03-11 12:04:54 +00:00
Simon Giesecke ad01a10a3b Bug 1634281 - Use nsTHashMap instead of nsDataHashtable. r=xpcom-reviewers,necko-reviewers,jgilbert,nika,valentin
Note that this patch only transforms the use of the nsDataHashtable type alias
to a directly equivalent use of nsTHashMap. It does not change the specification
of the hash key type to make use of the key class deduction that nsTHashMap
allows for in some cases. That can be done in a separate step, but requires more
attention.

Differential Revision: https://phabricator.services.mozilla.com/D106008
2021-03-10 10:47:47 +00:00
Simon Giesecke cb6c8aead4 Bug 1695162 - Make nsTHashtable::ConstIter return a real ConstIterator. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D107038
2021-03-09 10:28:16 +00:00
Simon Giesecke c6ace2f153 Bug 1673931 - Avoid including BindingDeclarations.h from header files. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D97612
2021-03-04 14:32:14 +00:00
Simon Giesecke 9af107a839 Bug 1691913 - Rename nsBaseHashtable::Put to InsertOrUpdate. r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
This makes the naming more consistent with other functions called
Insert and/or Update. Also, it removes the ambiguity whether
Put expects that an entry already exists or not, in particular because
it differed from nsTHashtable::PutEntry in that regard.

Differential Revision: https://phabricator.services.mozilla.com/D105473
2021-02-26 09:11:46 +00:00
Simon Giesecke 4f75368dcb Bug 1691913 - Rename nsBaseHashtable::GetOrInsert(With) to LookupOrInsert(With). r=xpcom-reviewers,necko-reviewers,jgilbert,dragana,nika
The functions should be called "Lookup" rather than "Get" because they return
a DataType& (rather than UserDataType).

Differential Revision: https://phabricator.services.mozilla.com/D105472
2021-02-26 09:11:45 +00:00
Andrew Osmond 29848ac31b Bug 1693383 - Part 1. Adjust tests to correctly detect HW-WR and SW-WR variants. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D105620
2021-02-24 18:47:23 +00:00
Emilio Cobos Álvarez 9882821e73 Bug 1692684 - Don't create transitions for invalid ::marker properties. r=hiro
The test-case in the bug does something interesting, where it causes a
transition on the parent by removing a CSS rule, and that causes us to
transition text-underline-offset on our ::marker, via the magic of
font-size-relative properties.

text-underline-offset, while it gets inherited from ::marker, is not a
valid CSS property to specify on marker per spec, so we trim it here:

  https://searchfox.org/mozilla-central/rev/899bbd9e5a0d6de9bb9f068c48b1445c7905d9cf/servo/ports/geckolib/glue.rs#5709-5712

And that causes us to create a transition with an empty effect and
everything goes downhill from here.

For now, just bail out in a nicer way than we were doing. I still need
to look into whether we should handle inherited transitions differently
from non-inherited one in this case...

I think our behavior after this patch would be correct for the test-case
(because text-underline-offset would transition on the parent and
::marker would inherit it). If you specify transition only on the marker
we'd refuse to transition (which I guess it is somewhat of a sensible
behavior).

Differential Revision: https://phabricator.services.mozilla.com/D105124
2021-02-24 16:35:17 +00:00
Simon Giesecke c5f7800f35 Bug 1691913 - Rename nsClassHashtable::LookupOrAdd to GetOrInsertNew. r=xpcom-reviewers,nika
It should be called "Get" rather than "Lookup" because it returns
UserDataType. "Add" is called "Insert" in the other methods.

Differential Revision: https://phabricator.services.mozilla.com/D105470
2021-02-22 12:07:47 +00:00
Simon Giesecke d2caea36fa Bug 1691894 - Simplify uses of WithEntryHandle that only use OrInsert(With) by using GetOrInsertWith. r=xpcom-reviewers,necko-reviewers,jgilbert,nika
Differential Revision: https://phabricator.services.mozilla.com/D104676
2021-02-22 12:07:46 +00:00
Simon Giesecke 8ae4e0da81 Bug 1688833 - Migrate LookupForAdd to WithEntryHandle in dom/animation. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D104229
2021-02-09 18:19:44 +00:00
Emilio Cobos Álvarez 039592f4d8 Bug 1682003 - Avoid UTF-8 -> UTF-16 conversion during CSSOM serialization. r=heycam
This lifts a bunch of string conversions higher up the stack, but allows
us to make the servo code use utf-8 unconditionally, and seemed faster
in my benchmarking (see comment 0).

It should also make a bunch of attribute setters faster too (like
setting .cssText), now that we use UTF8String for them (we couldn't
because we couldn't specify different string types for the getter and
setters).

Differential Revision: https://phabricator.services.mozilla.com/D99590
2020-12-17 14:04:35 +00:00
smolnar 8fca43061d Backed out changeset 5d120a154a6b (bug 1674776) as requested. CLOSED TREE DONTBUILD 2020-12-17 03:22:33 +02:00
Hiroyuki Ikezoe f78a1ad627 Bug 1674776 - Update DocumentTimeline::mLastRefreshDriverTime outside parallel styling. r=boris,decoder
Note that we can probably use mLastRefreshDriverTime directly in
DocumentTimeline::GetCurrentTimeStamp(), i.e. we don't need to use the refresh
driver there, but I'd preserve the current behavior.

Differential Revision: https://phabricator.services.mozilla.com/D97823
2020-12-17 00:51:18 +00:00
Andreea Pavel 9159ca1ff4 Backed out changeset 847bca011f0f (bug 1674776) for causing bug 1682472 on a CLOSED TREE 2020-12-16 12:59:13 +02:00
Kartik Gautam f7ffcd09fb Bug 1679758 - Remove trailing empty lines r=sylvestre,marionette-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-15 10:34:54 +00:00
Hiroyuki Ikezoe bc1eb2e0f6 Bug 1674776 - Update DocumentTimeline::mLastRefreshDriverTime outside parallel styling. r=boris,decoder
Note that we can probably use mLastRefreshDriverTime directly in
DocumentTimeline::GetCurrentTimeStamp(), i.e. we don't need to use the refresh
driver there, but I'd preserve the current behavior.

Differential Revision: https://phabricator.services.mozilla.com/D97823
2020-12-14 23:55:06 +00:00
Dorel Luca 7320ae982a Backed out changeset f3aaf04fce3b (bug 1679758) for Devtool failures in browser_styleeditor_syncAddProperty.js. CLOSED TREE 2020-12-13 16:38:21 +02:00
Kartik Gautam caf549c200 Bug 1679758 - Remove trailing empty lines r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-13 13:28:30 +00:00
Simon Giesecke 1c53236b70 Bug 1679272 - Include ScopeExit.h exactly where used. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D98888
2020-12-07 14:25:59 +00:00
Emilio Cobos Álvarez c3096d1e25 Bug 1679009 - Simplify some getters in CSSPseudoElement and KeyframeEffect. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D97939
2020-11-24 23:58:33 +00:00
Simon Giesecke 9e50b6ee02 Bug 1678562 - Avoid including AnimationEffect.h in Animation.h. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D97743

Depends on D97740
2020-11-23 16:12:55 +00:00
Simon Giesecke dd80614fa0 Bug 1678062 - Remove unnecessary includes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D97467

Depends on D96561
2020-11-23 16:12:02 +00:00
Simon Giesecke 41c5b23a3e Bug 1676363 - Avoid including CycleCollectedJSContext.h and Promise.h from Animation.h. r=#xpcom-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D96561

Depends on D96560
2020-11-23 16:10:57 +00:00
Simon Giesecke f15895390e Bug 1673931 - Avoid including Element.h from header files.
Differential Revision: https://phabricator.services.mozilla.com/D96535

Depends on D96534
2020-11-23 16:08:40 +00:00
Simon Giesecke 5bfbb2a572 Bug 1673931 - Avoid including Document.h from header files. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95046

Depends on D95045
2020-11-23 16:07:43 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Hiroyuki Ikezoe fc509369c5 Bug 1676062 - Use a dummy URL data in Servo_ParseEasing and drop Document* and URLExtraData* arguments from relevant functions. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D96791
2020-11-12 20:34:01 +00:00
Sylvestre Ledru fde06f6d21 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 17:04:01 +00:00
Butkovits Atila 964cca3198 Backed out changeset c0adbf7522dc (bug 1674637) for bustage on GMPParent.cpp. CLOSED TREE 2020-11-04 10:54:36 +02:00
Sylvestre Ledru 5f29324f60 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 08:29:00 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Hiroyuki Ikezoe 6fd5944648 Bug 1669933 - Register cloning paused animations to PendingAnimationTracker to make sure the animations are painted in printing documents. r=boris
Without PendingAnimationTracker, we can't make the refresh driver keep ticking
for the animations until we are ready to paint the printing documents. In other
words we do stop ticking [1] in DocumentTimeline::MostRecentRefreshTimeUpdated.

[1] https://searchfox.org/mozilla-central/rev/25d5a4443a7e13cfa58eff38f1faa5e69f0b170f/dom/animation/DocumentTimeline.cpp#168,183-192

Differential Revision: https://phabricator.services.mozilla.com/D94256
2020-10-21 18:10:10 +00:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Andi-Bogdan Postelnicu b7e337ee5d Bug 1626532 - Make `dom/animation` buildable outside of `unified-build` environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D93635
2020-10-15 10:05:07 +00:00
Markus Stange 41c70bcd59 Bug 1666617 - Add an observer description argument to AddRefreshObserver. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D91082
2020-09-25 02:36:29 +00:00
Kartikaya Gupta f38b3ecb1b Bug 1665955 - Stop including nsIScrollableFrame.h from Element.h. r=emilio
Changes to nsIScrollableFrame.h cause the world to rebuild which I find annoying.
This removes the inclusion into Element.h which is responsible for the
world-rebuilding and is relatively easy to eliminate. A bunch of usages of
nsIScrollableFrame get moved from .h files into .cpp files and I include the
header into .cpp files as needed.

Differential Revision: https://phabricator.services.mozilla.com/D90735
2020-09-18 18:32:13 +00:00
Jonathan Kew 84a6685131 Bug 1533462 - Execute the deferred font-info loader immediately when running spell-check and animation mochitests, to avoid intermittent issues. r=jwatt
Depends on D87194

Differential Revision: https://phabricator.services.mozilla.com/D87195
2020-08-30 22:59:57 +00:00
Masayuki Nakano 5bca4199fb Bug 1660378 - part 9: Avoid QI for getting `nsStyledElement` pointer r=smaug
The editor modules does QI too many times when it sets or removes some style
with `execCommand` or XPCOM API.  Therefore, there should be an API to
retrieve `nsStyledElement` pointer from `nsINode*`.

Differential Revision: https://phabricator.services.mozilla.com/D87990
2020-08-26 05:29:06 +00:00
Simon Giesecke 1e6ec7ec86 Bug 1656117 - Reduce include dependencies on nsRefreshDriver.h. r=mstange
The abstract observer base classes are moved to a separate header file
nsRefreshObservers.h and the includes are adjusted accordingly.

Some method implementations are moved to the corresponding implementation files
to avoid the need to include the nsRefreshDriver.h file in the header.

Differential Revision: https://phabricator.services.mozilla.com/D85764
2020-08-04 21:17:50 +00:00
Simon Giesecke 96f3e7e019 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-04 11:27:07 +00:00
Hiroyuki Ikezoe 29fef99b15 Bug 1656893 - Make test_running_on_compositor.html work with disabling partial pre-render. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D85797
2020-08-03 23:33:09 +00:00
Noemi Erli 381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Simon Giesecke 032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
Hiroyuki Ikezoe e6f2eaccfd Bug 1656418 - Enable partial prerender on Nightly. r=botond,boris
Differential Revision: https://phabricator.services.mozilla.com/D85550
2020-08-02 22:56:22 +00:00
Mihai Alexandru Michis 532d39f4a4 Backed out changeset b119f2d9cd45 (bug 1656418) for causing reftest failures in layout/reftests/bugs/1078262-1.html
CLOSED TREE
2020-08-01 21:47:12 +03:00
Hiroyuki Ikezoe 41be162396 Bug 1656418 - Enable partial prerender on Nightly. r=botond,boris
Differential Revision: https://phabricator.services.mozilla.com/D85550
2020-08-01 09:57:22 +00:00
Hiroyuki Ikezoe e1d98926a8 Bug 1656419 - Check whether the given animation and the animation stored in mPartialPrerenderedAnimations are in the same EffectSet instead of just comparing the animation instances. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D85535
2020-07-31 21:06:42 +00:00
Nathan Froyd e3ebda1914 Bug 1223932 - delete guard object uses from the tree; r=jwalden
CLOSED TREE

We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Mihai Alexandru Michis a911a108d0 Backed out changeset ac9c811bc427 (bug 1223932) for causing spidermonkey rust failures.
CLOSED TREE
2020-07-30 18:23:21 +03:00
Nathan Froyd bec9f9b93a Bug 1223932 - delete guard object uses from the tree; r=jwalden
We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Brian Birtles 9159650f0b Bug 1636562 - Respect property restrictions on pseudo elements when animating; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D84306
2020-07-21 23:12:35 +00:00
Cameron McCormack 1739610d9a Bug 1620467 - Part 2: Add unprefixed appearance property and make -moz-appearance and -webkit-appearance be aliases. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D83428
2020-07-16 22:04:11 +00:00
tkhan 75ea54bf01 Bug 1650919 - Adding manifest annotations for xorigin test harness. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D82763
2020-07-13 20:34:46 +00:00
Bogdan Tara 6faddf7d8f Backed out changeset 1a0f002865d3 (bug 1650919) for test_deprecated.html failures CLOSED TREE 2020-07-13 19:22:21 +03:00
tkhan e50031dfc7 Bug 1650919 - Adding manifest annotations for xorigin test harness. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D82763
2020-07-13 13:01:43 +00:00
Hiroyuki Ikezoe 4205879729 Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris
The machinery to report janked animations is;

1) Store the partial pre-rendered animation id and the Animation object in a
   hashtable in LayerManager
2) Store the animation id in the Animation object as well
3) When we detect jank, we send the animation id to the main-thread via an IPC
   call
4) Find the Animation object with the id in the hashtable and update the
   Animaiton
5) Whenever the partial pre-rendered Animation stop running on the compositor
   i.e. the Animation finished normally, the Animation's target element is
   changed, etc. etc., remove the Animation from the hashtable

Depends on D75731

Differential Revision: https://phabricator.services.mozilla.com/D75732
2020-07-05 11:45:01 +00:00
Hiroyuki Ikezoe 2fdb475e75 Bug 1324591 - A simple mochitest to make sure partial pre-rendered transform animations run on the compositor. r=boris
We just need this regardless of whether there appears checkerboarding or jank.
To avoid shrinking the content to the minimum-scale size on mobile environments,
we need to specify a meta viewport tag in this test.

Differential Revision: https://phabricator.services.mozilla.com/D75727
2020-07-05 11:42:22 +00:00
Brindusan Cristian 7f75410fd7 Backed out 9 changesets (bug 1324591) for linux build bustages on central on nsDisplayList.h.
Backed out changeset 75966ee1fe65 (bug 1324591)
Backed out changeset d6a01c6bc40e (bug 1324591)
Backed out changeset fef36ff2ea3d (bug 1324591)
Backed out changeset 4a4ae4bd95d1 (bug 1324591)
Backed out changeset 732804c83add (bug 1324591)
Backed out changeset 84657a3522fb (bug 1324591)
Backed out changeset e6c74ba41007 (bug 1324591)
Backed out changeset 8e6d4e9f5aa0 (bug 1324591)
Backed out changeset 6bc284863aff (bug 1324591)
2020-07-05 13:45:35 +03:00
Hiroyuki Ikezoe 92208a9c28 Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris
The machinery to report janked animations is;

1) Store the partial pre-rendered animation id and the Animation object in a
   hashtable in LayerManager
2) Store the animation id in the Animation object as well
3) When we detect jank, we send the animation id to the main-thread via an IPC
   call
4) Find the Animation object with the id in the hashtable and update the
   Animaiton
5) Whenever the partial pre-rendered Animation stop running on the compositor
   i.e. the Animation finished normally, the Animation's target element is
   changed, etc. etc., remove the Animation from the hashtable

Differential Revision: https://phabricator.services.mozilla.com/D75732
2020-07-05 02:21:01 +00:00
Hiroyuki Ikezoe 7b11dcd035 Bug 1324591 - A simple mochitest to make sure partial pre-rendered transform animations run on the compositor. r=boris
We just need this regardless of whether there appears checkerboarding or jank.
To avoid shrinking the content to the minimum-scale size on mobile environments,
we need to specify a meta viewport tag in this test.

Differential Revision: https://phabricator.services.mozilla.com/D75727
2020-07-05 02:18:22 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Hiroyuki Ikezoe 3f5ea943fb Bug 1618446 - Clear runningOnCompositor flag in the case where WebRenderAnimationData is destroyed. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D80341
2020-06-22 20:46:31 +00:00
Emilio Cobos Álvarez ef3d21048d Bug 1640623 - Use enum classes for LookAndFeel int and float IDs. r=jmathies,geckoview-reviewers,esawin
Differential Revision: https://phabricator.services.mozilla.com/D76694
2020-06-11 11:27:43 +00:00
Andi-Bogdan Postelnicu c46fedc85f Bug 1626532 - Make `dom/animation` buildable outside of `unified-build` environment. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D69161
2020-06-02 10:31:46 +00:00
Masatoshi Kimura b9a2ffc214 Bug 1482279 - Stop using Cu.forcePermissiveCOWs() in SpecialPowers. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D74641
2020-05-31 03:41:03 +00:00
Mihai Alexandru Michis 37ef8a125d Backed out changeset a845717e4d10 (bug 1482279) for causing multiple failures.
CLOSED TREE
2020-05-23 02:22:20 +03:00
Masatoshi Kimura 0701e89b7e Bug 1482279 - Stop using Cu.forcePermissiveCOWs() in SpecialPowers. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D74641
2020-05-22 21:46:25 +00:00
Emilio Cobos Álvarez e485c5c372 Bug 1630919 - Do not throttle an effect due to opacity if the frame is animating opacity itself. r=hiro
When transitioning visibility and opacity at the same time, we create
two effects, one animating opacity, and one visibility.

We're incorrectly throttling the visibility animation due to opacity,
because _that_ effect is not animating opacity, but the other one is and
thus doesn't get throttled.

Use HasAnimationOfOpacity() to check for this case. This is slightly
sketchy, because the first time we get through there we may not even
have started the opacity animation yet. However it kinda works, because
the fact that there's a (non-throttled, because of the
aEffect.HasOpacityChange()) opacity animation means that we'll tick both
of them, and unthrottle them next frame.

This seems better than the alternative which is never throttling
animations in opacity: 0 roots.

Differential Revision: https://phabricator.services.mozilla.com/D76405
2020-05-21 23:12:26 +00:00
Emily McDonough 0ee5c5dc91 Bug 1626794 - Add strong ref to document and MOZ_CAN_RUN_SCRIPT annotation to Animation::CommitStyles r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D75418
2020-05-17 20:47:37 +00:00
Emily McDonough c161bb67d3 Bug 1564128 part 2 - Copy animations to static document clones r=emilio,hiro
This also requires changing the EffectCompositor to allow animations in print
and print preview, and setting up a document timeline for the cloned document

Differential Revision: https://phabricator.services.mozilla.com/D69069
2020-05-14 19:41:03 +00:00
Emily McDonough fe1836fe09 Bug 1564128 part 1 - Add clone function for Animation and constructor for KeyframeEffect to copy properties but not the target. r=hiro
This is needed for copying animations from an original document to a static
clone during printing/print preview.

Differential Revision: https://phabricator.services.mozilla.com/D73139
2020-05-14 19:41:01 +00:00
Hiroyuki Ikezoe 36521ffc0f Bug 1332588 - Drop explicit setting of dom.animations.mainthread-synchronization-with-geometric-animations. r=boris
Since we no longer see the "Unexpected UpdateTransformLayer hint" assertion
on those tests.

Differential Revision: https://phabricator.services.mozilla.com/D75052
2020-05-13 21:36:44 +00:00
Hiroyuki Ikezoe a6cd6e17ee Bug 1332588 - Drop nsChangeHint_UpdateTransformLayer on the frame that we don't support transform. r=boris
Depends on D75049

Differential Revision: https://phabricator.services.mozilla.com/D75050
2020-05-13 21:52:08 +00:00
Hiroyuki Ikezoe 34c6fd1e8c Bug 1636838 - Undef CurrentTime and define X11CurrentTime instead. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D74585
2020-05-11 19:34:02 +00:00
Hiroyuki Ikezoe 381be17fdb Bug 1608194 - Add a test case for a visible animation on a position:fixed element in an iframe. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D73974
2020-05-11 20:35:50 +00:00
Boris Chiou bfdb4fb6ed Bug 1540906 - Disable the pref of synchronizing transform animations with geometric animations on nightly. r=hiro
The original site issue (https://trello.com/) seems not obvious on nightly
now. (See Bug 1301305 for more details.) So perhaps we could give this a
trial to disable this pref, for the better performance in other cases.

Differential Revision: https://phabricator.services.mozilla.com/D74278
2020-05-11 20:40:48 +00:00
Hiroyuki Ikezoe 5a1043dcb9 Bug 1634943 - Split CSSAnimation and CSSAnimationKeyframe classes into a new file in dom/animation/. r=boris
For consistency with CSSTransition class.

Depends on D73571

Differential Revision: https://phabricator.services.mozilla.com/D73572
2020-05-05 22:41:04 +00:00
Hiroyuki Ikezoe dce9d89e6d Bug 1634943 - Split CSSTransition class into a new file in dom/animation/. r=boris
The motivation here is that we will want to call CSSTransition specific
functions, e.g. updating the start value of a given CSSTransition with
the latest value of the CSSTransition on the compositor, from somewhere
not in layout/style.  Unfotunately nsTransitionManager.h is not exposed
and we will never want to expose it since it's purely for layout/style
stuff.

Depends on D73570

Differential Revision: https://phabricator.services.mozilla.com/D73571
2020-05-05 22:41:02 +00:00
Hiroyuki Ikezoe 26c4d2e45b Bug 1634943 - Fix non-unified build in dom/animation/. r=boris
Depends on D73569

Differential Revision: https://phabricator.services.mozilla.com/D73570
2020-05-05 22:40:57 +00:00
Hiroyuki Ikezoe f6eb134152 Bug 1634943 - Include nsPrintfCString.h in TimingParams.h. r=boris
Depends on D73568

Differential Revision: https://phabricator.services.mozilla.com/D73569
2020-05-05 22:39:44 +00:00
Simon Giesecke b4ec5fcde8 Bug 1626570 - Improve handling of copying arrays in dom/animation/. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D73642
2020-05-05 10:42:23 +00:00
Razvan Maries 0a5bb478ea Backed out 8 changesets (bug 1634943) for build bustages on AnimationInfo.h. CLOSED TREE
Backed out changeset 2ee9c0fc07bf (bug 1634943)
Backed out changeset 812f8cfff1b2 (bug 1634943)
Backed out changeset c446c1edc943 (bug 1634943)
Backed out changeset 6ef1fcc1d428 (bug 1634943)
Backed out changeset 5e4ccd0bffac (bug 1634943)
Backed out changeset bf3c4e7b4691 (bug 1634943)
Backed out changeset 8f310f49a366 (bug 1634943)
Backed out changeset 421cd778da3d (bug 1634943)
2020-05-05 13:50:47 +03:00
Hiroyuki Ikezoe 05122f238f Bug 1634943 - Split CSSAnimation and CSSAnimationKeyframe classes into a new file in dom/animation/. r=boris
For consistency with CSSTransition class.

Differential Revision: https://phabricator.services.mozilla.com/D73572
2020-05-05 10:01:38 +00:00
Hiroyuki Ikezoe eee4796cb1 Bug 1634943 - Split CSSTransition class into a new file in dom/animation/. r=boris
The motivation here is that we will want to call CSSTransition specific
functions, e.g. updating the start value of a given CSSTransition with
the latest value of the CSSTransition on the compositor, from somewhere
not in layout/style.  Unfotunately nsTransitionManager.h is not exposed
and we will never want to expose it since it's purely for layout/style
stuff.

Differential Revision: https://phabricator.services.mozilla.com/D73571
2020-05-05 10:01:33 +00:00
Hiroyuki Ikezoe 6d7f47890b Bug 1634943 - Fix non-unified build in dom/animation/. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D73570
2020-05-05 10:01:24 +00:00
Hiroyuki Ikezoe d90042d013 Bug 1634943 - Include nsPrintfCString.h in TimingParams.h. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D73569
2020-05-05 10:00:29 +00:00
Hiroyuki Ikezoe cff00579e3 Bug 1633442 - Check the current keyframe's properties instead of checking mTransitionProperty. r=boris
Since mTransitionProperty keep holding the original transition property even if
the target effect or keyframe was replaced by others. We need to make sure the
current transition is runnable on the compositor, i.e. having the effect and
keyframes and one of the properties is runnable on the compositor.

Differential Revision: https://phabricator.services.mozilla.com/D73586
2020-05-05 01:29:44 +00:00
Boris Chiou 3ceed5d372 Bug 1633486 - Add ::marker when checking may_have_animations() during traversal. r=emilio
When unhidding a ::marker element, we construct its generated item, and
then call StyleNewSubtree() on this generated item. During traversal, we
may update any animation related values in Gecko_UpdateAnimations(), which
may update the base styles for animation properties.

The test case is an animation segment from "null" to "inital" value. We
replace the "null" value with the base style value for the specific animation
property, so we can do interpolation properly.
(e.g. opacity: "null => initial" becomes "1.0 => initial")
If we don't update the animation related values in
Gecko_UpdateAnimations after generating ::marker, we may do
interpolation from "null" to "initial", which causes a panic.

Differential Revision: https://phabricator.services.mozilla.com/D73408
2020-05-04 19:15:43 +00:00
Simon Giesecke c0341c3791 Bug 1628715 - Part 10: Activate nodiscard attributes on AppendElement(s). r=xpcom-reviewers,nika,peterv
Differential Revision: https://phabricator.services.mozilla.com/D70834
2020-04-24 14:34:15 +00:00
Tom Tung b34fac17ed Bug 1586761 - P7 - Revert a few incorrect changes on P2; r=tjr
P2 removed IsTimerPrecisionReductionEnabled and thus removed the check for RFP
pref. While most ReduceTimePrecision* functions are fine with that because
GetTimerPrecisionType checks that, the two ReduceTimePrecision*RFP functions
miss the check.

This patch mainly cover the check for that two functions and rename them to
*RFPOnly since they only use RFP when the pref is on.

Depends on D64324

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

--HG--
extra : moz-landing-system : lando
2020-04-07 07:36:52 +00:00
Tom Tung 94183661ac Bug 1586761 - P2 - Introduce new TimerPrecisionTypes and a set of new Reduce methods to decide the TimerPrecisionType in the nsRFPService; r=tjr
To support checking CrossOriginIsolated in performance.now(), we need to:
- Add new types to TimerPrecisionType for nsRFPService
  - System, HighResAllowed are added
  - All is renamed to Normal
- Introduce a set of Reduce methods which require isSystemPrincipal and
CrossOriginIsolated to be passed and decide the TimerPrecisionType later
  - Original Reduce methods should only be called when callsites know the
  TimerPrecisionType. Otherwise, they should call the new methods.
- The following patches will use new methods

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

--HG--
extra : moz-landing-system : lando
2020-03-25 14:09:55 +00:00
Sylvestre Ledru 0aa6f03cf3 Bug 1519636 - Reformat recent changes to the Google coding style r=jgilbert
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-04-05 13:34:58 +00:00
Emilio Cobos Álvarez c8bd3df8c2 Bug 1625608 - Improve some web-animations error messages. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D68695

--HG--
extra : moz-landing-system : lando
2020-03-30 09:48:06 +00:00
André Bargull 14ca007916 Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj
Also adds missing includes in some files, these were previously only transivitely
included through mozilla/TypeTraits.h.

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

--HG--
extra : moz-landing-system : lando
2020-03-28 16:00:09 +00:00
Boris Chiou 2eaf9ee039 Bug 1621007 - Rewrite the checking for PrerenderDecision and reset mAllowAsyncAnimation if needed in 3d context. r=mattwoodrow
The basic idea is:
  In the same 3d context (note: we use AutoPreserves3DContext to keep
  this info), and we block the async animations of the ancestors of the ones
  who don't prerender. Of course, and its later silbing frames and child
  frames.

In order to to this, we keep a flag in Preserves3DContext, and set it
to false if the decision is No prerender, so we could force to block
async animations on its ancestors and descendants (and later silbings).

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

--HG--
extra : moz-landing-system : lando
2020-03-27 18:47:16 +00:00
Kristen Wright dbfec5d2b0 Bug 1622111 - Convert dom.animations.offscreen-throttling to static pref. r=njn
Converts dom.animations.offscreen-throttling to a static pref and removes the static function used to create the varcache pref.

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

--HG--
extra : moz-landing-system : lando
2020-03-23 19:43:34 +00:00
Hiroyuki Ikezoe 1387af13ab Bug 1623469 - Add a pref to disable synchronization transform animations with geometric animations. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D67391

--HG--
extra : moz-landing-system : lando
2020-03-19 03:36:54 +00:00
Stefan Hindli 5f419e4b50 Backed out 9 changesets (bug 1622111) for causing mochitest failures in dom/animation/test/mozilla/test_restyles.html CLOSED TREE
Backed out changeset c244160797f8 (bug 1622111)
Backed out changeset dd9209f6bd8b (bug 1622111)
Backed out changeset d694c9e7061f (bug 1622111)
Backed out changeset 486aae809f6d (bug 1622111)
Backed out changeset 709266168c41 (bug 1622111)
Backed out changeset ca0d47bb86a8 (bug 1622111)
Backed out changeset caa735c8bb91 (bug 1622111)
Backed out changeset 12397711ab25 (bug 1622111)
Backed out changeset b66002fd1480 (bug 1622111)
2020-03-19 02:47:51 +02:00
Kristen Wright e29d6cd395 Bug 1622111 - Convert dom.animations.offscreen-throttling to static pref. r=njn
Converts dom.animations.offscreen-throttling to a static pref and removes the static function used to create the varcache pref.

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

--HG--
extra : moz-landing-system : lando
2020-03-18 20:46:07 +00:00
Brian Birtles 5903ac3094 Bug 1622184 - Mark Animation.finished and Animation.ready as handled when they are rejected; r=boris
As per spec change: 7bcad3219c

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

--HG--
extra : moz-landing-system : lando
2020-03-18 02:22:36 +00:00
Boris Chiou 014b6a5b9e Bug 1621174 - Fix error handling for setting KeyframeEffect.pseudoElement. r=birtles,smaug
We should throw a DOMException SyntaxError when setting pseudoElement a
syntactically invalid string or an unsupported pseudo.

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

--HG--
extra : moz-landing-system : lando
2020-03-12 00:34:46 +00:00
Mark Banner 15cfe23b88 Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-03-07 10:09:44 +00:00
Boris Zbarsky 00cd5d4380 Bug 1619112 part 5. Stop accepting nsAString in ErrorResult error-throwing. r=smaug
Callers should pass in UTF-8, since that's what the JS engine ends up with in the end anyway.

The various URL changes are because NS_NewURI converts incoming nsAString to
UTF-8 anyway.  So we might as well do that up-front and then use the UTF-8
string for both the NS_NewURI call and the error-reporting if it fails.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 21:08:02 +00:00
Boris Zbarsky c878a8bb26 Bug 1619112 part 2. Pass char literals instead of char16_t literals into ErrorResult throwing methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65538

--HG--
extra : moz-landing-system : lando
2020-03-06 21:04:58 +00:00
Boris Zbarsky 0082f55dee Bug 1618011 part 7. Switch most error messages used in bindings to having a method name prefix. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D64888

--HG--
extra : moz-landing-system : lando
2020-03-06 23:05:16 +00:00
Boris Zbarsky 61e0515f43 Bug 1618011 part 6. Pass a BindingCallContext (if neded) and source description to primitive conversions. r=peterv
The BindingCallContext tracks what method the conversion is for, and the source
description is how the primitive is involved in that method (e.g. "argument 5").

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

--HG--
extra : moz-landing-system : lando
2020-03-06 23:05:16 +00:00
Boris Zbarsky e322a9eb2f Bug 1618011 part 4. Pass a BindingCallContext to dictionary Init() methods. r=peterv
Dictionaries always need a BindingCallContext, because they can throw
MSG_NOT_DICTIONARY from Init().

We allow non-binding callsites to pass JSContext*, in which case they will not
get quite-as-nice error reporting.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 23:05:15 +00:00
Boris Zbarsky f612519949 Bug 1618011 part 2. Add a BindingCallContext class. r=peterv
We instantiate this class in various binding methods.  Future patches will make
use of it to throw errors.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 23:05:15 +00:00
Boris Chiou 0a08960bb5 Bug 1612891 - Use IgnoredErrorResult as the parsing easing error result. r=bzbarsky
IgnoredErrorResult works well as the auto suppressor class and it's
cleaner.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 21:04:07 +00:00
Arthur Iakab 14247fb057 Backed out 11 changesets (bug 1618011)for Linting failure.
CLOSED TREE

Backed out changeset 8b11ddd8999f (bug 1618011)
Backed out changeset 11df2f359473 (bug 1618011)
Backed out changeset c50121035d50 (bug 1618011)
Backed out changeset 8b8c4c60c34b (bug 1618011)
Backed out changeset b01f8c66110b (bug 1618011)
Backed out changeset 433fdf04058c (bug 1618011)
Backed out changeset 29a9227d08ac (bug 1618011)
Backed out changeset b2dfa2e66d24 (bug 1618011)
Backed out changeset 85650ee945c4 (bug 1618011)
Backed out changeset 278a213e5304 (bug 1618011)
Backed out changeset 9119aeb72ea4 (bug 1618011)
2020-03-07 00:15:57 +02:00
Boris Zbarsky bc068d0e54 Bug 1618011 part 7. Switch most error messages used in bindings to having a method name prefix. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D64888

--HG--
extra : moz-landing-system : lando
2020-03-06 20:39:10 +00:00
Boris Zbarsky 0a681b4df5 Bug 1618011 part 6. Pass a BindingCallContext (if neded) and source description to primitive conversions. r=peterv
The BindingCallContext tracks what method the conversion is for, and the source
description is how the primitive is involved in that method (e.g. "argument 5").

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

--HG--
extra : moz-landing-system : lando
2020-03-06 20:38:55 +00:00
Boris Zbarsky 242fd385c0 Bug 1618011 part 4. Pass a BindingCallContext to dictionary Init() methods. r=peterv
Dictionaries always need a BindingCallContext, because they can throw
MSG_NOT_DICTIONARY from Init().

We allow non-binding callsites to pass JSContext*, in which case they will not
get quite-as-nice error reporting.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 20:30:52 +00:00
Boris Zbarsky 0dbc444246 Bug 1618011 part 2. Add a BindingCallContext class. r=peterv
We instantiate this class in various binding methods.  Future patches will make
use of it to throw errors.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 20:30:22 +00:00
Boris Chiou 73f98d78b8 Bug 1619276 - Fix the order of the setting of Keyframe options. r=smaug,birtles
Besides, we add the pref setup in the webidl, so if we turn it off,
iterationComposite and composite will always be the default values.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 09:42:55 +00:00
Brian Birtles 905f2e1beb Bug 1619516 - Flush styles for getTiming and getComputedTiming for an effect associated with a CSS animation; r=boris
As per [1] we should return the fully-updated result here.

[1] https://drafts.csswg.org/css-animations-2/#requirements-on-pending-style-changes

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

--HG--
extra : moz-landing-system : lando
2020-03-04 19:02:47 +00:00
Boris Chiou 2e90e1b8ec Bug 1612891 - Suppress parsing easing error in early returns of ConvertKeyframeSequence. r=birtles
We add a stack based class and supress the exception of parsing easing
in the destructor, to avoid hitting the potential assertions.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 01:03:16 +00:00
Brian Birtles 21f07a041a Bug 1459536 - Replace CSSAnimation interaction with animation-play-state with a simpler "once overridden always overridden" approach; r=boris
This corresponds to the approach outlined in https://github.com/w3c/csswg-drafts/issues/4822

Specifically:

* Calling play() / pause() always triggers the "animation play state is being
  overridden by the API" behavior (unless the method throws an exception).

* Setting the startTime or calling reverse() only triggers this override
  behavior if it results in a change between a playState that is paused and a
  playState that is not paused.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 00:38:30 +00:00
Brian Birtles 0d27d97f36 Bug 1459536 - Allow CSS animation properties to be overridden by replacing the effect; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D65099

--HG--
extra : moz-landing-system : lando
2020-03-04 00:37:39 +00:00
Brian Birtles ef42e66fc8 Bug 1459536 - Allow CSS animation timing properties to be overridden using the Web Animations API; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D65098

--HG--
extra : moz-landing-system : lando
2020-03-04 00:36:46 +00:00
Brian Birtles c6444a7c4f Bug 1459536 - Ignore subsequent changes to @keyframes after calling setKeyframes; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D65097

--HG--
extra : moz-landing-system : lando
2020-03-04 00:35:52 +00:00
Hiroyuki Ikezoe f0b17ecc30 Bug 1510120 - Block running background-color animation on the compositor if there is any current-color keyframe. r=boris,flod
Differential Revision: https://phabricator.services.mozilla.com/D63629

--HG--
extra : moz-landing-system : lando
2020-03-03 21:48:01 +00:00
Brian Birtles 1ed864c5e1 Bug 1292001 - Drop ElementPropertyTransition; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D64523

--HG--
extra : moz-landing-system : lando
2020-03-02 06:40:31 +00:00
Brian Birtles ca0cb641eb Bug 1292001 - Move transition start value replacing behavior to the CSSTransition; r=boris
This is needed so that later we can make the effect of transitions replaceable.

Note that the test added in this patch will fail without the code changes in
this patch.

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

--HG--
rename : layout/style/test/test_transitions_replacement_on_busy_frame.html => layout/style/test/test_transitions_replacement_with_setKeyframes.html
extra : moz-landing-system : lando
2020-03-02 06:38:36 +00:00
Brian Birtles d9c4b35ee9 Bug 1292001 - Move transition-timing-function from keyframe easing to effect easing; r=boris
This is yet to be specified although it is already tested in CSS Transitions
WPT. It is also needed in order to produce the expected reversing behavior when
CSSTransition's keyframes are replaced.

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

--HG--
extra : moz-landing-system : lando
2020-03-02 06:35:05 +00:00
Oana Pop Rus feeffe566a Backed out 7 changesets (bug 1292001) for devtools failures in browser_animation_playerState.js on a CLOSED TREE
Backed out changeset 7ecffcc58457 (bug 1292001)
Backed out changeset 111e88a3f2a9 (bug 1292001)
Backed out changeset 851b689f6593 (bug 1292001)
Backed out changeset a94cb2c7e518 (bug 1292001)
Backed out changeset 4f12b279af44 (bug 1292001)
Backed out changeset f35daa06e7b6 (bug 1292001)
Backed out changeset 9dbefe504221 (bug 1292001)
2020-03-02 08:16:58 +02:00
Brian Birtles 9629d8ed3d Bug 1292001 - Drop ElementPropertyTransition; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D64523

--HG--
extra : moz-landing-system : lando
2020-03-02 00:41:35 +00:00
Brian Birtles cace4bbef4 Bug 1292001 - Move transition start value replacing behavior to the CSSTransition; r=boris
This is needed so that later we can make the effect of transitions replaceable.

Note that the test added in this patch will fail without the code changes in
this patch.

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

--HG--
rename : layout/style/test/test_transitions_replacement_on_busy_frame.html => layout/style/test/test_transitions_replacement_with_setKeyframes.html
extra : moz-landing-system : lando
2020-03-02 00:40:05 +00:00