Closed Bug 1506988 Opened 6 years ago Closed 6 years ago

Don't generate change hint in AddLayerChangesForAnimation if the animation is blocked running on the compositor

Categories

(Core :: DOM: Animation, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: hiro, Assigned: hiro)

References

Details

Attachments

(5 files, 1 obsolete file)

When I woke up this morning, I noticed this fact. And this change should fix intermittent failures bug 1506758.
Assignee: nobody → hikezoe
This is just an optimization regardless of the fix improper change hint generated by blocked animations.
This version takes an EffectSet to avoid lookup the hashtable for the EffectSet. The argument should be `EffectSet&` instead of `const EffectSet&` since FindAnimationsForCompositor might call UpdateCascadeResults which mutates the EffectSet. Depends on D12366
Without this change an assertion checking IsInStyleRefresh() in EffectCompositor::PostRestyleForAnimation will be hit when we call FindAnimationsForCompositor from RestyleManager::DoProcessPendingRestyles that will be introduced in a subsequent commit in this series. I wrote a crash test which causes an assertion in KeyframeEffect::CanThrottle() without the subsequent commit, but we need more work in display item stuff to make the assertion won't happen (bug 1508466). Depends on D12367
Now we no longer update the corresponding display items for the animations that are prevented from running on the compositor if the animations themselves don't generate any change hints, e.g the same value is specified in both 'from' and 'to' keyframes. So that we can enable the reftests that we had been suffering from continuous MozAfterPaint events. Depends on D12368
Now the function takes AnimationPerformanceWarning::Type* as an optional argument for the case where we don't need to output the warning. Depends on D12368
Attachment #9026253 - Attachment is obsolete: true
Attachment #9026306 - Attachment description: Bug 1506988 - Factor out IsMatchForCompositor. r?birtles! → Bug 1506988 - Move IsMatchForCompositor to KeyframeEffect. r?birtles!
Attachment #9026255 - Attachment description: Bug 1506988 - Don't incorpolate properties that are prevented from running on the compositor in GetPropertiesForCompositor. r?birtles! → Bug 1506988 - Don't incorporate properties that are prevented from running on the compositor in GetPropertiesForCompositor. r?birtles!
Attachment #9026305 - Attachment description: Bug 1506988 - Factor out EffectCompositor::IsCompositorAnimationsBlockedOnFrame. r?birtles! → Bug 1506988 - Factor out EffectCompositor::AllowCompositorAnimationsOnFrame. r?birtles!
Pushed by hikezoe@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f111ecab40ad Skip applying change hint if we already have it in AddLayerChangesForAnimation. r=birtles https://hg.mozilla.org/integration/autoland/rev/6f8a7015b448 Set the important rule change flag when a newly important rule is inserted. r=birtles https://hg.mozilla.org/integration/autoland/rev/eb0439a6c56e Factor out EffectCompositor::AllowCompositorAnimationsOnFrame. r=birtles https://hg.mozilla.org/integration/autoland/rev/d639382fc76a Move IsMatchForCompositor to KeyframeEffect. r=birtles https://hg.mozilla.org/integration/autoland/rev/fc274ec5515e Don't incorporate properties that are prevented from running on the compositor in GetPropertiesForCompositor. r=birtles
No longer blocks: 1506860
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: