v158 · css · values & units

Computed list probe

One stage, two dials: how many background-image layers exist, and how many comma-separated background-position entries you write. The painted dots always follow the used value (truncated or repeated to the image count — that part never changed). The question Chrome 158 answers differently is what getComputedStyle gives back.

Probing this browser…

Dial a mismatch

background-image layers (gradient dots)
background-position entries (authored)
Choose counts to read the computed list back.

the probe, verbatim

el.style.backgroundImage   = "radial-gradient(…)";        // 1 layer
el.style.backgroundPosition = "0px 0px, 10px 10px";       // 2 entries

const computed = getComputedStyle(el).backgroundPosition;
computed.split(",").length
// 2 → computed list preserved   (CSS Values 4 Appendix A, Chrome 158+)
// 1 → truncated to layer count  (Chrome ≤157 and older engines)

// Appendix A: "The computed values of the coordinating list
// properties are not affected by such truncation or repetition."

This probe genuinely returns false on Chromium 141 (verified in this container: computed came back "0px 0px") and true on Chrome 158. There is no way to polyfill it — the value is made by the style engine.

see also