/* * Copyright (c) 2025, Altomani Gianluca * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Web::CredentialManagement { class Credential : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Credential, Bindings::PlatformObject); GC_DECLARE_ALLOCATOR(Credential); public: [[nodiscard]] static GC::Ref create(JS::Realm&); static GC::Ref is_conditional_mediation_available(JS::VM&); static GC::Ref will_request_conditional_creation(JS::VM&); virtual ~Credential() override; String const& id() { return m_id; } String const& name() { return m_name; } String const& icon_url() { return m_icon_url; } virtual String type() = 0; protected: explicit Credential(JS::Realm&); virtual void initialize(JS::Realm&) override; String m_id; String m_name; String m_icon_url; }; struct CredentialData { String id; }; }