Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[css-lists] Serialization of counter-increment/set/reset #4216

Open
ewilligers opened this issue Aug 19, 2019 · 1 comment
Open

[css-lists] Serialization of counter-increment/set/reset #4216

ewilligers opened this issue Aug 19, 2019 · 1 comment
Labels
css-lists-3 Current Work

Comments

@ewilligers
Copy link
Contributor

As discussed recently, counter-reset etc. can have repeated counter names.

For set/reset, only the last value for each name is relevant. For increment, only the total value for each name is relevant.

For serialization of specified and computed values, should implementations preserve repetitions?

For distinct names, should order be preserved, or should we use lexicographic order, or is order arbitrary?

Suppose we have
counter-reset: foo 1 bar 2 foo 3 bar 4;

Should getComputedStyle().counterReset return "foo 1 bar 2 foo 3 bar 4" or "foo 1 foo 3 bar 2 bar 4" or "bar 2 bar 4 foo 1 foo 3" or "foo 3 bar 4" or "bar 4 foo 3", or are either of the last two OK (e.g. if an implementation uses hash tables) ?

@ewilligers ewilligers added the css-lists-3 Current Work label Aug 19, 2019
@ewilligers
Copy link
Contributor Author

ewilligers commented Sep 7, 2019

Current implementations observed using https://jsfiddle.net/ericwilligers/f243bvn8/

Firefox / Edge 18:
When serializing specified or resolved value, every author-supplied value appears, in the author-supplied order.

Blink / Safari:
When serializing specified value, every author-supplied value appears, in the author-supplied order.
When serializing resolved value, each counter-name only appears once, in arbitrary order (e.g. "end" before "begin"). Blink's implementation uses a hash table (shared by counter-increment and counter-reset).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
css-lists-3 Current Work
Projects
None yet
Development

No branches or pull requests

1 participant