cleanup worker basics

This commit is contained in:
Fabian Jakobs 2011-01-18 09:01:22 +01:00
commit d2b141b68e
4 changed files with 12 additions and 27 deletions

View file

@ -68,7 +68,7 @@ exports.launch = function(env) {
docs.js.setUndoManager(new UndoManager()); docs.js.setUndoManager(new UndoManager());
var worker = new WorkerClient("../..", ["ace", "pilot"], "ace/worker/demo", "Demo"); var worker = new WorkerClient("../..", ["ace", "pilot"], "ace/worker/demo", "Demo");
worker.send("juhu");
docs.css = new Document(document.getElementById("csstext").innerHTML); docs.css = new Document(document.getElementById("csstext").innerHTML);
docs.css.setMode(new CssMode()); docs.css.setMode(new CssMode());

View file

@ -1,9 +1,9 @@
define(function(require, exports, module) { define(function(require, exports, module) {
exports.Demo = function(sender) { var Demo = exports.Demo = function(sender) {
this.sender = sender; this.sender = sender;
} };
(function() { (function() {
@ -11,6 +11,6 @@ exports.Demo = function(sender) {
console.log("JUHU") console.log("JUHU")
} }
}).call(exports.Demot.prototype); }).call(Demo.prototype);
}); });

View file

@ -11,31 +11,24 @@ define(function(require, exports, module) {
var oop = require("pilot/oop"); var oop = require("pilot/oop");
var EventEmitter = require("pilot/event_emitter").EventEmitter; var EventEmitter = require("pilot/event_emitter").EventEmitter;
var WorkerClient = function(baseUrl, topLevelNamespaces, module, clazz) { var WorkerClient = function(baseUrl, topLevelNamespaces, module, classname) {
this.callbacks = [];
var workerUrl = require.nameToUrl("ace/worker/host", null, "_"); var workerUrl = require.nameToUrl("ace/worker/host", null, "_");
var worker = this.$worker = new Worker(workerUrl); var worker = this.$worker = new Worker(workerUrl);
//context = s.contexts[contextName],
//config = context.config;
//debugger;
console.log(require.nameToUrl("ace", null, "_"))
console.log(require.nameToUrl("pilot", null, "_"))
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$/, "").replace(require.config.baseUrl, ""); tlns[ns] = require.nameToUrl(ns, null, "_").replace(/.js$/, "").replace(require.config.baseUrl, "");
} }
console.log(tlns)
this.$worker.postMessage({ this.$worker.postMessage({
init : true, init : true,
tlns: tlns, tlns: tlns,
base: baseUrl, base: baseUrl,
module: module, module: module,
clazz: clazz classname: classname
}); });
this.callbackId = 1; this.callbackId = 1;
@ -47,7 +40,6 @@ var WorkerClient = function(baseUrl, topLevelNamespaces, module, clazz) {
}; };
this.$worker.onmessage = function(e) { this.$worker.onmessage = function(e) {
var msg = e.data; var msg = e.data;
//console.log("rec", msg)
switch(msg.type) { switch(msg.type) {
case "log": case "log":
console.log(msg.data); console.log(msg.data);

View file

@ -15,13 +15,9 @@ var require = function(name) {
var chunks = name.split("/"); var chunks = name.split("/");
chunks[0] = require.tlns[chunks[0]] || chunks[0]; chunks[0] = require.tlns[chunks[0]] || chunks[0];
name = chunks.join("/") path = require.baseUrl + "/" + chunks.join("/") + ".js"
console.log(name) importScripts(path);
console.log(require.baseUrl)
console.log(require.baseUrl + "/" + name + ".js");
importScripts(require.baseUrl + "/" + name + ".js");
return require.modules[name].exports; return require.modules[name].exports;
}; };
require.modules = {}; require.modules = {};
@ -50,9 +46,7 @@ function initSender() {
var EventEmitter = require("pilot/event_emitter").EventEmitter; var EventEmitter = require("pilot/event_emitter").EventEmitter;
var oop = require("pilot/oop"); var oop = require("pilot/oop");
console.log("init sender") var Sender = function() {};
var Sender = function() {}
(function() { (function() {
@ -82,11 +76,10 @@ var main;
var sender; var sender;
onmessage = function(e) { onmessage = function(e) {
console.log(e.data)
var msg = e.data; var msg = e.data;
if (msg.command) if (msg.command)
bgtokenizer[msg.command].apply(bgtokenizer, msg.args); main[msg.command].apply(main, msg.args);
else if (msg.init) { else if (msg.init) {
initBaseUrls(msg.base, msg.tlns); initBaseUrls(msg.base, msg.tlns);
sender = initSender(); sender = initSender();
var clazz = require(msg.module)[msg.classname]; var clazz = require(msg.module)[msg.classname];