[html5] r7129 - [giow] (2) Update to take into account WebIDL's 'double' vs 'unrestricted double [...]

whatwg at whatwg.org whatwg at whatwg.org
Mon Jun 11 16:07:12 PDT 2012


Author: ianh
Date: 2012-06-11 16:07:11 -0700 (Mon, 11 Jun 2012)
New Revision: 7129

Modified:
   complete.html
   index
   source
Log:
[giow] (2) Update to take into account WebIDL's 'double' vs 'unrestricted double' change.
Affected topics: Canvas, DOM APIs, HTML, Video and Audio

Modified: complete.html
===================================================================
--- complete.html	2012-06-11 20:53:26 UTC (rev 7128)
+++ complete.html	2012-06-11 23:07:11 UTC (rev 7129)
@@ -3995,16 +3995,6 @@
     characters</dfn> is similarly that defined in the Web IDL
     specification.</p>
 
-    <p id=float-nan>Except where otherwise specified, if an IDL
-    attribute that is a floating point number type (<code title="">double</code>) is assigned an Infinity or Not-a-Number
-    (NaN) value, a <code><a href=#notsupportederror>NotSupportedError</a></code> exception must be
-    thrown.</p>
-
-    <p>Except where otherwise specified, if a method with an argument
-    that is a floating point number type (<code title="">double</code>)
-    is passed an Infinity or Not-a-Number (NaN) value, a
-    <code><a href=#notsupportederror>NotSupportedError</a></code> exception must be thrown.</p>
-
     <p>When this specification requires a user agent to <dfn id=create-a-date-object>create a
     <code>Date</code> object</dfn> representing a particular time, the
     milliseconds component of that time, if any, must be truncated to
@@ -8808,35 +8798,36 @@
   value.</p> <!-- see previous paragraph for note about the range -->
  
   <p>If a reflecting IDL attribute has a floating point number type
-  (<code>double</code>), then, on getting, the content attribute must
-  be parsed according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point
-  number values</a>, and if that is successful, the resulting value
-  must be returned. If, on the other hand, it fails, or if the
-  attribute is absent, the default value must be returned instead, or
-  0.0 if there is no default value. On setting, the given value must
-  be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best representation of the number as a
-  floating point number</a> and then that string must be used as
-  the new content attribute value.</p>
-
-  <p>If a reflecting IDL attribute has a floating point number type
-  (<code>double</code>) that is <dfn id=limited-to-numbers-greater-than-zero>limited to numbers greater than
-  zero</dfn>, then the behavior is similar to the previous case, but
-  zero and negative values are not allowed. On getting, the content
-  attribute must be parsed according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing
-  floating point number values</a>, and if that is successful and
-  the value is greater than 0.0, the resulting value must be returned.
-  If, on the other hand, it fails or returns an out of range value, or
-  if the attribute is absent, the default value must be returned
-  instead, or 0.0 if there is no default value. On setting, if the
-  value is less than or equal to zero, then the value must be ignored.
-  Otherwise, the given value must be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best
+  (<code>double</code> or <code>unrestricted double</code>), then, on
+  getting, the content attribute must be parsed according to the
+  <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number values</a>, and if
+  that is successful, the resulting value must be returned. If, on the
+  other hand, it fails, or if the attribute is absent, the default
+  value must be returned instead, or 0.0 if there is no default value.
+  On setting, the given value must be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best
   representation of the number as a floating point number</a> and
   then that string must be used as the new content attribute
   value.</p>
 
+  <p>If a reflecting IDL attribute has a floating point number type
+  (<code>double</code> or <code>unrestricted double</code>) that is
+  <dfn id=limited-to-numbers-greater-than-zero>limited to numbers greater than zero</dfn>, then the behavior
+  is similar to the previous case, but zero and negative values are
+  not allowed. On getting, the content attribute must be parsed
+  according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number
+  values</a>, and if that is successful and the value is greater
+  than 0.0, the resulting value must be returned. If, on the other
+  hand, it fails or returns an out of range value, or if the attribute
+  is absent, the default value must be returned instead, or 0.0 if
+  there is no default value. On setting, if the value is less than or
+  equal to zero, then the value must be ignored. Otherwise, the given
+  value must be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best representation of the
+  number as a floating point number</a> and then that string must
+  be used as the new content attribute value.</p>
+
   <p class=note>The values Infinity and Not-a-Number (NaN) values
-  throw an exception on setting, as <a href=#float-nan>defined
-  earlier</a>.</p>
+  throw an exception on setting, as defined in the Web IDL
+  specification. <a href=#refsWEBIDL>[WEBIDL]</a></p>
 
   <p>If a reflecting IDL attribute has the type
   <code><a href=#domtokenlist>DOMTokenList</a></code> or <code><a href=#domsettabletokenlist>DOMSettableTokenList</a></code>, then
@@ -28358,7 +28349,7 @@
 
   // playback state
            attribute double <a href=#dom-media-currenttime title=dom-media-currentTime>currentTime</a>;
-  readonly attribute double <a href=#dom-media-duration title=dom-media-duration>duration</a>;
+  readonly attribute unrestricted double <a href=#dom-media-duration title=dom-media-duration>duration</a>;
   readonly attribute <span>Date</span> <a href=#dom-media-startdate title=dom-media-startDate>startDate</a>;
   readonly attribute boolean <a href=#dom-media-paused title=dom-media-paused>paused</a>;
            attribute double <a href=#dom-media-defaultplaybackrate title=dom-media-defaultPlaybackRate>defaultPlaybackRate</a>;
@@ -31769,7 +31760,7 @@
 
   readonly attribute <a href=#timeranges>TimeRanges</a> <a href=#dom-mediacontroller-buffered title=dom-MediaController-buffered>buffered</a>;
   readonly attribute <a href=#timeranges>TimeRanges</a> <a href=#dom-mediacontroller-seekable title=dom-MediaController-seekable>seekable</a>;
-  readonly attribute double <a href=#dom-mediacontroller-duration title=dom-MediaController-duration>duration</a>;
+  readonly attribute unrestricted double <a href=#dom-mediacontroller-duration title=dom-MediaController-duration>duration</a>;
            attribute double <a href=#dom-mediacontroller-currenttime title=dom-MediaController-currentTime>currentTime</a>;
 
   readonly attribute boolean <a href=#dom-mediacontroller-paused title=dom-MediaController-paused>paused</a>;
@@ -35546,11 +35537,11 @@
 -->
   // transformations (default transform is the identity matrix)
            attribute <a href=#svgmatrix>SVGMatrix</a> <a href=#dom-context-2d-currenttransform title=dom-context-2d-currentTransform>currentTransform</a>;
-  void <a href=#dom-context-2d-scale title=dom-context-2d-scale>scale</a>(double x, double y);
-  void <a href=#dom-context-2d-rotate title=dom-context-2d-rotate>rotate</a>(double angle);
-  void <a href=#dom-context-2d-translate title=dom-context-2d-translate>translate</a>(double x, double y);
-  void <a href=#dom-context-2d-transform title=dom-context-2d-transform>transform</a>(double a, double b, double c, double d, double e, double f);
-  void <a href=#dom-context-2d-settransform title=dom-context-2d-setTransform>setTransform</a>(double a, double b, double c, double d, double e, double f);
+  void <a href=#dom-context-2d-scale title=dom-context-2d-scale>scale</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-rotate title=dom-context-2d-rotate>rotate</a>(unrestricted double angle);
+  void <a href=#dom-context-2d-translate title=dom-context-2d-translate>translate</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-transform title=dom-context-2d-transform>transform</a>(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
+  void <a href=#dom-context-2d-settransform title=dom-context-2d-setTransform>setTransform</a>(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
   void <a href=#dom-context-2d-resettransform title=dom-context-2d-resetTransform>resetTransform</a>();
 <!--
   // v7 we've also received requests (though not many so far) for:
@@ -35559,7 +35550,7 @@
 
 -->
   // compositing
-           attribute double <a href=#dom-context-2d-globalalpha title=dom-context-2d-globalAlpha>globalAlpha</a>; // (default 1.0)
+           attribute unrestricted double <a href=#dom-context-2d-globalalpha title=dom-context-2d-globalAlpha>globalAlpha</a>; // (default 1.0)
            attribute DOMString <a href=#dom-context-2d-globalcompositeoperation title=dom-context-2d-globalCompositeOperation>globalCompositeOperation</a>; // (default source-over)
 
   // image smoothing
@@ -35577,20 +35568,20 @@
   // colors and styles (see also the <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> interface)
            attribute any <a href=#dom-context-2d-strokestyle title=dom-context-2d-strokeStyle>strokeStyle</a>; // (default black)
            attribute any <a href=#dom-context-2d-fillstyle title=dom-context-2d-fillStyle>fillStyle</a>; // (default black)
-  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createlineargradient title=dom-context-2d-createLinearGradient>createLinearGradient</a>(double x0, double y0, double x1, double y1);
-  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createradialgradient title=dom-context-2d-createRadialGradient>createRadialGradient</a>(double x0, double y0, double r0, double x1, double y1, double r1);
+  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createlineargradient title=dom-context-2d-createLinearGradient>createLinearGradient</a>(unrestricted double x0, unrestricted double y0, unrestricted double x1, unrestricted double y1);
+  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createradialgradient title=dom-context-2d-createRadialGradient>createRadialGradient</a>(unrestricted double x0, unrestricted double y0, unrestricted double r0, unrestricted double x1, unrestricted double y1, unrestricted double r1);
   <a href=#canvaspattern>CanvasPattern</a> <a href=#dom-context-2d-createpattern title=dom-context-2d-createPattern>createPattern</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, DOMString repetition);
 
   // shadows
-           attribute double <a href=#dom-context-2d-shadowoffsetx title=dom-context-2d-shadowOffsetX>shadowOffsetX</a>; // (default 0)
-           attribute double <a href=#dom-context-2d-shadowoffsety title=dom-context-2d-shadowOffsetY>shadowOffsetY</a>; // (default 0)
-           attribute double <a href=#dom-context-2d-shadowblur title=dom-context-2d-shadowBlur>shadowBlur</a>; // (default 0)
+           attribute unrestricted double <a href=#dom-context-2d-shadowoffsetx title=dom-context-2d-shadowOffsetX>shadowOffsetX</a>; // (default 0)
+           attribute unrestricted double <a href=#dom-context-2d-shadowoffsety title=dom-context-2d-shadowOffsetY>shadowOffsetY</a>; // (default 0)
+           attribute unrestricted double <a href=#dom-context-2d-shadowblur title=dom-context-2d-shadowBlur>shadowBlur</a>; // (default 0)
            attribute DOMString <a href=#dom-context-2d-shadowcolor title=dom-context-2d-shadowColor>shadowColor</a>; // (default transparent black)
 
   // rects
-  void <a href=#dom-context-2d-clearrect title=dom-context-2d-clearRect>clearRect</a>(double x, double y, double w, double h);
-  void <a href=#dom-context-2d-fillrect title=dom-context-2d-fillRect>fillRect</a>(double x, double y, double w, double h);
-  void <a href=#dom-context-2d-strokerect title=dom-context-2d-strokeRect>strokeRect</a>(double x, double y, double w, double h);
+  void <a href=#dom-context-2d-clearrect title=dom-context-2d-clearRect>clearRect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <a href=#dom-context-2d-fillrect title=dom-context-2d-fillRect>fillRect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <a href=#dom-context-2d-strokerect title=dom-context-2d-strokeRect>strokeRect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
 
   // path API (see also <a href=#canvaspathmethods>CanvasPathMethods</a>)
   void <a href=#dom-context-2d-beginpath title=dom-context-2d-beginPath>beginPath</a>();
@@ -35607,30 +35598,30 @@
   void <a href=#dom-context-2d-clip title=dom-context-2d-clip>clip</a>();
   void <a href=#dom-context-2d-clip title=dom-context-2d-clip>clip</a>(<a href=#path>Path</a> path);
   void <a href=#dom-context-2d-resetclip title=dom-context-2d-resetClip>resetClip</a>();
-  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(double x, double y);
-  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(<a href=#path>Path</a> path, double x, double y);
+  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(unrestricted double x, unrestricted double y);
+  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(<a href=#path>Path</a> path, unrestricted double x, unrestricted double y);
 
   // text (see also the <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> interface)
-  void <a href=#dom-context-2d-filltext title=dom-context-2d-fillText>fillText</a>(DOMString text, double x, double y, optional double maxWidth);
-  void <a href=#dom-context-2d-stroketext title=dom-context-2d-strokeText>strokeText</a>(DOMString text, double x, double y, optional double maxWidth);<!-- v6DVT
-  void <span title="dom-context-2d-fillVerticalText">fillVerticalText</span>(DOMString text, double x, double y, optional double maxHeight);
-  void <span title="dom-context-2d-strokeVerticalText">strokeVerticalText</span>(DOMString text, double x, double y, optional double maxHeight); -->
+  void <a href=#dom-context-2d-filltext title=dom-context-2d-fillText>fillText</a>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <a href=#dom-context-2d-stroketext title=dom-context-2d-strokeText>strokeText</a>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);<!-- v6DVT
+  void <span title="dom-context-2d-fillVerticalText">fillVerticalText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxHeight);
+  void <span title="dom-context-2d-strokeVerticalText">strokeVerticalText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxHeight); -->
   <a href=#textmetrics>TextMetrics</a> <a href=#dom-context-2d-measuretext title=dom-context-2d-measureText>measureText</a>(DOMString text);
 
   // drawing images
-  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, double dx, double dy);
-  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, double dx, double dy, double dw, double dh);
-  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh);
+  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, unrestricted double dx, unrestricted double dy);
+  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
+  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
 
   // hit regions
   void <a href=#dom-context-2d-addhitregion title=dom-context-2d-addHitRegion>addHitRegion</a>(<a href=#hitregionoptions>HitRegionOptions</a> options);
 
   // pixel manipulation
-  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-createimagedata title=dom-context-2d-createImageData>createImageData</a>(double sw, double sh);
+  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-createimagedata title=dom-context-2d-createImageData>createImageData</a>(unrestricted double sw, unrestricted double sh);
   <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-createimagedata title=dom-context-2d-createImageData>createImageData</a>(<a href=#imagedata>ImageData</a> imagedata);
-  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-getimagedata title=dom-context-2d-getImageData>getImageData</a>(double sx, double sy, double sw, double sh);
-  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, double dx, double dy);
-  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight);
+  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-getimagedata title=dom-context-2d-getImageData>getImageData</a>(unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh);
+  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, unrestricted double dx, unrestricted double dy);
+  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, unrestricted double dx, unrestricted double dy, unrestricted double dirtyX, unrestricted double dirtyY, unrestricted double dirtyWidth, unrestricted double dirtyHeight);
 };
 <a href=#canvasrenderingcontext2d>CanvasRenderingContext2D</a> implements <a href=#canvasdrawingstyles>CanvasDrawingStyles</a>;
 <a href=#canvasrenderingcontext2d>CanvasRenderingContext2D</a> implements <a href=#canvaspathmethods>CanvasPathMethods</a>;
@@ -35638,15 +35629,15 @@
 [NoInterfaceObject]
 interface <dfn id=canvasdrawingstyles>CanvasDrawingStyles</dfn> {
   // line caps/joins
-           attribute double <a href=#dom-context-2d-linewidth title=dom-context-2d-lineWidth>lineWidth</a>; // (default 1)
+           attribute unrestricted double <a href=#dom-context-2d-linewidth title=dom-context-2d-lineWidth>lineWidth</a>; // (default 1)
            attribute DOMString <a href=#dom-context-2d-linecap title=dom-context-2d-lineCap>lineCap</a>; // "butt", "round", "square" (default "butt")
            attribute DOMString <a href=#dom-context-2d-linejoin title=dom-context-2d-lineJoin>lineJoin</a>; // "round", "bevel", "miter" (default "miter")
-           attribute double <a href=#dom-context-2d-miterlimit title=dom-context-2d-miterLimit>miterLimit</a>; // (default 10)
+           attribute unrestricted double <a href=#dom-context-2d-miterlimit title=dom-context-2d-miterLimit>miterLimit</a>; // (default 10)
 
   // dashed lines
-  void <a href=#dom-context-2d-setlinedash title=dom-context-2d-setLineDash>setLineDash</a>(sequence<double> segments); // default empty
-  sequence<double> <a href=#dom-context-2d-getlinedash title=dom-context-2d-getLineDash>getLineDash</a>();
-           attribute double <a href=#dom-context-2d-linedashoffset title=dom-context-2d-lineDashOffset>lineDashOffset</a>;
+  void <a href=#dom-context-2d-setlinedash title=dom-context-2d-setLineDash>setLineDash</a>(sequence<unrestricted double> segments); // default empty
+  sequence<unrestricted double> <a href=#dom-context-2d-getlinedash title=dom-context-2d-getLineDash>getLineDash</a>();
+           attribute unrestricted double <a href=#dom-context-2d-linedashoffset title=dom-context-2d-lineDashOffset>lineDashOffset</a>;
 
   // text
            attribute DOMString <a href=#dom-context-2d-font title=dom-context-2d-font>font</a>; // (default 10px sans-serif)
@@ -35658,20 +35649,20 @@
 interface <dfn id=canvaspathmethods>CanvasPathMethods</dfn> {
   // shared path API methods
   void <a href=#dom-context-2d-closepath title=dom-context-2d-closePath>closePath</a>();
-  void <a href=#dom-context-2d-moveto title=dom-context-2d-moveTo>moveTo</a>(double x, double y);
-  void <a href=#dom-context-2d-lineto title=dom-context-2d-lineTo>lineTo</a>(double x, double y);
-  void <a href=#dom-context-2d-quadraticcurveto title=dom-context-2d-quadraticCurveTo>quadraticCurveTo</a>(double cpx, double cpy, double x, double y);
-  void <a href=#dom-context-2d-beziercurveto title=dom-context-2d-bezierCurveTo>bezierCurveTo</a>(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y);
-  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(double x1, double y1, double x2, double y2, double radius); <!-- see ARC-ORDER note below -->
-  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(double x1, double y1, double x2, double y2, double radiusX, double radiusY, double rotation); <!-- see ARC-ORDER note below -->
-  void <a href=#dom-context-2d-rect title=dom-context-2d-rect>rect</a>(double x, double y, double w, double h);
-  void <a href=#dom-context-2d-arc title=dom-context-2d-arc>arc</a>(double x, double y, double radius, double startAngle, double endAngle, optional boolean anticlockwise = false); <!-- see ARC-ORDER note below -->
-  void <a href=#dom-context-2d-ellipse title=dom-context-2d-ellipse>ellipse</a>(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, boolean anticlockwise); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-moveto title=dom-context-2d-moveTo>moveTo</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-lineto title=dom-context-2d-lineTo>lineTo</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-quadraticcurveto title=dom-context-2d-quadraticCurveTo>quadraticCurveTo</a>(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-beziercurveto title=dom-context-2d-bezierCurveTo>bezierCurveTo</a>(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-rect title=dom-context-2d-rect>rect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <a href=#dom-context-2d-arc title=dom-context-2d-arc>arc</a>(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-ellipse title=dom-context-2d-ellipse>ellipse</a>(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, boolean anticlockwise); <!-- see ARC-ORDER note below -->
 };
 
 interface <dfn id=canvasgradient>CanvasGradient</dfn> {
   // opaque object
-  void <a href=#dom-canvasgradient-addcolorstop title=dom-canvasgradient-addColorStop>addColorStop</a>(double offset, DOMString color);
+  void <a href=#dom-canvasgradient-addcolorstop title=dom-canvasgradient-addColorStop>addColorStop</a>(unrestricted double offset, DOMString color);
 };
 
 interface <dfn id=canvaspattern>CanvasPattern</dfn> {
@@ -35726,10 +35717,10 @@
 interface <dfn id=path>Path</dfn> {
   void <a href=#dom-path-addpath title=dom-path-addPath>addPath</a>(<a href=#path>Path</a> path, <a href=#svgmatrix>SVGMatrix</a>? transformation);
   void <a href=#dom-path-addpathbystrokingpath title=dom-path-addPathByStrokingPath>addPathByStrokingPath</a>(<a href=#path>Path</a> path, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation);
-  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, double x, double y, optional double maxWidth);
-  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, double x, double y, optional double maxWidth);
-  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional double maxWidth);
-  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional double maxWidth);
+  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional unrestricted double maxWidth);
+  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional unrestricted double maxWidth);
 };
 <a href=#path>Path</a> implements <a href=#canvaspathmethods>CanvasPathMethods</a>;</pre>
 
@@ -45260,7 +45251,7 @@
            attribute DOMString <a href=#dom-input-defaultvalue title=dom-input-defaultValue>defaultValue</a>;
            attribute DOMString <a href=#dom-input-value title=dom-input-value>value</a>;
            attribute <span>Date</span>? <a href=#dom-input-valueasdate title=dom-input-valueAsDate>valueAsDate</a>;
-           attribute double <a href=#dom-input-valueasnumber title=dom-input-valueAsNumber>valueAsNumber</a>;
+           attribute unrestricted double <a href=#dom-input-valueasnumber title=dom-input-valueAsNumber>valueAsNumber</a>;
            attribute unsigned long <a href=#dom-input-width title=dom-input-width>width</a>;
 
   void <a href=#dom-input-stepup title=dom-input-stepUp>stepUp</a>(optional long n);

Modified: index
===================================================================
--- index	2012-06-11 20:53:26 UTC (rev 7128)
+++ index	2012-06-11 23:07:11 UTC (rev 7129)
@@ -3995,16 +3995,6 @@
     characters</dfn> is similarly that defined in the Web IDL
     specification.</p>
 
-    <p id=float-nan>Except where otherwise specified, if an IDL
-    attribute that is a floating point number type (<code title="">double</code>) is assigned an Infinity or Not-a-Number
-    (NaN) value, a <code><a href=#notsupportederror>NotSupportedError</a></code> exception must be
-    thrown.</p>
-
-    <p>Except where otherwise specified, if a method with an argument
-    that is a floating point number type (<code title="">double</code>)
-    is passed an Infinity or Not-a-Number (NaN) value, a
-    <code><a href=#notsupportederror>NotSupportedError</a></code> exception must be thrown.</p>
-
     <p>When this specification requires a user agent to <dfn id=create-a-date-object>create a
     <code>Date</code> object</dfn> representing a particular time, the
     milliseconds component of that time, if any, must be truncated to
@@ -8808,35 +8798,36 @@
   value.</p> <!-- see previous paragraph for note about the range -->
  
   <p>If a reflecting IDL attribute has a floating point number type
-  (<code>double</code>), then, on getting, the content attribute must
-  be parsed according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point
-  number values</a>, and if that is successful, the resulting value
-  must be returned. If, on the other hand, it fails, or if the
-  attribute is absent, the default value must be returned instead, or
-  0.0 if there is no default value. On setting, the given value must
-  be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best representation of the number as a
-  floating point number</a> and then that string must be used as
-  the new content attribute value.</p>
-
-  <p>If a reflecting IDL attribute has a floating point number type
-  (<code>double</code>) that is <dfn id=limited-to-numbers-greater-than-zero>limited to numbers greater than
-  zero</dfn>, then the behavior is similar to the previous case, but
-  zero and negative values are not allowed. On getting, the content
-  attribute must be parsed according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing
-  floating point number values</a>, and if that is successful and
-  the value is greater than 0.0, the resulting value must be returned.
-  If, on the other hand, it fails or returns an out of range value, or
-  if the attribute is absent, the default value must be returned
-  instead, or 0.0 if there is no default value. On setting, if the
-  value is less than or equal to zero, then the value must be ignored.
-  Otherwise, the given value must be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best
+  (<code>double</code> or <code>unrestricted double</code>), then, on
+  getting, the content attribute must be parsed according to the
+  <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number values</a>, and if
+  that is successful, the resulting value must be returned. If, on the
+  other hand, it fails, or if the attribute is absent, the default
+  value must be returned instead, or 0.0 if there is no default value.
+  On setting, the given value must be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best
   representation of the number as a floating point number</a> and
   then that string must be used as the new content attribute
   value.</p>
 
+  <p>If a reflecting IDL attribute has a floating point number type
+  (<code>double</code> or <code>unrestricted double</code>) that is
+  <dfn id=limited-to-numbers-greater-than-zero>limited to numbers greater than zero</dfn>, then the behavior
+  is similar to the previous case, but zero and negative values are
+  not allowed. On getting, the content attribute must be parsed
+  according to the <a href=#rules-for-parsing-floating-point-number-values>rules for parsing floating point number
+  values</a>, and if that is successful and the value is greater
+  than 0.0, the resulting value must be returned. If, on the other
+  hand, it fails or returns an out of range value, or if the attribute
+  is absent, the default value must be returned instead, or 0.0 if
+  there is no default value. On setting, if the value is less than or
+  equal to zero, then the value must be ignored. Otherwise, the given
+  value must be converted to the <a href=#best-representation-of-the-number-as-a-floating-point-number>best representation of the
+  number as a floating point number</a> and then that string must
+  be used as the new content attribute value.</p>
+
   <p class=note>The values Infinity and Not-a-Number (NaN) values
-  throw an exception on setting, as <a href=#float-nan>defined
-  earlier</a>.</p>
+  throw an exception on setting, as defined in the Web IDL
+  specification. <a href=#refsWEBIDL>[WEBIDL]</a></p>
 
   <p>If a reflecting IDL attribute has the type
   <code><a href=#domtokenlist>DOMTokenList</a></code> or <code><a href=#domsettabletokenlist>DOMSettableTokenList</a></code>, then
@@ -28358,7 +28349,7 @@
 
   // playback state
            attribute double <a href=#dom-media-currenttime title=dom-media-currentTime>currentTime</a>;
-  readonly attribute double <a href=#dom-media-duration title=dom-media-duration>duration</a>;
+  readonly attribute unrestricted double <a href=#dom-media-duration title=dom-media-duration>duration</a>;
   readonly attribute <span>Date</span> <a href=#dom-media-startdate title=dom-media-startDate>startDate</a>;
   readonly attribute boolean <a href=#dom-media-paused title=dom-media-paused>paused</a>;
            attribute double <a href=#dom-media-defaultplaybackrate title=dom-media-defaultPlaybackRate>defaultPlaybackRate</a>;
@@ -31769,7 +31760,7 @@
 
   readonly attribute <a href=#timeranges>TimeRanges</a> <a href=#dom-mediacontroller-buffered title=dom-MediaController-buffered>buffered</a>;
   readonly attribute <a href=#timeranges>TimeRanges</a> <a href=#dom-mediacontroller-seekable title=dom-MediaController-seekable>seekable</a>;
-  readonly attribute double <a href=#dom-mediacontroller-duration title=dom-MediaController-duration>duration</a>;
+  readonly attribute unrestricted double <a href=#dom-mediacontroller-duration title=dom-MediaController-duration>duration</a>;
            attribute double <a href=#dom-mediacontroller-currenttime title=dom-MediaController-currentTime>currentTime</a>;
 
   readonly attribute boolean <a href=#dom-mediacontroller-paused title=dom-MediaController-paused>paused</a>;
@@ -35546,11 +35537,11 @@
 -->
   // transformations (default transform is the identity matrix)
            attribute <a href=#svgmatrix>SVGMatrix</a> <a href=#dom-context-2d-currenttransform title=dom-context-2d-currentTransform>currentTransform</a>;
-  void <a href=#dom-context-2d-scale title=dom-context-2d-scale>scale</a>(double x, double y);
-  void <a href=#dom-context-2d-rotate title=dom-context-2d-rotate>rotate</a>(double angle);
-  void <a href=#dom-context-2d-translate title=dom-context-2d-translate>translate</a>(double x, double y);
-  void <a href=#dom-context-2d-transform title=dom-context-2d-transform>transform</a>(double a, double b, double c, double d, double e, double f);
-  void <a href=#dom-context-2d-settransform title=dom-context-2d-setTransform>setTransform</a>(double a, double b, double c, double d, double e, double f);
+  void <a href=#dom-context-2d-scale title=dom-context-2d-scale>scale</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-rotate title=dom-context-2d-rotate>rotate</a>(unrestricted double angle);
+  void <a href=#dom-context-2d-translate title=dom-context-2d-translate>translate</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-transform title=dom-context-2d-transform>transform</a>(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
+  void <a href=#dom-context-2d-settransform title=dom-context-2d-setTransform>setTransform</a>(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
   void <a href=#dom-context-2d-resettransform title=dom-context-2d-resetTransform>resetTransform</a>();
 <!--
   // v7 we've also received requests (though not many so far) for:
@@ -35559,7 +35550,7 @@
 
 -->
   // compositing
-           attribute double <a href=#dom-context-2d-globalalpha title=dom-context-2d-globalAlpha>globalAlpha</a>; // (default 1.0)
+           attribute unrestricted double <a href=#dom-context-2d-globalalpha title=dom-context-2d-globalAlpha>globalAlpha</a>; // (default 1.0)
            attribute DOMString <a href=#dom-context-2d-globalcompositeoperation title=dom-context-2d-globalCompositeOperation>globalCompositeOperation</a>; // (default source-over)
 
   // image smoothing
@@ -35577,20 +35568,20 @@
   // colors and styles (see also the <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> interface)
            attribute any <a href=#dom-context-2d-strokestyle title=dom-context-2d-strokeStyle>strokeStyle</a>; // (default black)
            attribute any <a href=#dom-context-2d-fillstyle title=dom-context-2d-fillStyle>fillStyle</a>; // (default black)
-  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createlineargradient title=dom-context-2d-createLinearGradient>createLinearGradient</a>(double x0, double y0, double x1, double y1);
-  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createradialgradient title=dom-context-2d-createRadialGradient>createRadialGradient</a>(double x0, double y0, double r0, double x1, double y1, double r1);
+  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createlineargradient title=dom-context-2d-createLinearGradient>createLinearGradient</a>(unrestricted double x0, unrestricted double y0, unrestricted double x1, unrestricted double y1);
+  <a href=#canvasgradient>CanvasGradient</a> <a href=#dom-context-2d-createradialgradient title=dom-context-2d-createRadialGradient>createRadialGradient</a>(unrestricted double x0, unrestricted double y0, unrestricted double r0, unrestricted double x1, unrestricted double y1, unrestricted double r1);
   <a href=#canvaspattern>CanvasPattern</a> <a href=#dom-context-2d-createpattern title=dom-context-2d-createPattern>createPattern</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, DOMString repetition);
 
   // shadows
-           attribute double <a href=#dom-context-2d-shadowoffsetx title=dom-context-2d-shadowOffsetX>shadowOffsetX</a>; // (default 0)
-           attribute double <a href=#dom-context-2d-shadowoffsety title=dom-context-2d-shadowOffsetY>shadowOffsetY</a>; // (default 0)
-           attribute double <a href=#dom-context-2d-shadowblur title=dom-context-2d-shadowBlur>shadowBlur</a>; // (default 0)
+           attribute unrestricted double <a href=#dom-context-2d-shadowoffsetx title=dom-context-2d-shadowOffsetX>shadowOffsetX</a>; // (default 0)
+           attribute unrestricted double <a href=#dom-context-2d-shadowoffsety title=dom-context-2d-shadowOffsetY>shadowOffsetY</a>; // (default 0)
+           attribute unrestricted double <a href=#dom-context-2d-shadowblur title=dom-context-2d-shadowBlur>shadowBlur</a>; // (default 0)
            attribute DOMString <a href=#dom-context-2d-shadowcolor title=dom-context-2d-shadowColor>shadowColor</a>; // (default transparent black)
 
   // rects
-  void <a href=#dom-context-2d-clearrect title=dom-context-2d-clearRect>clearRect</a>(double x, double y, double w, double h);
-  void <a href=#dom-context-2d-fillrect title=dom-context-2d-fillRect>fillRect</a>(double x, double y, double w, double h);
-  void <a href=#dom-context-2d-strokerect title=dom-context-2d-strokeRect>strokeRect</a>(double x, double y, double w, double h);
+  void <a href=#dom-context-2d-clearrect title=dom-context-2d-clearRect>clearRect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <a href=#dom-context-2d-fillrect title=dom-context-2d-fillRect>fillRect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <a href=#dom-context-2d-strokerect title=dom-context-2d-strokeRect>strokeRect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
 
   // path API (see also <a href=#canvaspathmethods>CanvasPathMethods</a>)
   void <a href=#dom-context-2d-beginpath title=dom-context-2d-beginPath>beginPath</a>();
@@ -35607,30 +35598,30 @@
   void <a href=#dom-context-2d-clip title=dom-context-2d-clip>clip</a>();
   void <a href=#dom-context-2d-clip title=dom-context-2d-clip>clip</a>(<a href=#path>Path</a> path);
   void <a href=#dom-context-2d-resetclip title=dom-context-2d-resetClip>resetClip</a>();
-  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(double x, double y);
-  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(<a href=#path>Path</a> path, double x, double y);
+  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(unrestricted double x, unrestricted double y);
+  boolean <a href=#dom-context-2d-ispointinpath title=dom-context-2d-isPointInPath>isPointInPath</a>(<a href=#path>Path</a> path, unrestricted double x, unrestricted double y);
 
   // text (see also the <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> interface)
-  void <a href=#dom-context-2d-filltext title=dom-context-2d-fillText>fillText</a>(DOMString text, double x, double y, optional double maxWidth);
-  void <a href=#dom-context-2d-stroketext title=dom-context-2d-strokeText>strokeText</a>(DOMString text, double x, double y, optional double maxWidth);<!-- v6DVT
-  void <span title="dom-context-2d-fillVerticalText">fillVerticalText</span>(DOMString text, double x, double y, optional double maxHeight);
-  void <span title="dom-context-2d-strokeVerticalText">strokeVerticalText</span>(DOMString text, double x, double y, optional double maxHeight); -->
+  void <a href=#dom-context-2d-filltext title=dom-context-2d-fillText>fillText</a>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <a href=#dom-context-2d-stroketext title=dom-context-2d-strokeText>strokeText</a>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);<!-- v6DVT
+  void <span title="dom-context-2d-fillVerticalText">fillVerticalText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxHeight);
+  void <span title="dom-context-2d-strokeVerticalText">strokeVerticalText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxHeight); -->
   <a href=#textmetrics>TextMetrics</a> <a href=#dom-context-2d-measuretext title=dom-context-2d-measureText>measureText</a>(DOMString text);
 
   // drawing images
-  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, double dx, double dy);
-  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, double dx, double dy, double dw, double dh);
-  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh);
+  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, unrestricted double dx, unrestricted double dy);
+  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
+  void <a href=#dom-context-2d-drawimage title=dom-context-2d-drawImage>drawImage</a>((<a href=#htmlimageelement>HTMLImageElement</a> or <a href=#htmlcanvaselement>HTMLCanvasElement</a> or <a href=#htmlvideoelement>HTMLVideoElement</a>) image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
 
   // hit regions
   void <a href=#dom-context-2d-addhitregion title=dom-context-2d-addHitRegion>addHitRegion</a>(<a href=#hitregionoptions>HitRegionOptions</a> options);
 
   // pixel manipulation
-  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-createimagedata title=dom-context-2d-createImageData>createImageData</a>(double sw, double sh);
+  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-createimagedata title=dom-context-2d-createImageData>createImageData</a>(unrestricted double sw, unrestricted double sh);
   <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-createimagedata title=dom-context-2d-createImageData>createImageData</a>(<a href=#imagedata>ImageData</a> imagedata);
-  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-getimagedata title=dom-context-2d-getImageData>getImageData</a>(double sx, double sy, double sw, double sh);
-  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, double dx, double dy);
-  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight);
+  <a href=#imagedata>ImageData</a> <a href=#dom-context-2d-getimagedata title=dom-context-2d-getImageData>getImageData</a>(unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh);
+  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, unrestricted double dx, unrestricted double dy);
+  void <a href=#dom-context-2d-putimagedata title=dom-context-2d-putImageData>putImageData</a>(<a href=#imagedata>ImageData</a> imagedata, unrestricted double dx, unrestricted double dy, unrestricted double dirtyX, unrestricted double dirtyY, unrestricted double dirtyWidth, unrestricted double dirtyHeight);
 };
 <a href=#canvasrenderingcontext2d>CanvasRenderingContext2D</a> implements <a href=#canvasdrawingstyles>CanvasDrawingStyles</a>;
 <a href=#canvasrenderingcontext2d>CanvasRenderingContext2D</a> implements <a href=#canvaspathmethods>CanvasPathMethods</a>;
@@ -35638,15 +35629,15 @@
 [NoInterfaceObject]
 interface <dfn id=canvasdrawingstyles>CanvasDrawingStyles</dfn> {
   // line caps/joins
-           attribute double <a href=#dom-context-2d-linewidth title=dom-context-2d-lineWidth>lineWidth</a>; // (default 1)
+           attribute unrestricted double <a href=#dom-context-2d-linewidth title=dom-context-2d-lineWidth>lineWidth</a>; // (default 1)
            attribute DOMString <a href=#dom-context-2d-linecap title=dom-context-2d-lineCap>lineCap</a>; // "butt", "round", "square" (default "butt")
            attribute DOMString <a href=#dom-context-2d-linejoin title=dom-context-2d-lineJoin>lineJoin</a>; // "round", "bevel", "miter" (default "miter")
-           attribute double <a href=#dom-context-2d-miterlimit title=dom-context-2d-miterLimit>miterLimit</a>; // (default 10)
+           attribute unrestricted double <a href=#dom-context-2d-miterlimit title=dom-context-2d-miterLimit>miterLimit</a>; // (default 10)
 
   // dashed lines
-  void <a href=#dom-context-2d-setlinedash title=dom-context-2d-setLineDash>setLineDash</a>(sequence<double> segments); // default empty
-  sequence<double> <a href=#dom-context-2d-getlinedash title=dom-context-2d-getLineDash>getLineDash</a>();
-           attribute double <a href=#dom-context-2d-linedashoffset title=dom-context-2d-lineDashOffset>lineDashOffset</a>;
+  void <a href=#dom-context-2d-setlinedash title=dom-context-2d-setLineDash>setLineDash</a>(sequence<unrestricted double> segments); // default empty
+  sequence<unrestricted double> <a href=#dom-context-2d-getlinedash title=dom-context-2d-getLineDash>getLineDash</a>();
+           attribute unrestricted double <a href=#dom-context-2d-linedashoffset title=dom-context-2d-lineDashOffset>lineDashOffset</a>;
 
   // text
            attribute DOMString <a href=#dom-context-2d-font title=dom-context-2d-font>font</a>; // (default 10px sans-serif)
@@ -35658,20 +35649,20 @@
 interface <dfn id=canvaspathmethods>CanvasPathMethods</dfn> {
   // shared path API methods
   void <a href=#dom-context-2d-closepath title=dom-context-2d-closePath>closePath</a>();
-  void <a href=#dom-context-2d-moveto title=dom-context-2d-moveTo>moveTo</a>(double x, double y);
-  void <a href=#dom-context-2d-lineto title=dom-context-2d-lineTo>lineTo</a>(double x, double y);
-  void <a href=#dom-context-2d-quadraticcurveto title=dom-context-2d-quadraticCurveTo>quadraticCurveTo</a>(double cpx, double cpy, double x, double y);
-  void <a href=#dom-context-2d-beziercurveto title=dom-context-2d-bezierCurveTo>bezierCurveTo</a>(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y);
-  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(double x1, double y1, double x2, double y2, double radius); <!-- see ARC-ORDER note below -->
-  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(double x1, double y1, double x2, double y2, double radiusX, double radiusY, double rotation); <!-- see ARC-ORDER note below -->
-  void <a href=#dom-context-2d-rect title=dom-context-2d-rect>rect</a>(double x, double y, double w, double h);
-  void <a href=#dom-context-2d-arc title=dom-context-2d-arc>arc</a>(double x, double y, double radius, double startAngle, double endAngle, optional boolean anticlockwise = false); <!-- see ARC-ORDER note below -->
-  void <a href=#dom-context-2d-ellipse title=dom-context-2d-ellipse>ellipse</a>(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, boolean anticlockwise); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-moveto title=dom-context-2d-moveTo>moveTo</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-lineto title=dom-context-2d-lineTo>lineTo</a>(unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-quadraticcurveto title=dom-context-2d-quadraticCurveTo>quadraticCurveTo</a>(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-beziercurveto title=dom-context-2d-bezierCurveTo>bezierCurveTo</a>(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
+  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-arcto title=dom-context-2d-arcTo>arcTo</a>(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-rect title=dom-context-2d-rect>rect</a>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <a href=#dom-context-2d-arc title=dom-context-2d-arc>arc</a>(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); <!-- see ARC-ORDER note below -->
+  void <a href=#dom-context-2d-ellipse title=dom-context-2d-ellipse>ellipse</a>(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, boolean anticlockwise); <!-- see ARC-ORDER note below -->
 };
 
 interface <dfn id=canvasgradient>CanvasGradient</dfn> {
   // opaque object
-  void <a href=#dom-canvasgradient-addcolorstop title=dom-canvasgradient-addColorStop>addColorStop</a>(double offset, DOMString color);
+  void <a href=#dom-canvasgradient-addcolorstop title=dom-canvasgradient-addColorStop>addColorStop</a>(unrestricted double offset, DOMString color);
 };
 
 interface <dfn id=canvaspattern>CanvasPattern</dfn> {
@@ -35726,10 +35717,10 @@
 interface <dfn id=path>Path</dfn> {
   void <a href=#dom-path-addpath title=dom-path-addPath>addPath</a>(<a href=#path>Path</a> path, <a href=#svgmatrix>SVGMatrix</a>? transformation);
   void <a href=#dom-path-addpathbystrokingpath title=dom-path-addPathByStrokingPath>addPathByStrokingPath</a>(<a href=#path>Path</a> path, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation);
-  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, double x, double y, optional double maxWidth);
-  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, double x, double y, optional double maxWidth);
-  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional double maxWidth);
-  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional double maxWidth);
+  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <a href=#dom-path-addtext title=dom-path-addText>addText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional unrestricted double maxWidth);
+  void <a href=#dom-path-addpathbystrokingtext title=dom-path-addPathByStrokingText>addPathByStrokingText</a>(DOMString text, <a href=#canvasdrawingstyles>CanvasDrawingStyles</a> styles, <a href=#svgmatrix>SVGMatrix</a>? transformation, <a href=#path>Path</a> path, optional unrestricted double maxWidth);
 };
 <a href=#path>Path</a> implements <a href=#canvaspathmethods>CanvasPathMethods</a>;</pre>
 
@@ -45260,7 +45251,7 @@
            attribute DOMString <a href=#dom-input-defaultvalue title=dom-input-defaultValue>defaultValue</a>;
            attribute DOMString <a href=#dom-input-value title=dom-input-value>value</a>;
            attribute <span>Date</span>? <a href=#dom-input-valueasdate title=dom-input-valueAsDate>valueAsDate</a>;
-           attribute double <a href=#dom-input-valueasnumber title=dom-input-valueAsNumber>valueAsNumber</a>;
+           attribute unrestricted double <a href=#dom-input-valueasnumber title=dom-input-valueAsNumber>valueAsNumber</a>;
            attribute unsigned long <a href=#dom-input-width title=dom-input-width>width</a>;
 
   void <a href=#dom-input-stepup title=dom-input-stepUp>stepUp</a>(optional long n);

Modified: source
===================================================================
--- source	2012-06-11 20:53:26 UTC (rev 7128)
+++ source	2012-06-11 23:07:11 UTC (rev 7129)
@@ -2955,17 +2955,6 @@
     characters</dfn> is similarly that defined in the Web IDL
     specification.</p>
 
-    <p id="float-nan">Except where otherwise specified, if an IDL
-    attribute that is a floating point number type (<code
-    title="">double</code>) is assigned an Infinity or Not-a-Number
-    (NaN) value, a <code>NotSupportedError</code> exception must be
-    thrown.</p>
-
-    <p>Except where otherwise specified, if a method with an argument
-    that is a floating point number type (<code title="">double</code>)
-    is passed an Infinity or Not-a-Number (NaN) value, a
-    <code>NotSupportedError</code> exception must be thrown.</p>
-
     <p>When this specification requires a user agent to <dfn>create a
     <code>Date</code> object</dfn> representing a particular time, the
     milliseconds component of that time, if any, must be truncated to
@@ -8812,35 +8801,36 @@
   value.</p> <!-- see previous paragraph for note about the range -->
  
   <p>If a reflecting IDL attribute has a floating point number type
-  (<code>double</code>), then, on getting, the content attribute must
-  be parsed according to the <span>rules for parsing floating point
-  number values</span>, and if that is successful, the resulting value
-  must be returned. If, on the other hand, it fails, or if the
-  attribute is absent, the default value must be returned instead, or
-  0.0 if there is no default value. On setting, the given value must
-  be converted to the <span>best representation of the number as a
-  floating point number</span> and then that string must be used as
-  the new content attribute value.</p>
-
-  <p>If a reflecting IDL attribute has a floating point number type
-  (<code>double</code>) that is <dfn>limited to numbers greater than
-  zero</dfn>, then the behavior is similar to the previous case, but
-  zero and negative values are not allowed. On getting, the content
-  attribute must be parsed according to the <span>rules for parsing
-  floating point number values</span>, and if that is successful and
-  the value is greater than 0.0, the resulting value must be returned.
-  If, on the other hand, it fails or returns an out of range value, or
-  if the attribute is absent, the default value must be returned
-  instead, or 0.0 if there is no default value. On setting, if the
-  value is less than or equal to zero, then the value must be ignored.
-  Otherwise, the given value must be converted to the <span>best
+  (<code>double</code> or <code>unrestricted double</code>), then, on
+  getting, the content attribute must be parsed according to the
+  <span>rules for parsing floating point number values</span>, and if
+  that is successful, the resulting value must be returned. If, on the
+  other hand, it fails, or if the attribute is absent, the default
+  value must be returned instead, or 0.0 if there is no default value.
+  On setting, the given value must be converted to the <span>best
   representation of the number as a floating point number</span> and
   then that string must be used as the new content attribute
   value.</p>
 
+  <p>If a reflecting IDL attribute has a floating point number type
+  (<code>double</code> or <code>unrestricted double</code>) that is
+  <dfn>limited to numbers greater than zero</dfn>, then the behavior
+  is similar to the previous case, but zero and negative values are
+  not allowed. On getting, the content attribute must be parsed
+  according to the <span>rules for parsing floating point number
+  values</span>, and if that is successful and the value is greater
+  than 0.0, the resulting value must be returned. If, on the other
+  hand, it fails or returns an out of range value, or if the attribute
+  is absent, the default value must be returned instead, or 0.0 if
+  there is no default value. On setting, if the value is less than or
+  equal to zero, then the value must be ignored. Otherwise, the given
+  value must be converted to the <span>best representation of the
+  number as a floating point number</span> and then that string must
+  be used as the new content attribute value.</p>
+
   <p class="note">The values Infinity and Not-a-Number (NaN) values
-  throw an exception on setting, as <a href="#float-nan">defined
-  earlier</a>.</p>
+  throw an exception on setting, as defined in the Web IDL
+  specification. <a href="#refsWEBIDL">[WEBIDL]</a></p>
 
   <p>If a reflecting IDL attribute has the type
   <code>DOMTokenList</code> or <code>DOMSettableTokenList</code>, then
@@ -30634,7 +30624,7 @@
 
   // playback state
            attribute double <span title="dom-media-currentTime">currentTime</span>;
-  readonly attribute double <span title="dom-media-duration">duration</span>;
+  readonly attribute unrestricted double <span title="dom-media-duration">duration</span>;
   readonly attribute <span>Date</span> <span title="dom-media-startDate">startDate</span>;
   readonly attribute boolean <span title="dom-media-paused">paused</span>;
            attribute double <span title="dom-media-defaultPlaybackRate">defaultPlaybackRate</span>;
@@ -34682,7 +34672,7 @@
 
   readonly attribute <span>TimeRanges</span> <span title="dom-MediaController-buffered">buffered</span>;
   readonly attribute <span>TimeRanges</span> <span title="dom-MediaController-seekable">seekable</span>;
-  readonly attribute double <span title="dom-MediaController-duration">duration</span>;
+  readonly attribute unrestricted double <span title="dom-MediaController-duration">duration</span>;
            attribute double <span title="dom-MediaController-currentTime">currentTime</span>;
 
   readonly attribute boolean <span title="dom-MediaController-paused">paused</span>;
@@ -41427,11 +41417,11 @@
 -->
   // transformations (default transform is the identity matrix)
            attribute <span>SVGMatrix</span> <span title="dom-context-2d-currentTransform">currentTransform</span>;
-  void <span title="dom-context-2d-scale">scale</span>(double x, double y);
-  void <span title="dom-context-2d-rotate">rotate</span>(double angle);
-  void <span title="dom-context-2d-translate">translate</span>(double x, double y);
-  void <span title="dom-context-2d-transform">transform</span>(double a, double b, double c, double d, double e, double f);
-  void <span title="dom-context-2d-setTransform">setTransform</span>(double a, double b, double c, double d, double e, double f);
+  void <span title="dom-context-2d-scale">scale</span>(unrestricted double x, unrestricted double y);
+  void <span title="dom-context-2d-rotate">rotate</span>(unrestricted double angle);
+  void <span title="dom-context-2d-translate">translate</span>(unrestricted double x, unrestricted double y);
+  void <span title="dom-context-2d-transform">transform</span>(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
+  void <span title="dom-context-2d-setTransform">setTransform</span>(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
   void <span title="dom-context-2d-resetTransform">resetTransform</span>();
 <!--
   // v7 we've also received requests (though not many so far) for:
@@ -41440,7 +41430,7 @@
 
 -->
   // compositing
-           attribute double <span title="dom-context-2d-globalAlpha">globalAlpha</span>; // (default 1.0)
+           attribute unrestricted double <span title="dom-context-2d-globalAlpha">globalAlpha</span>; // (default 1.0)
            attribute DOMString <span title="dom-context-2d-globalCompositeOperation">globalCompositeOperation</span>; // (default source-over)
 
   // image smoothing
@@ -41458,20 +41448,20 @@
   // colors and styles (see also the <span>CanvasDrawingStyles</span> interface)
            attribute any <span title="dom-context-2d-strokeStyle">strokeStyle</span>; // (default black)
            attribute any <span title="dom-context-2d-fillStyle">fillStyle</span>; // (default black)
-  <span>CanvasGradient</span> <span title="dom-context-2d-createLinearGradient">createLinearGradient</span>(double x0, double y0, double x1, double y1);
-  <span>CanvasGradient</span> <span title="dom-context-2d-createRadialGradient">createRadialGradient</span>(double x0, double y0, double r0, double x1, double y1, double r1);
+  <span>CanvasGradient</span> <span title="dom-context-2d-createLinearGradient">createLinearGradient</span>(unrestricted double x0, unrestricted double y0, unrestricted double x1, unrestricted double y1);
+  <span>CanvasGradient</span> <span title="dom-context-2d-createRadialGradient">createRadialGradient</span>(unrestricted double x0, unrestricted double y0, unrestricted double r0, unrestricted double x1, unrestricted double y1, unrestricted double r1);
   <span>CanvasPattern</span> <span title="dom-context-2d-createPattern">createPattern</span>((<span>HTMLImageElement</span> or <span>HTMLCanvasElement</span> or <span>HTMLVideoElement</span>) image, DOMString repetition);
 
   // shadows
-           attribute double <span title="dom-context-2d-shadowOffsetX">shadowOffsetX</span>; // (default 0)
-           attribute double <span title="dom-context-2d-shadowOffsetY">shadowOffsetY</span>; // (default 0)
-           attribute double <span title="dom-context-2d-shadowBlur">shadowBlur</span>; // (default 0)
+           attribute unrestricted double <span title="dom-context-2d-shadowOffsetX">shadowOffsetX</span>; // (default 0)
+           attribute unrestricted double <span title="dom-context-2d-shadowOffsetY">shadowOffsetY</span>; // (default 0)
+           attribute unrestricted double <span title="dom-context-2d-shadowBlur">shadowBlur</span>; // (default 0)
            attribute DOMString <span title="dom-context-2d-shadowColor">shadowColor</span>; // (default transparent black)
 
   // rects
-  void <span title="dom-context-2d-clearRect">clearRect</span>(double x, double y, double w, double h);
-  void <span title="dom-context-2d-fillRect">fillRect</span>(double x, double y, double w, double h);
-  void <span title="dom-context-2d-strokeRect">strokeRect</span>(double x, double y, double w, double h);
+  void <span title="dom-context-2d-clearRect">clearRect</span>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <span title="dom-context-2d-fillRect">fillRect</span>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <span title="dom-context-2d-strokeRect">strokeRect</span>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
 
   // path API (see also <span>CanvasPathMethods</span>)
   void <span title="dom-context-2d-beginPath">beginPath</span>();
@@ -41488,30 +41478,30 @@
   void <span title="dom-context-2d-clip">clip</span>();
   void <span title="dom-context-2d-clip">clip</span>(<span>Path</span> path);
   void <span title="dom-context-2d-resetClip">resetClip</span>();
-  boolean <span title="dom-context-2d-isPointInPath">isPointInPath</span>(double x, double y);
-  boolean <span title="dom-context-2d-isPointInPath">isPointInPath</span>(<span>Path</span> path, double x, double y);
+  boolean <span title="dom-context-2d-isPointInPath">isPointInPath</span>(unrestricted double x, unrestricted double y);
+  boolean <span title="dom-context-2d-isPointInPath">isPointInPath</span>(<span>Path</span> path, unrestricted double x, unrestricted double y);
 
   // text (see also the <span>CanvasDrawingStyles</span> interface)
-  void <span title="dom-context-2d-fillText">fillText</span>(DOMString text, double x, double y, optional double maxWidth);
-  void <span title="dom-context-2d-strokeText">strokeText</span>(DOMString text, double x, double y, optional double maxWidth);<!-- v6DVT
-  void <span title="dom-context-2d-fillVerticalText">fillVerticalText</span>(DOMString text, double x, double y, optional double maxHeight);
-  void <span title="dom-context-2d-strokeVerticalText">strokeVerticalText</span>(DOMString text, double x, double y, optional double maxHeight); -->
+  void <span title="dom-context-2d-fillText">fillText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <span title="dom-context-2d-strokeText">strokeText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);<!-- v6DVT
+  void <span title="dom-context-2d-fillVerticalText">fillVerticalText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxHeight);
+  void <span title="dom-context-2d-strokeVerticalText">strokeVerticalText</span>(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxHeight); -->
   <span>TextMetrics</span> <span title="dom-context-2d-measureText">measureText</span>(DOMString text);
 
   // drawing images
-  void <span title="dom-context-2d-drawImage">drawImage</span>((<span>HTMLImageElement</span> or <span>HTMLCanvasElement</span> or <span>HTMLVideoElement</span>) image, double dx, double dy);
-  void <span title="dom-context-2d-drawImage">drawImage</span>((<span>HTMLImageElement</span> or <span>HTMLCanvasElement</span> or <span>HTMLVideoElement</span>) image, double dx, double dy, double dw, double dh);
-  void <span title="dom-context-2d-drawImage">drawImage</span>((<span>HTMLImageElement</span> or <span>HTMLCanvasElement</span> or <span>HTMLVideoElement</span>) image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh);
+  void <span title="dom-context-2d-drawImage">drawImage</span>((<span>HTMLImageElement</span> or <span>HTMLCanvasElement</span> or <span>HTMLVideoElement</span>) image, unrestricted double dx, unrestricted double dy);
+  void <span title="dom-context-2d-drawImage">drawImage</span>((<span>HTMLImageElement</span> or <span>HTMLCanvasElement</span> or <span>HTMLVideoElement</span>) image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
+  void <span title="dom-context-2d-drawImage">drawImage</span>((<span>HTMLImageElement</span> or <span>HTMLCanvasElement</span> or <span>HTMLVideoElement</span>) image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
 
   // hit regions
   void <span title="dom-context-2d-addHitRegion">addHitRegion</span>(<span>HitRegionOptions</span> options);
 
   // pixel manipulation
-  <span>ImageData</span> <span title="dom-context-2d-createImageData">createImageData</span>(double sw, double sh);
+  <span>ImageData</span> <span title="dom-context-2d-createImageData">createImageData</span>(unrestricted double sw, unrestricted double sh);
   <span>ImageData</span> <span title="dom-context-2d-createImageData">createImageData</span>(<span>ImageData</span> imagedata);
-  <span>ImageData</span> <span title="dom-context-2d-getImageData">getImageData</span>(double sx, double sy, double sw, double sh);
-  void <span title="dom-context-2d-putImageData">putImageData</span>(<span>ImageData</span> imagedata, double dx, double dy);
-  void <span title="dom-context-2d-putImageData">putImageData</span>(<span>ImageData</span> imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight);
+  <span>ImageData</span> <span title="dom-context-2d-getImageData">getImageData</span>(unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh);
+  void <span title="dom-context-2d-putImageData">putImageData</span>(<span>ImageData</span> imagedata, unrestricted double dx, unrestricted double dy);
+  void <span title="dom-context-2d-putImageData">putImageData</span>(<span>ImageData</span> imagedata, unrestricted double dx, unrestricted double dy, unrestricted double dirtyX, unrestricted double dirtyY, unrestricted double dirtyWidth, unrestricted double dirtyHeight);
 };
 <span>CanvasRenderingContext2D</span> implements <span>CanvasDrawingStyles</span>;
 <span>CanvasRenderingContext2D</span> implements <span>CanvasPathMethods</span>;
@@ -41519,15 +41509,15 @@
 [NoInterfaceObject]
 interface <dfn>CanvasDrawingStyles</dfn> {
   // line caps/joins
-           attribute double <span title="dom-context-2d-lineWidth">lineWidth</span>; // (default 1)
+           attribute unrestricted double <span title="dom-context-2d-lineWidth">lineWidth</span>; // (default 1)
            attribute DOMString <span title="dom-context-2d-lineCap">lineCap</span>; // "butt", "round", "square" (default "butt")
            attribute DOMString <span title="dom-context-2d-lineJoin">lineJoin</span>; // "round", "bevel", "miter" (default "miter")
-           attribute double <span title="dom-context-2d-miterLimit">miterLimit</span>; // (default 10)
+           attribute unrestricted double <span title="dom-context-2d-miterLimit">miterLimit</span>; // (default 10)
 
   // dashed lines
-  void <span title="dom-context-2d-setLineDash">setLineDash</span>(sequence<double> segments); // default empty
-  sequence<double> <span title="dom-context-2d-getLineDash">getLineDash</span>();
-           attribute double <span title="dom-context-2d-lineDashOffset">lineDashOffset</span>;
+  void <span title="dom-context-2d-setLineDash">setLineDash</span>(sequence<unrestricted double> segments); // default empty
+  sequence<unrestricted double> <span title="dom-context-2d-getLineDash">getLineDash</span>();
+           attribute unrestricted double <span title="dom-context-2d-lineDashOffset">lineDashOffset</span>;
 
   // text
            attribute DOMString <span title="dom-context-2d-font">font</span>; // (default 10px sans-serif)
@@ -41539,20 +41529,20 @@
 interface <dfn>CanvasPathMethods</dfn> {
   // shared path API methods
   void <span title="dom-context-2d-closePath">closePath</span>();
-  void <span title="dom-context-2d-moveTo">moveTo</span>(double x, double y);
-  void <span title="dom-context-2d-lineTo">lineTo</span>(double x, double y);
-  void <span title="dom-context-2d-quadraticCurveTo">quadraticCurveTo</span>(double cpx, double cpy, double x, double y);
-  void <span title="dom-context-2d-bezierCurveTo">bezierCurveTo</span>(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y);
-  void <span title="dom-context-2d-arcTo">arcTo</span>(double x1, double y1, double x2, double y2, double radius); <!-- see ARC-ORDER note below -->
-  void <span title="dom-context-2d-arcTo">arcTo</span>(double x1, double y1, double x2, double y2, double radiusX, double radiusY, double rotation); <!-- see ARC-ORDER note below -->
-  void <span title="dom-context-2d-rect">rect</span>(double x, double y, double w, double h);
-  void <span title="dom-context-2d-arc">arc</span>(double x, double y, double radius, double startAngle, double endAngle, optional boolean anticlockwise = false); <!-- see ARC-ORDER note below -->
-  void <span title="dom-context-2d-ellipse">ellipse</span>(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, boolean anticlockwise); <!-- see ARC-ORDER note below -->
+  void <span title="dom-context-2d-moveTo">moveTo</span>(unrestricted double x, unrestricted double y);
+  void <span title="dom-context-2d-lineTo">lineTo</span>(unrestricted double x, unrestricted double y);
+  void <span title="dom-context-2d-quadraticCurveTo">quadraticCurveTo</span>(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
+  void <span title="dom-context-2d-bezierCurveTo">bezierCurveTo</span>(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
+  void <span title="dom-context-2d-arcTo">arcTo</span>(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); <!-- see ARC-ORDER note below -->
+  void <span title="dom-context-2d-arcTo">arcTo</span>(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation); <!-- see ARC-ORDER note below -->
+  void <span title="dom-context-2d-rect">rect</span>(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  void <span title="dom-context-2d-arc">arc</span>(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); <!-- see ARC-ORDER note below -->
+  void <span title="dom-context-2d-ellipse">ellipse</span>(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, boolean anticlockwise); <!-- see ARC-ORDER note below -->
 };
 
 interface <dfn>CanvasGradient</dfn> {
   // opaque object
-  void <span title="dom-canvasgradient-addColorStop">addColorStop</span>(double offset, DOMString color);
+  void <span title="dom-canvasgradient-addColorStop">addColorStop</span>(unrestricted double offset, DOMString color);
 };
 
 interface <dfn>CanvasPattern</dfn> {
@@ -41607,10 +41597,10 @@
 interface <dfn>Path</dfn> {
   void <span title="dom-path-addPath">addPath</span>(<span>Path</span> path, <span>SVGMatrix</span>? transformation);
   void <span title="dom-path-addPathByStrokingPath">addPathByStrokingPath</span>(<span>Path</span> path, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation);
-  void <span title="dom-path-addText">addText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, double x, double y, optional double maxWidth);
-  void <span title="dom-path-addPathByStrokingText">addPathByStrokingText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, double x, double y, optional double maxWidth);
-  void <span title="dom-path-addText">addText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, <span>Path</span> path, optional double maxWidth);
-  void <span title="dom-path-addPathByStrokingText">addPathByStrokingText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, <span>Path</span> path, optional double maxWidth);
+  void <span title="dom-path-addText">addText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <span title="dom-path-addPathByStrokingText">addPathByStrokingText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+  void <span title="dom-path-addText">addText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, <span>Path</span> path, optional unrestricted double maxWidth);
+  void <span title="dom-path-addPathByStrokingText">addPathByStrokingText</span>(DOMString text, <span>CanvasDrawingStyles</span> styles, <span>SVGMatrix</span>? transformation, <span>Path</span> path, optional unrestricted double maxWidth);
 };
 <span>Path</span> implements <span>CanvasPathMethods</span>;</pre>
 
@@ -52911,7 +52901,7 @@
            attribute DOMString <span title="dom-input-defaultValue">defaultValue</span>;
            attribute DOMString <span title="dom-input-value">value</span>;
            attribute <span>Date</span>? <span title="dom-input-valueAsDate">valueAsDate</span>;
-           attribute double <span title="dom-input-valueAsNumber">valueAsNumber</span>;
+           attribute unrestricted double <span title="dom-input-valueAsNumber">valueAsNumber</span>;
            attribute unsigned long <span title="dom-input-width">width</span>;
 
   void <span title="dom-input-stepUp">stepUp</span>(optional long n);




More information about the Commit-Watchers mailing list