W3C home > Mailing lists > Public > public-css-commits@w3.org > October 2011

csswg/css-variables Overview.html,1.20,1.21 Overview.src.html,1.20,1.21

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
Message-Id: <E1RKZmY-0007kC-G6@lionel-hutz.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
-   &lsquo;<code class=property>css</code>&rsquo; 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 &lsquo;<code class=property>vars</code>&rsquo; 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 &lsquo;<code
-   class=css>@var</code>&rsquo; rule within a CSS stylesheet. The
-   &lsquo;<code class=css>@var</code>&rsquo; 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 &lsquo;<code class=css>data()</code>&rsquo;
+   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
+   &lsquo;<code class=css>data()</code>&rsquo; 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 &lsquo;<code
-   class=css>nested_statement</code>&rsquo; 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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 30 October 2011 18:07:00 GMT