Skip to content

Expose the display list to consumers of embedded servo#45425

Open
philocalyst wants to merge 9 commits into
servo:mainfrom
philocalyst:ex
Open

Expose the display list to consumers of embedded servo#45425
philocalyst wants to merge 9 commits into
servo:mainfrom
philocalyst:ex

Conversation

@philocalyst

@philocalyst philocalyst commented Jun 5, 2026

Copy link
Copy Markdown

Exposes the list so that consumers can handle rendering themselves, like for a... TUI webbrowser -- mainly just plumbing. There's a teeny bit of logic for helpers in such that could likely be improved/have the greatest impact of this PR being effective, so I would specifically check out here and here. Also didn't know about the color type to expose, I went with ColorF.

Testing: Adapted for use in a private branch of carboxyl, all tests pass.
Fixes: General unvoiced desires within certain enclaves of embedder folk.

@philocalyst philocalyst changed the title example commit reference (give me a minute) Jun 5, 2026
@mrobinson

Copy link
Copy Markdown
Member

@philocalyst Did you mean to submit this upstream?

@philocalyst philocalyst changed the title reference (give me a minute) Expose the display list to consumers of embedded servo Jun 24, 2026
@philocalyst

Copy link
Copy Markdown
Author

@mrobinson Now I did! Sorry for the confusion. I am NOW reading the servo contribution book so expect some changes from here.

@philocalyst philocalyst marked this pull request as ready for review June 24, 2026 03:29
@servo-highfive servo-highfive added the S-awaiting-review There is new code that needs to be reviewed. label Jun 24, 2026

@mrobinson mrobinson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few high level issues that need to be worked out before I'm ready to accept an change like this:

  1. This change does not properly handle reference frames and scroll nodes, so might work for simple pages, but likely not complex ones.
  2. This change does not handle subframes. That might work for a simple usecase, but not for complex ones.
  3. Only the root scroll frame offset is considered, but not other scrollers.

This is an interesting proof-of-concept, but a feature like this needs careful consideration. The problem with landing this as-is is that I (and others) will need to maintain it and also be responsible for adding missing features and filling in the blanks.

I think a good way to go about this would be to start with a high-level API proposal that considers all the issues listed above -- and probably some that I've neglected to spot on a first look. It probably makes sense to spend a bit of time getting familiar with the internals of Servo first. A good way to start is to try to fix a few bugs while working on your API proposal.

@servo-highfive servo-highfive added S-needs-code-changes Changes have not yet been made that were requested by a reviewer. and removed S-awaiting-review There is new code that needs to be reviewed. labels Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-needs-code-changes Changes have not yet been made that were requested by a reviewer.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants