mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 22:55:23 +00:00
303 lines
10 KiB
Plaintext
303 lines
10 KiB
Plaintext
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
<html>
|
|
<title> Component List </title>
|
|
<!-- Descrpt: Component List Test
|
|
Author: dsirnapalli@netscape.com
|
|
Revs: 10.12.01 - Created
|
|
|
|
- The contents of this file are subject to the Mozilla Public
|
|
- License Version 1.1 (the "License"); you may not use this file
|
|
- except in compliance with the License. You may obtain a copy of
|
|
- the License at http://www.mozilla.org/MPL/
|
|
-
|
|
- Software distributed under the License is distributed on an "AS
|
|
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
- implied. See the License for the specific language governing
|
|
- rights and limitations under the License.
|
|
-
|
|
- The Original Code is Mozilla Communicator Test Cases.
|
|
-
|
|
- The Initial Developer of the Original Code is Netscape Communications
|
|
- Corp. Portions created by Netscape Communications Corp. are
|
|
- Copyright (C) 1999 Netscape Communications Corp. All
|
|
- Rights Reserved.
|
|
-
|
|
- Contributor(s):
|
|
-->
|
|
<head>
|
|
|
|
<!-- script below is ngdriverspecific -->
|
|
<script TYPE="text/javascript" SRC="http://bubblegum/ngdriver/suites/testlib.js">
|
|
</script>
|
|
|
|
<script TYPE="text/javascript">
|
|
function getBrowserVersion()
|
|
{
|
|
var res = "";
|
|
res = res + '<b><h3><font color="#CC6600"> Browser Info </font></h3></b>' + '\n';
|
|
res = res + '<table BORDER COLS=2 WIDTH="70%">' + '\n';
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td WIDTH="30%"><b> App Name: </b></td>' + '\n';
|
|
res = res + ' <td>' + navigator.appName + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td><b> User Agent: </b></td>' + '\n';
|
|
res = res + ' <td>' + navigator.userAgent + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td><b> Code Name:: </b></td>' + '\n';
|
|
res = res + ' <td>' + navigator.appCodeName + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td><b> App Version: </b></td>' + '\n';
|
|
res = res + ' <td>' + navigator.appVersion + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td><b> Language: </b></td>' + '\n';
|
|
res = res + ' <td>' + navigator.language + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td><b> Platform: </b></td>' + '\n';
|
|
res = res + ' <td>' + navigator.platform + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
res = res + '</table>' + '\n';
|
|
return res;
|
|
}
|
|
</script>
|
|
|
|
<script TYPE="text/javascript">
|
|
function getShortPluginsList()
|
|
{
|
|
var res="";
|
|
|
|
navigator.plugins.refresh(false);
|
|
var numPlugins = navigator.plugins.length;
|
|
|
|
res = res + '<b><h3><font color="#CC6600"> Plugins </font></h3></b>' + '\n';
|
|
res = res + 'For Complete description of Plugins ';
|
|
res = res + '<a href="plugins.html">Click here</a>';
|
|
res = res + '<br><br>';
|
|
res = res + '<table BORDER COLS=1 WIDTH="30%">' + '\n';
|
|
if(numPlugins > 0)
|
|
res = res + '<caption><b><h3> Installed plug-ins </h3></b></caption>' + '\n';
|
|
else
|
|
{
|
|
res = res + '<caption><b><h3> No plug-ins are installed. </h3></b></caption>' + '\n';
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td> Empty </td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
}
|
|
for (var i=0;i<numPlugins;i++)
|
|
{
|
|
var plugin = navigator.plugins[i];
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td>' + plugin.name + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
}
|
|
res = res + '</table>' + '\n';
|
|
return res;
|
|
}
|
|
</script>
|
|
|
|
<script TYPE="text/javascript">
|
|
complist = new Array();
|
|
noncomplist = new Array();
|
|
i = 0;
|
|
j = 0;
|
|
|
|
function getComponentList()
|
|
{
|
|
var servicecontractidlist = new Array("@mozilla.org/cookieService;1",
|
|
"@mozilla.org/file/directory_service;1",
|
|
"@mozilla.org/browser/global-history;1",
|
|
"@mozilla.org/preferences-service;1",
|
|
"@mozilla.org/embedcomp/window-watcher;1",
|
|
"@mozilla.org/embedcomp/prompt-service;1");
|
|
|
|
var serviceinterfacelist = new Array("nsICookieService",
|
|
"nsIDirectoryService",
|
|
"nsIGlobalHistory",
|
|
"nsIPrefService",
|
|
"nsIWindowWatcher",
|
|
"nsIPromptService");
|
|
|
|
var contractidlist = new Array("@mozilla.org/network/standard-url;1",
|
|
"@mozilla.org/network/standard-url;1",
|
|
"@mozilla.org/browser/shistory;1",
|
|
"@mozilla.org/helperapplauncherdialog;1",
|
|
"@mozilla.org/file/local;1",
|
|
"@mozilla.org/xpcom/observer;1",
|
|
"@mozilla.org/preferences-service;1",
|
|
"@mozilla.org/gfx/fontlist;1");
|
|
|
|
var interfacelist = new Array("nsIURI",
|
|
"nsIURL",
|
|
"nsISHistory",
|
|
"nsIHelperAppLauncherDialog",
|
|
"nsILocalFile",
|
|
"nsIObserver",
|
|
"nsIPrefBranch",
|
|
"nsIFontList");
|
|
|
|
for (var m=0; m<serviceinterfacelist.length; m++)
|
|
checkservice(servicecontractidlist[m], serviceinterfacelist[m]);
|
|
|
|
for (var n=0; n<interfacelist.length; n++)
|
|
checkinterface(contractidlist[n], interfacelist[n]);
|
|
}
|
|
|
|
function getAdditionalComponentList()
|
|
{
|
|
// additional interface objects which cannot be got directly.
|
|
try{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
var domWindow = window.QueryInterface(Components.interfaces.nsIDOMWindow);
|
|
if (domWindow)
|
|
complist[i++] = "nsIDOMWindow";
|
|
}
|
|
catch(e){
|
|
noncomplist[j++] = "nsIDOMWindow";
|
|
}
|
|
try
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
var charsetObj = domWindow.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
|
|
.getInterface(Components.interfaces.nsIDocCharset);
|
|
if (charsetObj)
|
|
complist[i++] = "nsIDocCharset";
|
|
}
|
|
catch(e){
|
|
noncomplist[j++] = "nsIDocCharset";
|
|
}
|
|
}
|
|
|
|
function checkservice(contractid, interfacename)
|
|
{
|
|
try{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
var iID = Components.interfaces[interfacename];
|
|
var obj = Components.classes[contractid].getService(iID);
|
|
if (obj)
|
|
complist[i++] = interfacename;
|
|
}
|
|
catch(e){
|
|
noncomplist[j++] = interfacename;
|
|
}
|
|
}
|
|
|
|
function checkinterface(contractid, interfacename)
|
|
{
|
|
try{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
var iID = Components.interfaces[interfacename];
|
|
var obj = Components.classes[contractid].createInstance(iID);
|
|
if (obj)
|
|
complist[i++] = interfacename;
|
|
}
|
|
catch(e){
|
|
noncomplist[j++] = interfacename;
|
|
}
|
|
}
|
|
|
|
function getComponentResults()
|
|
{
|
|
var res = "";
|
|
|
|
res = res + '<b><h3><font color="#CC6600"> Embedding Components </font></h3></b>' + '\n';
|
|
res = res + '<table BORDER COLS=1 WIDTH="30%">' + '\n';
|
|
res = res + '<caption><b><h3> Components Available </h3></b></caption>' + '\n';
|
|
for (var i=0; i<complist.length; i++)
|
|
{
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td>' + complist[i] + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
}
|
|
if(complist.length == 0)
|
|
{
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td> Empty </td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
}
|
|
res = res + '</table>' + '\n';
|
|
|
|
res = res + '<br>' + '\n';
|
|
res = res + '<table BORDER COLS=1 WIDTH="30%">' + '\n';
|
|
res = res + '<caption><b><h3> Components Not Available </h3></b></caption>' + '\n';
|
|
for (var j=0; j<noncomplist.length; j++)
|
|
{
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td>' + noncomplist[j] + '</td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
}
|
|
if(noncomplist.length == 0)
|
|
{
|
|
res = res + ' <tr>' + '\n';
|
|
res = res + ' <td> Empty </td>' + '\n';
|
|
res = res + ' </tr>' + '\n';
|
|
}
|
|
res = res + '</table>' + '\n';
|
|
return res;
|
|
}
|
|
</script>
|
|
|
|
<script TYPE="text/javascript">
|
|
function displayResults(results)
|
|
{
|
|
document.results.textarea.value = results;
|
|
if (top.name == "testWindow")
|
|
{
|
|
fixSubmit();
|
|
}
|
|
else
|
|
{
|
|
document.write(document.results.textarea.value);
|
|
}
|
|
}
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<!-- form below is ngdriverspecific -->
|
|
<form name="results" action="/ngdriver/cgi-bin/writeresults.cgi" method="post">
|
|
<script TYPE="text/javascript">
|
|
document.write('<input name="resultsfile" type="hidden" value="' + window.opener.document.resultsform.resultsfile.value + '">');
|
|
</script>
|
|
<input type="hidden" name="textarea">
|
|
</form>
|
|
|
|
<script TYPE="text/javascript">
|
|
var result = "";
|
|
|
|
result = result + "<font color='#CC6600'> NOTE: </font>" + "<br>";
|
|
result = result + "For the Test Case to run correctly include the following line into your prefs.js file." + "<br>";
|
|
result = result + 'user_pref("signed.applets.codebase_principal_support", true);' + "<br>";
|
|
result = result + 'prefs.js can be found at' + '<br>';
|
|
result = result + 'WINNT:C:\\WINNT\\Profiles\\profileyouareusing\\Application Data\\MfcEmbed\\Profiles\\default\\somefolder.slt\\prefs.js' + '<br>';
|
|
result = result + 'WIN98:C:\\WINDOWS\\Application Data\\MfcEmbed\\Profiles\\default\\somefolder.slt\\prefs.js' + '<br>';
|
|
result = result + '<br><hr ALIGN=LEFT SIZE=5 NOSHADE WIDTH="80%">' + '\n';
|
|
|
|
browserres = getBrowserVersion();
|
|
result = result + browserres;
|
|
result = result + '<br><hr ALIGN=LEFT SIZE=5 NOSHADE WIDTH="80%">' + '\n';
|
|
pluginres = getShortPluginsList();
|
|
result = result + pluginres;
|
|
result = result + '<br><hr ALIGN=LEFT SIZE=5 NOSHADE WIDTH="80%">' + '\n';
|
|
getComponentList();
|
|
getAdditionalComponentList();
|
|
componentres = getComponentResults();
|
|
result = result + componentres;
|
|
result = result + '<br><hr ALIGN=LEFT SIZE=5 NOSHADE WIDTH="80%">' + '\n';
|
|
displayResults(result);
|
|
</script>
|
|
|
|
</body>
|
|
</html> |