зеркало из https://github.com/mozilla/pjs.git
convert viewers from html to xul
This commit is contained in:
Родитель
c0192d9ec2
Коммит
c025442b65
|
@ -0,0 +1,297 @@
|
||||||
|
/* for xpconnect */
|
||||||
|
var cookieviewer =
|
||||||
|
Components.classes
|
||||||
|
["component://netscape/cookieviewer/cookieviewer-world"].createInstance();
|
||||||
|
cookieviewer = cookieviewer.QueryInterface(Components.interfaces.nsICookieViewer);
|
||||||
|
|
||||||
|
function DoGetCookieList()
|
||||||
|
{
|
||||||
|
return cookieviewer.GetCookieValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DoGetPermissionList()
|
||||||
|
{
|
||||||
|
return cookieviewer.GetPermissionValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DoSave(value)
|
||||||
|
{
|
||||||
|
cookieviewer.SetValue(value, window);
|
||||||
|
}
|
||||||
|
/* end of xpconnect stuff */
|
||||||
|
|
||||||
|
index_frame = 0;
|
||||||
|
title_frame = 1;
|
||||||
|
spacer1_frame = 2;
|
||||||
|
list_frame = 3;
|
||||||
|
spacer2_frame = 4;
|
||||||
|
prop_frame = 5;
|
||||||
|
spacer3_frame = 6;
|
||||||
|
button_frame = 7;
|
||||||
|
|
||||||
|
var cookie_mode;
|
||||||
|
var cookieList = [];
|
||||||
|
var permissionList = [];
|
||||||
|
deleted_cookies = new Array;
|
||||||
|
deleted_permissions = new Array;
|
||||||
|
|
||||||
|
function DeleteItemSelected() {
|
||||||
|
if (cookie_mode == 0) {
|
||||||
|
DeleteCookieSelected();
|
||||||
|
} else if (cookie_mode == 1) {
|
||||||
|
DeletePermissionSelected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function DeleteCookieSelected() {
|
||||||
|
selname = top.frames[list_frame].document.fSelectCookie.selname;
|
||||||
|
goneC = top.frames[button_frame].document.buttons.goneC;
|
||||||
|
var p;
|
||||||
|
var i;
|
||||||
|
for (i=selname.options.length; i>0; i--) {
|
||||||
|
if (selname.options[i-1].selected) {
|
||||||
|
selname.options[i-1].selected = 0;
|
||||||
|
goneC.value = goneC.value + selname.options[i-1].value + ",";
|
||||||
|
deleted_cookies[selname.options[i-1].value] = 1;
|
||||||
|
selname.remove(i-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[prop_frame].document.open();
|
||||||
|
top.frames[prop_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DeletePermissionSelected() {
|
||||||
|
selname = top.frames[list_frame].document.fSelectPermission.selname;
|
||||||
|
goneP = top.frames[button_frame].document.buttons.goneP;
|
||||||
|
var p;
|
||||||
|
var i;
|
||||||
|
for (i=selname.options.length; i>0; i--) {
|
||||||
|
if (selname.options[i-1].selected) {
|
||||||
|
selname.options[i-1].selected = 0;
|
||||||
|
goneP.value = goneP.value + selname.options[i-1].value + ",";
|
||||||
|
deleted_permissions[selname.options[i-1].value] = 1;
|
||||||
|
selname.remove(i-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadCookies(){
|
||||||
|
cookie_mode = 0;
|
||||||
|
top.frames[index_frame].document.open();
|
||||||
|
top.frames[index_frame].document.write(
|
||||||
|
"<body bgcolor='#c0c0c0'>" +
|
||||||
|
"<table border='0' width='100%'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#ffffff'>" +
|
||||||
|
"<font size='2' color='#666666'>" +
|
||||||
|
"<b>View stored cookies</b>" +
|
||||||
|
"</font>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadPermissions();' href=''>" +
|
||||||
|
"<font size='2'>View sites that can or cannot store cookies</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[index_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write
|
||||||
|
(" Cookies stored on your system");
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[prop_frame].document.open();
|
||||||
|
top.frames[prop_frame].document.close();
|
||||||
|
|
||||||
|
loadCookiesList();
|
||||||
|
}
|
||||||
|
|
||||||
|
function ViewCookieSelected() {
|
||||||
|
index = 8*(top.frames[list_frame].document.fSelectCookie.selname.selectedIndex) + 1;
|
||||||
|
top.frames[prop_frame].document.open();
|
||||||
|
top.frames[prop_frame].document.write(
|
||||||
|
"<nobr><b>Name: </b>" + cookieList[index+1] + "</nobr><br/>" +
|
||||||
|
"<nobr><b>Value: </b>" + cookieList[index+2] + "</nobr><br/>" +
|
||||||
|
"<nobr><b>" + cookieList[index+3] + ": </b>" + cookieList[index+4] + "</nobr><br/>" +
|
||||||
|
"<nobr><b>Path: </b>" + cookieList[index+5] + "</nobr><br/>" +
|
||||||
|
"<nobr><b>Secure: </b>" + cookieList[index+6] + "</nobr><br/>" +
|
||||||
|
"<nobr><b>Expires: </b>" + cookieList[index+7] + "</nobr><br/>"
|
||||||
|
);
|
||||||
|
top.frames[prop_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadCookiesList(){
|
||||||
|
top.frames[list_frame].document.open();
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<form name='fSelectCookie'>" +
|
||||||
|
"<p>" +
|
||||||
|
"<b>site:cookie-name</b>" +
|
||||||
|
"<table border='0'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td width='100%' valign='top'>" +
|
||||||
|
"<center>" +
|
||||||
|
"<p>" +
|
||||||
|
"<select name='selname' size='10' multiple='multiple' onchange='top.ViewCookieSelected();'>"
|
||||||
|
);
|
||||||
|
for (i=1; !(i>=cookieList.length); i+=8) {
|
||||||
|
if (!deleted_cookies[cookieList[i]]) {
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<option value=" + cookieList[i] + ">" +
|
||||||
|
cookieList[i+4] + ":" + cookieList[i+1] +
|
||||||
|
"</option>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</p>" +
|
||||||
|
"</center>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</p>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[list_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadPermissions(){
|
||||||
|
cookie_mode = 1;
|
||||||
|
top.frames[index_frame].document.open();
|
||||||
|
top.frames[index_frame].document.write(
|
||||||
|
"<body bgcolor='#c0c0c0'>" +
|
||||||
|
"<table border='0' width='100%'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadCookies();' href=''>" +
|
||||||
|
"<font size='2'>View stored cookies</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#ffffff'>" +
|
||||||
|
"<font size='2' color='#666666'>" +
|
||||||
|
"<b>View sites that can or cannot store cookies</b>" +
|
||||||
|
"</font>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td> </td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[index_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write
|
||||||
|
(" Sites that can(+) or cannot(-) store cookies");
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[prop_frame].document.open();
|
||||||
|
top.frames[prop_frame].document.close();
|
||||||
|
|
||||||
|
loadPermissionsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadPermissionsList(){
|
||||||
|
top.frames[list_frame].document.open();
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<form name='fSelectPermission'>" +
|
||||||
|
"<p>" +
|
||||||
|
"<table border='0'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td width='100%' valign='top'>" +
|
||||||
|
"<center>" +
|
||||||
|
"<p>" +
|
||||||
|
"<select name='selname' size='10' multiple='multiple'> "
|
||||||
|
);
|
||||||
|
for (i=1; !(i>=permissionList.length); i+=2) {
|
||||||
|
if (!deleted_permissions[permissionList[i]]) {
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<option value=" + permissionList[i] + ">" +
|
||||||
|
permissionList[i+1] +
|
||||||
|
"</option>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</p>" +
|
||||||
|
"</center>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</p>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[list_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadButtons(){
|
||||||
|
top.frames[button_frame].document.open();
|
||||||
|
top.frames[button_frame].document.write(
|
||||||
|
"<form name='buttons'>" +
|
||||||
|
"<br/>" +
|
||||||
|
" " +
|
||||||
|
"<button onclick='top.DeleteItemSelected();'>Remove</button>" +
|
||||||
|
"<div align='right'>" +
|
||||||
|
"<button onclick='parent.Save();'>OK</button>" +
|
||||||
|
" " +
|
||||||
|
"<button onclick='parent.Cancel();'>Cancel</button>" +
|
||||||
|
"</div>" +
|
||||||
|
"<input type='hidden' name='goneC' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='goneP' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='cookieList' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='permissionList' value='' size='-1'/>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[button_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadFrames(){
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The cookieList is a sequence of items separated by the BREAK character. These
|
||||||
|
* items are:
|
||||||
|
* empty
|
||||||
|
* number for first cookie
|
||||||
|
* name for first cookie
|
||||||
|
* value for first cookie
|
||||||
|
* domain indicator ("Domain" or "Host") for first cookie
|
||||||
|
* domain or host name for first cookie
|
||||||
|
* path for first cookie
|
||||||
|
* secure indicator ("Yes" or "No") for first cookie
|
||||||
|
* expiration for first cookie
|
||||||
|
* with the eight items above repeated for each successive cookie
|
||||||
|
*/
|
||||||
|
list = DoGetCookieList();
|
||||||
|
BREAK = list[0];
|
||||||
|
cookieList = list.split(BREAK);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The permissionList is a sequence of items separated by the BREAK character. These
|
||||||
|
* items are:
|
||||||
|
* empty
|
||||||
|
* number for first permission
|
||||||
|
* +/- hostname for first permission
|
||||||
|
* with the above two items repeated for each successive permission
|
||||||
|
*/
|
||||||
|
list = DoGetPermissionList();
|
||||||
|
BREAK = list[0];
|
||||||
|
permissionList = list.split(BREAK);
|
||||||
|
loadCookies();
|
||||||
|
loadButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
function Save(){
|
||||||
|
var goneC = top.frames[button_frame].document.buttons.goneC;
|
||||||
|
var goneP = top.frames[button_frame].document.buttons.goneP;
|
||||||
|
var result = "|goneC|"+goneC.value+"|goneP|"+goneP.value+"|";
|
||||||
|
DoSave(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Cancel(){
|
||||||
|
var result = "|goneC||goneP||";
|
||||||
|
DoSave(result);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE window>
|
||||||
|
<xul:window xmlns="http://www.w3.org/TR/REC-html40"
|
||||||
|
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
|
|
||||||
|
<script src="CookieViewer.js"/>
|
||||||
|
|
||||||
|
<frameset rows = "10,10,125,50" border="0" framespacing="0" onload="loadFrames();">
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="index_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="title_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frameset cols="5,*,10,*,5" border="0" framespacing="0">
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="spacer1_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="list_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="spacer2_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="prop_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="spacer3_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
</frameset>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="button_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
</frameset>
|
||||||
|
|
||||||
|
</xul:window>
|
|
@ -1 +0,0 @@
|
||||||
CookieViewer.html
|
|
|
@ -45,4 +45,5 @@ override NO_STATIC_LIB=
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
install:: $(TARGETS)
|
install:: $(TARGETS)
|
||||||
$(INSTALL) $(srcdir)/CookieViewer.html $(DIST)/bin/res/samples
|
$(INSTALL) $(srcdir)/CookieViewer.xul $(DIST)/bin/res/samples
|
||||||
|
$(INSTALL) $(srcdir)/CookieViewer.js $(DIST)/bin/res/samples
|
||||||
|
|
|
@ -51,4 +51,5 @@ clobber::
|
||||||
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
||||||
|
|
||||||
install:: $(DLL)
|
install:: $(DLL)
|
||||||
$(MAKE_INSTALL) CookieViewer.html $(DIST)\bin\res\samples
|
$(MAKE_INSTALL) CookieViewer.xul $(DIST)\bin\res\samples
|
||||||
|
$(MAKE_INSTALL) CookieViewer.js $(DIST)\bin\res\samples
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
WalletEditor.html
|
WalletEditor.xul
|
||||||
|
WalletEditor.js
|
|
@ -45,5 +45,6 @@ override NO_STATIC_LIB=
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
install:: $(TARGETS)
|
install:: $(TARGETS)
|
||||||
$(INSTALL) $(srcdir)/WalletEditor.html $(DIST)/bin/res/samples
|
$(INSTALL) $(srcdir)/WalletEditor.xul $(DIST)/bin/res/samples
|
||||||
|
$(INSTALL) $(srcdir)/WalletEditor.js $(DIST)/bin/res/samples
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,558 @@
|
||||||
|
/* for xpconnect */
|
||||||
|
var walleteditor =
|
||||||
|
Components.classes
|
||||||
|
["component://netscape/walleteditor/walleteditor-world"].createInstance();
|
||||||
|
walleteditor = walleteditor.QueryInterface(Components.interfaces.nsIWalletEditor);
|
||||||
|
|
||||||
|
function get()
|
||||||
|
{
|
||||||
|
return walleteditor.GetValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function set(value)
|
||||||
|
{
|
||||||
|
walleteditor.SetValue(value, window);
|
||||||
|
}
|
||||||
|
/* end of xpconnect stuff */
|
||||||
|
|
||||||
|
title_frame = 0;
|
||||||
|
schema_frame = 1;
|
||||||
|
value_frame = 2;
|
||||||
|
synonym_frame = 3;
|
||||||
|
button_frame = 4;
|
||||||
|
|
||||||
|
var schemas = [];
|
||||||
|
var schemasLength;
|
||||||
|
var values = [];
|
||||||
|
var valuesLength;
|
||||||
|
var strings = [];
|
||||||
|
var stringsLength;
|
||||||
|
|
||||||
|
var currentSchema=0;
|
||||||
|
var currentValue=0;
|
||||||
|
var currentSynonym=0;
|
||||||
|
var BREAK;
|
||||||
|
|
||||||
|
function generateOutput(button) {
|
||||||
|
var i, j, k;
|
||||||
|
var output = button + BREAK;
|
||||||
|
for (i=0; !(i>=schemasLength); i++) {
|
||||||
|
for (j=schemas[i]; !(j>=schemas[i+1]); j++) {
|
||||||
|
for (k=values[j]; !(k>=values[j+1]); k++) {
|
||||||
|
output += strings[k] + BREAK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
set(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseInput() {
|
||||||
|
var input;
|
||||||
|
var i, j;
|
||||||
|
input = get();
|
||||||
|
|
||||||
|
/* check for user supplying invalid database key */
|
||||||
|
if (input.length == 0) {
|
||||||
|
flushTables();
|
||||||
|
BREAK = '+';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
BREAK = input[0];
|
||||||
|
|
||||||
|
flushTables();
|
||||||
|
strings = input.split(BREAK);
|
||||||
|
stringsLength = strings.length;
|
||||||
|
|
||||||
|
j = 0;
|
||||||
|
for (i=1; !(i>=stringsLength); i++) {
|
||||||
|
if (strings[i] != "") {
|
||||||
|
if(strings[i-1] == "") {
|
||||||
|
values[j++] = i;
|
||||||
|
valuesLength++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
values[j] = stringsLength;
|
||||||
|
|
||||||
|
j = 0;
|
||||||
|
for (i=0; !(i>=valuesLength); i++) {
|
||||||
|
if (i == 0 || (strings[values[i]] != strings[values[i-1]])) {
|
||||||
|
schemas[j++] = i;
|
||||||
|
schemasLength++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
schemas[j] = valuesLength;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function dumpStrings() {
|
||||||
|
/* for debugging purposes */
|
||||||
|
var i, j, k;
|
||||||
|
for (i=0; !(i>=schemasLength); i++) {
|
||||||
|
dump("<<"+i+" "+schemas[i]+" "+values[schemas[i]]+" "+strings[values[schemas[i]]] +">>\n");
|
||||||
|
for (j=schemas[i]; !(j>=schemas[i+1]); j++) {
|
||||||
|
dump("<< " + strings[values[j]+1] +">>\n");
|
||||||
|
for (k=values[j]+2; !(k>=values[j+1]-1); k++) {
|
||||||
|
dump("<<....." + strings[k] +">>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dump("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
function dumpRawStrings() {
|
||||||
|
/* for debugging purposes */
|
||||||
|
var i;
|
||||||
|
dump("Schemas follow\n");
|
||||||
|
for (i=0; !(i>=schemasLength); i++) {
|
||||||
|
dump("{" + schemas[i] + "}");
|
||||||
|
}
|
||||||
|
dump("[" + schemas[schemasLength] + "]");
|
||||||
|
dump("\nValues follow\n");
|
||||||
|
for (i=0; !(i>=valuesLength); i++) {
|
||||||
|
dump("{" + values[i] + "}");
|
||||||
|
}
|
||||||
|
dump("[" + values[valuesLength] + "]");
|
||||||
|
dump("\nStrings follow\n");
|
||||||
|
for (i=0; !(i>=stringsLength); i++) {
|
||||||
|
dump("{" + strings[i] + "}");
|
||||||
|
}
|
||||||
|
dump("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
function lostFocus() {
|
||||||
|
schemalist = top.frames[schema_frame].document.schema.schemalist;
|
||||||
|
valuelist = top.frames[value_frame].document.value.valuelist;
|
||||||
|
synonymlist = top.frames[synonym_frame].document.synonym.synonymlist;
|
||||||
|
|
||||||
|
if (!(schemalist.selectedIndex>=0)) {
|
||||||
|
currentSchema = 0;
|
||||||
|
currentValue = 0;
|
||||||
|
currentSynonym = 0;
|
||||||
|
loadMain();
|
||||||
|
return;
|
||||||
|
} else if (schemalist.selectedIndex != currentSchema) {
|
||||||
|
currentSchema = schemalist.selectedIndex;
|
||||||
|
currentValue = 0;
|
||||||
|
currentSynonym = 0;
|
||||||
|
loadMain();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(valuelist.selectedIndex>=0)) {
|
||||||
|
currentValue = 0;
|
||||||
|
currentSynonym = 0;
|
||||||
|
loadMain();
|
||||||
|
return;
|
||||||
|
} else if (valuelist.selectedIndex != currentValue) {
|
||||||
|
currentValue = valuelist.selectedIndex;
|
||||||
|
currentSynonym = 0;
|
||||||
|
loadMain();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(synonymlist.selectedIndex>=0)) {
|
||||||
|
currentSynonym = 0;
|
||||||
|
loadMain();
|
||||||
|
return;
|
||||||
|
} else if (synonymlist.selectedIndex != currentSynonym) {
|
||||||
|
currentSynonym = synonymlist.selectedIndex;
|
||||||
|
loadMain();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function flushTables() {
|
||||||
|
strings[0] = "";
|
||||||
|
strings[1] = "";
|
||||||
|
values[0] = 0;
|
||||||
|
values[1] = 2;
|
||||||
|
schemas[0] = 0;
|
||||||
|
schemas[1] = 0;
|
||||||
|
schemasLength = 0;
|
||||||
|
valuesLength = 0;
|
||||||
|
stringsLength = 0;
|
||||||
|
currentSchema = 0;
|
||||||
|
currentValue = 0;
|
||||||
|
currentSynonym = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteSchema0() {
|
||||||
|
var i;
|
||||||
|
|
||||||
|
if (schemasLength == 1) {
|
||||||
|
flushTables();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
currentValue = 0;
|
||||||
|
numberOfValues = schemas[currentSchema+1] - schemas[currentSchema];
|
||||||
|
for (i=0; !(i>=numberOfValues); i++) {
|
||||||
|
deleteValue0();
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteString(values[schemas[currentSchema]]+1); /* delete blank line */
|
||||||
|
deleteString(values[schemas[currentSchema]]); /* delete name of schema */
|
||||||
|
valuesLength--;
|
||||||
|
for (i=schemas[currentSchema]; !(i>valuesLength); i++) {
|
||||||
|
values[i] = values[i+1];
|
||||||
|
}
|
||||||
|
for (i=0; !(i>schemasLength); i++) {
|
||||||
|
if (schemas[i] > valueToDelete) {
|
||||||
|
schemas[i]--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
schemasLength--;
|
||||||
|
for (i=currentSchema; !(i>schemasLength); i++) {
|
||||||
|
schemas[i] = schemas[i+1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteValue0() {
|
||||||
|
var i;
|
||||||
|
valueToDelete = schemas[currentSchema]+currentValue;
|
||||||
|
currentSynonym = 0;
|
||||||
|
while (!(values[valueToDelete]+2 >= values[valueToDelete+1]-1)) {
|
||||||
|
deleteSynonym0();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((schemas[currentSchema+1] - schemas[currentSchema]) == 1) {
|
||||||
|
if(strings[values[valueToDelete]+1] != "") {
|
||||||
|
deleteString(values[valueToDelete]+1);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while(strings[values[valueToDelete]] != "") {
|
||||||
|
deleteString(values[valueToDelete]);
|
||||||
|
}
|
||||||
|
deleteString(values[valueToDelete]);
|
||||||
|
|
||||||
|
valuesLength--;
|
||||||
|
for (i=valueToDelete; !(i>valuesLength); i++) {
|
||||||
|
values[i] = values[i+1];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i=0; !(i>schemasLength); i++) {
|
||||||
|
if (schemas[i] > valueToDelete) {
|
||||||
|
schemas[i]--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteSynonym0() {
|
||||||
|
stringToDelete = values[schemas[currentSchema]+currentValue]+2+currentSynonym;
|
||||||
|
deleteString(stringToDelete);
|
||||||
|
}
|
||||||
|
|
||||||
|
function addSchema0() {
|
||||||
|
var i;
|
||||||
|
text = top.frames[schema_frame].document.schema.newSchema;
|
||||||
|
if (text.value == "") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
schemaIndex = 0;
|
||||||
|
while ((schemaIndex<schemasLength) &&!(strings[values[schemas[schemaIndex]]] >= text.value)) {
|
||||||
|
schemaIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
|
schemasLength++;
|
||||||
|
for (i=schemasLength; i>schemaIndex; i--) {
|
||||||
|
schemas[i] = schemas[i-1]+1;
|
||||||
|
}
|
||||||
|
|
||||||
|
valueIndex = schemas[schemaIndex];
|
||||||
|
valuesLength++;
|
||||||
|
for (i=valuesLength; i>valueIndex; i--) {
|
||||||
|
values[i] = values[i-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
stringIndex = values[valueIndex];
|
||||||
|
if (stringIndex == stringsLength) {
|
||||||
|
stringIndex--;
|
||||||
|
}
|
||||||
|
|
||||||
|
addString(stringIndex, text.value);
|
||||||
|
addString(stringIndex+1, "");
|
||||||
|
schemas[schemaIndex] = valueIndex;
|
||||||
|
values[valueIndex] = stringIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addValue0() {
|
||||||
|
var i;
|
||||||
|
text = top.frames[value_frame].document.value.newValue;
|
||||||
|
if (text.value == "") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
stringIndex = values[schemas[currentSchema]+currentValue];
|
||||||
|
if(strings[values[schemas[currentSchema]+currentValue]+1]=="") {
|
||||||
|
addString(values[schemas[currentSchema]+currentValue]+1, text.value);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
addString(stringIndex, strings[values[schemas[currentSchema]]]);
|
||||||
|
addString(stringIndex+1, text.value);
|
||||||
|
addString(stringIndex+2, "");
|
||||||
|
|
||||||
|
valuesLength++;
|
||||||
|
for (i=valuesLength; i>schemas[currentSchema]+currentValue; i--) {
|
||||||
|
values[i] = values[i-1];
|
||||||
|
}
|
||||||
|
values[schemas[currentSchema]+currentValue] = stringIndex;
|
||||||
|
|
||||||
|
for (i=currentSchema+1; !(i>schemasLength); i++) {
|
||||||
|
schemas[i]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addSynonym0() {
|
||||||
|
text = top.frames[synonym_frame].document.synonym.newSynonym;
|
||||||
|
if (text.value == "") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
addString(values[schemas[currentSchema]+currentValue]+2, text.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteString(stringToDelete) {
|
||||||
|
var i;
|
||||||
|
stringsLength--;
|
||||||
|
for (i=stringToDelete; !(i>=stringsLength); i++) {
|
||||||
|
strings[i] = strings[i+1];
|
||||||
|
}
|
||||||
|
for (i=0; !(i>valuesLength); i++) {
|
||||||
|
if (values[i] > stringToDelete) {
|
||||||
|
values[i]--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addString(stringToAdd, text) {
|
||||||
|
var i;
|
||||||
|
stringsLength++;
|
||||||
|
for (i=stringsLength; i>stringToAdd; i--) {
|
||||||
|
strings[i] = strings[i-1];
|
||||||
|
}
|
||||||
|
strings[stringToAdd] = text;
|
||||||
|
for (i=0; !(i>valuesLength); i++) {
|
||||||
|
if (values[i] >= stringToAdd) {
|
||||||
|
values[i]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function addSchema() {
|
||||||
|
addSchema0();
|
||||||
|
loadMain();
|
||||||
|
}
|
||||||
|
|
||||||
|
function addValue() {
|
||||||
|
if (schemasLength != 0) {
|
||||||
|
addValue0();
|
||||||
|
loadMain();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addSynonym() {
|
||||||
|
if (schemasLength != 0) {
|
||||||
|
addSynonym0();
|
||||||
|
loadMain();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteSchema() {
|
||||||
|
deleteSchema0();
|
||||||
|
loadMain();
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteValue() {
|
||||||
|
deleteValue0();
|
||||||
|
loadMain();
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteSynonym() {
|
||||||
|
deleteSynonym0();
|
||||||
|
loadMain();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadMain() {
|
||||||
|
|
||||||
|
/* create the title */
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write(
|
||||||
|
"<body bgcolor='#cccccc' name='schema'>" +
|
||||||
|
"<h3><center><b>Manage Personal Data</b></center></h3>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
/* create the schema list */
|
||||||
|
top.frames[schema_frame].document.open();
|
||||||
|
top.frames[schema_frame].document.write(
|
||||||
|
"<body bgcolor='#cccccc' name='schema'>" +
|
||||||
|
"<b>Field Names:</b><br>" +
|
||||||
|
"<form name='schema'>" +
|
||||||
|
"<table border='0' width='50%' bgcolor='#cccccc'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td>" +
|
||||||
|
// "<select name='schemalist' size='10' onchange='top.lostFocus();'>"
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<select name='schemalist' size='10' onchange=\"setTimeout('top.lostFocus();',0)\">"
|
||||||
|
);
|
||||||
|
for (i=0; !(i>=schemasLength); i++) {
|
||||||
|
if (i == currentSchema) {
|
||||||
|
selected = " selected='selected'";
|
||||||
|
} else {
|
||||||
|
selected = "";
|
||||||
|
}
|
||||||
|
top.frames[schema_frame].document.write(
|
||||||
|
"<option" + selected + ">" + strings[values[schemas[i]]] + "</option>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
top.frames[schema_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td>" +
|
||||||
|
// "<button onclick='parent.deleteSchema();'>Remove</button>" +
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<button onclick=\"setTimeout('parent.deleteSchema();',0)\">Remove</button>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td>" +
|
||||||
|
"<nobr>" +
|
||||||
|
"<input type='text' size='8' name='newSchema'>" +
|
||||||
|
// "<button onclick='parent.addSchema();'>Add</button>" +
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<button onclick=\"setTimeout('parent.addSchema();',0)\">Add</button>" +
|
||||||
|
"</nobr>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</form>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[schema_frame].document.close();
|
||||||
|
|
||||||
|
/* create the value list */
|
||||||
|
top.frames[value_frame].document.open();
|
||||||
|
top.frames[value_frame].document.write(
|
||||||
|
"<body bgcolor='#cccccc' name='schema'>" +
|
||||||
|
"<b>Entries for field:</b><br>" +
|
||||||
|
"<form name=value>" +
|
||||||
|
"<table border='0' width='50%' bgcolor='#cccccc'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td>" +
|
||||||
|
// "<select name='valuelist' size='5' onchange='top.lostFocus();'>"
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<select name='valuelist' size='5' onchange=\"setTimeout('top.lostFocus();',0)\">"
|
||||||
|
);
|
||||||
|
for (i=schemas[currentSchema]; !(i>=schemas[currentSchema+1]); i++) {
|
||||||
|
if ((i-schemas[currentSchema]) == currentValue) {
|
||||||
|
selected = " selected='selected'";
|
||||||
|
} else {
|
||||||
|
selected = "";
|
||||||
|
}
|
||||||
|
if (strings[values[i]+1] != "") {
|
||||||
|
top.frames[value_frame].document.write(
|
||||||
|
"<option" + selected + ">" + strings[values[i]+1] + "</option>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[value_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td>" +
|
||||||
|
// "<button onclick='parent.deleteValue();'>Remove</button>" +
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<button onclick=\"setTimeout('parent.deleteValue();',0)\">Remove</button>" +
|
||||||
|
"<br/>" +
|
||||||
|
"<nobr>" +
|
||||||
|
"<input type='text' size='8' name='newValue'>" +
|
||||||
|
// "<button onclick='parent.addValue();'>Add</button>" +
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<button onclick=\"setTimeout('parent.addValue();',0)\">Add</button>" +
|
||||||
|
"</nobr>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</form>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[value_frame].document.close();
|
||||||
|
|
||||||
|
/* create the synonym list */
|
||||||
|
top.frames[synonym_frame].document.open();
|
||||||
|
top.frames[synonym_frame].document.write(
|
||||||
|
"<body bgcolor='#cccccc' name='schema'>" +
|
||||||
|
"<b>Entries that mean the same as the above:</b><br>" +
|
||||||
|
"<form name=synonym>" +
|
||||||
|
"<table border='0' width='50%' bgcolor='#cccccc'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td>" +
|
||||||
|
// "<select name='synonymlist' size='3' onchange='top.lostFocus();'>"
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<select name='synonymlist' size='3' onchange=\"setTimeout('top.lostFocus();',0)\">"
|
||||||
|
);
|
||||||
|
for (i=values[schemas[currentSchema]+currentValue]+2; !(i>=values[schemas[currentSchema]+1]-1); i++) {
|
||||||
|
if ((i-(values[schemas[currentSchema]+currentValue]+2)) == currentSynonym) {
|
||||||
|
selected = " selected='selected'";
|
||||||
|
} else {
|
||||||
|
selected = "";
|
||||||
|
}
|
||||||
|
top.frames[synonym_frame].document.write(
|
||||||
|
"<option" + selected + ">" + strings[i] + "</option>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
top.frames[synonym_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td>" +
|
||||||
|
// "<button onclick='parent.deleteSynonymSchema();'>Remove</button>" +
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<button onclick=\"setTimeout('parent.deleteSynonym();',0)\">Remove</button>" +
|
||||||
|
"<br/>" +
|
||||||
|
"<nobr>" +
|
||||||
|
"<input type='text' size='8' name='newSynonym'>" +
|
||||||
|
// "<button onclick='parent.addSynonym();'>Add</button>" +
|
||||||
|
// (bug 3317 workaround)
|
||||||
|
"<button onclick=\"setTimeout('parent.addSynonym();',0)\">Add</button>" +
|
||||||
|
"</nobr>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</form>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[synonym_frame].document.close();
|
||||||
|
|
||||||
|
/* create the buttons */
|
||||||
|
top.frames[button_frame].document.open();
|
||||||
|
top.frames[button_frame].document.write(
|
||||||
|
"<body bgcolor='#cccccc' name='schema'>" +
|
||||||
|
"<hr/>" +
|
||||||
|
"<form name=button>" +
|
||||||
|
"<div align='right'>" +
|
||||||
|
"<button value='OK' onclick='parent.generateOutput(this.value);'>OK</button>" +
|
||||||
|
" " +
|
||||||
|
"<button value='Cancel' onclick='parent.generateOutput(this.value);'>Cancel</button>" +
|
||||||
|
"</div>" +
|
||||||
|
"</form>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[button_frame].document.close();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadFrames() {
|
||||||
|
if (!parseInput()) {
|
||||||
|
setTimeout('parent.generateOutput("Cancel")',0);
|
||||||
|
} else {
|
||||||
|
loadMain();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE window>
|
||||||
|
<xul:window xmlns="http://www.w3.org/TR/REC-html40"
|
||||||
|
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
|
|
||||||
|
<script src="WalletEditor.js"/>
|
||||||
|
|
||||||
|
<frameset rows="15,115,30" frameborder="no" border="0" bordercolor="#cccccc" onload="loadFrames();">
|
||||||
|
<frame src="about:blank" frameborder="no" id="title_frame" bordercolor="#cccccc" scrolling="no"/>
|
||||||
|
<frameset cols="100,200" bordercolor="#cccccc">
|
||||||
|
<frame src="about:blank" id="schema_frame" frameborder="no" bordercolor="#cccccc" scrolling="auto"/>
|
||||||
|
<frameset rows="53%,47%" bordercolor="#cccccc">
|
||||||
|
<frame src="about:blank" id="value_frame" frameborder="no" bordercolor="#cccccc" scrolling="auto"/>
|
||||||
|
<frame src="about:blank" id="synonym_frame" frameborder="no" bordercolor="#cccccc" scrolling="auto"/>
|
||||||
|
</frameset>
|
||||||
|
</frameset>
|
||||||
|
<frame src="about:blank" id="button_frame" scrolling="no"/>
|
||||||
|
</frameset>
|
||||||
|
|
||||||
|
</xul:window>
|
|
@ -51,4 +51,5 @@ clobber::
|
||||||
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
||||||
|
|
||||||
install:: $(DLL)
|
install:: $(DLL)
|
||||||
$(MAKE_INSTALL) WalletEditor.html $(DIST)\bin\res\samples
|
$(MAKE_INSTALL) WalletEditor.xul $(DIST)\bin\res\samples
|
||||||
|
$(MAKE_INSTALL) WalletEditor.js $(DIST)\bin\res\samples
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
SignonViewer.html
|
|
|
@ -45,4 +45,5 @@ override NO_STATIC_LIB=
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
install:: $(TARGETS)
|
install:: $(TARGETS)
|
||||||
$(INSTALL) $(srcdir)/SignonViewer.html $(DIST)/bin/res/samples
|
$(INSTALL) $(srcdir)/SignonViewer.xul $(DIST)/bin/res/samples
|
||||||
|
$(INSTALL) $(srcdir)/SignonViewer.js $(DIST)/bin/res/samples
|
||||||
|
|
|
@ -0,0 +1,475 @@
|
||||||
|
/* for xpconnect */
|
||||||
|
|
||||||
|
var signonviewer =
|
||||||
|
Components.classes
|
||||||
|
["component://netscape/signonviewer/signonviewer-world"].createInstance();
|
||||||
|
signonviewer = signonviewer.QueryInterface(Components.interfaces.nsISignonViewer);
|
||||||
|
|
||||||
|
function DoGetSignonList()
|
||||||
|
{
|
||||||
|
return signonviewer.GetSignonValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DoGetRejectList()
|
||||||
|
{
|
||||||
|
return signonviewer.GetRejectValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DoGetNopreviewList()
|
||||||
|
{
|
||||||
|
return signonviewer.GetNopreviewValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DoGetNocaptureList()
|
||||||
|
{
|
||||||
|
return signonviewer.GetNocaptureValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DoSave(value)
|
||||||
|
{
|
||||||
|
signonviewer.SetValue(value, window);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* end of xpconnect stuff */
|
||||||
|
|
||||||
|
index_frame = 0;
|
||||||
|
title_frame = 1;
|
||||||
|
spacer1_frame = 2;
|
||||||
|
list_frame = 3;
|
||||||
|
spacer2_frame = 4;
|
||||||
|
button_frame = 5;
|
||||||
|
|
||||||
|
var signon_mode;
|
||||||
|
var signonList = [];
|
||||||
|
var rejectList = [];
|
||||||
|
var nopreviewList = [];
|
||||||
|
var nocaptureList = [];
|
||||||
|
deleted_signons = new Array;
|
||||||
|
deleted_rejects = new Array;
|
||||||
|
deleted_nopreviews = new Array;
|
||||||
|
deleted_nocaptures = new Array;
|
||||||
|
|
||||||
|
function DeleteItemSelected() {
|
||||||
|
if (signon_mode == 0) {
|
||||||
|
DeleteSignonSelected();
|
||||||
|
} else if (signon_mode == 1) {
|
||||||
|
DeleteRejectSelected();
|
||||||
|
} else if (signon_mode == 2) {
|
||||||
|
DeleteNopreviewSelected();
|
||||||
|
} else if (signon_mode == 3) {
|
||||||
|
DeleteNocaptureSelected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function DeleteSignonSelected() {
|
||||||
|
selname = top.frames[list_frame].document.fSelectSignon.selname;
|
||||||
|
goneS = top.frames[button_frame].document.buttons.goneS;
|
||||||
|
var p;
|
||||||
|
var i;
|
||||||
|
for (i=selname.options.length; i>0; i--) {
|
||||||
|
if (selname.options[i-1].selected) {
|
||||||
|
selname.options[i-1].selected = 0;
|
||||||
|
goneS.value = goneS.value + selname.options[i-1].value + ",";
|
||||||
|
deleted_signons[selname.options[i-1].value] = 1;
|
||||||
|
selname.remove(i-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function DeleteRejectSelected() {
|
||||||
|
selname = top.frames[list_frame].document.fSelectReject.selname;
|
||||||
|
goneR = top.frames[button_frame].document.buttons.goneR;
|
||||||
|
var p;
|
||||||
|
var i;
|
||||||
|
for (i=selname.options.length; i>0; i--) {
|
||||||
|
if (selname.options[i-1].selected) {
|
||||||
|
selname.options[i-1].selected = 0;
|
||||||
|
goneR.value = goneR.value + selname.options[i-1].value + ",";
|
||||||
|
deleted_rejects[selname.options[i-1].value] = 1;
|
||||||
|
selname.remove(i-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function DeleteNopreviewSelected() {
|
||||||
|
selname = top.frames[list_frame].document.fSelectNopreview.selname;
|
||||||
|
goneP = top.frames[button_frame].document.buttons.goneP;
|
||||||
|
var p;
|
||||||
|
var i;
|
||||||
|
for (i=selname.options.length; i>0; i--) {
|
||||||
|
if (selname.options[i-1].selected) {
|
||||||
|
selname.options[i-1].selected = 0;
|
||||||
|
goneP.value = goneP.value + selname.options[i-1].value + ",";
|
||||||
|
deleted_nopreviews[selname.options[i-1].value] = 1;
|
||||||
|
selname.remove(i-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function DeleteNocaptureSelected() {
|
||||||
|
selname = top.frames[list_frame].document.fSelectNocapture.selname;
|
||||||
|
goneC = top.frames[button_frame].document.buttons.goneC;
|
||||||
|
var p;
|
||||||
|
var i;
|
||||||
|
for (i=selname.options.length; i>0; i--) {
|
||||||
|
if (selname.options[i-1].selected) {
|
||||||
|
selname.options[i-1].selected = 0;
|
||||||
|
goneC.value = goneC.value + selname.options[i-1].value + ",";
|
||||||
|
deleted_nocaptures[selname.options[i-1].value] = 1;
|
||||||
|
selname.remove(i-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadSignons(){
|
||||||
|
signon_mode = 0;
|
||||||
|
top.frames[index_frame].document.open();
|
||||||
|
top.frames[index_frame].document.write(
|
||||||
|
"<body bgcolor='#c0c0c0'>" +
|
||||||
|
"<table border=0 width='100%'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#ffffff'>" +
|
||||||
|
"<font size='2' color='#666666'>" +
|
||||||
|
"<b>Logons saved</b>" +
|
||||||
|
"</font>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadRejects();' href=''>" +
|
||||||
|
"<font size='2'>Logons not saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadNopreviews();' href=''>" +
|
||||||
|
"<font size='2'>Forms not previewed</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadNocaptures();' href=''>" +
|
||||||
|
"<font size='2'>Forms not saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td> </td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[index_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write
|
||||||
|
(" Logon information that has been saved");
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
loadSignonsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadSignonsList(){
|
||||||
|
top.frames[list_frame].document.open();
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<form name='fSelectSignon'>" +
|
||||||
|
"<p>" +
|
||||||
|
"<b>site:username</b>" +
|
||||||
|
"<table border='0'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td width='100%' valign='top'>" +
|
||||||
|
"<center>" +
|
||||||
|
"<p>" +
|
||||||
|
"<select name='selname' size='10' multiple='multiple'> "
|
||||||
|
);
|
||||||
|
for (i=1; !(i>=signonList.length); i++) {
|
||||||
|
if (!deleted_signons[i-1]) {
|
||||||
|
top.frames[list_frame].document.write(signonList[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</p>" +
|
||||||
|
"</center>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</p>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[list_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadRejects(){
|
||||||
|
signon_mode = 1;
|
||||||
|
top.frames[index_frame].document.open();
|
||||||
|
top.frames[index_frame].document.write(
|
||||||
|
"<body bgcolor='#c0c0c0'>" +
|
||||||
|
"<table border='0' width='100%'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadSignons();' href=''>" +
|
||||||
|
"<font size='2'>Logons saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#ffffff'>" +
|
||||||
|
"<font size='2' color='#666666'>" +
|
||||||
|
"<b>Logons not saved</b>" +
|
||||||
|
"</font>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td> </td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadNopreviews();' href=''>" +
|
||||||
|
"<font size='2'>Forms not previewed</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadNocaptures();' href=''>" +
|
||||||
|
"<font size='2'>Forms not saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td> </td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[index_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write
|
||||||
|
(" Sites for which logon information won't be saved");
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
loadRejectsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadRejectsList(){
|
||||||
|
top.frames[list_frame].document.open();
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<form name='fSelectReject'>" +
|
||||||
|
"<p>" +
|
||||||
|
"<table border='0'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td width='100%' valign='top'>" +
|
||||||
|
"<center>" +
|
||||||
|
"<p>" +
|
||||||
|
"<select name='selname' size='10' multiple='multiple'> "
|
||||||
|
);
|
||||||
|
for (i=1; !(i>=rejectList.length); i++) {
|
||||||
|
if (!deleted_rejects[i-1]) {
|
||||||
|
top.frames[list_frame].document.write(rejectList[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</p>" +
|
||||||
|
"</center>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</p>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[list_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadNopreviews(){
|
||||||
|
signon_mode = 2;
|
||||||
|
top.frames[index_frame].document.open();
|
||||||
|
top.frames[index_frame].document.write(
|
||||||
|
"<body bgcolor='#c0c0c0'>" +
|
||||||
|
"<table border='0' width='100%'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadSignons();' href=''>" +
|
||||||
|
"<font size='2'>Logons saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadRejects();' href=''>" +
|
||||||
|
"<font size='2'>Logons not saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#ffffff'>" +
|
||||||
|
"<font size='2' color='#666666'>" +
|
||||||
|
"<b>Forms not previewed</b>" +
|
||||||
|
"</font>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadNocaptures();' href=''>" +
|
||||||
|
"<font size='2'>Forms not saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td> </td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[index_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write
|
||||||
|
(" Forms that won't be previewed before being pre-filled");
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
loadNopreviewsList();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadNopreviewsList(){
|
||||||
|
top.frames[list_frame].document.open();
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<form name='fSelectNopreview'>" +
|
||||||
|
"<p>" +
|
||||||
|
"<table border='0'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td width='100%' valign='top'>" +
|
||||||
|
"<center>" +
|
||||||
|
"<p>" +
|
||||||
|
"<select name='selname' size='10' multiple='multiple'> "
|
||||||
|
);
|
||||||
|
for (i=1; !(i>=nopreviewList.length); i++) {
|
||||||
|
if (!deleted_nopreviews[i-1]) {
|
||||||
|
top.frames[list_frame].document.write(nopreviewList[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</p>" +
|
||||||
|
"</center>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</p>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[list_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadNocaptures(){
|
||||||
|
signon_mode = 3;
|
||||||
|
top.frames[index_frame].document.open();
|
||||||
|
top.frames[index_frame].document.write(
|
||||||
|
"<body bgcolor='#c0c0c0'>" +
|
||||||
|
"<table border='0' width='100%'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadSignons();' href=''>" +
|
||||||
|
"<font size='2'>Logons saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadRejects();' href=''>" +
|
||||||
|
"<font size='2'>Logons not saved</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#c0c0c0'>" +
|
||||||
|
"<a onclick='top.loadNopreviews();' href=''>" +
|
||||||
|
"<font size='2'>Forms not previewed</font>" +
|
||||||
|
"</a>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td align='center' valign='middle' bgcolor='#ffffff'>" +
|
||||||
|
"<font size='2' color='#666666'>" +
|
||||||
|
"<b>Forms not saved</b>" +
|
||||||
|
"</font>" +
|
||||||
|
"</td>" +
|
||||||
|
"<td> </td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</body>"
|
||||||
|
);
|
||||||
|
top.frames[index_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write
|
||||||
|
(" Forms that won't be saved");
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
loadNocapturesList();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadNocapturesList(){
|
||||||
|
top.frames[list_frame].document.open();
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<form name='fSelectNocapture'>" +
|
||||||
|
"<p>" +
|
||||||
|
"<table border='0'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td width='100%' valign='top'>" +
|
||||||
|
"<center>" +
|
||||||
|
"<p>" +
|
||||||
|
"<select name='selname' size='10' multiple='multiple'> "
|
||||||
|
);
|
||||||
|
for (i=1; !(i>=nocaptureList.length); i++) {
|
||||||
|
if (!deleted_nocaptures[i-1]) {
|
||||||
|
top.frames[list_frame].document.write(nocaptureList[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"</select>" +
|
||||||
|
"</p>" +
|
||||||
|
"</center>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</p>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[list_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadButtons(){
|
||||||
|
top.frames[button_frame].document.open();
|
||||||
|
top.frames[button_frame].document.write(
|
||||||
|
"<form name='buttons'>" +
|
||||||
|
"<br/>" +
|
||||||
|
" " +
|
||||||
|
"<button onclick='top.DeleteItemSelected();'>Remove</button>" +
|
||||||
|
"<div align='right'>" +
|
||||||
|
"<button onclick='parent.Save();'>OK</button>" +
|
||||||
|
" " +
|
||||||
|
"<button onclick='parent.Cancel();'>Cancel</button>" +
|
||||||
|
"</div>" +
|
||||||
|
"<input type='hidden' name='goneS' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='goneR' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='goneP' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='goneC' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='signonList' value='' size='-1'/>" +
|
||||||
|
"<input type='hidden' name='rejectList' value='' size='-1'/>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[button_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadFrames(){
|
||||||
|
list = DoGetSignonList();
|
||||||
|
BREAK = list[0];
|
||||||
|
signonList = list.split(BREAK);
|
||||||
|
list = DoGetRejectList();
|
||||||
|
BREAK = list[0];
|
||||||
|
rejectList = list.split(BREAK);
|
||||||
|
list = DoGetNopreviewList();
|
||||||
|
BREAK = list[0];
|
||||||
|
nopreviewList = list.split(BREAK);
|
||||||
|
list = DoGetNocaptureList();
|
||||||
|
BREAK = list[0];
|
||||||
|
nocaptureList = list.split(BREAK);
|
||||||
|
loadSignons();
|
||||||
|
loadButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
function Save(){
|
||||||
|
var goneS = top.frames[button_frame].document.buttons.goneS;
|
||||||
|
var goneR = top.frames[button_frame].document.buttons.goneR;
|
||||||
|
var goneP = top.frames[button_frame].document.buttons.goneP;
|
||||||
|
var goneC = top.frames[button_frame].document.buttons.goneC;
|
||||||
|
var result = "|goneS|"+goneS.value+"|goneR|"+goneR.value;
|
||||||
|
result += "|goneC|"+goneC.value+"|goneP|"+goneP.value+"|";
|
||||||
|
DoSave(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Cancel(){
|
||||||
|
var result = "|goneS||goneR||goneC||goneP||";
|
||||||
|
DoSave(result);
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE window>
|
||||||
|
<xul:window xmlns="http://www.w3.org/TR/REC-html40"
|
||||||
|
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
|
|
||||||
|
<script src="SignonViewer.js"/>
|
||||||
|
|
||||||
|
<frameset rows = "30,10,125,50" border="0" framespacing="0" onload="loadFrames();">
|
||||||
|
<frame src="about:blank"
|
||||||
|
id="index_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
id="title_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frameset cols="5,*,5" border="0" framespacing="0">
|
||||||
|
<frame src="about:blank"
|
||||||
|
id="spacer1_frame"
|
||||||
|
scrolling="AUTO"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
id="list_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
id="spacer2_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
</frameset>
|
||||||
|
<frame src="about:blank"
|
||||||
|
id="button_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
</frameset>
|
||||||
|
</xul:window>
|
|
@ -51,4 +51,5 @@ clobber::
|
||||||
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
||||||
|
|
||||||
install:: $(DLL)
|
install:: $(DLL)
|
||||||
$(MAKE_INSTALL) SignonViewer.html $(DIST)\bin\res\samples
|
$(MAKE_INSTALL) SignonViewer.xul $(DIST)\bin\res\samples
|
||||||
|
$(MAKE_INSTALL) SignonViewer.js $(DIST)\bin\res\samples
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
WalletPreview.html
|
|
|
@ -45,4 +45,5 @@ override NO_STATIC_LIB=
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
install:: $(TARGETS)
|
install:: $(TARGETS)
|
||||||
$(INSTALL) $(srcdir)/WalletPreview.html $(DIST)/bin/res/samples
|
$(INSTALL) $(srcdir)/WalletPreview.xul $(DIST)/bin/res/samples
|
||||||
|
$(INSTALL) $(srcdir)/WalletPreview.js $(DIST)/bin/res/samples
|
||||||
|
|
|
@ -0,0 +1,130 @@
|
||||||
|
/* for xpconnect */
|
||||||
|
var walletpreview =
|
||||||
|
Components.classes
|
||||||
|
["component://netscape/walletpreview/walletpreview-world"].createInstance();
|
||||||
|
walletpreview = walletpreview.QueryInterface(Components.interfaces.nsIWalletPreview);
|
||||||
|
|
||||||
|
function DoGetPrefillList()
|
||||||
|
{
|
||||||
|
return walletpreview.GetPrefillValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function DoSave(value)
|
||||||
|
{
|
||||||
|
walletpreview.SetValue(value, window);
|
||||||
|
}
|
||||||
|
/* end of xpconnect stuff */
|
||||||
|
|
||||||
|
index_frame = 0;
|
||||||
|
title_frame = 1;
|
||||||
|
list_frame = 2;
|
||||||
|
button_frame = 3;
|
||||||
|
var prefillList = [];
|
||||||
|
|
||||||
|
function loadFillins(){
|
||||||
|
top.frames[title_frame].document.open();
|
||||||
|
top.frames[title_frame].document.write
|
||||||
|
(" Following items can be pre-filled for you.");
|
||||||
|
top.frames[title_frame].document.close();
|
||||||
|
|
||||||
|
top.frames[list_frame].document.open();
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<form name='fSelectFillin'>" +
|
||||||
|
"<br/>" +
|
||||||
|
"<table border='0'>" +
|
||||||
|
"<tr>" +
|
||||||
|
"<td>" +
|
||||||
|
"<br/>"
|
||||||
|
)
|
||||||
|
var count;
|
||||||
|
for (i=1; !(i>=prefillList.length-2); i+=3) {
|
||||||
|
if(prefillList[i] != 0) {
|
||||||
|
count = prefillList[i];
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<tr>" +
|
||||||
|
"<td>" + prefillList[i+1] + ": </td>" +
|
||||||
|
"<td>" +
|
||||||
|
"<select>"
|
||||||
|
)
|
||||||
|
count--;
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<option VALUE='"+prefillList[i+1]+"'>" +
|
||||||
|
prefillList[i+2] +
|
||||||
|
"</option>"
|
||||||
|
)
|
||||||
|
if(count == 0) {
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"<option VALUE='"+prefillList[i+1]+"'><do not prefill></option>" +
|
||||||
|
"</select><br/>" +
|
||||||
|
"</td>" +
|
||||||
|
"</tr>"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
top.frames[list_frame].document.write(
|
||||||
|
"</td>" +
|
||||||
|
"</tr>" +
|
||||||
|
"</table>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[list_frame].document.close();
|
||||||
|
};
|
||||||
|
|
||||||
|
function loadButtons(){
|
||||||
|
top.frames[button_frame].document.open();
|
||||||
|
top.frames[button_frame].document.write(
|
||||||
|
"<form name=buttons>" +
|
||||||
|
"<br/>" +
|
||||||
|
"<input type='checkbox' name='skip'> " +
|
||||||
|
"Bypass this screen when prefilling this form in the future" +
|
||||||
|
"</input> " +
|
||||||
|
"<br/>" +
|
||||||
|
"<br/>" +
|
||||||
|
"<div align='center'>" +
|
||||||
|
"<button onclick='parent.Save();'>OK</button>" +
|
||||||
|
" " +
|
||||||
|
"<button onclick='parent.Cancel();'>Cancel</button>" +
|
||||||
|
"</div>" +
|
||||||
|
"<input type='hidden' name='fillins' value=' ' size='-1'>" +
|
||||||
|
"<input type='hidden' name='list' value=' ' size='-1'>" +
|
||||||
|
"<input type='hidden' name='url' value=' ' size='-1'>" +
|
||||||
|
"</form>"
|
||||||
|
);
|
||||||
|
top.frames[button_frame].document.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadFrames(){
|
||||||
|
list = DoGetPrefillList();
|
||||||
|
BREAK = list[0];
|
||||||
|
prefillList = list.split(BREAK);
|
||||||
|
loadFillins();
|
||||||
|
loadButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
function Save(){
|
||||||
|
selname = top.frames[list_frame].document.fSelectFillin;
|
||||||
|
var list = top.frames[button_frame].document.buttons.list;
|
||||||
|
var url = top.frames[button_frame].document.buttons.url;
|
||||||
|
var skip = top.frames[button_frame].document.buttons.skip;
|
||||||
|
list.value = prefillList[prefillList.length-2];
|
||||||
|
url.value = prefillList[prefillList.length-1];
|
||||||
|
var fillins = top.frames[button_frame].document.buttons.fillins;
|
||||||
|
fillins.value = "";
|
||||||
|
for (i=0; !(i>=selname.length); i++) {
|
||||||
|
fillins.value = fillins.value +
|
||||||
|
selname.elements[i].options[selname.elements[i].selectedIndex].value + "#*%$" +
|
||||||
|
selname.elements[i].options[selname.elements[i].selectedIndex].text + "#*%$";
|
||||||
|
}
|
||||||
|
var result = "|list|"+list.value+"|fillins|"+fillins.value;
|
||||||
|
result += "|url|"+url.value+"|skip|"+skip.checked+"|";
|
||||||
|
DoSave(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Cancel(){
|
||||||
|
selname = top.frames[list_frame].document.fSelectFillin;
|
||||||
|
var list = top.frames[button_frame].document.buttons.list;
|
||||||
|
list.value = prefillList[prefillList.length-2];
|
||||||
|
var result = "|list|"+list.value+"|fillins||url||skip|false|";
|
||||||
|
DoSave(result);
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE window>
|
||||||
|
<xul:window xmlns="http://www.w3.org/TR/REC-html40"
|
||||||
|
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
|
|
||||||
|
<script src="WalletPreview.js"/>
|
||||||
|
|
||||||
|
<frameset rows = "15,25,100,75"
|
||||||
|
border="0"
|
||||||
|
framespacing="0"
|
||||||
|
onload="loadFrames();">
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="index_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="title_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="list_frame"
|
||||||
|
scrolling="auto"
|
||||||
|
marginwidth="0"
|
||||||
|
marginheight="0"
|
||||||
|
noresize="noresize"/>
|
||||||
|
<frame src="about:blank"
|
||||||
|
name="button_frame"
|
||||||
|
scrolling="no"
|
||||||
|
marginwidth="1"
|
||||||
|
marginheight="1"
|
||||||
|
noresize="noresize"/>
|
||||||
|
</frameset>
|
||||||
|
|
||||||
|
</xul:window>
|
|
@ -51,4 +51,5 @@ clobber::
|
||||||
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
rm -f $(DIST)\lib\$(LIBRARY_NAME).lib
|
||||||
|
|
||||||
install:: $(DLL)
|
install:: $(DLL)
|
||||||
$(MAKE_INSTALL) WalletPreview.html $(DIST)\bin\res\samples
|
$(MAKE_INSTALL) WalletPreview.xul $(DIST)\bin\res\samples
|
||||||
|
$(MAKE_INSTALL) WalletPreview.js $(DIST)\bin\res\samples
|
||||||
|
|
|
@ -363,7 +363,6 @@ nsBrowserAppCore::Stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ClientWallet
|
#ifdef ClientWallet
|
||||||
#define WALLET_EDITOR_NAME "walleted.html"
|
|
||||||
|
|
||||||
#define WALLET_SAMPLES_URL "http://people.netscape.com/morse/wallet/samples/"
|
#define WALLET_SAMPLES_URL "http://people.netscape.com/morse/wallet/samples/"
|
||||||
//#define WALLET_SAMPLES_URL "http://peoplestage/morse/wallet/samples/"
|
//#define WALLET_SAMPLES_URL "http://peoplestage/morse/wallet/samples/"
|
||||||
|
@ -898,7 +897,7 @@ nsBrowserAppCore::WalletEditor(nsIDOMWindow* aWin)
|
||||||
window = nsnull;
|
window = nsnull;
|
||||||
|
|
||||||
nsCOMPtr<nsIURI> urlObj;
|
nsCOMPtr<nsIURI> urlObj;
|
||||||
char *urlstr = "resource:/res/samples/WalletEditor.html";
|
char *urlstr = "resource:/res/samples/WalletEditor.xul";
|
||||||
#ifndef NECKO
|
#ifndef NECKO
|
||||||
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
||||||
#else
|
#else
|
||||||
|
@ -951,7 +950,7 @@ nsBrowserAppCore::SignonViewer(nsIDOMWindow* aWin)
|
||||||
window = nsnull;
|
window = nsnull;
|
||||||
|
|
||||||
nsCOMPtr<nsIURI> urlObj;
|
nsCOMPtr<nsIURI> urlObj;
|
||||||
char * urlstr = "resource:/res/samples/SignonViewer.html";
|
char * urlstr = "resource:/res/samples/SignonViewer.xul";
|
||||||
#ifndef NECKO
|
#ifndef NECKO
|
||||||
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
||||||
#else
|
#else
|
||||||
|
@ -1003,7 +1002,7 @@ nsBrowserAppCore::CookieViewer(nsIDOMWindow* aWin)
|
||||||
window = nsnull;
|
window = nsnull;
|
||||||
|
|
||||||
nsCOMPtr<nsIURI> urlObj;
|
nsCOMPtr<nsIURI> urlObj;
|
||||||
char *urlstr = "resource:/res/samples/CookieViewer.html";
|
char *urlstr = "resource:/res/samples/CookieViewer.xul";
|
||||||
#ifndef NECKO
|
#ifndef NECKO
|
||||||
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
||||||
#else
|
#else
|
||||||
|
@ -1085,7 +1084,7 @@ nsBrowserAppCore::WalletPreview(nsIDOMWindow* aWin, nsIDOMWindow* aForm)
|
||||||
window = nsnull;
|
window = nsnull;
|
||||||
|
|
||||||
nsCOMPtr<nsIURI> urlObj;
|
nsCOMPtr<nsIURI> urlObj;
|
||||||
char * urlstr = "resource:/res/samples/WalletPreview.html";
|
char * urlstr = "resource:/res/samples/WalletPreview.xul";
|
||||||
#ifndef NECKO
|
#ifndef NECKO
|
||||||
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
rv = NS_NewURL(getter_AddRefs(urlObj), urlstr);
|
||||||
#else
|
#else
|
||||||
|
|
Загрузка…
Ссылка в новой задаче