diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/Environments.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/Environments.cpp
index ff5ee24a8a..4d3e9eccc1 100644
--- a/Userland/Libraries/LibWeb/HTML/Scripting/Environments.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Scripting/Environments.cpp
@@ -423,4 +423,11 @@ bool is_secure_context(Environment const& environment)
return false;
}
+// https://html.spec.whatwg.org/multipage/webappapis.html#non-secure-context
+bool is_non_secure_context(Environment const& environment)
+{
+ // An environment is a non-secure context if it is not a secure context.
+ return !is_secure_context(environment);
+}
+
}
diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/Environments.h b/Userland/Libraries/LibWeb/HTML/Scripting/Environments.h
index c2690d91b5..ea19b05a62 100644
--- a/Userland/Libraries/LibWeb/HTML/Scripting/Environments.h
+++ b/Userland/Libraries/LibWeb/HTML/Scripting/Environments.h
@@ -144,5 +144,6 @@ EnvironmentSettingsObject& relevant_settings_object(JS::Object const&);
EnvironmentSettingsObject& relevant_settings_object(DOM::Node const&);
JS::Object& relevant_global_object(JS::Object const&);
[[nodiscard]] bool is_secure_context(Environment const&);
+[[nodiscard]] bool is_non_secure_context(Environment const&);
}