forked from mirrors/gecko-dev
Differential Revision: https://phabricator.services.mozilla.com/D22737 --HG-- extra : moz-landing-system : lando
93 lines
1.9 KiB
JavaScript
93 lines
1.9 KiB
JavaScript
/* eslint-env worker */
|
|
|
|
onmessage = function(event) {
|
|
if (event.data != 0) {
|
|
var worker = new Worker("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;
|
|
let 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});
|
|
postMessage({type: "url", url});
|
|
|
|
status = false;
|
|
try {
|
|
URL.createObjectURL({});
|
|
} catch (e) {
|
|
status = true;
|
|
}
|
|
|
|
postMessage({type: "status", status, msg: "Exception wanted" });
|
|
|
|
blob = new Blob([123]);
|
|
var uri = URL.createObjectURL(blob);
|
|
postMessage({type: "status", status: !!uri,
|
|
msg: "The URI has been generated from the blob"});
|
|
|
|
var u = new URL(uri);
|
|
postMessage({type: "status", status: u.origin == "http://mochi.test:8888",
|
|
msg: "The URL generated from a blob URI has an origin."});
|
|
|
|
postMessage({type: "finish" });
|
|
};
|