diff --git a/Libraries/LibWeb/HTML/NavigateEvent.cpp b/Libraries/LibWeb/HTML/NavigateEvent.cpp index 9eda140883e..e588c684f83 100644 --- a/Libraries/LibWeb/HTML/NavigateEvent.cpp +++ b/Libraries/LibWeb/HTML/NavigateEvent.cpp @@ -25,6 +25,13 @@ namespace Web::HTML { GC_DEFINE_ALLOCATOR(NavigateEvent); +GC::Ref NavigateEvent::create(JS::Realm& realm, FlyString const& event_name, NavigateEventInit const& event_init) +{ + auto event = realm.create(realm, event_name, event_init); + event->set_is_trusted(true); + return event; +} + GC::Ref NavigateEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, NavigateEventInit const& event_init) { return realm.create(realm, event_name, event_init); diff --git a/Libraries/LibWeb/HTML/NavigateEvent.h b/Libraries/LibWeb/HTML/NavigateEvent.h index 2894c58a1c0..7b1e874eced 100644 --- a/Libraries/LibWeb/HTML/NavigateEvent.h +++ b/Libraries/LibWeb/HTML/NavigateEvent.h @@ -52,6 +52,7 @@ public: Finished }; + [[nodiscard]] static GC::Ref create(JS::Realm&, FlyString const& event_name, NavigateEventInit const&); [[nodiscard]] static GC::Ref construct_impl(JS::Realm&, FlyString const& event_name, NavigateEventInit const&); // The navigationType, destination, canIntercept, userInitiated, hashChange, signal, formData, downloadRequest, diff --git a/Libraries/LibWeb/HTML/Navigation.cpp b/Libraries/LibWeb/HTML/Navigation.cpp index e69c454e50e..88723ae4876 100644 --- a/Libraries/LibWeb/HTML/Navigation.cpp +++ b/Libraries/LibWeb/HTML/Navigation.cpp @@ -1045,7 +1045,7 @@ bool Navigation::inner_navigate_event_firing_algorithm( } // AD-HOC: *Now* we have all the info required to create the event - auto event = NavigateEvent::construct_impl(realm, EventNames::navigate, event_init); + auto event = NavigateEvent::create(realm, EventNames::navigate, event_init); event->set_abort_controller(abort_controller); // AD-HOC: This is supposed to be set in "fire a navigate event", and is only non-null when