tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

progress-manual.html (1594B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <title>Process Events for FileReader</title>
      4 <link rel=help href="http://dev.w3.org/2006/webapi/FileAPI/#event-handler-attributes-section">
      5 <link rel=author title="Jinks Zhao" href="mailto:jinks@maxthon.com">
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 Please choose one file through this input below.<br>
      9 <input type="file" id="filer">
     10 <div id="log"></div>
     11 <script>
     12 var input, reader, progressEventCounter, progressEventTimeList,
     13    lastProgressEventTime;
     14 setup(function() {
     15    input = document.getElementById('filer');
     16    reader = new FileReader();
     17    progressEventCounter = 0;
     18    progressEventTimeList = [];
     19    lastProgressEventTime;
     20 }, { explicit_timeout: true });
     21 
     22 var t = async_test("FileReader progress events.")
     23 
     24 reader.onprogress = t.step_func(function () {
     25    var newTime = new Date;
     26    var timeout = newTime - lastProgressEventTime;
     27 
     28    progressEventTimeList.push(timeout);
     29    lastProgressEventTime = newTime;
     30    progressEventCounter++;
     31 
     32    assert_less_than_equal(timeout, 50, "The progress event should be fired every 50ms.");
     33 });
     34 
     35 reader.onload = t.step_func_done(function () {
     36    assert_greater_than_equal(progressEventCounter, 1,
     37                              "When read completely, the progress event must be fired at least once.")
     38 });
     39 
     40 input.onchange = t.step_func(function () {
     41    var files = input.files;
     42 
     43    assert_greater_than(files.length, 0);
     44    var file = files[0];
     45 
     46    lastProgressEventTime = new Date;
     47    reader.readAsArrayBuffer(file);
     48 });
     49 </script>