Skip to content

enable :has() selector#363

Open
yezhizhen wants to merge 1 commit into
mainfrom
enable-has
Open

enable :has() selector#363
yezhizhen wants to merge 1 commit into
mainfrom
enable-has

Conversation

@yezhizhen
Copy link
Copy Markdown
Member

@yezhizhen yezhizhen commented May 13, 2026

I have a scenario that is bugged by this.
Servo PR: servo/servo#44902

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
@yezhizhen yezhizhen marked this pull request as ready for review May 13, 2026 08:17
@yezhizhen yezhizhen requested a review from Loirooriol May 13, 2026 08:41
@Loirooriol
Copy link
Copy Markdown
Collaborator

When @mrobinson tried this, invalidation was not working

@nicoburns
Copy link
Copy Markdown
Collaborator

Yeah, :has requires custom invalidation logic on the Servo side.

@yezhizhen
Copy link
Copy Markdown
Member Author

Yeah, :has requires custom invalidation logic on the Servo side.

Thanks. Do we have a rough idea how hard is it to support this, and where we can start from in Servo side?

@nicoburns
Copy link
Copy Markdown
Collaborator

Yeah, :has requires custom invalidation logic on the Servo side.

Thanks. Do we have a rough idea how hard is it to support this, and where we can start from in Servo side?

It's probably one of the hardest CSS feature to support! But it's definitely doable. The main trouble is that none of the requirements are documented, so it'd be a case of cribbing from the Gecko codebase and asking for help from Gecko developers (#layout in Mozilla matrix).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants