Re: [csswg-drafts] [cssom] Serialization of a declaration block not idempotent in presence of logical properties. (#3244)

> `border` should be skipped because the declaration for `border-block-start-color` is stored before other `border-*-color` declarations, right?

Exactly, we can't serialize `border` before `border-block-start-color` since some physical longhands of `border` in the border-color-* logical property group appear after `border-block-start-color`.

> I guess it only applies to shorthands (there is only border) whose longhands belong to more than one logical property group

Not necessarily more than one logical property group. It suffices to have some longhands in one group (without covering the group completely), and some longhands not in the group (either another group or no group). But yeah I think `border` is the only case for now.

The spec could say:

> If there’s any declaration in `declaration block` such that:
> - It's not in `current longhands`
> - It appears after the first longhand in `current longhands`
> - It appears before some longhand in `current longhands` that belongs to the same logical property group but has a different mapping logic

-- 
GitHub Notification of comment by Loirooriol
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3244#issuecomment-1290633726 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 25 October 2022 14:18:39 UTC