зеркало из https://github.com/mozilla/gecko-dev.git
85 строки
1.6 KiB
JavaScript
85 строки
1.6 KiB
JavaScript
/* eslint-env worker */
|
|
|
|
onmessage = function(event) {
|
|
if (event.data != 0) {
|
|
var worker = new Worker("jsm_url_worker.js");
|
|
worker.onmessage = function(ev) {
|
|
postMessage(ev.data);
|
|
};
|
|
|
|
worker.postMessage(event.data - 1);
|
|
return;
|
|
}
|
|
|
|
let status = false;
|
|
try {
|
|
if (URL instanceof Object) {
|
|
status = true;
|
|
}
|
|
} catch (e) {}
|
|
|
|
postMessage({ type: "status", status, msg: "URL object:" + URL });
|
|
|
|
status = false;
|
|
var blob = null;
|
|
try {
|
|
blob = new Blob([]);
|
|
status = true;
|
|
} catch (e) {}
|
|
|
|
postMessage({ type: "status", status, msg: "Blob:" + blob });
|
|
|
|
status = false;
|
|
var url = null;
|
|
try {
|
|
url = URL.createObjectURL(blob);
|
|
status = true;
|
|
} catch (e) {}
|
|
|
|
postMessage({ type: "status", status, msg: "Blob URL:" + url });
|
|
|
|
status = false;
|
|
try {
|
|
URL.revokeObjectURL(url);
|
|
status = true;
|
|
} catch (e) {}
|
|
|
|
postMessage({ type: "status", status, msg: "Blob Revoke URL" });
|
|
|
|
status = false;
|
|
url = null;
|
|
try {
|
|
url = URL.createObjectURL(true);
|
|
} catch (e) {
|
|
status = true;
|
|
}
|
|
|
|
postMessage({
|
|
type: "status",
|
|
status,
|
|
msg: "CreateObjectURL should fail if the arg is not a blob",
|
|
});
|
|
|
|
status = false;
|
|
url = null;
|
|
try {
|
|
url = URL.createObjectURL(blob);
|
|
status = true;
|
|
} catch (e) {}
|
|
|
|
postMessage({ type: "status", status, msg: "Blob URL2:" + url });
|
|
|
|
status = false;
|
|
try {
|
|
URL.createObjectURL({});
|
|
} catch (e) {
|
|
status = true;
|
|
}
|
|
|
|
postMessage({ type: "status", status, msg: "Exception wanted" });
|
|
|
|
postMessage({ type: "url", url });
|
|
|
|
postMessage({ type: "finish" });
|
|
};
|