Title: [104180] trunk
Revision
104180
Author
[email protected]
Date
2012-01-05 10:59:00 -0800 (Thu, 05 Jan 2012)

Log Message

FileReader needs addEventListener
https://bugs.webkit.org/show_bug.cgi?id=42723

Reviewed by Adam Barth.

Source/WebCore:

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

* fileapi/FileReader.idl:

LayoutTests:

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

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (104179 => 104180)


--- trunk/LayoutTests/ChangeLog	2012-01-05 18:38:51 UTC (rev 104179)
+++ trunk/LayoutTests/ChangeLog	2012-01-05 18:59:00 UTC (rev 104180)
@@ -1,3 +1,13 @@
+2012-01-05  Jian Li  <[email protected]>
+
+        FileReader needs addEventListener
+        https://bugs.webkit.org/show_bug.cgi?id=42723
+
+        Reviewed by Adam Barth.
+
+        * fast/files/file-reader-event-listener-expected.txt: Added.
+        * fast/files/file-reader-event-listener.html: Added.
+
 2012-01-05  Tony Chang  <[email protected]>
 
         [chromium] Unreviewed, tighted up the expectations for some perf tests.

Added: trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt (0 => 104180)


--- trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt	2012-01-05 18:59:00 UTC (rev 104180)
@@ -0,0 +1,8 @@
+
+Test that FileReader's event listener works.
+Received loadstart event
+Received foo event
+Received load event
+Received loadend event
+DONE
+

Added: trunk/LayoutTests/fast/files/file-reader-event-listener.html (0 => 104180)


--- trunk/LayoutTests/fast/files/file-reader-event-listener.html	                        (rev 0)
+++ trunk/LayoutTests/fast/files/file-reader-event-listener.html	2012-01-05 18:59:00 UTC (rev 104180)
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html>
+<body>
+<input type="file" name="file" id="file" _onchange_="onInputFileChange()">
+<pre id='console'></pre>
+
+<script>
+var fileReader;
+
+function log(message)
+{
+    document.getElementById('console').appendChild(document.createTextNode(message + "\n"));
+}
+
+function onLoadStart()
+{
+    log("Received loadstart event");
+
+    fileReader.removeEventListener("abort", onAbort, false);
+
+    var event = document.createEvent("Events");
+    event.initEvent("foo", false, false);
+    fileReader.dispatchEvent(event);
+}
+
+function onLoad()
+{
+    log("Received load event");
+}
+
+function onLoadEnd()
+{
+    log("Received loadend event");
+    log("DONE");
+    
+    fileReader.removeEventListener("loadstart", onLoadStart, false);
+    fileReader.removeEventListener("load", onLoad, false);
+    fileReader.removeEventListener("error", onError, false);
+
+    if (window.layoutTestController)
+        layoutTestController.notifyDone();
+}
+
+function onAbort()
+{
+    log("Received abort event");
+}
+
+function onError(event)
+{
+    log("Received error event: " + event.target.error.code);
+}
+
+function onFoo()
+{
+    log("Received foo event");
+}
+
+function onInputFileChange()
+{
+    log("Test that FileReader's event listener works.");
+
+    var file = document.getElementById("file").files[0];
+    fileReader = new FileReader();
+    fileReader.readAsText(file);
+    fileReader.addEventListener("loadstart", onLoadStart, false);
+    fileReader.addEventListener("load", onLoad, false);
+    fileReader.addEventListener("loadend", onLoadEnd, false);
+    fileReader.addEventListener("abort", onAbort, false);
+    fileReader.addEventListener("error", onError, false);
+    fileReader.addEventListener("foo", onFoo, false);
+}
+
+function runTests()
+{
+    eventSender.beginDragWithFiles(['resources/UTF8.txt']);
+    eventSender.mouseMoveTo(10, 10);
+    eventSender.mouseUp();
+}
+
+if (window.eventSender) {
+    if (window.layoutTestController) {
+        layoutTestController.dumpAsText();
+        layoutTestController.waitUntilDone();
+    }
+    window._onload_ = runTests;
+} else {
+    log("eventSender is not present.");
+}
+</script>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (104179 => 104180)


--- trunk/Source/WebCore/ChangeLog	2012-01-05 18:38:51 UTC (rev 104179)
+++ trunk/Source/WebCore/ChangeLog	2012-01-05 18:59:00 UTC (rev 104180)
@@ -1,3 +1,14 @@
+2012-01-05  Jian Li  <[email protected]>
+
+        FileReader needs addEventListener
+        https://bugs.webkit.org/show_bug.cgi?id=42723
+
+        Reviewed by Adam Barth.
+
+        Test: fast/files/file-reader-event-listener.html
+
+        * fileapi/FileReader.idl:
+
 2012-01-04  Pratik Solanki  <[email protected]>
 
         Remove deprecated calls from CookieJarCFNet.cpp

Modified: trunk/Source/WebCore/fileapi/FileReader.idl (104179 => 104180)


--- trunk/Source/WebCore/fileapi/FileReader.idl	2012-01-05 18:38:51 UTC (rev 104179)
+++ trunk/Source/WebCore/fileapi/FileReader.idl	2012-01-05 18:59:00 UTC (rev 104180)
@@ -61,6 +61,16 @@
 
         readonly attribute FileError error;
 
+        // EventTarget interface
+        void addEventListener(in DOMString type,
+                              in EventListener listener,
+                              in [Optional] boolean useCapture);
+        void removeEventListener(in DOMString type,
+                                 in EventListener listener,
+                                 in [Optional] boolean useCapture);
+        boolean dispatchEvent(in Event evt)
+            raises(EventException);
+
         attribute EventListener onloadstart;
         attribute EventListener onprogress;
         attribute EventListener onload;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to