/* 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 mozilla_dom_PermissionsPolicyParser_h #define mozilla_dom_PermissionsPolicyParser_h #include "nsString.h" class nsIPrincipal; namespace mozilla::dom { class Document; class Feature; class PermissionsPolicyParser final { public: // aSelfOrigin must not be null. if aSrcOrigin is null, the parsing will not // support 'src' as valid allow directive value. static bool ParsePolicyFromAttribute(const nsAString& aPolicy, Document* aDocument, nsIPrincipal* aSelfOrigin, nsIPrincipal* aSrcOrigin, nsTArray& aParsedFeatures); static bool ParsePolicyFromHeader(const nsACString& aPolicy, Document* aDocument, nsIPrincipal* aSelfOrigin, nsTArray& aParsedFeatures); }; } // namespace mozilla::dom #endif // mozilla_dom_PermissionsPolicyParser_h