13:56:55 RRSAgent has joined #css 13:56:55 logging to https://www.w3.org/2021/04/06-css-irc 13:56:57 RRSAgent, make logs Public 13:56:58 Meeting: Cascading Style Sheets (CSS) Working Group Teleconference 13:57:55 jensimmons has joined #css 13:57:58 GameMaker has joined #css 14:00:05 fremy has joined #css 14:00:13 present+ 14:00:20 jfkthame has joined #css 14:00:28 present+ 14:02:00 present+ 14:02:10 alisonmaher has joined #css 14:02:29 Present 14:02:32 present+ 14:02:47 present+ 14:02:53 present+ 14:02:54 present+ 14:03:10 Morgan has joined #css 14:03:13 present+ 14:03:14 present+ 14:03:18 present+ 14:03:22 present+ 14:03:28 present+ 14:03:53 futhark has joined #css 14:04:15 present+ 14:04:41 ScribeNick: fremy 14:04:43 myles has joined #css 14:04:57 Loving the project boards! 14:04:59 present+ myles 14:05:36 present+ 14:05:43 astearns: we are skipping introductions today, because it seems the people are about the same as the last time 14:05:56 present+ 14:06:01 astearns: if people have comments about the order, now is the time 14:06:23 Topic: [css-fonts] Computed value of font stretch 14:06:35 github: https://github.com/w3c/csswg-drafts/issues/6171 14:07:16 emilio: the spec has a note that says that for compat reasons, computation of font-stretch should stay a keyword if it was one, instead of the percentage 14:07:22 emilio: webkit doesn't do that 14:07:37 emilio: tests either require one or the other, there is no concensus 14:07:48 emilio: I would like to remove this note 14:08:00 myles: there is no known issue I was working around 14:08:15 dbaron: usually, we try to stick to the most compatible representation for compat 14:08:39 emilio: returning the keyword makes it difficult for authors because they need to reverse compute the keywords 14:08:50 emilio: font-3 used to report the keyword all the times 14:08:52 jensimmons has joined #css 14:08:55 jensimmo_ has joined #css 14:09:08 myles: at least in webkit, we implemented font-stretch at the same time as the numerical values 14:09:20 myles: so the span of time where we didn't support numbers for it was short 14:09:26 myles: possibly not even a release 14:09:37 dbaron: given that, I think it's fine to break the general principle 14:10:02 astearns: ok, so the proposed resolution is to not used the font-stretch keywords in serialization 14:10:07 emilio: and return a percentage 14:10:14 astearns: ok, any objection to this? 14:10:34 RESOLVED: font-stretch should serialize to a number/percentage, not a keyword 14:10:38 topic: [css-fonts] extent font-size-adjust to take a pair of values: 14:10:45 github: https://github.com/w3c/csswg-drafts/issues/6160 14:11:26 jfkthame: this was prompted by the discussion about size adjust descriptor 14:11:40 jfkthame: we want to harmonize when we have mixtures of fonts 14:12:02 jfkthame: font-size-adjust allows you to use the x-height of the font to size things 14:12:10 jfkthame: this is very latin-centric however 14:12:25 jfkthame: for exemple you might want to harmonize the ascent/descent of the font instead 14:12:39 jfkthame: because x-height might be meaningless to my language 14:12:52 jfkthame: this sounds like a natural extension to me, but I wanted feedback 14:13:01 fantasai: this makes sense to me 14:13:07 fantasai: I support the proposal 14:13:12 florian: same 14:13:14 sanketj has joined #css 14:13:32 florian: I would like to note that the ascent+descent combination is problematic 14:13:41 florian: because it depends on the baseline 14:13:59 florian: it's easier to stick to things that are distances from the baseline 14:14:12 florian: otherwise you are adding a feature to realign 14:14:22 s/are/adding/need to add/ 14:14:23 jfkthame: I don't propose to adjust the alignment 14:14:27 jfkthame: just the font size 14:14:44 fantasai: yes, you would need to use ideographic alignement in some cases 14:14:52 florian: ok, that sounds convincing 14:15:11 myles: did we consider IC-height? 14:15:26 [IC = Ideographic Character] 14:15:32 fantasai: we probably want to have logical variants of these as well 14:15:41 myles: philosophically this proposal makes sense 14:15:53 myles: but to change the spec, I will need a list of tokens to consider for the first argument 14:16:04 myles: I might have some opinions on the set 14:16:10 myles: descent doesn't seem useful for example 14:16:19 astearns: how often do people use font-size-adjust? 14:16:39 fantasai: it's not cross-browser so it might be lower than we think 14:16:50 jfkthame: I found a lot more uses that I expected actually 14:16:59 s/ok, that sounds convincing/ok, that sounds convincing, you can use vertical-align to deal with any alignement problem/ 14:17:07 jfkthame: but however it often as no effect since it only applies if font don't load 14:17:21 astearns: are we sure we don't complexify too much? 14:17:34 fantasai: I think it's fair to support asian languages better 14:17:54 fantasai: some languages don't even have opentype metrics, but at least this would add support for languages for which we have metrics 14:17:59 jensimm__ has joined #css 14:18:05 s/non-european/ 14:18:07 fantasai: and we have a mechanism to add new metrics if they are created later 14:18:10 s/asian/non-european/ 14:18:10 present+ 14:18:23 present+ 14:18:47 astearns: which browsers support this right now? 14:18:51 s/we have a mechanism/it provides a design which works/ 14:18:51 present+ 14:18:52 myles: probably just firefox? 14:19:17 jfkthame: and behind a flag in chrome 14:19:34 myles: and webkit would implement when we add the overrides in the font description block 14:19:47 myles: no objection to add, we can discuss the set later 14:19:58 astearns: sounds like we have a consensus 14:20:02 astearns: any objection? 14:20:28 RESOLVED: add new metrics that can be used to harmonize the font size of fonts used in fallback 14:20:43 florian: btw we need to find a way to work with the opentype people 14:20:48 florian: so we can provide feedback 14:21:06 florian: I don't have a plan to propose, but maybe we can create a community group 14:21:22 florian: maybe that is not necessary, but it would be nice to figure it out 14:21:51 s/maybe we can create a community group/there is a community group created recently/ 14:21:52 astearns: indeed, the set of metrics can be a good think to ask to the opentype people 14:22:12 astearns: let's make sure that we don't ping them about bad fonts though 14:22:20 s/maybe that is not necessary/I don't know for sure how to engage with the fonts people/ 14:22:21 astearns: there are lots of fonts that are reporting wrong metrics 14:22:31 astearns: and it's not the fault of the committee 14:22:48 https://github.com/w3c/font-text-cg/ 14:22:56 topic: [css-fonts-5] vertical metrics overrides 14:23:07 github: https://github.com/w3c/csswg-drafts/issues/6152 14:23:42 fantasai: these overrides are useful if you rotate the font (?) 14:24:03 fantasai: for example ascent and descent are given differently depending on the axis 14:24:20 fantasai: but we probably need to add values that would override things in vertical writing mode 14:24:40 fantasai: because using the horizontal values in vertical writing mode doesn't work well 14:24:53 s/work well/make any sense/ 14:25:00 myles: in upright vertical text, the ascent would be horizontal? 14:25:05 fantasai: yes, horizontal 14:25:22 (some pondering) 14:25:36 astearns: do we need to support both or a switch? 14:25:47 fantasai: I think both might be needed at the same time 14:25:59 s/needed/required to be specified/ 14:26:00 myles: this proposal would require a different implementation 14:26:20 myles: this is fine, but this something worth noting 14:26:35 fantasai: but the font has y values, you just need to override them 14:26:49 bkardell_ has joined #css 14:26:58 myles: possibly? but the problems that this solves are less important that the horizontal writing mode 14:27:07 fantasai: I would agree that this is less severe in most cases 14:27:28 fantasai: because in vertical writing mode the baseline is often the middle, and it is fine 14:27:29 present+ 14:27:47 myles: and the CJK scripts don't have diacritics so they usually fit in the 1em box 14:28:09 fantasai: some cases might still exist 14:28:20 astearns: are there arguments to not complexify? 14:28:29 astearns: if we add this, I would like to view examples 14:28:37 astearns: because I don't have an idea in mind of what this would do 14:29:01 astearns: any objection to add this to the spec at this time? 14:29:34 jfkthame: line-gap override could be useful too 14:29:45 jfkthame: no reason this should be left out 14:29:55 astearns: ok, any objection? 14:30:10 RESOLVED: add font-face descriptor overrides for vertical writing modes 14:30:30 topic: [css-fonts-5] How do font-size-adjust property and size-adjust descriptor work together? 14:30:38 github: https://github.com/w3c/csswg-drafts/issues/6128 14:31:17 jfkthame: the question came up about the interaction between these two properties 14:31:28 jfkthame: the proposed solution in the issue 14:31:43 jfkthame: is that the font-size-adjust takes precedence in a given element 14:31:55 jfkthame: that does erase the changes in the descriptor 14:32:05 jfkthame: I think this makes sense 14:32:38 myles: one way of looking at it is that they both occur, but font-size-adjust changes things to the same solution regardless 14:32:50 myles: when writing the spec text, I would go with this 14:33:00 jfkthame: I think that is true 14:33:07 (Myles's description makes sense to me.) 14:33:22 jfkthame: basically the calculations of font-size-adjust cancel out any previous adjustment 14:33:32 astearns: sounds like we have a general agreement 14:33:45 astearns: any objection to this clarification? 14:33:49 +1 to jfkthame's proposal 14:34:19 RESOLVED: clarify that font-size-adjust computations will effect things in such a way that the descriptor overrides have no effect 14:35:47 topic: [css-flexbox] [css-sizing-4] Interaction of flexbox minimum height and aspect-ratio minimum height 14:35:55 github: https://github.com/w3c/csswg-drafts/issues/6069 14:36:28 cbiesinger: the aspect ratio spec says that min-height auto and you compute it using the aspect ratio, you expand to the content height 14:36:57 cbiesinger: but in a column flex box, the height is the minimum of the transferred height and the content height 14:37:06 cbiesinger: it's not clear to me which one should win 14:37:22 cbiesinger: fantasai clarified the aspect ratio version should win 14:37:28 cbiesinger: but does the working group agree to this? 14:37:41 fantasai: this is different for replaced and non-replaced elements 14:37:59 fantasai: because the intrinsic size of replaced elements is not as strict 14:38:11 fantasai: so we need to keep that behavior for them 14:38:27 fantasai: but for non-replaced elements, the intrinsic size is more meaningful 14:38:47 florian: I'm not sure about what the alternative is? 14:39:21 cbiesinger: width:100px + aspect ratio 1:1 but intrinsic-height:200px 14:39:28 florian: ah ok, got it 14:39:36 cbiesinger: because it used to be the minimum 14:39:57 jensimmo_: the default of flexbox is that it's shrink then grow 14:40:18 jensimmo_: but the proposal is that for replaced elements, we make aspect ratio "work" 14:40:32 fantasai: yes, that is the heart of the issue 14:40:43 dholbert has joined #css 14:40:59 (some discussion about magic css jokes) 14:41:10 astearns: last week there was more contention 14:41:11 [jen's explanation was that if there's a bunch of elements you want to be squares, unless too much content want to grow, that's the behavior we specced for block boxes with aspect-ratio; and the issue is making sure it works the same for flexbox] 14:41:16 iank_: that was me last week 14:41:20 iank_: I am now fine with this 14:41:29 astearns: is the spec edit correct for what we discussed 14:41:37 fantasai: I think it is correct 14:41:47 fantasai: but we need to update the spec 14:42:45 fantasai: proposal is non-replaced elements with an aspect ratio honor the intrinsic size in flexbox 14:43:11 for min-height:auto 14:43:13 jensimmo_: I am seeing a lot of tutorials about aspect ratio on replaced elements 14:43:31 jensimmo_: in particular content-size fit etc 14:43:40 fantasai: that should continue to work 14:43:52 s/content-size fit/object-fit/ I think? 14:43:53 fantasai: that is why we don't do this for replaced elements 14:44:07 dholbert has joined #css 14:44:17 fantasai: non-replaced elements have an intrinsic size that depends on content, that might not be easy to resize 14:44:32 jensimmo_: the previous text for images would still apply then? 14:44:35 fantasai: yes 14:44:45 astearns: any objection to keep fantasai's edit in the ED? 14:45:05 RESOLVED: non-replaced elements with an aspect ratio honor the intrinsic size in flexbox for min-height:auto 14:45:34
14:52:06 leaverou_ has joined #css 14:52:15 present+ 14:52:33 present+ 14:53:20 dholbert has joined #css 14:53:24 smfr has joined #css 14:54:20 Partial regrets for Chris, he's having a migraine. May join later 14:54:47 present+ 14:56:31 present+ 14:58:28 TabAtkins: might be a dwarf propaganda map, hiding their continent from the view of others then! that would be smart of them... 14:59:44 House Sivis is gnomish, not dwarvish 15:00:58 ScribeNick: fantasai 15:01:25 topic: [css-sizing] Auto-resize iframes based on content 15:01:31 https://github.com/w3c/csswg-drafts/issues/1771 15:01:35 github: https://github.com/w3c/csswg-drafts/issues/1771 15:01:51 TabAtkins: Fairly old issue, #1171 15:02:06 TabAtkins: originated in HTML in the form of 'seamless' attribute on iframes 15:02:24 TabAtkins: meant to allow isolating parts of a page, but still lay them out as if in the page 15:02:31 TabAtkins: there were a bunch of issues, dropped from HTML 15:02:43 TabAtkins: core ideas still requested by people, in various variants 15:02:52 TabAtkins: We believe there's a useful and safe set of resizing behavior that we could expose now 15:02:59 TabAtkins: that would solve some of the use cases 15:03:09 https://github.com/w3c/csswg-drafts/issues/1771#issuecomment-805117925 15:03:33 TabAtkins: Core idea is that just the resizing portion of seamless is value 15:03:41 TabAtkins: But security issues around being able to tell the size of 3rd-party content 15:03:50 TabAtkins: bare minimum, different sizes of content depending on logged in or not 15:04:00 TabAtkins: So should only be allowed to take size of 3rd-party content if it wants to allow that 15:04:31 TabAtkins: Another problem, if 3rd-party page can trigger resizing without consent of containing page, can create problems as well 15:04:37 TabAtkins: So 2-way agreement on sizing 15:04:48 TabAtkins: First, outer page needs to opt into resizing based on iframe content 15:05:04 present+ 15:05:04 TabAtkins: Suggestion is to use new 'resize' value in 'allow' attribute 15:05:24 TabAtkins: Then for 3rd-party content, there's a window.resizeTo() method which is a no-op in iframes 15:05:31 TabAtkins: Inner page can request such sizes 15:05:39 TabAtkins: using this API 15:05:59 TabAtkins: Whenever inner page wants a resize, triggers an event on iframe which bubbles up 15:06:07 dlibby has joined #css 15:06:10 TabAtkins: if not prevetnDefault, then the iframe changes it's size 15:06:20 TabAtkins: if cancelled, doesn't change size 15:06:28 TabAtkins: This allows control over layout behavior across the page 15:06:54 astearns: Possible scripts using resizeTo() and relying on the fact that it does nothing? 15:07:02 TabAtkins: it's a no-op currently, so don't think so 15:07:09 TabAtkins: ... [ missed ] 15:07:26 astearns: Making page decide to allow event or not, already in place due to opt-in to resize behavior 15:07:44 cbiesinger: Nothing sounds like CSS thing 15:07:47 TabAtkins: kinda sorta 15:07:48 q+ to ask at which level of sizing this works. natural size of the iframe? something else? 15:07:58 TabAtkins: it's a cross-spec thing, does interact with CSS by adjusting intrinsic size of iframe 15:08:04 q+ 15:08:04 TabAtkins: gets into issue of same-origin content 15:08:18 fantasai: YOu wanted a 2-way handshake for security 15:08:26 fantasai: resizeTo() gives you 2-way for page consenting 15:08:41 fantasai: If that page is already firing resizeTo() and expecting it not to ahve sec implications 15:09:02 fantasai: I don't think paying attention to resizeTo() would break the framed page... 15:09:23 fantasai: But if they're asking for it and it's currently not changing size, the outer page probably isn't expecting a problem. 15:10:08 q-- 15:10:12 ack gregwhitworth 15:10:20 fantasai: [clarifying] the issue isn't an attack due to sizing, it's a possibly unexpected info leak from the frame'd page, leaking the size it wants to size to 15:10:22 ack fantasai 15:11:04 florian: currently, calling resizeTo() doesn't leak information 15:11:28 TabAtkins: could check if stuff in iframes do this currently... 15:11:43 fremy: It's not about stuff currently in iframes, but a page could put *anything* into an iframe 15:12:12 fremy: which would leak information from that page, which was not intended to be in an iframe 15:12:42 florian: resizeTo() doesn't have an effect on pages that are loaded into a window with multiple tabs 15:12:55 florian: for exactly this reason: it would leak information about that page to other pages in the same window 15:13:04 ack florian 15:13:04 florian, you wanted to ask at which level of sizing this works. natural size of the iframe? something else? 15:13:06 florian: opening up this leak through iframes is similarly bad (worse maybe) 15:13:18 another path would be an additional dictionary argument to resizeTo, e.g. window.resizeTo(100, 100, {something: true}); 15:13:18 TabAtkins: Yeah, OK, we need to think about that more. Maybe needs a new API 15:13:32 +1 iank_ 15:13:46 florian: In the case where resize does work, thing it affects is the natural size, right? 15:14:08 TabAtkins: Yes. Right now iframes have natural size of 300x150, and this would change that 15:14:19 TabAtkins: totally controllable, it's the weakest size input possible 15:14:27 fremy: [missed] 15:14:35 TabAtkins: currently iframes do not have an aspect ratio 15:14:47 TabAtkins: Ability to infer an aspect ratio is an interesting possibility 15:14:53 q+ 15:15:01 florian: As long as we're there, should we specify min size and max size separately 15:15:02 s/[missed]/do iframes have an aspect-ratio applied to that intrinsic size? 15:15:15 TabAtkins: Interesting. Not unreasonable to consider. 15:15:29 q+ 15:15:33 ack jensimmo_ 15:15:40 q+ 15:15:43 jensimmo_: Curious about use cases 15:15:57 jensimmo_: All I can think of is what ad networks will do, and I don't like those thoughts. 15:16:13 TabAtkins: There's another proposal for 1st-party content, which addresses more use cases 15:16:37 TabAtkins: but even within 3rd-party stuff, currently they do this resizing already, just with postMessage back and forth 15:16:41 TabAtkins: This would standardize that 15:16:59 TabAtkins: There's also things like Disqus, which does such special-case postMessage things 15:17:10 TabAtkins: which is complicated and no standardized way to handle across multiple systems 15:17:11 q+ 15:17:35 TabAtkins: YouTube player, e.g., might want to do this. CodePen might want to ask for sizes on its examples. Anything that wants to embed, has a reasonable use case for wanting to request a particular size and have it potentially honored by containing page 15:17:50 jensimmo_: If goal is to reduce jankiness of ad network... 15:17:55 TabAtkins: that is one goal, but not all of it! 15:17:57 need to drop off briefly for another call, but I'm very supportive of this, and I hope we can find a way to implement it in a privacy and security preserving way. 15:18:03 ack emilio 15:18:18 emilio: How do you react to resize in parent page when using the API? 15:18:37 emilio: User shrinks the page, need to somehow coordinate between both. No auto size, only fixed intrinsic size 15:18:48 TabAtkins: I don't think there's a reasonable direct analog to block auto-sizing .. 15:19:11 emilio: I guess at that point... You don't really need JS on the parent page to get auto height 15:19:23 emilio: If you require JS on the parent page then it's not great 15:19:47 emilio: So inner page can send resizeTo() whenever it gets Resize event 15:19:57 emilio: and then containing page doesn't need to do anything ... 15:20:07 emilio: [missed] 15:20:14 TabAtkins: possible this makes it easy enough that it's a concern 15:20:22 emilio: resize event ... your own resize event 15:20:40 TabAtkins: I suspect that's something that would show up fairly quickly 15:21:06 emilio: It only consumes CPU, not while:true. I send a message, it resizes me, sends a message back. Code keeps working, just uses a ton of CPU 15:21:18 emilio: It's a bug in the page, but. 15:21:34 TabAtkins: no-op loops can't happen because if the iframe's resizeTo() doesn't change its size, won't get an event because size didn't change. 15:21:50 TabAtkins: Either it'll grow or shrink infinitely, or will jiggle, which should be noticeable 15:22:00 emilio: Concerned about e.g. floating point issues, and rounding errors 15:22:07 emilio: I've seen that kind of stuff happen 15:22:12 we also already have the "jiggle" problem today with frame by frame resize-observers. 15:22:31 if not causing change in size, then shouldn't cause a problem 15:22:39 dholbert has joined #css 15:23:00 fremy: can't put a breakpoint in the main page to figure it out because no JS 15:23:07 fremy: Already have these kinds of bugs today 15:23:12 ack fremy 15:23:36 smfr: The HTML5 event loop spec is very specific about when resize steps happen 15:23:44 smfr: when we spec this, we need to spec it in terms of that event loop spec 15:23:50 smfr: Nobody mentioned resizeobserver yet 15:23:55 smfr: it's designed to avoid infinite recursion 15:24:08 smfr: we might need something here with nested iframes, so don't get into crazy infinite resizing 15:24:11 q+ 15:24:24 TabAtkins: yes, want to handle events in descending order like resizeobserver does 15:24:34 TabAtkins: need some thought to ensure not creating bad cross-tree resizing behaior 15:24:56 TabAtkins: Not too concerned about page vs iframe vibration, but much worse if grandparent grandchild interactions cause problem, because then nobody knows what's going on 15:25:13 Francis_Storr has joined #css 15:25:13 fremy: Main question here was, I guess point of allow attribute is to allow resize 15:25:19 fremy: External page wants to allow iframe to resize 15:25:24 fremy: Not sure I understand point of resize function 15:25:35 q- 15:25:38 fremy: why not some CSS value that allows resizing by containing page 15:25:57 fremy: reason I think about htat is that resize takes 2 arguments, width and height. 15:26:06 fremy: not that interesting to change intrinsic width of iframe 15:26:14 +1 to fremy 15:26:24 fremy: why not say that "I'm fine with my scrollHeight to be reported to the containing page" 15:26:30 iank_: scrollHeight isn't always what you want 15:26:37 fremy: could be something smarter, max-content maybe 15:26:47 q? 15:26:50 TabAtkins: Second part of proposal also, about same-origin content and no-JS solution 15:27:29 smfr: Other point, iframe calls resizeTo() and has to provide a size. What size should it provide? does it doe getBoundingClientRect() on the body or what? 15:27:36 smfr: Is there some convenient way to get the height of the content? 15:27:55 TabAtkins: For 1st-party content, making it easy. But for 3rd-party content wanted to be more explicit 15:28:05 TabAtkins: But maybe we can reduce that restriction 15:28:23 TabAtkins: 2nd part of proposal is about same-origin content 15:28:38 TabAtkins: right now, minimum solution still requires some JS on the framed page (not containing page) 15:28:48 TabAtkins: but for same-origin content, there's a certain degree of implicit trust we can rely on 15:28:52 TabAtkins: and might not require auditing 15:29:11 TabAtkins: for this, I propose that on a 1st-party iframe, or something that's srcdoc 15:29:17 emilio: srcdoc is not ? 15:29:20 emilio: data URIs are 15:29:24 TabAtkins: sorry, I'm thinking about sandbox 15:29:47 q+ 15:29:54 TabAtkins: In my original proposal, I had a new property that could be set on the root element to set the requested intrinsic size for each axis (auto | ) 15:29:57 q+ 15:30:15 TabAtkins: page could opt into ? via 'from-element' keyword, providing fallback length 15:30:27 TabAtkins: fantasai later suggested the page could just set an explicit width/height on the HTML element 15:30:40 TabAtkins: Possibly we don't need to mint a new property, can just take from the root element 15:30:53 TabAtkins: if that's problematic from existing, maybe mint something new 15:31:03 TabAtkins: but either way, that'll allow getting the size without JS 15:31:16 TabAtkins: Just set allow=resize, and inner page does whatever it needs to do 15:31:24 TabAtkins: and those sizes automatically communicate back and forth 15:31:29 TabAtkins: acts like an element, no JS required 15:31:39 https://github.com/w3c/csswg-drafts/issues/1771#issuecomment-805117925 15:31:54 fremy: that only works in 1D, right? you can't do both dimensions 15:31:59 fremy: then you wouldn't get the resize 15:32:10 fremy: if you get width + height, wouldn't know you need more space 15:32:22 TabAtkins: If you set both to auto, you'll need to rely on outer page to set your width... 15:32:26 fremy: ah, ok, make sense 15:32:41 iank_: I don't think that width/height on HTML will work, because people do set an explicit width on HTML and use e.g. auto margins to center 15:32:59 iank_: HTML is not the root, bit of disconnect 15:33:13 iank_: likely for auto behavior, might want something like scrollWidth/scrollHeight as was discussed 15:33:23 iank_: There's a little bit of danger here 15:33:29 +1 to scrollWidth/scrollHeight (adjusted if necessary) 15:33:50 iank_: you might get content that, if you have a fixed-position content that rises to ICB, and has height 120%, could create an infinitely-growing iframe that way? 15:33:57 iank_: I'm not too concerned about that 15:34:17 TabAtkins: Yeah, need to think about loop detection... 15:34:46 fremy: we can set a threshold, if you fire too many resize events in a certain amount of time don't allow it or whateer 15:35:09 iank_: That might block some valid use cases. E.g. comment expansion might want to animate growing 15:35:10 resizeObserver has the same error handling 15:35:29 ack gregwhitworth 15:35:52 gregwhitworth: Effectively what you just outlined is something we wanted at Salesforce. All over the web ppl using Salesforce but not aware of it. 15:35:57 gregwhitworth: would like to see ??? 15:36:03 gregwhitworth: enable this auto behavior for cross-origin 15:36:14 gregwhitworth: if a grid with min/max content, how can I lay out my content and pass back my height 15:36:25 s/???/network headers/ 15:36:25 gregwhitworth: I can work it out in JS, but want it automatic 15:36:39 TabAtkins: Reason restricted right now is trying to be cautious 15:36:52 gregwhitworth: we could write blog posts about how to do it, but would rather not 15:37:03 TabAtkins: I would want to have more security eyes on it 15:37:06 gregwhitworth: ... 15:37:23 emilio: There is some kind of precedent for this, loading a doc and sizing it intrinsically, which is SVG 15:37:41 emilio: Even if the SVG is not an actual image, if you have an object tag with SVG source, that's actually a document that's ... 15:37:52 emilio: in FF and Chrome at least, that size is intrinsic to SVG's viewbox 15:38:04 emilio: it would be good to figure out if there's something that we need to learn from that or not 15:38:10 emilio: that's probably legacy behavior 15:38:19 emilio: While we were doing ?? 15:38:25 emilio: I just wanted to mention that precedent 15:38:33 emilio: I think those can run script, even if SVG 15:38:48 s/??/site isolation/ 15:38:49 TabAtkins: A few people in thread mentioned OBJECT 15:38:59 TabAtkins: If currently allows that behavior and think it's OK, then maybe can allow it 15:39:05 TabAtkins: I haven't thought about it yet 15:39:23 ack emilio 15:39:25 ack fantasai 15:39:37 fantasai: on the topic of 3rd party sizing info without JS, I think i tmakes sense to allow 15:39:44 fantasai: If both the container and the inner page have explicitly allowed for it 15:40:01 fantasai: That indicates trust between the two 15:40:17 fantasai: For doing it declaratively, Ian's pointa bout width/height on root not being what we want makes sense 15:40:29 fantasai: Tab mentioned setting a property giving the behavior explicitly 15:40:40 fantasai: I don't think that's a CSS property, it's more of a security handshake 15:40:44 +1 fantasai 15:40:53 q+ 15:40:57 fantasai: So maybe an attribute on that opts the iframe'd page into the behavior 15:41:10 fantasai: And would let you specify which size you want (scroll height, border-box height, etc) 15:41:46 fantasai: I think the size shouldn't be specified in HTML, should be in CSS; but allowing this should be an HTML attribute 15:41:58 dholbert: Should any page on the internet be able to get that info? 15:42:11 dholbert: maybe same-origin addresses it 15:42:20 dholbert: don't want to allow inadvertent stealing of info from the page 15:42:31 TabAtkins: right, which was why I initially wanted to disallow it 15:42:41 TabAtkins: and fantasai was talking about explicit opt-in 15:42:55 TabAtkins: I think there's some kind of iframing options setting? 15:43:09 iank_: There's ??? HTTP Header which restricts which origins you can be embedded in. Most banks etc. use that. 15:43:40 TabAtkins: requiring that, reasonable thing to start with 15:43:51 iank_: would need to set Access-control: allow-origin or whatever 15:44:08 astearns: Sounds like you got some good feedback, something to work on 15:44:17 TabAtkins: plan is that parts of this that relevant to CSS would go to contain spec 15:44:21 TabAtkins: and sizing spec 15:44:28 TabAtkins: to talk about natural size being controllable this way 15:44:37 TabAtkins: if we do have a new property... probably in sizing? maybe contain? 15:44:41 TabAtkins: rest will be pursued in HTMLWG 15:44:58 astearns: Should CSS part depend on the HTML part being accepted? 15:45:02 TabAtkins: sure 15:45:08 q+ 15:45:16 ack dholbert 15:45:25 ack myles 15:45:31 myles: This entire discussion about how / technical considerations. Not about whether to do it all. 15:45:44 myles: Want to make sure that it's not a foregone conclusion that we should do this. 15:46:01 TabAtkins: Decent part of this was sussing out whether there's interest in doing this 15:46:06 TabAtkins: seems people are interested 15:46:12 plh_ has joined #css 15:46:14 TabAtkins: I suspect discussion in HTMLWG will be more contentious 15:46:20 TabAtkins: OK to object over there :) 15:46:29 astearns: but feel free to object over here also, if you think it's a terrible idea! 15:46:50 TabAtkins: We don't have any major internal partners clamoring for this, it's an old issue that's a frequent author requested, and we found a way to address an important part of it 15:48:26
15:48:27
15:53:23 present+ 15:53:40 dholbert has joined #css 15:59:57 plh has joined #css 16:00:56 topic: [css-values-4] Add lvh+lvw values 16:01:01 github: https://github.com/w3c/csswg-drafts/issues/6113 16:01:07 github: https://github.com/w3c/csswg-drafts/issues/4329 16:01:31 topic: 6113 is a specific part of 4329 16:01:32
16:01:53 topic: [css-values-4] Add lvh+lvw values 16:01:57 github: https://github.com/w3c/csswg-drafts/issues/6113 16:02:03 github: https://github.com/w3c/csswg-drafts/issues/4329 16:02:05 fantasai: 6113 is a specific part of 4329 16:02:40 fantasai: 4329 is a long discussiona bout how people are really, *really*, REALLY unhappy how on mobile the viewport units don't represent the size of hte viewport 16:02:53 fantasai: And the reason is that there are parts of the browser chrome that appear and disappear dynamically as you scroll 16:02:54 +1 to unhappiness 16:03:20 fantasai: so a bunch of UAs decided that the viewport units are the size of the viewport with all the dynamic chrome hidden, so a 100vh element will be partially obscured if anything *is* showing 16:03:39 fantasai: Which is fine for some content, and really obnoxious for others (like toolbars or headers that have to be attached at the top/bottom of the screen) 16:03:57 fantasai: So we've had a dsicussion about what values authors need to get the useful behavior. 16:04:00 fantasai: Three thrings. 16:04:15 fantasai: One is size of the viewport with chrome present, so they can size into that minimal space and never get things overlapped. 16:04:33 fantasai: Another is the size without the chrome, so they can size to the maximal space and get all the space filled when it's all hidden. 16:04:54 fantasai: And finally, the dynamically-changing current size with whatever chrome is currently showing, so it'll perfectly fit the viewport in all cases. 16:05:04 fantasai: Currently we are only providing #2, and that's a problem. 16:05:10 iank_: I thought vhc did change? 16:05:26 fantasai: No it's static, and also it's not defined yet because we haven't decided on a name. 16:05:52 q+ 16:05:58 fantasai: So the issue I tagged here is someone saying "how about we introduce lvh/lvw/etc" and that would represent the dynamic size of the viewport. 16:06:11 what does lv stand for? 16:06:13 fantasai: And then vhc would be the with-chrome static size, and existing vh would be without-chrome static size. 16:06:24 q+ 16:06:32 cbiesinger: Layout Viewport height 16:06:36 ah 16:06:43 fantasai: In A Coruna we discussed this, and a suggestion was becuase of the way viewport units compute, and to emphasize the dynamic-ness, possibly exposing the dynamic version as an env() value instead of a unit. 16:06:53 fantasai: And that might be less scary to implement. 16:07:10 fantasai: Viewport units have to be computed whenever the window changes; making it happen on scroll would be worse. 16:07:24 smfr: Drill down on "dynamic change" 16:07:28 s/Coruna/Coruña/ 16:07:41 smfr: in iOS, when the chrome animates in, I don't think we'd animate the unit; we'd snap it. 16:07:50 smfr: We ahve a notion of the UI being in an unstable state. 16:07:58 smfr: Like, position:fixed is magic that happens in the compositor. 16:08:06 ack smfr 16:08:17 smfr: Web content doesn't see the dynamic change, it sees things flip, and the dynamic stuff happens behind the scenes. 16:08:27 fantasai: I think that's fine, as long as the layout is correct when UI is stable. 16:08:35 fantasai: If the in-between state is optimized in ways that's probably fine. 16:08:58 fantasai: Someday animating it might be nice and performant, but for now it's fine. From the author's POV, it's the end states that matter. 16:09:12 TabAtkins: I agree, it seems like the end states are th emost important here 16:09:16 ack emilio 16:09:40 emilio: Same about end states, and that Firefox Mobile uses similar concepts. Webview only knows about the final states, not intermediate. 16:09:58 emilio: Also this sounds like fullscreen, a bit. We ahve display-mode MQ which tells you some stuff about the browser screen. 16:10:15 emilio: Would having these units and an MQ to switch between them work? 16:10:20 q+ 16:10:20 TabAtkins: Don't understand what you mean. 16:10:38 emilio: Instead of having a dynamic unit, just using the vh or vhc based on an MQ. 16:11:14 fantasai: I do want to keep it open for the future to be animated. 16:11:38 TabAtkins: I think this supports that, if we don't do dynamic *at all* right now. 16:11:47 fantasai: The computed-ness is still problematic 16:12:03 emilio: Computed value will *definitely* change with env(), they get substituted at var() time 16:12:06 q+ 16:12:32 fantasai: Or we have a unit that is used-value time. I don't think people want computed behavior here. 16:12:38 emilio: We ahve this already with %s on a fixpos 16:13:00 iank_: Yeah, or % height on , they dynamically change based on chrome showing. So this concept is already exposed. 16:13:19 s/want/need/ 16:13:20 iank_: So given the existence of height:100% on these elements, I don't know if we should try to avoid exposing this by using the MQ path. 16:13:27 smfr: height:100% doesn't change on iOS 16:13:37 emilio: It does for fixpos on Gecko, but unsure about on 16:13:47 emilio: This is historically not the most interoperable bit of mobile engines... 16:14:01 emilio: Could we spend some effort figuring out what we want the existing primitives to do? 16:14:09 fantasai: Yes, but I think we also need to add the new ones. 16:14:17 fantasai: Either way we'll need these three kinds of values. 16:14:29 here is a testpage https://bokand.github.io/demo/urlbarsize.html 16:14:35 fantasai: Deciding which one the height:100% maps to is probably a little more acceptable once we have the ability to change to another one, via new units. 16:14:45 ack chrishtr 16:14:46 fantasai: But right now people are just very unhappy 16:15:01 chrishtr: Is you set vh units it's the full size, ignoring chrome. 16:15:14 chrishtr: If you use vhc it subtracts chrome, so if yous croll up you see a gap 16:15:48 chrishtr: lvh theoretically animates, but at least shows the right value on stable. If you don't animate it'll show a gap during unstable, and then snap. 16:16:01 fantasai: One thing you can do is make the animation always snap to the larger size. 16:16:18 fantasai: It doesn't have to be the size you started at, just one of them; using the larger size always sounds better. 16:16:41 chrishtr: So when you start the animation, snap to the larger thing, do a main-thread relayout and possible introduce jank to the browser's interaction model. 16:16:51 chrishtr: Layout could take time, there could be a rAF callback... 16:17:05 fantasai: Right, but I think making it pretty is secondary to making it usable at all. 16:17:16 chrishtr: I find the whole area pretty confusing for ideal UX. 16:17:30 fantasai: Example: I've got a coding tutorial page, with pretty pictures. 16:17:34 fantasai: Long scrolling page. 16:17:48 fantasai: The elements I want to be viewport height are pictures and code blocks, both scrollable. 16:17:59 fantasai: It's *really awkward* to have a scrollable block taller than the viewport. 16:18:13 fantasai: So for usability reasons I want the code block to be at most th eheight of the viewport. 16:18:37 fantasai: But I want the viewport size *with chrome factored in*, the smaller size, so it'll always show the scrollbar when needed. 16:19:04 fantasai: I don't want larger (overlaps) and I don't want dynamic; I just want to make sure the entire box is visible when it's on screen regardless, so I can access both scrollbars. 16:19:18 fantasai: But for the pictures, I want them to fill the viewport, but it's okay to ahve them be cropped a bit. 16:19:52 fantasai: So I want them to fill the whole viewport when the chrome is hiding. And it's okay if the chrome comes in and obscures a little of the top or bottom of the image. 16:20:07 fantasai: And similarly I don't want this to be dynamic, because it'll cause the page to shift around, I want stable. 16:20:36 dholbert has joined #css 16:20:41 fantasai: And then *thirdly* I could have a sidebar that wants to fill the height of the page, and it needs to be dynamic - using all the height that's available when chrome is hidden, but not cropping anything when chrome is showing. 16:21:03 fantasai: So we want all three behaviors; we want to make sure that dynamic behavior is *clear* and won't get reached for accidentally. 16:21:13 chrishtr: So the sidebar example wants the dynamic example, right? 16:21:15 fantasai: Yeah. 16:22:09 TabAtkins: Have problems with the toolbars currently, even with position:fixed. [gives example] 16:22:28 iank_: People do dialogs, for example, that want it to fill the viewport. 16:22:32 iank_: Ther'es a lot of examples. 16:22:44 s/viewport/viewport, but too deep in the DOM to use 100%/ 16:22:51 chrishtr: So a fullscreen, or fullscreen minus margin, dialog, you probably want it to dynamically resize when you hide the omnibox? 16:22:53 iank_: Yes. 16:23:18 tantek has joined #css 16:23:23 ack plinss 16:23:30 https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/VirtualKeyboardAPI/explainer.md 16:23:44 plinss: Microsoft is doing some virtual keyboard API (link), wanna make sure we coordinate with this work 16:23:56 iank_: I think this is a slightly different usecase here 16:24:12 iank_: I don't think you want lvh to change on keyboard showing 16:24:28 fantasai: I agree with Ian, and think we discussed this in A Coruna as well and came to the same conclusion. 16:24:44 fantasai: Wanting keyboard to change your layout is something much less common you should opt yourself into. 16:24:58 iank_: Especially like adding an extra keyboard above the UI keyboard 16:25:16 astearns: If that's the case, I'd want to see noted the reasons why we're explicitly not doing that. 16:25:22 fantasai: Sure, we can add a note for that. 16:25:39 smfr: I think there's a diff on Android vs iOS for whether keyboard is an overlay vs viewport shrink 16:25:51 smfr: There's also the visual viewport API that tells you when it changes due to the keyboard 16:26:26 present+ 16:26:44 dlibby: There's three modes - keyboard resizes the layout viewport (Android), keyboard resizes the visual viewport (Windows/iOS), and virtual keyboard is third (nothing page-observable happens besides some events firing) 16:27:01 ack dbaron 16:27:55 dbaron: One thing to be careful about with dynamic unit is that there's an assumption that users will make some scroll gesture, and the toolbar will appear or disappear, and the unit will resize things, and somehow there's magic that'll happen that puts things in the positions they're expected to be in. 16:28:12 dbaron: I think we shoudl be careful not to assume that magic will just work, because it's actually quite hard. When things resize, things move. 16:28:30 chrishtr: You mean hard for the dev to make sure things move in predictable ways? 16:28:52 q+ 16:28:52 dbaron: Possibly both. I think there will be unexpected results where they use the dynamic unit, get the right size, but not the right position. 16:29:10 florian: Right, and I don't think in general you can't guarantee anyway because too much of the layout has changed. 16:29:34 chrishtr: What do you mean by position of content? 16:30:06 florian: If your page is just a linear stream of content, and you're just using the unit for height, you can expect the position of th eresized bit to not change. 16:30:48 florian: But if you use the unit in width, and this changes how many columns fit, etc, there might be arbitrary layout changes on the page that make it undefined what it means to be "same position" 16:31:19 TabAtkins: 2 items, both 100lvh 16:31:31 TabAtkins: both change, and bottom one ... 16:31:37 TabAtkins: causes unexpected position changes 16:31:51 smfr: Scroll anchoring can probably help ther 16:31:53 TabAtkins: Agree 16:32:22 smfr: If this is a unit that changes value, we need an event to inform you of the change. Possibly this is the resize event; if so, we need to sync this unit changing with th eresize event firing 16:32:26 fantasai: Does resize change due to this? 16:32:32 smfr: We do fire the resize event.... 16:32:42 smfr: It fires on inner height, which does match this I think 16:32:44 visualViewport resize does fire already, I believe 16:32:49 smfr: There's several things that need to be accounted for. 16:33:08 iank_: I posted a testcase a bit ago, that should show in a particular browser when things change based on user gesture 16:33:21 iank_: I think resize event should fire when innerHeight changes 16:34:09 florian: Could this get us into loops, if the content using the viewport units gets smaller than the viewport height? 16:34:14 q+ 16:34:19 q- 16:34:24 fantasai: We can get into the details for that after we decide whether to do this or not at all ^_^ 16:34:35 fantasai: So we need to decide whether to add these functionalities or not 16:34:43 fantasai: If so, add them as units, as env(), as something else? 16:34:56 astearns: Are we lacking a second stable resolution? 16:35:01 fantasai: We have a resolution, just not a name. 16:35:07 fantasai: We don't ahve a resolution for the dynamic version. 16:35:13 fantasai: We should have consistency between them. 16:36:02 fantasai: The proposal for dynamic uses a prefix; we might want the small static one use a prefix as well, so cvh rather than vhc 16:36:15 ack chrishtr 16:36:25 chrishtr: Coming back to use-case for dynamic, a 100% height sidebar 16:36:35 chrishtr: Why can't that be position:fixed top/bottom:0? 16:36:49 iank_: It can, but often people will embed sidebars deep in other elements 16:36:57 iank_: It'll break their site layout if it's fixpos 16:37:06 iank_: There can be a fixpos containing block between it and the root 16:37:25 iank_: People will often develop for desktop-first sidebars, and handle mobile after, and their page structure is already set. 16:38:01 florian: Another is you might not necessarily want to be on top of things. Think app, not document, with toolbars around a content area - a grid with toolbars in side cells and an overflowable center area 16:38:23 florian: Entire UI is supposed to fit the screen at all times. If browser chrome pops in and out, the page's UI shifts, but it should all always be visible. 16:38:39 chrishtr: So this is a site that doesn't scroll? 16:38:48 florian: Yes, the overall site doesn't scroll, just the regions. 16:39:07 jensimmons: Right, fixpos would work *only* if people were already using abspos for their layout, not if they were using Grid/etc. 16:39:32 jensimmons: Could we do a thing where we have units to measure the constant states, and then use env() for the dynamic things? 16:40:05 (the units aren't constant if you change the window size :) 16:40:06 TabAtkins: That was fantasai's suggestion, to make it really obvious that this is dynamic and different from the others, make sure you really want it 16:40:26 chrishtr: Could one of y'all share an example that would help explain it? 16:40:54 florian: [shows off a music editing app on his phone, with a toolbar on bottom with sheet music taking up the content area] 16:41:26 florian: I always want the toolbar to be showing regardless of chrome showing or not, and I don't want the toolbar to overlap the end of the sheet music if I scroll to the bottom. 16:41:54 @florian: isn't that position:sticky? 16:41:56 florian: So probably the whole thing is a Grid, with a height of env(viewport-height) or something, and the toolbar's grid cell is fixed height, etc 16:42:56 fremy: Wouldn't stickypos do this, too? 16:43:18 dlibby: yeah, seems like stickypos too 16:43:42 s/dlibby/sanketj/ 16:44:02 florian: My claim isn't that you couldn't do it with stickypos or whatever, but rather if you're thinking about your entire layout in Grid, which you might very well do because it's modern and convenient, you can express this all in Grid, but then if it fails on mobile because the viewport units don't work... 16:44:27 q? 16:45:11 iank_: Important to think about is that web devs might start by developing with a grid, which is deep in the DOM; to size it to the viewport they need to size all the elements in the ancestor chain carefully. Using vh is a very simple and easy tool there. It's a big change in theinking to instead switch to fixpos or stickypos. 16:45:37 iank_: So If they started with this as a grid, and were sizing to `calc(100vh - 10px)` or whatever, it would be a big change. 16:47:03 dholbert has joined #css 16:47:20 TabAtkins: ... 16:47:22 TabAtkins: ... 16:47:24 TabAtkins: ... 16:47:34 TabAtkins: Want to make sure that we don't create cliffs 16:47:55 florian: And if you have stickypos, the toolbar needs to be a child of the scroller; in Grid it's a sibling of the scroller 16:48:31 jensimmons: The use-cases we've seen, attaching to the bottom, is *one* of *many* use-cases for viewport units; I've demo'd viewport unit a bunch on stage and have never even used this case. 16:48:54 jensimmons: And 100vh isn't the whole thing - 50vh items stacking is reasonable. 16:49:20 chrishtr: Returning to florian's app example, the root scroller doesn't have overflow, right? 16:49:40 florian: In a simplified version, yes, it's a flexbox that fills the viewport. The content area that contains the sheet music has overflow:auto. 16:49:56 chrishtr: So the interaction model they want is you can scroll the music, nothing else; you can always tap the play button. 16:49:58 florian: Yeah. 16:50:30 chrishtr: So in this case, when it first loads on chrome mobile, the url bar will show and then never disappear, since it only disappears if you scroll the root scroller. 16:50:46 cbiesinger: I think apps sometimes do a scrollTo(1px) to cause the URL bar to autohide 16:51:01 florian: That might explain why the Firefox behavior is so confusing/uncertain 16:51:06 chrishtr: Yeah there's bugs around that. 16:51:43 chrishtr: So the site could use vhc perhaps, but if they use the dynamic version they'll never see it adjust. 16:52:00 chrishtr: So I was concerned about this responding to user gestures hiding the bar - that needs to be smooth. 16:52:10 totally agree with cbiesinger here. if you use a fixed grid over the screen, there is no way to auto-hide the chrome as a user, and the problem just doesn't exist in that case 16:52:13 chrishtr: But if it just needs to be resized to the correct new area, I can see the use for this dynamic unit 16:52:36 I know there's a proposal for a root scroller designation API floating around somewhere... 16:53:02 florian: So there's definitely a bunch of issues, but does it seem reasonable to take a resolution to pursue the dynamic thing, and possible scal eit back afterwards? 16:53:13 @TabAtkins: Ah, yeah if such API existed, that could change things indeed 16:53:16 astearns: And are we shooting for a unit or env() ? 16:53:48 iank_: I'd err towards units, since that's waht webdevs are already used to. 16:54:08 iank_: I don't find the argument about dynamic changes compelling - the other units already dynamically change on window resize. 16:54:33 astearns: I think it's much more common for webdevs to resize the tab to check it responds properly, less experience with showing/hiding chrome on a mobile device. 16:54:54 fantasai: The nice thing about env() is that it's more obnoxious to use, so it's more of an explicit decision. 16:55:10 fantasai: On desktop it doesn't have this dynamic problem, only on mobile. 16:55:45 fantasai: So I feel like we'll get less people doing it by default. 16:55:59 astearns: People who teach CSS, do y'all have an opinion? 16:56:09 jensimmons: I could go both ways. 16:56:18 +1 to fantasai's obnoxious-on-purpose syntax argument 16:56:28 jensimmons: vh means the most pixels, vTBA means the least pixels, and both are fixed. 16:56:44 jensimmons: A third unit meaning a dynamic changeable value, that could be confusing to people. 16:57:00 jensimmons: But iank_'s point is compelling, where authors are already used to these as units. 16:57:20 jensimmons: But elika's point about this being an env() so people ahve to go look for it might make sense. 16:57:43 rachelandrew: My gut is a unit, same as the others, but I get how we don't want it to be the default people use, and making it look different can help there. 16:57:54 rachelandrew: So as a teacher, units are easier to teach, but I get the reasoning behind the other. 16:58:10 leaverou: I think it makes more sense as a unit, due to symmetry. 16:58:29 leaverou: Might be easier to read as an env() because it can have a longer name; unit names are cryptic. 16:58:38 leaverou: But env() names can get pretty long, especially in calculations. 16:58:59 iank_: There's already polyfills for this; they act like a unit setting a css variable. 16:59:11 That sounds like it's similar to env(), then? 16:59:35 astearns: I propose that we resolve to work on this dynamic unit. Get spec text together, with examples, and open separate issues for moving it to env(), what to do with animations, etc. 16:59:46 chrishtr: I think that sounds great, one more thing, I hope we can go forward with vhc as well. 16:59:59 astearns: We do have a resolution for that, we just haven't gotten it into the spec 17:00:09 I always find answering questions like this (unit vs environmental var) are easier to understand when I code some demos. Actually write out the code. 17:00:14 geheimnis` has joined #css 17:00:14 fantasai: And haven't decided on the name. And it might make sense to make sure these are consistent. 17:00:24 fantasai: Might all work best with a prefix. 17:00:36 https://www.npmjs.com/package/postcss-viewport-height-correction is one example of subsitution via postcss 17:00:37 futhark has left #css 17:00:55 fantasai: I propose to use "s" as a prefix for the small, static size, and "d" as a prefix for dynamic one. 17:01:24 RESOLVED: Work on the dynamic unit. 17:01:45 chrishtr: Not only do we hear a lot that this is a problem, Chrome is def interested in exploring this and working with devs. 17:02:00 chrishtr: If anyone has partners who can work with us, or has more examples, please contact me. 17:03:02 Topic: end 17:03:17 chrishtr: https://github.com/w3c/csswg-drafts/issues/4329#issuecomment-730549876 might be worth a read 17:03:22 zakim, end meeting 17:03:22 As of this point the attendees have been fremy, miriam, dbaron, alisonmaher, rachelandrew, oriol, castastrophe, emilio, jfkthame, GameMaker, Morgan, florian, futhark, myles, 17:03:25 ... fantasai, iank_, jensimmo_, cbiesinger, chrishtr, bkardell_, leaverou_, sanketj, dholbert, faceless, gregwhitworth, plinss, tantek 17:03:25 RRSAgent, please draft minutes v2 17:03:25 I have made the request to generate https://www.w3.org/2021/04/06-css-minutes.html Zakim 17:03:27 I am happy to have been of service, astearns; please remember to excuse RRSAgent. Goodbye 17:03:31 Zakim has left #css 17:05:05 jfkthame has left #css 18:05:44 jamesn has joined #css