Bug 750859 - Remove {Disable,Revert}Capability. r=bz, PGO helper on CLOSED TREE

This commit is contained in:
Bobby Holley 2012-05-02 23:57:43 +02:00
parent e6e34db54d
commit 710c5cfdb0
8 changed files with 2 additions and 139 deletions

View File

@ -52,7 +52,7 @@ interface nsIContentSecurityPolicy;
[ptr] native JSContext(JSContext);
[ptr] native JSPrincipals(JSPrincipals);
[scriptable, uuid(fb783979-b3f8-4e0d-980f-f0f83b0f505d)]
[scriptable, uuid(42ba6a38-d619-49ab-8248-3d247e959d5e)]
interface nsIPrincipal : nsISerializable
{
/**
@ -119,11 +119,6 @@ interface nsIPrincipal : nsISerializable
in voidPtr annotation);
[noscript] void enableCapability(in string capability,
inout voidPtr annotation);
[noscript] void revertCapability(in string capability,
inout voidPtr annotation);
[noscript] void disableCapability(in string capability,
inout voidPtr annotation);
/**
* The codebase URI to which this principal pertains. This is
* generally the document URI.

View File

@ -41,7 +41,7 @@
interface nsIURI;
interface nsIChannel;
[scriptable, uuid(d6cf287a-476a-43ba-aa03-70af4a01044e)]
[scriptable, uuid(3708aa92-e2d9-4fd1-9e46-edfa3eb5ebf5)]
interface nsIScriptSecurityManager : nsIXPCSecurityManager
{
///////////////// Security Checks //////////////////
@ -227,19 +227,6 @@ interface nsIScriptSecurityManager : nsIXPCSecurityManager
*/
void enableCapability(in string capability);
/**
* Remove 'capability' from the innermost frame of the currently
* executing script. Any setting of 'capability' from enclosing
* frames thus comes into effect.
*/
void revertCapability(in string capability);
/**
* Disable 'capability' in the innermost frame of the currently executing
* script.
*/
void disableCapability(in string capability);
//////////////// Master Certificate Functions ////////////////////
/**
* Allow 'certificateID' to enable 'capability.' Can only be performed

View File

@ -238,21 +238,6 @@ nsNullPrincipal::EnableCapability(const char *aCapability, void **aAnnotation)
return NS_OK;
}
NS_IMETHODIMP
nsNullPrincipal::RevertCapability(const char *aCapability, void **aAnnotation)
{
*aAnnotation = nsnull;
return NS_OK;
}
NS_IMETHODIMP
nsNullPrincipal::DisableCapability(const char *aCapability, void **aAnnotation)
{
// Just a no-op. They're all disabled anyway.
*aAnnotation = nsnull;
return NS_OK;
}
NS_IMETHODIMP
nsNullPrincipal::GetURI(nsIURI** aURI)
{

View File

@ -615,34 +615,6 @@ nsPrincipal::EnableCapability(const char *capability, void **annotation)
return SetCapability(capability, annotation, AnnotationEnabled);
}
NS_IMETHODIMP
nsPrincipal::DisableCapability(const char *capability, void **annotation)
{
return SetCapability(capability, annotation, AnnotationDisabled);
}
NS_IMETHODIMP
nsPrincipal::RevertCapability(const char *capability, void **annotation)
{
if (*annotation) {
nsHashtable *ht = (nsHashtable *) *annotation;
const char *start = capability;
for(;;) {
const char *space = PL_strchr(start, ' ');
int len = space ? space - start : strlen(start);
nsCAutoString capString(start, len);
nsCStringKey key(capString);
ht->Remove(&key);
if (!space) {
return NS_OK;
}
start = space + 1;
}
}
return NS_OK;
}
nsresult
nsPrincipal::SetCapability(const char *capability, void **annotation,
AnnotationValue value)

View File

@ -2772,40 +2772,6 @@ nsScriptSecurityManager::EnableCapability(const char *capability)
return NS_OK;
}
NS_IMETHODIMP
nsScriptSecurityManager::RevertCapability(const char *capability)
{
JSContext *cx = GetCurrentJSContext();
JSStackFrame *fp;
nsresult rv;
nsIPrincipal* principal = GetPrincipalAndFrame(cx, &fp, &rv);
if (NS_FAILED(rv))
return rv;
if (!principal)
return NS_ERROR_NOT_AVAILABLE;
void *annotation = JS_GetFrameAnnotation(cx, fp);
principal->RevertCapability(capability, &annotation);
JS_SetFrameAnnotation(cx, fp, annotation);
return NS_OK;
}
NS_IMETHODIMP
nsScriptSecurityManager::DisableCapability(const char *capability)
{
JSContext *cx = GetCurrentJSContext();
JSStackFrame *fp;
nsresult rv;
nsIPrincipal* principal = GetPrincipalAndFrame(cx, &fp, &rv);
if (NS_FAILED(rv))
return rv;
if (!principal)
return NS_ERROR_NOT_AVAILABLE;
void *annotation = JS_GetFrameAnnotation(cx, fp);
principal->DisableCapability(capability, &annotation);
JS_SetFrameAnnotation(cx, fp, annotation);
return NS_OK;
}
////////////////////////////////////////////////
// Methods implementing nsIXPCSecurityManager //
////////////////////////////////////////////////

View File

@ -183,22 +183,6 @@ nsSystemPrincipal::EnableCapability(const char *capability, void **annotation)
return NS_OK;
}
NS_IMETHODIMP
nsSystemPrincipal::RevertCapability(const char *capability, void **annotation)
{
*annotation = nsnull;
return NS_OK;
}
NS_IMETHODIMP
nsSystemPrincipal::DisableCapability(const char *capability, void **annotation)
{
// Can't disable the capabilities of the system principal.
// XXX might be handy to be able to do so!
*annotation = nsnull;
return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsSystemPrincipal::GetURI(nsIURI** aURI)
{

View File

@ -860,18 +860,6 @@ FullTrustSecMan::EnableCapability(const char *capability)
return NS_OK;;
}
NS_IMETHODIMP
FullTrustSecMan::RevertCapability(const char *capability)
{
return NS_OK;
}
NS_IMETHODIMP
FullTrustSecMan::DisableCapability(const char *capability)
{
return NS_OK;
}
NS_IMETHODIMP
FullTrustSecMan::GetObjectPrincipal(JSContext * cx,
JSObject * obj,

View File

@ -1507,20 +1507,6 @@ FullTrustSecMan::EnableCapability(const char *capability)
return NS_OK;;
}
/* void revertCapability (in string capability); */
NS_IMETHODIMP
FullTrustSecMan::RevertCapability(const char *capability)
{
return NS_OK;
}
/* void disableCapability (in string capability); */
NS_IMETHODIMP
FullTrustSecMan::DisableCapability(const char *capability)
{
return NS_OK;
}
/* [noscript] nsIPrincipal getObjectPrincipal (in JSContextPtr cx, in JSObjectPtr obj); */
NS_IMETHODIMP
FullTrustSecMan::GetObjectPrincipal(JSContext * cx, JSObject * obj,