mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-19 14:57:32 +09:00
55 lines
1.4 KiB
HTML
55 lines
1.4 KiB
HTML
<!DOCTYPE HTML>
|
|
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
</head>
|
|
<body>
|
|
|
|
<script>
|
|
"use strict";
|
|
|
|
/* globals privilegedFetch, privilegedXHR */
|
|
/* eslint-disable mozilla/balanced-listeners */
|
|
|
|
addEventListener("message", function rcv(event) {
|
|
removeEventListener("message", rcv, false);
|
|
|
|
function assertTrue(condition, description) {
|
|
postMessage({msg: "assertTrue", condition, description}, "*");
|
|
}
|
|
|
|
function passListener() {
|
|
assertTrue(true, "Content XHR has no elevated privileges");
|
|
postMessage({"msg": "finish"}, "*");
|
|
}
|
|
|
|
function failListener() {
|
|
assertTrue(false, "Content XHR has no elevated privileges");
|
|
postMessage({"msg": "finish"}, "*");
|
|
}
|
|
|
|
try {
|
|
new privilegedXHR();
|
|
assertTrue(false, "Content should not have access to privileged XHR constructor");
|
|
} catch (e) {
|
|
assertTrue(/Permission denied to access object/.test(e), "Content should not have access to privileged XHR constructor");
|
|
}
|
|
|
|
try {
|
|
new privilegedFetch();
|
|
assertTrue(false, "Content should not have access to privileged fetch() constructor");
|
|
} catch (e) {
|
|
assertTrue(/Permission denied to access object/.test(e), "Content should not have access to privileged fetch() constructor");
|
|
}
|
|
|
|
let req = new XMLHttpRequest();
|
|
req.addEventListener("load", failListener);
|
|
req.addEventListener("error", passListener);
|
|
req.open("GET", "http://example.org/example.txt");
|
|
req.send();
|
|
}, false);
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|