Fixing nsbeta2+ crasher bug 39693, the JS gluecode generated by IDLC did properly check if the parguments passed in from JS were of correct type and properly set the return value if they weren't, but then ignored the error and continued passing along an invalid argument to the native implmentation. r=waterson

This commit is contained in:
jst%netscape.com 2000-05-30 22:55:15 +00:00
parent b1e3810872
commit 88fefdd059
40 changed files with 97 additions and 0 deletions

View File

@ -121,6 +121,7 @@ SetBarPropProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetVisible(prop);

View File

@ -620,6 +620,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIWindowIID, NS_ConvertASCIItoUCS2("Window"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetOpener(prop);
@ -674,6 +675,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetInnerWidth(prop);
@ -692,6 +694,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetInnerHeight(prop);
@ -710,6 +713,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetOuterWidth(prop);
@ -728,6 +732,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetOuterHeight(prop);
@ -746,6 +751,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetScreenX(prop);
@ -764,6 +770,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetScreenY(prop);
@ -782,6 +789,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetPageXOffset(prop);
@ -800,6 +808,7 @@ SetWindowProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetPageYOffset(prop);

View File

@ -206,6 +206,7 @@ SetStyleSheetProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);

View File

@ -322,6 +322,7 @@ SetUIEventProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
nsIDOMNSUIEvent *b;

View File

@ -538,6 +538,7 @@ SetHTMLAnchorElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTabIndex(prop);

View File

@ -402,6 +402,7 @@ SetHTMLAreaElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetNoHref(prop);
@ -432,6 +433,7 @@ SetHTMLAreaElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTabIndex(prop);

View File

@ -216,6 +216,7 @@ SetHTMLButtonElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);
@ -246,6 +247,7 @@ SetHTMLButtonElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTabIndex(prop);

View File

@ -121,6 +121,7 @@ SetHTMLDListElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetCompact(prop);

View File

@ -121,6 +121,7 @@ SetHTMLDirectoryElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetCompact(prop);

View File

@ -474,6 +474,7 @@ SetHTMLDocumentProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIHTMLElementIID, NS_ConvertASCIItoUCS2("HTMLElement"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetBody(prop);

View File

@ -288,6 +288,7 @@ SetHTMLFrameElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetNoResize(prop);
@ -328,6 +329,7 @@ SetHTMLFrameElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIDocumentIID, NS_ConvertASCIItoUCS2("Document"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetContentDocument(prop);

View File

@ -172,6 +172,7 @@ SetHTMLHRElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetNoShade(prop);

View File

@ -376,6 +376,7 @@ SetHTMLIFrameElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIDocumentIID, NS_ConvertASCIItoUCS2("Document"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetContentDocument(prop);

View File

@ -394,6 +394,7 @@ SetHTMLImageElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetIsMap(prop);

View File

@ -442,6 +442,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDefaultChecked(prop);
@ -504,6 +505,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetChecked(prop);
@ -518,6 +520,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);
@ -536,6 +539,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetMaxLength(prop);
@ -562,6 +566,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetReadOnly(prop);
@ -604,6 +609,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTabIndex(prop);
@ -658,6 +664,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
nsIDOMNSHTMLInputElement *b;
@ -684,6 +691,7 @@ SetHTMLInputElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
nsIDOMNSHTMLInputElement *b;

View File

@ -150,6 +150,7 @@ SetHTMLLIElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetValue(prop);

View File

@ -219,6 +219,7 @@ SetHTMLLayerElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTop(prop);
@ -237,6 +238,7 @@ SetHTMLLayerElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetLeft(prop);
@ -303,6 +305,7 @@ SetHTMLLayerElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetZIndex(prop);

View File

@ -225,6 +225,7 @@ SetHTMLLinkElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);

View File

@ -121,6 +121,7 @@ SetHTMLMenuElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetCompact(prop);

View File

@ -147,6 +147,7 @@ SetHTMLOListElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetCompact(prop);
@ -165,6 +166,7 @@ SetHTMLOListElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetStart(prop);

View File

@ -445,6 +445,7 @@ SetHTMLObjectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDeclare(prop);
@ -511,6 +512,7 @@ SetHTMLObjectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTabIndex(prop);
@ -575,6 +577,7 @@ SetHTMLObjectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIDocumentIID, NS_ConvertASCIItoUCS2("Document"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetContentDocument(prop);

View File

@ -134,6 +134,7 @@ SetHTMLOptGroupElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);

View File

@ -221,6 +221,7 @@ SetHTMLOptionElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDefaultSelected(prop);
@ -247,6 +248,7 @@ SetHTMLOptionElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);
@ -273,6 +275,7 @@ SetHTMLOptionElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetSelected(prop);

View File

@ -125,6 +125,7 @@ SetHTMLPreElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetWidth(prop);

View File

@ -247,6 +247,7 @@ SetHTMLScriptElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDefer(prop);

View File

@ -322,6 +322,7 @@ SetHTMLSelectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetSelectedIndex(prop);
@ -352,6 +353,7 @@ SetHTMLSelectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetLength(prop);
@ -366,6 +368,7 @@ SetHTMLSelectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);
@ -380,6 +383,7 @@ SetHTMLSelectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetMultiple(prop);
@ -410,6 +414,7 @@ SetHTMLSelectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetSize(prop);
@ -428,6 +433,7 @@ SetHTMLSelectElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTabIndex(prop);

View File

@ -147,6 +147,7 @@ SetHTMLStyleElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);

View File

@ -307,6 +307,7 @@ SetHTMLTableCellElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetCellIndex(prop);
@ -397,6 +398,7 @@ SetHTMLTableCellElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetColSpan(prop);
@ -435,6 +437,7 @@ SetHTMLTableCellElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetNoWrap(prop);
@ -453,6 +456,7 @@ SetHTMLTableCellElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetRowSpan(prop);

View File

@ -226,6 +226,7 @@ SetHTMLTableColElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetSpan(prop);

View File

@ -305,6 +305,7 @@ SetHTMLTableElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIHTMLTableCaptionElementIID, NS_ConvertASCIItoUCS2("HTMLTableCaptionElement"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetCaption(prop);
@ -321,6 +322,7 @@ SetHTMLTableElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIHTMLTableSectionElementIID, NS_ConvertASCIItoUCS2("HTMLTableSectionElement"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetTHead(prop);
@ -337,6 +339,7 @@ SetHTMLTableElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIHTMLTableSectionElementIID, NS_ConvertASCIItoUCS2("HTMLTableSectionElement"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetTFoot(prop);

View File

@ -221,6 +221,7 @@ SetHTMLTableRowElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetRowIndex(prop);
@ -239,6 +240,7 @@ SetHTMLTableRowElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetSectionRowIndex(prop);
@ -255,6 +257,7 @@ SetHTMLTableRowElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
kIHTMLCollectionIID, NS_ConvertASCIItoUCS2("HTMLCollection"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetCells(prop);

View File

@ -307,6 +307,7 @@ SetHTMLTextAreaElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetCols(prop);
@ -321,6 +322,7 @@ SetHTMLTextAreaElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);
@ -347,6 +349,7 @@ SetHTMLTextAreaElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetReadOnly(prop);
@ -365,6 +368,7 @@ SetHTMLTextAreaElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetRows(prop);
@ -383,6 +387,7 @@ SetHTMLTextAreaElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetTabIndex(prop);

View File

@ -134,6 +134,7 @@ SetHTMLUListElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetCompact(prop);

View File

@ -179,6 +179,7 @@ SetNSHTMLOptionCollectionProperty(JSContext *cx, JSObject *obj, jsval id, jsval
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetLength(prop);
@ -197,6 +198,7 @@ SetNSHTMLOptionCollectionProperty(JSContext *cx, JSObject *obj, jsval id, jsval
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetSelectedIndex(prop);

View File

@ -185,6 +185,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
kIElementIID, NS_ConvertASCIItoUCS2("Element"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetFocusedElement(prop);
@ -201,6 +202,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
kIWindowIID, NS_ConvertASCIItoUCS2("Window"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetFocusedWindow(prop);
@ -215,6 +217,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetSuppressFocus(prop);
@ -229,6 +232,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetSuppressFocusScroll(prop);
@ -243,6 +247,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetActive(prop);

View File

@ -174,6 +174,7 @@ SetXULDocumentProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kINodeIID, NS_ConvertASCIItoUCS2("Node"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetPopupNode(prop);
@ -190,6 +191,7 @@ SetXULDocumentProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kINodeIID, NS_ConvertASCIItoUCS2("Node"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetTooltipNode(prop);

View File

@ -865,12 +865,14 @@ static const char kObjectSetCaseStr[] =
" kI%sIID, NS_ConvertASCIItoUCS2(\"%s\"),\n"
" cx, *vp)) {\n"
" rv = NS_ERROR_DOM_NOT_OBJECT_ERR;\n"
" break;\n"
" }\n";
static const char kXPIDLObjectSetCaseStr[] =
" if (PR_FALSE == nsJSUtils::nsConvertJSValToXPCObject((nsISupports **) &prop,\n"
" kI%sIID, cx, *vp)) {\n"
" rv = NS_ERROR_DOM_NOT_XPC_OBJECT_ERR;\n"
" break;\n"
" }\n";
static const char kObjectSetCaseEndStr[] = "NS_IF_RELEASE(prop);";
@ -887,11 +889,13 @@ static const char kIntSetCaseStr[] =
" }\n"
" else {\n"
" rv = NS_ERROR_DOM_NOT_NUMBER_ERR;\n"
" break;\n"
" }\n";
static const char kBoolSetCaseStr[] =
" if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {\n"
" rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;\n"
" break;\n"
" }\n";
static const char kJSValSetCaseStr[] =

View File

@ -185,6 +185,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
kIElementIID, NS_ConvertASCIItoUCS2("Element"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetFocusedElement(prop);
@ -201,6 +202,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
kIWindowIID, NS_ConvertASCIItoUCS2("Window"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetFocusedWindow(prop);
@ -215,6 +217,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetSuppressFocus(prop);
@ -229,6 +232,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetSuppressFocusScroll(prop);
@ -243,6 +247,7 @@ SetXULCommandDispatcherProperty(JSContext *cx, JSObject *obj, jsval id, jsval *v
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetActive(prop);

View File

@ -174,6 +174,7 @@ SetXULDocumentProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kINodeIID, NS_ConvertASCIItoUCS2("Node"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetPopupNode(prop);
@ -190,6 +191,7 @@ SetXULDocumentProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kINodeIID, NS_ConvertASCIItoUCS2("Node"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetTooltipNode(prop);

View File

@ -228,6 +228,7 @@ SetXULMenuListElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
kIElementIID, NS_ConvertASCIItoUCS2("Element"),
cx, *vp)) {
rv = NS_ERROR_DOM_NOT_OBJECT_ERR;
break;
}
rv = a->SetSelectedItem(prop);
@ -246,6 +247,7 @@ SetXULMenuListElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
}
else {
rv = NS_ERROR_DOM_NOT_NUMBER_ERR;
break;
}
rv = a->SetSelectedIndex(prop);
@ -272,6 +274,7 @@ SetXULMenuListElementProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
PRBool prop;
if (PR_FALSE == nsJSUtils::nsConvertJSValToBool(&prop, cx, *vp)) {
rv = NS_ERROR_DOM_NOT_BOOLEAN_ERR;
break;
}
rv = a->SetDisabled(prop);