Skip to content

Commit 9e1cda6

Browse files
committed
add some notes to the value stuff; improve interface sketching
1 parent d977990 commit 9e1cda6

2 files changed

Lines changed: 230 additions & 216 deletions

File tree

cssom/Overview.html

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
<div class=head>
2929
<h1 id=cssom>CSSOM</h1>
3030

31-
<h2 class="no-num no-toc" id="">Editor's Draft 15 July 2010</h2>
31+
<h2 class="no-num no-toc" id="">Editor's Draft 18 August 2010</h2>
3232

3333
<dl>
3434
<dt>This Version:
3535

3636
<dd><a
37-
href="http://www.w3.org/TR/2010/ED-cssom-20100715/">http://www.w3.org/TR/2010/ED-cssom-20100715/</a>
37+
href="http://www.w3.org/TR/2010/ED-cssom-20100818/">http://www.w3.org/TR/2010/ED-cssom-20100818/</a>
3838

3939
<dt>Latest Version:
4040

@@ -238,14 +238,15 @@ <h2 class="no-num no-toc" id=toc>Table of Contents</h2>
238238
</span>Examples</a>
239239
</ul>
240240

241-
<li><a href="#the-cssvalue-interface"><span class=secno>5.6.3.
242-
</span>The <code title="">CSSValue</code> Interface</a>
241+
<li><a href="#the-csspropertyvalue-interface"><span class=secno>5.6.3.
242+
</span>The <code title="">CSSPropertyValue</code> Interface</a>
243243

244-
<li><a href="#the-cssvaluemap-interface"><span class=secno>5.6.4.
245-
</span>The <code title="">CSSValueMap</code> Interface</a>
244+
<li><a href="#the-cssmapvalue-interface"><span class=secno>5.6.4.
245+
</span>The <code title="">CSSMapValue</code> Interface</a>
246246

247-
<li><a href="#the-cssvaluelist-interface"><span class=secno>5.6.5.
248-
</span>The <code title="">CSSValueList</code> Interface</a>
247+
<li><a href="#the-csspropertyvaluelist-interface"><span
248+
class=secno>5.6.5. </span>The <code
249+
title="">CSSPropertyValueList</code> Interface</a>
249250

250251
<li><a href="#the-csscomponentvalue-interface"><span
251252
class=secno>5.6.6. </span>The <code title="">CSSComponentValue</code>
@@ -1419,7 +1420,7 @@ <h3 id=style-sheet-collections><span class=secno>5.2. </span>Style Sheet
14191420
<var title="">new</var>.
14201421
</ol>
14211422
<!-- XXX ought to define "applied"
1422-
1423+
14231424
thoughts:
14241425
depends on disabled flag, alternate flag, media queries, sheesh
14251426
-->
@@ -2093,7 +2094,7 @@ <h4 id=the-cssrule-interface><span class=secno>5.4.2. </span>The <code
20932094

20942095
// Parsing and serialization
20952096
attribute DOMString <a href="#dom-cssrule-csstext" title=dom-CSSRule-cssText>cssText</a>;
2096-
2097+
20972098
// Context
20982099
readonly attribute <a href="#cssrule">CSSRule</a> <a href="#dom-cssrule-parentrule" title=dom-CSSRule-parentRule>parentRule</a>;
20992100
readonly attribute <a href="#cssstylesheet">CSSStyleSheet</a> <a href="#dom-cssrule-parentstylesheet" title=dom-CSSRule-parentStyleSheet>parentStyleSheet</a>;
@@ -3532,9 +3533,9 @@ <h4 id=the-cssstyledeclarationvalue-interface><span class=secno>5.5.2.
35323533

35333534
<p class=XXX>The rought idea is that this interface exposes the full list
35343535
of supported properties as well that each return a <a
3535-
href="#cssvalue"><code>CSSValue</code></a> object. That object can
3536-
implement other objects depending on the property involved. E.g. for
3537-
'<code>width</code>' the object would implement <a
3536+
href="#csspropertyvalue"><code>CSSPropertyValue</code></a> object. That
3537+
object can implement other objects depending on the property involved.
3538+
E.g. for '<code>width</code>' the object would implement <a
35383539
href="#csslengthcomponentvalue"><code>CSSLengthComponentValue</code></a>
35393540
and <a
35403541
href="#csspercentagecomponentvalue"><code>CSSPercentageComponentValue</code></a>.
@@ -3857,65 +3858,71 @@ <h5 id=examples0><span class=secno>5.6.2.1. </span>Examples</h5>
38573858
<p class=XXX>Some of these need to be updated per the new rules.</p>
38583859
</div>
38593860

3860-
<h4 id=the-cssvalue-interface><span class=secno>5.6.3. </span>The <code
3861-
title="">CSSValue</code> Interface</h4>
3861+
<h4 id=the-csspropertyvalue-interface><span class=secno>5.6.3. </span>The
3862+
<code title="">CSSPropertyValue</code> Interface</h4>
38623863

3863-
<pre class=idl>interface <dfn id=cssvalue>CSSValue</dfn> {
3864-
attribute DOMString <span title=dom-CSSValue-cssText>cssText</span>;
3864+
<pre class=idl>interface <dfn id=csspropertyvalue>CSSPropertyValue</dfn> {
3865+
attribute DOMString <span title=dom-CSSPropertyValue-cssText>cssText</span>;
38653866
};</pre>
38663867

3867-
<p class=XXX>...
3868+
<p class=XXX>...</p>
3869+
<!--
3870+
what does the CSSValue represent
3871+
"map"
3872+
"list"
3873+
3874+
if it is a CSSComponentValue
3875+
3876+
-->
38683877

3869-
<h4 id=the-cssvaluemap-interface><span class=secno>5.6.4. </span>The <code
3870-
title="">CSSValueMap</code> Interface</h4>
3878+
<h4 id=the-cssmapvalue-interface><span class=secno>5.6.4. </span>The <code
3879+
title="">CSSMapValue</code> Interface</h4>
38713880

38723881
<pre
3873-
class=idl>[NoInterfaceObject] interface <dfn id=cssvaluemap>CSSValueMap</dfn> {
3874-
mapLength
3875-
mapKey()
3876-
getter getMapItem()
3882+
class=idl>[NoInterfaceObject] interface <dfn id=cssmapvalue>CSSMapValue</dfn> {
3883+
getter <span>CSSValue</span> (DOMString <var title="">name</var>);
38773884
};</pre>
3885+
<!-- see HTML5 DOMStringMap -->
38783886

3879-
<h4 id=the-cssvaluelist-interface><span class=secno>5.6.5. </span>The <code
3880-
title="">CSSValueList</code> Interface</h4>
3887+
<p class=XXX>This seems the simplest we can get away with.
3888+
3889+
<h4 id=the-csspropertyvaluelist-interface><span class=secno>5.6.5.
3890+
</span>The <code title="">CSSPropertyValueList</code> Interface</h4>
38813891

38823892
<pre
3883-
class=idl>[NoInterfaceObject] interface <dfn id=cssvaluelist>CSSValueList</dfn> {
3884-
listLength
3885-
insertItem(item, index)
3886-
deleteItem(index)
3887-
items
3888-
getter getListItem()
3893+
class=idl>[NoInterfaceObject] interface <dfn id=csspropertyvaluelist>CSSPropertyValueList</dfn> {
3894+
readonly attribute <span>CSSValue</span>[] <span title=dom-CSSPropertyValue-list>list</span>;
38893895
};</pre>
38903896

3897+
<p class=XXX>Ideally this attribute just returns a mutable array.
3898+
38913899
<h4 id=the-csscomponentvalue-interface><span class=secno>5.6.6. </span>The
38923900
<code title="">CSSComponentValue</code> Interface</h4>
38933901

38943902
<pre
38953903
class=idl>[NoInterfaceObject] interface <dfn id=csscomponentvalue>CSSComponentValue</dfn> {
38963904
};</pre>
38973905

3898-
<p class=XXX>...
3906+
<p class=XXX>Components need to identify their current value somehow.
38993907

39003908
<h4 id=the-csscolorcomponentvalue-interface><span class=secno>5.6.7.
39013909
</span>The <code title="">CSSColorComponentValue</code> Interface</h4>
39023910

39033911
<pre
3904-
class=idl>interface <dfn id=csscolorcomponentvalue>CSSColorComponentValue</dfn> : <a href="#csscomponentvalue">CSSComponentValue</a> {
3912+
class=idl>[NoInterfaceObject] interface <dfn id=csscolorcomponentvalue>CSSColorComponentValue</dfn> {
39053913
attribute short <span title=dom-CSSColorComponentValue-red>red</span>;
39063914
attribute short <span title=dom-CSSColorComponentValue-green>green</span>;
39073915
attribute short <span title=dom-CSSColorComponentValue-blue>blue</span>;
3908-
39093916
attribute float <span title=dom-CSSColorComponentValue-alpha>alpha</span>;
39103917
};</pre>
39113918

3912-
<p class=XXX>...
3919+
<p class=XXX>We can make this more complex later.
39133920

39143921
<h4 id=the-csslengthcomponentvalue-interface><span class=secno>5.6.8.
39153922
</span>The <code title="">CSSLengthComponentValue</code> Interface</h4>
39163923

39173924
<pre
3918-
class=idl>interface <dfn id=csslengthcomponentvalue>CSSLengthComponentValue</dfn> : <a href="#csscomponentvalue">CSSComponentValue</a> {
3925+
class=idl>[NoInterfaceObject] interface <dfn id=csslengthcomponentvalue>CSSLengthComponentValue</dfn> {
39193926
attribute float <span title=dom-CSSLengthComponentValue-em>em</span>;
39203927
attribute float <span title=dom-CSSLengthComponentValue-ex>ex</span>;
39213928
attribute float <span title=dom-CSSLengthComponentValue-px>px</span>;
@@ -3928,7 +3935,7 @@ <h4 id=the-csspercentagecomponentvalue-interfac><span class=secno>5.6.9.
39283935
</span>The <code title="">CSSPercentageComponentValue</code> Interface</h4>
39293936

39303937
<pre
3931-
class=idl>interface <dfn id=csspercentagecomponentvalue>CSSPercentageComponentValue</dfn> : <a href="#csscomponentvalue">CSSComponentValue</a> {
3938+
class=idl>[NoInterfaceObject] interface <dfn id=csspercentagecomponentvalue>CSSPercentageComponentValue</dfn> {
39323939
attribute float <span title=dom-CSSPercentageComponentValue>percent</span>;
39333940
};</pre>
39343941

@@ -3938,7 +3945,7 @@ <h4 id=the-cssurlcomponentvalue-interface><span class=secno>5.6.10.
39383945
</span>The <code title="">CSSURLComponentValue</code> Interface</h4>
39393946

39403947
<pre
3941-
class=idl>interface <dfn id=cssurlcomponentvalue>CSSURLComponentValue</dfn> : <a href="#csscomponentvalue">CSSComponentValue</a> {
3948+
class=idl>[NoInterfaceObject] interface <dfn id=cssurlcomponentvalue>CSSURLComponentValue</dfn> {
39423949
attribute DOMString? <span title=dom-CSSURLComponentValue-url>url</span>;
39433950
};</pre>
39443951

@@ -4043,7 +4050,7 @@ <h2 id=resolved-values><span class=secno>7. </span>Resolved Values</h2>
40434050

40444051
<dl class=switch><!--
40454052
We want to treat shorthand properties like any other value basically.
4046-
4053+
40474054
<dt>'<code>background</code>'
40484055
<dt>'<code>border</code>'
40494056
<dt>'<code>border-collapse</code>'
@@ -4178,6 +4185,6 @@ <h2 class=no-num id=acknowledgments>Acknowledgments</h2>
41784185
41794186
.cascadedStyle that returns less keywords than currentStyle, no inherit,
41804187
etc.
4181-
4188+
41824189
Markup style: http://krijnhoetmer.nl/irc-logs/whatwg/20100204#l-529
41834190
-->

0 commit comments

Comments
 (0)