WebKit / Speedometer

An open source repository for the Speedometer benchmark
Other
592 stars 68 forks source link

:has selector breaks speedometer in older browsers #394

Closed mstange closed 6 months ago

mstange commented 6 months ago

The :has selector introduced by #349 makes it so that Speedometer only runs in very recent browsers: https://github.com/WebKit/Speedometer/blob/7efb0ac57b25195aebd7a9b719002cb40db0944f/resources/main.css#L309-L311

Can we change the CSS so that older browsers can still run Speedometer 3?

For example, Firefox ESR does not support :has. Firefox 121 shipped :has support on December 19, 2023.

We'd like to use Speedometer 3 to get a sense of how much browser performance has improved over the last 2 years or so, and we can't use it for that purpose if it doesn't run in older versions.

mstange commented 6 months ago

I'm going to prototype a fix that replaces :target with a bit of JS. We can store the current stage in a class name on the root element, and update it from a hashchange listener.