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:
@@ -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 )
|
||||
|
||||
Reference in New Issue
Block a user