diff --git a/Libraries/LibWeb/HTML/HTMLElement.cpp b/Libraries/LibWeb/HTML/HTMLElement.cpp index 7aaaf60f76c..944fc1c9ee2 100644 --- a/Libraries/LibWeb/HTML/HTMLElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLElement.cpp @@ -463,12 +463,7 @@ int HTMLElement::offset_top() const if (!layout_node()) return 0; - CSSPixels top_border_edge_of_element; - if (paintable()->is_paintable_box()) { - top_border_edge_of_element = paintable_box()->absolute_border_box_rect().y(); - } else { - top_border_edge_of_element = paintable()->box_type_agnostic_position().y(); - } + CSSPixels top_border_edge_of_element = paintable_box()->absolute_border_box_rect().y(); // 2. If the offsetParent of the element is null // return the y-coordinate of the top border edge of the first CSS layout box associated with the element, @@ -489,12 +484,10 @@ int HTMLElement::offset_top() const // Spec bug: https://github.com/w3c/csswg-drafts/issues/10549 CSSPixels top_padding_edge_of_offset_parent; - if (offset_parent->is_html_body_element() && !offset_parent->paintable()->is_positioned()) { + if (offset_parent->is_html_body_element() && !offset_parent->paintable_box()->is_positioned()) { top_padding_edge_of_offset_parent = 0; - } else if (offset_parent->paintable()->is_paintable_box()) { - top_padding_edge_of_offset_parent = offset_parent->paintable_box()->absolute_padding_box_rect().y(); } else { - top_padding_edge_of_offset_parent = offset_parent->paintable()->box_type_agnostic_position().y(); + top_padding_edge_of_offset_parent = offset_parent->paintable_box()->absolute_padding_box_rect().y(); } return (top_border_edge_of_element - top_padding_edge_of_offset_parent).to_int(); } @@ -512,12 +505,7 @@ int HTMLElement::offset_left() const if (!layout_node()) return 0; - CSSPixels left_border_edge_of_element; - if (paintable()->is_paintable_box()) { - left_border_edge_of_element = paintable_box()->absolute_border_box_rect().x(); - } else { - left_border_edge_of_element = paintable()->box_type_agnostic_position().x(); - } + CSSPixels left_border_edge_of_element = paintable_box()->absolute_border_box_rect().x(); // 2. If the offsetParent of the element is null // return the x-coordinate of the left border edge of the first CSS layout box associated with the element, @@ -538,12 +526,10 @@ int HTMLElement::offset_left() const // Spec bug: https://github.com/w3c/csswg-drafts/issues/10549 CSSPixels left_padding_edge_of_offset_parent; - if (offset_parent->is_html_body_element() && !offset_parent->paintable()->is_positioned()) { + if (offset_parent->is_html_body_element() && !offset_parent->paintable_box()->is_positioned()) { left_padding_edge_of_offset_parent = 0; - } else if (offset_parent->paintable()->is_paintable_box()) { - left_padding_edge_of_offset_parent = offset_parent->paintable_box()->absolute_padding_box_rect().x(); } else { - left_padding_edge_of_offset_parent = offset_parent->paintable()->box_type_agnostic_position().x(); + left_padding_edge_of_offset_parent = offset_parent->paintable_box()->absolute_padding_box_rect().x(); } return (left_border_edge_of_element - left_padding_edge_of_offset_parent).to_int(); } @@ -560,7 +546,6 @@ int HTMLElement::offset_width() const // 2. Return the width of the axis-aligned bounding box of the border boxes of all fragments generated by the element’s principal box, // ignoring any transforms that apply to the element and its ancestors. - // FIXME: Account for inline boxes. return paintable_box()->border_box_width().to_int(); } @@ -576,7 +561,6 @@ int HTMLElement::offset_height() const // 2. Return the height of the axis-aligned bounding box of the border boxes of all fragments generated by the element’s principal box, // ignoring any transforms that apply to the element and its ancestors. - // FIXME: Account for inline boxes. return paintable_box()->border_box_height().to_int(); }