mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-17 07:50:04 +00:00
LibWeb: Add more fast_is<T> helpers for DOM::Node subclasses
This commit is contained in:
parent
0e490e3352
commit
aecb144df0
Notes:
github-actions[bot]
2025-04-18 12:47:31 +00:00
Author: https://github.com/awesomekling
Commit: aecb144df0
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4395
10 changed files with 68 additions and 1 deletions
|
@ -25,6 +25,8 @@ public:
|
|||
private:
|
||||
HTMLAreaElement(DOM::Document&, DOM::QualifiedName);
|
||||
|
||||
virtual bool is_html_area_element() const override { return true; }
|
||||
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
virtual void visit_edges(Cell::Visitor&) override;
|
||||
|
||||
|
@ -59,3 +61,8 @@ private:
|
|||
};
|
||||
|
||||
}
|
||||
|
||||
namespace Web::DOM {
|
||||
template<>
|
||||
inline bool Node::fast_is<HTML::HTMLAreaElement>() const { return is_html_area_element(); }
|
||||
}
|
||||
|
|
|
@ -54,7 +54,14 @@ private:
|
|||
virtual void initialize(JS::Realm&) override;
|
||||
virtual void visit_edges(Cell::Visitor&) override;
|
||||
|
||||
virtual bool is_html_fieldset_element() const override { return true; }
|
||||
|
||||
GC::Ptr<DOM::HTMLCollection> m_elements;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace Web::DOM {
|
||||
template<>
|
||||
inline bool Node::fast_is<HTML::HTMLFieldSetElement>() const { return is_html_fieldset_element(); }
|
||||
}
|
||||
|
|
|
@ -24,6 +24,8 @@ public:
|
|||
private:
|
||||
HTMLFrameSetElement(DOM::Document&, DOM::QualifiedName);
|
||||
|
||||
virtual bool is_html_frameset_element() const override { return true; }
|
||||
|
||||
virtual void adjust_computed_style(CSS::ComputedProperties&) override;
|
||||
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
|
@ -37,3 +39,8 @@ private:
|
|||
};
|
||||
|
||||
}
|
||||
|
||||
namespace Web::DOM {
|
||||
template<>
|
||||
inline bool Node::fast_is<HTML::HTMLFrameSetElement>() const { return is_html_frameset_element(); }
|
||||
}
|
||||
|
|
|
@ -20,7 +20,13 @@ public:
|
|||
private:
|
||||
HTMLHeadElement(DOM::Document&, DOM::QualifiedName);
|
||||
|
||||
virtual bool is_html_head_element() const final { return true; }
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace Web::DOM {
|
||||
template<>
|
||||
inline bool Node::fast_is<HTML::HTMLHeadElement>() const { return is_html_head_element(); }
|
||||
}
|
||||
|
|
|
@ -69,3 +69,8 @@ private:
|
|||
void run_iframe_load_event_steps(HTML::HTMLIFrameElement&);
|
||||
|
||||
}
|
||||
|
||||
namespace Web::DOM {
|
||||
template<>
|
||||
inline bool Node::fast_is<HTML::HTMLIFrameElement>() const { return is_html_iframe_element(); }
|
||||
}
|
||||
|
|
|
@ -182,6 +182,8 @@ protected:
|
|||
private:
|
||||
friend SourceElementSelector;
|
||||
|
||||
virtual bool is_html_media_element() const final { return true; }
|
||||
|
||||
struct EntireResource { };
|
||||
using ByteRange = Variant<EntireResource>; // FIXME: This will need to include "until end" and an actual byte range.
|
||||
|
||||
|
@ -324,3 +326,8 @@ private:
|
|||
};
|
||||
|
||||
}
|
||||
|
||||
namespace Web::DOM {
|
||||
template<>
|
||||
inline bool Node::fast_is<HTML::HTMLMediaElement>() const { return is_html_media_element(); }
|
||||
}
|
||||
|
|
|
@ -23,8 +23,14 @@ public:
|
|||
private:
|
||||
HTMLTitleElement(DOM::Document&, DOM::QualifiedName);
|
||||
|
||||
virtual bool is_html_title_element() const override { return true; }
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
virtual void children_changed(ChildrenChangedMetadata const*) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace Web::DOM {
|
||||
template<>
|
||||
inline bool Node::fast_is<HTML::HTMLTitleElement>() const { return is_html_title_element(); }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue