Fri, 28 Jun 2013 10:53:31 +0200
[cssom] Assume that all properties are case-insensitive. https://www.w3.org/Bugs/Public/show_bug.cgi?id=22508
cssom/Overview.html | file | annotate | diff | comparison | revisions | |
cssom/Overview.src.html | file | annotate | diff | comparison | revisions |
1.1 --- a/cssom/Overview.html Thu Jun 27 16:21:08 2013 -0700 1.2 +++ b/cssom/Overview.html Fri Jun 28 10:53:31 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 27 June 2013</h2> 1.8 + <h2 class="no-num no-toc" id="w3c-doctype">Editor's Draft 28 June 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 27 June 2013 Editor's Draft of CSSOM. Please send comments to 1.17 +<p class="dontpublish">This is the 28 June 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 @@ -287,6 +287,12 @@ 1.22 1.23 <p class="note">If another styling language becomes supported in user agents, this specification is expected to be updated as necessary. 1.24 1.25 +<p>The term <dfn id="supported-css-property">supported CSS property</dfn> refers to a CSS property that the user agent implements, and that is defined to be a case-insensitive property in 1.26 +the CSS specification. A <a href="#supported-css-property">supported CSS property</a> must be in its lowercase form for the purpose of comparisons this specification. 1.27 + 1.28 +<p class="note">CSS properties that are case-sensitive such as CSS Variables are author-defined and are represented with dedicated interfaces, and do not 1.29 +participate in the base CSSOM API. <a class="informative" href="#refsCSSVARIABLES">[CSSVARIABLES]</a> 1.30 + 1.31 <p>The terms <dfn id="::before-pseudo-element">::before pseudo-element</dfn> and <dfn id="::after-pseudo-element">::after pseudo-element</dfn> refer to the :before and :after pseudo-elements in CSS, except in this 1.32 specification the pseudo-elements are assumed to exist for all elements even if no box is generated for them. <a href="#refsCSS">[CSS]</a> 1.33 1.34 @@ -2204,16 +2210,10 @@ 1.35 <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.36 <ol> 1.37 <!-- XXX handle shorthands better --> 1.38 - <li><p>If <var>property</var> is an <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#ascii-case-insensitive">ASCII 1.39 - case-insensitive</a> match for a property of a declaration in the 1.40 - <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>, and that declaration's property 1.41 - is defined to be case-insensitive, return the 1.42 - <a href="#serialize-a-css-value" title="serialize a CSS value">serialization</a> of that declaration's 1.43 - value. 1.44 + <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.45 <li><p>If <var>property</var> is a <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#case-sensitive">case-sensitive</a> 1.46 match for a property of a declaration in the 1.47 - <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>, and that declaration's property 1.48 - is defined to be case-sensitive, return the 1.49 + <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>, return the 1.50 <a href="#serialize-a-css-value" title="serialize a CSS value">serialization</a> of that declaration's 1.51 value. 1.52 <li><p>Return the empty string. 1.53 @@ -2221,6 +2221,7 @@ 1.54 1.55 <p>The <dfn id="dom-cssstyledeclaration-getpropertypriority" title="dom-CSSStyleDeclaration-getPropertyPriority"><code>getPropertyPriority(<var>property</var>)</code></dfn> method must run these steps: 1.56 <ol> 1.57 + <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.58 <li><p>If <var>property</var> is a shorthand property, follow these substeps: 1.59 <ol> 1.60 <li><p>Let <var>list</var> be a new array. 1.61 @@ -2231,14 +2232,10 @@ 1.62 </ol> 1.63 <li><p>Otherwise, follow these substeps: 1.64 <ol> 1.65 - <li><p>If <var>property</var> is an <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#ascii-case-insensitive">ASCII 1.66 - case-insensitive</a> match for a property of a declaration in the <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> that has the 1.67 - <i>important</i> flag set, and that declaration's 1.68 - property is defined to be case-insensitive, return the string "<code title="">important</code>".</p> 1.69 <li><p>If <var>property</var> is a 1.70 <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#case-sensitive">case-sensitive</a> match for a property of a 1.71 declaration in the <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> that has the 1.72 - <i>important</i> flag set, and that declaration's property is defined to be case-sensitive, return 1.73 + <i>important</i> flag set, return 1.74 the string "<code title="">important</code>".</p> 1.75 </ol> 1.76 <li><p>Return the empty string. 1.77 @@ -2252,15 +2249,15 @@ 1.78 <!-- XXX handle shorthands better --> 1.79 <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.80 an <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.81 - <li><p>If <var>property</var> is not an <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#ascii-case-insensitive">ASCII case-insensitive</a> match for a supported property that is defined to be 1.82 - case-insensitive, or 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 supported property that is defined to 1.83 - be case-sensitive, terminate this algorithm.</li> 1.84 + <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.85 + <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.86 + algorithm.</li> 1.87 <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.88 with <var>property</var> as argument and terminate this algorithm.</li> 1.89 <li><p>If <var>priority</var> is neither an <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#ascii-case-insensitive">ASCII case-insensitive</a> match for the string "<code title="">important</code>" 1.90 nor the empty string terminate this algorithm.</li> 1.91 <li> 1.92 - <p>If <a href="#parse-a-css-value" title="parse a CSS value">parsing the <var>value</var></a> returns null terminate this algorithm. 1.93 + <p>If <a href="#parse-a-css-value" title="parse a CSS value">parsing</a> <var>value</var> returns null terminate this algorithm. 1.94 <p class="note"><var>value</var> can not include "<code title="">!important</code>".</p> 1.95 </li> 1.96 <li><p>Finally, set <var>property</var> to <var>value</var> with the <i>important</i> flag set if <var>priority</var> is not the empty 1.97 @@ -2271,19 +2268,13 @@ 1.98 <ol> 1.99 <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.100 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.101 + <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.102 <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.103 with <var>property</var> as argument. 1.104 <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.105 <code title="dom-CSSStyleDeclaration-removeProperty"><a href="#dom-cssstyledeclaration-removeproperty">removeProperty()</a></code> with <var>longhand</var> as argument. 1.106 - <li><p>Otherwise, run these substeps: 1.107 - <ol> 1.108 - <li><p>If <var>property</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 a property of a declaration in the 1.109 - <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>, and that property is defined to be a case-insensitive property, remove the 1.110 - declaration.</li> 1.111 - <li><p>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.112 - <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>, and that property is defined to be a case-sensitive property, remove the 1.113 - declaration.</li> 1.114 - </ol> 1.115 + <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.116 + <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a>, remove the declaration. 1.117 <li><p>Return <var>value</var>. 1.118 </ol> 1.119 1.120 @@ -2298,7 +2289,7 @@ 1.121 <code title="">float</code> as first argument, as second argument the given value, and no third argument. 1.122 Any exceptions thrown must be re-thrown. 1.123 1.124 -<p>For each CSS property <var>property</var> that the user agent supports, 1.125 +<p>For each CSS property <var>property</var> that is a <a href="#supported-css-property">supported CSS property</a>, 1.126 the following partial interface applies where <var>camel-cased attribute</var> 1.127 is obtained by running the <a href="#css-property-to-idl-attribute">CSS property to IDL attribute</a> algorithm for 1.128 <var>property</var>.</p> 1.129 @@ -2322,8 +2313,8 @@ 1.130 1.131 <!-- [GA] Remove spec text for so called "dashed-attribute" until consensus obtains on whether to include in spec. 1.132 1.133 -<p>For each CSS property <var>property</var> that the user agent supports, except for properties that have no "<code title>-</code>" (U+002D) in the 1.134 -property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span> member as part of the 1.135 +<p>For each CSS property <var>property</var> that is a <span>supported CSS property</span>, except for properties that have no "<code title>-</code>" (U+002D) 1.136 +in the property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span> member as part of the 1.137 <code>CSSStyleDeclaration</code> interface with the type being <code title>DOMString</code> and the <span data-anolis-spec=webidl>identifier</span> being 1.138 <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>. 1.139 1.140 @@ -2400,9 +2391,7 @@ 1.141 1.142 <ol> 1.143 <li><p>Let <var>list</var> be the value returned by invoking <a class="external" data-anolis-spec="csssyntax" href="http://dev.w3.org/csswg/css-syntax/#parse-a-list-of-component-values0">parse a list of component values</a> from <var>value</var>. 1.144 - <li><p>Match <var>list</var> against the grammar for the property that is an <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#ascii-case-insensitive">ASCII case-insensitive</a> match for 1.145 - <var>property</var> in the CSS specification, if <var>property</var> is defined to be case-insensitive, or otherwise that is a 1.146 - <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#case-sensitive">case-sensitive</a> match for <var>property</var> in the CSS specification. 1.147 + <li><p>Match <var>list</var> against the grammar for the property <var>property</var> in the CSS specification. 1.148 <li><p>If the above step failed, return null. 1.149 <li><p>Return <var>list</var>. 1.150 </ol> 1.151 @@ -2747,7 +2736,7 @@ 1.152 <p>Return a <a href="#css-declaration-block">CSS declaration block</a> with the 1.153 <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> set and the 1.154 <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> set to all longhand properties 1.155 - the user agent supports with the value being the <a href="#resolved-value">resolved value</a> 1.156 + that are <a href="#supported-css-property" title="supported CSS property">supported CSS properties</a> with the value being the <a href="#resolved-value">resolved value</a> 1.157 computed for <var>obj</var> using the style rules associated 1.158 with <var>doc</var>.</p> 1.159 <p class="note">This means that even if <var>obj</var> is in a 1.160 @@ -2782,13 +2771,14 @@ 1.161 <p class="atrisk">The <dfn id="dom-getstyleutils-specifiedstyle" title="dom-GetStyleUtils-specifiedStyle"><code>specifiedStyle</code></dfn> attribute must return a <a href="#css-declaration-block">CSS declaration block</a> 1.162 with the <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> set and the 1.163 <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> set to all longhand properties 1.164 -the user agent supports with the value being the <a href="#specified-value">specified value</a> 1.165 +that are <a href="#supported-css-property" title="supported CSS property">supported CSS properties</a> with the value being the <a href="#specified-value">specified value</a> 1.166 computed for the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a> using the style rules associated 1.167 with the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a>'s <a href="#associated-document">associated document</a>.</p> 1.168 1.169 <p class="atrisk">The <dfn id="dom-getstyleutils-defaultstyle" title="dom-GetStyleUtils-defaultStyle"><code>defaultStyle</code></dfn> attribute must return a <a href="#css-declaration-block">CSS declaration block</a> with 1.170 the <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> set and the 1.171 -<a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> set to all longhand properties the user agent supports with the value being the 1.172 +<a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> set to all longhand properties that are 1.173 +<a href="#supported-css-property" title="supported CSS property">supported CSS properties</a> with the value being the 1.174 <a href="#computed-value">computed value</a> computed for the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a> using the user-agent-level style rules and user-level style rules 1.175 associated with the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a>'s <a href="#associated-document">associated document</a>, ignoring transitions, animations, author-level style 1.176 rules, author-level presentational hints and override-level style rules.</p> 1.177 @@ -2796,14 +2786,14 @@ 1.178 <p class="atrisk">The <dfn id="dom-getstyleutils-computedstyle" title="dom-GetStyleUtils-computedStyle"><code>computedStyle</code></dfn> attribute must return a <a href="#css-declaration-block">CSS declaration block</a> with 1.179 the <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> set and the 1.180 <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> set to all longhand properties 1.181 -the user agent supports with the value being the <a href="#computed-value">computed value</a> 1.182 +that are <a href="#supported-css-property" title="supported CSS property">supported CSS properties</a> with the value being the <a href="#computed-value">computed value</a> 1.183 computed for the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a> using the style rules associated 1.184 with the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a>'s <a href="#associated-document">associated document</a>.</p> 1.185 1.186 <p class="atrisk">The <dfn id="dom-getstyleutils-usedstyle" title="dom-GetStyleUtils-usedStyle"><code>usedStyle</code></dfn> attribute must return a <a href="#css-declaration-block">CSS declaration block</a> with the 1.187 <a href="#concept-css-declaration-block-readonly-flag" title="concept-css-declaration-block-readonly-flag">readonly flag</a> set and the 1.188 <a href="#concept-css-declaration-block-declarations" title="concept-css-declaration-block-declarations">declarations</a> set to all longhand properties 1.189 -the user agent supports with the value being the <a href="#used-value">used value</a> 1.190 +that are <a href="#supported-css-property" title="supported CSS property">supported CSS properties</a> with the value being the <a href="#used-value">used value</a> 1.191 computed for the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a> using the style rules associated 1.192 with the <a class="external" data-anolis-spec="dom" href="http://dom.spec.whatwg.org/#context-object">context object</a>'s <a href="#associated-document">associated document</a>.</p> 1.193 1.194 @@ -2960,7 +2950,10 @@ 1.195 <dd><cite><a href="http://dev.w3.org/csswg/css-page/">CSS Paged Media Module</a></cite>, Melinda Grant, Håkon Wium Lie, Elika J. Etemad et al.. W3C. 1.196 1.197 <dt id="refsCSSSYNTAX">[CSSSYNTAX] 1.198 -<dd><cite><a href="http://dev.w3.org/csswg/css-syntax/">CSS Syntax Module Level 3</a></cite>, Tab Atkins Jr. W3C. 1.199 +<dd><cite><a href="http://dev.w3.org/csswg/css-syntax/">CSS Syntax Module</a></cite>, Tab Atkins Jr.. W3C. 1.200 + 1.201 +<dt id="refsCSSVARIABLES">[CSSVARIABLES] 1.202 +<dd>(Non-normative) <cite><a href="http://dev.w3.org/csswg/css-variables/">CSS Custom Properties for Cascading Variables Module</a></cite>, Tab Atkins Jr.. W3C. 1.203 1.204 <dt id="refsDOM">[DOM] 1.205 <dd><cite><a href="http://dom.spec.whatwg.org/">DOM</a></cite>, Anne van Kesteren, Aryeh Gregor and Ms2ger. WHATWG. 1.206 @@ -2978,7 +2971,7 @@ 1.207 <dd><cite><a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a></cite>, Scott Bradner. IETF. 1.208 1.209 <dt id="refsSELECTORS">[SELECTORS] 1.210 -<dd><cite><a href="http://dev.w3.org/csswg/selectors4/">Selectors Level 4</a></cite>, Elika J. Etemad. W3C. 1.211 +<dd><cite><a href="http://dev.w3.org/csswg/selectors4/">Selectors</a></cite>, Elika J. Etemad. W3C. 1.212 1.213 <dt id="refsSVG">[SVG] 1.214 <dd>(Non-normative) <cite><a href="http://www.w3.org/TR/SVG/">Scalable Vector Graphics (SVG)</a></cite>, O. Andersson, R. Berjon, E. Dahlström et al.. W3C.
2.1 --- a/cssom/Overview.src.html Thu Jun 27 16:21:08 2013 -0700 2.2 +++ b/cssom/Overview.src.html Fri Jun 28 10:53:31 2013 +0200 2.3 @@ -209,6 +209,12 @@ 2.4 2.5 <p class=note>If another styling language becomes supported in user agents, this specification is expected to be updated as necessary. 2.6 2.7 +<p>The term <dfn>supported CSS property</dfn> refers to a CSS property that the user agent implements, and that is defined to be a case-insensitive property in 2.8 +the CSS specification. A <span>supported CSS property</span> must be in its lowercase form for the purpose of comparisons this specification. 2.9 + 2.10 +<p class=note>CSS properties that are case-sensitive such as CSS Variables are author-defined and are represented with dedicated interfaces, and do not 2.11 +participate in the base CSSOM API. <span data-anolis-ref class=informative>CSSVARIABLES</span> 2.12 + 2.13 <p>The terms <dfn>::before pseudo-element</dfn> and <dfn>::after pseudo-element</dfn> refer to the :before and :after pseudo-elements in CSS, except in this 2.14 specification the pseudo-elements are assumed to exist for all elements even if no box is generated for them. <span data-anolis-ref>CSS</span> 2.15 2.16 @@ -2126,16 +2132,10 @@ 2.17 <p>The <dfn title=dom-CSSStyleDeclaration-getPropertyValue><code>getPropertyValue(<var>property</var>)</code></dfn> method must run these steps:</p> 2.18 <ol> 2.19 <!-- XXX handle shorthands better --> 2.20 - <li><p>If <var>property</var> is an <span data-anolis-spec=dom>ASCII 2.21 - case-insensitive</span> match for a property of a declaration in the 2.22 - <span title=concept-css-declaration-block-declarations>declarations</span>, and that declaration's property 2.23 - is defined to be case-insensitive, return the 2.24 - <span title='serialize a CSS value'>serialization</span> of that declaration's 2.25 - value. 2.26 + <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>. 2.27 <li><p>If <var>property</var> is a <span data-anolis-spec=dom>case-sensitive</span> 2.28 match for a property of a declaration in the 2.29 - <span title=concept-css-declaration-block-declarations>declarations</span>, and that declaration's property 2.30 - is defined to be case-sensitive, return the 2.31 + <span title=concept-css-declaration-block-declarations>declarations</span>, return the 2.32 <span title='serialize a CSS value'>serialization</span> of that declaration's 2.33 value. 2.34 <li><p>Return the empty string. 2.35 @@ -2143,6 +2143,7 @@ 2.36 2.37 <p>The <dfn title=dom-CSSStyleDeclaration-getPropertyPriority><code>getPropertyPriority(<var>property</var>)</code></dfn> method must run these steps: 2.38 <ol> 2.39 + <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>. 2.40 <li><p>If <var>property</var> is a shorthand property, follow these substeps: 2.41 <ol> 2.42 <li><p>Let <var>list</var> be a new array. 2.43 @@ -2153,14 +2154,10 @@ 2.44 </ol> 2.45 <li><p>Otherwise, follow these substeps: 2.46 <ol> 2.47 - <li><p>If <var>property</var> is an <span data-anolis-spec=dom>ASCII 2.48 - case-insensitive</span> match for a property of a declaration in the <span title=concept-css-declaration-block-declarations>declarations</span> that has the 2.49 - <i>important</i> flag set, and that declaration's 2.50 - property is defined to be case-insensitive, return the string "<code title>important</code>".</p> 2.51 <li><p>If <var>property</var> is a 2.52 <span data-anolis-spec=dom>case-sensitive</span> match for a property of a 2.53 declaration in the <span title=concept-css-declaration-block-declarations>declarations</span> that has the 2.54 - <i>important</i> flag set, and that declaration's property is defined to be case-sensitive, return 2.55 + <i>important</i> flag set, return 2.56 the string "<code title>important</code>".</p> 2.57 </ol> 2.58 <li><p>Return the empty string. 2.59 @@ -2174,15 +2171,15 @@ 2.60 <!-- XXX handle shorthands better --> 2.61 <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.62 an <code data-anolis-spec=dom>NoModificationAllowedError</code> exception and terminate these steps.</li> 2.63 - <li><p>If <var>property</var> is not an <span data-anolis-spec=dom>ASCII case-insensitive</span> match for a supported property that is defined to be 2.64 - case-insensitive, or if <var>property</var> is not a <span data-anolis-spec=dom>case-sensitive</span> match for a supported property that is defined to 2.65 - be case-sensitive, terminate this algorithm.</p></li> 2.66 + <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>. 2.67 + <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.68 + algorithm.</p></li> 2.69 <li><p>If <var>value</var> is the empty string, invoke <code title='dom-CSSStyleDeclaration-removeProperty'>removeProperty()</code> 2.70 with <var>property</var> as argument and terminate this algorithm.</p></li> 2.71 <li><p>If <var>priority</var> is neither an <span data-anolis-spec=dom>ASCII case-insensitive</span> match for the string "<code title>important</code>" 2.72 nor the empty string terminate this algorithm.</p></li> 2.73 <li> 2.74 - <p>If <span title='parse a CSS value'>parsing the <var>value</var></span> returns null terminate this algorithm. 2.75 + <p>If <span title='parse a CSS value'>parsing</span> <var>value</var> returns null terminate this algorithm. 2.76 <p class='note'><var>value</var> can not include "<code title>!important</code>".</p> 2.77 </li> 2.78 <li><p>Finally, set <var>property</var> to <var>value</var> with the <i>important</i> flag set if <var>priority</var> is not the empty 2.79 @@ -2193,19 +2190,13 @@ 2.80 <ol> 2.81 <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.82 a <code data-anolis-spec=dom>NoModificationAllowedError</code> exception and terminate these steps.</li> 2.83 + <li><p>Let <var>property</var> be <var>property</var> <span data-anolis-spec=dom>converted to ASCII lowercase</span>. 2.84 <li><p>Let <var>value</var> be the return value of invoking <code title='dom-CSSStyleDeclaration-getPropertyValue'>getPropertyValue()</code> 2.85 with <var>property</var> as argument. 2.86 <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.87 <code title=dom-CSSStyleDeclaration-removeProperty>removeProperty()</code> with <var>longhand</var> as argument. 2.88 - <li><p>Otherwise, run these substeps: 2.89 - <ol> 2.90 - <li><p>If <var>property</var> is an <span data-anolis-spec=dom>ASCII case-insensitive</span> match for a property of a declaration in the 2.91 - <span title=concept-css-declaration-block-declarations>declarations</span>, and that property is defined to be a case-insensitive property, remove the 2.92 - declaration.</p></li> 2.93 - <li><p>If <var>property</var> is a <span data-anolis-spec=dom>case-sensitive</span> match for a property of a declaration in the 2.94 - <span title=concept-css-declaration-block-declarations>declarations</span>, and that property is defined to be a case-sensitive property, remove the 2.95 - declaration.</p></li> 2.96 - </ol> 2.97 + <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.98 + <span title=concept-css-declaration-block-declarations>declarations</span>, remove the declaration. 2.99 <li><p>Return <var>value</var>. 2.100 </ol> 2.101 2.102 @@ -2220,7 +2211,7 @@ 2.103 <code title>float</code> as first argument, as second argument the given value, and no third argument. 2.104 Any exceptions thrown must be re-thrown. 2.105 2.106 -<p>For each CSS property <var>property</var> that the user agent supports, 2.107 +<p>For each CSS property <var>property</var> that is a <span>supported CSS property</span>, 2.108 the following partial interface applies where <var>camel-cased attribute</var> 2.109 is obtained by running the <span>CSS property to IDL attribute</span> algorithm for 2.110 <var>property</var>.</p> 2.111 @@ -2244,8 +2235,8 @@ 2.112 2.113 <!-- [GA] Remove spec text for so called "dashed-attribute" until consensus obtains on whether to include in spec. 2.114 2.115 -<p>For each CSS property <var>property</var> that the user agent supports, except for properties that have no "<code title>-</code>" (U+002D) in the 2.116 -property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span> member as part of the 2.117 +<p>For each CSS property <var>property</var> that is a <span>supported CSS property</span>, except for properties that have no "<code title>-</code>" (U+002D) 2.118 +in the property name, user agents must act as if there was a WebIDL <span data-anolis-spec=webidl>regular attribute</span> member as part of the 2.119 <code>CSSStyleDeclaration</code> interface with the type being <code title>DOMString</code> and the <span data-anolis-spec=webidl>identifier</span> being 2.120 <var>property</var>, and let <var>dashed attribute</var> be <var>property</var>. 2.121 2.122 @@ -2322,9 +2313,7 @@ 2.123 2.124 <ol> 2.125 <li><p>Let <var>list</var> be the value returned by invoking <span data-anolis-spec=csssyntax>parse a list of component values</span> from <var>value</var>. 2.126 - <li><p>Match <var>list</var> against the grammar for the property that is an <span data-anolis-spec=dom>ASCII case-insensitive</span> match for 2.127 - <var>property</var> in the CSS specification, if <var>property</var> is defined to be case-insensitive, or otherwise that is a 2.128 - <span data-anolis-spec=dom>case-sensitive</span> match for <var>property</var> in the CSS specification. 2.129 + <li><p>Match <var>list</var> against the grammar for the property <var>property</var> in the CSS specification. 2.130 <li><p>If the above step failed, return null. 2.131 <li><p>Return <var>list</var>. 2.132 </ol> 2.133 @@ -2669,7 +2658,7 @@ 2.134 <p>Return a <span>CSS declaration block</span> with the 2.135 <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> set and the 2.136 <span title=concept-css-declaration-block-declarations>declarations</span> set to all longhand properties 2.137 - the user agent supports with the value being the <span>resolved value</span> 2.138 + that are <span title="supported CSS property">supported CSS properties</span> with the value being the <span>resolved value</span> 2.139 computed for <var>obj</var> using the style rules associated 2.140 with <var>doc</var>.</p> 2.141 <p class='note'>This means that even if <var>obj</var> is in a 2.142 @@ -2704,13 +2693,14 @@ 2.143 <p class=atrisk>The <dfn title=dom-GetStyleUtils-specifiedStyle><code>specifiedStyle</code></dfn> attribute must return a <span>CSS declaration block</span> 2.144 with the <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> set and the 2.145 <span title=concept-css-declaration-block-declarations>declarations</span> set to all longhand properties 2.146 -the user agent supports with the value being the <span>specified value</span> 2.147 +that are <span title="supported CSS property">supported CSS properties</span> with the value being the <span>specified value</span> 2.148 computed for the <span data-anolis-spec=dom>context object</span> using the style rules associated 2.149 with the <span data-anolis-spec=dom>context object</span>'s <span>associated document</span>.</p> 2.150 2.151 <p class=atrisk>The <dfn title=dom-GetStyleUtils-defaultStyle><code>defaultStyle</code></dfn> attribute must return a <span>CSS declaration block</span> with 2.152 the <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> set and the 2.153 -<span title=concept-css-declaration-block-declarations>declarations</span> set to all longhand properties the user agent supports with the value being the 2.154 +<span title=concept-css-declaration-block-declarations>declarations</span> set to all longhand properties that are 2.155 +<span title="supported CSS property">supported CSS properties</span> with the value being the 2.156 <span>computed value</span> computed for the <span data-anolis-spec=dom>context object</span> using the user-agent-level style rules and user-level style rules 2.157 associated with the <span data-anolis-spec=dom>context object</span>'s <span>associated document</span>, ignoring transitions, animations, author-level style 2.158 rules, author-level presentational hints and override-level style rules.</p> 2.159 @@ -2718,14 +2708,14 @@ 2.160 <p class=atrisk>The <dfn title=dom-GetStyleUtils-computedStyle><code>computedStyle</code></dfn> attribute must return a <span>CSS declaration block</span> with 2.161 the <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> set and the 2.162 <span title=concept-css-declaration-block-declarations>declarations</span> set to all longhand properties 2.163 -the user agent supports with the value being the <span>computed value</span> 2.164 +that are <span title="supported CSS property">supported CSS properties</span> with the value being the <span>computed value</span> 2.165 computed for the <span data-anolis-spec=dom>context object</span> using the style rules associated 2.166 with the <span data-anolis-spec=dom>context object</span>'s <span>associated document</span>.</p> 2.167 2.168 <p class=atrisk>The <dfn title=dom-GetStyleUtils-usedStyle><code>usedStyle</code></dfn> attribute must return a <span>CSS declaration block</span> with the 2.169 <span title=concept-css-declaration-block-readonly-flag>readonly flag</span> set and the 2.170 <span title=concept-css-declaration-block-declarations>declarations</span> set to all longhand properties 2.171 -the user agent supports with the value being the <span>used value</span> 2.172 +that are <span title="supported CSS property">supported CSS properties</span> with the value being the <span>used value</span> 2.173 computed for the <span data-anolis-spec=dom>context object</span> using the style rules associated 2.174 with the <span data-anolis-spec=dom>context object</span>'s <span>associated document</span>.</p> 2.175