Closed Bug 652014 Opened 11 years ago Closed 11 years ago

Add diagnostic for nested at-rules so we give an error when @-moz-keyframes is inside @media


(Core :: CSS Parsing and Computation, defect, P3)






(Reporter: divya.manian, Assigned: dbaron)





(1 file)

User-Agent:       Opera/9.80 (Macintosh; Intel Mac OS X 10.6.6; U; en) Presto/2.8.131 Version/11.50
Build Identifier: 5.0a2

When CSS animations are used outside of media queries they work, but fail when used within a media query

Reproducible: Always

Steps to Reproduce:
1. Click on the link
2. The loader should rotate like
3. Loader fails to rotate
Actual Results:  
No animation

Expected Results:  
The CSS animations get applied.
Component: General → Style System (CSS)
Product: Firefox → Core
QA Contact: general → style-system
Version: unspecified → 5 Branch
CSS syntax does not allow nesting @-rules.  So the @-moz-keyframes rule inside @media is ignored.

We should probably report an error to the error console in this situation instead of silently skipping the rule...
Version: 5 Branch → Trunk
I think I have a patch for the diagnostic, but the testcase seems to have been modified...
Oh, wait, the link in comment 0 is different from the one in the URL field.
Attached patch add diagnosticSplinter Review
Assignee: nobody → dbaron
Ever confirmed: true
Attachment #527699 - Flags: review?(bzbarsky)
Boris, that doesn't seem right.  According to
<>, an @-rule can contain more @-rules:

The 'at-rule' construction produces a 'block'.
The 'block' construction can produce the at-rule construction (indirectly).

And section 4.1.5 doesn't appear to give any more specific contraindications.
Summary: CSS animations fail within media queries → Add diagnostic for nested at-rules so we give an error when @-moz-keyframes is inside @media is very clear that @media rules contain only ruleset. also says explicitly:
  # At-rules inside @media are invalid in CSS2.1.
Ah, indeed.  The basic CSS2.1 grammar does not disallow nesting @-rules in theory, but it does disallow actually putting @-rules inside any @-rules CSS2.1 defines (that just being @media).
Comment on attachment 527699 [details] [diff] [review]
add diagnostic

Attachment #527699 - Flags: review?(bzbarsky) → review+
Closed: 11 years ago
OS: Mac OS X → All
Priority: -- → P3
Hardware: x86 → All
Resolution: --- → FIXED
Target Milestone: --- → mozilla6
Duplicate of this bug: 669839
You need to log in before you can comment on or make changes to this bug.