servo/components/layout/flow/inline
Jo Steven Novaryo 3cb16eb864
Reland Input type=text Shadow DOM With Performance Improvement (#37483)
Depends on #37427.

In addition to the changes introduced by
https://github.com/servo/servo/pull/37065, there are several performance
improvements and nits as follows:
- Use the internal pseudo element for style matching, this will reduce
the performance regression by ~66%.
- Manual construction of the `Text` node inside a text container. This
is followed by the modification of the inner `Text` node instead of
using `SetTextContent` which is more expensive.
- Use `implemented_pseudo_element` instead of
`text_control_inner_editor` `NodeFlag` to handle the special cases that
these elements should follow, specifically the:
  - focus delegation workaround;
  - selections; and
  - line height resolving.
- More documentation.

Servo's side of: https://github.com/servo/stylo/pull/217

Testing: No new unexpected WPT failure, except for the one introduced by
https://github.com/servo/servo/pull/37065/.
Fixes: #36307 #37205

---------

Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
2025-07-23 09:08:24 +00:00
..
construct.rs layout: Add incremental box tree construction for inline floats and abspos (#37892) 2025-07-05 08:33:04 +00:00
inline_box.rs Rename script_layout_interface to layout_api (#37591) 2025-06-20 17:13:05 +00:00
line.rs layout: Remove clearance parameter from BoxFragment::new() (#37921) 2025-07-08 10:04:37 +00:00
line_breaker.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
mod.rs Reland Input type=text Shadow DOM With Performance Improvement (#37483) 2025-07-23 09:08:24 +00:00
text_run.rs layout: Share styles to inline box children via SharedInlineStyles (#36896) 2025-05-12 09:38:50 +00:00