aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/infrastructure/ace/www/linestylefilter.js
diff options
context:
space:
mode:
authorEgil Moeller <egil.moller@freecode.no>2010-03-12 21:31:50 +0100
committerEgil Moeller <egil.moller@freecode.no>2010-03-12 21:31:50 +0100
commite59ca3a22a5be5dea265e58b67f93973b60f7ed9 (patch)
tree202ef5d7060f50f95a4bb32dfa24f1e8df075077 /trunk/infrastructure/ace/www/linestylefilter.js
parentfaae6d36cc92aae7c040146edb8471fa8e8c6a75 (diff)
downloadetherpad-e59ca3a22a5be5dea265e58b67f93973b60f7ed9.tar.gz
etherpad-e59ca3a22a5be5dea265e58b67f93973b60f7ed9.tar.xz
etherpad-e59ca3a22a5be5dea265e58b67f93973b60f7ed9.zip
Cleaned up the taglinking code a bit
Diffstat (limited to '')
-rw-r--r--trunk/infrastructure/ace/www/linestylefilter.js17
1 files changed, 14 insertions, 3 deletions
diff --git a/trunk/infrastructure/ace/www/linestylefilter.js b/trunk/infrastructure/ace/www/linestylefilter.js
index 8c7c396..f0f1343 100644
--- a/trunk/infrastructure/ace/www/linestylefilter.js
+++ b/trunk/infrastructure/ace/www/linestylefilter.js
@@ -275,6 +275,19 @@ linestylefilter.textAndClassFuncSplitter = function(func, splitPointsOpt) {
return spanHandler;
};
+linestylefilter.getFilterStack = function(lineText, textAndClassFunc, browser) {
+ var func = linestylefilter.getURLFilter(lineText, textAndClassFunc);
+ func = linestylefilter.getPadTagFilter(lineText, func);
+ if (browser !== undefined && browser.msie) {
+ // IE7+ will take an e-mail address like <foo@bar.com> and linkify it to foo@bar.com.
+ // We then normalize it back to text with no angle brackets. It's weird. So always
+ // break spans at an "at" sign.
+ func = linestylefilter.getAtSignSplitterFilter(
+ lineText, func);
+ }
+ return func;
+};
+
// domLineObj is like that returned by domline.createDomLine
linestylefilter.populateDomLine = function(textLine, aline, apool,
domLineObj) {
@@ -288,9 +301,7 @@ linestylefilter.populateDomLine = function(textLine, aline, apool,
domLineObj.appendSpan(tokenText, tokenClass);
}
- var func = textAndClassFunc;
- func = linestylefilter.getURLFilter(text, func);
- func = linestylefilter.getPadTagFilter(text, func);
+ var func = linestylefilter.getFilterStack(text, textAndClassFunc);
func = linestylefilter.getLineStyleFilter(text.length, aline,
func, apool);
func(text, '');