/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* 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/. */ #ifndef DOM_QUOTA_PRINCIPALUTILS_H_ #define DOM_QUOTA_PRINCIPALUTILS_H_ #include #include "nsStringFwd.h" class nsIPrincipal; class nsPIDOMWindowOuter; enum class nsresult : uint32_t; namespace mozilla { template class Result; } namespace mozilla::ipc { class PrincipalInfo; } namespace mozilla::dom::quota { struct PrincipalMetadata; class QuotaManager; bool IsPrincipalInfoValid(const mozilla::ipc::PrincipalInfo& aPrincipalInfo); Result GetInfoFromValidatedPrincipalInfo( QuotaManager& aQuotaManager, const mozilla::ipc::PrincipalInfo& aPrincipalInfo); nsAutoCString GetGroupFromValidatedPrincipalInfo( const mozilla::ipc::PrincipalInfo& aPrincipalInfo); nsAutoCString GetOriginFromValidatedPrincipalInfo( const mozilla::ipc::PrincipalInfo& aPrincipalInfo); Result GetInfoFromPrincipal( nsIPrincipal* aPrincipal); Result GetInfoFromWindow( nsPIDOMWindowOuter* aWindow); Result GetOriginFromPrincipal( nsIPrincipal* aPrincipal); Result GetOriginFromWindow( nsPIDOMWindowOuter* aWindow); nsLiteralCString GetGroupForChrome(); nsLiteralCString GetOriginForChrome(); PrincipalMetadata GetInfoForChrome(); } // namespace mozilla::dom::quota #endif // DOM_QUOTA_PRINCIPALUTILS_H_