From dbdd20c732d74330a63c5d83a05e2cd3ccfb4cea Mon Sep 17 00:00:00 2001 From: "mrbkap@gmail.com" Date: Sat, 22 Sep 2007 14:09:51 -0700 Subject: [PATCH] Fix Convert to work for JSTYPE_VOID and make sure it reports an error. bug 394436, r=jst sr=brendan --- js/src/xpconnect/src/XPCCrossOriginWrapper.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/js/src/xpconnect/src/XPCCrossOriginWrapper.cpp b/js/src/xpconnect/src/XPCCrossOriginWrapper.cpp index 4419761bed5..0f43de6c037 100644 --- a/js/src/xpconnect/src/XPCCrossOriginWrapper.cpp +++ b/js/src/xpconnect/src/XPCCrossOriginWrapper.cpp @@ -789,9 +789,15 @@ XPC_XOW_Convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp) return JS_TRUE; } + // Note: JSTYPE_VOID and JSTYPE_STRING are equivalent. nsresult rv = IsWrapperSameOrigin(cx, wrappedObj); if (NS_FAILED(rv) && - (rv != NS_ERROR_DOM_PROP_ACCESS_DENIED || type != JSTYPE_STRING)) { + (rv != NS_ERROR_DOM_PROP_ACCESS_DENIED || + (type != JSTYPE_STRING && type != JSTYPE_VOID))) { + // Ensure that we report some kind of error. + if (rv == NS_ERROR_DOM_PROP_ACCESS_DENIED) { + ThrowException(rv, cx); + } return JS_FALSE; }