mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Bug 1387805 - Remove [deprecated] nsIScriptSecurityManager.getCodebasePrincipal(). r=bz
MozReview-Commit-ID: CY47PBaQ5oy --HG-- extra : rebase_source : 6a82bae0d3caafadc772a08a1d392ab30c4ad914
This commit is contained in:
parent
6ad2efe360
commit
32e5d77ba4
@ -105,7 +105,7 @@ var healthReportWrapper = {
|
||||
|
||||
handleRemoteCommand(evt) {
|
||||
// Do an origin check to harden against the frame content being loaded from unexpected locations.
|
||||
let allowedPrincipal = Services.scriptSecurityManager.getCodebasePrincipal(this._getReportURI());
|
||||
let allowedPrincipal = Services.scriptSecurityManager.createCodebasePrincipal(this._getReportURI(), {});
|
||||
let targetPrincipal = evt.target.nodePrincipal;
|
||||
if (!allowedPrincipal.equals(targetPrincipal)) {
|
||||
Cu.reportError(`Origin check failed for message "${evt.detail.command}": ` +
|
||||
|
@ -154,13 +154,6 @@ interface nsIScriptSecurityManager : nsISupports
|
||||
nsIPrincipal getDocShellCodebasePrincipal(in nsIURI uri,
|
||||
in nsIDocShell docShell);
|
||||
|
||||
/**
|
||||
* Legacy method for getting a principal with no origin attributes.
|
||||
*
|
||||
* @deprecated use createCodebasePrincipal instead.
|
||||
*/
|
||||
[deprecated] nsIPrincipal getCodebasePrincipal(in nsIURI uri);
|
||||
|
||||
/**
|
||||
* Returns a principal whose origin is composed of |uri| and |originAttributes|.
|
||||
* See nsIPrincipal.idl for a description of origin attributes, and
|
||||
|
@ -1164,17 +1164,6 @@ nsScriptSecurityManager::GetSystemPrincipal(nsIPrincipal **result)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsScriptSecurityManager::GetCodebasePrincipal(nsIURI* aURI,
|
||||
nsIPrincipal** aPrincipal)
|
||||
{
|
||||
OriginAttributes attrs;
|
||||
nsCOMPtr<nsIPrincipal> prin =
|
||||
BasePrincipal::CreateCodebasePrincipal(aURI, attrs);
|
||||
prin.forget(aPrincipal);
|
||||
return *aPrincipal ? NS_OK : NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsScriptSecurityManager::CreateCodebasePrincipal(nsIURI* aURI, JS::Handle<JS::Value> aOriginAttributes,
|
||||
JSContext* aCx, nsIPrincipal** aPrincipal)
|
||||
|
@ -33,8 +33,8 @@ function makePushPermission(url, capability) {
|
||||
capability: Ci.nsIPermissionManager[capability],
|
||||
expireTime: 0,
|
||||
expireType: Ci.nsIPermissionManager.EXPIRE_NEVER,
|
||||
principal: Services.scriptSecurityManager.getCodebasePrincipal(
|
||||
Services.io.newURI(url)
|
||||
principal: Services.scriptSecurityManager.createCodebasePrincipal(
|
||||
Services.io.newURI(url), {}
|
||||
),
|
||||
type: 'desktop-notification',
|
||||
};
|
||||
|
@ -25,7 +25,6 @@ template<class T> class nsReadingIterator;
|
||||
|
||||
#include "nsIContentSecurityPolicy.h"
|
||||
#include "nsNetUtil.h"
|
||||
#include "nsIScriptSecurityManager.h"
|
||||
#include "mozilla/dom/nsCSPContext.h"
|
||||
#include "nsIPrefService.h"
|
||||
#include "nsIPrefBranch.h"
|
||||
@ -92,9 +91,6 @@ nsresult runTest(uint32_t aExpectedPolicyCount, // this should be 0 for policies
|
||||
const char* aExpectedResult) {
|
||||
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIScriptSecurityManager> secman =
|
||||
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
// we init the csp with http://www.selfuri.com
|
||||
nsCOMPtr<nsIURI> selfURI;
|
||||
@ -102,10 +98,10 @@ nsresult runTest(uint32_t aExpectedPolicyCount, // this should be 0 for policies
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
nsCOMPtr<nsIPrincipal> selfURIPrincipal;
|
||||
// Can't use BasePrincipal::CreateCodebasePrincipal here
|
||||
// because the symbol is not visible here
|
||||
rv = secman->GetCodebasePrincipal(selfURI, getter_AddRefs(selfURIPrincipal));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
mozilla::OriginAttributes attrs;
|
||||
selfURIPrincipal =
|
||||
mozilla::BasePrincipal::CreateCodebasePrincipal(selfURI, attrs);
|
||||
NS_ENSURE_TRUE(selfURIPrincipal, NS_ERROR_FAILURE);
|
||||
|
||||
// create a CSP object
|
||||
nsCOMPtr<nsIContentSecurityPolicy> csp =
|
||||
|
@ -38,7 +38,7 @@ add_task(async function test_isOriginPotentiallyTrustworthy() {
|
||||
["chrome://example.net/content/messenger.xul", false],
|
||||
]) {
|
||||
let uri = NetUtil.newURI(uriSpec);
|
||||
let principal = gScriptSecurityManager.getCodebasePrincipal(uri);
|
||||
let principal = gScriptSecurityManager.createCodebasePrincipal(uri, {});
|
||||
Assert.equal(gContentSecurityManager.isOriginPotentiallyTrustworthy(principal),
|
||||
expectedResult);
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ add_task(async function() {
|
||||
let url = await extension.awaitMessage("ready");
|
||||
|
||||
let uri = NetUtil.newURI(url);
|
||||
let principal = Services.scriptSecurityManager.getCodebasePrincipal(uri);
|
||||
let principal = Services.scriptSecurityManager.createCodebasePrincipal(uri, {});
|
||||
is(gContentSecurityManager.isOriginPotentiallyTrustworthy(principal), true);
|
||||
|
||||
await extension.unload();
|
||||
|
@ -83,7 +83,7 @@ this.InsecurePasswordUtils = {
|
||||
let isFormSubmitHTTP = false, isFormSubmitSecure = false;
|
||||
if (aForm.rootElement instanceof Ci.nsIDOMHTMLFormElement) {
|
||||
let uri = Services.io.newURI(aForm.rootElement.action || aForm.rootElement.baseURI);
|
||||
let principal = gScriptSecurityManager.getCodebasePrincipal(uri);
|
||||
let principal = gScriptSecurityManager.createCodebasePrincipal(uri, {});
|
||||
|
||||
if (uri.schemeIs("http")) {
|
||||
isFormSubmitHTTP = true;
|
||||
|
Loading…
Reference in New Issue
Block a user