Title: [118622] trunk
Revision
118622
Author
[email protected]
Date
2012-05-27 00:34:01 -0700 (Sun, 27 May 2012)

Log Message

[FileAPI] FileReader should fire progress event when blob has been completely read into memory
https://bugs.webkit.org/show_bug.cgi?id=87585

Patch by Li Yin <[email protected]> on 2012-05-27
Reviewed by Kentaro Hara.

>From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event
One progress event will fire when blob has been completely read into memory.
Firefox, Opera and IE follows the spec.
Webkit based browser doesn't do that, it only fires progress event at interval of 50ms.
WebKit should add the behavior to make the conformance with the spec.

Source/WebCore:

Tests: fast/files/file-reader-event-listener.html

* fileapi/FileReader.cpp:
(WebCore::FileReader::didFinishLoading):

LayoutTests:

* fast/files/file-reader-event-listener-expected.txt:
* fast/files/file-reader-event-listener.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (118621 => 118622)


--- trunk/LayoutTests/ChangeLog	2012-05-27 06:52:07 UTC (rev 118621)
+++ trunk/LayoutTests/ChangeLog	2012-05-27 07:34:01 UTC (rev 118622)
@@ -1,3 +1,19 @@
+2012-05-27  Li Yin  <[email protected]>
+
+        [FileAPI] FileReader should fire progress event when blob has been completely read into memory
+        https://bugs.webkit.org/show_bug.cgi?id=87585
+
+        Reviewed by Kentaro Hara.
+
+        From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event
+        One progress event will fire when blob has been completely read into memory.
+        Firefox, Opera and IE follows the spec.
+        Webkit based browser doesn't do that, it only fires progress event at interval of 50ms.
+        WebKit should add the behavior to make the conformance with the spec.
+
+        * fast/files/file-reader-event-listener-expected.txt:
+        * fast/files/file-reader-event-listener.html:
+
 2012-05-26  Li Yin  <[email protected]>
 
         [FileAPI] The result attribute of FileReader shuold use null to replace empty string

Modified: trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt (118621 => 118622)


--- trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt	2012-05-27 06:52:07 UTC (rev 118621)
+++ trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt	2012-05-27 07:34:01 UTC (rev 118622)
@@ -2,6 +2,7 @@
 Test that FileReader's event listener works.
 Received loadstart event
 Received foo event
+Received progress event
 Received load event
 Received loadend event
 DONE

Modified: trunk/LayoutTests/fast/files/file-reader-event-listener.html (118621 => 118622)


--- trunk/LayoutTests/fast/files/file-reader-event-listener.html	2012-05-27 06:52:07 UTC (rev 118621)
+++ trunk/LayoutTests/fast/files/file-reader-event-listener.html	2012-05-27 07:34:01 UTC (rev 118622)
@@ -6,6 +6,7 @@
 
 <script>
 var fileReader;
+var receivedProgressEvent = false;
 
 function log(message)
 {
@@ -23,8 +24,15 @@
     fileReader.dispatchEvent(event);
 }
 
+function onProgress()
+{
+    receivedProgressEvent = true;
+}
+
 function onLoad()
 {
+    if (receivedProgressEvent)
+        log("Received progress event");
     log("Received load event");
 }
 
@@ -64,6 +72,7 @@
     fileReader = new FileReader();
     fileReader.readAsText(file);
     fileReader.addEventListener("loadstart", onLoadStart, false);
+    fileReader.addEventListener("progress", onProgress, false);
     fileReader.addEventListener("load", onLoad, false);
     fileReader.addEventListener("loadend", onLoadEnd, false);
     fileReader.addEventListener("abort", onAbort, false);

Modified: trunk/Source/WebCore/ChangeLog (118621 => 118622)


--- trunk/Source/WebCore/ChangeLog	2012-05-27 06:52:07 UTC (rev 118621)
+++ trunk/Source/WebCore/ChangeLog	2012-05-27 07:34:01 UTC (rev 118622)
@@ -1,3 +1,21 @@
+2012-05-27  Li Yin  <[email protected]>
+
+        [FileAPI] FileReader should fire progress event when blob has been completely read into memory
+        https://bugs.webkit.org/show_bug.cgi?id=87585
+
+        Reviewed by Kentaro Hara.
+
+        From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event
+        One progress event will fire when blob has been completely read into memory.
+        Firefox, Opera and IE follows the spec.
+        Webkit based browser doesn't do that, it only fires progress event at interval of 50ms.
+        WebKit should add the behavior to make the conformance with the spec.
+
+        Tests: fast/files/file-reader-event-listener.html
+
+        * fileapi/FileReader.cpp:
+        (WebCore::FileReader::didFinishLoading):
+
 2012-05-26  Li Yin  <[email protected]>
 
         [FileAPI] The result attribute of FileReader shuold use null to replace empty string

Modified: trunk/Source/WebCore/fileapi/FileReader.cpp (118621 => 118622)


--- trunk/Source/WebCore/fileapi/FileReader.cpp	2012-05-27 06:52:07 UTC (rev 118621)
+++ trunk/Source/WebCore/fileapi/FileReader.cpp	2012-05-27 07:34:01 UTC (rev 118622)
@@ -218,6 +218,7 @@
     ASSERT(m_state != DONE);
     m_state = DONE;
 
+    fireEvent(eventNames().progressEvent);
     fireEvent(eventNames().loadEvent);
     fireEvent(eventNames().loadendEvent);
     
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to