Make worker_client.$guessBasePath look for ace-uncompressed.js as well

This commit is contained in:
Julian Viereck 2011-02-17 20:07:28 +08:00 • committed by Fabian Jakobs
commit bf33db7e3e

View file

@ -12,9 +12,9 @@ var oop = require("pilot/oop");
var EventEmitter = require("pilot/event_emitter").EventEmitter; var EventEmitter = require("pilot/event_emitter").EventEmitter;
var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) { var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) {
this.callbacks = []; this.callbacks = [];
if (require.packaged) { if (require.packaged) {
var base = this.$guessBasePath(); var base = this.$guessBasePath();
var worker = this.$worker = new Worker(base + packagedJs); var worker = this.$worker = new Worker(base + packagedJs);
@ -22,14 +22,14 @@ var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) {
else { else {
var workerUrl = require.nameToUrl("ace/worker/worker", null, "_"); var workerUrl = require.nameToUrl("ace/worker/worker", null, "_");
var worker = this.$worker = new Worker(workerUrl); var worker = this.$worker = new Worker(workerUrl);
var tlns = {}; var tlns = {};
for (var i=0; i<topLevelNamespaces.length; i++) { for (var i=0; i<topLevelNamespaces.length; i++) {
var ns = topLevelNamespaces[i]; var ns = topLevelNamespaces[i];
tlns[ns] = require.nameToUrl(ns, null, "_").replace(/.js$/, ""); tlns[ns] = require.nameToUrl(ns, null, "_").replace(/.js$/, "");
} }
} }
this.$worker.postMessage({ this.$worker.postMessage({
init : true, init : true,
tlns: tlns, tlns: tlns,
@ -74,9 +74,11 @@ var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) {
this.$guessBasePath = function() { this.$guessBasePath = function() {
var scripts = document.getElementsByTagName("script"); var scripts = document.getElementsByTagName("script");
for (var i=0; i<scripts.length; i++) { for (var i=0; i<scripts.length; i++) {
var m = scripts[i].src.match(/^(.*\/)ace\.js$/); var m = scripts[i].src.
if (m) match(/^(.*\/)ace\.js$|^(.*\/)ace-uncompressed\.js$/);
return m[1]; if (m) {
return m[1] || m[2];
}
} }
return ""; return "";
}; };
@ -98,7 +100,7 @@ var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) {
} }
this.send(cmd, args); this.send(cmd, args);
}; };
this.emit = function(event, data) { this.emit = function(event, data) {
this.$worker.postMessage({event: event, data: data}); this.$worker.postMessage({event: event, data: data});
}; };