diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 12f8ab7328e1..84f8c8f334a9 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -6625,6 +6625,17 @@ nsWindowSH::NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, // property *objp = obj; + if (ObjectIsNativeWrapper(cx, obj)) { + // Unless our object is a native wrapper, in which case we have to + // define it ourselves. + + *_retval = JS_DefineProperty(cx, obj, "document", v, NULL, NULL, + JSPROP_READONLY | JSPROP_ENUMERATE); + if (!*_retval) { + return NS_ERROR_UNEXPECTED; + } + } + return NS_OK; }