aboutsummaryrefslogtreecommitdiff
path: root/src/library_browser.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-05-04 17:33:51 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-05-04 17:33:51 -0700
commit3651e7c0c0b1097a4f47275fc151162e309326d0 (patch)
tree5a28f19311e5acbc0501f00f29e0f0ab5e68b3ed /src/library_browser.js
parent5d34069298cf26ecc4e78779a77a7491f8feafe6 (diff)
support for SDL channels and channelFinished
Diffstat (limited to 'src/library_browser.js')
-rw-r--r--src/library_browser.js19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/library_browser.js b/src/library_browser.js
index fd175df5..cb9a40cf 100644
--- a/src/library_browser.js
+++ b/src/library_browser.js
@@ -126,6 +126,15 @@ mergeInto(LibraryManager.library, {
event.mozMovementY ||
event.webkitMovementY ||
0; // delta;
+ },
+
+ getAsyncCall: function(func) {
+ if (!Browser.asyncCalls[func]) {
+ Browser.asyncCalls[func] = function() {
+ FUNCTION_TABLE[func].apply(null, arguments);
+ };
+ }
+ return Browser.asyncCalls[func];
}
},
@@ -169,15 +178,11 @@ mergeInto(LibraryManager.library, {
emscripten_async_call: function(func, millis) {
Module['noExitRuntime'] = true;
- if (!Browser.asyncCalls[func]) {
- Browser.asyncCalls[func] = function() {
- FUNCTION_TABLE[func]();
- };
- }
+ var asyncCall = Browser.getAsyncCall(func);
if (millis >= 0) {
- setTimeout(Browser.asyncCalls[func], millis);
+ setTimeout(asyncCall, millis);
} else {
- Browser.requestAnimationFrame(Browser.asyncCalls[func]);
+ Browser.requestAnimationFrame(asyncCall);
}
}
});