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