- From: Tab Atkins Jr.. via cvs-syncmail <cvsmail@w3.org>
- Date: Sun, 30 Oct 2011 18:06:54 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css-variables In directory hutz:/tmp/cvs-serv29752 Modified Files: Overview.html Overview.src.html Log Message: Removed the entire grammar section and most of the API section, since we no longer need them. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css-variables/Overview.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Overview.html 30 Oct 2011 17:40:12 -0000 1.20 +++ Overview.html 30 Oct 2011 18:06:52 -0000 1.21 @@ -143,44 +143,28 @@ <li><a href="#cssom"><span class=secno>4. </span> APIs</a> <ul class=toc> - <li><a href="#cssom-simple"><span class=secno>4.1. </span> The Simple - API</a> - - <li><a href="#cssom-stylesheet"><span class=secno>4.2. </span> Additions - to the Stylesheet Interface</a> - <ul class=toc> - <li><a href="#cssom-cssrule"><span class=secno>4.2.1. </span> Changes - to interface CSSRule</a> - - <li><a href="#cssom-cssvariablerule"><span class=secno>4.2.2. </span> - Interface CSSVariableRule</a> - - <li><a href="#cssom-cssvariable"><span class=secno>4.2.3. </span> - Interface CSSVariableComponentValue</a> - </ul> + <li><a href="#cssom-cssvariable"><span class=secno>4.1. </span> + Interface CSSVariableComponentValue</a> </ul> - <li><a href="#grammar"><span class=secno>5. </span> The Grammar of - Variables</a> - - <li><a href="#conformance"><span class=secno>6. </span> Conformance</a> + <li><a href="#conformance"><span class=secno>5. </span> Conformance</a> <ul class=toc> - <li><a href="#conventions"><span class=secno>6.1. </span> Document + <li><a href="#conventions"><span class=secno>5.1. </span> Document Conventions</a> - <li><a href="#conformance-classes"><span class=secno>6.2. </span> + <li><a href="#conformance-classes"><span class=secno>5.2. </span> Conformance Classes</a> - <li><a href="#partial"><span class=secno>6.3. </span> Partial + <li><a href="#partial"><span class=secno>5.3. </span> Partial Implementations</a> - <li><a href="#experimental"><span class=secno>6.4. </span> Experimental + <li><a href="#experimental"><span class=secno>5.4. </span> Experimental Implementations</a> - <li><a href="#testing"><span class=secno>6.5. </span>Non-Experimental + <li><a href="#testing"><span class=secno>5.5. </span>Non-Experimental Implementations</a> - <li><a href="#cr-exit-criteria"><span class=secno>6.6. </span> CR Exit + <li><a href="#cr-exit-criteria"><span class=secno>5.6. </span> CR Exit Criteria</a> </ul> @@ -556,122 +540,19 @@ <h2 id=cssom><span class=secno>4. </span> APIs</h2> - <p>CSS Variables are mutable - one can change them after they've been - defined, through the CSSOM. This can be done in two ways: one can read the - current variable definition and set an override definition through the - convenient <code>.vars</code> property, or manipulate the definitions in - the stylesheets directly through the standard CSSOM stylesheet interface. - - <h3 id=cssom-simple><span class=secno>4.1. </span> The Simple API</h3> - - <p class=issue>Not exactly sure how to define this, but I want to put a - ‘<code class=property>css</code>’ property on - <code>document</code> (and hopefully <code>window</code>) as a hook for - this and other future CSS apis. <code>document.css</code> would then - expose a ‘<code class=property>vars</code>’ property that - implements CSSOverrideVariablesMap. Variables are document-global, so they - need to be exposed at the document level, not the stylesheet level. - - <p class=issue>Do I need to define the concept of the override stylesheet? - Several browsers already expose this concept of a script-only stylesheet - that overrides all other stylesheets. - - <p>The CSSOverrideVariablesMap presents a simple interface to the variables - in the override stylesheet, which take precedence over variables defined - elsewhere in the document. As a convenience, it also allows reading normal - variables defined elsewhere in the document, as long as there is no - variable with the same name in the override stylesheet. - - <pre class=idl> -[NoInterfaceObject] CSSOverrideVariablesMap { - getter any (DOMString variableName); - setter void (DOMString variableName, any variableValue); - creator void (DOMString variableName, any variableValue); - deleter void (DOMString variableName); -}</pre> - - <p>On getting, if a variable named <var>variableName</var> exists in the - override stylesheet, return its value. Otherwise, if a variable named - <var>variableName</var> is defined in the document, return its value. - Otherwise, return null. - - <p>On setting, find the variable named <var>variableName</var> in the - override stylesheet and set its value to <var>variableValue</var>. - - <p>On creating, append a new variable rule to the override stylesheet, with - the variable name set to <var>variableName</var> and the value set to - <var>variableValue</var>. - - <p>On deleting, remove the variable with the name <var>variableName</var> - from the override stylesheet. - - <h3 id=cssom-stylesheet><span class=secno>4.2. </span> Additions to the - Stylesheet Interface</h3> - - <p>This specification extends the IDL definitions in the CSSOM spec <a - href="#CSSOM" rel=biblioentry>[CSSOM]<!--{{!CSSOM}}--></a> in several - ways. - - <h4 id=cssom-cssrule><span class=secno>4.2.1. </span> Changes to interface - CSSRule</h4> - - <dl> - <dt>IDL Definition - - <dd> - <pre class=idl> -interface CSSRule { - - // RuleType - const unsigned short UNKNOWN_RULE = 0; - const unsigned short STYLE_RULE = 1; - const unsigned short CHARSET_RULE = 2; - const unsigned short IMPORT_RULE = 3; - const unsigned short MEDIA_RULE = 4; - const unsigned short FONT_FACE_RULE = 5; - const unsigned short PAGE_RULE = 6; - <ins>const unsigned short <a - href="#variablerule"><code>VARIABLE_RULE</code></a> = 11;</ins> - readonly attribute unsigned short type; - attribute DOMString cssText; - // raises(DOMException) on setting - readonly attribute CSSStyleSheet parentStyleSheet; - readonly attribute CSSRule parentRule; -};</pre> - - <dt>Defined Constants - - <dd><dfn id=variablerule><code>VARIABLE_RULE</code></dfn>: The rule is a - <code>CSSVariableRule</code>. - </dl> - - <p class=issue>Going with value 11 for now, since CSSOM seems to reserve - 0-10. - - <h4 id=cssom-cssvariablerule><span class=secno>4.2.2. </span> Interface - CSSVariableRule</h4> - - <p>The <code>CSSVariableRule</code> interface represents a ‘<code - class=css>@var</code>’ rule within a CSS stylesheet. The - ‘<code class=css>@var</code>’ rule is used to define - variables. - - <dl> - <dt>IDL Definition + <p><a href="#data-property"><i>Data properties</i></a> are ordinary + properties, and can be read or modified using all of the existing CSSOM + APIs for reading or modifying properties. - <dd> - <pre class=idl> -interface CSSVariableRule : CSSRule { - attribute DOMString name; - attribute DOMString value; -}</pre> - </dl> + <p>The specification extends the IDL definitions in the CSSOM spec to + represent the use of the ‘<code class=css>data()</code>’ + function. - <h4 id=cssom-cssvariable><span class=secno>4.2.3. </span> Interface - CSSVariableComponentValue</h4> + <h3 id=cssom-cssvariable><span class=secno>4.1. </span> Interface + CSSVariableComponentValue</h3> - <p>The CSSVariableComponentValue interface represents a call to a CSS - Variable. + <p>The CSSVariableComponentValue interface represents a use of the + ‘<code class=css>data()</code>’ function. <dl> <dt>IDL Definition @@ -689,66 +570,21 @@ <dl> <dt><code>variableName</code> of type <code>DOMString</code> - <dd>This attribute is used for the name of the variable. Changing this - attribute changes the variable being referred to. + <dd>This attribute represents the argument to the function. Changing + this attribute changes the <a href="#data-property"><i>data + property</i></a> being referred to. <dt><code>variableValue</code> of type <code>any</code>, readonly - <dd>This attribute is used for the value of the variable. + <dd>This attribute represents the value of the <a + href="#data-property"><i>data property</i></a> the function is + referencing. </dl> </dl> - <h2 id=grammar><span class=secno>5. </span> The Grammar of Variables</h2> - - <p class=issue>I'm not sure if I've done this section correctly. For now, - I'll try my best to copypasta what Conditionals is doing, since dbaron - usually know what's what. - - <p>This specification extends the lexical scanner in the <a - href="http://www.w3.org/TR/CSS21/grammar.html">Grammar of CSS 2.1</a> (<a - href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>, Appendix G) by - adding: - - <pre> -@{V}{A}{R} {return VARIABLE_SYM;} -"$"name {return VARIABLE;}</pre> - - <p>and the grammar by adding: - - <pre> -variable_rule - : VARIABLE_SYM S+ variable_name S+ expr ':'; - ;</pre> - - <p>and by amending: - - <pre> -stylesheet - : [ CHARSET_SYM STRING ';' ]? - [S|CDO|CDC]* [ import [ CDO S* | CDC S* ]* ]* - [ [ ruleset | media | page <ins>| variable_rule</ins> ] [ CDO S* | CDC S* ]* ]* - ; -nested_statement - : ruleset | media | page | font_face_rule | keyframes-rule | - supports_rule | document_rule <ins>| variable_rule</ins> - ; -term - : unary_operator? - [ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* | ANGLE S* | - TIME S* | FREQ S* ] - | STRING S* | IDENT S* | URI S* | hexcolor | function <ins>| VARIABLE S*</ins> - ;</pre> - - <p class=issue>This uses the ‘<code - class=css>nested_statement</code>’ production from Conditionals. - That should make its way to a proper draft, like a new release of Syntax. - - <p class=issue>Should variables be usable elsewhere, like in the value of a - MQ? - - <h2 id=conformance><span class=secno>6. </span> Conformance</h2> + <h2 id=conformance><span class=secno>5. </span> Conformance</h2> - <h3 id=conventions><span class=secno>6.1. </span> Document Conventions</h3> + <h3 id=conventions><span class=secno>5.1. </span> Document Conventions</h3> <p>Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST @@ -775,7 +611,7 @@ <p class=note>Note, this is an informative note. - <h3 id=conformance-classes><span class=secno>6.2. </span> Conformance + <h3 id=conformance-classes><span class=secno>5.2. </span> Conformance Classes</h3> <p>Conformance to CSS Variables Module is defined for three conformance @@ -819,7 +655,7 @@ meet all other conformance requirements of style sheets as described in this module. - <h3 id=partial><span class=secno>6.3. </span> Partial Implementations</h3> + <h3 id=partial><span class=secno>5.3. </span> Partial Implementations</h3> <p>So that authors can exploit the forward-compatible parsing rules to assign fallback values, CSS renderers <strong>must</strong> treat as @@ -833,7 +669,7 @@ unsupported values must be), CSS requires that the entire declaration be ignored. - <h3 id=experimental><span class=secno>6.4. </span> Experimental + <h3 id=experimental><span class=secno>5.4. </span> Experimental Implementations</h3> <p>To avoid clashes with future CSS features, the CSS2.1 specification @@ -847,7 +683,7 @@ vendor-prefixed syntax for such features, including those in W3C Working Drafts. This avoids incompatibilities with future changes in the draft. - <h3 id=testing><span class=secno>6.5. </span>Non-Experimental + <h3 id=testing><span class=secno>5.5. </span>Non-Experimental Implementations</h3> <p>Once a specification reaches the Candidate Recommendation stage, @@ -869,7 +705,7 @@ href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a> mailing list. - <h3 id=cr-exit-criteria><span class=secno>6.6. </span> CR Exit Criteria</h3> + <h3 id=cr-exit-criteria><span class=secno>5.6. </span> CR Exit Criteria</h3> <p class=issue>[Change or remove the following CR exit criteria if the spec is not a module, but, e.g., a Note or a profile. This text was <a @@ -948,15 +784,6 @@ </dd> <!----> - <dt id=CSSOM>[CSSOM] - - <dd>Anne van Kesteren. <a - href="http://www.w3.org/TR/2011/WD-cssom-20110712/"><cite>CSSOM.</cite></a> - 12 July 2011. W3C Working Draft. (Work in progress.) URL: <a - href="http://www.w3.org/TR/2011/WD-cssom-20110712/">http://www.w3.org/TR/2011/WD-cssom-20110712/</a> - </dd> - <!----> - <dt id=RFC2119>[RFC2119] <dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key @@ -1002,7 +829,7 @@ <ul class=indexlist> <li>authoring tool, <a href="#authoring-tool" - title="authoring tool"><strong>6.2.</strong></a> + title="authoring tool"><strong>5.2.</strong></a> <li>data properties, <a href="#data-property" title="data properties"><strong>2.</strong></a> @@ -1020,21 +847,18 @@ <li>invalid variables, <a href="#invalid-variable" title="invalid variables"><strong>3.1.</strong></a> - <li>renderer, <a href="#renderer" title=renderer><strong>6.2.</strong></a> + <li>renderer, <a href="#renderer" title=renderer><strong>5.2.</strong></a> <li>style sheet <ul> <li>as conformance class, <a href="#style-sheet" - title="style sheet, as conformance class"><strong>6.2.</strong></a> + title="style sheet, as conformance class"><strong>5.2.</strong></a> </ul> <li>variable, <a href="#type-variable" title=variable><strong>3.</strong></a> - <li><a href="#variablerule"><code>VARIABLE_RULE</code></a>, <a - href="#variablerule" title="VARIABLE_RULE"><strong>4.2.1.</strong></a> - <li>variables, <a href="#type-variable" title=variables><strong>3.</strong></a> </ul> Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css-variables/Overview.src.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Overview.src.html 30 Oct 2011 17:40:12 -0000 1.20 +++ Overview.src.html 30 Oct 2011 18:06:52 -0000 1.21 @@ -257,89 +257,14 @@ <h2 id='cssom'> APIs</h2> - <p>CSS Variables are mutable - one can change them after they've been defined, through the CSSOM. This can be done in two ways: one can read the current variable definition and set an override definition through the convenient <code>.vars</code> property, or manipulate the definitions in the stylesheets directly through the standard CSSOM stylesheet interface.</p> - -<h3 id='cssom-simple'> -The Simple API</h3> - - <p class='issue'>Not exactly sure how to define this, but I want to put a 'css' property on <code>document</code> (and hopefully <code>window</code>) as a hook for this and other future CSS apis. <code>document.css</code> would then expose a 'vars' property that implements CSSOverrideVariablesMap. Variables are document-global, so they need to be exposed at the document level, not the stylesheet level.</p> - - <p class='issue'>Do I need to define the concept of the override stylesheet? Several browsers already expose this concept of a script-only stylesheet that overrides all other stylesheets.</p> - - <p>The CSSOverrideVariablesMap presents a simple interface to the variables in the override stylesheet, which take precedence over variables defined elsewhere in the document. As a convenience, it also allows reading normal variables defined elsewhere in the document, as long as there is no variable with the same name in the override stylesheet.</p> - - <pre class='idl'> -[NoInterfaceObject] CSSOverrideVariablesMap { - getter any (DOMString variableName); - setter void (DOMString variableName, any variableValue); - creator void (DOMString variableName, any variableValue); - deleter void (DOMString variableName); -}</pre> - - <p>On getting, if a variable named <var>variableName</var> exists in the override stylesheet, return its value. Otherwise, if a variable named <var>variableName</var> is defined in the document, return its value. Otherwise, return null.</p> - - <p>On setting, find the variable named <var>variableName</var> in the override stylesheet and set its value to <var>variableValue</var>.</p> - - <p>On creating, append a new variable rule to the override stylesheet, with the variable name set to <var>variableName</var> and the value set to <var>variableValue</var>.</p> - - <p>On deleting, remove the variable with the name <var>variableName</var> from the override stylesheet.</p> - -<h3 id='cssom-stylesheet'> -Additions to the Stylesheet Interface</h3> - - <p>This specification extends the IDL definitions in the CSSOM spec [[!CSSOM]] in several ways.</p> - -<h4 id='cssom-cssrule'> -Changes to interface CSSRule</h4> - - <dl> - <dt>IDL Definition</dt> - <dd> - <pre class='idl'> -interface CSSRule { - - // RuleType - const unsigned short UNKNOWN_RULE = 0; - const unsigned short STYLE_RULE = 1; - const unsigned short CHARSET_RULE = 2; - const unsigned short IMPORT_RULE = 3; - const unsigned short MEDIA_RULE = 4; - const unsigned short FONT_FACE_RULE = 5; - const unsigned short PAGE_RULE = 6; - <ins>const unsigned short <code>VARIABLE_RULE</code> = 11;</ins> - readonly attribute unsigned short type; - attribute DOMString cssText; - // raises(DOMException) on setting - readonly attribute CSSStyleSheet parentStyleSheet; - readonly attribute CSSRule parentRule; -};</pre> - - <dt>Defined Constants</dt> - <dd><dfn><code>VARIABLE_RULE</code></dfn>: The rule is a <code>CSSVariableRule</code>.</dd> - </dl> - - <p class='issue'>Going with value 11 for now, since CSSOM seems to reserve 0-10.</p> - -<h4 id='cssom-cssvariablerule'> -Interface CSSVariableRule</h4> - - <p>The <code>CSSVariableRule</code> interface represents a ''@var'' rule within a CSS stylesheet. The ''@var'' rule is used to define variables.</p> + <p><i>Data properties</i> are ordinary properties, and can be read or modified using all of the existing CSSOM APIs for reading or modifying properties.</p> - <dl> - <dt>IDL Definition</dt> - <dd> - <pre class='idl'> -interface CSSVariableRule : CSSRule { - attribute DOMString name; - attribute DOMString value; -}</pre> - </dd> - </dl> + <p>The specification extends the IDL definitions in the CSSOM spec to represent the use of the ''data()'' function.</p> -<h4 id='cssom-cssvariable'> -Interface CSSVariableComponentValue</h4> +<h3 id='cssom-cssvariable'> +Interface CSSVariableComponentValue</h3> - <p>The CSSVariableComponentValue interface represents a call to a CSS Variable.</p> + <p>The CSSVariableComponentValue interface represents a use of the ''data()'' function.</p> <dl> <dt>IDL Definition</dt> @@ -355,56 +280,14 @@ <dd> <dl> <dt><code>variableName</code> of type <code>DOMString</code></dt> - <dd>This attribute is used for the name of the variable. Changing this attribute changes the variable being referred to.</dd> + <dd>This attribute represents the argument to the function. Changing this attribute changes the <i>data property</i> being referred to.</dd> <dt><code>variableValue</code> of type <code>any</code>, readonly</dt> - <dd>This attribute is used for the value of the variable.</dd> + <dd>This attribute represents the value of the <i>data property</i> the function is referencing.</dd> </dl> </dd> </dl> - -<h2 id='grammar'> -The Grammar of Variables</h2> - - <p class='issue'>I'm not sure if I've done this section correctly. For now, I'll try my best to copypasta what Conditionals is doing, since dbaron usually know what's what.</p> - - <p>This specification extends the lexical scanner in the <a href="http://www.w3.org/TR/CSS21/grammar.html">Grammar of CSS 2.1</a> (<a href="#CSS21" rel="biblioentry">[CSS21]<!--{{!CSS21}}--></a>, Appendix G) by adding:</p> - - <pre> -@{V}{A}{R} {return VARIABLE_SYM;} -"$"name {return VARIABLE;}</pre> - - <p>and the grammar by adding:</p> - - <pre> -variable_rule - : VARIABLE_SYM S+ variable_name S+ expr ':'; - ;</pre> - - <p>and by amending:</p> - - <pre> -stylesheet - : [ CHARSET_SYM STRING ';' ]? - [S|CDO|CDC]* [ import [ CDO S* | CDC S* ]* ]* - [ [ ruleset | media | page <ins>| variable_rule</ins> ] [ CDO S* | CDC S* ]* ]* - ; -nested_statement - : ruleset | media | page | font_face_rule | keyframes-rule | - supports_rule | document_rule <ins>| variable_rule</ins> - ; -term - : unary_operator? - [ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* | ANGLE S* | - TIME S* | FREQ S* ] - | STRING S* | IDENT S* | URI S* | hexcolor | function <ins>| VARIABLE S*</ins> - ;</pre> - - <p class='issue'>This uses the 'nested_statement' production from Conditionals. That should make its way to a proper draft, like a new release of Syntax.</p> - - <p class='issue'>Should variables be usable elsewhere, like in the value of a MQ?</p> - <h2 id="conformance"> Conformance</h2>
Received on Sunday, 30 October 2011 18:06:58 UTC