ReferrerPolicy.h 823 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright (c) 2022, Linus Groh <linusg@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Optional.h>
  8. #include <AK/StringView.h>
  9. namespace Web::ReferrerPolicy {
  10. // https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy
  11. enum class ReferrerPolicy {
  12. EmptyString,
  13. NoReferrer,
  14. NoReferrerWhenDowngrade,
  15. SameOrigin,
  16. Origin,
  17. StrictOrigin,
  18. OriginWhenCrossOrigin,
  19. StrictOriginWhenCrossOrigin,
  20. UnsafeURL,
  21. };
  22. // https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy
  23. // The default referrer policy is "strict-origin-when-cross-origin".
  24. constexpr auto DEFAULT_REFERRER_POLICY = ReferrerPolicy::StrictOriginWhenCrossOrigin;
  25. StringView to_string(ReferrerPolicy);
  26. Optional<ReferrerPolicy> from_string(StringView);
  27. }