Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit c771ae8

Browse files
author
Ehsan Akhgari
committed
Bug 1572240 - Part 6: Remove nsIPermissionManager.testPermissionOriginNoSuffix; r=baku
This is now dead code which will be kept alive by the vtable, and introduces needless overhead inside the permission manager. Differential Revision: https://phabricator.services.mozilla.com/D42207 --HG-- extra : moz-landing-system : lando
1 parent 05feeeb commit c771ae8

4 files changed

Lines changed: 23 additions & 202 deletions

File tree

extensions/permissions/nsPermissionManager.cpp

Lines changed: 11 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -770,12 +770,6 @@ nsPermissionManager::PermissionKey::CreateFromURI(nsIURI* aURI,
770770
return new PermissionKey(origin);
771771
}
772772

773-
nsPermissionManager::PermissionKey*
774-
nsPermissionManager::PermissionKey::CreateFromOriginNoSuffix(
775-
const nsACString& aOriginNoSuffix) {
776-
return new PermissionKey(aOriginNoSuffix);
777-
}
778-
779773
/**
780774
* Simple callback used by |AsyncClose| to trigger a treatment once
781775
* the database is closed.
@@ -2255,24 +2249,6 @@ nsPermissionManager::TestPermission(nsIURI* aURI, const nsACString& aType,
22552249
false, true);
22562250
}
22572251

2258-
NS_IMETHODIMP
2259-
nsPermissionManager::TestPermissionOriginNoSuffix(
2260-
const nsACString& aOriginNoSuffix, const nsACString& aType,
2261-
uint32_t* aPermission) {
2262-
// Our caller isn't providing a type index hint, so we just pass -1 to force
2263-
// CommonPrepareToTestPermission to compute it for us based on aType.
2264-
auto preparationResult = CommonPrepareToTestPermission(
2265-
nullptr, -1, aType, aPermission, nsIPermissionManager::UNKNOWN_ACTION,
2266-
false, false, true);
2267-
if (preparationResult.is<nsresult>()) {
2268-
return preparationResult.as<nsresult>();
2269-
}
2270-
2271-
return CommonTestPermissionInternal(nullptr, nullptr, aOriginNoSuffix,
2272-
preparationResult.as<int32_t>(), aType,
2273-
aPermission, false, true);
2274-
}
2275-
22762252
NS_IMETHODIMP
22772253
nsPermissionManager::TestPermissionFromWindow(mozIDOMWindow* aWindow,
22782254
const nsACString& aType,
@@ -2364,13 +2340,12 @@ nsPermissionManager::GetPermissionObject(nsIPrincipal* aPrincipal,
23642340
}
23652341

23662342
nsresult nsPermissionManager::CommonTestPermissionInternal(
2367-
nsIPrincipal* aPrincipal, nsIURI* aURI, const nsACString& aOriginNoSuffix,
2368-
int32_t aTypeIndex, const nsACString& aType, uint32_t* aPermission,
2369-
bool aExactHostMatch, bool aIncludingSession) {
2370-
MOZ_ASSERT(aPrincipal || aURI || !aOriginNoSuffix.IsEmpty());
2371-
MOZ_ASSERT_IF(aPrincipal, !aURI && aOriginNoSuffix.IsEmpty());
2372-
MOZ_ASSERT_IF(aURI, !aPrincipal && aOriginNoSuffix.IsEmpty());
2373-
NS_ENSURE_ARG_POINTER(aPrincipal || aURI || !aOriginNoSuffix.IsEmpty());
2343+
nsIPrincipal* aPrincipal, nsIURI* aURI, int32_t aTypeIndex,
2344+
const nsACString& aType, uint32_t* aPermission, bool aExactHostMatch,
2345+
bool aIncludingSession) {
2346+
MOZ_ASSERT(aPrincipal || aURI);
2347+
MOZ_ASSERT_IF(aPrincipal, !aURI);
2348+
NS_ENSURE_ARG_POINTER(aPrincipal || aURI);
23742349

23752350
#ifdef DEBUG
23762351
{
@@ -2379,8 +2354,6 @@ nsresult nsPermissionManager::CommonTestPermissionInternal(
23792354
if (aURI) {
23802355
prin = mozilla::BasePrincipal::CreateContentPrincipal(
23812356
aURI, OriginAttributes());
2382-
} else if (!aOriginNoSuffix.IsEmpty()) {
2383-
prin = mozilla::BasePrincipal::CreateContentPrincipal(aOriginNoSuffix);
23842357
}
23852358
}
23862359
MOZ_ASSERT(prin);
@@ -2390,8 +2363,7 @@ nsresult nsPermissionManager::CommonTestPermissionInternal(
23902363

23912364
PermissionHashKey* entry =
23922365
aPrincipal ? GetPermissionHashKey(aPrincipal, aTypeIndex, aExactHostMatch)
2393-
: GetPermissionHashKey(aURI, aOriginNoSuffix, aTypeIndex,
2394-
aExactHostMatch);
2366+
: GetPermissionHashKey(aURI, aTypeIndex, aExactHostMatch);
23952367
if (!entry || (!aIncludingSession &&
23962368
entry->GetPermission(aTypeIndex).mNonSessionExpireType ==
23972369
nsIPermissionManager::EXPIRE_SESSION)) {
@@ -2464,22 +2436,16 @@ nsPermissionManager::GetPermissionHashKey(nsIPrincipal* aPrincipal,
24642436
// accepts host on the format "<foo>". This will perform an exact match lookup
24652437
// as the string doesn't contain any dots.
24662438
nsPermissionManager::PermissionHashKey*
2467-
nsPermissionManager::GetPermissionHashKey(nsIURI* aURI,
2468-
const nsACString& aOriginNoSuffix,
2469-
uint32_t aType,
2439+
nsPermissionManager::GetPermissionHashKey(nsIURI* aURI, uint32_t aType,
24702440
bool aExactHostMatch) {
2471-
MOZ_ASSERT(aURI || !aOriginNoSuffix.IsEmpty());
2472-
MOZ_ASSERT_IF(aURI, aOriginNoSuffix.IsEmpty());
2441+
MOZ_ASSERT(aURI);
24732442

24742443
#ifdef DEBUG
24752444
{
24762445
nsCOMPtr<nsIPrincipal> principal;
24772446
nsresult rv = NS_OK;
24782447
if (aURI) {
24792448
rv = GetPrincipal(aURI, getter_AddRefs(principal));
2480-
} else {
2481-
principal =
2482-
mozilla::BasePrincipal::CreateContentPrincipal(aOriginNoSuffix);
24832449
}
24842450
MOZ_ASSERT_IF(NS_SUCCEEDED(rv),
24852451
PermissionAvailable(principal, mTypeArray[aType]));
@@ -2488,8 +2454,7 @@ nsPermissionManager::GetPermissionHashKey(nsIURI* aURI,
24882454

24892455
nsresult rv;
24902456
RefPtr<PermissionKey> key =
2491-
aURI ? PermissionKey::CreateFromURI(aURI, rv)
2492-
: PermissionKey::CreateFromOriginNoSuffix(aOriginNoSuffix);
2457+
aURI ? PermissionKey::CreateFromURI(aURI, rv) : nullptr;
24932458
if (!key) {
24942459
return nullptr;
24952460
}
@@ -2514,9 +2479,6 @@ nsPermissionManager::GetPermissionHashKey(nsIURI* aURI,
25142479
if (NS_WARN_IF(NS_FAILED(rv))) {
25152480
return nullptr;
25162481
}
2517-
} else {
2518-
principal =
2519-
mozilla::BasePrincipal::CreateContentPrincipal(aOriginNoSuffix);
25202482
}
25212483
RemoveFromPrincipal(principal, mTypeArray[aType]);
25222484
} else if (permEntry.mPermission == nsIPermissionManager::UNKNOWN_ACTION) {
@@ -2534,15 +2496,9 @@ nsPermissionManager::GetPermissionHashKey(nsIURI* aURI,
25342496
nsCOMPtr<nsIURI> uri;
25352497
if (aURI) {
25362498
uri = GetNextSubDomainURI(aURI);
2537-
} else {
2538-
nsresult rv = NS_NewURI(getter_AddRefs(uri), aOriginNoSuffix);
2539-
if (NS_WARN_IF(NS_FAILED(rv))) {
2540-
return nullptr;
2541-
}
2542-
uri = GetNextSubDomainURI(uri);
25432499
}
25442500
if (uri) {
2545-
return GetPermissionHashKey(uri, EmptyCString(), aType, aExactHostMatch);
2501+
return GetPermissionHashKey(uri, aType, aExactHostMatch);
25462502
}
25472503
}
25482504

extensions/permissions/nsPermissionManager.h

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ class nsPermissionManager final : public nsIPermissionManager,
7777
static PermissionKey* CreateFromPrincipal(nsIPrincipal* aPrincipal,
7878
nsresult& aResult);
7979
static PermissionKey* CreateFromURI(nsIURI* aURI, nsresult& aResult);
80-
static PermissionKey* CreateFromOriginNoSuffix(
81-
const nsACString& aOriginNoSuffix);
8280

8381
explicit PermissionKey(const nsACString& aOrigin)
8482
: mOrigin(aOrigin), mHashCode(mozilla::HashString(aOrigin)) {}
@@ -327,9 +325,8 @@ class nsPermissionManager final : public nsIPermissionManager,
327325

328326
PermissionHashKey* GetPermissionHashKey(nsIPrincipal* aPrincipal,
329327
uint32_t aType, bool aExactHostMatch);
330-
PermissionHashKey* GetPermissionHashKey(nsIURI* aURI,
331-
const nsACString& aOriginNoSuffix,
332-
uint32_t aType, bool aExactHostMatch);
328+
PermissionHashKey* GetPermissionHashKey(nsIURI* aURI, uint32_t aType,
329+
bool aExactHostMatch);
333330

334331
// The int32_t is the type index, the nsresult is an early bail-out return
335332
// code.
@@ -436,8 +433,8 @@ class nsPermissionManager final : public nsIPermissionManager,
436433
}
437434

438435
return CommonTestPermissionInternal(
439-
aPrincipal, nullptr, EmptyCString(), preparationResult.as<int32_t>(),
440-
aType, aPermission, aExactHostMatch, aIncludingSession);
436+
aPrincipal, nullptr, preparationResult.as<int32_t>(), aType,
437+
aPermission, aExactHostMatch, aIncludingSession);
441438
}
442439
// If aTypeIndex is passed -1, we try to inder the type index from aType.
443440
nsresult CommonTestPermission(nsIURI* aURI, int32_t aTypeIndex,
@@ -453,14 +450,16 @@ class nsPermissionManager final : public nsIPermissionManager,
453450
}
454451

455452
return CommonTestPermissionInternal(
456-
nullptr, aURI, EmptyCString(), preparationResult.as<int32_t>(), aType,
457-
aPermission, aExactHostMatch, aIncludingSession);
453+
nullptr, aURI, preparationResult.as<int32_t>(), aType, aPermission,
454+
aExactHostMatch, aIncludingSession);
458455
}
459456
// Only one of aPrincipal or aURI is allowed to be passed in.
460-
nsresult CommonTestPermissionInternal(
461-
nsIPrincipal* aPrincipal, nsIURI* aURI, const nsACString& aOriginNoSuffix,
462-
int32_t aTypeIndex, const nsACString& aType, uint32_t* aPermission,
463-
bool aExactHostMatch, bool aIncludingSession);
457+
nsresult CommonTestPermissionInternal(nsIPrincipal* aPrincipal, nsIURI* aURI,
458+
int32_t aTypeIndex,
459+
const nsACString& aType,
460+
uint32_t* aPermission,
461+
bool aExactHostMatch,
462+
bool aIncludingSession);
464463

465464
nsresult OpenDatabase(nsIFile* permissionsFile);
466465
nsresult InitDB(bool aRemoveFile);

0 commit comments

Comments
 (0)