ReferrerPolicy.h 806 B

123456789101112131415161718192021222324252627282930313233
  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. NoReferrer,
  13. NoReferrerWhenDowngrade,
  14. SameOrigin,
  15. Origin,
  16. StrictOrigin,
  17. OriginWhenCrossOrigin,
  18. StrictOriginWhenCrossOrigin,
  19. UnsafeURL,
  20. };
  21. // https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy
  22. // The default referrer policy is "strict-origin-when-cross-origin".
  23. constexpr auto DEFAULT_REFERRER_POLICY = ReferrerPolicy::StrictOriginWhenCrossOrigin;
  24. StringView to_string(ReferrerPolicy);
  25. Optional<ReferrerPolicy> from_string(StringView);
  26. }