2009/dap/file-system file-writer.html,1.31,1.32

Update of /sources/public/2009/dap/file-system
In directory hutz:/tmp/cvs-serv6217/file-system

Modified Files:
	file-writer.html 
Log Message:
Adjust event sequences for truncate, write, and abort on the async API; they
should match FileReader much better now.


Index: file-writer.html
===================================================================
RCS file: /sources/public/2009/dap/file-system/file-writer.html,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- file-writer.html	27 May 2011 18:20:30 -0000	1.31
+++ file-writer.html	22 Sep 2011 00:04:46 -0000	1.32
@@ -311,28 +311,18 @@
             MUST run the steps below:
             <ol>
               <li>If <code>readyState</code> is <code>DONE</code> or
-              <code>INIT</code>, throw a <code>FileException</code> with error
-              code <code>INVALID_STATE_ERR</code> and terminate this overall
-              series of steps.</li>
+              <code>INIT</code>, terminate this overall series of steps without
+              doing anything else..</li>
               <li>Terminate any steps having to do with writing a file.</li>
-              <li>Queue a task that will:
-                <ol>
-                  <li>Set the <code>error</code> attribute to a FileError object
-                  with the code <a>ABORT_ERR</a>.</li>
-                  <li>Set <code>readyState</code> to <code>DONE</code>.</li>
-                  <li>Dispatch a progress event called error.</li>
-                  <li>Dispatch a progress event called abort</li>
-                  <li>Dispatch a progress event called writeend</li>
-                </ol></li>
+              <li>Set the <code>error</code> attribute to a FileError object
+              with the code <a>ABORT_ERR</a>.</li>
+              <li>Set <code>readyState</code> to <code>DONE</code>.</li>
+              <li>Dispatch a progress event called abort</li>
+              <li>Dispatch a progress event called writeend</li>
               <li>Stop dispatching any further progress events.</li>
               <li>Terminate this overall set of steps.</li>
             </ol>
           </p>
-          <dl class='exception' title='FileException'>
-            <dt>INVALID_STATE_ERR</dt>
-            <dd>A user called <code>abort</code> while <code>readyState</code>
-            was <code>DONE</code>.</dd>
-          </dl>
         </dd>
         <dt>const unsigned short INIT = 0</dt>
         <dd>
@@ -587,45 +577,41 @@
               <li>If an error occurs during file write, proceed to the error
               steps below.
                 <ol>
-                  <li>Queue a task that will:
-                    <ol>
-                      <li>Set the <code>error</code> attribute; on getting the
-                      <code>error</code> attribute MUST be a
-                      <code>FileError</code> object with a valid error code that
-                      indicates the kind of file error that has occurred.</li>
-                      <li>Set readyState to <code>DONE</code>.</li>
-                      <li>Dispatch a progress event called
-                          <code>error</code>.</li>
-                      <li>Dispatch a progress event called
-                          <code>writeend</code></li>
-                    </ol></li>
+                  <li>Set the <code>error</code> attribute; on getting the
+                  <code>error</code> attribute MUST be a
+                  <code>FileError</code> object with a valid error code that
+                  indicates the kind of file error that has occurred.</li>
+                  <li>Set readyState to <code>DONE</code>.</li>
+                  <li>Dispatch a progress event called
+                      <code>error</code>.</li>
+                  <li>Dispatch a progress event called
+                      <code>writeend</code></li>
                   <li>On getting, the <code>length</code> and
                     <code>position</code> attributes SHOULD indicate any
                     fractional data successfully written to the file.</li>
                   <li>Terminate this overall set of steps.</li>
                 </ol>
               </li>
-              <li>Queue a task to dispatch a progress event called
-                <code>writestart</code>.</li>
+              <li>Dispatch a progress event called <code>writestart</code>.</li>
+              <li>Return from the write method, but continue processing the
+              other steps in this algorithm.</li>
               <li>Make progress notifications.  On getting, while processing the
                 <code>write</code> method, the <code>length</code> and
                 <code>position</code> attributes SHOULD indicate the progress
                 made in writing the file as of the last progress notification.
               </li>
-              <li>Upon successful completion:
+              <li>Upon successful completion of a write:
                 <ol>
-                  <li><code>position</code> and <code>length</code> MUST
-                  indicate an increase of <code>data.size</code> over their
-                  pre-write states, indicating the change to the underlying
-                  file.</li>
-                  <li>Queue a task that will:
-                    <ol>
-                      <li>Set readyState to <code>DONE</code>.</li>
-                      <li>Dispatch a progress event called
-                          <code>write</code></li>
-                      <li>Dispatch a progress event called
-                          <code>writeend</code></li>
-                    </ol></li>
+                  <li><code>position</code> MUST indicate an increase of
+                  <code>data.size</code> over its pre-write state, and
+                  <code>length</code> must be the greater of (the pre-write
+                  <code>length</code>) and (the pre-write <code>position</code>
+                  plus <code>data.size</code>).  </li>
+                  <li>Set readyState to <code>DONE</code>.</li>
+                  <li>Dispatch a progress event called
+                      <code>write</code></li>
+                  <li>Dispatch a progress event called
+                      <code>writeend</code></li>
                   <li>Terminate this overall set of steps.</li>
                 </ol>
             </ol>
@@ -691,26 +677,24 @@
             <li>If an error occurs during truncate, proceed to the error steps
               below.
                 <ol>
-                  <li>Queue a task that will:
-                    <ol>
-                      <li>Set the <code>error</code> attribute; on getting the
-                      <code>error</code> attribute MUST be a
-                      <code>FileError</code> object with a valid error code that
-                      indicates the kind of file error that has occurred.</li>
-                      <li>Set readyState to <code>DONE</code>.</li>
-                      <li>Dispatch a progress event called
-                          <code>error</code>.</li>
-                      <li>Dispatch a progress event called
-                          <code>writeend</code></li>
-                    </ol></li>
+                  <li>Set the <code>error</code> attribute; on getting the
+                  <code>error</code> attribute MUST be a
+                  <code>FileError</code> object with a valid error code that
+                  indicates the kind of file error that has occurred.</li>
+                  <li>Set readyState to <code>DONE</code>.</li>
+                  <li>Dispatch a progress event called
+                      <code>error</code>.</li>
+                  <li>Dispatch a progress event called
+                      <code>writeend</code></li>
                   <li>On getting, the <code>length</code> and
                     <code>position</code> attributes SHOULD indicate any
                     modification to the file.</li>
                   <li>Terminate this overall set of steps.</li>
                 </ol>
             </li>
-            <li>Queue a task to dispatch a progress event called
-              <code>writestart</code>.</li>
+            <li>Dispatch a progress event called <code>writestart</code>.</li>
+            <li>Return from the truncate method, but continue processing the
+            other steps in this algorithm.</li>
             <li>Upon successful completion:
               <ul>
                 <li><code>length</code> MUST be equal to <code>size</code>.</li>
@@ -720,13 +704,10 @@
                     <li><code>size</code>.</li>
                   </ul>
                 </li>
-                <li>Queue a task that will:
-                  <ol>
-                    <li>Set readyState to <code>DONE</code>.</li>
-                    <li>Dispatch a progress event called <code>write</code></li>
-                    <li>Dispatch a progress event called
-                        <code>writeend</code></li>
-                  </ol></li>
+                <li>Set readyState to <code>DONE</code>.</li>
+                <li>Dispatch a progress event called <code>write</code></li>
+                <li>Dispatch a progress event called
+                    <code>writeend</code></li>
                 <li>Terminate this overall set of steps.</li>
               </ul>
             </li>

Received on Thursday, 22 September 2011 00:04:49 UTC