code: function handleProgress() {
                          
        var textSoFar = xhr.responseText,
            newText = textSoFar.substr(numberOfCharsAlreadyGivenToCallback);
        
        
        /* Raise the event for new text.
        
           On older browsers, the new text is the whole response. 
           On newer/better ones, the fragment part that we got since 
           last progress. */
           
        if( newText ) {
           emitStreamData( newText );
        } 
  
        numberOfCharsAlreadyGivenToCallback = len(textSoFar);
     }
docs: Handle input from the underlying xhr: either a state change,
  the progress event or the request being complete.