Closed Bug 1742393 Opened 3 years ago Closed 3 years ago

Animations on pseudos other than ::before/::after/::marker work but aren't removed correctly.

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox-esr91 --- wontfix
firefox94 --- wontfix
firefox95 --- wontfix
firefox96 --- fixed

People

(Reporter: emilio, Assigned: emilio)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

See bug 1736311 comment 9 for an example of this.

Attached file Testcase.

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.

Do you know what's the best way to add a test for this? It's a rather long-standing regression (from https://github.com/servo/servo/pull/17793 / bug 1367278).

Flags: needinfo?(hikezoe.birchill)
Flags: needinfo?(boris.chiou)
Regressed by: 1367278
Has Regression Range: --- → yes

So the problem is animation on ::-moz-progress-bar element keeps restyling even if the animation has been finished, right?

Then adding the case in file_restyles.hml and calling observeStyling(5) after the animation should have been finished and checking the number of the returned value of the observeStyling would be sufficient.

Flags: needinfo?(hikezoe.birchill)

(In reply to Hiroyuki Ikezoe (:hiro) from comment #4)

So the problem is animation on ::-moz-progress-bar element keeps restyling even if the animation has been finished, right?

Then adding the case in file_restyles.hml and calling observeStyling(5) after the animation should have been finished and checking the number of the returned value of the observeStyling would be sufficient.

Drop my ni because hiro provided a way to test this. Thanks.

Flags: needinfo?(boris.chiou)

The Bugbug bot thinks this bug is a defect, but please change it back in case of error.

Type: task → defect

Set release status flags based on info from the regressing bug 1367278

Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/782636a5bd81 Correctly report animation status of pseudo-elements that are not stored in the parent element. r=hiro
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: