X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gitweb%2Fgitweb.js;h=9c66928c4af8cf37b9c13a6a40936523e16fcc6f;hb=e7b3cea0f7589c57f7bb808330e32bdd7f901c95;hp=91b766e33641b7957fbaac4865458c28cd67e7ac;hpb=c4ccf61f4caf8c293713586531b4a2ea709756c8;p=git.git diff --git a/gitweb/gitweb.js b/gitweb/gitweb.js index 91b766e33..9c66928c4 100644 --- a/gitweb/gitweb.js +++ b/gitweb/gitweb.js @@ -64,19 +64,19 @@ function fixLinks() { /** * pad number N with nonbreakable spaces on the left, to WIDTH characters - * example: padLeftStr(12, 3, ' ') == ' 12' - * (' ' is nonbreakable space) + * example: padLeftStr(12, 3, '\u00A0') == '\u00A012' + * ('\u00A0' is nonbreakable space) * * @param {Number|String} input: number to pad * @param {Number} width: visible width of output - * @param {String} str: string to prefix to string, e.g. ' ' + * @param {String} str: string to prefix to string, e.g. '\u00A0' * @returns {String} INPUT prefixed with (WIDTH - INPUT.length) x STR */ function padLeftStr(input, width, str) { var prefix = ''; width -= input.toString().length; - while (width > 1) { + while (width > 0) { prefix += str; width--; } @@ -192,7 +192,7 @@ function updateProgressInfo() { if (div_progress_info) { div_progress_info.firstChild.data = blamedLines + ' / ' + totalLines + - ' (' + padLeftStr(percentage, 3, ' ') + '%)'; + ' (' + padLeftStr(percentage, 3, '\u00A0') + '%)'; } if (div_progress_bar) { @@ -562,12 +562,20 @@ function handleLine(commit, group) { td_sha1.rowSpan = group.numlines; a_sha1.href = projectUrl + 'a=commit;h=' + commit.sha1; - a_sha1.firstChild.data = commit.sha1.substr(0, 8); + if (a_sha1.firstChild) { + a_sha1.firstChild.data = commit.sha1.substr(0, 8); + } else { + a_sha1.appendChild( + document.createTextNode(commit.sha1.substr(0, 8))); + } if (group.numlines >= 2) { var fragment = document.createDocumentFragment(); var br = document.createElement("br"); - var text = document.createTextNode( - commit.author.match(/\b([A-Z])\B/g).join('')); + var match = commit.author.match(/\b([A-Z])\B/g); + if (match) { + var text = document.createTextNode( + match.join('')); + } if (br && text) { var elem = fragment || td_sha1; elem.appendChild(br); @@ -771,7 +779,12 @@ function handleResponse() { } // the server returned error - if (xhr.readyState === 3 && xhr.status !== 200) { + // try ... catch block is to work around bug in IE8 + try { + if (xhr.readyState === 3 && xhr.status !== 200) { + return; + } + } catch (e) { return; } if (xhr.readyState === 4 && xhr.status !== 200) {