⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 118622 in webkit


Ignore:
Timestamp:
May 27, 2012, 12:34:01 AM (14 years ago)
Author:
commit-queue@webkit.org
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 <li.yin@intel.com> 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:
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r118620 r118622  
     12012-05-27  Li Yin  <li.yin@intel.com>
     2
     3        [FileAPI] FileReader should fire progress event when blob has been completely read into memory
     4        https://bugs.webkit.org/show_bug.cgi?id=87585
     5
     6        Reviewed by Kentaro Hara.
     7
     8        From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event
     9        One progress event will fire when blob has been completely read into memory.
     10        Firefox, Opera and IE follows the spec.
     11        Webkit based browser doesn't do that, it only fires progress event at interval of 50ms.
     12        WebKit should add the behavior to make the conformance with the spec.
     13
     14        * fast/files/file-reader-event-listener-expected.txt:
     15        * fast/files/file-reader-event-listener.html:
     16
    1172012-05-26  Li Yin  <li.yin@intel.com>
    218
  • trunk/LayoutTests/fast/files/file-reader-event-listener-expected.txt

    r104180 r118622  
    33Received loadstart event
    44Received foo event
     5Received progress event
    56Received load event
    67Received loadend event
  • trunk/LayoutTests/fast/files/file-reader-event-listener.html

    r104180 r118622  
    77<script>
    88var fileReader;
     9var receivedProgressEvent = false;
    910
    1011function log(message)
     
    2425}
    2526
     27function onProgress()
     28{
     29    receivedProgressEvent = true;
     30}
     31
    2632function onLoad()
    2733{
     34    if (receivedProgressEvent)
     35        log("Received progress event");
    2836    log("Received load event");
    2937}
     
    6573    fileReader.readAsText(file);
    6674    fileReader.addEventListener("loadstart", onLoadStart, false);
     75    fileReader.addEventListener("progress", onProgress, false);
    6776    fileReader.addEventListener("load", onLoad, false);
    6877    fileReader.addEventListener("loadend", onLoadEnd, false);
  • trunk/Source/WebCore/ChangeLog

    r118620 r118622  
     12012-05-27  Li Yin  <li.yin@intel.com>
     2
     3        [FileAPI] FileReader should fire progress event when blob has been completely read into memory
     4        https://bugs.webkit.org/show_bug.cgi?id=87585
     5
     6        Reviewed by Kentaro Hara.
     7
     8        From Spec: http://www.w3.org/TR/FileAPI/#dfn-progress-event
     9        One progress event will fire when blob has been completely read into memory.
     10        Firefox, Opera and IE follows the spec.
     11        Webkit based browser doesn't do that, it only fires progress event at interval of 50ms.
     12        WebKit should add the behavior to make the conformance with the spec.
     13
     14        Tests: fast/files/file-reader-event-listener.html
     15
     16        * fileapi/FileReader.cpp:
     17        (WebCore::FileReader::didFinishLoading):
     18
    1192012-05-26  Li Yin  <li.yin@intel.com>
    220
  • trunk/Source/WebCore/fileapi/FileReader.cpp

    r118620 r118622  
    219219    m_state = DONE;
    220220
     221    fireEvent(eventNames().progressEvent);
    221222    fireEvent(eventNames().loadEvent);
    222223    fireEvent(eventNames().loadendEvent);
Note: See TracChangeset for help on using the changeset viewer.