title: XMLHttpRequestProgressEvent.total totalSize giving wrong value
body: <p>I am listening on <code>xhr.onprogress</code> </p>
  
  <pre><code>request.onprogress = function(e){
      return conf.progress ? conf.progress(e) : null;
  };
  </code></pre>
  
  <p>where <code>conf.progress</code> is </p>
  
  <pre><code>function(e){
      var position = e.position || e.loaded;
      var total = e.totalSize || e.total;
      var percent = ((e.loaded/e.total)*100)+"";
      console.log(percent);
      console.log(position, total);
      console.log(e);
  }
  </code></pre>
  
  <p><code>percent</code> yields wrong value in console like <code>2.789069431137492e-11</code> and this is what <code>console.log(e)</code> prints</p>
  
  <pre><code>XMLHttpRequestProgressEvent
      bubbles: false
      cancelBubble: false
      cancelable: true
      clipboardData: undefined
      currentTarget: undefined
      defaultPrevented: false
      eventPhase: 2
      lengthComputable: false
      loaded: 4982035
      position: 4982035
      returnValue: true
      srcElement: undefined
      target: undefined
      timeStamp: 1323097256269
      total: 18446744073709552000
      totalSize: 18446744073709552000
      type: "progress"
      __proto__: XMLHttpRequestProgressEvent
  </code></pre>
  
  <p>Why the <code>e.totalSize: 18446744073709552000</code> is so big and even after the document is completely loaded <code>e.loaded: 4982035</code> as <code>totalSize</code> should be equal to <code>loaded</code> when its complete</p>