Summary: | Incorrect KeyframesEffect generated for background | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Matt Perry <mattgperry> | ||||||||
Component: | Animations | Assignee: | Antoine Quint <graouts> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | darin, dino, graouts, graouts, koivisto, mattgperry, simon.fraser, webkit-bug-importer | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | Safari Technology Preview | ||||||||||
Hardware: | Mac (Intel) | ||||||||||
OS: | macOS 11 | ||||||||||
Attachments: |
|
Description
Matt Perry
2021-08-23 02:31:17 PDT
This is a pretty amazing bug, thanks for reporting, I will look into this. This happens when merging adjacent keyframes in processPropertyIndexedKeyframes(). I just found out that adding a shorthand property to a MutableStyleProperties expands it to longhands, and the merging code gets confused. Created attachment 450753 [details]
Patch
Created attachment 450754 [details]
Patch
Comment on attachment 450754 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=450754&action=review > Source/WebCore/animation/KeyframeEffect.cpp:402 > + previousKeyframe.style->mergeAndOverrideOnConflict(keyframe.style.get()); Might not need that get() (In reply to Darin Adler from comment #6) > Comment on attachment 450754 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=450754&action=review > > > Source/WebCore/animation/KeyframeEffect.cpp:402 > > + previousKeyframe.style->mergeAndOverrideOnConflict(keyframe.style.get()); > > Might not need that get() Indeed, will fix in commit. Created attachment 450762 [details]
Patch for landing
Committed r289048 (246755@main): <https://commits.webkit.org/246755@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 450762 [details]. |