Re: @media all minified?

On Wednesday 09 July 2008 17:06, Boris Zbarsky wrote:
> see wrote:
> > just checked the CSS grammar again, the tokenizer is defined here
> > as:
> >
> >     @{M}{E}{D}{I}{A}    {return MEDIA_SYM;}
> >
> > Safari seems to be working right here then?
>
> If you cannot create @-rules whose name starts with "media", that
> seems like a bug in the grammar to me.
>
> So either there is a bug in webkit here, or a bug in the grammar, but
> in either case I would not expect "@mediall { ... }" to act like
> "@media all { ... }".

There are two grammars in the CSS 2.1 spec: the generic CSS grammar and 
a grammar that describes just CSS 2.1. To tokenize a CSS file, only the 
first one is correct.

The second one is only useful on a file that you already know to be 
nothing but CSS 2.1. It will not parse CSS3 features, such as 
@namespace or [foo^=bar] correctly, even though a CSS 2.1 
implementation is required to parse (and ignore) them.

Both "@media" and "@mediaall" are ATKEYWORDs in CSS. The former has a 
defined meaning in level 2 and higher, the latter is not yet defined in 
CSS. All implementations must therefore skip it, together with the 
block that follows. If WebKit doesn't do that, it has a bug.



Bert
-- 
  Bert Bos                                ( W 3 C ) http://www.w3.org/
  http://www.w3.org/people/bos                               W3C/ERCIM
  bert@w3.org                             2004 Rt des Lucioles / BP 93
  +33 (0)4 92 38 76 92            06902 Sophia Antipolis Cedex, France

Received on Wednesday, 9 July 2008 15:59:42 UTC