mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-09-19 11:40:21 +02:00
101 lines
2.2 KiB
HTML
101 lines
2.2 KiB
HTML
|
<html>
|
||
|
<head>
|
||
|
<title>Type Explorer</title>
|
||
|
</head>
|
||
|
<body>
|
||
|
<h3><center>Type Explorer</center></h3>
|
||
|
|
||
|
<script>
|
||
|
|
||
|
function selectedInterface(event) {
|
||
|
var index = event.target.selectedIndex;
|
||
|
if(0 == index)
|
||
|
return;
|
||
|
var text = event.target.options[index].text;
|
||
|
writeContent(Components.interfaces[text].number);
|
||
|
}
|
||
|
|
||
|
function enteredID() {
|
||
|
var text = document.getElementById("id_input").value;
|
||
|
|
||
|
var iface = Components.interfaces[text];
|
||
|
if(iface) {
|
||
|
writeContent(iface.number);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||
|
try {
|
||
|
var id = Components.ID(text);
|
||
|
if(id) {
|
||
|
writeContent(id);
|
||
|
return;
|
||
|
}
|
||
|
} catch(e) {
|
||
|
}
|
||
|
|
||
|
alert("No interface with that name or iid found");
|
||
|
}
|
||
|
|
||
|
function writeContent(id) {
|
||
|
var text;
|
||
|
var success = true;
|
||
|
try {
|
||
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||
|
const IDL_GENERATOR =
|
||
|
new Components.Constructor("@mozilla.org/interfaceinfotoidl;1",
|
||
|
"nsIInterfaceInfoToIDL");
|
||
|
var gen = new IDL_GENERATOR();
|
||
|
text = gen.generateIDL(Components.ID(id), true, true);
|
||
|
} catch(e) {
|
||
|
text = e;
|
||
|
success = false;
|
||
|
}
|
||
|
var out = document.getElementById("out").contentDocument;
|
||
|
out.open();
|
||
|
if(success)
|
||
|
out.write("<pre>");
|
||
|
out.write(text);
|
||
|
if(success)
|
||
|
out.write("</pre>");
|
||
|
out.close();
|
||
|
return 0;
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<form>
|
||
|
Choose interface:<br>
|
||
|
<select id="iface_list" onchange="selectedInterface(event);">
|
||
|
<option>{choose}</option>
|
||
|
</select>
|
||
|
<br>Or enter name or iid:<br>
|
||
|
<input type=text id="id_input" size=50 value=""></input>
|
||
|
<input type=button value="Go" onclick="enteredID()"></input>
|
||
|
</form>
|
||
|
|
||
|
|
||
|
<script>
|
||
|
var iface_list = document.getElementById("iface_list");
|
||
|
var names = [];
|
||
|
|
||
|
for(var n in Components.interfaces)
|
||
|
names.push(n);
|
||
|
|
||
|
names.sort();
|
||
|
|
||
|
for(var i = 0; i < names.length; i++)
|
||
|
iface_list.add(new Option(names[i]), null);
|
||
|
|
||
|
</script>
|
||
|
|
||
|
|
||
|
<hr>
|
||
|
<div>
|
||
|
<iframe id="out" height="70%" width="100%">
|
||
|
|
||
|
</iframe>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|