Browse Source

LibWeb: Remove more hand-rolled type information :^)

Hoo boy, we've really accumulated a lot of this stuff.
Andreas Kling 4 years ago
parent
commit
3bb0cb2202

+ 1 - 1
Libraries/LibWeb/Bindings/EventWrapperFactory.cpp

@@ -33,7 +33,7 @@ namespace Bindings {
 
 
 EventWrapper* wrap(JS::GlobalObject& global_object, DOM::Event& event)
 EventWrapper* wrap(JS::GlobalObject& global_object, DOM::Event& event)
 {
 {
-    if (event.is_mouse_event())
+    if (is<UIEvents::MouseEvent>(event))
         return static_cast<MouseEventWrapper*>(wrap_impl(global_object, static_cast<UIEvents::MouseEvent&>(event)));
         return static_cast<MouseEventWrapper*>(wrap_impl(global_object, static_cast<UIEvents::MouseEvent&>(event)));
     return static_cast<EventWrapper*>(wrap_impl(global_object, event));
     return static_cast<EventWrapper*>(wrap_impl(global_object, event));
 }
 }

+ 2 - 1
Libraries/LibWeb/CSS/SelectorEngine.cpp

@@ -29,6 +29,7 @@
 #include <LibWeb/DOM/Element.h>
 #include <LibWeb/DOM/Element.h>
 #include <LibWeb/DOM/Text.h>
 #include <LibWeb/DOM/Text.h>
 #include <LibWeb/HTML/AttributeNames.h>
 #include <LibWeb/HTML/AttributeNames.h>
+#include <LibWeb/HTML/HTMLElement.h>
 
 
 namespace Web::SelectorEngine {
 namespace Web::SelectorEngine {
 
 
@@ -86,7 +87,7 @@ static bool matches(const CSS::Selector::SimpleSelector& component, const DOM::E
             return false;
             return false;
         break;
         break;
     case CSS::Selector::SimpleSelector::PseudoClass::Root:
     case CSS::Selector::SimpleSelector::PseudoClass::Root:
-        if (!element.is_html_element())
+        if (!is<HTML::HTMLElement>(element))
             return false;
             return false;
         break;
         break;
     }
     }

+ 1 - 1
Libraries/LibWeb/DOM/Event.cpp

@@ -39,7 +39,7 @@ void Event::append_to_path(EventTarget& invocation_target, RefPtr<EventTarget> s
 
 
     if (is<Node>(invocation_target)) {
     if (is<Node>(invocation_target)) {
         auto& invocation_target_node = downcast<Node>(invocation_target);
         auto& invocation_target_node = downcast<Node>(invocation_target);
-        if (invocation_target_node.root()->is_shadow_root())
+        if (is<ShadowRoot>(invocation_target_node.root()))
             invocation_target_in_shadow_tree = true;
             invocation_target_in_shadow_tree = true;
         if (is<ShadowRoot>(invocation_target_node)) {
         if (is<ShadowRoot>(invocation_target_node)) {
             auto& invocation_target_shadow_root = downcast<ShadowRoot>(invocation_target_node);
             auto& invocation_target_shadow_root = downcast<ShadowRoot>(invocation_target_node);

+ 0 - 3
Libraries/LibWeb/DOM/Event.h

@@ -149,9 +149,6 @@ public:
         m_stop_immediate_propagation = true;
         m_stop_immediate_propagation = true;
     }
     }
 
 
-    virtual bool is_ui_event() const { return false; }
-    virtual bool is_mouse_event() const { return false; }
-
 protected:
 protected:
     explicit Event(const FlyString& type)
     explicit Event(const FlyString& type)
         : m_type(type)
         : m_type(type)

+ 1 - 1
Libraries/LibWeb/DOM/EventDispatcher.cpp

@@ -57,7 +57,7 @@ static EventTarget* retarget(EventTarget* left, [[maybe_unused]] EventTarget* ri
 
 
         auto* left_node = downcast<Node>(left);
         auto* left_node = downcast<Node>(left);
         auto* left_root = left_node->root();
         auto* left_root = left_node->root();
-        if (!left_root->is_shadow_root())
+        if (!is<ShadowRoot>(left_root))
             return left;
             return left;
 
 
         // FIXME: If right is a node and left’s root is a shadow-including inclusive ancestor of right, return left.
         // FIXME: If right is a node and left’s root is a shadow-including inclusive ancestor of right, return left.

+ 0 - 3
Libraries/LibWeb/DOM/EventTarget.h

@@ -63,9 +63,6 @@ public:
 
 
     const Vector<EventListenerRegistration>& listeners() const { return m_listeners; }
     const Vector<EventListenerRegistration>& listeners() const { return m_listeners; }
 
 
-    virtual bool is_node() const { return false; }
-    virtual bool is_window() const { return false; }
-
     Function<void(const Event&)> activation_behaviour;
     Function<void(const Event&)> activation_behaviour;
 
 
     // NOTE: These only exist for checkbox and radio input elements.
     // NOTE: These only exist for checkbox and radio input elements.

+ 0 - 7
Libraries/LibWeb/DOM/Node.h

@@ -77,10 +77,6 @@ public:
     bool is_document_fragment() const { return type() == NodeType::DOCUMENT_FRAGMENT_NODE; }
     bool is_document_fragment() const { return type() == NodeType::DOCUMENT_FRAGMENT_NODE; }
     bool is_parent_node() const { return is_element() || is_document() || is_document_fragment(); }
     bool is_parent_node() const { return is_element() || is_document() || is_document_fragment(); }
     bool is_slottable() const { return is_element() || is_text(); }
     bool is_slottable() const { return is_element() || is_text(); }
-    virtual bool is_svg_element() const { return false; }
-    virtual bool is_shadow_root() const { return false; }
-
-    virtual bool is_node() const final { return true; }
 
 
     virtual bool is_editable() const;
     virtual bool is_editable() const;
 
 
@@ -103,9 +99,6 @@ public:
 
 
     String child_text_content() const;
     String child_text_content() const;
 
 
-    virtual bool is_html_element() const { return false; }
-    virtual bool is_unknown_html_element() const { return false; }
-
     Node* root();
     Node* root();
     const Node* root() const
     const Node* root() const
     {
     {

+ 0 - 3
Libraries/LibWeb/DOM/ShadowRoot.h

@@ -42,9 +42,6 @@ public:
     bool available_to_element_internals() const { return m_available_to_element_internals; }
     bool available_to_element_internals() const { return m_available_to_element_internals; }
     void set_available_to_element_internals(bool available_to_element_internals) { m_available_to_element_internals = available_to_element_internals; }
     void set_available_to_element_internals(bool available_to_element_internals) { m_available_to_element_internals = available_to_element_internals; }
 
 
-    // ^Node
-    virtual bool is_shadow_root() const override { return true; }
-
     // ^EventTarget
     // ^EventTarget
     virtual EventTarget* get_parent(const Event&) override;
     virtual EventTarget* get_parent(const Event&) override;
 
 

+ 0 - 2
Libraries/LibWeb/DOM/Window.h

@@ -79,8 +79,6 @@ public:
 
 
     HighResolutionTime::Performance& performance() { return *m_performance; }
     HighResolutionTime::Performance& performance() { return *m_performance; }
 
 
-    virtual bool is_window() const override { return true; }
-
     const Event* current_event() const { return m_current_event; }
     const Event* current_event() const { return m_current_event; }
     void set_current_event(Event* event) { m_current_event = event; }
     void set_current_event(Event* event) { m_current_event = event; }
 
 

+ 0 - 2
Libraries/LibWeb/HTML/HTMLElement.h

@@ -49,8 +49,6 @@ public:
     bool cannot_navigate() const;
     bool cannot_navigate() const;
 
 
 private:
 private:
-    virtual bool is_html_element() const final { return true; }
-
     enum class ContentEditableState {
     enum class ContentEditableState {
         True,
         True,
         False,
         False,

+ 0 - 3
Libraries/LibWeb/HTML/HTMLUnknownElement.h

@@ -36,9 +36,6 @@ public:
 
 
     HTMLUnknownElement(DOM::Document&, const QualifiedName& qualified_name);
     HTMLUnknownElement(DOM::Document&, const QualifiedName& qualified_name);
     virtual ~HTMLUnknownElement() override;
     virtual ~HTMLUnknownElement() override;
-
-private:
-    virtual bool is_unknown_html_element() const final { return true; }
 };
 };
 
 
 }
 }

+ 0 - 5
Libraries/LibWeb/SVG/SVGElement.h

@@ -34,13 +34,8 @@ class SVGElement : public DOM::Element {
 public:
 public:
     using WrapperType = Bindings::SVGElementWrapper;
     using WrapperType = Bindings::SVGElementWrapper;
 
 
-    virtual bool is_graphics_element() const { return false; }
-
 protected:
 protected:
     SVGElement(DOM::Document&, const QualifiedName& qualified_name);
     SVGElement(DOM::Document&, const QualifiedName& qualified_name);
-
-private:
-    virtual bool is_svg_element() const final { return true; }
 };
 };
 
 
 }
 }

+ 0 - 3
Libraries/LibWeb/SVG/SVGGraphicsElement.h

@@ -49,9 +49,6 @@ protected:
     Optional<Gfx::Color> m_fill_color;
     Optional<Gfx::Color> m_fill_color;
     Optional<Gfx::Color> m_stroke_color;
     Optional<Gfx::Color> m_stroke_color;
     Optional<float> m_stroke_width;
     Optional<float> m_stroke_width;
-
-private:
-    virtual bool is_graphics_element() const final { return true; }
 };
 };
 
 
 }
 }

+ 0 - 2
Libraries/LibWeb/UIEvents/MouseEvent.h

@@ -49,8 +49,6 @@ protected:
     MouseEvent(const FlyString& event_name, i32 offset_x, i32 offset_y);
     MouseEvent(const FlyString& event_name, i32 offset_x, i32 offset_y);
 
 
 private:
 private:
-    virtual bool is_mouse_event() const override { return true; }
-
     void set_event_characteristics();
     void set_event_characteristics();
 
 
     i32 m_offset_x { 0 };
     i32 m_offset_x { 0 };

+ 0 - 3
Libraries/LibWeb/UIEvents/UIEvent.h

@@ -41,9 +41,6 @@ protected:
         : Event(event_name)
         : Event(event_name)
     {
     {
     }
     }
-
-private:
-    virtual bool is_ui_event() const final { return true; }
 };
 };
 
 
 }
 }