Re: [css-houdini-drafts] [css-typed-om] Describe how the StylePropertyMaps should interact with custom properties

The CSS Working Group just discussed https://github.com/w3c/css-houdini-drafts/issues/276, and agreed to the following resolutions:

```
RESOLVED: custom properties that have an initial value show up in computed style, warn authors about perf issues if they type everything all the time
```

```
RESOLVED: For inline style, should return the custom properties that are set on the inline style of the current node
```

```
RESOLVED: For specified style, should return the custom properties defined in the current rule
```

```
RESOLVED: For computed style, should return all defined custom properties on the current node (including inheritance)
```

<details><summary>The full IRC log of that discussion</summary>

```
<shane> Topic: https://github.com/w3c/css-houdini-drafts/issues/276
<fantasai> TabAtkins: We need to clarify how stye map works with custom properties
<shane> For inline style, should return the custom properties that are set on the inline style of the current node
<shane> For specified style, should return the custom properties defined in the current rule
<shane> For computed style, should return all defined custom properties on the current node (including inheritance)
<Rossen> s/inline style map/inline style attribute map/
<fantasai> TabAtkins: Suggestion from shane is that for style attribues, custom properties set in style attr should be included
<fantasai> TabAtkins: For style rule, include those custom properties in that style rule
<fantasai> TabAtkins: [what shane [posted]
<fantasai> iank_: If you register a custom property, it won't show up automatically?
<fantasai> TabAtkins: no
<fantasai> shane: What if you registered it with an initial value?
<fantasai> iank_: That's what I meant
<fantasai> TabAtkins: That's a good question
<fantasai> iank_: ...
<fantasai> dbaron: That has a computed value then, so it should show up
<fantasai> shane: Just in computed value then, not in specified/inline
<fantasai> shane: I wonder if we want to allow having an invalid initial value?
<fantasai> TabAtkins: You can, have an unregistered property with grammar of *
<fantasai> SimonSapin: What happens in old style CSSOM?
<fantasai> TabAtkins: Undefined, but hopefully consistent
<fantasai> iank_: It would make sense that all registered properties appear in computed style maps
<fantasai> TabAtkins: [...]
<fantasai> shane: One pattern we've seen with untyped custom properties is that people use them like macros
<fantasai> shane: They put a lot of them at the root node
<fantasai> shane: to represent colors that might be use don the page, etc.
<fantasai> shane: Not uncommon to see pages iwth one or more custom properties defined
<fantasai> shane: Relatively easy to keep performant if not referenced much
<fantasai> shane: But coudl be an issue for typed properties if the same pattern used, because significantly increases size of ocmptued value map
<fantasai> shane: It would be bad if ppl typed their untyped custom properties
<fantasai> shane: At the very least, should provide suggestion that ppl don't do that
<fantasai> shane: But might want to look into CSS API for that
<fantasai> TabAtkins: currently only JS api for registering, somost of these cases likely won't do that...
<fantasai> shane: So, should typed custom properties show up in computed style?
<fantasai> RESOLVED: custom properties that have an initial value show up in computed style, warn authors about perf issues if they type everything all the time
<fantasai> RESOLVED: For inline style, should return the custom properties that are set on the inline style of the current node
<fantasai> RESOLVED: For specified style, should return the custom properties defined in the current rule
<fantasai> RESOLVED: For computed style, should return all defined custom properties on the current node (including inheritance)
<fantasai> iank_: We also may come back later with impl experince to say this was a terrible idea, but we'll see
```
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/css-houdini-drafts/issues/276#issuecomment-294664337 using your GitHub account

Received on Tuesday, 18 April 2017 03:25:54 UTC