From 88fefdd0596500b0b01a243c0aa6f9e8d0c33524 Mon Sep 17 00:00:00 2001 From: "jst%netscape.com" Date: Tue, 30 May 2000 22:55:15 +0000 Subject: [PATCH] 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 --- dom/src/base/nsJSBarProp.cpp | 1 + dom/src/base/nsJSWindow.cpp | 9 +++++++++ dom/src/coreDOM/nsJSStyleSheet.cpp | 1 + dom/src/events/nsJSUIEvent.cpp | 1 + dom/src/html/nsJSHTMLAnchorElement.cpp | 1 + dom/src/html/nsJSHTMLAreaElement.cpp | 2 ++ dom/src/html/nsJSHTMLButtonElement.cpp | 2 ++ dom/src/html/nsJSHTMLDListElement.cpp | 1 + dom/src/html/nsJSHTMLDirectoryElement.cpp | 1 + dom/src/html/nsJSHTMLDocument.cpp | 1 + dom/src/html/nsJSHTMLFrameElement.cpp | 2 ++ dom/src/html/nsJSHTMLHRElement.cpp | 1 + dom/src/html/nsJSHTMLIFrameElement.cpp | 1 + dom/src/html/nsJSHTMLImageElement.cpp | 1 + dom/src/html/nsJSHTMLInputElement.cpp | 8 ++++++++ dom/src/html/nsJSHTMLLIElement.cpp | 1 + dom/src/html/nsJSHTMLLayerElement.cpp | 3 +++ dom/src/html/nsJSHTMLLinkElement.cpp | 1 + dom/src/html/nsJSHTMLMenuElement.cpp | 1 + dom/src/html/nsJSHTMLOListElement.cpp | 2 ++ dom/src/html/nsJSHTMLObjectElement.cpp | 3 +++ dom/src/html/nsJSHTMLOptGroupElement.cpp | 1 + dom/src/html/nsJSHTMLOptionElement.cpp | 3 +++ dom/src/html/nsJSHTMLPreElement.cpp | 1 + dom/src/html/nsJSHTMLScriptElement.cpp | 1 + dom/src/html/nsJSHTMLSelectElement.cpp | 6 ++++++ dom/src/html/nsJSHTMLStyleElement.cpp | 1 + dom/src/html/nsJSHTMLTableCellElement.cpp | 4 ++++ dom/src/html/nsJSHTMLTableColElement.cpp | 1 + dom/src/html/nsJSHTMLTableElement.cpp | 3 +++ dom/src/html/nsJSHTMLTableRowElement.cpp | 3 +++ dom/src/html/nsJSHTMLTextAreaElement.cpp | 5 +++++ dom/src/html/nsJSHTMLUListElement.cpp | 1 + dom/src/html/nsJSNSHTMLOptionCollection.cpp | 2 ++ dom/src/xul/nsJSXULCommandDispatcher.cpp | 5 +++++ dom/src/xul/nsJSXULDocument.cpp | 2 ++ dom/tools/JSStubGen.cpp | 4 ++++ rdf/content/src/nsJSXULCommandDispatcher.cpp | 5 +++++ rdf/content/src/nsJSXULDocument.cpp | 2 ++ rdf/content/src/nsJSXULMenuListElement.cpp | 3 +++ 40 files changed, 97 insertions(+) diff --git a/dom/src/base/nsJSBarProp.cpp b/dom/src/base/nsJSBarProp.cpp index 50ebdab11349..488067aaaadb 100644 --- a/dom/src/base/nsJSBarProp.cpp +++ b/dom/src/base/nsJSBarProp.cpp @@ -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); diff --git a/dom/src/base/nsJSWindow.cpp b/dom/src/base/nsJSWindow.cpp index 6232dbf4b432..323bc272babf 100644 --- a/dom/src/base/nsJSWindow.cpp +++ b/dom/src/base/nsJSWindow.cpp @@ -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); diff --git a/dom/src/coreDOM/nsJSStyleSheet.cpp b/dom/src/coreDOM/nsJSStyleSheet.cpp index c6490b38991b..6eb51d6bf110 100644 --- a/dom/src/coreDOM/nsJSStyleSheet.cpp +++ b/dom/src/coreDOM/nsJSStyleSheet.cpp @@ -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); diff --git a/dom/src/events/nsJSUIEvent.cpp b/dom/src/events/nsJSUIEvent.cpp index ab43e058e282..3464eb2797a1 100644 --- a/dom/src/events/nsJSUIEvent.cpp +++ b/dom/src/events/nsJSUIEvent.cpp @@ -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; diff --git a/dom/src/html/nsJSHTMLAnchorElement.cpp b/dom/src/html/nsJSHTMLAnchorElement.cpp index 85c233adbfd9..64eec7c0e927 100644 --- a/dom/src/html/nsJSHTMLAnchorElement.cpp +++ b/dom/src/html/nsJSHTMLAnchorElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLAreaElement.cpp b/dom/src/html/nsJSHTMLAreaElement.cpp index 18a44495936d..def6b4347128 100644 --- a/dom/src/html/nsJSHTMLAreaElement.cpp +++ b/dom/src/html/nsJSHTMLAreaElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLButtonElement.cpp b/dom/src/html/nsJSHTMLButtonElement.cpp index d7d9717ac294..42227554ebc0 100644 --- a/dom/src/html/nsJSHTMLButtonElement.cpp +++ b/dom/src/html/nsJSHTMLButtonElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLDListElement.cpp b/dom/src/html/nsJSHTMLDListElement.cpp index a548ec0f17bb..442a430320ab 100644 --- a/dom/src/html/nsJSHTMLDListElement.cpp +++ b/dom/src/html/nsJSHTMLDListElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLDirectoryElement.cpp b/dom/src/html/nsJSHTMLDirectoryElement.cpp index 63f23b41b3ba..8d2b72b55d0a 100644 --- a/dom/src/html/nsJSHTMLDirectoryElement.cpp +++ b/dom/src/html/nsJSHTMLDirectoryElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLDocument.cpp b/dom/src/html/nsJSHTMLDocument.cpp index 5009eead5dad..a9ec51be3cf3 100644 --- a/dom/src/html/nsJSHTMLDocument.cpp +++ b/dom/src/html/nsJSHTMLDocument.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLFrameElement.cpp b/dom/src/html/nsJSHTMLFrameElement.cpp index b9b82493a764..38ab5c2e91e8 100644 --- a/dom/src/html/nsJSHTMLFrameElement.cpp +++ b/dom/src/html/nsJSHTMLFrameElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLHRElement.cpp b/dom/src/html/nsJSHTMLHRElement.cpp index ae2d8061132d..00e098680f73 100644 --- a/dom/src/html/nsJSHTMLHRElement.cpp +++ b/dom/src/html/nsJSHTMLHRElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLIFrameElement.cpp b/dom/src/html/nsJSHTMLIFrameElement.cpp index 6de6ee1822d1..455639d1e3d3 100644 --- a/dom/src/html/nsJSHTMLIFrameElement.cpp +++ b/dom/src/html/nsJSHTMLIFrameElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLImageElement.cpp b/dom/src/html/nsJSHTMLImageElement.cpp index 5fbaf5bee203..52c8bdded94a 100644 --- a/dom/src/html/nsJSHTMLImageElement.cpp +++ b/dom/src/html/nsJSHTMLImageElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLInputElement.cpp b/dom/src/html/nsJSHTMLInputElement.cpp index e9c1f0a2885a..6fce7c22c1f2 100644 --- a/dom/src/html/nsJSHTMLInputElement.cpp +++ b/dom/src/html/nsJSHTMLInputElement.cpp @@ -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; diff --git a/dom/src/html/nsJSHTMLLIElement.cpp b/dom/src/html/nsJSHTMLLIElement.cpp index 7373f1b7aa95..72f35ebcef4b 100644 --- a/dom/src/html/nsJSHTMLLIElement.cpp +++ b/dom/src/html/nsJSHTMLLIElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLLayerElement.cpp b/dom/src/html/nsJSHTMLLayerElement.cpp index 8933d52d5fb1..c8dde1a5ecde 100644 --- a/dom/src/html/nsJSHTMLLayerElement.cpp +++ b/dom/src/html/nsJSHTMLLayerElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLLinkElement.cpp b/dom/src/html/nsJSHTMLLinkElement.cpp index c1be287a9d28..52c02f271c2a 100644 --- a/dom/src/html/nsJSHTMLLinkElement.cpp +++ b/dom/src/html/nsJSHTMLLinkElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLMenuElement.cpp b/dom/src/html/nsJSHTMLMenuElement.cpp index 9cc6bb1e31a8..ec89cda7da66 100644 --- a/dom/src/html/nsJSHTMLMenuElement.cpp +++ b/dom/src/html/nsJSHTMLMenuElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLOListElement.cpp b/dom/src/html/nsJSHTMLOListElement.cpp index 124e82b48895..006cdec74dbc 100644 --- a/dom/src/html/nsJSHTMLOListElement.cpp +++ b/dom/src/html/nsJSHTMLOListElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLObjectElement.cpp b/dom/src/html/nsJSHTMLObjectElement.cpp index 13207c19965a..e2fb317112db 100644 --- a/dom/src/html/nsJSHTMLObjectElement.cpp +++ b/dom/src/html/nsJSHTMLObjectElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLOptGroupElement.cpp b/dom/src/html/nsJSHTMLOptGroupElement.cpp index 6f26e9203ae0..0dfce5f27492 100644 --- a/dom/src/html/nsJSHTMLOptGroupElement.cpp +++ b/dom/src/html/nsJSHTMLOptGroupElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLOptionElement.cpp b/dom/src/html/nsJSHTMLOptionElement.cpp index 58c5c5fb9769..08c9e0007934 100644 --- a/dom/src/html/nsJSHTMLOptionElement.cpp +++ b/dom/src/html/nsJSHTMLOptionElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLPreElement.cpp b/dom/src/html/nsJSHTMLPreElement.cpp index acd9e1bd1d8d..0289aad778ac 100644 --- a/dom/src/html/nsJSHTMLPreElement.cpp +++ b/dom/src/html/nsJSHTMLPreElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLScriptElement.cpp b/dom/src/html/nsJSHTMLScriptElement.cpp index 5cf33a8d2eab..2d0768f8dcb3 100644 --- a/dom/src/html/nsJSHTMLScriptElement.cpp +++ b/dom/src/html/nsJSHTMLScriptElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLSelectElement.cpp b/dom/src/html/nsJSHTMLSelectElement.cpp index 02338d95f5b3..6dbed7231dc0 100644 --- a/dom/src/html/nsJSHTMLSelectElement.cpp +++ b/dom/src/html/nsJSHTMLSelectElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLStyleElement.cpp b/dom/src/html/nsJSHTMLStyleElement.cpp index 4ee76d9d46fa..839ed6a3d8e2 100644 --- a/dom/src/html/nsJSHTMLStyleElement.cpp +++ b/dom/src/html/nsJSHTMLStyleElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLTableCellElement.cpp b/dom/src/html/nsJSHTMLTableCellElement.cpp index 73ac5a6cddc9..143996aef793 100644 --- a/dom/src/html/nsJSHTMLTableCellElement.cpp +++ b/dom/src/html/nsJSHTMLTableCellElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLTableColElement.cpp b/dom/src/html/nsJSHTMLTableColElement.cpp index 40e418ceef1b..fd608ff4c859 100644 --- a/dom/src/html/nsJSHTMLTableColElement.cpp +++ b/dom/src/html/nsJSHTMLTableColElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLTableElement.cpp b/dom/src/html/nsJSHTMLTableElement.cpp index 6c30a7d49c81..b3a9889c3e89 100644 --- a/dom/src/html/nsJSHTMLTableElement.cpp +++ b/dom/src/html/nsJSHTMLTableElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLTableRowElement.cpp b/dom/src/html/nsJSHTMLTableRowElement.cpp index adea864ff64f..8a29091e33bf 100644 --- a/dom/src/html/nsJSHTMLTableRowElement.cpp +++ b/dom/src/html/nsJSHTMLTableRowElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLTextAreaElement.cpp b/dom/src/html/nsJSHTMLTextAreaElement.cpp index ac27435966ea..a22bdc7e4ae5 100644 --- a/dom/src/html/nsJSHTMLTextAreaElement.cpp +++ b/dom/src/html/nsJSHTMLTextAreaElement.cpp @@ -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); diff --git a/dom/src/html/nsJSHTMLUListElement.cpp b/dom/src/html/nsJSHTMLUListElement.cpp index 6565e3195cf0..36c424865495 100644 --- a/dom/src/html/nsJSHTMLUListElement.cpp +++ b/dom/src/html/nsJSHTMLUListElement.cpp @@ -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); diff --git a/dom/src/html/nsJSNSHTMLOptionCollection.cpp b/dom/src/html/nsJSNSHTMLOptionCollection.cpp index 518664c12477..a9d30ec28b33 100755 --- a/dom/src/html/nsJSNSHTMLOptionCollection.cpp +++ b/dom/src/html/nsJSNSHTMLOptionCollection.cpp @@ -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); diff --git a/dom/src/xul/nsJSXULCommandDispatcher.cpp b/dom/src/xul/nsJSXULCommandDispatcher.cpp index 80073aef81dc..ee8f4ce812f2 100644 --- a/dom/src/xul/nsJSXULCommandDispatcher.cpp +++ b/dom/src/xul/nsJSXULCommandDispatcher.cpp @@ -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); diff --git a/dom/src/xul/nsJSXULDocument.cpp b/dom/src/xul/nsJSXULDocument.cpp index ca238c14e90d..ac885f765cb9 100644 --- a/dom/src/xul/nsJSXULDocument.cpp +++ b/dom/src/xul/nsJSXULDocument.cpp @@ -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); diff --git a/dom/tools/JSStubGen.cpp b/dom/tools/JSStubGen.cpp index 7e123422741c..0e0ff3fe749b 100644 --- a/dom/tools/JSStubGen.cpp +++ b/dom/tools/JSStubGen.cpp @@ -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[] = diff --git a/rdf/content/src/nsJSXULCommandDispatcher.cpp b/rdf/content/src/nsJSXULCommandDispatcher.cpp index 80073aef81dc..ee8f4ce812f2 100644 --- a/rdf/content/src/nsJSXULCommandDispatcher.cpp +++ b/rdf/content/src/nsJSXULCommandDispatcher.cpp @@ -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); diff --git a/rdf/content/src/nsJSXULDocument.cpp b/rdf/content/src/nsJSXULDocument.cpp index ca238c14e90d..ac885f765cb9 100644 --- a/rdf/content/src/nsJSXULDocument.cpp +++ b/rdf/content/src/nsJSXULDocument.cpp @@ -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); diff --git a/rdf/content/src/nsJSXULMenuListElement.cpp b/rdf/content/src/nsJSXULMenuListElement.cpp index b7a25ab72351..74c52544e5e3 100644 --- a/rdf/content/src/nsJSXULMenuListElement.cpp +++ b/rdf/content/src/nsJSXULMenuListElement.cpp @@ -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);