stylo: Detect which animation values are context-sensitive

NEW
Unassigned

Status

()

Core
CSS Parsing and Computation
P2
normal
a month ago
18 days ago

People

(Reporter: birtles, Unassigned)

Tracking

(Blocks: 1 bug)

Trunk
Points:
---

Firefox Tracking Flags

(firefox55 affected)

Details

SMIL has this (horribly inefficient) setup where, if it sees an animation value that depends on its context (e.g. an em-based length), it sets a flag and recomputes it on each tick.

Unless we set this to true all the time at least at least the following tests from test_smilChangeAfterFrozen.xhtml fail:

    failed | Checking animated font-size=2em after updating context - got "20px", expected "40px"
    failed | Checking animated font-size=150% after updating context - got "15px", expected "30px"
    failed | Checking animated font-size > 20px after updating context
    failed | Checking animated font-weight = 900 after updating context - got 400, expected 900
    failed | Checking animated calc font-size == 24px after updating context - got 12, expected 24
Priority: -- → P2
status-firefox55: --- → affected
status-firefox57: affected → ---
I just looked this, the relevant part of gecko is here:
https://hg.mozilla.org/mozilla-central/file/120d8562d4a5/layout/style/StyleAnimationValue.cpp#l3497

I haven't looked into the implementation in detail, but hmm, I think we should not mimic this, we should figure out other ways.
You need to log in before you can comment on or make changes to this bug.