LibWeb/HTML: Add environment discarding steps

Exactly one place seems to define these at the moment: service worker
clients. Since we don't have a type for these and just use
EnvironmentSettingsObject, I've put it there.
This commit is contained in:
Sam Atkins 2025-03-12 12:07:25 +00:00 committed by Jelle Raaijmakers
commit 5a4f15d8f5
Notes: github-actions[bot] 2025-03-14 17:06:43 +00:00
4 changed files with 24 additions and 2 deletions

View file

@ -67,6 +67,15 @@ void EnvironmentSettingsObject::visit_edges(Cell::Visitor& visitor)
visitor.visit(m_service_worker_object_map);
}
void EnvironmentSettingsObject::discard_environment()
{
// https://w3c.github.io/ServiceWorker/#ref-for-environment-discarding-steps
// Each service worker client has the following environment discarding steps:
// 1. Set clients discarded flag.
set_discarded(true);
}
JS::ExecutionContext& EnvironmentSettingsObject::realm_execution_context()
{
// NOTE: All environment settings objects are created with a realm execution context, so it's stored and returned here in the base class.