LibWeb: Allow HTMLElement with contenteditable=true to be focusable

This commit is contained in:
Aliaksandr Kalenik 2024-02-23 21:29:43 +01:00 committed by Alexander Kalenik
parent bcb68eb632
commit 05d5e11966
Notes: sideshowbarker 2024-07-18 05:37:06 +09:00
4 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1 @@
contenteditable is focused

View File

@ -0,0 +1,18 @@
<script src="include.js"></script>
<style>
#editable {
border: 1px solid black;
width: 100px;
height: 100px;
}
</style>
<div id="editable" contenteditable="true"></div>
<script>
asyncTest((done) => {
document.getElementById("editable").addEventListener("focus", () => {
println("contenteditable is focused");
done();
});
internals.click(50, 50);
});
</script>

View File

@ -93,6 +93,11 @@ bool HTMLElement::is_editable() const
}
}
bool HTMLElement::is_focusable() const
{
return m_content_editable_state == ContentEditableState::True;
}
StringView HTMLElement::content_editable() const
{
switch (m_content_editable_state) {

View File

@ -34,6 +34,7 @@ public:
void set_dir(String const&);
virtual bool is_editable() const final;
virtual bool is_focusable() const override;
StringView content_editable() const;
WebIDL::ExceptionOr<void> set_content_editable(StringView);