From 5cd5943910ba749326e72a921a764eb2c7e5b158 Mon Sep 17 00:00:00 2001 From: Bobby Holley Date: Fri, 7 Sep 2012 11:28:56 -0700 Subject: [PATCH] Bug 788914 - Recompute cross-compartment wrappers when UniversalXPConnect is enabled. r=mrbkap --- js/xpconnect/src/xpcprivate.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/js/xpconnect/src/xpcprivate.h b/js/xpconnect/src/xpcprivate.h index f575a7e4d43c..fd554fc35640 100644 --- a/js/xpconnect/src/xpcprivate.h +++ b/js/xpconnect/src/xpcprivate.h @@ -4407,6 +4407,13 @@ inline void EnableUniversalXPConnect(JSContext *cx) if (!priv) return; priv->universalXPConnectEnabled = true; + + // Recompute all the cross-compartment wrappers leaving the newly-privileged + // compartment. + mozilla::DebugOnly rv; + rv = js::RecomputeWrappers(cx, js::SingleCompartment(compartment), + js::AllCompartments()); + MOZ_ASSERT(rv); } }