LibWeb: Add Element.id property to the bindings

This commit is contained in:
Andreas Kling 2020-03-29 22:29:05 +02:00
parent 0f7bcd4111
commit c1c56b1131
Notes: sideshowbarker 2024-07-19 08:03:39 +09:00
2 changed files with 17 additions and 0 deletions

View file

@ -39,6 +39,7 @@ ElementWrapper::ElementWrapper(Element& element)
: NodeWrapper(element)
{
put_native_property("innerHTML", inner_html_getter, inner_html_setter);
put_native_property("id", id_getter, id_setter);
}
ElementWrapper::~ElementWrapper()
@ -77,5 +78,18 @@ void ElementWrapper::inner_html_setter(JS::Interpreter& interpreter, JS::Value v
impl->set_inner_html(value.to_string());
}
JS::Value ElementWrapper::id_getter(JS::Interpreter& interpreter)
{
if (auto* impl = impl_from(interpreter))
return JS::js_string(interpreter.heap(), impl->attribute("id"));
return {};
}
void ElementWrapper::id_setter(JS::Interpreter& interpreter, JS::Value value)
{
if (auto* impl = impl_from(interpreter))
impl->set_attribute("id", value.to_string());
}
}
}

View file

@ -44,6 +44,9 @@ private:
static JS::Value inner_html_getter(JS::Interpreter&);
static void inner_html_setter(JS::Interpreter&, JS::Value);
static JS::Value id_getter(JS::Interpreter&);
static void id_setter(JS::Interpreter&, JS::Value);
};
}