Merge pull request #2096 from ajaxorg/old-worker

Allow using uiWorker on ie9 where Worker is undefined
This commit is contained in:
Lennart Kats 2014-08-14 11:08:40 +02:00
commit df58b5b710
3 changed files with 11 additions and 10 deletions

View file

@ -107,6 +107,7 @@ exports.edit = function(el) {
event.addListener(window, "resize", env.onResize);
editor.on("destroy", function() {
event.removeListener(window, "resize", env.onResize);
env.editor.container.env = null; // prevent memory leak on old ie
});
editor.container.env = editor.env = env;
return editor;

View file

@ -81,6 +81,10 @@ exports.moduleUrl = function(name, component) {
// todo make this configurable or get rid of '-'
var sep = component == "snippets" ? "/" : "-";
var base = parts[parts.length - 1];
if (component == "worker" && sep == "-") {
var re = new RegExp("^" + component + "[\\-_]|[\\-_]" + component + "$", "g");
base = base.replace(re, "");
}
if ((!base || base == component) && parts.length > 1)
base = parts[parts.length - 2];

View file

@ -966,17 +966,13 @@ var EditSession = function(text, mode) {
};
this.$startWorker = function() {
if (typeof Worker !== "undefined" && !require.noWorker) {
try {
this.$worker = this.$mode.createWorker(this);
} catch (e) {
console.log("Could not load worker");
console.log(e);
this.$worker = null;
}
}
else
try {
this.$worker = this.$mode.createWorker(this);
} catch (e) {
console.log("Could not load worker");
console.log(e);
this.$worker = null;
}
};
/**