[cssom] Expose the margin at-rules in @page as CSSMarginRule, uses type constant 9. Use a new interface for the declarations in @page and @top-left. Move the bulk of CSSStyleDeclaration to a new interface CSSDeclaration, and let CSSStyleDeclaration, CSSPageDeclaration and CSSMarginDeclaration inherit from it. https://www.w3.org/Bugs/Public/show_bug.cgi?id=22500

Wed, 21 Aug 2013 10:29:36 +0200

author
Simon Pieters <simonp@opera.com>
date
Wed, 21 Aug 2013 10:29:36 +0200
changeset 8901
048b4760e33e
parent 8900
697dd531c019
child 8902
bb3efb2a3181

[cssom] Expose the margin at-rules in @page as CSSMarginRule, uses type constant 9. Use a new interface for the declarations in @page and @top-left. Move the bulk of CSSStyleDeclaration to a new interface CSSDeclaration, and let CSSStyleDeclaration, CSSPageDeclaration and CSSMarginDeclaration inherit from it. https://www.w3.org/Bugs/Public/show_bug.cgi?id=22500

cssom/Overview.html file | annotate | diff | comparison | revisions
cssom/Overview.src.html file | annotate | diff | comparison | revisions
     1.1 --- a/cssom/Overview.html	Tue Aug 20 17:36:47 2013 -0700
     1.2 +++ b/cssom/Overview.html	Wed Aug 21 10:29:36 2013 +0200
     1.3 @@ -16,7 +16,7 @@
     1.4   <h1>CSS Object Model (CSSOM)</h1>
     1.5  
     1.6  
     1.7 - <h2 class="no-num no-toc" id="w3c-doctype">Editor's Draft 18 August 2013</h2>
     1.8 + <h2 class="no-num no-toc" id="w3c-doctype">Editor's Draft 21 August 2013</h2>
     1.9  
    1.10   <dl>
    1.11  
    1.12 @@ -90,7 +90,7 @@
    1.13  can be found in the
    1.14  <a href="http://www.w3.org/TR/">W3C technical reports index at http://www.w3.org/TR/.</a></em>
    1.15  
    1.16 -<p class="dontpublish">This is the 18 August 2013 Editor's Draft of CSSOM. Please send comments to
    1.17 +<p class="dontpublish">This is the 21 August 2013 Editor's Draft of CSSOM. Please send comments to
    1.18  <a href="mailto:www-style@w3.org?subject=%5Bcssom%5D%20">www-style@w3.org</a>
    1.19  (<a href="http://lists.w3.org/Archives/Public/www-style/">archived</a>)
    1.20  with <samp>[cssom]</samp> at the start of the subject line.
    1.21 @@ -161,11 +161,15 @@
    1.22       <li><a href="#the-cssimportrule-interface"><span class="secno">6.4.5 </span>The <code title="">CSSImportRule</code> Interface</a></li>
    1.23       <li><a href="#the-cssgroupingrule-interface"><span class="secno">6.4.6 </span>The <code title="">CSSGroupingRule</code> Interface</a></li>
    1.24       <li><a href="#the-cssmediarule-interface"><span class="secno">6.4.7 </span>The <code title="">CSSMediaRule</code> Interface</a></li>
    1.25 -     <li><a href="#the-csspagerule-interface"><span class="secno">6.4.8 </span>The <code title="">CSSPageRule</code> Interface</a></li>
    1.26 -     <li><a href="#the-cssnamespacerule-interface"><span class="secno">6.4.9 </span>The <code title="">CSSNamespaceRule</code> Interface</a></ul></li>
    1.27 +     <li><a href="#the-csspagedeclaration-interface"><span class="secno">6.4.8 </span>The <code title="">CSSPageDeclaration</code> Interface</a></li>
    1.28 +     <li><a href="#the-csspagerule-interface"><span class="secno">6.4.9 </span>The <code title="">CSSPageRule</code> Interface</a></li>
    1.29 +     <li><a href="#the-cssmargindeclaration-interface"><span class="secno">6.4.10 </span>The <code title="">CSSMarginDeclaration</code> Interface</a></li>
    1.30 +     <li><a href="#the-cssmarginrule-interface"><span class="secno">6.4.11 </span>The <code title="">CSSMarginRule</code> Interface</a></li>
    1.31 +     <li><a href="#the-cssnamespacerule-interface"><span class="secno">6.4.12 </span>The <code title="">CSSNamespaceRule</code> Interface</a></ul></li>
    1.32     <li><a href="#css-declaration-blocks"><span class="secno">6.5 </span>CSS Declaration Blocks</a>
    1.33      <ul class="toc">
    1.34 -     <li><a href="#the-cssstyledeclaration-interface"><span class="secno">6.5.1 </span>The <code title="">CSSStyleDeclaration</code> Interface</a></ul></li>
    1.35 +     <li><a href="#the-cssdeclaration-interface"><span class="secno">6.5.1 </span>The <code title="">CSSDeclaration</code> Interface</a></li>
    1.36 +     <li><a href="#the-cssstyledeclaration-interface"><span class="secno">6.5.2 </span>The <code title="">CSSStyleDeclaration</code> Interface</a></ul></li>
    1.37     <li><a href="#css-values"><span class="secno">6.6 </span>CSS Values</a>
    1.38      <ul class="toc">
    1.39       <li><a href="#parsing-css-values"><span class="secno">6.6.1 </span>Parsing CSS Values</a></li>
    1.40 @@ -1875,6 +1879,7 @@
    1.41    const unsigned short <a href="#dom-cssrule-media_rule" title="dom-CSSRule-MEDIA_RULE">MEDIA_RULE</a> = 4;
    1.42    const unsigned short <a href="#dom-cssrule-font_face_rule" title="dom-CSSRule-FONT_FACE_RULE">FONT_FACE_RULE</a> = 5;
    1.43    const unsigned short <a href="#dom-cssrule-page_rule" title="dom-CSSRule-PAGE_RULE">PAGE_RULE</a> = 6;
    1.44 +  const unsigned short <a href="#dom-cssrule-margin_rule" title="dom-CSSRule-MARGIN_RULE">MARGIN_RULE</a> = 9;
    1.45    const unsigned short <a href="#dom-cssrule-namespace_rule" title="dom-CSSRule-NAMESPACE_RULE">NAMESPACE_RULE</a> = 10;
    1.46    readonly attribute unsigned short <a href="#dom-cssrule-type" title="dom-CSSRule-type">type</a>;
    1.47    attribute DOMString <a href="#dom-cssrule-csstext" title="dom-CSSRule-cssText">cssText</a>;
    1.48 @@ -1898,6 +1903,8 @@
    1.49   <dt>If the object is a <code><a href="#csspagerule">CSSPageRule</a></code>
    1.50   <dd><p>Return <dfn id="dom-cssrule-page_rule" title="dom-CSSRule-PAGE_RULE"><code>PAGE_RULE</code></dfn> (numeric value 6).
    1.51   <dt>If the object is a <code><a href="#cssnamespacerule">CSSNamespaceRule</a></code>
    1.52 + <dd><p>Return <dfn id="dom-cssrule-margin_rule" title="dom-CSSRule-MARGIN_RULE"><code>MARGIN_RULE</code></dfn> (numeric value 9).
    1.53 + <dt>If the object is a <code><a href="#cssmarginrule">CSSMarginRule</a></code>
    1.54   <dd><p>Return <dfn id="dom-cssrule-namespace_rule" title="dom-CSSRule-NAMESPACE_RULE"><code>NAMESPACE_RULE</code></dfn> (numeric value 10).
    1.55   <dt>Otherwise
    1.56   <dd><p>Return a value defined on the <a href="http://wiki.csswg.org/spec/cssom-constants">CSSOM Constants</a> wiki page.
    1.57 @@ -1948,7 +1955,7 @@
    1.58  
    1.59  <pre class="idl">interface <dfn id="cssstylerule">CSSStyleRule</dfn> : <a href="#cssrule">CSSRule</a> {
    1.60    attribute DOMString <a href="#dom-cssstylerule-selectortext" title="dom-CSSStyleRule-selectorText">selectorText</a>;
    1.61 -  [SameObject, PutForwards=<a href="#dom-cssstyledeclaration-csstext" title="dom-CSSStyleDeclaration-cssText">cssText</a>] readonly attribute <a href="#cssstyledeclaration">CSSStyleDeclaration</a> <!--
    1.62 +  [SameObject, PutForwards=<a href="#dom-cssdeclaration-csstext" title="dom-CSSDeclaration-cssText">cssText</a>] readonly attribute <a href="#cssstyledeclaration">CSSStyleDeclaration</a> <!--
    1.63    --><a href="#dom-cssstylerule-style" title="dom-CSSStyleRule-style">style</a>;
    1.64  };</pre>
    1.65  
    1.66 @@ -2039,16 +2046,63 @@
    1.67  with the <code title="">@media</code> at-rule.</p>
    1.68  
    1.69  
    1.70 -<h4 id="the-csspagerule-interface"><span class="secno">6.4.8 </span>The <code title="">CSSPageRule</code> Interface</h4>
    1.71 +<h4 id="the-csspagedeclaration-interface"><span class="secno">6.4.8 </span>The <code title="">CSSPageDeclaration</code> Interface</h4>
    1.72 +
    1.73 +<p>The <code><a href="#csspagedeclaration">CSSPageDeclaration</a></code> interface represents the declarations in an <code title="">@page</code> at-rule.
    1.74 +
    1.75 +<pre class="idl">interface <dfn id="csspagedeclaration">CSSPageDeclaration</dfn> : <a href="#cssdeclaration">CSSDeclaration</a> {
    1.76 +};</pre>
    1.77 +
    1.78 +<p>A <dfn id="css-page-context-property">CSS page context property</dfn> is a CSS property that applies within the page context according to the CSS Page specification.
    1.79 +<a href="#refsCSSPAGE">[CSSPAGE]</a>
    1.80 +
    1.81 +<p>For each CSS property <var>property</var> that is a <a href="#css-page-context-property">CSS page context property</a>, the following partial interface applies where
    1.82 +<var>camel-cased attribute</var> is obtained by running the <a href="#css-property-to-idl-attribute">CSS property to IDL attribute</a> algorithm for <var>property</var>.</p>
    1.83 +
    1.84 +<pre class="idl extract">partial interface <a href="#csspagedeclaration">CSSPageDeclaration</a> {
    1.85 +           attribute DOMString _<a href="#dom-csspagedeclaration-camel-cased-attribute" title="dom-CSSPageDeclaration-camel-cased-attribute"><var>camel-cased attribute</var></a>;
    1.86 +};</pre>
    1.87 +
    1.88 +<p>The <dfn id="dom-csspagedeclaration-camel-cased-attribute" title="dom-CSSPageDeclaration-camel-cased-attribute"><code><var>camel-cased attribute</var></code></dfn> attribute, on getting, must return the
    1.89 +result of invoking <code title="dom-CSSDeclaration-getPropertyValue"><a href="#dom-cssdeclaration-getpropertyvalue">getPropertyValue()</a></code> with the
    1.90 +argument being the result of running the <a href="#idl-attribute-to-css-property">IDL attribute to CSS property</a>
    1.91 +algorithm for <var>camel-cased attribute</var>.</p>
    1.92 +
    1.93 +<p>Setting the <code title="dom-CSSPageDeclaration-camel-cased-attribute"><a href="#dom-csspagedeclaration-camel-cased-attribute"><var>camel-cased attribute</var></a></code> attribute must invoke
    1.94 +<code title="dom-CSSDeclaration-setProperty"><a href="#dom-cssdeclaration-setproperty">setProperty()</a></code> with the
    1.95 +first argument being the result of running the <a href="#idl-attribute-to-css-property">IDL attribute to CSS property</a>
    1.96 +algorithm for <var>camel-cased attribute</var>, as second argument the given value, and no third argument. Any
    1.97 +exceptions thrown must be re-thrown.</p>
    1.98 +
    1.99 +<!-- [GA] Remove spec text for so called "dashed-attribute" until consensus obtains on whether to include in spec.
   1.100 +
   1.101 +<p>For each CSS property <var>property</var> that is a <span>CSS page context property</span>, except for properties that have no
   1.102 +"<code title>-</code>" (U+002D) in the property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span>
   1.103 +member as part of the <code>CSSPageDeclaration</code> interface with the type being <code title>DOMString</code> and the
   1.104 +<span data-anolis-spec=webidl>identifier</span> being <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>.
   1.105 +
   1.106 +<p>The <dfn title=dom-CSSPageDeclaration-dashed-attribute><code><var>dashed attribute</var></code></dfn> attribute, on getting, must return the
   1.107 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
   1.108 +argument being <var>dashed attribute</var>.</p>
   1.109 +
   1.110 +<p>Setting the <code title=dom-CSSPageDeclaration-dashed-attribute><var>dashed attribute</var></code> attribute must invoke
   1.111 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
   1.112 +first argument being <var>dashed attribute</var>, as second argument the given value, and no third argument. Any
   1.113 +exceptions thrown must be re-thrown.</p>
   1.114 +
   1.115 +-->
   1.116 +
   1.117 +
   1.118 +<h4 id="the-csspagerule-interface"><span class="secno">6.4.9 </span>The <code title="">CSSPageRule</code> Interface</h4>
   1.119   
   1.120  <p>The <code><a href="#csspagerule">CSSPageRule</a></code> interface represents an <code title="">@page</code> at-rule.</p>
   1.121  <p class="issue">Need to define the rules for
   1.122  <dfn id="parse-a-list-of-css-page-selectors">parse a list of CSS page selectors</dfn> and
   1.123  <dfn id="serialize-a-list-of-css-page-selectors">serialize a list of CSS page selectors</dfn>.</p>
   1.124  
   1.125 -<pre class="idl">interface <dfn id="csspagerule">CSSPageRule</dfn> : <a href="#cssrule">CSSRule</a> {
   1.126 -  attribute DOMString <a href="#dom-csspagerule-selectortext" title="dom-CSSPageRule-selectorText">selectorText</a>;
   1.127 -  [SameObject, PutForwards=<a href="#dom-cssstyledeclaration-csstext" title="dom-CSSStyleDeclaration-cssText">cssText</a>] readonly attribute <a href="#cssstyledeclaration">CSSStyleDeclaration</a> <!--
   1.128 +<pre class="idl">interface <dfn id="csspagerule">CSSPageRule</dfn> : <a href="#cssgroupingrule">CSSGroupingRule</a> {
   1.129 +           attribute DOMString <a href="#dom-csspagerule-selectortext" title="dom-CSSPageRule-selectorText">selectorText</a>;
   1.130 +  [SameObject, PutForwards=<a href="#dom-cssdeclaration-csstext" title="dom-CSSDeclaration-cssText">cssText</a>] readonly attribute <a href="#csspagedeclaration">CSSPageDeclaration</a> <!--
   1.131    --><a href="#dom-csspagerule-style" title="dom-CSSPageRule-style">style</a>;
   1.132  };</pre>
   1.133  
   1.134 @@ -2061,11 +2115,79 @@
   1.135   <li><p>Otherwise, if the algorithm returns a null value, do nothing.</li>
   1.136  </ol>
   1.137  
   1.138 -<p>The <dfn id="dom-csspagerule-style" title="dom-CSSPageRule-style"><code>style</code></dfn> attribute must return a <code><a href="#cssstyledeclaration">CSSStyleDeclaration</a></code> for the <code title="">@page</code>
   1.139 -at-rule.</p>
   1.140 -
   1.141 -
   1.142 -<h4 id="the-cssnamespacerule-interface"><span class="secno">6.4.9 </span>The <code title="">CSSNamespaceRule</code> Interface</h4>
   1.143 +<p>The <dfn id="dom-csspagerule-style" title="dom-CSSPageRule-style"><code>style</code></dfn> attribute must return a <code><a href="#csspagedeclaration">CSSPageDeclaration</a></code> object for the <code title="">@page</code>
   1.144 +at-rule, with the <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> being the declared declarations in the rule, in
   1.145 +<a href="#concept-declarations-specified-order" title="concept-declarations-specified-order">specified order</a>.</p>
   1.146 +
   1.147 +
   1.148 +<h4 id="the-cssmargindeclaration-interface"><span class="secno">6.4.10 </span>The <code title="">CSSMarginDeclaration</code> Interface</h4>
   1.149 +
   1.150 +<p>The <code><a href="#cssmargindeclaration">CSSMarginDeclaration</a></code> interface represents the declarations in a margin at-rule (e.g. <code title="">@top-left</code>) in an
   1.151 +<code title="">@page</code> at-rule. <a href="#refsCSSPAGE">[CSSPAGE]</a>
   1.152 +
   1.153 +<pre class="idl">interface <dfn id="cssmargindeclaration">CSSMarginDeclaration</dfn> : <a href="#cssdeclaration">CSSDeclaration</a> {
   1.154 +};</pre>
   1.155 +
   1.156 +<p>A <dfn id="css-margin-context-property">CSS margin context property</dfn> is a CSS property that applies within the margin context according to the CSS Page specification.
   1.157 +<a href="#refsCSSPAGE">[CSSPAGE]</a>
   1.158 +
   1.159 +<p>For each CSS property <var>property</var> that is a <a href="#css-margin-context-property">CSS margin context property</a>, the following partial interface applies where
   1.160 +<var>camel-cased attribute</var> is obtained by running the <a href="#css-property-to-idl-attribute">CSS property to IDL attribute</a> algorithm for <var>property</var>.</p>
   1.161 +
   1.162 +<pre class="idl extract">partial interface <a href="#cssmargindeclaration">CSSMarginDeclaration</a> {
   1.163 +           attribute DOMString _<a href="#dom-cssmargindeclaration-camel-cased-attribute" title="dom-CSSMarginDeclaration-camel-cased-attribute"><var>camel-cased attribute</var></a>;
   1.164 +};</pre>
   1.165 +
   1.166 +<p>The <dfn id="dom-cssmargindeclaration-camel-cased-attribute" title="dom-CSSMarginDeclaration-camel-cased-attribute"><code><var>camel-cased attribute</var></code></dfn> attribute, on getting, must return the
   1.167 +result of invoking <code title="dom-CSSDeclaration-getPropertyValue"><a href="#dom-cssdeclaration-getpropertyvalue">getPropertyValue()</a></code> with the
   1.168 +argument being the result of running the <a href="#idl-attribute-to-css-property">IDL attribute to CSS property</a>
   1.169 +algorithm for <var>camel-cased attribute</var>.</p>
   1.170 +
   1.171 +<p>Setting the <code title="dom-CSSMarginDeclaration-camel-cased-attribute"><a href="#dom-cssmargindeclaration-camel-cased-attribute"><var>camel-cased attribute</var></a></code> attribute must invoke
   1.172 +<code title="dom-CSSDeclaration-setProperty"><a href="#dom-cssdeclaration-setproperty">setProperty()</a></code> with the
   1.173 +first argument being the result of running the <a href="#idl-attribute-to-css-property">IDL attribute to CSS property</a>
   1.174 +algorithm for <var>camel-cased attribute</var>, as second argument the given value, and no third argument. Any
   1.175 +exceptions thrown must be re-thrown.</p>
   1.176 +
   1.177 +<!-- [GA] Remove spec text for so called "dashed-attribute" until consensus obtains on whether to include in spec.
   1.178 +
   1.179 +<p>For each CSS property <var>property</var> that is a <span>CSS margin context property</span>, except for properties that have no
   1.180 +"<code title>-</code>" (U+002D) in the property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span>
   1.181 +member as part of the <code>CSSMarginDeclaration</code> interface with the type being <code title>DOMString</code> and the
   1.182 +<span data-anolis-spec=webidl>identifier</span> being <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>.
   1.183 +
   1.184 +<p>The <dfn title=dom-CSSMarginDeclaration-dashed-attribute><code><var>dashed attribute</var></code></dfn> attribute, on getting, must return the
   1.185 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
   1.186 +argument being <var>dashed attribute</var>.</p>
   1.187 +
   1.188 +<p>Setting the <code title=dom-CSSMarginDeclaration-dashed-attribute><var>dashed attribute</var></code> attribute must invoke
   1.189 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
   1.190 +first argument being <var>dashed attribute</var>, as second argument the given value, and no third argument. Any
   1.191 +exceptions thrown must be re-thrown.</p>
   1.192 +
   1.193 +-->
   1.194 +
   1.195 +
   1.196 +<h4 id="the-cssmarginrule-interface"><span class="secno">6.4.11 </span>The <code title="">CSSMarginRule</code> Interface</h4>
   1.197 +
   1.198 +<p>The <code title="">CSSMarginRule</code> interface represents a margin at-rule (e.g. <code title="">@top-left</code>) in an <code title="">@page</code> at-rule.
   1.199 +<a href="#refsCSSPAGE">[CSSPAGE]</a>
   1.200 +
   1.201 +<pre class="idl">interface <dfn id="cssmarginrule">CSSMarginRule</dfn> : <a href="#cssrule">CSSRule</a> {
   1.202 +  readonly attribute DOMString <a href="#dom-cssmarginrule-name" title="dom-CSSMarginRule-name">name</a>;
   1.203 +  [SameObject, PutForwards=<a href="#dom-cssdeclaration-csstext" title="dom-CSSDeclaration-cssText">cssText</a>] readonly attribute <a href="#csspagedeclaration">CSSPageDeclaration</a> <!--
   1.204 +  --><a href="#dom-cssmarginrule-style" title="dom-CSSMarginRule-style">style</a>;
   1.205 +};</pre>
   1.206 +
   1.207 +<p>The <dfn id="dom-cssmarginrule-name" title="dom-CSSMarginRule-name"><code>name</code></dfn> attribute must return the name of the margin at-rule. The <code title="">@</code> character is not
   1.208 +included in the name. <a href="#refsCSSSYNTAX">[CSSSYNTAX]</a>
   1.209 +
   1.210 +<p>The <dfn id="dom-cssmarginrule-style" title="dom-CSSMarginRule-style"><code>style</code></dfn> attribute must return a <code><a href="#cssmargindeclaration">CSSMarginDeclaration</a></code> object for the
   1.211 +margin at-rule, with the <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> being the declared declarations in the rule, in
   1.212 +<a href="#concept-declarations-specified-order" title="concept-declarations-specified-order">specified order</a>.</p>
   1.213 +
   1.214 +
   1.215 +<h4 id="the-cssnamespacerule-interface"><span class="secno">6.4.12 </span>The <code title="">CSSNamespaceRule</code> Interface</h4>
   1.216  
   1.217  <p>The <code><a href="#cssnamespacerule">CSSNamespaceRule</a></code> interface represents an <code title="">@namespace</code> at-rule.</p>
   1.218  
   1.219 @@ -2110,7 +2232,7 @@
   1.220  <p>A <dfn id="css-declaration-block">CSS declaration block</dfn> is an ordered collection of CSS
   1.221  properties with their associated values, also named CSS declarations. In
   1.222  the DOM a <a href="#css-declaration-block">CSS declaration block</a> is a
   1.223 -<code><a href="#cssstyledeclaration">CSSStyleDeclaration</a></code> object. A
   1.224 +<code><a href="#cssdeclaration">CSSDeclaration</a></code> object. A
   1.225  <a href="#css-declaration-block">CSS declaration block</a> has two associated properties:</p>
   1.226  
   1.227  <dl>
   1.228 @@ -2197,7 +2319,10 @@
   1.229   <li><p>Order <var>shorthands</var> by the number of longhand properties that map to it, with the greatest number first.
   1.230  </ol>
   1.231  
   1.232 -<h4 id="the-cssstyledeclaration-interface"><span class="secno">6.5.1 </span>The <code title="">CSSStyleDeclaration</code> Interface</h4>
   1.233 +<h4 id="the-cssdeclaration-interface"><span class="secno">6.5.1 </span>The <code title="">CSSDeclaration</code> Interface</h4>
   1.234 +
   1.235 +<p>The <code><a href="#cssdeclaration">CSSDeclaration</a></code> interface represents a <a href="#css-declaration-block">CSS declaration block</a>, including its underlying state, where this
   1.236 +underlying state depends upon the source of the <code><a href="#cssdeclaration">CSSDeclaration</a></code> instance.</p>
   1.237  
   1.238  <!--
   1.239  //
   1.240 @@ -2209,29 +2334,25 @@
   1.241  //
   1.242  -->
   1.243  
   1.244 -<p>The <code><a href="#cssstyledeclaration">CSSStyleDeclaration</a></code> interface represents a <a href="#css-declaration-block">CSS declaration block</a>, including its underlying state, where this
   1.245 -underlying state depends upon the source of the <code><a href="#cssstyledeclaration">CSSStyleDeclaration</a></code> instance.</p>
   1.246 -
   1.247 -<pre class="idl">interface <dfn id="cssstyledeclaration">CSSStyleDeclaration</dfn> {
   1.248 -  attribute DOMString <a href="#dom-cssstyledeclaration-csstext" title="dom-CSSStyleDeclaration-cssText">cssText</a>;
   1.249 -  readonly attribute unsigned long <a href="#dom-cssstyledeclaration-length" title="dom-CSSStyleDeclaration-length">length</a>;
   1.250 -  getter DOMString <a href="#dom-cssstyledeclaration-item" title="dom-CSSStyleDeclaration-item">item</a>(unsigned long index);
   1.251 -  DOMString <a href="#dom-cssstyledeclaration-getpropertyvalue" title="dom-CSSStyleDeclaration-getPropertyValue">getPropertyValue</a>(DOMString property);
   1.252 -  DOMString <a href="#dom-cssstyledeclaration-getpropertypriority" title="dom-CSSStyleDeclaration-getPropertyPriority">getPropertyPriority</a>(DOMString property);
   1.253 -  void <a href="#dom-cssstyledeclaration-setproperty" title="dom-CSSStyleDeclaration-setProperty">setProperty</a>(DOMString property, [TreatNullAs=EmptyString] DOMString value, <!--
   1.254 +<pre class="idl">interface <dfn id="cssdeclaration">CSSDeclaration</dfn> {
   1.255 +  attribute DOMString <a href="#dom-cssdeclaration-csstext" title="dom-CSSDeclaration-cssText">cssText</a>;
   1.256 +  readonly attribute unsigned long <a href="#dom-cssdeclaration-length" title="dom-CSSDeclaration-length">length</a>;
   1.257 +  getter DOMString <a href="#dom-cssdeclaration-item" title="dom-CSSDeclaration-item">item</a>(unsigned long index);
   1.258 +  DOMString <a href="#dom-cssdeclaration-getpropertyvalue" title="dom-CSSDeclaration-getPropertyValue">getPropertyValue</a>(DOMString property);
   1.259 +  DOMString <a href="#dom-cssdeclaration-getpropertypriority" title="dom-CSSDeclaration-getPropertyPriority">getPropertyPriority</a>(DOMString property);
   1.260 +  void <a href="#dom-cssdeclaration-setproperty" title="dom-CSSDeclaration-setProperty">setProperty</a>(DOMString property, [TreatNullAs=EmptyString] DOMString value, <!--
   1.261    -->[TreatNullAs=EmptyString] optional DOMString priority);
   1.262 -  DOMString <a href="#dom-cssstyledeclaration-removeproperty" title="dom-CSSStyleDeclaration-removeProperty">removeProperty</a>(DOMString property);
   1.263 -  readonly attribute <a href="#cssrule">CSSRule</a>? <a href="#dom-cssstyledeclaration-length" title="dom-CSSStyleDeclaration-length">parentRule</a>;
   1.264 -           attribute DOMString <a href="#dom-cssstyledeclaration-cssfloat" title="dom-CSSStyleDeclaration-cssFloat">cssFloat</a>;<!-- setProperty's value arg has [TreatNullAs=EmptyString] -->
   1.265 +  DOMString <a href="#dom-cssdeclaration-removeproperty" title="dom-CSSDeclaration-removeProperty">removeProperty</a>(DOMString property);
   1.266 +  readonly attribute <a href="#cssrule">CSSRule</a>? <a href="#dom-cssdeclaration-length" title="dom-CSSDeclaration-length">parentRule</a>;
   1.267  };</pre>
   1.268  
   1.269  <p>The object's <a class="external" data-anolis-spec="webidl" href="http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices">supported property indices</a> are the numbers in the range zero to one less than the number of declarations in
   1.270  the <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>. If there are no such declarations, then there are no
   1.271  <a class="external" data-anolis-spec="webidl" href="http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices">supported property indices</a>.
   1.272  
   1.273 -<p>The <dfn id="dom-cssstyledeclaration-csstext" title="dom-CSSStyleDeclaration-cssText"><code>cssText</code></dfn> attribute must return the result of
   1.274 +<p>The <dfn id="dom-cssdeclaration-csstext" title="dom-CSSDeclaration-cssText"><code>cssText</code></dfn> attribute must return the result of
   1.275  <a href="#serialize-a-css-declaration-block" title="serialize a CSS declaration block">serializing</a> the <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>.</p>
   1.276 -<p>Setting the <code title="dom-CSSStyleDeclaration-cssText"><a href="#dom-cssstyledeclaration-csstext">cssText</a></code> attribute must run these steps:
   1.277 +<p>Setting the <code title="dom-CSSDeclaration-cssText"><a href="#dom-cssdeclaration-csstext">cssText</a></code> attribute must run these steps:
   1.278  <ol>
   1.279   <li><p>If the <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> is set, <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#concept-throw" title="concept-throw">throw</a>
   1.280   a <code class="external" data-anolis-spec="dom"><a href="http://dom.spec.whatwg.org/#nomodificationallowederror">NoModificationAllowedError</a></code> exception and terminate these steps.</li>
   1.281 @@ -2241,13 +2362,13 @@
   1.282   order</a>.</li>
   1.283  </ol>
   1.284  
   1.285 -<p>The <dfn id="dom-cssstyledeclaration-length" title="dom-CSSStyleDeclaration-length"><code>length</code></dfn> attribute must return the number of declarations in the
   1.286 +<p>The <dfn id="dom-cssdeclaration-length" title="dom-CSSDeclaration-length"><code>length</code></dfn> attribute must return the number of declarations in the
   1.287  <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>.</p>
   1.288  
   1.289 -<p>The <dfn id="dom-cssstyledeclaration-item" title="dom-CSSStyleDeclaration-item"><code>item(<var>index</var>)</code></dfn> method must return the name of the property at position
   1.290 +<p>The <dfn id="dom-cssdeclaration-item" title="dom-CSSDeclaration-item"><code>item(<var>index</var>)</code></dfn> method must return the name of the property at position
   1.291  <var>index</var>.</p>
   1.292  
   1.293 -<p>The <dfn id="dom-cssstyledeclaration-getpropertyvalue" title="dom-CSSStyleDeclaration-getPropertyValue"><code>getPropertyValue(<var>property</var>)</code></dfn> method must run these steps:</p>
   1.294 +<p>The <dfn id="dom-cssdeclaration-getpropertyvalue" title="dom-CSSDeclaration-getPropertyValue"><code>getPropertyValue(<var>property</var>)</code></dfn> method must run these steps:</p>
   1.295  <ol>
   1.296   <li><p>Let <var>property</var> be <var>property</var> <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.
   1.297   <li><p>If <var>property</var> is a shorthand property, then follow these substeps:
   1.298 @@ -2269,14 +2390,14 @@
   1.299   <li><p>Return the empty string.
   1.300  </ol>
   1.301  
   1.302 -<p>The <dfn id="dom-cssstyledeclaration-getpropertypriority" title="dom-CSSStyleDeclaration-getPropertyPriority"><code>getPropertyPriority(<var>property</var>)</code></dfn> method must run these steps:
   1.303 +<p>The <dfn id="dom-cssdeclaration-getpropertypriority" title="dom-CSSDeclaration-getPropertyPriority"><code>getPropertyPriority(<var>property</var>)</code></dfn> method must run these steps:
   1.304  <ol>
   1.305   <li><p>Let <var>property</var> be <var>property</var> <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.
   1.306   <li><p>If <var>property</var> is a shorthand property, follow these substeps:
   1.307    <ol>
   1.308     <li><p>Let <var>list</var> be a new array.
   1.309     <li><p>For each longhand property <var>longhand</var> that <var>property</var> maps to, append the result of invoking
   1.310 -   <code title="dom-CSSStyleDeclaration-getPropertyPriority"><a href="#dom-cssstyledeclaration-getpropertypriority">getPropertyPriority()</a></code> with <var>longhand</var> as argument to <var>list</var>.
   1.311 +   <code title="dom-CSSDeclaration-getPropertyPriority"><a href="#dom-cssdeclaration-getpropertypriority">getPropertyPriority()</a></code> with <var>longhand</var> as argument to <var>list</var>.
   1.312     <li><p>If all items in <var>list</var> are the string "<code title="">important</code>", return the string "<code title="">important</code>" and terminate these
   1.313     steps.
   1.314    </ol>
   1.315 @@ -2293,7 +2414,7 @@
   1.316  <div class="example"><p>E.g. for <code title="">background-color:lime !IMPORTANT</code> the return
   1.317  value would be "<code title="">important</code>".</div>
   1.318  
   1.319 -<p>The <dfn id="dom-cssstyledeclaration-setproperty" title="dom-CSSStyleDeclaration-setProperty"><code>setProperty(<var>property</var>, <var>value</var>,
   1.320 +<p>The <dfn id="dom-cssdeclaration-setproperty" title="dom-CSSDeclaration-setProperty"><code>setProperty(<var>property</var>, <var>value</var>,
   1.321  <var>priority</var>)</code></dfn> method must run these steps:</p>
   1.322  <ol>
   1.323   <li><p>If the <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> is set, <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#concept-throw" title="concept-throw">throw</a>
   1.324 @@ -2301,7 +2422,7 @@
   1.325   <li><p>Let <var>property</var> be <var>property</var> <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.
   1.326   <li><p>If <var>property</var> is not a <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#case-sensitive">case-sensitive</a> match for a <a href="#supported-css-property">supported CSS property</a>, terminate this
   1.327   algorithm.</li>
   1.328 - <li><p>If <var>value</var> is the empty string, invoke <code title="dom-CSSStyleDeclaration-removeProperty"><a href="#dom-cssstyledeclaration-removeproperty">removeProperty()</a></code>
   1.329 + <li><p>If <var>value</var> is the empty string, invoke <code title="dom-CSSDeclaration-removeProperty"><a href="#dom-cssdeclaration-removeproperty">removeProperty()</a></code>
   1.330   with <var>property</var> as argument and terminate this algorithm.</li>
   1.331   <li><p>If <var>priority</var> is not specified, let <var>priority action</var> be "leave as is". Otherwise, if <var>priority</var> is the empty string, let
   1.332   <var>priority action</var> be "unset important". Otherwise, if <var>priority</var> is an <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#ascii-case-insensitive">ASCII case-insensitive</a> match for the
   1.333 @@ -2333,28 +2454,35 @@
   1.334   <li><p>Otherwise, if <i>priority action</i> is "unset important", unset the declaration's <i>important</i> flag.
   1.335  </ol>
   1.336  
   1.337 -<p>The <dfn id="dom-cssstyledeclaration-removeproperty" title="dom-CSSStyleDeclaration-removeProperty"><code>removeProperty(<var>property</var>)</code></dfn> method must run these steps:</p>
   1.338 +<p>The <dfn id="dom-cssdeclaration-removeproperty" title="dom-CSSDeclaration-removeProperty"><code>removeProperty(<var>property</var>)</code></dfn> method must run these steps:</p>
   1.339  <ol>
   1.340   <li><p>If the <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> is set, <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#concept-throw" title="concept-throw">throw</a>
   1.341   a <code class="external" data-anolis-spec="dom"><a href="http://dom.spec.whatwg.org/#nomodificationallowederror">NoModificationAllowedError</a></code> exception and terminate these steps.</li>
   1.342   <li><p>Let <var>property</var> be <var>property</var> <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.
   1.343 - <li><p>Let <var>value</var> be the return value of invoking <code title="dom-CSSStyleDeclaration-getPropertyValue"><a href="#dom-cssstyledeclaration-getpropertyvalue">getPropertyValue()</a></code>
   1.344 + <li><p>Let <var>value</var> be the return value of invoking <code title="dom-CSSDeclaration-getPropertyValue"><a href="#dom-cssdeclaration-getpropertyvalue">getPropertyValue()</a></code>
   1.345   with <var>property</var> as argument.
   1.346   <li><p>If <var>property</var> is a shorthand property, for each longhand property <var>longhand</var> that <var>property</var> maps to, invoke
   1.347 - <code title="dom-CSSStyleDeclaration-removeProperty"><a href="#dom-cssstyledeclaration-removeproperty">removeProperty()</a></code> with <var>longhand</var> as argument.
   1.348 + <code title="dom-CSSDeclaration-removeProperty"><a href="#dom-cssdeclaration-removeproperty">removeProperty()</a></code> with <var>longhand</var> as argument.
   1.349   <li><p>Otherwise, if <var>property</var> is a <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#case-sensitive">case-sensitive</a> match for a property of a declaration in the
   1.350   <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>, remove the declaration.
   1.351   <li><p>Return <var>value</var>.
   1.352  </ol>
   1.353  
   1.354 -<p>The <dfn id="dom-cssstyledeclaration-parentrule" title="dom-CSSStyleDeclaration-parentRule"><code>parentRule</code></dfn> attribute must return the <code><a href="#cssrule">CSSrule</a></code> object the
   1.355 -<code><a href="#cssstyledeclaration">CSSStyleDeclaration</a></code> is object is associated with or null if it is not associated with a <code><a href="#cssrule">CSSrule</a></code> object.</p>
   1.356 +<p>The <dfn id="dom-cssdeclaration-parentrule" title="dom-CSSDeclaration-parentRule"><code>parentRule</code></dfn> attribute must return the <code><a href="#cssrule">CSSrule</a></code> object the
   1.357 +<code><a href="#cssdeclaration">CSSDeclaration</a></code> is object is associated with or null if it is not associated with a <code><a href="#cssrule">CSSrule</a></code> object.</p>
   1.358 +
   1.359 +
   1.360 +<h4 id="the-cssstyledeclaration-interface"><span class="secno">6.5.2 </span>The <code title="">CSSStyleDeclaration</code> Interface</h4>
   1.361 +
   1.362 +<pre class="idl">interface <dfn id="cssstyledeclaration">CSSStyleDeclaration</dfn> : <a href="#cssdeclaration">CSSDeclaration</a> {
   1.363 +           attribute DOMString <a href="#dom-cssstyledeclaration-cssfloat" title="dom-CSSStyleDeclaration-cssFloat">cssFloat</a>;<!-- setProperty's value arg has [TreatNullAs=EmptyString] -->
   1.364 +};</pre>
   1.365  
   1.366  <p>The <dfn id="dom-cssstyledeclaration-cssfloat" title="dom-CSSStyleDeclaration-cssFloat"><code>cssFloat</code></dfn>
   1.367  attribute, on getting, must return the result of invoking
   1.368 -<code title="dom-CSSStyleDeclaration-getPropertyValue"><a href="#dom-cssstyledeclaration-getpropertyvalue">getPropertyValue()</a></code> with
   1.369 +<code title="dom-CSSDeclaration-getPropertyValue"><a href="#dom-cssdeclaration-getpropertyvalue">getPropertyValue()</a></code> with
   1.370  <code title="">float</code> as argument. On setting, the attribute must invoke
   1.371 -<code title="dom-CSSStyleDeclaration-setProperty"><a href="#dom-cssstyledeclaration-setproperty">setProperty()</a></code> with
   1.372 +<code title="dom-CSSDeclaration-setProperty"><a href="#dom-cssdeclaration-setproperty">setProperty()</a></code> with
   1.373  <code title="">float</code> as first argument, as second argument the given value, and no third argument.
   1.374  Any exceptions thrown must be re-thrown.
   1.375  
   1.376 @@ -2368,12 +2496,12 @@
   1.377  };</pre>
   1.378  
   1.379  <p>The <dfn id="dom-cssstyledeclaration-camel-cased-attribute" title="dom-CSSStyleDeclaration-camel-cased-attribute"><code><var>camel-cased attribute</var></code></dfn> attribute, on getting, must return the
   1.380 -result of invoking <code title="dom-CSSStyleDeclaration-getPropertyValue"><a href="#dom-cssstyledeclaration-getpropertyvalue">getPropertyValue()</a></code> with the
   1.381 +result of invoking <code title="dom-CSSDeclaration-getPropertyValue"><a href="#dom-cssdeclaration-getpropertyvalue">getPropertyValue()</a></code> with the
   1.382  argument being the result of running the <a href="#idl-attribute-to-css-property">IDL attribute to CSS property</a>
   1.383  algorithm for <var>camel-cased attribute</var>.</p>
   1.384  
   1.385  <p>Setting the <code title="dom-CSSStyleDeclaration-camel-cased-attribute"><a href="#dom-cssstyledeclaration-camel-cased-attribute"><var>camel-cased attribute</var></a></code> attribute must invoke
   1.386 -<code title="dom-CSSStyleDeclaration-setProperty"><a href="#dom-cssstyledeclaration-setproperty">setProperty()</a></code> with the
   1.387 +<code title="dom-CSSDeclaration-setProperty"><a href="#dom-cssdeclaration-setproperty">setProperty()</a></code> with the
   1.388  first argument being the result of running the <a href="#idl-attribute-to-css-property">IDL attribute to CSS property</a>
   1.389  algorithm for <var>camel-cased attribute</var>, as second argument the given value, and no third argument. Any
   1.390  exceptions thrown must be re-thrown.</p>
   1.391 @@ -2388,11 +2516,11 @@
   1.392  <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>.
   1.393  
   1.394  <p>The <dfn title=dom-CSSStyleDeclaration-dashed-attribute><code><var>dashed attribute</var></code></dfn> attribute, on getting, must return the
   1.395 -result of invoking <code title=dom-CSSStyleDeclaration-getPropertyValue>getPropertyValue()</code> with the
   1.396 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
   1.397  argument being <var>dashed attribute</var>.</p>
   1.398  
   1.399  <p>Setting the <code title=dom-CSSStyleDeclaration-dashed-attribute><var>dashed attribute</var></code> attribute must invoke
   1.400 -<code title=dom-CSSStyleDeclaration-setProperty>setProperty()</code> with the
   1.401 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
   1.402  first argument being <var>dashed attribute</var>, as second argument the given value, and no third argument. Any
   1.403  exceptions thrown must be re-thrown.</p>
   1.404  
   1.405 @@ -2732,7 +2860,7 @@
   1.406  
   1.407  <pre class="idl">[NoInterfaceObject]
   1.408  interface <dfn id="elementcssinlinestyle">ElementCSSInlineStyle</dfn> {
   1.409 -  [SameObject, PutForwards=<a href="#dom-cssstyledeclaration-csstext" title="dom-CSSStyleDeclaration-cssText">cssText</a>] readonly attribute <a href="#cssstyledeclaration">CSSStyleDeclaration</a> <!--
   1.410 +  [SameObject, PutForwards=<a href="#dom-cssdeclaration-csstext" title="dom-CSSDeclaration-cssText">cssText</a>] readonly attribute <a href="#cssstyledeclaration">CSSStyleDeclaration</a> <!--
   1.411    --><a href="#dom-elementcssinlinestyle-style" title="dom-ElementCSSInlineStyle-style">style</a>;
   1.412  };</pre>
   1.413  
     2.1 --- a/cssom/Overview.src.html	Tue Aug 20 17:36:47 2013 -0700
     2.2 +++ b/cssom/Overview.src.html	Wed Aug 21 10:29:36 2013 +0200
     2.3 @@ -1797,6 +1797,7 @@
     2.4    const unsigned short <span title=dom-CSSRule-MEDIA_RULE>MEDIA_RULE</span> = 4;
     2.5    const unsigned short <span title=dom-CSSRule-FONT_FACE_RULE>FONT_FACE_RULE</span> = 5;
     2.6    const unsigned short <span title=dom-CSSRule-PAGE_RULE>PAGE_RULE</span> = 6;
     2.7 +  const unsigned short <span title=dom-CSSRule-MARGIN_RULE>MARGIN_RULE</span> = 9;
     2.8    const unsigned short <span title=dom-CSSRule-NAMESPACE_RULE>NAMESPACE_RULE</span> = 10;
     2.9    readonly attribute unsigned short <span title=dom-CSSRule-type>type</span>;
    2.10    attribute DOMString <span title=dom-CSSRule-cssText>cssText</span>;
    2.11 @@ -1820,6 +1821,8 @@
    2.12   <dt>If the object is a <code>CSSPageRule</code>
    2.13   <dd><p>Return <dfn title=dom-CSSRule-PAGE_RULE><code>PAGE_RULE</code></dfn> (numeric value 6).
    2.14   <dt>If the object is a <code>CSSNamespaceRule</code>
    2.15 + <dd><p>Return <dfn title=dom-CSSRule-MARGIN_RULE><code>MARGIN_RULE</code></dfn> (numeric value 9).
    2.16 + <dt>If the object is a <code>CSSMarginRule</code>
    2.17   <dd><p>Return <dfn title=dom-CSSRule-NAMESPACE_RULE><code>NAMESPACE_RULE</code></dfn> (numeric value 10).
    2.18   <dt>Otherwise
    2.19   <dd><p>Return a value defined on the <a href='http://wiki.csswg.org/spec/cssom-constants'>CSSOM Constants</a> wiki page.
    2.20 @@ -1870,7 +1873,7 @@
    2.21  
    2.22  <pre class=idl>interface <dfn>CSSStyleRule</dfn> : <span>CSSRule</span> {
    2.23    attribute DOMString <span title=dom-CSSStyleRule-selectorText>selectorText</span>;
    2.24 -  [SameObject, PutForwards=<span title=dom-CSSStyleDeclaration-cssText>cssText</span>] readonly attribute <span>CSSStyleDeclaration</span> <!--
    2.25 +  [SameObject, PutForwards=<span title=dom-CSSDeclaration-cssText>cssText</span>] readonly attribute <span>CSSStyleDeclaration</span> <!--
    2.26    --><span title=dom-CSSStyleRule-style>style</span>;
    2.27  };</pre>
    2.28  
    2.29 @@ -1961,6 +1964,53 @@
    2.30  with the <code title>@media</code> at-rule.</p>
    2.31  
    2.32  
    2.33 +<h4>The <code title>CSSPageDeclaration</code> Interface</h4>
    2.34 +
    2.35 +<p>The <code>CSSPageDeclaration</code> interface represents the declarations in an <code title>@page</code> at-rule.
    2.36 +
    2.37 +<pre class=idl>interface <dfn>CSSPageDeclaration</dfn> : <span>CSSDeclaration</span> {
    2.38 +};</pre>
    2.39 +
    2.40 +<p>A <dfn>CSS page context property</dfn> is a CSS property that applies within the page context according to the CSS Page specification.
    2.41 +<span data-anolis-ref>CSSPAGE</span>
    2.42 +
    2.43 +<p>For each CSS property <var>property</var> that is a <span>CSS page context property</span>, the following partial interface applies where
    2.44 +<var>camel-cased attribute</var> is obtained by running the <span>CSS property to IDL attribute</span> algorithm for <var>property</var>.</p>
    2.45 +
    2.46 +<pre class="idl extract">partial interface <span>CSSPageDeclaration</span> {
    2.47 +           attribute DOMString _<span title=dom-CSSPageDeclaration-camel-cased-attribute><var>camel-cased attribute</var></span>;
    2.48 +};</pre>
    2.49 +
    2.50 +<p>The <dfn title=dom-CSSPageDeclaration-camel-cased-attribute><code><var>camel-cased attribute</var></code></dfn> attribute, on getting, must return the
    2.51 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
    2.52 +argument being the result of running the <span>IDL attribute to CSS property</span>
    2.53 +algorithm for <var>camel-cased attribute</var>.</p>
    2.54 +
    2.55 +<p>Setting the <code title=dom-CSSPageDeclaration-camel-cased-attribute><var>camel-cased attribute</var></code> attribute must invoke
    2.56 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
    2.57 +first argument being the result of running the <span>IDL attribute to CSS property</span>
    2.58 +algorithm for <var>camel-cased attribute</var>, as second argument the given value, and no third argument. Any
    2.59 +exceptions thrown must be re-thrown.</p>
    2.60 +
    2.61 +<!-- [GA] Remove spec text for so called "dashed-attribute" until consensus obtains on whether to include in spec.
    2.62 +
    2.63 +<p>For each CSS property <var>property</var> that is a <span>CSS page context property</span>, except for properties that have no
    2.64 +"<code title>-</code>" (U+002D) in the property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span>
    2.65 +member as part of the <code>CSSPageDeclaration</code> interface with the type being <code title>DOMString</code> and the
    2.66 +<span data-anolis-spec=webidl>identifier</span> being <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>.
    2.67 +
    2.68 +<p>The <dfn title=dom-CSSPageDeclaration-dashed-attribute><code><var>dashed attribute</var></code></dfn> attribute, on getting, must return the
    2.69 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
    2.70 +argument being <var>dashed attribute</var>.</p>
    2.71 +
    2.72 +<p>Setting the <code title=dom-CSSPageDeclaration-dashed-attribute><var>dashed attribute</var></code> attribute must invoke
    2.73 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
    2.74 +first argument being <var>dashed attribute</var>, as second argument the given value, and no third argument. Any
    2.75 +exceptions thrown must be re-thrown.</p>
    2.76 +
    2.77 +-->
    2.78 +
    2.79 +
    2.80  <h4>The <code title>CSSPageRule</code> Interface</h4>
    2.81   
    2.82  <p>The <code>CSSPageRule</code> interface represents an <code title>@page</code> at-rule.</p>
    2.83 @@ -1968,9 +2018,9 @@
    2.84  <dfn>parse a list of CSS page selectors</dfn> and
    2.85  <dfn>serialize a list of CSS page selectors</dfn>.</p>
    2.86  
    2.87 -<pre class=idl>interface <dfn>CSSPageRule</dfn> : <span>CSSRule</span> {
    2.88 -  attribute DOMString <span title=dom-CSSPageRule-selectorText>selectorText</span>;
    2.89 -  [SameObject, PutForwards=<span title=dom-CSSStyleDeclaration-cssText>cssText</span>] readonly attribute <span>CSSStyleDeclaration</span> <!--
    2.90 +<pre class=idl>interface <dfn>CSSPageRule</dfn> : <span>CSSGroupingRule</span> {
    2.91 +           attribute DOMString <span title=dom-CSSPageRule-selectorText>selectorText</span>;
    2.92 +  [SameObject, PutForwards=<span title=dom-CSSDeclaration-cssText>cssText</span>] readonly attribute <span>CSSPageDeclaration</span> <!--
    2.93    --><span title=dom-CSSPageRule-style>style</span>;
    2.94  };</pre>
    2.95  
    2.96 @@ -1983,8 +2033,76 @@
    2.97   <li><p>Otherwise, if the algorithm returns a null value, do nothing.</p></li>
    2.98  </ol>
    2.99  
   2.100 -<p>The <dfn title=dom-CSSPageRule-style><code>style</code></dfn> attribute must return a <code>CSSStyleDeclaration</code> for the <code title>@page</code>
   2.101 -at-rule.</p>
   2.102 +<p>The <dfn title=dom-CSSPageRule-style><code>style</code></dfn> attribute must return a <code>CSSPageDeclaration</code> object for the <code title>@page</code>
   2.103 +at-rule, with the <span title=concept-css-declaration-block-declarations>declarations</span> being the declared declarations in the rule, in
   2.104 +<span title=concept-declarations-specified-order>specified order</span>.</p>
   2.105 +
   2.106 +
   2.107 +<h4>The <code title>CSSMarginDeclaration</code> Interface</h4>
   2.108 +
   2.109 +<p>The <code>CSSMarginDeclaration</code> interface represents the declarations in a margin at-rule (e.g. <code title>@top-left</code>) in an
   2.110 +<code title>@page</code> at-rule. <span data-anolis-ref>CSSPAGE</span>
   2.111 +
   2.112 +<pre class=idl>interface <dfn>CSSMarginDeclaration</dfn> : <span>CSSDeclaration</span> {
   2.113 +};</pre>
   2.114 +
   2.115 +<p>A <dfn>CSS margin context property</dfn> is a CSS property that applies within the margin context according to the CSS Page specification.
   2.116 +<span data-anolis-ref>CSSPAGE</span>
   2.117 +
   2.118 +<p>For each CSS property <var>property</var> that is a <span>CSS margin context property</span>, the following partial interface applies where
   2.119 +<var>camel-cased attribute</var> is obtained by running the <span>CSS property to IDL attribute</span> algorithm for <var>property</var>.</p>
   2.120 +
   2.121 +<pre class="idl extract">partial interface <span>CSSMarginDeclaration</span> {
   2.122 +           attribute DOMString _<span title=dom-CSSMarginDeclaration-camel-cased-attribute><var>camel-cased attribute</var></span>;
   2.123 +};</pre>
   2.124 +
   2.125 +<p>The <dfn title=dom-CSSMarginDeclaration-camel-cased-attribute><code><var>camel-cased attribute</var></code></dfn> attribute, on getting, must return the
   2.126 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
   2.127 +argument being the result of running the <span>IDL attribute to CSS property</span>
   2.128 +algorithm for <var>camel-cased attribute</var>.</p>
   2.129 +
   2.130 +<p>Setting the <code title=dom-CSSMarginDeclaration-camel-cased-attribute><var>camel-cased attribute</var></code> attribute must invoke
   2.131 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
   2.132 +first argument being the result of running the <span>IDL attribute to CSS property</span>
   2.133 +algorithm for <var>camel-cased attribute</var>, as second argument the given value, and no third argument. Any
   2.134 +exceptions thrown must be re-thrown.</p>
   2.135 +
   2.136 +<!-- [GA] Remove spec text for so called "dashed-attribute" until consensus obtains on whether to include in spec.
   2.137 +
   2.138 +<p>For each CSS property <var>property</var> that is a <span>CSS margin context property</span>, except for properties that have no
   2.139 +"<code title>-</code>" (U+002D) in the property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span>
   2.140 +member as part of the <code>CSSMarginDeclaration</code> interface with the type being <code title>DOMString</code> and the
   2.141 +<span data-anolis-spec=webidl>identifier</span> being <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>.
   2.142 +
   2.143 +<p>The <dfn title=dom-CSSMarginDeclaration-dashed-attribute><code><var>dashed attribute</var></code></dfn> attribute, on getting, must return the
   2.144 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
   2.145 +argument being <var>dashed attribute</var>.</p>
   2.146 +
   2.147 +<p>Setting the <code title=dom-CSSMarginDeclaration-dashed-attribute><var>dashed attribute</var></code> attribute must invoke
   2.148 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
   2.149 +first argument being <var>dashed attribute</var>, as second argument the given value, and no third argument. Any
   2.150 +exceptions thrown must be re-thrown.</p>
   2.151 +
   2.152 +-->
   2.153 +
   2.154 +
   2.155 +<h4>The <code title>CSSMarginRule</code> Interface</h4>
   2.156 +
   2.157 +<p>The <code title>CSSMarginRule</code> interface represents a margin at-rule (e.g. <code title>@top-left</code>) in an <code title>@page</code> at-rule.
   2.158 +<span data-anolis-ref>CSSPAGE</span>
   2.159 +
   2.160 +<pre class=idl>interface <dfn>CSSMarginRule</dfn> : <span>CSSRule</span> {
   2.161 +  readonly attribute DOMString <span title=dom-CSSMarginRule-name>name</span>;
   2.162 +  [SameObject, PutForwards=<span title=dom-CSSDeclaration-cssText>cssText</span>] readonly attribute <span>CSSPageDeclaration</span> <!--
   2.163 +  --><span title=dom-CSSMarginRule-style>style</span>;
   2.164 +};</pre>
   2.165 +
   2.166 +<p>The <dfn title=dom-CSSMarginRule-name><code>name</code></dfn> attribute must return the name of the margin at-rule. The <code title>@</code> character is not
   2.167 +included in the name. <span data-anolis-ref>CSSSYNTAX</span>
   2.168 +
   2.169 +<p>The <dfn title=dom-CSSMarginRule-style><code>style</code></dfn> attribute must return a <code>CSSMarginDeclaration</code> object for the
   2.170 +margin at-rule, with the <span title=concept-css-declaration-block-declarations>declarations</span> being the declared declarations in the rule, in
   2.171 +<span title=concept-declarations-specified-order>specified order</span>.</p>
   2.172  
   2.173  
   2.174  <h4>The <code title>CSSNamespaceRule</code> Interface</h4>
   2.175 @@ -2032,7 +2150,7 @@
   2.176  <p>A <dfn>CSS declaration block</dfn> is an ordered collection of CSS
   2.177  properties with their associated values, also named CSS declarations. In
   2.178  the DOM a <span>CSS declaration block</span> is a
   2.179 -<code>CSSStyleDeclaration</code> object. A
   2.180 +<code>CSSDeclaration</code> object. A
   2.181  <span>CSS declaration block</span> has two associated properties:</p>
   2.182  
   2.183  <dl>
   2.184 @@ -2119,7 +2237,10 @@
   2.185   <li><p>Order <var>shorthands</var> by the number of longhand properties that map to it, with the greatest number first.
   2.186  </ol>
   2.187  
   2.188 -<h4>The <code title>CSSStyleDeclaration</code> Interface</h4>
   2.189 +<h4>The <code title>CSSDeclaration</code> Interface</h4>
   2.190 +
   2.191 +<p>The <code>CSSDeclaration</code> interface represents a <span>CSS declaration block</span>, including its underlying state, where this
   2.192 +underlying state depends upon the source of the <code>CSSDeclaration</Code> instance.</p>
   2.193  
   2.194  <!--
   2.195  //
   2.196 @@ -2131,29 +2252,25 @@
   2.197  //
   2.198  -->
   2.199  
   2.200 -<p>The <code>CSSStyleDeclaration</code> interface represents a <span>CSS declaration block</span>, including its underlying state, where this
   2.201 -underlying state depends upon the source of the <code>CSSStyleDeclaration</Code> instance.</p>
   2.202 -
   2.203 -<pre class=idl>interface <dfn>CSSStyleDeclaration</dfn> {
   2.204 -  attribute DOMString <span title=dom-CSSStyleDeclaration-cssText>cssText</span>;
   2.205 -  readonly attribute unsigned long <span title=dom-CSSStyleDeclaration-length>length</span>;
   2.206 -  getter DOMString <span title=dom-CSSStyleDeclaration-item>item</span>(unsigned long index);
   2.207 -  DOMString <span title=dom-CSSStyleDeclaration-getPropertyValue>getPropertyValue</span>(DOMString property);
   2.208 -  DOMString <span title=dom-CSSStyleDeclaration-getPropertyPriority>getPropertyPriority</span>(DOMString property);
   2.209 -  void <span title=dom-CSSStyleDeclaration-setProperty>setProperty</span>(DOMString property, [TreatNullAs=EmptyString] DOMString value, <!--
   2.210 +<pre class=idl>interface <dfn>CSSDeclaration</dfn> {
   2.211 +  attribute DOMString <span title=dom-CSSDeclaration-cssText>cssText</span>;
   2.212 +  readonly attribute unsigned long <span title=dom-CSSDeclaration-length>length</span>;
   2.213 +  getter DOMString <span title=dom-CSSDeclaration-item>item</span>(unsigned long index);
   2.214 +  DOMString <span title=dom-CSSDeclaration-getPropertyValue>getPropertyValue</span>(DOMString property);
   2.215 +  DOMString <span title=dom-CSSDeclaration-getPropertyPriority>getPropertyPriority</span>(DOMString property);
   2.216 +  void <span title=dom-CSSDeclaration-setProperty>setProperty</span>(DOMString property, [TreatNullAs=EmptyString] DOMString value, <!--
   2.217    -->[TreatNullAs=EmptyString] optional DOMString priority);
   2.218 -  DOMString <span title=dom-CSSStyleDeclaration-removeProperty>removeProperty</span>(DOMString property);
   2.219 -  readonly attribute <span>CSSRule</span>? <span title=dom-CSSStyleDeclaration-length>parentRule</span>;
   2.220 -           attribute DOMString <span title=dom-CSSStyleDeclaration-cssFloat>cssFloat</span>;<!-- setProperty's value arg has [TreatNullAs=EmptyString] -->
   2.221 +  DOMString <span title=dom-CSSDeclaration-removeProperty>removeProperty</span>(DOMString property);
   2.222 +  readonly attribute <span>CSSRule</span>? <span title=dom-CSSDeclaration-length>parentRule</span>;
   2.223  };</pre>
   2.224  
   2.225  <p>The object's <span data-anolis-spec=webidl>supported property indices</span> are the numbers in the range zero to one less than the number of declarations in
   2.226  the <span title=concept-css-declaration-block-declarations>declarations</span>. If there are no such declarations, then there are no
   2.227  <span data-anolis-spec=webidl>supported property indices</span>.
   2.228  
   2.229 -<p>The <dfn title=dom-CSSStyleDeclaration-cssText><code>cssText</code></dfn> attribute must return the result of
   2.230 +<p>The <dfn title=dom-CSSDeclaration-cssText><code>cssText</code></dfn> attribute must return the result of
   2.231  <span title='serialize a CSS declaration block'>serializing</span> the <span title=concept-css-declaration-block-declarations>declarations</span>.</p>
   2.232 -<p>Setting the <code title=dom-CSSStyleDeclaration-cssText>cssText</code> attribute must run these steps:
   2.233 +<p>Setting the <code title=dom-CSSDeclaration-cssText>cssText</code> attribute must run these steps:
   2.234  <ol>
   2.235   <li><p>If the <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> is set, <span data-anolis-spec=dom title=concept-throw>throw</span>
   2.236   a <code data-anolis-spec=dom>NoModificationAllowedError</code> exception and terminate these steps.</li>
   2.237 @@ -2163,13 +2280,13 @@
   2.238   order</span>.</p></li>
   2.239  </ol>
   2.240  
   2.241 -<p>The <dfn title=dom-CSSStyleDeclaration-length><code>length</code></dfn> attribute must return the number of declarations in the
   2.242 +<p>The <dfn title=dom-CSSDeclaration-length><code>length</code></dfn> attribute must return the number of declarations in the
   2.243  <span title=concept-css-declaration-block-declarations>declarations</span>.</p>
   2.244  
   2.245 -<p>The <dfn title=dom-CSSStyleDeclaration-item><code>item(<var>index</var>)</code></dfn> method must return the name of the property at position
   2.246 +<p>The <dfn title=dom-CSSDeclaration-item><code>item(<var>index</var>)</code></dfn> method must return the name of the property at position
   2.247  <var>index</var>.</p>
   2.248  
   2.249 -<p>The <dfn title=dom-CSSStyleDeclaration-getPropertyValue><code>getPropertyValue(<var>property</var>)</code></dfn> method must run these steps:</p>
   2.250 +<p>The <dfn title=dom-CSSDeclaration-getPropertyValue><code>getPropertyValue(<var>property</var>)</code></dfn> method must run these steps:</p>
   2.251  <ol>
   2.252   <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>.
   2.253   <li><p>If <var>property</var> is a shorthand property, then follow these substeps:
   2.254 @@ -2191,14 +2308,14 @@
   2.255   <li><p>Return the empty string.
   2.256  </ol>
   2.257  
   2.258 -<p>The <dfn title=dom-CSSStyleDeclaration-getPropertyPriority><code>getPropertyPriority(<var>property</var>)</code></dfn> method must run these steps:
   2.259 +<p>The <dfn title=dom-CSSDeclaration-getPropertyPriority><code>getPropertyPriority(<var>property</var>)</code></dfn> method must run these steps:
   2.260  <ol>
   2.261   <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>.
   2.262   <li><p>If <var>property</var> is a shorthand property, follow these substeps:
   2.263    <ol>
   2.264     <li><p>Let <var>list</var> be a new array.
   2.265     <li><p>For each longhand property <var>longhand</var> that <var>property</var> maps to, append the result of invoking
   2.266 -   <code title=dom-CSSStyleDeclaration-getPropertyPriority>getPropertyPriority()</code> with <var>longhand</var> as argument to <var>list</var>.
   2.267 +   <code title=dom-CSSDeclaration-getPropertyPriority>getPropertyPriority()</code> with <var>longhand</var> as argument to <var>list</var>.
   2.268     <li><p>If all items in <var>list</var> are the string "<code title>important</code>", return the string "<code title>important</code>" and terminate these
   2.269     steps.
   2.270    </ol>
   2.271 @@ -2215,7 +2332,7 @@
   2.272  <div class='example'><p>E.g. for <code title>background-color:lime !IMPORTANT</code> the return
   2.273  value would be "<code title>important</code>".</div>
   2.274  
   2.275 -<p>The <dfn title=dom-CSSStyleDeclaration-setProperty><code>setProperty(<var>property</var>, <var>value</var>,
   2.276 +<p>The <dfn title=dom-CSSDeclaration-setProperty><code>setProperty(<var>property</var>, <var>value</var>,
   2.277  <var>priority</var>)</code></dfn> method must run these steps:</p>
   2.278  <ol>
   2.279   <li><p>If the <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> is set, <span data-anolis-spec=dom title=concept-throw>throw</span>
   2.280 @@ -2223,7 +2340,7 @@
   2.281   <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>.
   2.282   <li><p>If <var>property</var> is not a <span data-anolis-spec=dom>case-sensitive</span> match for a <span>supported CSS property</span>, terminate this
   2.283   algorithm.</p></li>
   2.284 - <li><p>If <var>value</var> is the empty string, invoke <code title='dom-CSSStyleDeclaration-removeProperty'>removeProperty()</code>
   2.285 + <li><p>If <var>value</var> is the empty string, invoke <code title='dom-CSSDeclaration-removeProperty'>removeProperty()</code>
   2.286   with <var>property</var> as argument and terminate this algorithm.</p></li>
   2.287   <li><p>If <var>priority</var> is not specified, let <var>priority action</var> be "leave as is". Otherwise, if <var>priority</var> is the empty string, let
   2.288   <var>priority action</var> be "unset important". Otherwise, if <var>priority</var> is an <span data-anolis-spec=dom>ASCII case-insensitive</span> match for the
   2.289 @@ -2255,28 +2372,35 @@
   2.290   <li><p>Otherwise, if <i>priority action</i> is "unset important", unset the declaration's <i>important</i> flag.
   2.291  </ol>
   2.292  
   2.293 -<p>The <dfn title=dom-CSSStyleDeclaration-removeProperty><code>removeProperty(<var>property</var>)</code></dfn> method must run these steps:</p>
   2.294 +<p>The <dfn title=dom-CSSDeclaration-removeProperty><code>removeProperty(<var>property</var>)</code></dfn> method must run these steps:</p>
   2.295  <ol>
   2.296   <li><p>If the <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> is set, <span data-anolis-spec=dom title=concept-throw>throw</span>
   2.297   a <code data-anolis-spec=dom>NoModificationAllowedError</code> exception and terminate these steps.</li>
   2.298   <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>.
   2.299 - <li><p>Let <var>value</var> be the return value of invoking <code title='dom-CSSStyleDeclaration-getPropertyValue'>getPropertyValue()</code>
   2.300 + <li><p>Let <var>value</var> be the return value of invoking <code title='dom-CSSDeclaration-getPropertyValue'>getPropertyValue()</code>
   2.301   with <var>property</var> as argument.
   2.302   <li><p>If <var>property</var> is a shorthand property, for each longhand property <var>longhand</var> that <var>property</var> maps to, invoke
   2.303 - <code title=dom-CSSStyleDeclaration-removeProperty>removeProperty()</code> with <var>longhand</var> as argument.
   2.304 + <code title=dom-CSSDeclaration-removeProperty>removeProperty()</code> with <var>longhand</var> as argument.
   2.305   <li><p>Otherwise, if <var>property</var> is a <span data-anolis-spec=dom>case-sensitive</span> match for a property of a declaration in the
   2.306   <span title=concept-css-declaration-block-declarations>declarations</span>, remove the declaration.
   2.307   <li><p>Return <var>value</var>.
   2.308  </ol>
   2.309  
   2.310 -<p>The <dfn title=dom-CSSStyleDeclaration-parentRule><code>parentRule</code></dfn> attribute must return the <code>CSSrule</code> object the
   2.311 -<code>CSSStyleDeclaration</code> is object is associated with or null if it is not associated with a <code>CSSrule</code> object.</p>
   2.312 +<p>The <dfn title=dom-CSSDeclaration-parentRule><code>parentRule</code></dfn> attribute must return the <code>CSSrule</code> object the
   2.313 +<code>CSSDeclaration</code> is object is associated with or null if it is not associated with a <code>CSSrule</code> object.</p>
   2.314 +
   2.315 +
   2.316 +<h4>The <code title>CSSStyleDeclaration</code> Interface</h4>
   2.317 +
   2.318 +<pre class=idl>interface <dfn>CSSStyleDeclaration</dfn> : <span>CSSDeclaration</span> {
   2.319 +           attribute DOMString <span title=dom-CSSStyleDeclaration-cssFloat>cssFloat</span>;<!-- setProperty's value arg has [TreatNullAs=EmptyString] -->
   2.320 +};</pre>
   2.321  
   2.322  <p>The <dfn title=dom-CSSStyleDeclaration-cssFloat><code>cssFloat</code></dfn>
   2.323  attribute, on getting, must return the result of invoking
   2.324 -<code title=dom-CSSStyleDeclaration-getPropertyValue>getPropertyValue()</code> with
   2.325 +<code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with
   2.326  <code title>float</code> as argument. On setting, the attribute must invoke
   2.327 -<code title=dom-CSSStyleDeclaration-setProperty>setProperty()</code> with
   2.328 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with
   2.329  <code title>float</code> as first argument, as second argument the given value, and no third argument.
   2.330  Any exceptions thrown must be re-thrown.
   2.331  
   2.332 @@ -2290,12 +2414,12 @@
   2.333  };</pre>
   2.334  
   2.335  <p>The <dfn title=dom-CSSStyleDeclaration-camel-cased-attribute><code><var>camel-cased attribute</var></code></dfn> attribute, on getting, must return the
   2.336 -result of invoking <code title=dom-CSSStyleDeclaration-getPropertyValue>getPropertyValue()</code> with the
   2.337 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
   2.338  argument being the result of running the <span>IDL attribute to CSS property</span>
   2.339  algorithm for <var>camel-cased attribute</var>.</p>
   2.340  
   2.341  <p>Setting the <code title=dom-CSSStyleDeclaration-camel-cased-attribute><var>camel-cased attribute</var></code> attribute must invoke
   2.342 -<code title=dom-CSSStyleDeclaration-setProperty>setProperty()</code> with the
   2.343 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
   2.344  first argument being the result of running the <span>IDL attribute to CSS property</span>
   2.345  algorithm for <var>camel-cased attribute</var>, as second argument the given value, and no third argument. Any
   2.346  exceptions thrown must be re-thrown.</p>
   2.347 @@ -2310,11 +2434,11 @@
   2.348  <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>.
   2.349  
   2.350  <p>The <dfn title=dom-CSSStyleDeclaration-dashed-attribute><code><var>dashed attribute</var></code></dfn> attribute, on getting, must return the
   2.351 -result of invoking <code title=dom-CSSStyleDeclaration-getPropertyValue>getPropertyValue()</code> with the
   2.352 +result of invoking <code title=dom-CSSDeclaration-getPropertyValue>getPropertyValue()</code> with the
   2.353  argument being <var>dashed attribute</var>.</p>
   2.354  
   2.355  <p>Setting the <code title=dom-CSSStyleDeclaration-dashed-attribute><var>dashed attribute</var></code> attribute must invoke
   2.356 -<code title=dom-CSSStyleDeclaration-setProperty>setProperty()</code> with the
   2.357 +<code title=dom-CSSDeclaration-setProperty>setProperty()</code> with the
   2.358  first argument being <var>dashed attribute</var>, as second argument the given value, and no third argument. Any
   2.359  exceptions thrown must be re-thrown.</p>
   2.360  
   2.361 @@ -2654,7 +2778,7 @@
   2.362  
   2.363  <pre class=idl>[NoInterfaceObject]
   2.364  interface <dfn>ElementCSSInlineStyle</dfn> {
   2.365 -  [SameObject, PutForwards=<span title=dom-CSSStyleDeclaration-cssText>cssText</span>] readonly attribute <span>CSSStyleDeclaration</span> <!--
   2.366 +  [SameObject, PutForwards=<span title=dom-CSSDeclaration-cssText>cssText</span>] readonly attribute <span>CSSStyleDeclaration</span> <!--
   2.367    --><span title=dom-ElementCSSInlineStyle-style>style</span>;
   2.368  };</pre>
   2.369  

mercurial