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

2357 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 3d092ba60e Bug 1775062 - Implement ipdl reads without needing default ctors. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D149743
2023-02-04 11:12:36 +00:00
Boris Chiou 933cc122ea Bug 1809005 - Make scroll-timeline-{name|axis} be a coordinating list property group. r=emilio
Named scroll progress timelines are declared in the coordinated value list
constructed from the longhands of the scroll-timeline shorthand property,
which form a coordinating list property group with scroll-timeline-name as
the coordinating list base property.

In the meantime, we also update its shorthand to match the current spec.

Differential Revision: https://phabricator.services.mozilla.com/D166596
2023-01-26 23:20:55 +00:00
Boris Chiou 28a7c5e6b7 Bug 1807966 - Avoid infinite output progress after applying the easing function. r=emilio
The output progress of easing functions could be inf or -inf, per spec,
https://drafts.csswg.org/css-easing-2/#output-progress-value.

But we should avoid using infinity to calculate interpolation or use
the infinite progress in Web Animations API, per the spec issue comments:
https://github.com/w3c/csswg-drafts/issues/8344#issuecomment-1399033481

Differential Revision: https://phabricator.services.mozilla.com/D167342
2023-01-23 22:02:23 +00:00
Adam Vandolder 868e17020e Bug 1809741 - commitStyles should enqueue attributeChanged for custom elements. r=edgar,emilio
Differential Revision: https://phabricator.services.mozilla.com/D166598
2023-01-19 01:55:03 +00:00
Emilio Cobos Álvarez d54a0b79fb Bug 1810876 - Throttle animations in opacity: 0 root. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D167146
2023-01-19 01:01:52 +00:00
Boris Chiou 38556e307d Bug 1807685 - Rename scroll-linked (animations) to scroll-driven (excluding WPT tests). r=dholbert
The spec is still using `Scroll-linked`, so we exclude the change of WPT tests.
I believe WPT will get updates once the spec doc is renamed.

Differential Revision: https://phabricator.services.mozilla.com/D165914
2023-01-04 00:50:45 +00:00
Boris Chiou f856c08cc3 Bug 1774505 - Preserve the progress of null timeline for print. r=hiro
We always use the document timeline of the cloned document, and clone the
paused animation with the preserved progress, even if the original
timeline is null.

Differential Revision: https://phabricator.services.mozilla.com/D164712
2022-12-16 02:28:02 +00:00
Andrew McCreight ce28c41da0 Bug 1805931, part 2 - Automated removal of uses of ROOT and UNROOT CC macros. r=smaug
As of the prior patch, these are no longer needed. I removed
these with a script, then ran clang-format on the files, then
manually reverted a few unrelated changed from the formatter.

Differential Revision: https://phabricator.services.mozilla.com/D164829
2022-12-15 19:45:01 +00:00
Nazım Can Altınova ee86610605 Bug 1803751 - Make some marker fields searchable and bump the profile version r=julienw
Differential Revision: https://phabricator.services.mozilla.com/D163714
2022-12-13 14:19:07 +00:00
Iulian Moraru e7e2922cb1 Backed out changeset 27f8690ebc50 (bug 1803751) for causing xpcshell failures on test_feature_mainthreadio.js. CLOSED TREE 2022-12-12 17:43:23 +02:00
Nazım Can Altınova 0d5987410a Bug 1803751 - Make some marker fields searchable and bump the profile version r=julienw
Differential Revision: https://phabricator.services.mozilla.com/D163714
2022-12-12 13:11:56 +00:00
Tom Ritter 161c40d6e2 Bug 1778510: Cut over AnimationEffect to new fine-grained TimerPrecision calls r=birtles
Depends on D151303

Differential Revision: https://phabricator.services.mozilla.com/D151304
2022-11-29 13:34:18 +00:00
Tom Ritter 8e9f7aca70 Bug 1778510: Add Timer Caller Type to AnimationTimeline r=birtles
Depends on D151301

Differential Revision: https://phabricator.services.mozilla.com/D151302
2022-11-29 13:34:17 +00:00
Tom Ritter a6f9cf1d33 Bug 1778510: Use the Timer Caller Type in Animation's timestamp code r=birtles
Depends on D151300

Differential Revision: https://phabricator.services.mozilla.com/D151301
2022-11-29 13:34:17 +00:00
Tom Ritter 3949bc4d55 Bug 1778510: Add a Timer Caller Type to Animation r=birtles
This will be needed for the various Timestamp related
members of Animations.

Depends on D151299

Differential Revision: https://phabricator.services.mozilla.com/D151300
2022-11-29 13:34:17 +00:00
Botond Ballo 68c71a503c Bug 1802225 - Remove Layers.{h,cpp}. r=tnikkel,geckoview-reviewers,jgilbert,media-playback-reviewers,padenot,m_kato
Where appropriate, `#include "Layers.h"` is replaced with
more specific inclusions.

Differential Revision: https://phabricator.services.mozilla.com/D162934
2022-11-29 01:52:03 +00:00
Butkovits Atila cb853b7f77 Backed out 33 changesets (bug 1778510) for causing build bustages at nsIGlobalObject.h. CLOSED TREE
Backed out changeset f2a53c9e497c
Backed out changeset 59350ca6f3f2 (bug 1778510)
Backed out changeset abbba7e72b57 (bug 1778510)
Backed out changeset 6cf7473afae8 (bug 1778510)
Backed out changeset 74fb5fed93ea (bug 1778510)
Backed out changeset 5b5dc70cdd0a (bug 1778510)
Backed out changeset ff93191cafd2 (bug 1778510)
Backed out changeset 39cc006b610c (bug 1778510)
Backed out changeset dfaef3ad17a9 (bug 1778510)
Backed out changeset 8fbabeb8244b (bug 1778510)
Backed out changeset 45051b62e3f1 (bug 1778510)
Backed out changeset 86c0923fd81f (bug 1778510)
Backed out changeset a49c0f69d519 (bug 1778510)
Backed out changeset cfad733d4aaf (bug 1778510)
Backed out changeset df6d0fe89d5b (bug 1778510)
Backed out changeset 704db76eab17 (bug 1778510)
Backed out changeset 0651c128e369 (bug 1778510)
Backed out changeset 1e650de647c0 (bug 1778510)
Backed out changeset fa15a3572741 (bug 1778510)
Backed out changeset 4ceffd409eae (bug 1778510)
Backed out changeset 47db43142c62 (bug 1778510)
Backed out changeset ebb21153aaac (bug 1778510)
Backed out changeset a87eaaec3f9c (bug 1778510)
Backed out changeset 43ad5ee21f79 (bug 1778510)
Backed out changeset 5f20af8e1263 (bug 1778510)
Backed out changeset b78576875db0 (bug 1778510)
Backed out changeset d801fdeac90b (bug 1778510)
Backed out changeset 5af032c628c0 (bug 1778510)
Backed out changeset 86aa59de11b4 (bug 1778510)
Backed out changeset 58642357a19c (bug 1778510)
Backed out changeset c575e824e291 (bug 1778510)
Backed out changeset 32a358de4843 (bug 1778510)
Backed out changeset 40e0708c01e7 (bug 1778510)
2022-11-28 23:14:52 +02:00
Tom Ritter 1759e3416e Bug 1778510: Cut over AnimationEffect to new fine-grained TimerPrecision calls r=birtles
Depends on D151303

Differential Revision: https://phabricator.services.mozilla.com/D151304
2022-11-28 18:04:10 +00:00
Tom Ritter 12d8047690 Bug 1778510: Add Timer Caller Type to AnimationTimeline r=birtles
Depends on D151301

Differential Revision: https://phabricator.services.mozilla.com/D151302
2022-11-28 18:04:09 +00:00
Tom Ritter 9e5db62471 Bug 1778510: Use the Timer Caller Type in Animation's timestamp code r=birtles
Depends on D151300

Differential Revision: https://phabricator.services.mozilla.com/D151301
2022-11-28 18:04:09 +00:00
Tom Ritter 3376fbf283 Bug 1778510: Add a Timer Caller Type to Animation r=birtles
This will be needed for the various Timestamp related
members of Animations.

Depends on D151299

Differential Revision: https://phabricator.services.mozilla.com/D151300
2022-11-28 18:04:08 +00:00
Cosmin Sabou d245f666b9 Backed out 33 changesets (bug 1778510) for causing bp-hybrid bustages on nsIPrincipal.h. CLOSED TREE
Backed out changeset 282f589ede4a
Backed out changeset e23d03ba5a89 (bug 1778510)
Backed out changeset cbdb34cf7c8d (bug 1778510)
Backed out changeset d9a54521f3fb (bug 1778510)
Backed out changeset f5b7f8ce38b0 (bug 1778510)
Backed out changeset eb64607765a9 (bug 1778510)
Backed out changeset 18291e692834 (bug 1778510)
Backed out changeset bb71cc94a8be (bug 1778510)
Backed out changeset 507e84e1dafe (bug 1778510)
Backed out changeset 6d42e7a083ac (bug 1778510)
Backed out changeset 53799e6a46dd (bug 1778510)
Backed out changeset ff20d709839a (bug 1778510)
Backed out changeset 328d4d2df591 (bug 1778510)
Backed out changeset 9ba44fd8a440 (bug 1778510)
Backed out changeset eb1b7e30e519 (bug 1778510)
Backed out changeset c0927de6153b (bug 1778510)
Backed out changeset 02a306acd093 (bug 1778510)
Backed out changeset 2c5eecc4ad4c (bug 1778510)
Backed out changeset 38a9f45c9621 (bug 1778510)
Backed out changeset 35b7c7df62ce (bug 1778510)
Backed out changeset 187d71f42593 (bug 1778510)
Backed out changeset 450f4ccd6cd0 (bug 1778510)
Backed out changeset 915149e27da0 (bug 1778510)
Backed out changeset 9c6e85369f15 (bug 1778510)
Backed out changeset c6a9fe0ce713 (bug 1778510)
Backed out changeset a2f00462157e (bug 1778510)
Backed out changeset 5278e40b80c3 (bug 1778510)
Backed out changeset dba220581d93 (bug 1778510)
Backed out changeset 17a63044b0dc (bug 1778510)
Backed out changeset 68d607aaa121 (bug 1778510)
Backed out changeset e93004f91f6f (bug 1778510)
Backed out changeset 41d6d9f889e1 (bug 1778510)
Backed out changeset 28ac62019086 (bug 1778510)
2022-11-28 07:34:46 +02:00
Tom Ritter 6c48b97a7b Bug 1778510: Cut over AnimationEffect to new fine-grained TimerPrecision calls r=birtles
Depends on D151303

Differential Revision: https://phabricator.services.mozilla.com/D151304
2022-11-28 04:21:29 +00:00
Tom Ritter c893cd6a46 Bug 1778510: Add Timer Caller Type to AnimationTimeline r=birtles
Depends on D151301

Differential Revision: https://phabricator.services.mozilla.com/D151302
2022-11-28 04:21:29 +00:00
Tom Ritter 2dcb5852a8 Bug 1778510: Use the Timer Caller Type in Animation's timestamp code r=birtles
Depends on D151300

Differential Revision: https://phabricator.services.mozilla.com/D151301
2022-11-28 04:21:28 +00:00
Tom Ritter 59f87c2eb7 Bug 1778510: Add a Timer Caller Type to Animation r=birtles
This will be needed for the various Timestamp related
members of Animations.

Depends on D151299

Differential Revision: https://phabricator.services.mozilla.com/D151300
2022-11-28 04:21:28 +00:00
Boris Chiou 5f4447e66d Bug 1799064 - Avoid potential call PostUpdate() twice in SetTimeline(). r=emilio
Basically, in SetTimelineNoUpdate(), we shouldn't call PostUpdate(). So we
shouldn't call SetCurrentTime() directly.

There is no behavior change. Just make sure we don't PostUpdate twice
while updating an existing CSS animation via changing animation-timeline.

Differential Revision: https://phabricator.services.mozilla.com/D161245
2022-11-04 14:05:43 +00:00
Boris Chiou 71eaeb877e Bug 1774275 - Support the basic dynamic change among document-timeline, scroll-timeline, and null timeline. r=hiro
This patch tries to let SetTimelineNoUpdate() and
SilentlySetCurrentTime() be closer to the spec,
https://drafts.csswg.org/web-animations-2/#setting-the-timeline, and
https://drafts.csswg.org/web-animations-2/#silently-set-the-current-time

Besides, I update the test in scroll-timeline-dynamic.tentative.html
when changing the timeline from a scroll-timeline to none. Per the spec,
we should preserve the progress (note: step 10 in
https://drafts.csswg.org/web-animations/#setting-the-timeline).

Differential Revision: https://phabricator.services.mozilla.com/D159656
2022-11-01 01:49:36 +00:00
Boris Chiou 722dd73447 Bug 1771282 - Introduce ScrollTimelineAnimationTracker. r=hiro
It's possible to change the timeline if the animation is in pending. So
we still need an animation tracker to track the scroll-linked
animations. Besides, per the spec, we should keep this animation in
pending if its timeline is inactive. So in this patch, we always put the
scroll-linked animations into ScrollTimelineAnimationTracker, and if we
change the timeline but the animation is still in pending, we move the
animation into the correct animation tracker if needed.

Using two different animation trackers because we would like to trigger
scroll-linked animations after frame construction and reflow,
and don't want to ensure the paint is scheduled.

Note:
1. All tests in scroll-timeline-dynamic.tentative.html are failed. We
   will fix them in Bug 1774275.
2. Drop `animation-duration: infinite` from
   progress-based-animation-animation-longhand-properties.tentative.html,
   because infinite is not defined in animation-duration in [css-animations-1].

Differential Revision: https://phabricator.services.mozilla.com/D159650
2022-10-31 23:25:17 +00:00
Sandor Molnar 6df873bdfb Backed out changeset 5ace811f7315 (bug 1771282) for causing bustages in dist/include/mozilla/RefPtr.h CLOSED TREE 2022-10-31 18:17:50 +02:00
Boris Chiou 195cc77578 Bug 1771282 - Introduce ScrollTimelineAnimationTracker. r=hiro
It's possible to change the timeline if the animation is in pending. So
we still need an animation tracker to track the scroll-linked
animations. Besides, per the spec, we should keep this animation in
pending if its timeline is inactive. So in this patch, we always put the
scroll-linked animations into ScrollTimelineAnimationTracker, and if we
change the timeline but the animation is still in pending, we move the
animation into the correct animation tracker if needed.

Using two different animation trackers because we would like to trigger
scroll-linked animations after frame construction and reflow,
and don't want to ensure the paint is scheduled.

Note:
1. All tests in scroll-timeline-dynamic.tentative.html are failed. We
   will fix them in Bug 1774275.
2. Drop `animation-duration: infinite` from
   progress-based-animation-animation-longhand-properties.tentative.html,
   because infinite is not defined in animation-duration in [css-animations-1].

Differential Revision: https://phabricator.services.mozilla.com/D159650
2022-10-31 15:31:57 +00:00
Hiroyuki Ikezoe 8d11692199 Bug 1783021 - Remove animation related properties before nulling out nsINode::mParent. r=smaug,jdescottes
Without this change we can't tell properly whether the element in question is the
shadow root or not in animation mutation observer, specifically at a
ShadowRoot::FromNote call in ForEachAncestorObserver [1].

The test case in this change is based on a test case created by Julian Descottes [2].

[1] https://searchfox.org/mozilla-central/rev/b1e5f2c7c96be36974262551978d54f457db2cae/dom/base/MutationObservers.cpp#67
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1783021#c9

Differential Revision: https://phabricator.services.mozilla.com/D157881
2022-10-04 04:41:52 +00:00
Emilio Cobos Álvarez 235b091ad3 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
2022-09-28 02:56:41 +00:00
Butkovits Atila 7b7cfe8e1b Backed out changeset 503c84054f68 (bug 1665476) for causing mochitest mass failures. CLOSED TREE 2022-09-27 13:04:54 +03:00
Emilio Cobos Álvarez 8ed6f78bb0 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
2022-09-27 08:18:58 +00:00
Noemi Erli 3e02ba3f69 Backed out changeset 1214807cfb19 (bug 1783021) for causing failures in test_animation_observers_sync.html CLOSED TREE 2022-09-23 05:25:07 +03:00
Hiroyuki Ikezoe d007be468d Bug 1783021 - Remove animation related properties before nulling out nsINode::mParent. r=smaug,jdescottes
Without this change we can't tell properly whether the element in question is the
shadow root or not in animation mutation observer, specifically at a
ShadowRoot::FromNote call in ForEachAncestorObserver [1].

The test case in this change is based on a test case created by Julian Descottes [2].

[1] https://searchfox.org/mozilla-central/rev/b1e5f2c7c96be36974262551978d54f457db2cae/dom/base/MutationObservers.cpp#67
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1783021#c9

Differential Revision: https://phabricator.services.mozilla.com/D157881
2022-09-23 01:52:07 +00:00
Boris Chiou 8250077606 Bug 1789447 - Part 1: Drop the usage of @scroll-timeline from animation builder. r=hiro
@scroll-timeline rule was removed from the spec and wpt, so it's safe to
remove this from Gecko.

Differential Revision: https://phabricator.services.mozilla.com/D157248
2022-09-22 03:47:11 +00:00
Boris Chiou 38cba0f692 Bug 1776077 - Fix delay phase for scroll animations in the compositor thread. r=hiro
Basically, we need to detect a case if there is only scroll animations
which are not sampled because it goes back to before phase. If this
happens, we set ScrollToDelay to |mReason| in the returned value.

Without this patch, the visual result is intermittent because it
is possible that there are new animations arrived at the moment when
scrolling from active phase to before phase.

We don't have a test for after phase because we don't support end delay
for scroll animations now. However, although we set the adjusted fill, we may
still need this in the future so let's keep the check of after phase for now.

Differential Revision: https://phabricator.services.mozilla.com/D155108
2022-09-22 00:06:10 +00:00
Emilio Cobos Álvarez a11c622dc7 Bug 1786147 - Remove layout.css.webkit-line-clamp.enabled, and add a new pref to apply line-clamp to all BFCs. r=dholbert
It's always true, so remove it.

Add another pref to allow -webkit-line-clamp to work on all blocks
rather than just legacy -webkit-boxes, which seems something we should
try to look into, eventually.

Depends on D155181

Differential Revision: https://phabricator.services.mozilla.com/D155182
2022-09-07 23:57:18 +00:00
Olli Pettay 93acdfad59 Bug 1777574, automate CC zone handling, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D155084
2022-09-07 11:22:51 +00:00
Mark Banner 783a2f2187 Bug 1788037 - Turn on ESLint rule for prefer-boolean-length-check for dom. r=asuth,karlt
Differential Revision: https://phabricator.services.mozilla.com/D155965
2022-09-02 11:05:17 +00:00
Cosmin Sabou 0e21c4a31c Bug 1784931 - Disable mozilla/test_restyles.html on linux tsan and android debug for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D155192
2022-08-22 12:07:25 +00:00
Daniel Holbert 4209467c50 Bug 1786210: Remove mentions of unused pref gfx.font_loader.interval. r=emilio
This patch doesn't impact behavior.

The pref "gfx.font_loader.interval" used to control certain aspects of
font-loading behavior, but that code has evolved and we no longer read the
value of this pref anywhere.

Differential Revision: https://phabricator.services.mozilla.com/D155183
2022-08-21 23:45:56 +00:00
Boris Chiou 51b7446d62 Bug 1134538 - Avoid the computation of inf - inf for the interval end time. r=birtles
If both end time and start delay are Infinity, the result of interval
end time is undefined, so now we return zero duration to avoid the
assertion in StickyTimeDuration.

Differential Revision: https://phabricator.services.mozilla.com/D153818
2022-08-08 23:34:05 +00:00
Mark Banner 7428be4a86 Bug 1782008 - Remove now unnecessary .eslintrc.js files. r=webcompat-reviewers,extension-reviewers,media-playback-reviewers,pip-reviewers,denschub,rpl,alwu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D152736
2022-08-03 11:16:20 +00:00
Hiroyuki Ikezoe 25fb45fac2 Bug 1334575 - Treat active duration larger than INT64_MAX as infinite. r=boris
We store active duration as int64_t, multiplying a finite duration by a finite
iteration count would result over INT64_MAX, it will be represented as a
negative integer value. Both animation duration and interation count should
never be negative, thus multiplying them also should be positive so that
treating such kind of overflowed values as infinite would be more reasonable
than treating it as negative.

Differential Revision: https://phabricator.services.mozilla.com/D152721
2022-07-27 22:57:34 +00:00
Hiroyuki Ikezoe 333b85c0f1 Bug 1271788 - Skip calculating end time if the active duration is infinite. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D152720
2022-07-26 23:06:30 +00:00
Hiroyuki Ikezoe 001dcd4088 Bug 1271788 - Factor out the calculations for before-active-boundary-time and active-after-boundary-time. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D152719
2022-07-26 23:06:29 +00:00
Emilio Cobos Álvarez d98aff87e0 Bug 1781140 - Remove nsTimingFunction and ComputedTimingFunction. r=dshin
They're simple wrappers of StyleComputedTimingFunction so we can remove
them.

Differential Revision: https://phabricator.services.mozilla.com/D152700
2022-07-26 14:49:02 +00:00