LibWeb: Stub for Credential Management API

Stub out basic Credential Management APIs and import IDL tests.

Spec: https://w3c.github.io/webappsec-credential-management/
This commit is contained in:
devgianlu 2025-01-30 22:29:26 +01:00 committed by Andrew Kaster
commit da9eaf8788
Notes: github-actions[bot] 2025-02-05 20:19:50 +00:00
20 changed files with 534 additions and 0 deletions

View file

@ -11,6 +11,7 @@
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/Bindings/NavigatorPrototype.h>
#include <LibWeb/Clipboard/Clipboard.h>
#include <LibWeb/CredentialManagement/CredentialsContainer.h>
#include <LibWeb/HTML/Navigator.h>
#include <LibWeb/HTML/Scripting/Environments.h>
#include <LibWeb/HTML/Window.h>
@ -68,6 +69,7 @@ void Navigator::visit_edges(Cell::Visitor& visitor)
visitor.visit(m_user_activation);
visitor.visit(m_service_worker_container);
visitor.visit(m_media_capabilities);
visitor.visit(m_credentials);
}
GC::Ref<MimeTypeArray> Navigator::mime_types()
@ -98,6 +100,13 @@ GC::Ref<UserActivation> Navigator::user_activation()
return *m_user_activation;
}
GC::Ref<CredentialManagement::CredentialsContainer> Navigator::credentials()
{
if (!m_credentials)
m_credentials = realm().create<CredentialManagement::CredentialsContainer>(realm());
return *m_credentials;
}
// https://w3c.github.io/pointerevents/#dom-navigator-maxtouchpoints
WebIDL::Long Navigator::max_touch_points()
{