LibJS+LibWeb: Add JS::Object::fast_is<T> helpers for some LibWeb types

These are slightly unfortunate as we're crossing the library boundary,
but there's precedent with Object::is_dom_node(), and these are just
knocking down a few more items that were showing up in profiles.
This commit is contained in:
Andreas Kling 2025-04-18 10:31:28 +02:00 committed by Andreas Kling
commit d8188c9f14
Notes: github-actions[bot] 2025-04-18 12:47:12 +00:00
5 changed files with 24 additions and 0 deletions

View file

@ -274,6 +274,8 @@ private:
virtual void visit_edges(Cell::Visitor&) override;
virtual void finalize() override;
virtual bool is_html_window() const override { return true; }
// ^HTML::GlobalEventHandlers
virtual GC::Ptr<DOM::EventTarget> global_event_handlers_to_event_target(FlyString const&) override { return *this; }
@ -356,3 +358,6 @@ private:
void run_animation_frame_callbacks(DOM::Document&, double now);
}
template<>
inline bool JS::Object::fast_is<Web::HTML::Window>() const { return is_html_window(); }