Issue #2736 - Part 13: Override page CSP for loads by expanded principals.

Per the CSP specification, content injected by extensions is meant to
be exempt from page CSP. This patch takes care of the most common case
of content injected by extension content scripts, which always have
expanded principals which inherit from the page principal.

To make this easier, de-virtualize BasePrincipal::Kind(), using CTOR
initializers instead.
This commit is contained in:
Moonchild 2025-05-09 22:25:06 +02:00 committed by roytam1
commit 9847e9f759
7 changed files with 42 additions and 27 deletions

View file

@ -343,7 +343,8 @@ OriginAttributes::IsFirstPartyEnabled()
return sFirstPartyIsolation;
}
BasePrincipal::BasePrincipal()
BasePrincipal::BasePrincipal(PrincipalKind aKind)
: mKind(aKind)
{}
BasePrincipal::~BasePrincipal()