Bug 1908664 - Add nsIPrincipal::GetIsInPrivateBrowsing r=media-playback-reviewers,anti-tracking-reviewers,dom-storage-reviewers,padenot,asuth,pbz

Differential Revision: https://phabricator.services.mozilla.com/D216993
This commit is contained in:
Kagami Sascha Rosylight
2024-07-26 17:47:51 +00:00
parent aeec3790b1
commit 90c218ca5f
14 changed files with 29 additions and 17 deletions

View File

@@ -1183,6 +1183,12 @@ BasePrincipal::GetPrivateBrowsingId(uint32_t* aPrivateBrowsingId) {
return NS_OK;
}
NS_IMETHODIMP
BasePrincipal::GetIsInPrivateBrowsing(bool* aIsInPrivateBrowsing) {
*aIsInPrivateBrowsing = mOriginAttributes.IsPrivateBrowsing();
return NS_OK;
}
nsresult BasePrincipal::GetAddonPolicy(
extensions::WebExtensionPolicy** aResult) {
AssertIsOnMainThread();

View File

@@ -165,6 +165,7 @@ class BasePrincipal : public nsJSPrincipals {
NS_IMETHOD GetIsOnion(bool* aIsOnion) override;
NS_IMETHOD GetUserContextId(uint32_t* aUserContextId) final;
NS_IMETHOD GetPrivateBrowsingId(uint32_t* aPrivateBrowsingId) final;
NS_IMETHOD GetIsInPrivateBrowsing(bool* aIsInPrivateBrowsing) final;
NS_IMETHOD GetSiteOrigin(nsACString& aSiteOrigin) final;
NS_IMETHOD GetSiteOriginNoSuffix(nsACString& aSiteOrigin) override;
NS_IMETHOD IsThirdPartyURI(nsIURI* uri, bool* aRes) override;

View File

@@ -587,6 +587,14 @@ interface nsIPrincipal : nsISupports
*/
[infallible] readonly attribute unsigned long privateBrowsingId;
/**
* Retuns true if it is in private browsing based on privateBrowsingId
* being non-zero.
*
* May be called from any thread.
*/
[infallible] readonly attribute boolean isInPrivateBrowsing;
/**
* Returns true iff this is a null principal (corresponding to an
* unknown, hence assumed minimally privileged, security context).