LibWeb: Make document.createEvent("hashchangeevent") produce right type

This is supposed to return a HashChangeEvent, and now it does.
This commit is contained in:
Andreas Kling 2024-04-16 19:03:00 +02:00
commit 0389f01cc8
Notes: sideshowbarker 2024-07-16 23:23:26 +09:00
3 changed files with 9 additions and 1 deletions

View file

@ -0,0 +1 @@
[object HashChangeEvent]

View file

@ -0,0 +1,7 @@
<script src="../include.js"></script>
<script>
test(() => {
let e = document.createEvent("hashchangeevent");
println(e);
});
</script>

View file

@ -1624,7 +1624,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<Event>> Document::create_event(StringView i
} else if (Infra::is_ascii_case_insensitive_match(interface, "focusevent"sv)) { } else if (Infra::is_ascii_case_insensitive_match(interface, "focusevent"sv)) {
event = UIEvents::FocusEvent::create(realm, FlyString {}); event = UIEvents::FocusEvent::create(realm, FlyString {});
} else if (Infra::is_ascii_case_insensitive_match(interface, "hashchangeevent"sv)) { } else if (Infra::is_ascii_case_insensitive_match(interface, "hashchangeevent"sv)) {
event = Event::create(realm, FlyString {}); // FIXME: Create HashChangeEvent event = HTML::HashChangeEvent::create(realm, FlyString {}, {});
} else if (Infra::is_ascii_case_insensitive_match(interface, "htmlevents"sv)) { } else if (Infra::is_ascii_case_insensitive_match(interface, "htmlevents"sv)) {
event = Event::create(realm, FlyString {}); event = Event::create(realm, FlyString {});
} else if (Infra::is_ascii_case_insensitive_match(interface, "keyboardevent"sv)) { } else if (Infra::is_ascii_case_insensitive_match(interface, "keyboardevent"sv)) {