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

For the following case:

```js
style.borderTopWidth = '1px'
style.borderBlockStartWidth = '2px'
style.borderTopStyle = 'solid'
style.borderTopColor = 'green'
```

I would expect `style.cssText` to be `border-top: 1px solid green; border-block-start-width: 2px;` but the current definition of step 6 of *serialize a CSS declaration block* seems to prevent serializing with `border-top`.

If so, I think it could be modified with:

```diff
- If there’s any declaration in `declaration block` in between the first and the last longhand in `current longhands` which belongs to the same logical property group, but has a different mapping logic as any of the longhands in `current longhands`, and is not in `current longhands`, continue with the steps labeled `shorthand loop`.
+ If there’s any declaration in `declaration block` in between some declarations in `current longhands` which belongs to the same logical property group, but has a different mapping logic as any of the longhands of these declarations, and is not in `current longhands`, continue with the steps labeled `shorthand loop`.
```

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


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

Received on Sunday, 23 October 2022 07:31:38 UTC