Bug 1387805 - Remove [deprecated] nsIScriptSecurityManager.getCodebasePrincipal(). r=bz

MozReview-Commit-ID: CY47PBaQ5oy

--HG--
extra : rebase_source : 6a82bae0d3caafadc772a08a1d392ab30c4ad914
This commit is contained in:
Masatoshi Kimura 2017-08-06 15:31:31 +09:00
parent 6ad2efe360
commit 32e5d77ba4
8 changed files with 10 additions and 32 deletions

View File

@ -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}": ` +

View File

@ -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

View File

@ -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)

View File

@ -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',
};

View File

@ -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 =

View File

@ -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);
}

View File

@ -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();

View File

@ -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;