mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-29 04:09:13 +00:00
LibWeb: Add customElements.getName
This commit is contained in:
parent
51f5da00d7
commit
8d593bcfeb
Notes:
sideshowbarker
2024-07-17 05:00:08 +09:00
Author: https://github.com/keithamus 🔰
Commit: 8d593bcfeb
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/458
Reviewed-by: https://github.com/ADKaster ✅
Reviewed-by: https://github.com/tcl3
3 changed files with 17 additions and 0 deletions
|
@ -337,6 +337,21 @@ Variant<JS::Handle<WebIDL::CallbackType>, JS::Value> CustomElementRegistry::get(
|
|||
return JS::js_undefined();
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-getname
|
||||
Optional<String> CustomElementRegistry::get_name(JS::Handle<WebIDL::CallbackType> const& constructor) const
|
||||
{
|
||||
// 1. If this CustomElementRegistry contains an entry with constructor constructor, then return that entry's name.
|
||||
auto existing_definition_iterator = m_custom_element_definitions.find_if([&constructor](auto const& definition) {
|
||||
return definition->constructor().callback == constructor.cell()->callback;
|
||||
});
|
||||
|
||||
if (!existing_definition_iterator.is_end())
|
||||
return (*existing_definition_iterator)->name();
|
||||
|
||||
// 2. Return null.
|
||||
return {};
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-whendefined
|
||||
WebIDL::ExceptionOr<JS::NonnullGCPtr<JS::Promise>> CustomElementRegistry::when_defined(String const& name)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue