mirror of https://github.com/roytam1/UXP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.0 KiB
59 lines
2.0 KiB
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
/* This Source Code Form is subject to the terms of the Mozilla Public |
|
* License, v. 2.0. If a copy of the MPL was not distributed with this |
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
|
|
/* The privileged system principal. */ |
|
|
|
#ifndef nsSystemPrincipal_h__ |
|
#define nsSystemPrincipal_h__ |
|
|
|
#include "nsIPrincipal.h" |
|
#include "nsJSPrincipals.h" |
|
|
|
#include "mozilla/BasePrincipal.h" |
|
|
|
#define NS_SYSTEMPRINCIPAL_CID \ |
|
{ 0x4a6212db, 0xaccb, 0x11d3, \ |
|
{ 0xb7, 0x65, 0x0, 0x60, 0xb0, 0xb6, 0xce, 0xcb }} |
|
#define NS_SYSTEMPRINCIPAL_CONTRACTID "@mozilla.org/systemprincipal;1" |
|
|
|
|
|
class nsSystemPrincipal final : public mozilla::BasePrincipal |
|
{ |
|
public: |
|
NS_DECL_NSISERIALIZABLE |
|
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) override; |
|
NS_IMETHOD GetHashValue(uint32_t* aHashValue) override; |
|
NS_IMETHOD GetURI(nsIURI** aURI) override; |
|
NS_IMETHOD GetDomain(nsIURI** aDomain) override; |
|
NS_IMETHOD SetDomain(nsIURI* aDomain) override; |
|
NS_IMETHOD GetCsp(nsIContentSecurityPolicy** aCsp) override; |
|
NS_IMETHOD SetCsp(nsIContentSecurityPolicy* aCsp) override; |
|
NS_IMETHOD EnsureCSP(nsIDOMDocument* aDocument, nsIContentSecurityPolicy** aCSP) override; |
|
NS_IMETHOD GetPreloadCsp(nsIContentSecurityPolicy** aPreloadCSP) override; |
|
NS_IMETHOD EnsurePreloadCSP(nsIDOMDocument* aDocument, nsIContentSecurityPolicy** aCSP) override; |
|
NS_IMETHOD GetBaseDomain(nsACString& aBaseDomain) override; |
|
nsresult GetOriginInternal(nsACString& aOrigin) override; |
|
|
|
nsSystemPrincipal() {} |
|
|
|
virtual nsresult GetScriptLocation(nsACString &aStr) override; |
|
|
|
protected: |
|
virtual ~nsSystemPrincipal(void) {} |
|
|
|
bool SubsumesInternal(nsIPrincipal *aOther, DocumentDomainConsideration aConsideration) override |
|
{ |
|
return true; |
|
} |
|
|
|
bool MayLoadInternal(nsIURI* aURI) override |
|
{ |
|
return true; |
|
} |
|
|
|
PrincipalKind Kind() override { return eSystemPrincipal; } |
|
}; |
|
|
|
#endif // nsSystemPrincipal_h__
|
|
|