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
parent e14511468f
commit da9eaf8788
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()
{