From ae9c2eadc50c8957130d5a25d007f479c781a440 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 17 May 2010 14:47:33 +0000 Subject: [PATCH] Monotone-Parent: ca844cc7f066c8e9331cf114bfe525f6c919aa83 Monotone-Revision: 40b752e32c5a135beca554a131f9301c3e3afd72 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-05-17T14:47:33 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ UI/WebServerResources/generic.js | 23 ++++++++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index ee7f06b3c..53141f1fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-05-17 Wolfgang Sourdeau + * UI/WebServerResources/generic.js (log): improved the method's + performance by making use of DOM methods on the "logConsole" + object. + * UI/WebServerResources/JavascriptAPIExtensions.js (Date.prototype.clone): new method for copying the Date object into another instance. diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index 28ef71707..b27d380c5 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -720,19 +720,20 @@ function log(message) { } var logConsole = logWindow.document.getElementById("logConsole"); if (logConsole) { - logConsole.highlighted = !logConsole.highlighted; - if (message == '\c') { - logConsole.innerHTML = ""; + if (message == "\c") { + while (logConsole.firstChild) { + logConsole.removeChild(logConsole.firstChild); + } return; } - var logMessage = message.replace("<", "<", "g"); - logMessage = logMessage.replace(" ", " ", "g"); - logMessage = logMessage.replace("\r\n", "
\n", "g"); - logMessage = logMessage.replace("\n", "
\n", "g"); - logMessage += '
' + "\n"; - if (logConsole.highlighted) - logMessage = '
' + logMessage + '
'; - logConsole.innerHTML += logMessage; + if (message[message.length-1] == "\n") { + message = message.substr(0, message.length-2); + } + var lines = message.split("\n"); + for (var i = 0; i < lines.length; i++) { + logConsole.appendChild(document.createTextNode(lines[i])); + logConsole.appendChild(createElement("br")); + } logConsole.scrollTop += 300; /* abritrary number */ } }