Bug 1301274 - use default firstPartyDomain in PermissionManager. r=baku

This commit is contained in:
Yoshi Huang 2016-09-08 18:56:31 +08:00
Родитель f41283f981
Коммит 58f3cc8643
1 изменённых файлов: 15 добавлений и 2 удалений

Просмотреть файл

@ -122,9 +122,14 @@ GetOriginFromPrincipal(nsIPrincipal* aPrincipal, nsACString& aOrigin)
// any knowledge of private browsing. Allowing it to be true changes the suffix being hashed.
attrs.mPrivateBrowsingId = 0;
// TODO: Bug 1302047 - Ignore userContextId and firstPartyDomain when matching permissions.
// set to default to disable user context isolation for permissions
attrs.mUserContextId = nsIScriptSecurityManager::DEFAULT_USER_CONTEXT_ID;
// set to default to disable firstParty isolation for permissions.
attrs.mFirstPartyDomain.Truncate();
attrs.CreateSuffix(suffix);
aOrigin.Append(suffix);
return NS_OK;
@ -139,9 +144,14 @@ GetPrincipalFromOrigin(const nsACString& aOrigin, nsIPrincipal** aPrincipal)
return NS_ERROR_FAILURE;
}
// TODO: Bug 1302047 - Ignore userContextId and firstPartyDomain when matching permissions.
// set to default to disable user context isolation for permissions
attrs.mUserContextId = nsIScriptSecurityManager::DEFAULT_USER_CONTEXT_ID;
// set to default to disable firstParty isolation for permissions.
attrs.mFirstPartyDomain.Truncate();
nsCOMPtr<nsIURI> uri;
nsresult rv = NS_NewURI(getter_AddRefs(uri), originNoSuffix);
NS_ENSURE_SUCCESS(rv, rv);
@ -151,11 +161,9 @@ GetPrincipalFromOrigin(const nsACString& aOrigin, nsIPrincipal** aPrincipal)
return NS_OK;
}
nsresult
GetPrincipal(nsIURI* aURI, uint32_t aAppId, bool aIsInIsolatedMozBrowserElement, nsIPrincipal** aPrincipal)
{
// TODO: Bug 1165267 - Use OriginAttributes for nsCookieService
mozilla::PrincipalOriginAttributes attrs(aAppId, aIsInIsolatedMozBrowserElement);
nsCOMPtr<nsIPrincipal> principal = mozilla::BasePrincipal::CreateCodebasePrincipal(aURI, attrs);
NS_ENSURE_TRUE(principal, NS_ERROR_FAILURE);
@ -2200,9 +2208,14 @@ nsPermissionManager::GetPermissionHashKey(nsIPrincipal* aPrincipal,
mozilla::PrincipalOriginAttributes attrs =
mozilla::BasePrincipal::Cast(aPrincipal)->OriginAttributesRef();
// TODO: Bug 1302047 - Ignore userContextId and firstPartyDomain when matching permissions.
// ensure that the user context isolation is disabled
attrs.mUserContextId = nsIScriptSecurityManager::DEFAULT_USER_CONTEXT_ID;
// ensure firstPartyIsolation is disabled.
attrs.mFirstPartyDomain.Truncate();
nsCOMPtr<nsIPrincipal> principal =
mozilla::BasePrincipal::CreateCodebasePrincipal(newURI, attrs);