diff --git a/caps/src/nsScriptSecurityManager.cpp b/caps/src/nsScriptSecurityManager.cpp index 0a58a6f2306d..0343af188eb6 100644 --- a/caps/src/nsScriptSecurityManager.cpp +++ b/caps/src/nsScriptSecurityManager.cpp @@ -3048,7 +3048,6 @@ nsresult nsScriptSecurityManager::Init() static const JSSecurityCallbacks securityCallbacks = { CheckObjectAccess, - nsJSPrincipals::Subsume, ObjectPrincipalFinder, ContentSecurityPolicyPermitsJSAction }; diff --git a/js/src/jsapi-tests/testOriginPrincipals.cpp b/js/src/jsapi-tests/testOriginPrincipals.cpp index 2f963207741a..7b520682ffa0 100644 --- a/js/src/jsapi-tests/testOriginPrincipals.cpp +++ b/js/src/jsapi-tests/testOriginPrincipals.cpp @@ -15,7 +15,6 @@ ObjectPrincipalsFinder(JSObject *) } static const JSSecurityCallbacks seccb = { - NULL, NULL, ObjectPrincipalsFinder, NULL diff --git a/js/src/jsapi.h b/js/src/jsapi.h index c8ab0f09c61b..7172963dd7b9 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -1997,9 +1997,6 @@ typedef JSBool typedef void (* JSDestroyPrincipalsOp)(JSPrincipals *principals); -typedef JSBool -(* JSSubsumePrincipalsOp)(JSPrincipals *principals1, JSPrincipals *principals2); - /* * Return a weak reference to the principals associated with obj, possibly via * the immutable parent chain leading from obj to a top-level container (e.g., @@ -4911,7 +4908,6 @@ JS_DropPrincipals(JSRuntime *rt, JSPrincipals *principals); struct JSSecurityCallbacks { JSCheckAccessOp checkObjectAccess; - JSSubsumePrincipalsOp subsumePrincipals; JSObjectPrincipalsFinder findObjectPrincipals; JSCSPEvalChecker contentSecurityPolicyAllows; }; diff --git a/js/src/jsobj.cpp b/js/src/jsobj.cpp index d218bab15e4d..e787935de03a 100644 --- a/js/src/jsobj.cpp +++ b/js/src/jsobj.cpp @@ -661,25 +661,12 @@ obj_watch_handler(JSContext *cx, JSObject *obj_, jsid id_, jsval old, RootedObject obj(cx, obj_); RootedId id(cx, id_); - JSObject *callable = (JSObject *) closure; - if (JSSubsumePrincipalsOp subsume = cx->runtime->securityCallbacks->subsumePrincipals) { - if (JSPrincipals *watcher = callable->principals(cx)) { - if (JSObject *scopeChain = cx->stack.currentScriptedScopeChain()) { - if (JSPrincipals *subject = scopeChain->principals(cx)) { - if (!subsume(watcher, subject)) { - /* Silently don't call the watch handler. */ - return true; - } - } - } - } - } - /* Avoid recursion on (obj, id) already being watched on cx. */ AutoResolving resolving(cx, obj, id, AutoResolving::WATCH); if (resolving.alreadyStarted()) return true; + JSObject *callable = (JSObject *)closure; Value argv[] = { IdToValue(id), old, *nvp }; return Invoke(cx, ObjectValue(*obj), ObjectOrNullValue(callable), ArrayLength(argv), argv, nvp); } diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp index 146c6e9e40ad..c49e321e5124 100644 --- a/js/src/shell/js.cpp +++ b/js/src/shell/js.cpp @@ -4891,7 +4891,6 @@ CheckObjectAccess(JSContext *cx, HandleObject obj, HandleId id, JSAccessMode mod JSSecurityCallbacks securityCallbacks = { CheckObjectAccess, NULL, - NULL, NULL };