Wed, 21 Aug 2013 10:29:36 +0200
[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