The default bug view has changed. See this FAQ.

css3-animations should not override user or UA !important declarations

RESOLVED FIXED in Firefox 5

Status

()

Core
CSS Parsing and Computation
P2
normal
RESOLVED FIXED
6 years ago
2 years ago

People

(Reporter: dbaron, Assigned: dbaron)

Tracking

({dev-doc-complete})

Trunk
mozilla6
dev-doc-complete
Points:
---

Firefox Tracking Flags

(firefox5+ fixed, status2.0 unaffected, status1.9.2 unaffected, status1.9.1 unaffected)

Details

(Whiteboard: [DocArea=CSS])

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
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.
Attachment #529028 - Flags: review?(bzbarsky)
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.
Attachment #529028 - Flags: review?(bzbarsky) → review+
(Assignee)

Comment 2

6 years ago
https://hg.mozilla.org/mozilla-central/rev/068d876996c6
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
status1.9.1: --- → unaffected
status1.9.2: --- → unaffected
status2.0: --- → unaffected
status-firefox5: --- → affected
Resolution: --- → FIXED
Target Milestone: mozilla5 → mozilla6
(Assignee)

Comment 3

6 years ago
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.
Attachment #529028 - Flags: approval-mozilla-aurora?
tracking-firefox5: ? → +
Comment on attachment 529028 [details] [diff] [review]
patch

dbaron asserts this is safe, and an important part of shipping animations with confidence.
Attachment #529028 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
(Assignee)

Comment 5

6 years ago
https://hg.mozilla.org/releases/mozilla-aurora/rev/20c138133cee
status-firefox5: affected → fixed
Keywords: dev-doc-needed
Depends on: 822766
Whiteboard: [DocArea=CSS]
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
Keywords: dev-doc-needed → dev-doc-complete
You need to log in before you can comment on or make changes to this bug.