svg2: 2 new changesets

details:   https://svgwg.org/hg/svg2/rev/7e9a6380c909
branches:  
changeset: 677:7e9a6380c909
user:      Erik Dahlstr?m <ed@opera.com>
date:      Thu May 22 23:08:23 2014 +0200
description:
ACTION-3609: allow surrounding whitespace in some attributes

RESOLUTION: We will allow leading/trailing white space on integer,number,length,angle but not trailing garbage.

This also adds "form feed" (U+000C) to the list of whitespace characters,
making svg match the css and html notion of whitespace.

details:   https://svgwg.org/hg/svg2/rev/bb28f5663dc7
branches:  
changeset: 678:bb28f5663dc7
user:      Erik Dahlstr?m <ed@opera.com>
date:      Thu May 22 23:14:48 2014 +0200
description:
merged

diffstat:

 master/changes.html    |   12 +-
 master/coords.html     |  667 +++---------------------------------------------
 master/definitions.xml |   14 +-
 master/idlindex.html   |    6 +
 master/painting.html   |   14 +-
 master/paths.html      |    4 +-
 master/script.html     |   18 +-
 master/struct.html     |   86 +++---
 master/svgdom.html     |    2 +-
 master/text.html       |   18 +-
 master/types.html      |  234 +++-------------
 11 files changed, 192 insertions(+), 883 deletions(-)

diffs (2629 lines):

diff --git a/master/changes.html b/master/changes.html
--- a/master/changes.html
+++ b/master/changes.html
@@ -50,27 +50,33 @@ have been made.</p>
   <li>IDL has been updated to use Web IDL syntax.</li>
 
   <li>Added "length" attribute and indexed property access to all list interfaces.</li>
 
   <li>Remove definition of <a>&lt;angle&gt;</a> type and reference CSS3-values.</li>
 
   <li>Change all coordinate types to <a>&lt;length&gt;</a> in preparation for referencing css3-values..</li>
   
-  <li>Add the <a>'script'</a> element to the content model of all elements.</li>  
+  <li>Add the <a>'script'</a> element to the content model of all elements.</li>
 </ul>
 
 <h3 id="rendering">Rendering Model chapter</h3>
 <ul>
   <li>Update rendering model to refer to <a href="http://www.w3.org/TR/compositing/">Compositing and Blending Specification</a>.</li>
 </ul>
 
 <h3 id="types">Basic Data Types and Interfaces chapter</h3>
 
 <ul>
+  <li>All appearance of <a>SVGMatrix</a> were replaced by <a>DOMMatrix</a> or <a>DOMMatrixReadOnly</a>.</li>
+
+  <li>All appearance of <a>SVGRect</a> were replaced by <a>DOMRect</a> or <a>DOMRectReadOnly</a>.</li>
+
+  <li>All appearance of <a>SVGPoint</a> were replaced by <a>DOMPoint</a> or <a>DOMPointReadOnly</a>.</li>
+
   <li>Removed the SVGStylable and SVGLangSpace interfaces and moved all of their members on to <a>SVGElement</a>.</li>
 
   <li>Turned SVGLocatable and SVGTransformable into <a>SVGGraphicsElement</a>,
   which directly inherits from <a>SVGElement</a>.</li>
 
   <li>Added an <a>SVGGraphicsElement</a> interface.</li>
 
   <li>Added an <a>SVGGeometryElement</a> interface with isPointInFill and isPointInStroke methods.</li>
@@ -89,16 +95,20 @@ have been made.</p>
 
   <li>Added <a href="types.html#__svg__SVGElement__focus">focus</a> and <a href="types.html#__svg__SVGElement__blur">blur</a> operations and <a href='types.html#__svg__SVGElement__tabIndex'>tabIndex</a> attribute to <a>SVGElement</a>.</li>
 
   <li>Added <a href="struct.html#__svg__SVGDocument__activeElement">activeElement</a> attribute to <a>Document</a>.</li>
 
   <li>Made <a>SVGElement</a> implement the <a>GlobalEventHandlers</a> interface from HTML.</li>
 
   <li>Removed getStrokeBBox from <a>SVGGraphicsElement</a> and extended <a href="types.html#__svg__SVGGraphicsElement__getBBox">getBBox</a> with a dictionary argument that controls which parts of the element are included in the returned bounding box.</li>
+  
+  <li>Allow leading and trailing whitespace in <a>&lt;length&gt;</a>, <a>&lt;angle&gt;</a>, <a>&lt;number&gt;</a> and <a>&lt;integer&gt;</a>.</li>
+  
+  <li>Make whitespace include form feed (U+000C) to align with CSS and HTML.</li>
 </ul>
 
 <h3 id="structure">Document Structure chapter</h3>
 
 <ul>
   <li>Deprecated the <code>suspendRedraw</code>, <code>unsuspendRedraw</code> and <code>unsuspendRedrawAll</code> methods in the SVGSVGElement interface.</li>
 
   <li>Removed the <span class="attr-name">'externalResourcesRequired'</span> attribute.</li>
diff --git a/master/coords.html b/master/coords.html
--- a/master/coords.html
+++ b/master/coords.html
@@ -1700,146 +1700,41 @@ document have had the supplied transform
 
 <p>The third example defines the coordinate system completely
 within the SVG document.</p>
 
 <edit:example href="images/coords/geocoord3.svg" link="no" image="no"/>
 
 <h2 id="DOMInterfaces">DOM interfaces</h2>
 
-<h3 id="InterfaceSVGPoint">Interface SVGPoint</h3>
-
-<p>Many of the SVG DOM interfaces refer to objects of class
-<a>SVGPoint</a>. An <a>SVGPoint</a> is an (x, y) coordinate pair. When
-used in matrix operations, an <a>SVGPoint</a> is treated as a vector of
-the form:
-</p>
-
-<pre>
-[x]
-[y]
-[1]</pre>
-
-<p>If an <a>SVGPoint</a> object is designated as <em>read only</em>,
-then attempting to assign to one of its attributes will result in
-an exception being thrown.</p>
-
-<pre class="idl">[<a href="#__svg__SVGPoint__constructor">Constructor</a>,
- <a href="#__svg__SVGPoint__constructor1">Constructor</a>(float x, float y)]
-interface <b>SVGPoint</b> {
-
-  attribute float <a href="coords.html#__svg__SVGPoint__x">x</a>;
-  attribute float <a href="coords.html#__svg__SVGPoint__y">y</a>;
-
-  <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPoint__matrixTransform">matrixTransform</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> matrix);
-};</pre>
-
-<dl class="interface">
-  <dt class="operations-header">Constructors:</dt>
-  <dd>
-    <dl class="attributes">
-      <dt id="__svg__SVGPoint__constructor" class="operation first-child"><b>SVGPoint</b>()</dt>
-      <dd class="operation">
-        <div>Creates a new <a>SVGPoint</a> object with its x and y attributes set to 0.</div>
-      </dd>
-      <dt id="__svg__SVGPoint__constructor1" class="operation first-child"><b>SVGPoint</b>(float x, float y)</dt>
-      <dd class="operation">
-        <div>Creates a new <a>SVGPoint</a> object with its x and y attributes set to <var>x</var> and <var>y</var>, respectively.</div>
-      </dd>
-    </dl>
-  </dd>
-  <dt class="attributes-header">Attributes:</dt>
-  <dd>
-    <dl class="attributes">
-      <dt id="__svg__SVGPoint__x" class="attribute first-child"><b>x</b><span class="idl-type-parenthetical"> (float)</span></dt>
-      <dd class="attribute">
-        <div>The x coordinate.</div>
-        <dl class="attribute">
-          <dt class="exceptions-header">Exceptions on setting</dt>
-          <dd>
-            <dl class="exceptions">
-              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
-              <dd class="exception">Raised if the <a>SVGPoint</a> object is read only.</dd>
-            </dl>
-          </dd>
-        </dl>
-      </dd>
-
-      <dt id="__svg__SVGPoint__y" class="attribute"><b>y</b><span class="idl-type-parenthetical"> (float)</span></dt>
-      <dd class="attribute">
-        <div>The y coordinate.</div>
-        <dl class="attribute">
-          <dt class="exceptions-header">Exceptions on setting</dt>
-          <dd>
-            <dl class="exceptions">
-              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
-              <dd class="exception">Raised if the <a>SVGPoint</a> object is read only.</dd>
-            </dl>
-          </dd>
-        </dl>
-      </dd>
-    </dl>
-  </dd>
-
-  <dt class="operations-header">Operations:</dt>
-  <dd>
-    <dl class="attributes">
-      <dt id="__svg__SVGPoint__matrixTransform" class="operation first-child"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>matrixTransform</b>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var>)</dt>
-      <dd class="operation">
-        <div>
-          <p>Applies a 2x3 matrix transformation on this <a>SVGPoint</a> object and
-          returns a new, transformed <a>SVGPoint</a> object:</p>
-          <pre>newpoint = matrix * thispoint</pre>
-        </div>
-        <dl class="operation">
-          <dt class="parameters-header">Parameters</dt>
-          <dd>
-            <ol class="parameters">
-              <li class="parameter first-child">
-                <div><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var></div> 
-                <div>The matrix which is to be applied to this <a>SVGPoint</a> object.</div>
-              </li>
-            </ol>
-          </dd>
-          <dt class="returns-header">Returns</dt>
-          <dd>
-            <div>A new <a>SVGPoint</a> object.</div>
-          </dd>
-        </dl>
-      </dd>
-    </dl>
-  </dd>
-</dl>
-
-
 <h3 id="InterfaceSVGPointList">Interface SVGPointList</h3>
 
-<p>This interface defines a list of SVGPoint objects.</p>
+<p>This interface defines a list of DOMPoint 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);
-  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);
+  <a>DOMPoint</a> <a href="coords.html#__svg__SVGPointList__initialize">initialize</a>(<a>DOMPoint</a> newItem);
+  getter <a>DOMPoint</a> <a href="coords.html#__svg__SVGPointList__getItem">getItem</a>(unsigned long index);
+  <a>DOMPoint</a> <a href="coords.html#__svg__SVGPointList__insertItemBefore">insertItemBefore</a>(<a>DOMPoint</a> newItem, unsigned long index);
+  <a>DOMPoint</a> <a href="coords.html#__svg__SVGPointList__replaceItem">replaceItem</a>(<a>DOMPoint</a> newItem, unsigned long index);
+  <a>DOMPoint</a> <a href="coords.html#__svg__SVGPointList__removeItem">removeItem</a>(unsigned long index);
+  <a>DOMPoint</a> <a href="coords.html#__svg__SVGPointList__appendItem">appendItem</a>(<a>DOMPoint</a> newItem);
+  <a href="#__svg__SVGPointList__setter">setter</a> void (unsigned long index, <a>DOMPoint</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>
@@ -1878,34 +1773,34 @@ an empty list.
 cannot be modified.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGPointList__initialize" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>initialize</b>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var>)
+<dt id="__svg__SVGPointList__initialize" class="operation"><a>DOMPoint</a> <b>initialize</b>(<a>DOMPoint</a> <var>newItem</var>)
 </dt>
 <dd class="operation">
 <div>
 Clears all existing current items from the list and re-initializes the
 list to hold the single item specified by the parameter.  If the inserted
 item is already in a list, it is removed from its previous list before
 it is inserted into this list.  The inserted item is the item itself and
 not a copy. 
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var></div> 
+<div><a>DOMPoint</a> <var>newItem</var></div> 
 <div> The item which should become the only member of the list.
 
 </div>
 </li>
 </ol>
 </dd>
 <dt class="returns-header">Returns</dt>
 <dd>
@@ -1923,17 +1818,17 @@ not a copy.
 cannot be modified.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGPointList__getItem" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>getItem</b>(unsigned long <var>index</var>)
+<dt id="__svg__SVGPointList__getItem" class="operation"><a>DOMPoint</a> <b>getItem</b>(unsigned long <var>index</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns the specified item from the list.  The returned item is the
 item itself and not a copy.  Any changes made to the item are
 immediately reflected in the list.
 
 
@@ -1967,17 +1862,17 @@ returned.  The first item is number 0.
 greater than or equal to <a>numberOfItems</a>.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGPointList__insertItemBefore" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>insertItemBefore</b>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var>, unsigned long <var>index</var>)
+<dt id="__svg__SVGPointList__insertItemBefore" class="operation"><a>DOMPoint</a> <b>insertItemBefore</b>(<a>DOMPoint</a> <var>newItem</var>, unsigned long <var>index</var>)
 </dt>
 <dd class="operation">
 <div>
 Inserts a new item into the list at the specified position. The first
 item is number 0. If <var>newItem</var> is already in a list, it is
 removed from its previous list before it is inserted into this list.
 The inserted item is the item itself and not a copy. If the item is
 already in this list, note that the index of the item to insert
@@ -1985,17 +1880,17 @@ before is <i>before</i> the removal of t
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var></div> 
+<div><a>DOMPoint</a> <var>newItem</var></div> 
 <div> The item which is to be inserted into the list.
 
 </div>
 </li>
 <li class="parameter">
 <div>unsigned long <var>index</var></div> 
 <div> The index of the item before which the new item is to be
 inserted. The first item is number 0.  If the index is equal to 0,
@@ -2023,17 +1918,17 @@ appended to the end of the list.
 cannot be modified.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGPointList__replaceItem" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>replaceItem</b>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var>, unsigned long <var>index</var>)
+<dt id="__svg__SVGPointList__replaceItem" class="operation"><a>DOMPoint</a> <b>replaceItem</b>(<a>DOMPoint</a> <var>newItem</var>, unsigned long <var>index</var>)
 </dt>
 <dd class="operation">
 <div>
 Replaces an existing item in the list with a new item. If
 <var>newItem</var> is already in a list, it is removed from its
 previous list before it is inserted into this list.  The inserted item
 is the item itself and not a copy.  If the item is already in this
 list, note that the index of the item to replace is <i>before</i>
@@ -2041,17 +1936,17 @@ the removal of the item.
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var></div> 
+<div><a>DOMPoint</a> <var>newItem</var></div> 
 <div> The item which is to be inserted into the list.
 
 </div>
 </li>
 <li class="parameter">
 <div>unsigned long <var>index</var></div> 
 <div> The index of the item which is to be replaced. The first
 item is number 0.
@@ -2083,17 +1978,17 @@ cannot be modified.
 greater than or equal to <a>numberOfItems</a>.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGPointList__removeItem" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>removeItem</b>(unsigned long <var>index</var>)
+<dt id="__svg__SVGPointList__removeItem" class="operation"><a>DOMPoint</a> <b>removeItem</b>(unsigned long <var>index</var>)
 </dt>
 <dd class="operation">
 <div>
 Removes an existing item from the list.
 
 
 </div>
 <dl class="operation">
@@ -2132,33 +2027,33 @@ cannot be modified.
 greater than or equal to <a>numberOfItems</a>.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGPointList__appendItem" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>appendItem</b>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var>)
+<dt id="__svg__SVGPointList__appendItem" class="operation"><a>DOMPoint</a> <b>appendItem</b>(<a>DOMPoint</a> <var>newItem</var>)
 </dt>
 <dd class="operation">
 <div>
 Inserts a new item at the end of the list. If <var>newItem</var> is
 already in a list, it is removed from its previous list before it is
 inserted into this list.  The inserted item is the item itself and
 not a copy.
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>newItem</var></div> 
+<div><a>DOMPoint</a> <var>newItem</var></div> 
 <div> The item which is to be inserted. The first item is
 number 0.
 
 </div>
 </li>
 </ol>
 </dd>
 <dt class="returns-header">Returns</dt>
@@ -2176,547 +2071,73 @@ 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>
+<dt id="__svg__SVGPointList__setter" class="operation"><b>setter</b> void (unsigned long <var>index</var>, <a>DOMPoint</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>
-
-<pre>
-[a c e]
-[b d f]</pre>
-
-<p>which, when expanded into a 3x3 matrix for the purposes of matrix
-arithmetic, become:
-</p>
-
-<pre>
-[a c e]
-[b d f]
-[0 0 1]</pre>
-
-<pre class="idl">[<a href="#__svg__SVGMatrix__constructor">Constructor</a>,
- <a href="#__svg__SVGMatrix__constructor1">Constructor</a>(float a, float b, float c, float d, float e, float f)]
-interface <b>SVGMatrix</b> {
-
-  attribute float <a href="coords.html#__svg__SVGMatrix__a">a</a>;
-  attribute float <a href="coords.html#__svg__SVGMatrix__b">b</a>;
-  attribute float <a href="coords.html#__svg__SVGMatrix__c">c</a>;
-  attribute float <a href="coords.html#__svg__SVGMatrix__d">d</a>;
-  attribute float <a href="coords.html#__svg__SVGMatrix__e">e</a>;
-  attribute float <a href="coords.html#__svg__SVGMatrix__f">f</a>;
-
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__multiply">multiply</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> secondMatrix);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__inverse">inverse</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__translate">translate</a>(float x, float y);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__scale">scale</a>(float scaleFactor);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__scaleNonUniform">scaleNonUniform</a>(float scaleFactorX, float scaleFactorY);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__rotate">rotate</a>(float angle);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__rotateFromVector">rotateFromVector</a>(float x, float y);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__flipX">flipX</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__flipY">flipY</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__skewX">skewX</a>(float angle);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__skewY">skewY</a>(float angle);
-};</pre>
-
-<dl class="interface">
-  <dt class="operations-header">Constructors:</dt>
-  <dd>
-    <dl class="attributes">
-      <dt id="__svg__SVGMatrix__constructor" class="operation first-child"><b>SVGMatrix</b>()</dt>
-      <dd>Creates a new <a>SVGMatrix</a> object whose a, b, c, d, e and f attributes
-      are all set to 0.</dd>
-      <dt id="__svg__SVGMatrix__constructor1" class="operation first-child"><b>SVGMatrix</b>(float <var>a</var>, float <var>b</var>, float <var>c</var>, float <var>d</var>, float <var>e</var>, float <var>f</var>)</dt>
-      <dd>Creates a new <a>SVGMatrix</a> object whose a, b, c, d, e and f attributes
-      are set to the values of the respective argument passed to the constructor.</dd>
-    </dl>
-  </dd>
-<dt class="attributes-header">Attributes:</dt>
-<dd>
-<dl class="attributes">
-
-<dt id="__svg__SVGMatrix__a" class="attribute first-child"><b>a</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>a</var> component of the matrix.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGMatrix__b" class="attribute"><b>b</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>b</var> component of the matrix.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGMatrix__c" class="attribute"><b>c</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>c</var> component of the matrix.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGMatrix__d" class="attribute"><b>d</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>d</var> component of the matrix.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGMatrix__e" class="attribute"><b>e</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>e</var> component of the matrix.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGMatrix__f" class="attribute"><b>f</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>f</var> component of the matrix.
-
-
-</div>
-</dd>
-</dl>
-</dd>
-<dt class="operations-header">Operations:</dt>
-<dd>
-<dl class="attributes">
-
-<dt id="__svg__SVGMatrix__multiply" class="operation first-child"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>multiply</b>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>secondMatrix</var>)
-</dt>
-<dd class="operation">
-<div>
-Performs matrix multiplication. This matrix is post-multiplied by
-another matrix, returning the resulting new matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>secondMatrix</var></div> 
-<div> The matrix which is post-multiplied to this matrix.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__inverse" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>inverse</b>()
-</dt>
-<dd class="operation">
-<div>
-Returns the inverse matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The inverse matrix.
-
-</div>
-</dd>
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception first-child"><a>InvalidStateError</a>
-</dt>
-<dd class="exception"> Raised if this matrix is
-not invertible.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__translate" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>translate</b>(float <var>x</var>, float <var>y</var>)
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies a translation transformation on the current matrix and
-returns the resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>float <var>x</var></div> 
-<div> The distance to translate along the x-axis.
-
-</div>
-</li>
-<li class="parameter">
-<div>float <var>y</var></div> 
-<div> The distance to translate along the y-axis.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__scale" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>scale</b>(float <var>scaleFactor</var>)
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies a uniform scale transformation on the current matrix
-and returns the resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>float <var>scaleFactor</var></div> 
-<div> Scale factor in both X and Y.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__scaleNonUniform" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>scaleNonUniform</b>(float <var>scaleFactorX</var>, float <var>scaleFactorY</var>)
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies a non-uniform scale transformation on the current matrix
-and returns the resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>float <var>scaleFactorX</var></div> 
-<div> Scale factor in X.
-
-</div>
-</li>
-<li class="parameter">
-<div>float <var>scaleFactorY</var></div> 
-<div> Scale factor in Y.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__rotate" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>rotate</b>(float <var>angle</var>)
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies a rotation transformation on the current matrix and
-returns the resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>float <var>angle</var></div> 
-<div> Rotation angle.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__rotateFromVector" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>rotateFromVector</b>(float <var>x</var>, float <var>y</var>)
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies a rotation transformation on the current matrix and
-returns the resulting matrix. The rotation angle is determined by taking
-(+/-) atan(y/x). The direction of the vector (x, y) determines whether
-the positive or negative angle value is used.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>float <var>x</var></div> 
-<div> The X coordinate of the vector (x,y). Must not be zero.
-
-</div>
-</li>
-<li class="parameter">
-<div>float <var>y</var></div> 
-<div> The Y coordinate of the vector (x,y). Must not be zero.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception first-child"><a>InvalidAccessError</a>
-</dt>
-<dd class="exception"> Raised if one of the
-parameters has an invalid value.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__flipX" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>flipX</b>()
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies the transformation [-1 0 0 1 0 0] and returns the
-resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__flipY" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>flipY</b>()
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies the transformation [1 0 0 -1 0 0] and returns the
-resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__skewX" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>skewX</b>(float <var>angle</var>)
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies a skewX transformation on the current matrix and
-returns the resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>float <var>angle</var></div> 
-<div> Skew angle.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-  <dl class="exceptions">
-    <dt class="exception first-child"><a>InvalidAccessError</a></dt>
-    <dd class="exception">Raised when (<var>angle</var> + 90) mod 180 = 0.</dd>
-  </dl>
-</dd>
-
-</dl>
-</dd>
-
-<dt id="__svg__SVGMatrix__skewY" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>skewY</b>(float <var>angle</var>)
-</dt>
-<dd class="operation">
-<div>
-Post-multiplies a skewY transformation on the current matrix and
-returns the resulting matrix.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>float <var>angle</var></div> 
-<div> Skew angle.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="returns-header">Returns</dt>
-<dd>
-<div> The resulting matrix.
-
-</div>
-</dd>
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-  <dl class="exceptions">
-    <dt class="exception first-child"><a>InvalidAccessError</a></dt>
-    <dd class="exception">Raised when (<var>angle</var> + 90) mod 180 = 0.</dd>
-  </dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-
-
 <h3 id="InterfaceSVGTransform">Interface SVGTransform</h3>
 
 <p><a>SVGTransform</a> is the interface for one of the component
 transformations within an <a>SVGTransformList</a>; thus, an
 <a>SVGTransform</a> object corresponds to a single component (e.g.,
 <span class="attr-value">'scale(…)'</span> or
 <span class="attr-value">'matrix(…)'</span>) within a <a>'transform'</a>
 attribute specification.</p>
 
 <pre class="idl">[<a href="#__svg__SVGTransform__constructor">Constructor</a>,
- <a href="#__svg__SVGTransform__constructor1">Constructor</a>(SVGMatrix matrix),
+ <a href="#__svg__SVGTransform__constructor1">Constructor</a>(DOMMatrixReadOnly matrix),
  <a href="#__svg__SVGTransform__constructor2">Constructor</a>(DOMString value)]
 interface <b>SVGTransform</b> {
 
   // Transform Types
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_UNKNOWN">SVG_TRANSFORM_UNKNOWN</a> = 0;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_MATRIX">SVG_TRANSFORM_MATRIX</a> = 1;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_TRANSLATE">SVG_TRANSFORM_TRANSLATE</a> = 2;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_SCALE">SVG_TRANSFORM_SCALE</a> = 3;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_ROTATE">SVG_TRANSFORM_ROTATE</a> = 4;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_SKEWX">SVG_TRANSFORM_SKEWX</a> = 5;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_SKEWY">SVG_TRANSFORM_SKEWY</a> = 6;
 
   readonly attribute unsigned short <a href="coords.html#__svg__SVGTransform__type">type</a>;
-  readonly attribute <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGTransform__matrix">matrix</a>;
+  readonly attribute <a>DOMMatrixReadOnly</a> <a href="coords.html#__svg__SVGTransform__matrix">matrix</a>;
   readonly attribute float <a href="coords.html#__svg__SVGTransform__angle">angle</a>;
 
-  void <a href="coords.html#__svg__SVGTransform__setMatrix">setMatrix</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> matrix);
+  void <a href="coords.html#__svg__SVGTransform__setMatrix">setMatrix</a>(<a>DOMMatrixReadOnly</a> matrix);
   void <a href="coords.html#__svg__SVGTransform__setTranslate">setTranslate</a>(float tx, float ty);
   void <a href="coords.html#__svg__SVGTransform__setScale">setScale</a>(float sx, float sy);
   void <a href="coords.html#__svg__SVGTransform__setRotate">setRotate</a>(float angle, float cx, float cy);
   void <a href="coords.html#__svg__SVGTransform__setSkewX">setSkewX</a>(float angle);
   void <a href="coords.html#__svg__SVGTransform__setSkewY">setSkewY</a>(float angle);
 };</pre>
 
 <dl class="interface">
   <dt class="operations-header">Constructors:</dt>
   <dd>
     <dl class="attributes">
       <dt id="__svg__SVGTransform__constructor" class="operation first-child"><b>SVGTransform</b>()</dt>
       <dd class="operation">
         <div>Creates a new <a>SVGTransform</a> object whose type attribute is
         set to SVG_TRANSFORM_MATRIX and whose matrix attribute is set to an
-        <a>SVGMatrix</a> object that represents the identity matrix.</div>
+        <a>DOMMatrixReadOnly</a> object that represents the identity matrix.</div>
       </dd>
-      <dt id="__svg__SVGTransform__constructor1" class="operation first-child"><b>SVGTransform</b>(<a>SVGMatrix</a> <var>matrix</var>)</dt>
+      <dt id="__svg__SVGTransform__constructor1" class="operation first-child"><b>SVGTransform</b>(<a>DOMMatrixReadOnly</a> <var>matrix</var>)</dt>
       <dd class="operation">
         <div>Creates a new <a>SVGTransform</a> object whose type attribute is
         set to SVG_TRANSFORM_MATRIX and whose matrix attribute is set to an
-        <a>SVGMatrix</a> object whose attributes are all initialized to be the
+        <a>DOMMatrixReadOnly</a> object whose attributes are all initialized to be the
         same as the corresponding attributes in <var>matrix</var>.</div>
       </dd>
       <dt id="__svg__SVGTransform__constructor2" class="operation first-child"><b>SVGTransform</b>(DOMString <var>value</var>)</dt>
       <dd class="operation">
         <div>
           <p>Creates a new <a>SVGTransform</a> object whose type and matrix
           attributes are set to values determined by parsing <var>value</var>
           as a <a>&lt;transform-function&gt;</a>.</p>
@@ -2807,57 +2228,57 @@ A <span class="attr-value">'skewY(…)'<
 <dd class="attribute">
 <div>
 The type of the value as specified by one of the SVG_TRANSFORM_*
 constants defined on this interface.
 
 </div>
 </dd>
 
-<dt id="__svg__SVGTransform__matrix" class="attribute"><b>matrix</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a>)</span></dt>
+<dt id="__svg__SVGTransform__matrix" class="attribute"><b>matrix</b><span class="idl-type-parenthetical"> (readonly <a>DOMMatrixReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
 
 <p>The matrix that represents this transformation.  The matrix
 object is live, meaning that any changes made to the SVGTransform
 object are immediately reflected in the matrix object and vice
 versa.  In case the matrix object is changed directly (i.e.,
 without using the methods on the SVGTransform interface itself)
 then the type of the SVGTransform changes to SVG_TRANSFORM_MATRIX.
 
 </p>
 
 <ul>
 
 <li>For SVG_TRANSFORM_MATRIX, the matrix contains the
-<a>SVGMatrix::a</a>, <a>SVGMatrix::b</a>, <a>SVGMatrix::c</a>, <a>SVGMatrix::d</a>, <a>SVGMatrix::e</a>,
-<a>SVGMatrix::f</a> values supplied by the user.
+<var>a</var>, <var>b</var>, <var>c</var>, <var>d</var>, <var>e</var>,
+<var>f</var> values supplied by the user.
 </li>
 
-<li>For SVG_TRANSFORM_TRANSLATE, <a>SVGMatrix::e</a> and <a>SVGMatrix::f</a>
-represent the translation amounts (<a>SVGMatrix::a</a>=1, <a>SVGMatrix::b</a>=0,
-<a>SVGMatrix::c</a>=0 and <a>SVGMatrix::d</a>=1).
+<li>For SVG_TRANSFORM_TRANSLATE, <var>e</var> and <var>f</var>
+represent the translation amounts (<var>a</var>=1, <var>b</var>=0,
+<var>c</var>=0 and <var>d</var>=1).
 </li>
 
-<li>For SVG_TRANSFORM_SCALE, <a>SVGMatrix::a</a> and <a>SVGMatrix::d</a>
-represent the scale amounts (<a>SVGMatrix::b</a>=0, <a>SVGMatrix::c</a>=0,
-<a>SVGMatrix::e</a>=0 and <a>SVGMatrix::f</a>=0).
+<li>For SVG_TRANSFORM_SCALE, <var>a</var> and <var>d</var>
+represent the scale amounts (<var>b</var>=0, <var>c</var>=0,
+<var>e</var>=0 and <var>f</var>=0).
 </li>
 
 <li>For SVG_TRANSFORM_SKEWX and SVG_TRANSFORM_SKEWY,
-<a>SVGMatrix::a</a>, <a>SVGMatrix::b</a>, <a>SVGMatrix::c</a> and <a>SVGMatrix::d</a>
+<var>a</var>, <var>b</var>, <var>c</var> and <var>d</var>
 represent the matrix which will result in the given skew
-(<a>SVGMatrix::e</a>=0 and <a>SVGMatrix::f</a>=0).
+(<var>e</var>=0 and <var>f</var>=0).
 </li>
 
 <li>For SVG_TRANSFORM_ROTATE,
-<a>SVGMatrix::a</a>, <a>SVGMatrix::b</a>, <a>SVGMatrix::c</a>, <a>SVGMatrix::d</a>,
-<a>SVGMatrix::e</a> and <a>SVGMatrix::f</a> together represent the matrix
+<var>a</var>, <var>b</var>, <var>c</var>, <var>d</var>,
+<var>e</var> and <var>f</var> together represent the matrix
 which will result in the given rotation.  When the rotation is around
-the center point (0, 0), <a>SVGMatrix::e</a> and <a>SVGMatrix::f</a> will be zero.
+the center point (0, 0), <var>e</var> and <var>f</var> will be zero.
 </li>
 
 </ul>
 
 </div>
 </dd>
 
 <dt id="__svg__SVGTransform__angle" class="attribute"><b>angle</b><span class="idl-type-parenthetical"> (readonly float)</span></dt>
@@ -2877,17 +2298,17 @@ SVG_TRANSFORM_SCALE, <a>angle</a> will b
 </div>
 </dd>
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
-<dt id="__svg__SVGTransform__setMatrix" class="operation first-child">void <b>setMatrix</b>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var>)
+<dt id="__svg__SVGTransform__setMatrix" class="operation first-child">void <b>setMatrix</b>(<a>DOMMatrixReadOnly</a> <var>matrix</var>)
 </dt>
 <dd class="operation">
 <div>
 
 <p xmlns:edit="http://xmlns.grorg.org/SVGT12NG/">
 Sets the transform type to SVG_TRANSFORM_MATRIX, with parameter
 <var>matrix</var> defining the new transformation.  The values
 from the parameter <var>matrix</var> are copied, the <var>matrix</var>
@@ -2897,17 +2318,17 @@ parameter does not replace <a edit:forma
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var></div> 
+<div><a>DOMMatrixReadOnly</a> <var>matrix</var></div> 
 <div> The new matrix for the transformation.
 
 </div>
 </li>
 </ol>
 </dd>
 </dl>
 </dd>
@@ -3092,17 +2513,17 @@ being thrown, as described below.</p>
 
   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);
   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__createSVGTransformFromMatrix">createSVGTransformFromMatrix</a>(<a>DOMMatrixReadOnly</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">
@@ -3441,17 +2862,17 @@ number 0.
 <a href="#ReadOnlyTransformList">read only</a>.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGTransformList__createSVGTransformFromMatrix" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <b>createSVGTransformFromMatrix</b>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var>)
+<dt id="__svg__SVGTransformList__createSVGTransformFromMatrix" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <b>createSVGTransformFromMatrix</b>(<a>DOMMatrixReadOnly</a> <var>matrix</var>)
 </dt>
 <dd class="operation">
 <div>
 
 <p xmlns:edit="http://xmlns.grorg.org/SVGT12NG/">
 Creates an <a>SVGTransform</a> object which is initialized to transform
 of type SVG_TRANSFORM_MATRIX and whose values are the given matrix.
 The values from the parameter <var>matrix</var> are copied, the
@@ -3462,17 +2883,17 @@ The values from the parameter <var>matri
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var></div> 
+<div><a>DOMMatrixReadOnly</a> <var>matrix</var></div> 
 <div> The matrix which defines the transformation.
 
 </div>
 </li>
 </ol>
 </dd>
 <dt class="returns-header">Returns</dt>
 <dd>
diff --git a/master/definitions.xml b/master/definitions.xml
--- a/master/definitions.xml
+++ b/master/definitions.xml
@@ -1068,18 +1068,22 @@
   <interface name='SVGAnimatedNumber' href='types.html#InterfaceSVGAnimatedNumber'/>
   <interface name='SVGAnimatedLength' href='types.html#InterfaceSVGAnimatedLength'/>
   <interface name='SVGAnimatedEnumeration' href='types.html#InterfaceSVGAnimatedEnumeration'/>
   <interface name='SVGViewSpec' href='types.html#InterfaceSVGViewSpec'/>
   <interface name='SVGZoomAndPan' href='types.html#InterfaceSVGZoomAndPan'/>
   <interface name='SVGFitToViewBox' href='types.html#InterfaceSVGFitToViewBox'/>
   <interface name='SVGNumber' href='types.html#InterfaceSVGNumber'/>
   <interface name='SVGAngle' href='types.html#InterfaceSVGAngle'/>
-  <interface name='SVGMatrix' href='coords.html#InterfaceSVGMatrix'/>
-  <interface name='SVGRect' href='types.html#InterfaceSVGRect'/>
+  <interface name='DOMMatrix' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-dommatrix'/>
+  <interface name='DOMMatrixReadOnly' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-dommatrixreadonly'/>
+  <interface name='SVGMatrix' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-dommatrix'/>
+  <interface name='DOMRect' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-domrect'/>
+  <interface name='DOMRectReadOnly' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-domrectreadonly'/>
+  <interface name='SVGRect' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-domrect'/>
   <interface name='SVGAnimatedRect' href='types.html#InterfaceSVGAnimatedRect'/>
   <interface name='SVGLength' href='types.html#InterfaceSVGLength'/>
   <interface name='SVGTransform' href='coords.html#InterfaceSVGTransform'/>
   <interface name='SVGStringList' href='types.html#InterfaceSVGStringList'/>
   <interface name='SVGTransformList' href='coords.html#InterfaceSVGTransformList'/>
   <interface name='SVGAnimatedTransformList' href='coords.html#InterfaceSVGAnimatedTransformList'/>
   <interface name='SVGGradientElement' href='pservers.html#InterfaceSVGGradientElement'/>
   <interface name='SVGAnimatedLengthList' href='types.html#InterfaceSVGAnimatedLengthList'/>
@@ -1092,17 +1096,19 @@
   <interface name='SVGGeometryElement' href='types.html#InterfaceSVGGeometryElement'/>
   <interface name='SVGTests' href='types.html#InterfaceSVGTests'/>
   <interface name='SVGURIReference' href='types.html#InterfaceSVGURIReference'/>
   <interface name='SVGCSSRule' href='types.html#InterfaceSVGCSSRule'/>
   <interface name='SVGRenderingIntent' href='types.html#InterfaceSVGRenderingIntent'/>
   <interface name='SVGAnimatedBoolean' href='types.html#InterfaceSVGAnimatedBoolean'/>
   <interface name='SVGUnitTypes' href='types.html#InterfaceSVGUnitTypes'/>
   <interface name='SVGStyleElement' href='styling.html#InterfaceSVGStyleElement'/>
-  <interface name='SVGPoint' href='coords.html#InterfaceSVGPoint'/>
+  <interface name='SVGPoint' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-dompoint'/>
+  <interface name='DOMPoint' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-dompoint'/>
+  <interface name='DOMPointReadOnly' href='http://www.w3.org/TR/2014/WD-geometry-1-20140522/#dom-dompointreadonly'/>
   <interface name='SVGPointList' href='coords.html#InterfaceSVGPointList'/>
   <interface name='SVGPreserveAspectRatio' href='coords.html#InterfaceSVGPreserveAspectRatio'/>
   <interface name='SVGAnimatedPreserveAspectRatio' href='coords.html#InterfaceSVGAnimatedPreserveAspectRatio'/>
   <interface name='SVGPathSeg' href='paths.html#InterfaceSVGPathSeg'/>
   <interface name="SVGPathSegClosePath" href="paths.html#InterfaceSVGPathSegClosePath"/>
   <interface name="SVGPathSegMovetoAbs" href="paths.html#InterfaceSVGPathSegMovetoAbs"/>
   <interface name="SVGPathSegMovetoRel" href="paths.html#InterfaceSVGPathSegMovetoRel"/>
   <interface name="SVGPathSegLinetoAbs" href="paths.html#InterfaceSVGPathSegLinetoAbs"/>
@@ -1208,16 +1214,18 @@
   <symbol name='repeat-style' href='http://www.w3.org/TR/css3-background/#ltrepeat-stylegt'/>
   <symbol name='shape-box' href='http://www.w3.org/TR/2014/WD-css-shapes-1-20140211/#typedef-shape-box'/>
   <symbol name='time' href='types.html#DataTypeTime'/>
   <symbol name='transform-list' href='types.html#DataTypeTransformList'/>
   <symbol name='iri' href='types.html#DataTypeIRI'/>
   <symbol name='url' href='types.html#DataTypeIRI'/>
   <symbol name='FuncIRI' href='types.html#DataTypeFuncIRI'/>
   <symbol name='funciri' href='types.html#DataTypeFuncIRI'/>
+  <symbol name='whitespace' href='types.html#DataTypeWhitespace'/>
+  <symbol name='white space' href='types.html#DataTypeWhitespace'/>
   <symbol name='XML-Name' href="types.html#DataTypeXML-Name"/>
   
   <!-- ... terms (these will be generated later) .......................... -->
   <!-- ... elements, in alphabetic order ... -->
   <term name='animation element' href='intro.html#TermAnimationElement'/>
   <term name='animation elements' href='intro.html#TermAnimationElement'/>
   <term name='container element' href='intro.html#TermContainerElement'/>
   <term name='container elements' href='intro.html#TermContainerElement'/>
diff --git a/master/idlindex.html b/master/idlindex.html
--- a/master/idlindex.html
+++ b/master/idlindex.html
@@ -13,16 +13,22 @@
 
 <p class="normativity"><em>This appendix is informative, not normative.</em></p>
 
 <p>The following is a list of all IDL interfaces defined in this specification:</p>
 
 <!-- It would be nice to automatically generate this. -->
 
 <ul>
+  <li><a>DOMMatrix</a></li>
+  <li><a>DOMMatrixReadOnly</a></li>
+  <li><a>DOMPoint</a></li>
+  <li><a>DOMPointReadOnly</a></li>
+  <li><a>DOMRect</a></li>
+  <li><a>DOMRectReadOnly</a></li>
   <li><a>GetSVGDocument</a></li>
   <li><a>SVGAElement</a></li>
   <li><a>SVGAltGlyphDefElement</a></li>
   <li><a>SVGAltGlyphElement</a></li>
   <li><a>SVGAltGlyphItemElement</a></li>
   <li><a>SVGAngle</a></li>
   <li><a>SVGAnimateElement</a></li>
   <li><a>SVGAnimateMotionElement</a></li>
diff --git a/master/painting.html b/master/painting.html
--- a/master/painting.html
+++ b/master/painting.html
@@ -4218,17 +4218,17 @@ can represent any kind of marker, includ
 <p class="issue">What should we do about liveness?  If it is live, we
 could have it know what index it is for, and always return information
 about the marker at that index (and return null for the element if
 that index is no longer valid).</p>
 
 <pre class='idl'>interface <b>SVGMarkerInstance</b> {
   readonly attribute <a>SVGMarkerElement</a> element;
   readonly attribute float position;
-  readonly attribute <a>SVGPoint</a> point;
+  readonly attribute <a>DOMPointReadOnly</a> point;
   readonly attribute float angle;
 };</pre>
 
 <dl class="interface">
   <dt class="attributes-header">Attributes:</dt>
   <dd>
     <dl class="attributes">
       <dt id="__svg__SVGMarkerInstance__element" class="attribute first-child"><b>element</b><span class="idl-type-parenthetical"> (readonly <a>SVGMarkerElement</a>)</span></dt>
@@ -4238,20 +4238,20 @@ that index is no longer valid).</p>
       element that the relevant marker property referenced.  If the marker is
       a <a>positioned marker</a>, then this will be the child <a>'marker element'</a>
       element of the <a>markable element</a>.</dd>
 
       <dt id="__svg__SVGMarkerInstance__position" class="attribute"><b>position</b><span class="idl-type-parenthetical"> (readonly float)</span></dt>
       <dd class="attribute">The distance along the <a>equivalent path</a> of the
       <a>markable element</a> that the marker is positioned at.</dd>
 
-      <dt id="__svg__SVGMarkerInstance__point" class="attribute"><b>point</b><span class="idl-type-parenthetical"> (readonly <a>SVGPoint</a>)</span></dt>
+      <dt id="__svg__SVGMarkerInstance__point" class="attribute"><b>point</b><span class="idl-type-parenthetical"> (readonly <a>DOMPointReadOnly</a>)</span></dt>
       <dd class="attribute">The point, in the user space of the
       <a>markable element</a>, that the marker is positioned at.
-      The <a>SVGPoint</a> object is read only.</dd>
+      The <a>DOMPointReadOnly</a> object is read only.</dd>
 
       <dt id="__svg__SVGMarkerInstance__angle" class="attribute"><b>angle</b><span class="idl-type-parenthetical"> (readonly float)</span></dt>
       <dd class="attribute">The orientation of the marker relative to a
       vector pointing in the direction of the positive y-axis of the
       <a>markable element</a>'s user space.</dd>
     </dl>
   </dd>
 </dl>
@@ -4316,46 +4316,46 @@ the length of the list.</p>
 <p>The <a>SVGMarkableElement</a> interface is implemented on all
 <a>markable elements</a>, and provides access to the markers that are placed on
 the element's path.</p>
 
 <pre class='idl'>[NoInterfaceObject]
 interface <b>SVGMarkableElement</b> {
   readonly attribute <a>SVGMarkerList</a> <a href='#__svg__SVGMarkableElement__markers'>markers</a>;
 
-  long <a href='#__svg__SVGMarkableElement__getMarkerIndexFromPoint'>getMarkerIndexFromPoint</a>(<a>SVGPoint</a> point);
+  long <a href='#__svg__SVGMarkableElement__getMarkerIndexFromPoint'>getMarkerIndexFromPoint</a>(<a>DOMPoint</a> point);
 };</pre>
 
 <dl class="interface">
   <dt class="attributes-header">Attributes:</dt>
   <dd>
     <dl class="attributes">
       <dt id="__svg__SVGMarkableElement__markers" class="attribute first-child"><b>markers</b><span class="idl-type-parenthetical"> (readonly <a>SVGMarkerList</a>)</span></dt>
       <dd class="attribute">The list of markers on this element.</dd>
     </dl>
   </dd>
   <dt class="operations-header">Operations:</dt>
   <dd>
     <dl class="attributes">
-      <dt id="__svg__SVGMarkableElement__getMarkerIndexFromPoint" class="operation first-child">long <b>getMarkerIndexFromPoint</b>(<a>SVGPoint</a> point)</dt>
+      <dt id="__svg__SVGMarkableElement__getMarkerIndexFromPoint" class="operation first-child">long <b>getMarkerIndexFromPoint</b>(<a>DOMPoint</a> point)</dt>
       <dd class="operation">
         Returns the index into the <a>SVGMarkerList</a> of the marker that is at
         the specified point.  Normal hit testing rules apply; the value of the
         <a>'pointer-events'</a> property on the elements that comprise the markers,
         as well as its value on this element, is honored, and the top-most marker
         is selected when there are multiple markers whose content is at the given
         point.
         <dl class="operation">
           <dt class="parameters-header">Parameters</dt>
           <dd>
             <ol class="parameters">
               <li class="parameter first-child">
-                <div><a>SVGPoint</a> <var>point</var></div>
+                <div><a>DOMPoint</a> <var>point</var></div>
                 <div>The point to check for intersection with the markers
-                on this element.  The <a>SVGPoint</a> is interpreted as a
+                on this element.  The <a>DOMPoint</a> is interpreted as a
                 point in the user space of this element.</div>
               </li>
             </ol>
           </dd>
           <dt class="returns-header">Returns</dt>
           <dd>The index into this element's <a>SVGMarkerList</a> of the marker
           at the given point, or -1 if there is no such marker.</dd>
         </dl>
diff --git a/master/paths.html b/master/paths.html
--- a/master/paths.html
+++ b/master/paths.html
@@ -2706,17 +2706,17 @@ the same value as <a>normalizedPathSegLi
 
 The <a>SVGPathElement</a> interface corresponds to the <a>'path'</a>
 element.
 <pre class="idl">interface <b>SVGPathElement</b> : <a>SVGGeometryElement</a> {
 
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedNumber">SVGAnimatedNumber</a> <a href="paths.html#__svg__SVGPathElement__pathLength">pathLength</a>;
 
   float <a href="paths.html#__svg__SVGPathElement__getTotalLength">getTotalLength</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="paths.html#__svg__SVGPathElement__getPointAtLength">getPointAtLength</a>(float distance);
+  <a>DOMPoint</a> <a href="paths.html#__svg__SVGPathElement__getPointAtLength">getPointAtLength</a>(float distance);
   unsigned long <a href="paths.html#__svg__SVGPathElement__getPathSegAtLength">getPathSegAtLength</a>(float distance);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSegClosePath">SVGPathSegClosePath</a> <a href="paths.html#__svg__SVGPathElement__createSVGPathSegClosePath">createSVGPathSegClosePath</a>();
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSegMovetoAbs">SVGPathSegMovetoAbs</a> <a href="paths.html#__svg__SVGPathElement__createSVGPathSegMovetoAbs">createSVGPathSegMovetoAbs</a>(float x, float y);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSegMovetoRel">SVGPathSegMovetoRel</a> <a href="paths.html#__svg__SVGPathElement__createSVGPathSegMovetoRel">createSVGPathSegMovetoRel</a>(float x, float y);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSegLinetoAbs">SVGPathSegLinetoAbs</a> <a href="paths.html#__svg__SVGPathElement__createSVGPathSegLinetoAbs">createSVGPathSegLinetoAbs</a>(float x, float y);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSegLinetoRel">SVGPathSegLinetoRel</a> <a href="paths.html#__svg__SVGPathElement__createSVGPathSegLinetoRel">createSVGPathSegLinetoRel</a>(float x, float y);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSegCurvetoCubicAbs">SVGPathSegCurvetoCubicAbs</a> <a href="paths.html#__svg__SVGPathElement__createSVGPathSegCurvetoCubicAbs">createSVGPathSegCurvetoCubicAbs</a>(float x, float y, float x1, float y1, float x2, float y2);
   <a class="idlinterface" href="paths.html#InterfaceSVGPathSegCurvetoCubicRel">SVGPathSegCurvetoCubicRel</a> <a href="paths.html#__svg__SVGPathElement__createSVGPathSegCurvetoCubicRel">createSVGPathSegCurvetoCubicRel</a>(float x, float y, float x1, float y1, float x2, float y2);
@@ -2769,17 +2769,17 @@ in the current user coordinate system.
 <dd>
 <div> The total length of the path.
 
 </div>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGPathElement__getPointAtLength" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>getPointAtLength</b>(float <var>distance</var>)
+<dt id="__svg__SVGPathElement__getPointAtLength" class="operation"><a>DOMPoint</a> <b>getPointAtLength</b>(float <var>distance</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns the (x,y) coordinate in user space which is <var>distance</var>
 units along the path, utilizing the user agent's distance-along-a-path
 algorithm. 
 
 
diff --git a/master/script.html b/master/script.html
--- a/master/script.html
+++ b/master/script.html
@@ -481,81 +481,81 @@ element.)
 </li>
 
 </ul>
 
 </dd>
 
 </dl>
 <pre class="idl">interface <b>SVGZoomEvent</b> : UIEvent {
-  readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="script.html#__svg__SVGZoomEvent__zoomRectScreen">zoomRectScreen</a>;
+  readonly attribute <a>DOMRectReadOnly</a> <a href="script.html#__svg__SVGZoomEvent__zoomRectScreen">zoomRectScreen</a>;
   readonly attribute float <a href="script.html#__svg__SVGZoomEvent__previousScale">previousScale</a>;
-  readonly attribute <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="script.html#__svg__SVGZoomEvent__previousTranslate">previousTranslate</a>;
+  readonly attribute <a>DOMPointReadOnly</a> <a href="script.html#__svg__SVGZoomEvent__previousTranslate">previousTranslate</a>;
   readonly attribute float <a href="script.html#__svg__SVGZoomEvent__newScale">newScale</a>;
-  readonly attribute <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="script.html#__svg__SVGZoomEvent__newTranslate">newTranslate</a>;
+  readonly attribute <a>DOMPointReadOnly</a> <a href="script.html#__svg__SVGZoomEvent__newTranslate">newTranslate</a>;
 };</pre><dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
-<dt id="__svg__SVGZoomEvent__zoomRectScreen" class="attribute first-child"><b>zoomRectScreen</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a>)</span></dt>
+<dt id="__svg__SVGZoomEvent__zoomRectScreen" class="attribute first-child"><b>zoomRectScreen</b><span class="idl-type-parenthetical"> (readonly <a>DOMRectReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
 
 <p>The specified zoom rectangle in screen units.</p>
 
 
-<p>The <a>SVGRect</a> object is read only.
+<p>The <a>DOMRectReadOnly</a> object is read only.
 </p>
 
 </div>
 </dd>
 
 <dt id="__svg__SVGZoomEvent__previousScale" class="attribute"><b>previousScale</b><span class="idl-type-parenthetical"> (readonly float)</span></dt>
 <dd class="attribute">
 <div>
 The scale factor from previous zoom operations that was in place before
 the zoom operation occurred.
 
 </div>
 </dd>
 
-<dt id="__svg__SVGZoomEvent__previousTranslate" class="attribute"><b>previousTranslate</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a>)</span></dt>
+<dt id="__svg__SVGZoomEvent__previousTranslate" class="attribute"><b>previousTranslate</b><span class="idl-type-parenthetical"> (readonly <a>DOMPointReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
 
 <p>The translation values from previous zoom operations that were in
 place before the zoom operation occurred.
 </p>
 
 
-<p>The <a>SVGPoint</a> object is read only.
+<p>The <a>DOMPointReadOnly</a> object is read only.
 </p>
 
 </div>
 </dd>
 
 <dt id="__svg__SVGZoomEvent__newScale" class="attribute"><b>newScale</b><span class="idl-type-parenthetical"> (readonly float)</span></dt>
 <dd class="attribute">
 <div>
 The scale factor that will be in place after the zoom operation has been processed.
 
 </div>
 </dd>
 
-<dt id="__svg__SVGZoomEvent__newTranslate" class="attribute"><b>newTranslate</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a>)</span></dt>
+<dt id="__svg__SVGZoomEvent__newTranslate" class="attribute"><b>newTranslate</b><span class="idl-type-parenthetical"> (readonly <a>DOMPointReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
 
 <p>The translation values that will be in place after the zoom
 operation has been processed.
 </p>
 
 
-<p>The <a>SVGPoint</a> object is read only.
+<p>The <a>DOMPointReadOnly</a> object is read only.
 </p>
 
 </div>
 </dd>
 </dl>
 </dd>
 </dl>
 
diff --git a/master/struct.html b/master/struct.html
--- a/master/struct.html
+++ b/master/struct.html
@@ -221,50 +221,50 @@ create SVG fragments.</p>
     <th>DOM Interface:</th>
     <td>
 <pre class="idl">interface <b>SVGSVGElement</b> : <a>SVGGraphicsElement</a> {
 
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__x">x</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__y">y</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__width">width</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__height">height</a>;
-  readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="struct.html#__svg__SVGSVGElement__viewport">viewport</a>;
+  readonly attribute <a>DOMRectReadOnly</a> <a href="struct.html#__svg__SVGSVGElement__viewport">viewport</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__pixelUnitToMillimeterX">pixelUnitToMillimeterX</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__pixelUnitToMillimeterY">pixelUnitToMillimeterY</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__screenPixelToMillimeterX">screenPixelToMillimeterX</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__screenPixelToMillimeterY">screenPixelToMillimeterY</a>;
   readonly attribute boolean <a href="struct.html#__svg__SVGSVGElement__useCurrentView">useCurrentView</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGViewSpec">SVGViewSpec</a> <a href="struct.html#__svg__SVGSVGElement__currentView">currentView</a>;
            attribute float <a href="struct.html#__svg__SVGSVGElement__currentScale">currentScale</a>;
-  readonly attribute <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="struct.html#__svg__SVGSVGElement__currentTranslate">currentTranslate</a>;
+  readonly attribute <a>DOMPointReadOnly</a> <a href="struct.html#__svg__SVGSVGElement__currentTranslate">currentTranslate</a>;
 
   unsigned long <a href="struct.html#__svg__SVGSVGElement__suspendRedraw">suspendRedraw</a>(unsigned long maxWaitMilliseconds);
   void <a href="struct.html#__svg__SVGSVGElement__unsuspendRedraw">unsuspendRedraw</a>(unsigned long suspendHandleID);
   void <a href="struct.html#__svg__SVGSVGElement__unsuspendRedrawAll">unsuspendRedrawAll</a>();
   void <a href="struct.html#__svg__SVGSVGElement__forceRedraw">forceRedraw</a>();
   void <a href="struct.html#__svg__SVGSVGElement__pauseAnimations">pauseAnimations</a>();
   void <a href="struct.html#__svg__SVGSVGElement__unpauseAnimations">unpauseAnimations</a>();
   boolean <a href="struct.html#__svg__SVGSVGElement__animationsPaused">animationsPaused</a>();
   float <a href="struct.html#__svg__SVGSVGElement__getCurrentTime">getCurrentTime</a>();
   void <a href="struct.html#__svg__SVGSVGElement__setCurrentTime">setCurrentTime</a>(float seconds);
   <a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getIntersectionList">getIntersectionList</a>(<a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
+   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getIntersectionList">getIntersectionList</a>(<a>DOMRectReadOnly</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
   <a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getEnclosureList">getEnclosureList</a>(<a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
-  boolean <a href="struct.html#__svg__SVGSVGElement__checkIntersection">checkIntersection</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect);
-  boolean <a href="struct.html#__svg__SVGSVGElement__checkEnclosure">checkEnclosure</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect);
+   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getEnclosureList">getEnclosureList</a>(<a>DOMRectReadOnly</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
+  boolean <a href="struct.html#__svg__SVGSVGElement__checkIntersection">checkIntersection</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a>DOMRectReadOnly</a> rect);
+  boolean <a href="struct.html#__svg__SVGSVGElement__checkEnclosure">checkEnclosure</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a>DOMRectReadOnly</a> rect);
   void <a href="struct.html#__svg__SVGSVGElement__deselectAll">deselectAll</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="struct.html#__svg__SVGSVGElement__createSVGNumber">createSVGNumber</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="struct.html#__svg__SVGSVGElement__createSVGLength">createSVGLength</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGAngle">SVGAngle</a> <a href="struct.html#__svg__SVGSVGElement__createSVGAngle">createSVGAngle</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="struct.html#__svg__SVGSVGElement__createSVGPoint">createSVGPoint</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="struct.html#__svg__SVGSVGElement__createSVGMatrix">createSVGMatrix</a>();
-  <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="struct.html#__svg__SVGSVGElement__createSVGRect">createSVGRect</a>();
+  <a>DOMPoint</a> <a href="struct.html#__svg__SVGSVGElement__createSVGPoint">createSVGPoint</a>();
+  <a>DOMMatrix</a> <a href="struct.html#__svg__SVGSVGElement__createSVGMatrix">createSVGMatrix</a>();
+  <a>DOMRect</a> <a href="struct.html#__svg__SVGSVGElement__createSVGRect">createSVGRect</a>();
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="struct.html#__svg__SVGSVGElement__createSVGTransform">createSVGTransform</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="struct.html#__svg__SVGSVGElement__createSVGTransformFromMatrix">createSVGTransformFromMatrix</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> matrix);
+  <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="struct.html#__svg__SVGSVGElement__createSVGTransformFromMatrix">createSVGTransformFromMatrix</a>(<a>DOMMatrixReadOnly</a> matrix);
   <a class="idlinterface"
    href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-745549614">Element</a> <a href="struct.html#__svg__SVGSVGElement__getElementById">getElementById</a>(DOMString elementId);
 };
 
 <a>SVGSVGElement</a> implements <a>ViewCSS</a>;
 <a>SVGSVGElement</a> implements <a>DocumentCSS</a>;
 <a>SVGSVGElement</a> implements <a>SVGFitToViewBox</a>;
 <a>SVGSVGElement</a> implements <a>SVGZoomAndPan</a>;</pre>
@@ -2353,50 +2353,50 @@ sheet as described in <a href="http://ww
 Shouldn't the former be on Window and the latter on <a>Document</a> or <a>SVGDocument</a>?</p>
 
 <pre class="idl">interface <b>SVGSVGElement</b> : <a>SVGGraphicsElement</a> {
 
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__x">x</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__y">y</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__width">width</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="struct.html#__svg__SVGSVGElement__height">height</a>;
-  readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="struct.html#__svg__SVGSVGElement__viewport">viewport</a>;
+  readonly attribute <a>DOMRectReadOnly</a> <a href="struct.html#__svg__SVGSVGElement__viewport">viewport</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__pixelUnitToMillimeterX">pixelUnitToMillimeterX</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__pixelUnitToMillimeterY">pixelUnitToMillimeterY</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__screenPixelToMillimeterX">screenPixelToMillimeterX</a>;
   readonly attribute float <a href="struct.html#__svg__SVGSVGElement__screenPixelToMillimeterY">screenPixelToMillimeterY</a>;
   readonly attribute boolean <a href="struct.html#__svg__SVGSVGElement__useCurrentView">useCurrentView</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGViewSpec">SVGViewSpec</a> <a href="struct.html#__svg__SVGSVGElement__currentView">currentView</a>;
            attribute float <a href="struct.html#__svg__SVGSVGElement__currentScale">currentScale</a>;
-  readonly attribute <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="struct.html#__svg__SVGSVGElement__currentTranslate">currentTranslate</a>;
+  readonly attribute <a>DOMPointReadOnly</a> <a href="struct.html#__svg__SVGSVGElement__currentTranslate">currentTranslate</a>;
 
   unsigned long <a href="struct.html#__svg__SVGSVGElement__suspendRedraw">suspendRedraw</a>(unsigned long maxWaitMilliseconds);
   void <a href="struct.html#__svg__SVGSVGElement__unsuspendRedraw">unsuspendRedraw</a>(unsigned long suspendHandleID);
   void <a href="struct.html#__svg__SVGSVGElement__unsuspendRedrawAll">unsuspendRedrawAll</a>();
   void <a href="struct.html#__svg__SVGSVGElement__forceRedraw">forceRedraw</a>();
   void <a href="struct.html#__svg__SVGSVGElement__pauseAnimations">pauseAnimations</a>();
   void <a href="struct.html#__svg__SVGSVGElement__unpauseAnimations">unpauseAnimations</a>();
   boolean <a href="struct.html#__svg__SVGSVGElement__animationsPaused">animationsPaused</a>();
   float <a href="struct.html#__svg__SVGSVGElement__getCurrentTime">getCurrentTime</a>();
   void <a href="struct.html#__svg__SVGSVGElement__setCurrentTime">setCurrentTime</a>(float seconds);
   <a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getIntersectionList">getIntersectionList</a>(<a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
+   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getIntersectionList">getIntersectionList</a>(<a>DOMRectReadOnly</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
   <a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getEnclosureList">getEnclosureList</a>(<a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
-  boolean <a href="struct.html#__svg__SVGSVGElement__checkIntersection">checkIntersection</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect);
-  boolean <a href="struct.html#__svg__SVGSVGElement__checkEnclosure">checkEnclosure</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> rect);
+   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <a href="struct.html#__svg__SVGSVGElement__getEnclosureList">getEnclosureList</a>(<a>DOMRectReadOnly</a> rect, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> referenceElement);
+  boolean <a href="struct.html#__svg__SVGSVGElement__checkIntersection">checkIntersection</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a>DOMRectReadOnly</a> rect);
+  boolean <a href="struct.html#__svg__SVGSVGElement__checkEnclosure">checkEnclosure</a>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> element, <a>DOMRectReadOnly</a> rect);
   void <a href="struct.html#__svg__SVGSVGElement__deselectAll">deselectAll</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGNumber">SVGNumber</a> <a href="struct.html#__svg__SVGSVGElement__createSVGNumber">createSVGNumber</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGLength">SVGLength</a> <a href="struct.html#__svg__SVGSVGElement__createSVGLength">createSVGLength</a>();
   <a class="idlinterface" href="types.html#InterfaceSVGAngle">SVGAngle</a> <a href="struct.html#__svg__SVGSVGElement__createSVGAngle">createSVGAngle</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="struct.html#__svg__SVGSVGElement__createSVGPoint">createSVGPoint</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="struct.html#__svg__SVGSVGElement__createSVGMatrix">createSVGMatrix</a>();
-  <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="struct.html#__svg__SVGSVGElement__createSVGRect">createSVGRect</a>();
+  <a>DOMPoint</a> <a href="struct.html#__svg__SVGSVGElement__createSVGPoint">createSVGPoint</a>();
+  <a>DOMMatrix</a> <a href="struct.html#__svg__SVGSVGElement__createSVGMatrix">createSVGMatrix</a>();
+  <a>DOMRect</a> <a href="struct.html#__svg__SVGSVGElement__createSVGRect">createSVGRect</a>();
   <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="struct.html#__svg__SVGSVGElement__createSVGTransform">createSVGTransform</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="struct.html#__svg__SVGSVGElement__createSVGTransformFromMatrix">createSVGTransformFromMatrix</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> matrix);
+  <a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <a href="struct.html#__svg__SVGSVGElement__createSVGTransformFromMatrix">createSVGTransformFromMatrix</a>(<a>DOMMatrixReadOnly</a> matrix);
   <a class="idlinterface"
    href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-745549614">Element</a> <a href="struct.html#__svg__SVGSVGElement__getElementById">getElementById</a>(DOMString elementId);
 };
 
 <a>SVGSVGElement</a> implements <a>ViewCSS</a>;
 <a>SVGSVGElement</a> implements <a>DocumentCSS</a>;
 <a>SVGSVGElement</a> implements <a>SVGFitToViewBox</a>;
 <a>SVGSVGElement</a> implements <a>SVGZoomAndPan</a>;
@@ -2438,17 +2438,17 @@ element.
 <div>
 Corresponds to attribute <a>'height'</a> on the given <a>'svg'</a>
 element.
 <p class="issue">What value should be returned here (since this is now a presentation attribute)?</p>
 
 </div>
 </dd>
 
-<dt id="__svg__SVGSVGElement__viewport" class="attribute"><b>viewport</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a>)</span></dt>
+<dt id="__svg__SVGSVGElement__viewport" class="attribute"><b>viewport</b><span class="idl-type-parenthetical"> (readonly <a>DOMRectReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
 
 <p>The position and size of the viewport (implicit or explicit) that
 corresponds to this <a>'svg'</a> element. When the user agent is actually
 rendering the content, then the position and size values represent the
 actual values when rendering. The position and size values are unitless
 values in the coordinate system of the parent element. If no parent element
@@ -2459,17 +2459,17 @@ position and size are unitless values in
 document. (If the parent uses CSS or XSL layout, then unitless values
 represent pixel units for the current CSS or XSL viewport, as described in
 the CSS2 specification.) If the parent element does not have a coordinate
 system, then the user agent should provide reasonable default values for
 this attribute.
 </p>
 
 
-<p>The <a>SVGRect</a> object is <a href="types.html#ReadOnlyRect">read only</a>.
+<p>The <a>DOMRectReadOnly</a> object is <a href="types.html#ReadOnlyRect">read only</a>.
 </p>
 
 </div>
 </dd>
 
 <dt id="__svg__SVGSVGElement__pixelUnitToMillimeterX" class="attribute"><b>pixelUnitToMillimeterX</b><span class="idl-type-parenthetical"> (readonly float)</span></dt>
 <dd class="attribute">
 <div>
@@ -2663,26 +2663,26 @@ outermost level on the SVG document frag
 
 <p>When accessed on an <a>'svg'</a> element that is not an
 <a>outermost svg element</a>, this attribute must return 1 as scaling factor.
 </p>
 
 </div>
 </dd>
 
-<dt id="__svg__SVGSVGElement__currentTranslate" class="attribute"><b>currentTranslate</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a>)</span></dt>
+<dt id="__svg__SVGSVGElement__currentTranslate" class="attribute"><b>currentTranslate</b><span class="idl-type-parenthetical"> (readonly <a>DOMPointReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
 On an <a>outermost svg element</a>, the corresponding translation factor
 that takes into account user "magnification".
 
 <p>The value of a transform property on the <a>outermost svg element</a> does not affect the value of this attribute.</p>
 
 <p>When accessed on an <a>'svg'</a> element that is not an
-<a>outermost svg element</a>, this attribute must return an SVGPoint at the coordinates (0, 0).
+<a>outermost svg element</a>, this attribute must return an DOMPointReadOnly at the coordinates (0, 0).
 </p>
 
 </div>
 </dd>
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
@@ -2865,34 +2865,34 @@ time for the current SVG document fragme
 </div>
 </li>
 </ol>
 </dd>
 </dl>
 </dd>
 
 <dt id="__svg__SVGSVGElement__getIntersectionList" class="operation"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <b>getIntersectionList</b>(<a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var>, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>referenceElement</var>)
+   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <b>getIntersectionList</b>(<a>DOMRectReadOnly</a> <var>rect</var>, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>referenceElement</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns the list of graphics elements whose rendered content intersects
 the supplied rectangle. Each candidate graphics element is to
 be considered a match only if the same graphics element can be a 
 <a href="interact.html#PointerEventsProperty">target of pointer events</a> 
 as defined in <a>'pointer-events'</a> processing.
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var></div> 
+<div><a>DOMRectReadOnly</a> <var>rect</var></div> 
 <div> The test rectangle. The values are in the <a>initial coordinate
 system</a> for the current <a>'svg'</a> element.
 
 </div>
 </li>
 <li class="parameter">
 <div><a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>referenceElement</var></div> 
 <div> If not null, then any intersected element that 
@@ -2908,34 +2908,34 @@ in the returned NodeList.
 <div> A list of Elements whose content intersects the supplied rectangle.
 The <a>NodeList</a> that is returned is <a href="http://www.w3.org/TR/dom/#concept-collection-static">static</a> ([<a href="refs.html#ref-DOM4">DOM4</a>], section 5.2.7).
 </div>
 </dd>
 </dl>
 </dd>
 
 <dt id="__svg__SVGSVGElement__getEnclosureList" class="operation"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <b>getEnclosureList</b>(<a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var>, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>referenceElement</var>)
+   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-536297177">NodeList</a> <b>getEnclosureList</b>(<a>DOMRectReadOnly</a> <var>rect</var>, <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>referenceElement</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns the list of graphics elements whose rendered content is entirely
 contained within the supplied rectangle. Each candidate graphics element is to
 be considered a match only if the same graphics element can be a 
 <a href="interact.html#PointerEventsProperty">target of pointer events</a> 
 as defined in <a>'pointer-events'</a> processing.
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var></div> 
+<div><a>DOMRectReadOnly</a> <var>rect</var></div> 
 <div> The test rectangle. The values are in the <a>initial coordinate
 system</a> for the current <a>'svg'</a> element.
 
 </div>
 </li>
 <li class="parameter">
 <div><a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>referenceElement</var></div> 
 <div> If not null, then any intersected element that 
@@ -2950,17 +2950,17 @@ in the returned NodeList.
 <dd>
 <div> A list of Elements whose content is enclosed by the supplied rectangle.
 The <a>NodeList</a> that is returned is <a href="http://www.w3.org/TR/dom/#concept-collection-static">static</a> ([<a href="refs.html#ref-DOM4">DOM4</a>], section 5.2.7).
 </div>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGSVGElement__checkIntersection" class="operation">boolean <b>checkIntersection</b>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>element</var>, <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var>)
+<dt id="__svg__SVGSVGElement__checkIntersection" class="operation">boolean <b>checkIntersection</b>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>element</var>, <a>DOMRectReadOnly</a> <var>rect</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns true if the rendered content of the given element intersects the
 supplied rectangle. Each candidate graphics element is to
 be considered a match only if the same graphics element can be a 
 <a href="interact.html#PointerEventsProperty">target of pointer events</a> 
 as defined in <a>'pointer-events'</a> processing.
@@ -2973,17 +2973,17 @@ as defined in <a>'pointer-events'</a> pr
 <ol class="parameters">
 <li class="parameter first-child">
 <div><a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>element</var></div> 
 <div> The element on which to perform the given test.
 
 </div>
 </li>
 <li class="parameter">
-<div><a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var></div> 
+<div><a>DOMRectReadOnly</a> <var>rect</var></div> 
 <div> The test rectangle. The values are in the <a>initial coordinate
 system</a> for the current <a>'svg'</a> element.
 
 </div>
 </li>
 </ol>
 </dd>
 <dt class="returns-header">Returns</dt>
@@ -2991,17 +2991,17 @@ system</a> for the current <a>'svg'</a> 
 <div> True or false, depending on whether the given element intersects
 the supplied rectangle.
 
 </div>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGSVGElement__checkEnclosure" class="operation">boolean <b>checkEnclosure</b>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>element</var>, <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var>)
+<dt id="__svg__SVGSVGElement__checkEnclosure" class="operation">boolean <b>checkEnclosure</b>(<a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>element</var>, <a>DOMRectReadOnly</a> <var>rect</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns true if the rendered content of the given element is entirely
 contained within the supplied rectangle. Each candidate graphics element is to
 be considered a match only if the same graphics element can be a 
 <a href="interact.html#PointerEventsProperty">target of pointer events</a> 
 as defined in <a>'pointer-events'</a> processing.
@@ -3014,17 +3014,17 @@ as defined in <a>'pointer-events'</a> pr
 <ol class="parameters">
 <li class="parameter first-child">
 <div><a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a> <var>element</var></div> 
 <div> The element on which to perform the given test.
 
 </div>
 </li>
 <li class="parameter">
-<div><a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <var>rect</var></div> 
+<div><a>DOMRectReadOnly</a> <var>rect</var></div> 
 <div> The test rectangle. The values are in the <a>initial coordinate
 system</a> for the current <a>'svg'</a> element.
 
 </div>
 </li>
 </ol>
 </dd>
 <dt class="returns-header">Returns</dt>
@@ -3101,67 +3101,67 @@ object is initialized to the value 0 deg
 <dd>
 <div> An <a>SVGAngle</a> object.
 
 </div>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGSVGElement__createSVGPoint" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>createSVGPoint</b>()
+<dt id="__svg__SVGSVGElement__createSVGPoint" class="operation"><a>DOMPoint</a> <b>createSVGPoint</b>()
 </dt>
 <dd class="operation">
 <div>
-Creates an <a>SVGPoint</a> object outside of any document trees. The
+Creates an <a>DOMPoint</a> object outside of any document trees. The
 object is initialized to the point (0,0) in the user coordinate system.
 
 
 </div>
 <dl class="operation">
 <dt class="returns-header">Returns</dt>
 <dd>
-<div> An <a>SVGPoint</a> object.
+<div> An <a>DOMPoint</a> object.
 
 </div>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGSVGElement__createSVGMatrix" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>createSVGMatrix</b>()
+<dt id="__svg__SVGSVGElement__createSVGMatrix" class="operation"><a>DOMMatrix</a> <b>createSVGMatrix</b>()
 </dt>
 <dd class="operation">
 <div>
-Creates an <a>SVGMatrix</a> object outside of any document trees. The
+Creates an <a>DOMMatrix</a> object outside of any document trees. The
 object is initialized to the identity matrix.
 
 
 </div>
 <dl class="operation">
 <dt class="returns-header">Returns</dt>
 <dd>
-<div> An <a>SVGMatrix</a> object.
+<div> An <a>DOMMatrix</a> object.
 
 </div>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGSVGElement__createSVGRect" class="operation"><a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <b>createSVGRect</b>()
+<dt id="__svg__SVGSVGElement__createSVGRect" class="operation"><a>DOMRect</a> <b>createSVGRect</b>()
 </dt>
 <dd class="operation">
 <div>
-Creates an <a>SVGRect</a> object outside of any document trees. The
+Creates an <a>DOMRect</a> object outside of any document trees. The
 object is initialized such that all values are set to 0 user units.
 
 
 </div>
 <dl class="operation">
 <dt class="returns-header">Returns</dt>
 <dd>
-<div> An <a>SVGRect</a> object.
+<div> An <a>DOMRect</a> object.
 
 </div>
 </dd>
 </dl>
 </dd>
 
 <dt id="__svg__SVGSVGElement__createSVGTransform" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <b>createSVGTransform</b>()
 </dt>
@@ -3178,17 +3178,17 @@ object is initialized to an identity mat
 <dd>
 <div> An <a>SVGTransform</a> object.
 
 </div>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGSVGElement__createSVGTransformFromMatrix" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <b>createSVGTransformFromMatrix</b>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var>)
+<dt id="__svg__SVGSVGElement__createSVGTransformFromMatrix" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGTransform">SVGTransform</a> <b>createSVGTransformFromMatrix</b>(<a>DOMMatrixReadOnly</a> <var>matrix</var>)
 </dt>
 <dd class="operation">
 <div>
 
 <p xmlns:edit="http://xmlns.grorg.org/SVGT12NG/">
 Creates an <a>SVGTransform</a> object outside of any document trees. The
 object is initialized to the given matrix transform (i.e.,
 SVG_TRANSFORM_MATRIX).  The values from the parameter <var>matrix</var>
@@ -3199,17 +3199,17 @@ are copied, the <var>matrix</var> parame
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <var>matrix</var></div> 
+<div><a>DOMMatrixReadOnly</a> <var>matrix</var></div> 
 <div> The transform matrix.
 
 </div>
 </li>
 </ol>
 </dd>
 <dt class="returns-header">Returns</dt>
 <dd>
diff --git a/master/svgdom.html b/master/svgdom.html
--- a/master/svgdom.html
+++ b/master/svgdom.html
@@ -130,17 +130,17 @@ attribute are immediately reflected in t
 and the <a>'rect/x'</a> attribute was not specified in the document, the
 returned SVG DOM object would represent the value <span class="attr-value">0 user units</span>.</p>
 
 <p>For cases where an attribute has a default value the returned SVG DOM object that must reflect that value, 
 and for all other cases the object is initialized as described below.
 If a particular SVG DOM interface is not listed below that means
 that the object initialization shall be done using the values for the 
 objects that the interface contains, e.g <span class="DOMInterfaceName">DOMString</span> in the
-case of <a>SVGAnimatedString</a>, or four <span class="DOMInterfaceName">floats</span> in the case of <a>SVGRect</a>.</p>
+case of <a>SVGAnimatedString</a>.</p>
 
 <dl id="SVGObjectInitValues">
   <dt class="DOMInterfaceName"><a href="text.html#__svg__SVGTextContentElement__textLength">SVGTextContentElement.textLength</a></dt>
   <dd>Initialized with the return-value of <a>SVGTextContentElement::getComputedTextLength</a>
   on the same element.</dd>
 
   <dt class="DOMInterfaceName">DOMString</dt>
   <dd>Initialized as the empty string (<span class="attr-value">""</span>).</dd>
diff --git a/master/text.html b/master/text.html
--- a/master/text.html
+++ b/master/text.html
@@ -7004,21 +7004,21 @@ style="font-weight:bold; color:green">tr
   const unsigned short <a href="text.html#__svg__SVGTextContentElement__LENGTHADJUST_SPACINGANDGLYPHS">LENGTHADJUST_SPACINGANDGLYPHS</a> = 2;
 
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedLength">SVGAnimatedLength</a> <a href="text.html#__svg__SVGTextContentElement__textLength">textLength</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGAnimatedEnumeration">SVGAnimatedEnumeration</a> <a href="text.html#__svg__SVGTextContentElement__lengthAdjust">lengthAdjust</a>;
 
   long <a href="text.html#__svg__SVGTextContentElement__getNumberOfChars">getNumberOfChars</a>();
   float <a href="text.html#__svg__SVGTextContentElement__getComputedTextLength">getComputedTextLength</a>();
   float <a href="text.html#__svg__SVGTextContentElement__getSubStringLength">getSubStringLength</a>(unsigned long charnum, unsigned long nchars);
-  <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="text.html#__svg__SVGTextContentElement__getStartPositionOfChar">getStartPositionOfChar</a>(unsigned long charnum);
-  <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="text.html#__svg__SVGTextContentElement__getEndPositionOfChar">getEndPositionOfChar</a>(unsigned long charnum);
-  <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="text.html#__svg__SVGTextContentElement__getExtentOfChar">getExtentOfChar</a>(unsigned long charnum);
+  <a>DOMPoint</a> <a href="text.html#__svg__SVGTextContentElement__getStartPositionOfChar">getStartPositionOfChar</a>(unsigned long charnum);
+  <a>DOMPoint</a> <a href="text.html#__svg__SVGTextContentElement__getEndPositionOfChar">getEndPositionOfChar</a>(unsigned long charnum);
+  <a>DOMRect</a> <a href="text.html#__svg__SVGTextContentElement__getExtentOfChar">getExtentOfChar</a>(unsigned long charnum);
   float <a href="text.html#__svg__SVGTextContentElement__getRotationOfChar">getRotationOfChar</a>(unsigned long charnum);
-  long <a href="text.html#__svg__SVGTextContentElement__getCharNumAtPosition">getCharNumAtPosition</a>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> point);
+  long <a href="text.html#__svg__SVGTextContentElement__getCharNumAtPosition">getCharNumAtPosition</a>(<a>DOMPoint</a> point);
   void <a href="text.html#__svg__SVGTextContentElement__selectSubString">selectSubString</a>(unsigned long charnum, unsigned long nchars);
 };</pre>
 
 <dl class="interface">
 <dt class="constants-header">Constants in group “lengthAdjust Types”:</dt>
 <dd>
 <dl class="constants">
 
@@ -7189,17 +7189,17 @@ list of characters.
 or equal to the number of characters at this node.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGTextContentElement__getStartPositionOfChar" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>getStartPositionOfChar</b>(unsigned long <var>charnum</var>)
+<dt id="__svg__SVGTextContentElement__getStartPositionOfChar" class="operation"><a>DOMPoint</a> <b>getStartPositionOfChar</b>(unsigned long <var>charnum</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns the current text position before rendering the character in the
 user coordinate system for rendering the glyph(s) that correspond to
 the specified character. The current text position has already taken
 into account the effects of any inter-character adjustments due to
 properties <a>'letter-spacing'</a> and
@@ -7243,17 +7243,17 @@ negative or if <var>charnum</var> is gre
 number of characters at this node.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGTextContentElement__getEndPositionOfChar" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <b>getEndPositionOfChar</b>(unsigned long <var>charnum</var>)
+<dt id="__svg__SVGTextContentElement__getEndPositionOfChar" class="operation"><a>DOMPoint</a> <b>getEndPositionOfChar</b>(unsigned long <var>charnum</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns the current text position after rendering the character in the
 user coordinate system for rendering the glyph(s) that correspond to
 the specified character. This current text position does <em>not</em> take into
 account the effects of any inter-character adjustments to prepare for
 the next character, such as properties
@@ -7297,17 +7297,17 @@ negative or if <var>charnum</var> is gre
 number of characters at this node.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGTextContentElement__getExtentOfChar" class="operation"><a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <b>getExtentOfChar</b>(unsigned long <var>charnum</var>)
+<dt id="__svg__SVGTextContentElement__getExtentOfChar" class="operation"><a>DOMRect</a> <b>getExtentOfChar</b>(unsigned long <var>charnum</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns a tightest rectangle which defines the minimum and maximum X and
 Y values in the user coordinate system for rendering the glyph(s) that
 correspond to the specified character. The calculations assume that all
 glyphs occupy the full standard glyph cell for the font. If multiple
 consecutive characters are rendered inseparably (e.g., as a single glyph
@@ -7402,17 +7402,17 @@ negative or if <var>charnum</var> is gre
 number of characters at this node.
 
 </dd>
 </dl>
 </dd>
 </dl>
 </dd>
 
-<dt id="__svg__SVGTextContentElement__getCharNumAtPosition" class="operation">long <b>getCharNumAtPosition</b>(<a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>point</var>)
+<dt id="__svg__SVGTextContentElement__getCharNumAtPosition" class="operation">long <b>getCharNumAtPosition</b>(<a>DOMPoint</a> <var>point</var>)
 </dt>
 <dd class="operation">
 <div>
 Returns the index of the character whose corresponding glyph cell
 bounding box contains the specified point. The calculations assume that
 all glyphs occupy the full standard glyph cell for the font. If no such
 character exists, a value of -1 is returned. If multiple such
 characters exist, the character within the element whose glyphs were
@@ -7425,17 +7425,17 @@ which of the characters is chosen.
 
 
 </div>
 <dl class="operation">
 <dt class="parameters-header">Parameters</dt>
 <dd>
 <ol class="parameters">
 <li class="parameter first-child">
-<div><a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <var>point</var></div> 
+<div><a>DOMPoint</a> <var>point</var></div> 
 <div> A point in user space.
 
 </div>
 </li>
 </ol>
 </dd>
 <dt class="returns-header">Returns</dt>
 <dd>
diff --git a/master/types.html b/master/types.html
--- a/master/types.html
+++ b/master/types.html
@@ -212,16 +212,25 @@ attributes, including presentation attri
 
     <pre class='grammar'><span id='Anything'>anything</span> ::= <a href='http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char'>Char</a>*</pre>
 
     <p>where <a href='http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Char'>Char</a> is the
     production for a character, as defined in XML 1.0
     ([<a href='refs.html#ref-XML10'>XML10</a>], section 2.2).</p>
   </dd>
 
+  <dt id='DataTypeWhitespace'>&lt;whitespace&gt;</dt>
+  <dd>
+    <p>White space is defined as one or more of the
+    following consecutive characters: "space" (U+0020), "tab" (U+0009), "line feed" (U+000A),
+    "form feed" (U+000C) and "carriage return" (U+000D).</p>
+
+    <pre class='grammar'><span id='WSP'>wsp</span> ::= ( #x9 | #x20 | #xA | #xC | #xD )</pre>
+  </dd>
+  
   <dt id='DataTypeChildSelector'>&lt;child-selector&gt;</dt>
   <dd>
     <p>A comma-separated list of <a>compound selectors</a>.
        When used, the scope in which the selectors are evaluated is also
        defined.
        Typically only the first matching element in <a>tree order</a> (as
        defined in [<a href="refs.html#ref-DOM4">DOM4</a>]) as a result of
        evaluating the list of selectors is used.
@@ -353,19 +362,19 @@ attributes, including presentation attri
       An image source (including gradients) as defined by CSS Level 4 Image
       Values ([<a href='refs.html#ref-CSS4IMAGES'>CSS4IMAGES</a>], section 4.3).
     </p>
   </dd>
 
   <dt id='DataTypeInteger'>&lt;integer&gt;</dt>
   <dd>
     <p>An &lt;integer&gt; is specified as an optional sign character ("+" or
-    "-") followed by one or more digits "0" to "9":</p>
-
-    <pre class='grammar'><span id='Integer'>integer</span> ::= [+-]? [0-9]+</pre>
+    "-") followed by one or more digits "0" to "9", optionally surrounded by whitespace:</p>
+
+    <pre class='grammar'><span id='Integer'>integer</span> ::= <a href='#WSP'>wsp</a>* [+-]? [0-9]+ <a href='#WSP'>wsp</a>*</pre>
 
     <p>If the sign character is not present, the number is non-negative.</p>
 
     <p>Unless stated otherwise for a particular attribute or
     <a>property</a>, the range for an &lt;integer&gt; encompasses (at a
     minimum) -2147483648 to 2147483647.</p>
 
     <p>Within the SVG DOM, an &lt;integer&gt; is represented as a
@@ -405,17 +414,17 @@ attributes, including presentation attri
         a length unit identifier must be provided (for non-zero values).
         For SVG-specific <a>properties</a>, the length unit identifier
         is optional.  If a unit is not provided, the length value
         represents a distance in the current user coordinate system.</p>
       </li>
       <li>
         <p>When a &lt;length&gt; is used in an SVG <a>presentation attribute</a>,
         the syntax must match the following pattern:</p>
-        <pre class='grammar'>length ::= <a href='#DataTypeNumber'>number</a> ("em" | "ex" | "px" | "in" | "cm" | "mm" | "pt" | "pc" | "%")?</pre>
+        <pre class='grammar'>length ::= <a href='#WSP'>wsp</a>* <a href='#DataTypeNumber'>number</a> ("em" | "ex" | "px" | "in" | "cm" | "mm" | "pt" | "pc" | "%")? <a href='#WSP'>wsp</a>*</pre>
         <p>The unit identifier, if present, must be in lower case; if
         not present, the length value represents a distance in the
         current user coordinate system.</p>
 
         <p>Note that the non-property &lt;length&gt; definition also
         allows a percentage unit identifier.  The meaning of a
         percentage length value depends on the attribute for which the
         percentage length value has been specified. Two common cases
@@ -449,28 +458,24 @@ attributes, including presentation attri
       non-empty <a href='#DataTypeLanguageID'>&lt;language-id&gt;</a> values.  White space
       may be used before or after the commas.
     </p>
   </dd>
 -->
 
   <dt id="DataTypeListOfStrings">&lt;list-of-strings&gt;</dt>
   <dd>
-    <p>A &lt;list-of-strings&gt; consists of a separated sequence of &lt;string&gt;s.
-    String lists are white space-separated, where white space is defined as one or more of the
-    following consecutive characters: "space" (U+0020), "tab" (U+0009), "line feed" (U+000A) and
-    "carriage return" (U+000D).</p>
+    <p>A &lt;list-of-strings&gt; consists of a white space-separated sequence of &lt;string&gt;s.</p>
 
     <p>The following is an EBNF grammar describing the &lt;list-of-strings&gt; syntax:</p>
 
 <pre>
 list-of-strings ::= string
-                    | string wsp list-of-strings
-string          ::= [^#x9#xA#xD#x20]*
-wsp             ::= [#x9#xA#xD#x20]+
+                    | string <a href='#WSP'>wsp</a>+ list-of-strings
+string          ::= [^#x9#x20#xA#xC#xD]*
 </pre>
   </dd>
 
   <dt id='DataTypeList'>
     <span id='DataTypeListOfIRI'>
       <span id='DataTypeNumbers'>
         <span id='DataTypeLengths'>
           <span class='SVG-Term'>&lt;list-of-<var>T</var>s&gt;</span>
@@ -483,28 +488,22 @@ wsp             ::= [#x9#xA#xD#x20]+
     &lt;string&gt;<!--,
     <a href='#DataTypeLanguageID'>&lt;language-id&gt;</a>--> and
     &lt;family-name&gt;.)
     A list consists of a separated sequence of values. Unless explicitly described
     differently, lists within SVG's XML attributes can be either
     comma-separated, with optional white space before or after the comma,
     or white space-separated.</p>
 
-    <p>White space in lists is defined as one or more of the
-    following consecutive characters: "space" (U+0020), "tab" (U+0009),
-    "line feed" (U+000A), "carriage return" (U+000D)
-    and "form-feed" (U+000C).</p>
-
     <p>The following is a template for an EBNF grammar describing the
     &lt;list-of-<var>T</var>s&gt; syntax:</p>
 
     <pre class='grammar'><span id='ListOfTs'>list-of-<var>T</var>s</span> ::= <var>T</var>
                | <var>T</var> <a href='#CommaWSP'>comma-wsp</a> <a href='#ListOfTs'>list-of-<var>T</var>s</a>
-<span id='CommaWSP'>comma-wsp</span>  ::= (<a href='#WSP'>wsp</a>+ ","? <a href='#WSP'>wsp</a>*) | ("," <a href='#WSP'>wsp</a>*)
-<span id='WSP'>wsp</span>        ::= (#x20 | #x9 | #xD | #xA)</pre>
+<span id='CommaWSP'>comma-wsp</span>  ::= (<a href='#WSP'>wsp</a>+ ","? <a href='#WSP'>wsp</a>*) | ("," <a href='#WSP'>wsp</a>*)</pre>
 
     <p>Within the SVG DOM, values of a &lt;list-of-<var>T</var>s&gt;
     type are represented by an interface specific for the
     particular type <var>T</var>.  For example, a &lt;list-of-lengths&gt;
     is represented in the SVG DOM using an <a>SVGLengthList</a>
     or <a>SVGAnimatedLengthList</a> object.</p>
   </dd>
   
@@ -518,32 +517,32 @@ wsp             ::= [#x9#xA#xD#x20]+
 
     <p>This syntax is the same as the definition in CSS
     ([<a href='refs.html#ref-CSS21'>CSS21</a>], section 4.3.1).</p>
 
     <p>When used in an SVG attribute,
     a &lt;number&gt; is defined differently, to allow numbers with large magnitudes
     to be specified more concisely:</p>
 
-    <pre class='grammar'>number ::= <a href='#Integer'>integer</a> ([Ee] <a href='#DataTypeInteger'>integer</a>)?
-           | [+-]? [0-9]* "." [0-9]+ ([Ee] <a href='#DataTypeInteger'>integer</a>)?</pre>
+    <pre class='grammar'>number ::= <a href='#WSP'>wsp</a>* <a href='#Integer'>integer</a> ([Ee] <a href='#DataTypeInteger'>integer</a>)?
+           | [+-]? [0-9]* "." [0-9]+ ([Ee] <a href='#DataTypeInteger'>integer</a>)? <a href='#WSP'>wsp</a>*</pre>
 
     <p>Within the SVG DOM, a &lt;number&gt; is represented as a
     <span class="DOMInterfaceName">float</span>, <a>SVGNumber</a> or a
     <a>SVGAnimatedNumber</a>.</p>
   </dd>
 
   <dt id='DataTypeNumberOptionalNumber'>&lt;number-optional-number&gt;</dt>
   <dd>
     <p>A pair of <a>&lt;number&gt;</a>s, where the second
     <a>&lt;number&gt;</a> is optional.</p>
 
     <pre class='grammar'>
-number-optional-number ::= <a href='#DataTypeNumber'>number</a>
-                           | <a href='#DataTypeNumber'>number</a> <a href='#CommaWSP'>comma-wsp</a> <a href='#DataTypeNumber'>number</a></pre>
+number-optional-number ::= <a href='#WSP'>wsp</a>* <a href='#DataTypeNumber'>number</a> <a href='#WSP'>wsp</a>*
+                           | <a href='#WSP'>wsp</a>* <a href='#DataTypeNumber'>number</a> <a href='#CommaWSP'>comma-wsp</a> <a href='#DataTypeNumber'>number</a> <a href='#WSP'>wsp</a>*</pre>
 
     <p>In the SVG DOM, a &lt;number-optional-number&gt; is represented
     using a pair of <a>SVGAnimatedInteger</a> or <a>SVGAnimatedNumber</a>
     objects.</p>
   </dd>
 
   <dt id="DataTypePaint">&lt;paint&gt;</dt>
   <dd>
@@ -553,17 +552,17 @@ number-optional-number ::= <a href='#Dat
     &lt;paint&gt; are described in
     <a href="painting.html#SpecifyingPaint">Specifying paint</a>.</p>
   </dd>
 
   <dt id="DataTypePercentage">&lt;percentage&gt;</dt>
   <dd>
     <p>Percentages are specified as a number followed by a "%" character:</p>
 
-    <pre class='grammar'><span id='Percentage'>percentage</span> ::= <a href='#Number'>number</a> "%"</pre>
+    <pre class='grammar'><span id='Percentage'>percentage</span> ::= <a href='#WSP'>wsp</a>* <a href='#NumberStrict'>number</a> "%" <a href='#WSP'>wsp</a>*</pre>
 
     <p>Note that the definition of <a href='#Number'>&lt;number&gt;</a> depends
     on whether the percentage is specified in a style sheet or in an
     attribute that is not also a <a>presentation attribute</a>.</p>
 
     <p>Percentage values are always relative to another value, for example a
     length. Each attribute or <a>property</a> that allows percentages also
     defines the reference distance measurement to which the percentage
@@ -3760,177 +3759,42 @@ be distinct from the one referenced by <
 the attribute is not animated.
 
 </div>
 </dd>
 </dl>
 </dd>
 </dl>
 
-
-<h3 id="InterfaceSVGRect">Interface SVGRect</h3>
-
-<p>Represents rectangular geometry.  Rectangles are defined as consisting
-of a (x,y) coordinate pair identifying a minimum X value, a minimum Y
-value, and a width and height, which are usually constrained to be
-non-negative.</p>
-
-<p id="ReadOnlyRect">An <a>SVGRect</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>
-
-<pre class="idl">[<a href="#__svg__SVGRect__constructor">Constructor</a>,
- <a href="#__svg__SVGRect__constructor1">Constructor</a>(float x, float y, float width, float height)]
-interface <b>SVGRect</b> {
-  attribute float <a href="types.html#__svg__SVGRect__x">x</a>;
-  attribute float <a href="types.html#__svg__SVGRect__y">y</a>;
-  attribute float <a href="types.html#__svg__SVGRect__width">width</a>;
-  attribute float <a href="types.html#__svg__SVGRect__height">height</a>;
-};</pre>
-
-<dl class="interface">
-  <dt class="operations-header">Constructors:</dt>
-  <dd>
-    <dl class="attributes">
-      <dt id="__svg__SVGRect__constructor" class="operation first-child"><b>SVGRect</b>()</dt>
-      <dd class="operation">
-        <div>Creates a new <a>SVGRect</a> object with its x, y, width and height attributes set to 0.</div>
-      </dd>
-      <dt id="__svg__SVGRect__constructor1" class="operation first-child"><b>SVGRect</b>(float x, float y, float width, float height)</dt>
-      <dd class="operation">
-        <div>Creates a new <a>SVGRect</a> object with its x, y, width and height attributes set to <var>x</var>, <var>y</var>, <var>width</var> and <var>height</var>, respectively.</div>
-      </dd>
-    </dl>
-  </dd>
-<dt class="attributes-header">Attributes:</dt>
-<dd>
-<dl class="attributes">
-
-<dt id="__svg__SVGRect__x" class="attribute first-child"><b>x</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>x</var> coordinate of the rectangle, in user units. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the rectangle is
-<a href="#ReadOnlyRect">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGRect__y" class="attribute"><b>y</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>y</var> coordinate of the rectangle, in user units. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the rectangle is
-<a href="#ReadOnlyRect">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGRect__width" class="attribute"><b>width</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>width</var> coordinate of the rectangle, in user units. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the rectangle is
-<a href="#ReadOnlyRect">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGRect__height" class="attribute"><b>height</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The <var>height</var> coordinate of the rectangle, in user units. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the rectangle is
-<a href="#ReadOnlyRect">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-
-
 <h3 id="InterfaceSVGAnimatedRect">Interface SVGAnimatedRect</h3>
 
-<p>Used for attributes of type <a>SVGRect</a> which can be animated.</p>
+<p>Used for attributes of type <a>DOMRect</a> which can be animated.</p>
 
 <pre class="idl">interface <b>SVGAnimatedRect</b> {
-  readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="types.html#__svg__SVGAnimatedRect__baseVal">baseVal</a>;
-  readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="types.html#__svg__SVGAnimatedRect__animVal">animVal</a>;
+  readonly attribute <a>DOMRectReadOnly</a> <a href="types.html#__svg__SVGAnimatedRect__baseVal">baseVal</a>;
+  readonly attribute <a>DOMRectReadOnly</a> <a href="types.html#__svg__SVGAnimatedRect__animVal">animVal</a>;
 };</pre><dl class="interface">
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
-<dt id="__svg__SVGAnimatedRect__baseVal" class="attribute first-child"><b>baseVal</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a>)</span></dt>
+<dt id="__svg__SVGAnimatedRect__baseVal" class="attribute first-child"><b>baseVal</b><span class="idl-type-parenthetical"> (readonly <a>DOMRectReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
 The base value of the given attribute before applying any animations.
 
 </div>
 </dd>
 
-<dt id="__svg__SVGAnimatedRect__animVal" class="attribute"><b>animVal</b><span class="idl-type-parenthetical"> (readonly <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a>)</span></dt>
+<dt id="__svg__SVGAnimatedRect__animVal" class="attribute"><b>animVal</b><span class="idl-type-parenthetical"> (readonly <a>DOMRectReadOnly</a>)</span></dt>
 <dd class="attribute">
 <div>
-A <a href="#ReadOnlyRect">read only</a> <a>SVGRect</a> representing the current animated value of
+A <a href="#ReadOnlyRect">read only</a> <a>DOMRectReadOnly</a> representing the current animated value of
 the given attribute.  If the given attribute is not currently being
-animated, then the <a>SVGRect</a> will have the same contents
+animated, then the <a>DOMRectReadOnly</a> will have the same contents
 as <a>baseVal</a>.  The object referenced by <a>animVal</a> will always
 be distinct from the one referenced by <a>baseVal</a>, even when
 the attribute is not animated.
 
 </div>
 </dd>
 </dl>
 </dd>
@@ -4025,20 +3889,20 @@ have a bounding box in current user spac
 };
 
 interface <b>SVGGraphicsElement</b> : <a>SVGElement</a> {
   readonly attribute <a class="idlinterface" href="coords.html#InterfaceSVGAnimatedTransformList">SVGAnimatedTransformList</a> <a href="types.html#__svg__SVGGraphicsElement__transform">transform</a>;
 
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a>? <a href="types.html#__svg__SVGGraphicsElement__nearestViewportElement">nearestViewportElement</a>;
   readonly attribute <a class="idlinterface" href="types.html#InterfaceSVGElement">SVGElement</a>? <a href="types.html#__svg__SVGGraphicsElement__farthestViewportElement">farthestViewportElement</a>;
 
-  <a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <a href="types.html#__svg__SVGGraphicsElement__getBBox">getBBox</a>(optional <a href="#SVGBoundingBoxOptions">SVGBoundingBoxOptions</a> options);
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a>? <a href="types.html#__svg__SVGGraphicsElement__getCTM">getCTM</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a>? <a href="types.html#__svg__SVGGraphicsElement__getScreenCTM">getScreenCTM</a>();
-  <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="types.html#__svg__SVGGraphicsElement__getTransformToElement">getTransformToElement</a>(<a class="idlinterface" href="types.html#InterfaceSVGGraphicsElement">SVGGraphicsElement</a> element);
+  <a>DOMRect</a> <a href="types.html#__svg__SVGGraphicsElement__getBBox">getBBox</a>(optional <a href="#SVGBoundingBoxOptions">SVGBoundingBoxOptions</a> options);
+  <a>DOMMatrix</a>? <a href="types.html#__svg__SVGGraphicsElement__getCTM">getCTM</a>();
+  <a>DOMMatrix</a>? <a href="types.html#__svg__SVGGraphicsElement__getScreenCTM">getScreenCTM</a>();
+  <a>DOMMatrix</a> <a href="types.html#__svg__SVGGraphicsElement__getTransformToElement">getTransformToElement</a>(<a class="idlinterface" href="types.html#InterfaceSVGGraphicsElement">SVGGraphicsElement</a> element);
 };
 
 <a>SVGGraphicsElement</a> implements <a>SVGTests</a>;</pre>
 
 <dl class="interface">
   <dt class="attributes-header">Attributes:</dt>
   <dd>
     <dl class="attributes">
@@ -4066,79 +3930,79 @@ interface <b>SVGGraphicsElement</b> : <a
         </div>
       </dd>
     </dl>
   </dd>
   <dt class="operations-header">Operations:</dt>
   <dd>
     <div class="ready-for-wider-review">
     <dl class="attributes">
-      <dt id="__svg__SVGGraphicsElement__getBBox" class="operation first-child"><a class="idlinterface" href="types.html#InterfaceSVGRect">SVGRect</a> <b>getBBox</b>(optional <a href="#SVGBoundingBoxOptions">SVGBoundingBoxOptions</a> <var>options</var>)</dt>
+      <dt id="__svg__SVGGraphicsElement__getBBox" class="operation first-child"><a>DOMRect</a> <b>getBBox</b>(optional <a href="#SVGBoundingBoxOptions">SVGBoundingBoxOptions</a> <var>options</var>)</dt>
       <dd class="operation">
         <div>
           <p>Returns the result of invoking the <a href="coords.html#BoundingBoxes">bounding box algorithm</a>
           for the element, with <var>fill</var>, <var>stroke</var>, <var>markers</var>
           and <var>clipped</var> members of the <var>options</var> dictionary argument
           used to control which parts of the element are included in the bounding box,
 	  using the element's user space as the coordinate system to return the
 	  bounding box in.</p>
         </div>
         <dl class="operation">
           <dt class="returns-header">Returns</dt>
           <dd>
             <div>
-              An <a>SVGRect</a> object that defines the bounding box.
+              An <a>DOMRect</a> object that defines the bounding box.
             </div>
           </dd>
         </dl>
       </dd>
     </dl>
     </div>
     <dl class="attributes">
-      <dt id="__svg__SVGGraphicsElement__getCTM" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a>? <b>getCTM</b>()</dt>
+      <dt id="__svg__SVGGraphicsElement__getCTM" class="operation"><a>DOMMatrix</a>? <b>getCTM</b>()</dt>
       <dd class="operation">
         <div>
           Returns the transformation matrix from current user units (i.e., after
           application of the <a>'transform'</a> property) to the viewport
           coordinate system for the <a>nearestViewportElement</a>. Note that null 
           is returned if this element is not hooked into the document tree.
         </div>
         <dl class="operation">
           <dt class="returns-header">Returns</dt>
           <dd>
             <div>
-              An <a>SVGMatrix</a> object that defines the CTM.
+              An <a>DOMMatrix</a> object that defines the CTM.
             </div>
           </dd>
         </dl>
       </dd>
-      <dt id="__svg__SVGGraphicsElement__getScreenCTM" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a>? <b>getScreenCTM</b>()</dt>
+      <dt id="__svg__SVGGraphicsElement__getScreenCTM" class="operation"><a>DOMMatrix</a>? <b>getScreenCTM</b>()</dt>
       <dd class="operation">
         <div>
           Returns the transformation matrix from current user units (i.e., after
           application of the <a>'transform'</a> property) to the parent
           user agent's notice of a "pixel". For display devices, ideally this
           represents a physical screen pixel. For other devices or environments
           where physical pixel sizes are not known, then an algorithm similar to
           the CSS 2.1 definition of a "pixel" can be used instead.  Note that null 
           is returned if this element is not hooked into the document tree. This 
           method would have been more aptly named as <code>getClientCTM</code>, 
           but the name <code>getScreenCTM</code> is kept for historical reasons.
         </div>
         <dl class="operation">
           <dt class="returns-header">Returns</dt>
           <dd>
             <div>
-              An <a>SVGMatrix</a> object that defines the given
+              An <a>DOMMatrix</a> object that defines the given
               transformation matrix.
             </div>
           </dd>
         </dl>
       </dd>
-      <dt id="__svg__SVGGraphicsElement__getTransformToElement" class="operation"><a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <b>getTransformToElement</b>(<a class="idlinterface" href="types.html#InterfaceSVGGraphicsElement">SVGGraphicsElement</a> <var>element</var>)</dt>
+      <dt id="__svg__SVGGraphicsElement__getTransformToElement" class="operation"><a>DOMMatrix</a> <b>getTransformToElement</b>(<a class="idlinterface" href="types.html#InterfaceSVGGraphicsElement">SVGGraphicsElement</a> <var>element</var>)</dt>
       <dd class="operation">
         <div>
           Returns the transformation matrix from the user coordinate system on the
           current element (after application of the <a>'transform'</a> property)
           to the user coordinate system on parameter <var>element</var>
           (after application of its <a>'transform'</a> property). 
         </div>
         <dl class="operation">
@@ -4151,17 +4015,17 @@ interface <b>SVGGraphicsElement</b> : <a
                   The target element.
                 </div>
               </li>
             </ol>
           </dd>
           <dt class="returns-header">Returns</dt>
           <dd>
             <div>
-              An <a>SVGMatrix</a> object that defines the transformation.
+              An <a>DOMMatrix</a> object that defines the transformation.
             </div>
           </dd>
           <dt class="exceptions-header">Exceptions</dt>
           <dd>
             <dl class="exceptions">
               <dt class="exception first-child"><a>InvalidStateError</a></dt>
               <dd class="exception">
                 Raised if the currently
@@ -4179,61 +4043,61 @@ interface <b>SVGGraphicsElement</b> : <a
 <div class="ready-for-wider-review">
 <h3 id="InterfaceSVGGeometryElement">Interface SVGGeometryElement</h3>
 
 <p>Interface <a>SVGGeometryElement</a> represents SVG elements whose rendering
 is defined by geometry and which can be filled and stroked.  This includes
 paths, text and the basic shapes.</p>
 
 <pre class="idl">interface <b>SVGGeometryElement</b> : <a>SVGGraphicsElement</a> {
-  bool isPointInFill(<a>SVGPoint</a> point);
-  bool isPointInStroke(<a>SVGPoint</a> point);
+  bool isPointInFill(<a>DOMPoint</a> point);
+  bool isPointInStroke(<a>DOMPoint</a> point);
 };</pre>
 
 <dl class="interface">
   <dt class="operations-header">Operations:</dt>
   <dd>
     <dl class="attributes">
-      <dt id="__svg__SVGGeometryElement__isPointInFill" class="operation first-child">bool <b>isPointInFill</b>(<a>SVGPoint</a> point)</dt>
+      <dt id="__svg__SVGGeometryElement__isPointInFill" class="operation first-child">bool <b>isPointInFill</b>(<a>DOMPoint</a> point)</dt>
       <dd class="operation">
         Returns whether the specified point is within the fill of the element.
         Normal hit testing rules apply; the value of the <a>'pointer-events'</a>
         property on the element determines whether a point is considered to be
         within the fill.
         <dl class="operation">
           <dt class="parameters-header">Parameters</dt>
           <dd>
             <ol class="parameters">
               <li class="parameter first-child">
-                <div><a>SVGPoint</a> <var>point</var></div>
+                <div><a>DOMPoint</a> <var>point</var></div>
                 <div>The point to check for intersection with the fill
-                of this element.  The <a>SVGPoint</a> is interpreted as a
+                of this element.  The <a>DOMPoint</a> is interpreted as a
                 as a point in the user space of this element.</div>
               </li>
             </ol>
           </dd>
           <dt class="returns-header">Returns</dt>
           <dd>true if the point is within the fill of this shape,
           or false otherwise.</dd>
         </dl>
       </dd>
-      <dt id="__svg__SVGGeometryElement__isPointInStroke" class="operation">bool <b>isPointInStroke</b>(<a>SVGPoint</a> point)</dt>
+      <dt id="__svg__SVGGeometryElement__isPointInStroke" class="operation">bool <b>isPointInStroke</b>(<a>DOMPoint</a> point)</dt>
       <dd class="operation">
         Returns whether the specified point is within the stroke of the element.
         Normal hit testing rules apply; the value of the <a>'pointer-events'</a>
         property on the element determines whether a point is considered to be
         within the stroke.
         <dl class="operation">
           <dt class="parameters-header">Parameters</dt>
           <dd>
             <ol class="parameters">
               <li class="parameter first-child">
-                <div><a>SVGPoint</a> <var>point</var></div>
+                <div><a>DOMPoint</a> <var>point</var></div>
                 <div>The point to check for intersection with the stroke
-                of this element.  The <a>SVGPoint</a> is interpreted as a
+                of this element.  The <a>DOMPoint</a> is interpreted as a
                 as a point in the user space of this element.</div>
               </li>
             </ol>
           </dd>
           <dt class="returns-header">Returns</dt>
           <dd>true if the point is within the stroke of this shape,
           or false otherwise.</dd>
         </dl>

Received on Thursday, 22 May 2014 21:18:20 UTC