зеркало из https://github.com/mozilla/gecko-dev.git
55 строки
1.3 KiB
HTML
55 строки
1.3 KiB
HTML
<!--
|
|
Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
|
-->
|
|
<!DOCTYPE HTML>
|
|
<html>
|
|
<body>
|
|
<script type="text/javascript">
|
|
var worker;
|
|
|
|
function start(workerCount, messageCallback) {
|
|
var seenWindowError;
|
|
window.onerror = function(message, filename, lineno) {
|
|
if (!seenWindowError) {
|
|
seenWindowError = true;
|
|
messageCallback({
|
|
type: "window",
|
|
data: { message: message, filename: filename, lineno: lineno }
|
|
});
|
|
return true;
|
|
}
|
|
};
|
|
|
|
worker = new Worker("errorPropagation_worker.js");
|
|
|
|
worker.onmessage = function(event) {
|
|
messageCallback(event.data);
|
|
};
|
|
|
|
var seenWorkerError;
|
|
worker.onerror = function(event) {
|
|
if (!seenWorkerError) {
|
|
seenWorkerError = true;
|
|
messageCallback({
|
|
type: "worker",
|
|
data: {
|
|
message: event.message,
|
|
filename: event.filename,
|
|
lineno: event.lineno
|
|
}
|
|
});
|
|
event.preventDefault();
|
|
}
|
|
};
|
|
|
|
worker.postMessage(workerCount);
|
|
}
|
|
|
|
function stop() {
|
|
worker.terminate();
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|