diff -r 705ed7162315 -r 20484deb89cd includes/clientside/tinymce/tiny_mce_src.js --- a/includes/clientside/tinymce/tiny_mce_src.js Thu Jun 26 18:05:42 2008 -0400 +++ b/includes/clientside/tinymce/tiny_mce_src.js Thu Jun 26 20:55:13 2008 -0400 @@ -3,11 +3,11 @@ var tinymce = { majorVersion : '3', - minorVersion : '0.8', - releaseDate : '2008-04-30', + minorVersion : '1.0.1', + releaseDate : '2008-06-18', _init : function() { - var t = this, d = document, w = window, na = navigator, ua = na.userAgent, i, nl, n, base, p; + var t = this, d = document, w = window, na = navigator, ua = na.userAgent, i, nl, n, base, p, v; // Browser checks t.isOpera = w.opera && opera.buildNumber; @@ -32,8 +32,13 @@ // If base element found, add that infront of baseURL nl = d.getElementsByTagName('base'); for (i=0; i 10000) { - w.clearInterval(t); - + function ready() { + if (!o.async || x.readyState == 4 || c++ > 10000) { if (o.success && c < 10000 && x.status == 200) o.success.call(o.success_scope, '' + x.responseText, x, o); else if (o.error) o.error.call(o.error_scope, c > 10000 ? 'TIMED_OUT' : 'GENERAL', x, o); x = null; - } - }, 10); + } else + w.setTimeout(ready, 10); + }; + + // Syncronous request + if (!o.async) + return ready(); + + // Wait for response, onReadyStateChange can not be used since it leaks memory in IE + t = w.setTimeout(ready, 10); } } @@ -1065,7 +1075,7 @@ } each(na.split(','), function(v) { - if (n.nodeType == 1 && ((se.strict && n.nodeName.toUpperCase() == v) || n.nodeName == v)) { + if (n.nodeType == 1 && ((se.strict && n.nodeName.toUpperCase() == v) || n.nodeName.toUpperCase() == v)) { s = true; return false; // Break loop } @@ -1482,6 +1492,10 @@ } break; + + case "shape": + e.setAttribute('mce_style', v); + break; } if (is(v) && v !== null && v.length !== 0) @@ -1515,7 +1529,7 @@ dv = ""; // Try the mce variant for these - if (/^(src|href|style|coords)$/.test(n)) { + if (/^(src|href|style|coords|shape)$/.test(n)) { v = e.getAttribute("mce_" + n); if (v) @@ -1586,12 +1600,19 @@ break; case 'tabindex': - // IE returns 32768 as default value + // IE returns default value if (v === 32768) v = ''; break; + case 'maxlength': + // IE returns default value + if (v === 2147483647) + v = ''; + + break; + case 'shape': v = v.toLowerCase(); break; @@ -1702,10 +1723,13 @@ delete o[c]; }; + st = st.replace(/&(#?[a-z0-9]+);/g, '&$1_MCE_SEMI_'); // Protect entities + each(st.split(';'), function(v) { var sv, ur = []; if (v) { + v = v.replace(/_MCE_SEMI_/g, ';'); // Restore entities v = v.replace(/url\([^\)]+\)/g, function(v) {ur.push(v);return 'url(' + ur.length + ')';}); v = v.split(':'); sv = tinymce.trim(v[1]); @@ -1717,7 +1741,7 @@ if (s.url_converter) { sv = sv.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g, function(x, c) { - return 'url(' + t.encode(s.url_converter.call(s.url_converter_scope || t, t.decode(c), 'style', null)) + ')'; + return 'url(' + s.url_converter.call(s.url_converter_scope || t, t.decode(c), 'style', null) + ')'; }); } @@ -1747,6 +1771,9 @@ each(o, function(v, k) { if (k && v) { + if (tinymce.isGecko && k.indexOf('-moz-') === 0) + return; + switch (k) { case 'color': case 'background-color': @@ -1975,16 +2002,43 @@ // Store away src and href in mce_src and mce_href since browsers mess them up if (s.keep_values) { - // Wrap scripts in comments for serialization purposes - if (h.indexOf('/g, '