mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-23 02:47:07 +00:00
Bug 750859 - Remove {Disable,Revert}Capability. r=bz, PGO helper on CLOSED TREE
This commit is contained in:
parent
e6e34db54d
commit
710c5cfdb0
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
|
@ -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 //
|
||||
////////////////////////////////////////////////
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user