Back in May, I wrote Can I :has()?. In that piece, I discussed the
:has() pseudo-class and the practical reasons it's been hard to advance. Today I'll give you some updates on advancing
:has() efforts in Chromium, and how you can play with it today.
In my previous piece I explained that Igalia had been working to help move these discussions along by doing the research that has been difficult for vendors to prioritize (funded by eyeo) and that we believe that we'd gotten somewhere: We'd done lot of research, developed a prototype in a custom build of chromium and had provided what we believed were good proofs for discussion. The day that I wrote that last piece, we were filing an intent to prototype in chromium.
Today, I'd like to give some updates on those efforts...
Where things stand in Chromium, as of yesterday
As you may, or may not know, the process for shipping new features in Chromium is pretty involved and careful. There are several 'intent' steps, many, reviews along the way, many channels (canary, dev, beta, stable). Atop this are also things which launch with command line flags, runtime feature flags, origin trials (experimentally on for some sites opted in), reverse origin trials (some sites opted out) and field trials/finch flags (rollout to some % of users on or off by default).
Effectively, things get more serious and certain, and as that happens we want to expand the reach of these things by making it easier for more developers to experiment with it.
For a while now our up-streaming efforts have allowed you to pass command line flags to enable some support in early channels. Either
The former adds support for the use of the
These ways still work, but it's obviously a lot more friction than most developers will take the time to learn, figure out, and try. Most of us don't launch from a command line.
As things have gotten more stable and serious, we're moving along and making some thing easier...
We hope that this encourages more people to try it out and provide feedback, open bugs, or just add encouragement. Let us know if you do!
Much more at Ad Blocker Dev Summit 2021
I'm also happy to note that I'll be speaking, along with my colleague Byungwoo Lee and eyeo's @shwetank and @WebReflection at Ad Blocker Dev Summit 2021 on October 21. Looking forward to being able to provide a lot more information there on the history, technical challenges, process, use cases and impacts! Hope to see you there!