svg2: Add "length" and index getters/setters to list interfaces. (ACT...

details:   https://svgwg.org/hg/svg2/rev/9dd647b8c965
branches:  
changeset: 374:9dd647b8c965
user:      Cameron McCormack <cam@mcc.id.au>
date:      Sat Sep 15 23:26:33 2012 +1000
description:
Add "length" and index getters/setters to list interfaces. (ACTION-2975)

diffstat:

 master/coords.html   |   61 +++++++++++++++++----------
 master/painting.html |    4 +
 master/paths.html    |   28 ++++++++----
 master/types.html    |  114 +++++++++++++++++++++++++++++++-------------------
 4 files changed, 131 insertions(+), 76 deletions(-)

diffs (586 lines):

diff --git a/master/coords.html b/master/coords.html
--- a/master/coords.html
+++ b/master/coords.html
@@ -1550,50 +1550,56 @@ interface <b>SVGPoint</b> {
       </dd>
     </dl>
   </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGPointList">Interface SVGPointList</h3>
 
-
-
 <p>This interface defines a list of SVGPoint objects.</p>
 
-
 <p><a>SVGPointList</a> has the same attributes and methods as other
 SVGxxxList interfaces. Implementers may consider using a single base class
 to implement the various SVGxxxList interfaces.</p>
 
+<p>The <a href='http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices'>supported property indices</a>
+of an <a>SVGPointList</a> object is all non-negative integers less than
+the length of the list.</p>
+
 <pre class="idl">interface <b>SVGPointList</b> {
 
+  readonly attribute unsigned long <a href="coords.html#__svg__SVGPointList__length">length</a>;
   readonly attribute unsigned long <a href="coords.html#__svg__SVGPointList__numberOfItems">numberOfItems</a>;
 
   void <a href="coords.html#__svg__SVGPointList__clear">clear</a>();
   <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPointList__initialize">initialize</a>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> newItem);
-  <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPointList__getItem">getItem</a>(unsigned long index):
+  getter <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPointList__getItem">getItem</a>(unsigned long index):
   <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPointList__insertItemBefore">insertItemBefore</a>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> newItem, unsigned long index);
   <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPointList__replaceItem">replaceItem</a>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> newItem, unsigned long index);
   <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPointList__removeItem">removeItem</a>(unsigned long index);
   <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPointList__appendItem">appendItem</a>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> newItem);
+  <a href="#__svg__SVGPointList__setter">setter</a> void (unsigned long index, <a>SVGPoint</a> newItem);
 };</pre>
 
 <dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
+<dt id="__svg__SVGPointList__length" class="attribute first-child"><b>length</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
+<dd class="attribute">
+  <div>The number of items in the list.</div>
+</dd>
+
 <dt id="__svg__SVGPointList__numberOfItems" class="attribute first-child"><b>numberOfItems</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
 <dd class="attribute">
-<div>
-The number of items in the list.
-
-</div>
+  <div>The number of items in the list.</div>
 </dd>
+
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGPointList__clear" class="operation first-child">void <b>clear</b>()
 </dt>
@@ -1913,16 +1919,18 @@ number 0.
 <dd class="exception"> Raised when the list
 cannot be modified.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
+<dt id="__svg__SVGPointList__setter" class="operation"><b>setter</b> void (unsigned long <var>index</var>, <a>SVGPoint</a> <var>newItem</var>)</dt>
+<dd class="operation"><div>Replaces the item at index <var>index</var> with <var>newItem</var>.</div></dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGMatrix">Interface SVGMatrix</h3>
 
 <p>Many of SVG's graphics operations utilize 2x3 matrices of the form:</p>
@@ -2781,62 +2789,64 @@ Sets the transform type to SVG_TRANSFORM
 
 
 <h3 id="InterfaceSVGTransformList">Interface SVGTransformList</h3>
 
 <p class="issue">This section needs to be updated to describe
 how it reflects the value of the <a>'transform'</a> property,
 or just defer to css3-tranforms if everything is defined there.</p>
 
-
 <p>This interface defines a list of SVGTransform objects.</p>
 
-
 <p>The <a>SVGTransformList</a> and <a>SVGTransform</a> interfaces correspond
 to the various attributes which specify a set of transformations, such as
-the <a>'transform'</a> property which is available for many of SVG's elements.
-</p>
-
+the <a>'transform'</a> property which is available for many of SVG's elements.</p>
 
 <p><a>SVGTransformList</a> has the same attributes and methods as other
 SVGxxxList interfaces. Implementers may consider using a single base class
-to implement the various SVGxxxList interfaces.
-</p>
-
+to implement the various SVGxxxList interfaces.</p>
+
+<p>The <a href='http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices'>supported property indices</a>
+of an <a>SVGTransformList</a> object is all non-negative integers less than
+the length of the list.</p>
 
 <p id="ReadOnlyTransformList">An <a>SVGTransformList</a> object can be designated as <em>read only</em>,
 which means that attempts to modify the object will result in an exception
-being thrown, as described below.
-</p>
+being thrown, as described below.</p>
+
 <pre class="idl">interface <b>SVGTransformList</b> {
 
+  readonly attribute unsigned long <a href="coords.html#__svg__SVGTransformList__length">length</a>;
   readonly attribute unsigned long <a href="coords.html#__svg__SVGTransformList__numberOfItems">numberOfItems</a>;
 
   void <a href="coords.html#__svg__SVGTransformList__clear">clear</a>();
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__initialize">initialize</a>(<a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> newItem);
-  <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__getItem">getItem</a>(unsigned long index);
+  getter <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__getItem">getItem</a>(unsigned long index);
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__insertItemBefore">insertItemBefore</a>(<a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> newItem, unsigned long index);
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__replaceItem">replaceItem</a>(<a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> newItem, unsigned long index);
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__removeItem">removeItem</a>(unsigned long index);
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__appendItem">appendItem</a>(<a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> newItem);
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__createSVGTransformFromMatrix">createSVGTransformFromMatrix</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> matrix);
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="coords.html#__svg__SVGTransformList__consolidate">consolidate</a>();
+  <a href="#__svg__SVGTransformList__setter">setter</a> void (unsigned long index, <a>SVGTransform</a> newItem);
 };</pre>
 
 <dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
+<dt id="__svg__SVGTransformList__length" class="attribute first-child"><b>length</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
+<dd class="attribute">
+  <div>The number of items in the list.</div>
+</dd>
+
 <dt id="__svg__SVGTransformList__numberOfItems" class="attribute first-child"><b>numberOfItems</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
 <dd class="attribute">
-<div>
-The number of items in the list.
-
-</div>
+  <div>The number of items in the list.</div>
 </dd>
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGTransformList__clear" class="operation first-child">void <b>clear</b>()
@@ -3232,16 +3242,21 @@ returned.
 <dd class="exception"> Raised when the list is
 <a href="#ReadOnlyTransformList">read only</a>.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
+<dt id="__svg__SVGTransformList__setter" class="operation"><b>setter</b> void (unsigned long <var>index</var>, <a>SVGTransform</a> <var>newItem</var>)</dt>
+<dd class="operation"><div>Replaces the item at index <var>index</var> with <var>newItem</var>.
+If the list is <a href="#ReadOnlyTransformList">read only</a>, then a
+<a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#nomodificationallowederror">NoModificationAllowedError</a>
+is thrown.</div></dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAnimatedTransformList">Interface SVGAnimatedTransformList</h3>
 
 
diff --git a/master/painting.html b/master/painting.html
--- a/master/painting.html
+++ b/master/painting.html
@@ -3444,16 +3444,20 @@ that index is no longer valid).</p>
 
 <p>The <a>SVGMarkerList</a> interface is used to expose the list of markers that
 are painted on a given <a>markable element</a>.  This list includes all
 <a>vertex markers</a>, <a>segment markers</a>, <a>repeating markers</a> and
 <a>positioned markers</a>.  The list of <a>SVGMarkerInstance</a> objects
 is maintained in the order that the markers are painted (see
 <a href='painting.html#Markers'>Markers</a>).</p>
 
+<p>The <a href='http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices'>supported property indices</a>
+of an <a>SVGPathSegList</a> object is all non-negative integers less than
+the length of the list.</p>
+
 <pre class='idl'>interface <b>SVGMarkerList</b> {
   readonly attribute unsigned long <a href='#__svg__SVGMarkerList__length'>length</a>;
   getter <a>SVGMarkerInstance</a>? <a href='#__svg__SVGMarkerList__item'>item</a>(unsigned long index);
 };</pre>
 
 <dl class="interface">
   <dt class="attributes-header">Attributes:</dt>
   <dd>
diff --git a/master/paths.html b/master/paths.html
--- a/master/paths.html
+++ b/master/paths.html
@@ -1947,50 +1947,56 @@ The relative Y coordinate for the end po
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGPathSegList">Interface SVGPathSegList</h3>
 
-
-
 <p>This interface defines a list of SVGPathSeg objects.</p>
 
-
 <p><a>SVGPathSegList</a> has the same attributes and methods as other
 SVGxxxList interfaces. Implementers may consider using a single base class
-to implement the various SVGxxxList interfaces.
-</p>
+to implement the various SVGxxxList interfaces.</p>
+
+<p>The <a href='http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices'>supported property indices</a>
+of an <a>SVGPathSegList</a> object is all non-negative integers less than
+the length of the list.</p>
+
 <pre class="idl">interface <b>SVGPathSegList</b> {
 
+  readonly attribute unsigned long <a href="paths.html#__svg__SVGPathSegList__length">length</a>;
   readonly attribute unsigned long <a href="paths.html#__svg__SVGPathSegList__numberOfItems">numberOfItems</a>;
 
   void <a href="paths.html#__svg__SVGPathSegList__clear">clear</a>();
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> <a href="paths.html#__svg__SVGPathSegList__initialize">initialize</a>(<a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> newItem);
-  <a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> <a href="paths.html#__svg__SVGPathSegList__getItem">getItem</a>(unsigned long index);
+  getter <a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> <a href="paths.html#__svg__SVGPathSegList__getItem">getItem</a>(unsigned long index);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> <a href="paths.html#__svg__SVGPathSegList__insertItemBefore">insertItemBefore</a>(<a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> newItem, unsigned long index);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> <a href="paths.html#__svg__SVGPathSegList__replaceItem">replaceItem</a>(<a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> newItem, unsigned long index);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> <a href="paths.html#__svg__SVGPathSegList__removeItem">removeItem</a>(unsigned long index);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> <a href="paths.html#__svg__SVGPathSegList__appendItem">appendItem</a>(<a class="idlinterface" href="paths.html#InterfaceSVGPathSeg">SVGPathSeg</a> newItem);
+  <a href="#__svg__SVGPathSegList__setter">setter</a> void (unsigned long index, <a>SVGPathSeg</a> newItem);
 };</pre>
 
 <dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
+<dt id="__svg__SVGPathSegList__length" class="attribute first-child"><b>length</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
+<dd class="attribute">
+  <div>The number of items in the list.</div>
+</dd>
+
 <dt id="__svg__SVGPathSegList__numberOfItems" class="attribute first-child"><b>numberOfItems</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
 <dd class="attribute">
-<div>
-The number of items in the list.
-
-</div>
+  <div>The number of items in the list.</div>
 </dd>
+
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGPathSegList__clear" class="operation first-child">void <b>clear</b>()
 </dt>
@@ -2310,16 +2316,18 @@ number 0.
 <dd class="exception"> Raised when the list
 cannot be modified.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
+<dt id="__svg__SVGPathSegList__setter" class="operation"><b>setter</b> void (unsigned long <var>index</var>, <a>SVGPathSeg</a> <var>newItem</var>)</dt>
+<dd class="operation"><div>Replaces the item at index <var>index</var> with <var>newItem</var>.</div></dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAnimatedPathData">Interface SVGAnimatedPathData</h3>
 
 
diff --git a/master/types.html b/master/types.html
--- a/master/types.html
+++ b/master/types.html
@@ -1696,48 +1696,52 @@ same value as <a>baseVal</a>.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGStringList">Interface SVGStringList</h3>
 
-
-
 <p>This interface defines a list of DOMString values.</p>
 
-
 <p><a>SVGStringList</a> has the same attributes and methods as other
 SVGxxxList interfaces. Implementers may consider using a single base class
-to implement the various SVGxxxList interfaces.
-</p>
+to implement the various SVGxxxList interfaces.</p>
+
+<p>The <a href='http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices'>supported property indices</a>
+of an <a>SVGStringList</a> object is all non-negative integers less than
+the length of the list.</p>
+
 <pre class="idl">interface <b>SVGStringList</b> {
 
+  readonly attribute unsigned long <a href="types.html#__svg__SVGStringList__length">length</a>;
   readonly attribute unsigned long <a href="types.html#__svg__SVGStringList__numberOfItems">numberOfItems</a>;
 
   void <a href="types.html#__svg__SVGStringList__clear">clear</a>();
   DOMString <a href="types.html#__svg__SVGStringList__initialize">initialize</a>(DOMString newItem);
-  DOMString <a href="types.html#__svg__SVGStringList__getItem">getItem</a>(unsigned long index);
+  getter DOMString <a href="types.html#__svg__SVGStringList__getItem">getItem</a>(unsigned long index);
   DOMString <a href="types.html#__svg__SVGStringList__insertItemBefore">insertItemBefore</a>(DOMString newItem, unsigned long index);
   DOMString <a href="types.html#__svg__SVGStringList__replaceItem">replaceItem</a>(DOMString newItem, unsigned long index);
   DOMString <a href="types.html#__svg__SVGStringList__removeItem">removeItem</a>(unsigned long index);
   DOMString <a href="types.html#__svg__SVGStringList__appendItem">appendItem</a>(DOMString newItem);
-};</pre><dl class="interface">
+  <a href="#__svg__SVGStringList__setter">setter</a> void (unsigned long index, DOMString newItem);
+};</pre>
+
+<dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
+<dt id="__svg__SVGStringList__length" class="attribute first-child"><b>length</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
+<dd class="attribute"><div>The number of items in the list.</div></dd>
+
 <dt id="__svg__SVGStringList__numberOfItems" class="attribute first-child"><b>numberOfItems</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
-<dd class="attribute">
-<div>
-The number of items in the list.
-
-</div>
-</dd>
+<dd class="attribute"><div>The number of items in the list.</div></dd>
+
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGStringList__clear" class="operation first-child">void <b>clear</b>()
 </dt>
@@ -2040,16 +2044,18 @@ number 0.
 <dd class="exception"> Raised when the list
 cannot be modified.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
+<dt id="__svg__SVGStringList__setter" class="operation"><b>setter</b> void (unsigned long <var>index</var>, DOMString <var>newItem</var>)</dt>
+<dd class="operation"><div>Replaces the item at index <var>index</var> with <var>newItem</var>.</div></dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAnimatedEnumeration">Interface SVGAnimatedEnumeration</h3>
 
 
@@ -2199,54 +2205,60 @@ same value as <a>baseVal</a>.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGNumberList">Interface SVGNumberList</h3>
 
-
-
 <p>This interface defines a list of SVGNumber objects.</p>
 
-
 <p><a>SVGNumberList</a> has the same attributes and methods as other
 SVGxxxList interfaces. Implementers may consider using a single base class
-to implement the various SVGxxxList interfaces.
-</p>
-
+to implement the various SVGxxxList interfaces.</p>
+
+<p>The <a href='http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices'>supported property indices</a>
+of an <a>SVGNumberList</a> object is all non-negative integers less than
+the length of the list.</p>
 
 <p id="ReadOnlyNumberList">An <a>SVGNumberList</a> object can be designated as <em>read only</em>,
 which means that attempts to modify the object will result in an exception
-being thrown, as described below.
-</p>
+being thrown, as described below.</p>
+
 <pre class="idl">interface <b>SVGNumberList</b> {
 
+  readonly attribute unsigned long <a href="types.html#__svg__SVGNumberList__length">length</a>;
   readonly attribute unsigned long <a href="types.html#__svg__SVGNumberList__numberOfItems">numberOfItems</a>;
 
   void <a href="types.html#__svg__SVGNumberList__clear">clear</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="types.html#__svg__SVGNumberList__initialize">initialize</a>(<a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> newItem);
-  <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="types.html#__svg__SVGNumberList__getItem">getItem</a>(unsigned long index);
+  getter <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="types.html#__svg__SVGNumberList__getItem">getItem</a>(unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="types.html#__svg__SVGNumberList__insertItemBefore">insertItemBefore</a>(<a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> newItem, unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="types.html#__svg__SVGNumberList__replaceItem">replaceItem</a>(<a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> newItem, unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="types.html#__svg__SVGNumberList__removeItem">removeItem</a>(unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="types.html#__svg__SVGNumberList__appendItem">appendItem</a>(<a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> newItem);
-};</pre><dl class="interface">
+  <a href="#__svg__SVGNumberList__setter">setter</a> void (unsigned long index, <a>SVGNumber</a> newItem);
+};</pre>
+
+<dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
+<dt id="__svg__SVGNumberList__length" class="attribute first-child"><b>length</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
+<dd class="attribute">
+<div>The number of items in the list.</div>
+</dd>
+
 <dt id="__svg__SVGNumberList__numberOfItems" class="attribute first-child"><b>numberOfItems</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
 <dd class="attribute">
-<div>
-The number of items in the list.
-
-</div>
-</dd>
+<div>The number of items in the list.</div>
+</dd>
+
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGNumberList__clear" class="operation first-child">void <b>clear</b>()
 </dt>
@@ -2566,16 +2578,21 @@ number 0.
 <dd class="exception"> Raised when the list
 cannot be modified.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
+<dt id="__svg__SVGNumberList__setter" class="operation"><b>setter</b> void (unsigned long <var>index</var>, <a>SVGNumber</a> <var>newItem</var>)</dt>
+<dd class="operation"><div>Replaces the item at index <var>index</var> with <var>newItem</var>.
+If the list is <a href="#ReadOnlyNumberList">read only</a>, then a
+<a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#nomodificationallowederror">NoModificationAllowedError</a>
+is thrown.</div></dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAnimatedNumberList">Interface SVGAnimatedNumberList</h3>
 
 
@@ -2919,54 +2936,60 @@ the attribute is not animated.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGLengthList">Interface SVGLengthList</h3>
 
-
-
 <p>This interface defines a list of SVGLength objects.</p>
 
-
 <p><a>SVGLengthList</a> has the same attributes and methods as other
 SVGxxxList interfaces. Implementers may consider using a single base class
-to implement the various SVGxxxList interfaces.
-</p>
-
+to implement the various SVGxxxList interfaces.</p>
+
+<p>The <a href='http://dev.w3.org/2006/webapi/WebIDL/#dfn-supported-property-indices'>supported property indices</a>
+of an <a>SVGLengthList</a> object is all non-negative integers less than
+the length of the list.</p>
 
 <p id="ReadOnlyLengthList">An <a>SVGLengthList</a> object can be designated as <em>read only</em>,
 which means that attempts to modify the object will result in an exception
-being thrown, as described below.
-</p>
+being thrown, as described below.</p>
+
 <pre class="idl">interface <b>SVGLengthList</b> {
 
+  readonly attribute unsigned long <a href="types.html#__svg__SVGLengthList__length">length</a>;
   readonly attribute unsigned long <a href="types.html#__svg__SVGLengthList__numberOfItems">numberOfItems</a>;
 
   void <a href="types.html#__svg__SVGLengthList__clear">clear</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="types.html#__svg__SVGLengthList__initialize">initialize</a>(<a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> newItem);
-  <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="types.html#__svg__SVGLengthList__getItem">getItem</a>(unsigned long index);
+  getter <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="types.html#__svg__SVGLengthList__getItem">getItem</a>(unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="types.html#__svg__SVGLengthList__insertItemBefore">insertItemBefore</a>(<a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> newItem, unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="types.html#__svg__SVGLengthList__replaceItem">replaceItem</a>(<a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> newItem, unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="types.html#__svg__SVGLengthList__removeItem">removeItem</a>(unsigned long index);
   <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="types.html#__svg__SVGLengthList__appendItem">appendItem</a>(<a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> newItem);
-};</pre><dl class="interface">
+  <a href="#__svg__SVGLengthList__setter">setter</a> void (unsigned long index, <a>SVGLength</a> newItem);
+};</pre>
+
+<dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
+<dt id="__svg__SVGLengthList__length" class="attribute first-child"><b>length</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
+<dd class="attribute">
+  <div>The number of items in the list.</div>
+</dd>
+
 <dt id="__svg__SVGLengthList__numberOfItems" class="attribute first-child"><b>numberOfItems</b><span class="idl-type-parenthetical"> (readonly unsigned long)</span></dt>
 <dd class="attribute">
-<div>
-The number of items in the list.
-
-</div>
-</dd>
+  <div>The number of items in the list.</div>
+</dd>
+
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGLengthList__clear" class="operation first-child">void <b>clear</b>()
 </dt>
@@ -3286,16 +3309,21 @@ number 0.
 <dd class="exception"> Raised when the list is
 <a href="#ReadOnlyLengthList">read only</a>.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
+<dt id="__svg__SVGLengthList__setter" class="operation"><b>setter</b> void (unsigned long <var>index</var>, <a>SVGLength</a> <var>newItem</var>)</dt>
+<dd class="operation"><div>Replaces the item at index <var>index</var> with <var>newItem</var>.
+If the list is <a href="#ReadOnlyLengthList">read only</a>, then a
+<a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#nomodificationallowederror">NoModificationAllowedError</a>
+is thrown.</div></dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAnimatedLengthList">Interface SVGAnimatedLengthList</h3>
 
 

Received on Saturday, 15 September 2012 13:29:08 UTC