diff options
Diffstat (limited to 'dom/url/tests/jsm_url_worker.js')
-rw-r--r-- | dom/url/tests/jsm_url_worker.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/dom/url/tests/jsm_url_worker.js b/dom/url/tests/jsm_url_worker.js new file mode 100644 index 000000000..539ace40d --- /dev/null +++ b/dom/url/tests/jsm_url_worker.js @@ -0,0 +1,83 @@ +onmessage = function(event) { + if (event.data != 0) { + var worker = new Worker('jsm_url_worker.js'); + worker.onmessage = function(event) { + postMessage(event.data); + } + + worker.postMessage(event.data - 1); + return; + } + + status = false; + try { + if ((URL instanceof Object)) { + status = true; + } + } catch(e) { + } + + postMessage({type: 'status', status: status, msg: 'URL object:' + URL}); + + status = false; + var blob = null; + try { + blob = new Blob([]); + status = true; + } catch(e) { + } + + postMessage({type: 'status', status: status, msg: 'Blob:' + blob}); + + status = false; + var url = null; + try { + url = URL.createObjectURL(blob); + status = true; + } catch(e) { + } + + postMessage({type: 'status', status: status, msg: 'Blob URL:' + url}); + + status = false; + try { + URL.revokeObjectURL(url); + status = true; + } catch(e) { + } + + postMessage({type: 'status', status: status, msg: 'Blob Revoke URL'}); + + status = false; + var url = null; + try { + url = URL.createObjectURL(true); + } catch(e) { + status = true; + } + + postMessage({type: 'status', status: status, msg: 'CreateObjectURL should fail if the arg is not a blob'}); + + status = false; + var url = null; + try { + url = URL.createObjectURL(blob); + status = true; + } catch(e) { + } + + postMessage({type: 'status', status: status, msg: 'Blob URL2:' + url}); + + status = false; + try { + URL.createObjectURL(new Object()); + } catch(e) { + status = true; + } + + postMessage({type: 'status', status: status, msg: 'Exception wanted' }); + + postMessage({type: 'url', url: url}); + + postMessage({type: 'finish' }); +} |