xtras/mathuaerknedam 145:d05cec964c9e: Massive speed improvement...
commits at adium.im
commits at adium.im
Thu Oct 29 21:20:30 UTC 2009
details: http://hg.adium.im/xtras/mathuaerknedam/rev/d05cec964c9e
revision: 145:d05cec964c9e
author: mathuaerknedam
date: Thu Oct 29 16:20:17 2009 -0500
Massive speed improvements to allbysender javascript.
diffs (243 lines):
diff -r dff847602153 -r d05cec964c9e Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Footer.html
--- a/Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Footer.html Thu Oct 29 12:50:29 2009 -0500
+++ b/Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Footer.html Thu Oct 29 16:20:17 2009 -0500
@@ -1,40 +1,44 @@
<script type="text/javascript">
-var highlightActive = false;
-function selectSender() {
- if (highlightActive || event.target.tagName.toLowerCase() == 'a')
- return;
- highlightActive = true;
- var node = event.target;
- var senderName = null;
- while (!senderName) {
- var nodeClass = node.className;
- if (/(^|[\s])message/.test(nodeClass)) {
- var parts = nodeClass.split(" ");
- senderName = parts[parts.length - 1];
+
+ var highlightActive = false;
+
+ function selectSender() {
+ if (highlightActive || event.target.tagName.toLowerCase() == 'a')
+ return;
+ highlightActive = true;
+ var node = event.target;
+ var senderName = null;
+ while (!senderName) {
+ var nodeClass = node.className;
+ if (/(^|[\s])message/.test(nodeClass)) {
+ var parts = nodeClass.split(" ");
+ senderName = parts[parts.length - 1];
+ }
+ node = node.parentElement;
}
- node = node.parentElement;
+ var elms = document.getElementsByClassName(senderName); var elemArray = new Array(elms.length); for (var i=0; i<elms.length; i++) { elemArray[i]=elms[i]; }
+ var len = elemArray.length;
+ for(var i = 0; i < len; i++) {
+ elemArray[i].className += ' x-hover';
+ }
}
- var elms = document.getElementsByClassName(senderName); var elemArray = new Array(elms.length); for (var i=0; i<elms.length; i++) { elemArray[i]=elms[i]; }
- var len = elms.length;
- for(var i = 0; i < len; i++) {
- elms[i].className += ' x-hover';
- }
-}
-function deselectAll() {
- if (!highlightActive)
- return;
- var elms = document.querySelectorAll(".x-hover");
- var len = elms.length;
- var elm = null;
- for(var i = 0; i < len; i++) {
- elm = elms[i];
- elm.className = elm.className.replace(' x-hover', '');
+
+ function deselectAll() {
+ if (!highlightActive)
+ return;
+ var elms = document.querySelectorAll(".x-hover");
+ var len = elms.length;
+ var elm = null;
+ for(var i = 0; i < len; i++) {
+ elm = elms[i];
+ elm.className = elm.className.replace(' x-hover', '');
+ }
+ highlightActive = false;
}
- highlightActive = false;
-}
-document.body.addEventListener("mousedown", selectSender, false);
-document.body.addEventListener("mouseup", deselectAll, false);
-var htmlElm = document.getElementsByTagName("html")[0];
-document.documentElement.addEventListener("mouseout", function() { if (event.relatedTarget == htmlElm) { deselectAll(); }}, false);
+
+ document.body.addEventListener("mousedown", selectSender, false);
+ document.body.addEventListener("mouseup", deselectAll, false);
+ var htmlElm = document.getElementsByTagName("html")[0];
+ document.documentElement.addEventListener("mouseout", function() { if (event.relatedTarget == htmlElm) { deselectAll(); }}, false);
+
</script>
-
diff -r dff847602153 -r d05cec964c9e Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Mockup-SpecialCases.html
--- a/Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Mockup-SpecialCases.html Thu Oct 29 12:50:29 2009 -0500
+++ b/Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Mockup-SpecialCases.html Thu Oct 29 16:20:17 2009 -0500
@@ -359,6 +359,7 @@
<hr id="focus" style="position: absolute; top: 824px;">
<script type="text/javascript">
+
var highlightActive = false;
function selectSender() {
@@ -376,9 +377,9 @@
node = node.parentElement;
}
var elms = document.getElementsByClassName(senderName); var elemArray = new Array(elms.length); for (var i=0; i<elms.length; i++) { elemArray[i]=elms[i]; }
- var len = elms.length;
+ var len = elemArray.length;
for(var i = 0; i < len; i++) {
- elms[i].className += ' x-hover';
+ elemArray[i].className += ' x-hover';
}
}
@@ -395,11 +396,12 @@
highlightActive = false;
}
-document.body.addEventListener("mousedown", selectSender, false);
-document.body.addEventListener("mouseup", deselectAll, false);
-var htmlElm = document.getElementsByTagName("html")[0];
-document.documentElement.addEventListener("mouseout", function() { if (event.relatedTarget == htmlElm) { deselectAll(); }}, false);
+ document.body.addEventListener("mousedown", selectSender, false);
+ document.body.addEventListener("mouseup", deselectAll, false);
+ var htmlElm = document.getElementsByTagName("html")[0];
+ document.documentElement.addEventListener("mouseout", function() { if (event.relatedTarget == htmlElm) { deselectAll(); }}, false);
</script>
+
</body>
</html>
diff -r dff847602153 -r d05cec964c9e Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Mockup.html
--- a/Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Mockup.html Thu Oct 29 12:50:29 2009 -0500
+++ b/Smooth Operator ☿.AdiumMessageStyle/Contents/Resources/Mockup.html Thu Oct 29 16:20:17 2009 -0500
@@ -230,9 +230,9 @@
node = node.parentElement;
}
var elms = document.getElementsByClassName(senderName); var elemArray = new Array(elms.length); for (var i=0; i<elms.length; i++) { elemArray[i]=elms[i]; }
- var len = elms.length;
+ var len = elemArray.length;
for(var i = 0; i < len; i++) {
- elms[i].className += ' x-hover';
+ elemArray[i].className += ' x-hover';
}
}
@@ -255,5 +255,6 @@
document.documentElement.addEventListener("mouseout", function() { if (event.relatedTarget == htmlElm) { deselectAll(); }}, false);
</script>
+
</body>
</html>
diff -r dff847602153 -r d05cec964c9e yMous ☿.AdiumMessageStyle/Contents/Resources/Footer.html
--- a/yMous ☿.AdiumMessageStyle/Contents/Resources/Footer.html Thu Oct 29 12:50:29 2009 -0500
+++ b/yMous ☿.AdiumMessageStyle/Contents/Resources/Footer.html Thu Oct 29 16:20:17 2009 -0500
@@ -1,40 +1,44 @@
<script type="text/javascript">
-var highlightActive = false;
-function selectSender() {
- if (highlightActive || event.target.tagName.toLowerCase() == 'a')
- return;
- highlightActive = true;
- var node = event.target;
- var senderName = null;
- while (!senderName) {
- var nodeClass = node.className;
- if (/(^|[\s])message/.test(nodeClass)) {
- var parts = nodeClass.split(" ");
- senderName = parts[parts.length - 1];
+
+ var highlightActive = false;
+
+ function selectSender() {
+ if (highlightActive || event.target.tagName.toLowerCase() == 'a')
+ return;
+ highlightActive = true;
+ var node = event.target;
+ var senderName = null;
+ while (!senderName) {
+ var nodeClass = node.className;
+ if (/(^|[\s])message/.test(nodeClass)) {
+ var parts = nodeClass.split(" ");
+ senderName = parts[parts.length - 1];
+ }
+ node = node.parentElement;
}
- node = node.parentElement;
+ var elms = document.getElementsByClassName(senderName); var elemArray = new Array(elms.length); for (var i=0; i<elms.length; i++) { elemArray[i]=elms[i]; }
+ var len = elemArray.length;
+ for(var i = 0; i < len; i++) {
+ elemArray[i].className += ' x-hover';
+ }
}
- var elms = document.getElementsByClassName(senderName); var elemArray = new Array(elms.length); for (var i=0; i<elms.length; i++) { elemArray[i]=elms[i]; }
- var len = elms.length;
- for(var i = 0; i < len; i++) {
- elms[i].className += ' x-hover';
- }
-}
-function deselectAll() {
- if (!highlightActive)
- return;
- var elms = document.querySelectorAll(".x-hover");
- var len = elms.length;
- var elm = null;
- for(var i = 0; i < len; i++) {
- elm = elms[i];
- elm.className = elm.className.replace(' x-hover', '');
+
+ function deselectAll() {
+ if (!highlightActive)
+ return;
+ var elms = document.querySelectorAll(".x-hover");
+ var len = elms.length;
+ var elm = null;
+ for(var i = 0; i < len; i++) {
+ elm = elms[i];
+ elm.className = elm.className.replace(' x-hover', '');
+ }
+ highlightActive = false;
}
- highlightActive = false;
-}
-document.body.addEventListener("mousedown", selectSender, false);
-document.body.addEventListener("mouseup", deselectAll, false);
-var htmlElm = document.getElementsByTagName("html")[0];
-document.documentElement.addEventListener("mouseout", function() { if (event.relatedTarget == htmlElm) { deselectAll(); }}, false);
+
+ document.body.addEventListener("mousedown", selectSender, false);
+ document.body.addEventListener("mouseup", deselectAll, false);
+ var htmlElm = document.getElementsByTagName("html")[0];
+ document.documentElement.addEventListener("mouseout", function() { if (event.relatedTarget == htmlElm) { deselectAll(); }}, false);
+
</script>
-
diff -r dff847602153 -r d05cec964c9e yMous ☿.AdiumMessageStyle/Contents/Resources/Mockup.html
--- a/yMous ☿.AdiumMessageStyle/Contents/Resources/Mockup.html Thu Oct 29 12:50:29 2009 -0500
+++ b/yMous ☿.AdiumMessageStyle/Contents/Resources/Mockup.html Thu Oct 29 16:20:17 2009 -0500
@@ -191,9 +191,9 @@
node = node.parentElement;
}
var elms = document.getElementsByClassName(senderName); var elemArray = new Array(elms.length); for (var i=0; i<elms.length; i++) { elemArray[i]=elms[i]; }
- var len = elms.length;
+ var len = elemArray.length;
for(var i = 0; i < len; i++) {
- elms[i].className += ' x-hover';
+ elemArray[i].className += ' x-hover';
}
}
More information about the commits
mailing list