layout: Take into account display: table etc in offset* queries (#32448)

* layout: Take into account `display: table` etc in offset* queries

The specification says that for deciding whether an element should be
used for offset* queries, a browser should take into account whether the
element is a table cell or table. This change makes that happen.

Co-authored-by: Oriol Brufau <obrufau@igalia.com>

* Only tag HTML elements if they are in the HTML namespace

---------

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Martin Robinson 2024-06-10 17:05:57 +02:00 committed by GitHub
parent 35bbcc0d95
commit f4c9b310d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 60 additions and 127 deletions

View file

@ -230,6 +230,9 @@ pub trait ThreadSafeLayoutNode<'dom>: Clone + Copy + Debug + NodeInfo + PartialE
/// Returns a ThreadSafeLayoutElement if this is an element, None otherwise.
fn as_element(&self) -> Option<Self::ConcreteThreadSafeLayoutElement>;
/// Returns a ThreadSafeLayoutElement if this is an element in an HTML namespace, None otherwise.
fn as_html_element(&self) -> Option<Self::ConcreteThreadSafeLayoutElement>;
#[inline]
fn get_pseudo_element_type(&self) -> PseudoElementType {
self.as_element()