aboutsummaryrefslogtreecommitdiffstats
path: root/components/shared/script_layout/lib.rs
diff options
context:
space:
mode:
authorBen <bennyschulenburg@gmx.de>2024-09-24 11:45:33 +0200
committerGitHub <noreply@github.com>2024-09-24 09:45:33 +0000
commitdbd1666b17b22130bcce75e6255f376e6fbe256c (patch)
tree698fd6c36e8fbf3c1f2001521beb5412915838bd /components/shared/script_layout/lib.rs
parent88ffe9f7a56ef0981805a7b8264f870947cebcf5 (diff)
downloadservo-dbd1666b17b22130bcce75e6255f376e6fbe256c.tar.gz
servo-dbd1666b17b22130bcce75e6255f376e6fbe256c.zip
Layout: Implement innerText/outerText (#33312)
* Implement outerText on HtmlElement Signed-off-by: Shane Handley <shanehandley@fastmail.com> * Fixed some innerText/outerText bugs Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> * Unified innerText/outerText handling outside of Layout Before these 2 were treated separately and only within Layout would they end up calling the same method, now they are already unified within HTMLElement Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> * Address a few nits Signed-off-by: Martin Robinson <mrobinson@igalia.com> * Added innerText support for `inline-flex` Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> --------- Signed-off-by: Shane Handley <shanehandley@fastmail.com> Signed-off-by: Benjamin Vincent Schulenburg <bennyschulenburg@gmx.de> Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Shane Handley <shanehandley@fastmail.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/shared/script_layout/lib.rs')
-rw-r--r--components/shared/script_layout/lib.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/components/shared/script_layout/lib.rs b/components/shared/script_layout/lib.rs
index 67f95327453..1faff34b767 100644
--- a/components/shared/script_layout/lib.rs
+++ b/components/shared/script_layout/lib.rs
@@ -104,7 +104,11 @@ pub enum LayoutElementType {
HTMLInputElement,
HTMLMediaElement,
HTMLObjectElement,
+ HTMLOptGroupElement,
+ HTMLOptionElement,
HTMLParagraphElement,
+ HTMLPreElement,
+ HTMLSelectElement,
HTMLTableCellElement,
HTMLTableColElement,
HTMLTableElement,
@@ -239,7 +243,7 @@ pub trait Layout {
fn query_content_box(&self, node: OpaqueNode) -> Option<Rect<Au>>;
fn query_content_boxes(&self, node: OpaqueNode) -> Vec<Rect<Au>>;
fn query_client_rect(&self, node: OpaqueNode) -> Rect<i32>;
- fn query_element_inner_text(&self, node: TrustedNodeAddress) -> String;
+ fn query_element_inner_outer_text(&self, node: TrustedNodeAddress) -> String;
fn query_inner_window_dimension(
&self,
context: BrowsingContextId,
@@ -305,7 +309,7 @@ pub enum QueryMsg {
NodesFromPointQuery,
ResolvedStyleQuery,
StyleQuery,
- ElementInnerTextQuery,
+ ElementInnerOuterTextQuery,
ResolvedFontStyleQuery,
InnerWindowDimensionsQuery,
}
@@ -329,7 +333,7 @@ impl ReflowGoal {
match *self {
ReflowGoal::Full | ReflowGoal::TickAnimations | ReflowGoal::UpdateScrollNode(_) => true,
ReflowGoal::LayoutQuery(ref querymsg) => match *querymsg {
- QueryMsg::ElementInnerTextQuery |
+ QueryMsg::ElementInnerOuterTextQuery |
QueryMsg::InnerWindowDimensionsQuery |
QueryMsg::NodesFromPointQuery |
QueryMsg::ResolvedStyleQuery |
@@ -353,7 +357,7 @@ impl ReflowGoal {
ReflowGoal::LayoutQuery(ref querymsg) => match *querymsg {
QueryMsg::NodesFromPointQuery |
QueryMsg::TextIndexQuery |
- QueryMsg::ElementInnerTextQuery => true,
+ QueryMsg::ElementInnerOuterTextQuery => true,
QueryMsg::ContentBox |
QueryMsg::ContentBoxes |
QueryMsg::ClientRectQuery |