From 96e4988a5f755795ae7544ee5e53f8db601fc3b9 Mon Sep 17 00:00:00 2001 From: "bzbarsky%mit.edu" Date: Sun, 15 Oct 2006 15:42:29 +0000 Subject: [PATCH] Fix cross-origin access to the window.window getter. Bug 356474, r+sr=jst git-svn-id: svn://10.0.0.236/trunk@213673 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/dom/src/base/nsDOMClassInfo.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/mozilla/dom/src/base/nsDOMClassInfo.cpp b/mozilla/dom/src/base/nsDOMClassInfo.cpp index 6f9239ba8c1..cdf00a60b7b 100644 --- a/mozilla/dom/src/base/nsDOMClassInfo.cpp +++ b/mozilla/dom/src/base/nsDOMClassInfo.cpp @@ -6377,11 +6377,19 @@ nsWindowSH::NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSAutoRequest ar(cx); - if (!::JS_DefineUCProperty(cx, obj, ::JS_GetStringChars(str), - ::JS_GetStringLength(str), - OBJECT_TO_JSVAL(win->GetGlobalJSObject()), - nsnull, nsnull, - JSPROP_READONLY | JSPROP_ENUMERATE)) { + PRBool doSecurityCheckInAddProperty = sDoSecurityCheckInAddProperty; + sDoSecurityCheckInAddProperty = PR_FALSE; + + PRBool ok = + ::JS_DefineUCProperty(cx, obj, ::JS_GetStringChars(str), + ::JS_GetStringLength(str), + OBJECT_TO_JSVAL(win->GetGlobalJSObject()), + nsnull, nsnull, + JSPROP_READONLY | JSPROP_ENUMERATE); + + sDoSecurityCheckInAddProperty = doSecurityCheckInAddProperty; + + if (!ok) { return NS_ERROR_FAILURE; } *objp = obj;