Bug 12350: selected read/write

This commit is contained in:
pollmann%netscape.com 1999-09-16 20:13:41 +00:00
Родитель 8a673d7602
Коммит 0e7916f242
3 изменённых файлов: 21 добавлений и 2 удалений

Просмотреть файл

@ -52,6 +52,7 @@ public:
NS_IMETHOD SetLabel(const nsString& aLabel)=0;
NS_IMETHOD GetSelected(PRBool* aSelected)=0;
NS_IMETHOD SetSelected(PRBool aSelected)=0;
NS_IMETHOD GetValue(nsString& aValue)=0;
NS_IMETHOD SetValue(const nsString& aValue)=0;
@ -70,6 +71,7 @@ public:
NS_IMETHOD GetLabel(nsString& aLabel); \
NS_IMETHOD SetLabel(const nsString& aLabel); \
NS_IMETHOD GetSelected(PRBool* aSelected); \
NS_IMETHOD SetSelected(PRBool aSelected); \
NS_IMETHOD GetValue(nsString& aValue); \
NS_IMETHOD SetValue(const nsString& aValue); \
@ -87,6 +89,7 @@ public:
NS_IMETHOD GetLabel(nsString& aLabel) { return _to GetLabel(aLabel); } \
NS_IMETHOD SetLabel(const nsString& aLabel) { return _to SetLabel(aLabel); } \
NS_IMETHOD GetSelected(PRBool* aSelected) { return _to GetSelected(aSelected); } \
NS_IMETHOD SetSelected(PRBool aSelected) { return _to SetSelected(aSelected); } \
NS_IMETHOD GetValue(nsString& aValue) { return _to GetValue(aValue); } \
NS_IMETHOD SetValue(const nsString& aValue) { return _to SetValue(aValue); } \

Просмотреть файл

@ -10,7 +10,7 @@
attribute long index;
attribute boolean disabled;
attribute DOMString label;
readonly attribute boolean selected;
attribute boolean selected;
attribute DOMString value;
};

Просмотреть файл

@ -327,6 +327,22 @@ SetHTMLOptionElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
break;
}
case HTMLOPTIONELEMENT_SELECTED:
{
PRBool ok = PR_FALSE;
secMan->CheckScriptAccess(scriptCX, obj, "htmloptionelement.selected", PR_TRUE, &ok);
if (!ok) {
return nsJSUtils::nsReportError(cx, NS_ERROR_DOM_SECURITY_ERR);
}
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
return nsJSUtils::nsReportError(cx, NS_ERROR_DOM_NOT_BOOLEAN_ERR);
}
a->SetSelected(prop);
break;
}
case HTMLOPTIONELEMENT_VALUE:
{
PRBool ok = PR_FALSE;
@ -412,7 +428,7 @@ static JSPropertySpec HTMLOptionElementProperties[] =
{"index", HTMLOPTIONELEMENT_INDEX, JSPROP_ENUMERATE},
{"disabled", HTMLOPTIONELEMENT_DISABLED, JSPROP_ENUMERATE},
{"label", HTMLOPTIONELEMENT_LABEL, JSPROP_ENUMERATE},
{"selected", HTMLOPTIONELEMENT_SELECTED, JSPROP_ENUMERATE | JSPROP_READONLY},
{"selected", HTMLOPTIONELEMENT_SELECTED, JSPROP_ENUMERATE},
{"value", HTMLOPTIONELEMENT_VALUE, JSPROP_ENUMERATE},
{0}
};