1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:37:46 +00:00

LibWeb: Specialize is<DOM::Element>() and is<Layout::Box>()

These two show up in profiles, so let's add specializations for them.
This commit is contained in:
Andreas Kling 2021-01-07 17:31:26 +01:00
parent d3046a2649
commit 0fd577084f
3 changed files with 22 additions and 0 deletions

View file

@ -123,6 +123,8 @@ protected:
Vector<LineBox> m_line_boxes;
private:
virtual bool is_box() const final { return true; }
Gfx::FloatPoint m_offset;
Gfx::FloatSize m_size;
@ -133,3 +135,12 @@ private:
};
}
namespace AK {
template<>
inline bool is<Web::Layout::Box>(const Web::Layout::Node& input)
{
return input.is_box();
}
}

View file

@ -115,6 +115,8 @@ public:
virtual void paint_fragment(PaintContext&, const LineBoxFragment&, PaintPhase) const { }
virtual void after_children_paint(PaintContext&, PaintPhase) {};
virtual bool is_box() const { return false; }
bool is_floating() const;
bool is_positioned() const;
bool is_absolutely_positioned() const;