mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
09834cc4d8
This isn't something we actually support, and were using enablePrivilege to do it before. When we switch this to SpecialPowers wrapping, the sender origin becomes a chrome URL (not very interesting) and the source window becomes null (which we do explicitly in nsGlobalWindow for chrome callers). So those tests stop being useful.
50 lines
1.2 KiB
HTML
50 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>postMessage chrome message receiver</title>
|
|
<script type="application/javascript">
|
|
var gPrePath = "";
|
|
|
|
function receiveMessage(evt)
|
|
{
|
|
if (evt.data.substring(0,9) == "chrome://") {
|
|
gPrePath = evt.data;
|
|
respond("path-is-set");
|
|
} else {
|
|
// Content cannot post to chrome without privileges
|
|
try {
|
|
window.parent.postMessage("SHOULD NOT GET THIS!", "*");
|
|
}
|
|
catch (ex) {
|
|
}
|
|
|
|
var msg = "post-to-content-response";
|
|
|
|
if (evt.source !== null)
|
|
msg += " wrong-source(" + evt.source + ")";
|
|
if (!evt.isTrusted)
|
|
msg += " unexpected-untrusted-event";
|
|
if (evt.type !== "message")
|
|
msg += " wrong-type(" + evt.type + ")";
|
|
if (evt.origin !== gPrePath)
|
|
msg += " wrong-origin(" + evt.origin + ")";
|
|
if (evt.data !== "post-to-content")
|
|
msg += " wrong-message(" + evt.data + ")";
|
|
|
|
respond(msg);
|
|
}
|
|
}
|
|
|
|
function respond(msg)
|
|
{
|
|
SpecialPowers.wrap(window).parent.postMessage(msg, "*");
|
|
}
|
|
|
|
window.addEventListener("message", receiveMessage, false);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h1 id="domain">example.org</h1>
|
|
</body>
|
|
</html>
|