Code

gitweb.js: No need for loop in blame_incremental's handleResponse()
authorJakub Narebski <jnareb@gmail.com>
Fri, 27 May 2011 13:50:00 +0000 (15:50 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 27 May 2011 18:00:39 +0000 (11:00 -0700)
JavaScript is single-threaded, so there is no need for protecting
against changes to XMLHttpRequest object behind event handler back.

Therefore there is no need for loop that was here in case `xhr' got
new changes while processing current changes.  This should make code a
bit more clear.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/static/js/blame_incremental.js

index 4841805288962d656e7e8aacef83738bd5c51b9a..27955ecd3786a1dee447e91d0f7ff4bb0bfcb189 100644 (file)
@@ -603,21 +603,16 @@ function handleResponse() {
                return;
        }
 
-       // extract new whole (complete) lines, and process them
-       while (xhr.prevDataLength !== xhr.responseText.length) {
-               if (xhr.readyState === 4 &&
-                   xhr.prevDataLength === xhr.responseText.length) {
-                       break;
-               }
 
+       // extract new whole (complete) lines, and process them
+       if (xhr.prevDataLength !== xhr.responseText.length) {
                xhr.prevDataLength = xhr.responseText.length;
                var unprocessed = xhr.responseText.substring(xhr.nextReadPos);
                xhr.nextReadPos = processData(unprocessed, xhr.nextReadPos);
-       } // end while
+       }
 
        // did we finish work?
-       if (xhr.readyState === 4 &&
-           xhr.prevDataLength === xhr.responseText.length) {
+       if (xhr.readyState === 4) {
                responseLoaded(xhr);
        }
 }