aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/proxyClient.js8
-rw-r--r--src/proxyWorker.js13
2 files changed, 20 insertions, 1 deletions
diff --git a/src/proxyClient.js b/src/proxyClient.js
index f102ed86..bbf3e278 100644
--- a/src/proxyClient.js
+++ b/src/proxyClient.js
@@ -8,6 +8,14 @@ var worker = new Worker('{{{ filename }}}.js');
worker.onmessage = function(event) {
var data = event.data;
switch (data.target) {
+ case 'stdout': {
+ Module.print(data.content);
+ break;
+ }
+ case 'stderr': {
+ Module.printErr(data.content);
+ break;
+ }
case 'window': {
window[data.method]();
break;
diff --git a/src/proxyWorker.js b/src/proxyWorker.js
index b9f71614..29259552 100644
--- a/src/proxyWorker.js
+++ b/src/proxyWorker.js
@@ -8,7 +8,9 @@ function EventListener() {
};
};
-var window = new EventListener();
+var window = this;
+var windowExtra = new EventListener();
+for (var x in windowExtra) window[x] = windowExtra[x];
window.close = function() {
postMessage({ target: 'window', method: 'close' });
@@ -58,3 +60,12 @@ document.createElement = function(what) {
Module.canvas = document.createElement('canvas');
+Module.setStatus = function(){};
+
+Module.print = function(x) {
+ postMessage({ target: 'stdout', content: x });
+};
+Module.printErr = function(x) {
+ postMessage({ target: 'stderr', content: x });
+};
+