mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 16:58:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
82
dom/workers/test/importScripts_3rdParty_worker.js
Normal file
82
dom/workers/test/importScripts_3rdParty_worker.js
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
const workerURL = 'http://mochi.test:8888/tests/dom/workers/test/importScripts_3rdParty_worker.js';
|
||||
|
||||
onmessage = function(a) {
|
||||
if (a.data.nested) {
|
||||
var worker = new Worker(workerURL);
|
||||
worker.onmessage = function(event) {
|
||||
postMessage(event.data);
|
||||
}
|
||||
|
||||
worker.onerror = function(event) {
|
||||
event.preventDefault();
|
||||
postMessage({ error: event instanceof ErrorEvent &&
|
||||
event.filename == workerURL });
|
||||
}
|
||||
|
||||
a.data.nested = false;
|
||||
worker.postMessage(a.data);
|
||||
return;
|
||||
}
|
||||
|
||||
// This first URL will use the same origin of this script.
|
||||
var sameOriginURL = new URL(a.data.url);
|
||||
var fileName1 = 42;
|
||||
|
||||
// This is cross-origin URL.
|
||||
var crossOriginURL = new URL(a.data.url);
|
||||
crossOriginURL.host = 'example.com';
|
||||
crossOriginURL.port = 80;
|
||||
var fileName2 = 42;
|
||||
|
||||
if (a.data.test == 'none') {
|
||||
importScripts(crossOriginURL.href);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
importScripts(sameOriginURL.href);
|
||||
} catch(e) {
|
||||
if (!(e instanceof SyntaxError)) {
|
||||
postMessage({ result: false });
|
||||
return;
|
||||
}
|
||||
|
||||
fileName1 = e.fileName;
|
||||
}
|
||||
|
||||
if (fileName1 != sameOriginURL.href || !fileName1) {
|
||||
postMessage({ result: false });
|
||||
return;
|
||||
}
|
||||
|
||||
if (a.data.test == 'try') {
|
||||
var exception;
|
||||
try {
|
||||
importScripts(crossOriginURL.href);
|
||||
} catch(e) {
|
||||
fileName2 = e.filename;
|
||||
exception = e;
|
||||
}
|
||||
|
||||
postMessage({ result: fileName2 == workerURL &&
|
||||
exception.name == "NetworkError" &&
|
||||
exception.code == DOMException.NETWORK_ERR });
|
||||
return;
|
||||
}
|
||||
|
||||
if (a.data.test == 'eventListener') {
|
||||
addEventListener("error", function(event) {
|
||||
event.preventDefault();
|
||||
postMessage({result: event instanceof ErrorEvent &&
|
||||
event.filename == workerURL });
|
||||
});
|
||||
}
|
||||
|
||||
if (a.data.test == 'onerror') {
|
||||
onerror = function(...args) {
|
||||
postMessage({result: args[1] == workerURL });
|
||||
}
|
||||
}
|
||||
|
||||
importScripts(crossOriginURL.href);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue