Created attachment 529028 [details] [diff] [review] patch One issue that came up in today's security review of css3-animations (and I think the only one that should definitely block release of css3-animations) is that animations should not override user or particularly UA !important declarations. This patch instead makes them appear as the most important thing in the author level, i.e., between override stylesheet !important rules and user !important rules. That doesn't necessarily make a huge amount of sense for animations used in a user style sheet, but I think use of animations in a user style sheet will be quite rare... and it's not *horrible*, just a little odd for that case.
Comment on attachment 529028 [details] [diff] [review] patch >+// If that rule changes, we should rewrite it to depend on a different rule. Please add a corresponding comment in forms.css? We should probably add an assert somewhere that there's only one animation rule for any given ruletree leaf.. We sort of assert that in ReplaceAnimationRule but maybe we could assert it in rulenode code directly to catch it earliet (e.g. we should never be hitting Transition when both |this| and the new rulenode are animation rules)? r=me with those changes.
Comment on attachment 529028 [details] [diff] [review] patch This changes how CSS animations interact with user and UA style sheet rules with !important -- it shouldn't be noticeable except in edge cases, but it's the most important item that came out of the security review for animations, and I'd be uncomfortable shipping animations without this change.
Comment on attachment 529028 [details] [diff] [review] patch dbaron asserts this is safe, and an important part of shipping animations with confidence.
5 years ago
A description for this behavior can be found at https://developer.mozilla.org/en-US/docs/Web/CSS/Cascade#Cascading_order and is explicitly noted again in the next section. Sebastian