- 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