Index: tests/prebuilt/x86/OldAbiVersion/nacl_js_lib.js |
=================================================================== |
--- tests/prebuilt/x86/OldAbiVersion/nacl_js_lib.js (revision 4988) |
+++ tests/prebuilt/x86/OldAbiVersion/nacl_js_lib.js (working copy) |
@@ -1,149 +0,0 @@ |
-// JavaScript Library for Nacl Tests and Demos |
- |
-function NaclLib(embed_name, status_id, num_retries) { |
- this.embed_name_ = embed_name; |
- this.statusfield_ = document.getElementById(status_id); |
- this.status_ = "WAIT"; |
- this.message_ = ""; |
- this.handler_ = null; |
- this.retries_ = num_retries; |
-}; |
- |
- |
-NaclLib.prototype.getStatus = function() { |
- return this.status_; |
-}; |
- |
- |
-NaclLib.prototype.getMessage = function() { |
- return this.message_; |
-}; |
- |
- |
-NaclLib.prototype.cleanUp = function() { |
- if (this.handler_) { |
- clearInterval(this._handler); |
- this.handler_ = null; |
- } |
-}; |
- |
- |
-NaclLib.prototype.setStatus = function() { |
- this.statusfield_.innerHTML = |
- this.status_ + ": " + this.message_; |
-}; |
- |
- |
-NaclLib.prototype.setStatusWait = function(message) { |
- this.status_ = "WAIT"; |
- this.message_ = "" + this.retries_ + " " + message; |
- this.setStatus() |
-}; |
- |
- |
-NaclLib.prototype.setStatusError = function(message) { |
- this.status_ = "ERROR"; |
- this.message_ = message; |
- this.setStatus() |
-}; |
- |
- |
-NaclLib.prototype.setStatusSuccess = function(message) { |
- this.status_ = "SUCCESS"; |
- this.message_ = message; |
- this.setStatus() |
-}; |
- |
- |
-NaclLib.prototype.numModulesReady = function(modules) { |
- var count = 0; |
- for (var i = 0; i < modules.length; i++) { |
- if (modules[i].__moduleReady == 1) { |
- count += 1; |
- } |
- } |
- return count; |
-}; |
- |
- |
-NaclLib.prototype.areTherePluginProblems = function(modules) { |
- for (var i = 0; i < modules.length; i++) { |
- if (modules[i].__moduleReady == undefined) return 1; |
- } |
- return 0; |
-}; |
- |
- |
-NaclLib.prototype.checkModuleReadiness = function() { |
- // Work around bug that does not disable the handler. |
- if (!this.handler_) |
- return; |
- |
- if (this.retries_ == 0) { |
- this.cleanUp(); |
- this.setStatusError("The Native Client modules are loading too slowly"); |
- return; |
- } |
- this.retries_ -= 1; |
- |
- // Find all elements with name "this.embed_name_". This should be the list |
- // of all NaCl modules on the page. Note that passing in such a list at |
- // initialization time would sometimes pass the list of scriptable objects |
- // (as desired) but would sometimes pass the list of embed tags, depending |
- // on a start-up race condition. As such, pass the "name" attribute of the |
- // <embed> tags and then gather the list of all of those scriptable objects |
- // each time this method is invoked. |
- var module_list = document.getElementsByName(this.embed_name_); |
- var num_ready = this.numModulesReady(module_list); |
- |
- if (module_list.length == num_ready) { |
- if (this.wait) { |
- var result = this.wait(); |
- if (result) { |
- this.setStatusWait(result); |
- return; |
- } |
- } |
- |
- this.cleanUp(); |
- |
- var result; |
- try { |
- result = this.test(); |
- } catch(e) { |
- this.setStatusError(e); |
- return; |
- } |
- |
- if (result == "") { |
- this.setStatusSuccess(""); |
- } else { |
- this.setStatusError(result); |
- } |
- |
- return; |
- } |
- |
- this.setStatusWait("Loaded " + num_ready + "/" + module_list.length + |
- " modules"); |
- |
- if (this.areTherePluginProblems(module_list)) { |
- this.cleanUp(); |
- this.setStatusError("The Native Client plugin was unable to load"); |
- return; |
- } |
-}; |
- |
- |
-// Workaround for JS inconsistent scoping behavior |
-function wrapperForCheckModuleReadiness(that) { |
- that.checkModuleReadiness(); |
-} |
- |
- |
-NaclLib.prototype.waitForModulesAndRunTests = function() { |
- // avoid regsitering two handlers |
- if (!this.handler_) { |
- this.handler_ = setInterval(wrapperForCheckModuleReadiness, 100, this); |
- } |
-}; |