[html5] r8310 - [giow] (2) Prevent dead Blobs and Files from being cloned Fixing https://www.w3. [...]

whatwg at whatwg.org whatwg at whatwg.org
Fri Nov 22 12:18:57 PST 2013


Author: ianh
Date: 2013-11-22 12:18:56 -0800 (Fri, 22 Nov 2013)
New Revision: 8310

Modified:
   complete.html
   index
   source
Log:
[giow] (2) Prevent dead Blobs and Files from being cloned
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=23417
Affected topics: Canvas, DOM APIs

Modified: complete.html
===================================================================
--- complete.html	2013-11-22 20:13:18 UTC (rev 8309)
+++ complete.html	2013-11-22 20:18:56 UTC (rev 8310)
@@ -3820,8 +3820,8 @@
     <ul class=brief><li><dfn id=blob><code>Blob</code></dfn></li>
      <li><dfn id=file><code>File</code></dfn></li>
      <li><dfn id=filelist><code>FileList</code></dfn></li>
-     <li><dfn id=blob.close()><code title=dom-Blob-close>Blob.close()</code></dfn></li>
-     <li><dfn id=blob.type><code title=dom-Blob-type>Blob.type</code></dfn></li>
+     <li><dfn id=dom-blob-close title=dom-Blob-close><code>Blob.close()</code></dfn></li>
+     <li><dfn id=dom-blob-type title=dom-Blob-type><code>Blob.type</code></dfn></li>
      <li>The concept of <dfn id=file-error-read title=file-error-read>read errors</dfn></li>
     </ul></dd>
 
@@ -8183,9 +8183,8 @@
 
      <dt>If <var title="">input</var> is a <code><a href=#blob>Blob</a></code> object</dt>
 
-<!--CLEANUP-->
-     <dd><p>Let <var title="">output</var> be a newly constructed object of the same class as <var title="">input</var>,
-     corresponding to the same underlying data.</dd>
+     <dd><p><p>If <var title="">input</var> has been disabled through the <code title=dom-Blob-close><a href=#dom-blob-close>close()</a></code> method, throw a <code><a href=#datacloneerror>DataCloneError</a></code> exception
+     and abort the overall <a href=#structured-clone>structured clone</a> algorithm. Otherwise, let <var title="">output</var> be a newly constructed object of the same class as <var title="">input</var>, corresponding to the same underlying data.</dd>
 
      <dt>If <var title="">input</var> is a <code><a href=#filelist>FileList</a></code> object</dt>
 
@@ -8208,6 +8207,7 @@
 
      <dt>If <var title="">input</var> is an <code><a href=#arraybuffer>ArrayBuffer</a></code> object</dt>
 
+<!--CLEANUP-->
      <dd><p>If <var title="">input</var> has been <a href=#concept-transferable-neutered title=concept-Transferable-neutered>neutered</a>, throw a <code><a href=#datacloneerror>DataCloneError</a></code>
      exception and abort the overall <a href=#structured-clone>structured clone</a> algorithm. Otherwise, let <var title="">output</var> be a newly constructed <code><a href=#arraybuffer>ArrayBuffer</a></code> object whose contents are
      a copy of <var title="">input</var>'s contents, with the same length.</dd>
@@ -74532,7 +74532,7 @@
     <ol><li><p>If either the <var title="">sw</var> or <var title="">sh</var> arguments are specified
      but zero, throw an <code><a href=#indexsizeerror>IndexSizeError</a></code> exception and abort these steps.</li>
 
-     <li><p>If the <code><a href=#blob>Blob</a></code> object has been disabled through the <code title=dom-Blob-close>close</code> method, then throw an <code><a href=#invalidstateerror>InvalidStateError</a></code>
+     <li><p>If the <code><a href=#blob>Blob</a></code> object has been disabled through the <code title=dom-Blob-close><a href=#dom-blob-close>close()</a></code> method, then throw an <code><a href=#invalidstateerror>InvalidStateError</a></code>
      exception and abort these steps.</li>
 
      <li><p>Return a new <code><a href=#promise>Promise</a></code>, but continue running these steps asynchronously.</li>
@@ -74543,7 +74543,7 @@
 
      <li><p>Apply the <a href=#content-type-sniffing:-image title="Content-Type sniffing: image">image sniffing rules</a> to
      determine the file format of the image data, with MIME type of the <code><a href=#blob>Blob</a></code> (as given
-     by the <code><a href=#blob>Blob</a></code> object's <code title=dom-Blob-type>type</code> attribute) giving the
+     by the <code><a href=#blob>Blob</a></code> object's <code title=dom-Blob-type><a href=#dom-blob-type>type</a></code> attribute) giving the
      official type.</li>
 
      <li><p>If the image data is not in a supported file format (e.g. it's not actually an image at
@@ -76615,7 +76615,7 @@
 
       <p>Add an item to the <a href=#drag-data-store-item-list>drag data store item list</a> whose <a href=#the-drag-data-item-kind title="the drag data
       item kind">kind</a> is <i><a href=#file>File</a></i>, whose <a href=#the-drag-data-item-type-string title="the drag data item type string">type
-      string</a> is the <code title=dom-Blob-type>type</code> of the <code><a href=#file>File</a></code>,
+      string</a> is the <code title=dom-Blob-type><a href=#dom-blob-type>type</a></code> of the <code><a href=#file>File</a></code>,
       <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, and whose data is the same as the
       <code><a href=#file>File</a></code>'s data.</p>
 

Modified: index
===================================================================
--- index	2013-11-22 20:13:18 UTC (rev 8309)
+++ index	2013-11-22 20:18:56 UTC (rev 8310)
@@ -3820,8 +3820,8 @@
     <ul class=brief><li><dfn id=blob><code>Blob</code></dfn></li>
      <li><dfn id=file><code>File</code></dfn></li>
      <li><dfn id=filelist><code>FileList</code></dfn></li>
-     <li><dfn id=blob.close()><code title=dom-Blob-close>Blob.close()</code></dfn></li>
-     <li><dfn id=blob.type><code title=dom-Blob-type>Blob.type</code></dfn></li>
+     <li><dfn id=dom-blob-close title=dom-Blob-close><code>Blob.close()</code></dfn></li>
+     <li><dfn id=dom-blob-type title=dom-Blob-type><code>Blob.type</code></dfn></li>
      <li>The concept of <dfn id=file-error-read title=file-error-read>read errors</dfn></li>
     </ul></dd>
 
@@ -8183,9 +8183,8 @@
 
      <dt>If <var title="">input</var> is a <code><a href=#blob>Blob</a></code> object</dt>
 
-<!--CLEANUP-->
-     <dd><p>Let <var title="">output</var> be a newly constructed object of the same class as <var title="">input</var>,
-     corresponding to the same underlying data.</dd>
+     <dd><p><p>If <var title="">input</var> has been disabled through the <code title=dom-Blob-close><a href=#dom-blob-close>close()</a></code> method, throw a <code><a href=#datacloneerror>DataCloneError</a></code> exception
+     and abort the overall <a href=#structured-clone>structured clone</a> algorithm. Otherwise, let <var title="">output</var> be a newly constructed object of the same class as <var title="">input</var>, corresponding to the same underlying data.</dd>
 
      <dt>If <var title="">input</var> is a <code><a href=#filelist>FileList</a></code> object</dt>
 
@@ -8208,6 +8207,7 @@
 
      <dt>If <var title="">input</var> is an <code><a href=#arraybuffer>ArrayBuffer</a></code> object</dt>
 
+<!--CLEANUP-->
      <dd><p>If <var title="">input</var> has been <a href=#concept-transferable-neutered title=concept-Transferable-neutered>neutered</a>, throw a <code><a href=#datacloneerror>DataCloneError</a></code>
      exception and abort the overall <a href=#structured-clone>structured clone</a> algorithm. Otherwise, let <var title="">output</var> be a newly constructed <code><a href=#arraybuffer>ArrayBuffer</a></code> object whose contents are
      a copy of <var title="">input</var>'s contents, with the same length.</dd>
@@ -74532,7 +74532,7 @@
     <ol><li><p>If either the <var title="">sw</var> or <var title="">sh</var> arguments are specified
      but zero, throw an <code><a href=#indexsizeerror>IndexSizeError</a></code> exception and abort these steps.</li>
 
-     <li><p>If the <code><a href=#blob>Blob</a></code> object has been disabled through the <code title=dom-Blob-close>close</code> method, then throw an <code><a href=#invalidstateerror>InvalidStateError</a></code>
+     <li><p>If the <code><a href=#blob>Blob</a></code> object has been disabled through the <code title=dom-Blob-close><a href=#dom-blob-close>close()</a></code> method, then throw an <code><a href=#invalidstateerror>InvalidStateError</a></code>
      exception and abort these steps.</li>
 
      <li><p>Return a new <code><a href=#promise>Promise</a></code>, but continue running these steps asynchronously.</li>
@@ -74543,7 +74543,7 @@
 
      <li><p>Apply the <a href=#content-type-sniffing:-image title="Content-Type sniffing: image">image sniffing rules</a> to
      determine the file format of the image data, with MIME type of the <code><a href=#blob>Blob</a></code> (as given
-     by the <code><a href=#blob>Blob</a></code> object's <code title=dom-Blob-type>type</code> attribute) giving the
+     by the <code><a href=#blob>Blob</a></code> object's <code title=dom-Blob-type><a href=#dom-blob-type>type</a></code> attribute) giving the
      official type.</li>
 
      <li><p>If the image data is not in a supported file format (e.g. it's not actually an image at
@@ -76615,7 +76615,7 @@
 
       <p>Add an item to the <a href=#drag-data-store-item-list>drag data store item list</a> whose <a href=#the-drag-data-item-kind title="the drag data
       item kind">kind</a> is <i><a href=#file>File</a></i>, whose <a href=#the-drag-data-item-type-string title="the drag data item type string">type
-      string</a> is the <code title=dom-Blob-type>type</code> of the <code><a href=#file>File</a></code>,
+      string</a> is the <code title=dom-Blob-type><a href=#dom-blob-type>type</a></code> of the <code><a href=#file>File</a></code>,
       <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>, and whose data is the same as the
       <code><a href=#file>File</a></code>'s data.</p>
 

Modified: source
===================================================================
--- source	2013-11-22 20:13:18 UTC (rev 8309)
+++ source	2013-11-22 20:18:56 UTC (rev 8310)
@@ -2596,8 +2596,8 @@
      <li><dfn><code>Blob</code></dfn></li>
      <li><dfn><code>File</code></dfn></li>
      <li><dfn><code>FileList</code></dfn></li>
-     <li><dfn><code data-x="dom-Blob-close">Blob.close()</code></dfn></li>
-     <li><dfn><code data-x="dom-Blob-type">Blob.type</code></dfn></li>
+     <li><dfn data-x="dom-Blob-close"><code>Blob.close()</code></dfn></li>
+     <li><dfn data-x="dom-Blob-type"><code>Blob.type</code></dfn></li>
      <li>The concept of <dfn data-x="file-error-read">read errors</dfn></li>
     </ul>
 
@@ -7785,9 +7785,11 @@
 
      <dt>If <var data-x="">input</var> is a <code>Blob</code> object</dt>
 
-<!--CLEANUP-->
-     <dd><p>Let <var data-x="">output</var> be a newly constructed object of the same class as <var data-x="">input</var>,
-     corresponding to the same underlying data.</p></dd>
+     <dd><p><p>If <var data-x="">input</var> has been disabled through the <code
+     data-x="dom-Blob-close">close()</code> method, throw a <code>DataCloneError</code> exception
+     and abort the overall <span>structured clone</span> algorithm. Otherwise, let <var
+     data-x="">output</var> be a newly constructed object of the same class as <var
+     data-x="">input</var>, corresponding to the same underlying data.</p></dd>
 
      <dt>If <var data-x="">input</var> is a <code>FileList</code> object</dt>
 
@@ -7816,6 +7818,7 @@
 
      <dt>If <var data-x="">input</var> is an <code>ArrayBuffer</code> object</dt>
 
+<!--CLEANUP-->
      <dd><p>If <var data-x="">input</var> has been <span
      data-x="concept-Transferable-neutered">neutered</span>, throw a <code>DataCloneError</code>
      exception and abort the overall <span>structured clone</span> algorithm. Otherwise, let <var
@@ -83315,7 +83318,7 @@
      but zero, throw an <code>IndexSizeError</code> exception and abort these steps.</p></li>
 
      <li><p>If the <code>Blob</code> object has been disabled through the <code
-     data-x="dom-Blob-close">close</code> method, then throw an <code>InvalidStateError</code>
+     data-x="dom-Blob-close">close()</code> method, then throw an <code>InvalidStateError</code>
      exception and abort these steps.</p></li>
 
      <li><p>Return a new <code>Promise</code>, but continue running these steps asynchronously.</p></li>




More information about the Commit-Watchers mailing list