Make WidgetStateManager also remember the .checked property for <listitem type="checkbox"/>. This fixes bug 134441, Scripts & Windows pref panel doesn't remember checkboxes on viewing it the second time. r=hewitt, sr=ben

git-svn-id: svn://10.0.0.236/trunk@119234 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
caillon%returnzero.com
2002-04-17 14:46:21 +00:00
parent 10ff83b247
commit 99aee188d1

View File

@@ -84,7 +84,9 @@ function nsWidgetStateManager ( aFrameID )
checkbox:
{ get: wsm.get_Checkbox, set: wsm.set_Checkbox },
textbox:
{ get: wsm.get_Textbox, set: wsm.set_Textbox},
{ get: wsm.get_Textbox, set: wsm.set_Textbox },
listitem:
{ get: wsm.get_Listitem, set: wsm.set_Listitem },
default_handler:
{ get: wsm.get_Default, set: wsm.set_Default }
}
@@ -303,7 +305,7 @@ nsWidgetStateManager.prototype =
var dataObject = wsm.generic_Get( element );
if( dataObject )
{
dataObject.value = wsm.contentArea.document.getElementById( aElementID ).value;
dataObject.value = element.value;
return dataObject;
}
return null;
@@ -328,13 +330,37 @@ nsWidgetStateManager.prototype =
var dataObject = wsm.generic_Get( element );
if( dataObject )
{
var checked = wsm.contentArea.document.getElementById( aElementID ).checked;
var checked = element.checked;
dataObject.checked = element.getAttribute("reversed") == "true" ? !checked : checked;
return dataObject;
}
return null;
},
// <listitem>
set_Listitem:
function ( aElementID, aDataObject )
{
var element = wsm.contentArea.document.getElementById( aElementID );
wsm.generic_Set( element, aDataObject );
},
get_Listitem:
function ( aElementID )
{
var element = wsm.contentArea.document.getElementById( aElementID );
var dataObject = wsm.generic_Get( element );
if( dataObject )
{
if( element.getAttribute("type") == "checkbox" )
{
dataObject.checked = element.checked;
}
return dataObject;
}
return null;
},
// <default>
set_Default:
function ( aElementID, aDataObject )