00:05:53 zcorpan has joined #css 00:27:38 zhengxu has joined #css 01:02:52 I have made the request to generate https://www.w3.org/2020/10/20-css-minutes.html fantasai 01:03:21 I have made the request to generate https://www.w3.org/2020/10/20-css-minutes.html fantasai 01:18:47 zhengxu has joined #css 04:29:57 smfr has joined #css 04:30:16 i am trying to make sense of this text in cssom-view-1: “Elements and viewports have an associated scrolling box if the element or viewport has a scrolling mechanism or it overflows its content area and the used value of the overflow-x or overflow-y property is hidden. [CSS3-BOX]” 04:30:26 is *not* hidden? 04:37:25 yeah, i think so too, for what it's worth 04:45:30 and it should be “not hidden or clip” now 04:47:48 what's "it"? 04:48:03 The viewport overflows its content area? 04:48:06 what??? 04:48:17 what about if it overflows the content area but not the padding box? 04:48:34 why would that make any difference 04:54:29 this shuld be two or three separate sentences 04:57:34 anssik has joined #css 04:57:59 yeah there are some missing words 05:07:57 smfr has joined #css 20:02:08 RRSAgent has joined #css 20:02:08 logging to https://www.w3.org/2020/10/20-css-irc 20:02:10 RRSAgent, make logs Public 20:02:11 Meeting: Cascading Style Sheets (CSS) Working Group Teleconference 20:02:18 present+ 20:02:21 present+ 20:02:22 present+ 20:02:23 present+ 20:02:24 present+ 20:02:24 present+ 20:02:25 present+ 20:02:28 present+ 20:02:41 present+ 20:02:43 present+ 20:02:56 smfr has joined #css 20:03:21 present+ 20:03:22 present+ 20:03:25 present+ myles 20:03:35 I'm waiting to allowed in 20:03:46 we missed the last MQ discussion yesterday, can we start there? 20:03:54 present_ 20:03:57 present+ 20:04:35 present+ 20:04:40 present+ 20:05:08 Rossen Atanassov, Microsoft 20:05:11 present+ 20:05:15 present+ 20:05:15 Morgan Reschenberg, Mozilla 20:05:15 present+ 20:05:16 Alan Stearns, Adobe 20:05:16 Myles C. Maxfield, Apple Inc. 20:05:17 Simon Fraser, Apple 20:05:20 Manuel Rego, Igalia 20:05:21 Christian Biesinger, Google 20:05:22 Peter Linss, Invited Expert 20:05:22 Brian Kardell, Igalia 20:05:23 GameMaker has joined #css 20:05:24 Vladimir Levin, Google 20:05:25 Oriol Brufau, Igalia 20:05:26 Tab Atkins-Bittner, Google 20:05:26 Florian Rivoal, Invited Expert 20:05:27 brandonferrua has joined #css 20:05:28 Alison Maher, Microsoft 20:05:31 present+ 20:05:32 present+ 20:05:33 present+ 20:05:36 Megan Gardner, Apple 20:05:44 Brandon Ferrua, Salesforce 20:05:45 Miriam Suzanne, Invited Expert 20:05:48 Ting-Yu Lin, Mozilla 20:05:59 Cameron McCormack, Mozilla 20:06:04 Jen Simmons, Apple, Inc. 20:06:05 fremy has joined #css 20:06:09 Elika Etemad aka fantasai, Invited Expert 20:06:12 Topic: Masonry Layout 20:06:14 ScribeNick: fantasai 20:06:18 Chris Harrelson, Google 20:06:18 present+ 20:06:21 chris has joined #css 20:06:24 mats_: I wrote the Masonry spec 20:06:29 https://raw.githack.com/mozilla/gecko-dev/master/layout/docs/css-grid-3/Overview.html 20:06:56 dholbert has joined #css 20:06:59 mats_: That's what we'll discuss today. I didn't prepare any presentatin of it, but happy to answer any technical questions you might have 20:07:06 present+ 20:07:10 heycam: Last time I presented the explainer based on Mats's gh issue 20:07:15 heycam: Mats turned that into spec text 20:07:19 dholbert_ has joined #css 20:07:26 heycam: Main thing we want today is, ask to put this into a draft 20:07:32 heycam: and secondly, which spec does that go into 20:07:36 heycam: is it Grid 3 or something else 20:07:46 dlibby_ has joined #css 20:07:55 Rossen_: Last time discussed in F2F, was at Igalia 20:08:09 Rossen_: Have there been any major changes since then? 20:08:19 Rossen_: Some of the early conversation was should it be part of grid or own display value. 20:08:27 Rossen_: Did we resolve on this? Current proposal uses grid 20:08:33 fantasai is in favor of using grid 20:08:40 heycam: That hasn't changed in the spec 20:08:48 drousso has joined #css 20:08:51 q+ 20:08:53 q+ 20:08:54 present+ 20:08:54 heycam: Initial proposal was tied into grid and not a separate layout model 20:09:01 heycam: Not sure if that's captured as an issue in the spec itself 20:09:09 heycam: Mats, could you talk about open issues listed in the spec? 20:09:29 mats_: [garbled] 20:09:42 mats_: A few issues in the spec, but mostly resolving edge cases 20:09:42 present+ 20:09:59 present+ 20:10:34 Rossen_: We should make the issue clear 20:10:53 Rossen_: Do we want to adopt this module? 20:11:05 heycam: Maybe easier to resolve on that first, then file specific issues in GH 20:11:16 q? 20:11:21 iank_: Unsure if there was much follow-up discussion about in grid vs separate display tpe 20:11:24 s/tpe/type 20:11:51 q+ 20:11:59 q+ 20:12:08 ack TabAtkins 20:12:18 TabAtkins: First, I was looking for where the proposal was and had trouble finding it. Have URL now 20:12:32 TabAtkins: looking in the thread, back in January we already agreed to adopt this proposal 20:12:39 TabAtkins: editors me, mats, fantasai, jensimmons 20:12:49 TabAtkins: We haven't done anything with it, but it seems like we already agreed to adopt it 20:12:58 TabAtkins: so should dive into structural questions like is it grid or not 20:13:07 ack jensimmons 20:13:22 jensimmons: So not even sure what we're debating, but have comments on whether should be part of grid display type or own display type 20:13:29 jensimmons: Seems we haven't resolved that 20:13:38 jensimmons: I think it should be part of the grid display tpe 20:13:44 jensimmons: I really like how this proposal works. Read it again today. 20:13:45 jarhar has joined #css 20:13:53 jensimmons: I've been thinking about it the last few months, but re-reading again 20:14:06 jensimmons: think it would be awful lot of work to figure out making it not grid, in the other dimension etc. 20:14:12 jensimmons: and would perhaps settle on something simplistic 20:14:19 q+ 20:14:31 jensimmons: by making part of Grid, get an incredible body of work, resolved on gaps, alignment, repetition of tracks, etc. 20:14:34 If we did it as a separate thing, we would explicitly just do "exactly what Grid does" in everything that overlaps. 20:14:36 jensimmons: using minmax, etc. 20:14:42 jensimmons: Don't know why we would want to give authors a separate set of tools 20:14:48 jensimmons: Don't want to give authors two sets of things to learn 20:15:02 jensimmons: Argument from before, word "grid" means everything lines up in 2D but masonry is packing 20:15:05 jensimmons: but I think that's a pedantic argument 20:15:09 q+ 20:15:10 It would just let us get a slightly more optimized syntax for declaring the masonry, basically. 20:15:19 jensimmons: I don't think "grid" can't encompass this 20:15:32 jensimmons: I think it should be part of grid, and I really like the direction this is going so far 20:15:47 ack chrishtr 20:16:07 chrishtr: I'm wondering if, related to point already made about relation to grid, do you have data to show about how hard to implement or how much it re-uses the concept of grid? 20:16:36 mats_: It was pretty easy to fit into existing CSS grid code that we have 20:16:44 mats_: CSS grid, all the algorithms, are pretty standalone per axis 20:16:51 q! 20:16:52 mats_: so our code at least, just run the code for one axis 20:17:01 mats_: ... 20:17:04 mats_: It shouldn't be hard 20:17:13 mats_: to implement for an existing CSS Grid implementatin 20:17:14 fantasai: what's the keyword for moving yourself at the bacvk of the queue again? 20:17:20 mats_: get a lot of free structural [?] 20:17:35 ack fremy 20:17:42 q+ 20:17:56 iank_: I think my concerns from last time still hold 20:18:09 iank_: Unless I'm wrong, a few things in the grid model that not in the masonry model 20:18:13 iank_: e.g. grid-area 20:18:17 iank_: right? 20:19:05 iank_: If I have grid-area: 1/2 it will ignore one of the axes 20:19:10 I strongly suspect we'd just literally build Masonry stuff into the Grid Layout Algo, even if we did Masonry as a separate spec. 20:19:10 q? 20:19:16 ack iank_ 20:19:23 mats_: yes 20:19:25 present+ 20:19:26 iank_: That concerns me 20:19:37 iank_: Also, want to do things like splitting content over two grid areas 20:19:42 iank_: can re-use concepts 20:19:48 iank_: but I'd be hesitant to jump the gate 20:20:03 florian: I agree more with Jen than Ian 20:20:11 florian: Almost all the tools that work in Grid also should work here 20:20:28 florian: So theoretically we could have 'display: masonry' that either uses all the grid properties or has duplicate properties 20:20:28 q? 20:20:32 florian: but do we really need this? 20:20:40 florian: Having a few properties not apply some of the time is really OK 20:20:44 q+ about the set of properties applying to grid vs masonry 20:20:53 q? 20:20:57 florian: Other question, If you're trying to fall back from masonry, what happens? 20:20:58 ack florian 20:21:01 q+ 20:21:18 florian: If separate display type, you fall back to block. Grid is probably a better naive fallback. 20:21:28 florian: But I'm leaning towards keeping it a grid variation rather than a separate thing 20:21:36 florian: and not too concerned about Ian's concern 20:21:42 q- later 20:21:52 fantasai: I also think it makes sense to integrate it with grid, for all the reasons mentioned 20:21:58 ack fantasai 20:22:13 fantasai: in terms of various things not applying, if we wantt hem to apply i think we could have a masonry layout and grid layout if we wanted to 20:22:31 fantasai: So if you assign it to row 1 it's in a masonry layout in row 1, then if you put it in row 2 it's in a separate masonry layout 20:22:40 fantasai: Woudl be happy to adopt as an ED and possibly as a fpwd 20:22:44 ack TabAtkins 20:22:53 TabAtkins: Looking over the set of grid properties and whether or not they apply 20:23:10 TabAtkins: It is absolutely the case that Masonry should be built on Grid algorithm 20:23:14 TabAtkins: but as for property set 20:23:26 TabAtkins: Most of them will have weirdness that only one of the pair works in masonry layout 20:23:37 TabAtkins: grid-auto-rows vs grid-auto-columns 20:23:47 TabAtkins: We have different flow values for masonry that do something similar but distinct 20:23:52 TabAtkins: similar to placement properties 20:24:08 TabAtkins: and then I guess row gap vs column gap work similarly 20:24:20 TabAtkins: I think we should make a new display value with its own properties 20:24:25 TabAtkins: but have a single layout algorithm 20:24:50 TabAtkins: but I think we have a good opportunity to have a better developer-facing API instead of trying to re-use and half-ignore the grid properties. 20:24:59 q? 20:25:00 TabAtkins: but happy to be wrong, but I want to play around with making a new set of things just in case 20:25:08 ack fremy 20:25:14 fremy: I think I agree with Tab on this mostly 20:25:25 fremy: but also, want to accept as WD 20:25:35 fremy: I took a look, there's like one new property, masonry-auto-flow 20:25:41 fremy: but no definition of what the values do 20:25:48 fremy: Hesitant to accept when there's no definition 20:25:58 fremy: I feel like it's not working great 20:26:12 fremy: So leaning towards saying, let's make this something different and if in the end we find we re-use most of the things 20:26:22 q+ 20:26:26 fremy: but first let's define standalone and then later on if we find convergence, I think it would be more logical 20:26:45 ack myles 20:26:55 myles: Understand idea that some grid properties won't apply to masonry. And in the future, some masonry properties won't apply to grid either 20:27:19 myles: And understand argument that even if different specs, even if properties with different names in different specs, can share algorithm 20:27:32 myles: The strongest differentiator between the two solutions is what the fallback is 20:27:47 myles: is it better to have masonry fall back to block, or to have some properties that apply just to grid 20:27:58 q+ 20:28:01 myles: If masonry layout falls back to block, much worse than falling back to grid with some properties ignored 20:28:13 fremy: You can also fall back using @supports 20:28:24 fremy: There's no good reason to limit yourself because of fallback 20:28:32 ```display: grid; display: masonry;``` is what a lot of folks will do for this case. 20:28:33 fremy: Even if the properties work similarly, not quite the same 20:28:46 Karen has joined #css 20:28:50 myles: The argument there is about what authors get by default 20:29:00 ack TabAtkins 20:29:02 q+ 20:29:04 myles: of course you can do anything, but what about authors who don't think about these cases 20:29:19 TabAtkins: This is the same argument that led to multicol being built on block and not being a separate display tpe 20:29:33 TabAtkins: Multicol is different of block, and having one be variant of other is weird 20:29:47 q? 20:29:51 TabAtkins: The fact that it's a "block container" is awkward, and I'm afraid we'll run into the same problem again 20:30:04 TabAtkins: But because going to be slightly different 20:30:18 TabAtkins: I suspect we'll end up writing ourselves into awkward corners if one different from other 20:30:39 heycam: I think the comparison to multicol is interesting in another way because we have this precedent of having the gap properties, which apply to flex and grid etc. 20:30:48 heycam: we gave them one name to apply across multiple layout models 20:30:59 heycam: Here we have grid-specific properties, but if we considered masonry separate from grid 20:31:03 heycam: names ... obvious 20:31:21 Rossen_: Want to make the discussion more action-oriented. Repeating previous discussions 20:31:32 s/names ... obvious/names of some grid properties could be changed so that the commonalities are more obvious/ 20:31:33 Rossen_: want to make sure we arrive at an actual resolution of what we're doing with the current spec 20:31:48 Rossen_: keep separating the leading sort of differences on the table 20:32:10 Rossen_: implementers and what they prefer vs. fallback mechanism vs. users and authors and how they will perceive from an ergonomic point of view 20:32:27 ack jensimmons 20:32:39 jensimmons: The way I see it, alignment was created to go with flexbox and then folks realized it would be great to do in grid 20:32:53 jensimmons: and rather than come up with new set of keywords and values, because they do work slightly differently 20:33:12 github: https://github.com/w3c/csswg-drafts/issues/4650 20:33:13 jensimmons: but the argument that authors, it'll be too hard to say 'grid-template-rows: masonry' and then 'grid-auto-rows: ??' to set the default 20:33:23 jensimmons: but 'grid-auto-rows' doesn't aply 20:33:27 jensimmons: I don't think authors will be confused 20:33:31 jensimmons: to me it's very similar to alignment 20:33:54 q? 20:33:59 jensimmons: for alignment, making a separate set of syntax would have been much much more confusing 20:34:02 jensimmons: I'm really glad they share syntax 20:34:06 jensimmons: and that's my thought son this 20:34:14 jensimmons: It doesn't seem like a completely different layout model 20:34:19 jensimmons: It's an option in something bigger 20:34:26 jensimmons: and that is something that looks a lot like grid 20:34:35 jensimmons: Don't want duplication, new set of names and properties, etc. 20:34:58 jensimmons: Not just doing the simplest things possible in masonry.js, but much more powerful because built on Grid 20:35:25 fantasai: my proposal is that we adopt this as an ED, and i dont' reallyc are if we temporarily name it css-masonry or css-grid-3 20:35:32 fantasai: and think we should fill out the missing dfns, etc 20:36:11 fantasai: and come back to this topic and decide if we want to take it as fpwd as either name, and let Tab try his attempt at different names, let Jen survey authors, and come back to it in a month or two 20:36:18 fantasai: but adopt it for now as an official ed 20:36:29 fantasai: It'll be a diff spec built on top of grid anyway, at least at first 20:36:31 +1 20:36:55 fantasai: and publish FPWD when we think we're ready to show something to the world 20:37:06 Rossen_: Internally uses grid, but also is masonry layout 20:37:37 Rossen_: suggest adopt as-is and then decide upon FPWD 20:37:56 myles: We support progress on Masonry, and agree with fantasai, let's take the step we can take immediately 20:38:14 Rossen_: and might have other things to add to css-grid-3 also 20:38:31 fantasai: We have a list of stuff that's going into Grid 3 already, already resolved, just needs edits ... 20:38:37 RESOLVED: Adopt Mats's draft as ED 20:38:50 Rossen_: Mats, before you transition over, do you want to add the rest of the editors to this spec? 20:39:15 Rossen_: Jen, are you up to it? 20:39:23 jensimmons: yes, I would love to! yay new company that let's me do things 20:39:57 heycam: Firefox has recently gained a new experiments stage in the preferences 20:40:03 s/company/boss/ 20:40:10 heycam: can turn it on and play with it 20:40:18 heycam: Settings options preferences 20:40:23 heycam: I think you have to be using Nightly 20:40:31 q+ 20:40:58 ack fremy 20:41:07 fremy: Now that we adopted the ED, that sounds cool, but would like to discuss content of the draft 20:41:28 fremy: I'm not sure I understand the reason why we have all the keywords in 'masonry-auto-flow' 20:41:39 fremy: But reading the algorithms section, I'm not sure what's the goal 20:41:46 fremy: I think it would be a good idea to clarify a bit 20:42:00 Rossen_: We'll have the ED in the csswg repo pretty soon, hopefully by the end of the week 20:42:08 Rossen_: once this is the case, you can go ahead and file as many issues as you want 20:42:14 Rossen_: First issue might be display type 20:42:27 Rossen_: as well as everything else that is currently unclear, but at this point spent a lot of time and other agenda items 20:42:33 Rossen_: so please open issues 20:42:34 fremy: sure 20:42:47 q? 20:43:19 Topic: What Topic 20:43:32 Rossen_: MQ issue didn't take up yesterday, any others we missed? 20:43:57 Topic: media queries for foldable and dual-screen devices 20:44:27 ScribeNick: TabAtkins 20:44:33 Topic: Foladable screens 20:44:38 Topic: Foldable screens 20:44:45 github: https://github.com/w3c/csswg-drafts/issues/5621 20:45:10 dlibby_: This is an updated proposal for primitives we'd like to introduce for dual-screen and foldable devices 20:45:23 dlibby_: This one is a new media feature that describes the number of logical display regions a viewport is spanning across 20:45:36 dlibby_: Not th edevice itself, the relationship of the viewport to the device regions 20:45:48 dlibby_: The syntax is in two axises to allow for future form factors to use the same feature 20:46:08 dlibby_: goes hand-in-hand with the environment vars we discussed yesterday 20:46:24 q+ 20:46:25 dlibby_: Looking for opinions on this and if it's okay to add to mq5 20:46:39 q+ myles 20:46:42 q+ 20:46:50 q+ 20:46:55 ack heycam 20:47:24 heycam: my initial thoughts about this is whether these features are, don't wanna say complex bc the syntax isn't complex, but wondering if really there will be that many arrangements of displays that we need a feature shaped like this, as opposed to something simpler 20:47:41 dlibby_: in our original proposal we wer emore scoped, but that came with the baggage that as new form factors appeared, what is the syntax you would use for them? 20:47:59 dlibby_: So we feel this gives a more futur-eproof model, while allowing author to target today's devices 20:48:05 ack myles 20:48:08 dholbert_ has joined #css 20:48:31 myles: Sof or width queries, for example, if you say (display-span-x: 3), is that *at least* three screens, or exactly 3? 20:48:37 q? 20:48:53 dlibby_: Exactly, if you use the : or =. If you use < or > it gives less or more 20:48:54 q+ 20:49:16 myles: This also suggests authors might have different layouts for each arrangement - a different for 2x1 vs 1x2 vs 2x2, etc. That's the intent? 20:49:19 dlibby_: Yes. 20:49:36 ack fantasai 20:49:36 fantasai, you wanted to react to myles 20:49:50 fantasai: The mq would give you an exact number, but becuse it's an integer ti can take min/max prefixes as well, so you can just opt into "2 or more displays" 20:49:51 fantasai: display-span-x: min(2)? 20:50:00 dholbert_ has joined #css 20:50:09 fantasai: To respond to heycam, the reason I didn't want to do simpler syntax, if someone has a 3-fold device we'd need a new MQ 20:50:20 (myles, no, (min-display-span-x: 2)) 20:50:40 fantasai: The syntax for this simple case isn't any harder ot use than a more "specialized" one, but it lets us extend to a grid easily 20:50:47 fantasai: it doesn't let us extend to a non-grid, tho 20:51:00 fantasai: but i think most of the cases we'll need to worry about will be a grid or simplification of a grid 20:51:01 (TabAtkins: oh! are all number-taking media queries supposed to automatically get min- and max- prefixes?) 20:51:07 fantasai: So didn't want to box us into a corner 20:51:09 (yes) 20:51:10 q? 20:51:19 ack florian 20:51:23 florian: i think this works nicely 20:51:32 florian: as discussed yesterday, desktops can b emore complex arrangements 20:51:46 florian: but this isn't just windows that can be slightly offset from each other, it's a special display mode 20:52:03 florian: And I think a grid is really the only realistic mode to deal with 20:52:10 florian: [shows off an example] 20:52:23 florian: So i think we're good 20:52:33 q? 20:52:39 ack smfr 20:52:44 smfr: Does the asnwer to these mqs depend on which screen the browser is on? 20:52:53 smfr: From samsung demos, browser can be on left, right, ro spanning both 20:52:57 smfr: So will these change? 20:53:06 dlibby_: Yes, if you're only on a single screen, your display-span will be 1 20:53:16 smfr: So not about the physical device, about the current configuration 20:53:25 ack fantasai 20:53:39 fantasai: On that note, think we need some bikeshedding on this - we use "display" to refer to the physical device 20:53:50 fantasai: so like display-width vs width 20:54:00 fantasai: and we want consisten wording between env() and MQ 20:54:23 TabAtkins: note the MQ word is 'device-', not 'display-' 20:54:34 fantasai: Oh yeah. But the env() is using viewport, so we should be consistent between them 20:54:41 q? 20:55:08 Rossen_: So any preferences or opinions? 20:55:19 TabAtkins: No strong opinion on word, but strong opinion towards naming consistency like elika said 20:55:24 device-arrangement 20:55:35 florian: 'viewport' isn't great, it's how your viewport spans 20:55:51 heycam: perhaps something about presentation 20:55:59 fantasai: if you ahve a normal display it'll ahve a value of 1 20:56:00 dauwhe has joined #css 20:57:18 heycam: so i think like 'display-span-x' will sound like it should match if your single window spans across both segments even if it's just acting like a normal window 20:57:28 i/heycam/TabAtkins: If your window spans a folded device, is that span 2 or span 1? 20:57:48 florian: if you're on a device with a seam between screens, then eys absolutely 20:57:50 present- 20:58:03 florian: But on a device with a seamless pane separation, up to the UA to decide which way it goes 20:58:34 dlibby_: valid point, goes down to what cam was mentioning - if you're in more of a tiled mode that the device is informing the UA about 20:58:49 dlibby_: So possibility of a seamless device not presenting itself as multipane if you're not doing something 20:58:58 smfr: some implication of spanning the whole utility area 20:59:18 smfr: if you span both screens, but half of one screen is filled with a different app, your browser is 1.5 screens wide 20:59:36 smfr: So without information about what size each pane is... 20:59:45 TabAtkins: That's what the env() is for, reporting those pane sizes 21:00:12 Rossen_: So yeah in your example, the shared pane will just have a smaller viewport for the browser in that pane 21:00:30 florian: so my suggestion is to resolve to adopt it, bikeshed naming in github 21:00:43 florian: But i think we're agreeing to the proposal overall, maybe need a few details to be clearer 21:00:47 florian: But not hearing real pushback 21:00:56 q? 21:01:01 q+ 21:01:04 ack fantasai 21:01:04 fantasai, you wanted to comment on querying the gap 21:01:06 fantasai: agree with florian 21:01:30 fantasai: also might be useful to query info about the gap, how big it is and if there's content missing in the gap - if it doesn't paint or if it just jumps across 21:01:49 dlibby_: The env variables are designed let you avoid the gap, but perhaps there's a query to make it clearer up front 21:01:58 myles: are the env() indexed? 21:02:05 dlibby_: discussed that a bit yesterday, yes they are 21:02:29 dlibby_: based on discussion, should match the 2d grid indexing 21:02:38 The question of whether working on the "explode" model or the "window" model is probably relevant - http://fantasai.inkedblade.net/style/discuss/table-backgrounds/ 21:02:49 Rossen_: So any objections to adopting them into MQ5? 21:03:05 RESOLVED: Adopt the multiscreen MQs into MQ5. 21:03:12
21:12:36 topic: end 21:14:27 [side conversations about mixing environment variables and media features in comparisons as media queries] 21:17:11 [side conversation about breakout rooms] 21:17:34 [and trying to replicate hallway conversations virtually] 21:18:46 Topic: Contain 21:19:55 present- 21:19:56 Topic: content-visibility: hidden-matchable 21:20:03 https://github.com/w3c/csswg-drafts/issues/5595 21:20:20 jarhar: Hi I'm Joey. I'm working on content-visibility: hiddne-matchable 21:20:25 jarhar: in parallel with HTML feature called ?? 21:20:37 jarhar: A lot of websites have sections, like wikipedia 21:20:40 s/??/beforematch/ 21:20:47 jarhar: and find-in-page doesn't work because it's 'display: none' 21:21:00 jarhar: When searching for these things, want these things to be findable 21:21:17 jarhar: so you would send 'content-visiblity: hidden-matchable' which is same as 'content-visibility: hidden' 21:21:25 jarhar: that'll find the element and fire ?? 21:21:34 jarhar: and page has ability to change the style to reveal the content 21:21:40 s/??/the beforematch event/ 21:21:42 jarhar: and after one RequestAnimationFrame 21:21:45 jarhar: browser will scroll to it 21:21:46 s/??/before match/ 21:21:51 jarhar: and that's pretty much thie ideal 21:21:55 q+ 21:21:56 this is a wonderful proposal 21:22:01 q- 21:22:01 s/thie ideal/the idea/ 21:22:11 ack fantasai 21:22:24 fantasai: I'm curious, in a lot of cases, it seems it should just work 21:22:43 fantasai: in the case of a details element, it should just pop open 21:23:02 fantasai: I'm a little confused as to why we wouldn't want this to happen as well 21:23:13 jarhar: Agree supporting content in details element 21:23:17 jarhar: but separate from CSS property 21:23:33 jarhar: for DETAILS could just say browser can change the state of DETAILS automatically 21:23:39 jarhar: but other case don't use DETAILS element, those use display: none 21:23:45 jarhar: so providing a different way 21:23:47 q+ 21:23:56 jarhar: also CSS state is maintained by page, page has opportunity to change itself 21:24:26 jarhar: 2nd question? 21:24:28 q+ 21:24:30 q+ 21:24:37 fantasai: why wouldn't this be the default behavior for 'content-visbility: hidden' 21:24:54 jarhar: could maybe, but some concern around privacy mitigations 21:24:59 jarhar: if we fired on hidden content 21:25:16 jarhar: page, after it gets an event, the page is required to reveal the content or else we lock the page out of using beforematch 21:25:34 jarhar: we want to prevent the page from trying to figure out what the user is searching for 21:25:42 jarhar: and hidden-beforematch is what we're using to determine state 21:25:55 actually I will just say most of the time that is probably not actually what you want and if you need me to clarify why I can readd to the queue 21:25:56 jarhar: a lot of pages using 'content-visilibity: hidden' already, and would create lockout, so not great 21:25:57 q-- 21:26:07 jarhar: so that's why 21:26:08 ack emilio 21:26:20 q- 21:26:23 emilio: Find-in-page already changes the selection of the document, and that's observable now 21:26:31 emilio: so how useful is this mitigation 21:26:41 jarhar: There are other ways to observe find-in-page 21:26:43 So the answer to "why not give 'hidden' this behavior, and then add another value that has the current unmatchable behavior" is "there's already some legacy content that we'd prefer not to break if not necessary" 21:26:47 jarhar: e.g. by listening to scroll events 21:27:03 jarhar: in Firefox as you type it fires selection events 21:27:06 jarhar: makes it easy to detec 21:27:11 jarhar: in Chromium not the same 21:27:22 jarhar: the selection is only fired when user dismisses find-in-page dialog 21:27:30 q+ 21:27:37 jarhar: so from Firefox point of view, makes sense not to have extra mitigation, but from our side it's needed 21:27:48 dauwhe has joined #css 21:27:53 emilio: Other question is, this makes find-in-page effectively asynchronous, which is not something that happens 21:28:01 emilio: how does window.find() work and similar things? 21:28:07 emilio: and why does this have to be a CSS property at all? 21:28:18 emilio: I think if you find text in a 'display: none' subtree, and if page reacts to it 21:28:21 emilio: find again or something 21:28:23 emilio: idk 21:28:33 jarhar: for async part, it's true, the whole flow is async 21:28:51 jarhar: first we find the match, then wait for next animation frame, then ?, then wait for next frame, then see if it was revealed 21:28:58 jarhar: that was seen to be necessary ...j 21:29:10 jarhar: based on page, which wasn't handling the style change synchronously 21:29:18 jarhar: but for normal find-in-page use case, whene not 'hidden-matchable' 21:29:21 jarhar: still keeping it synchronous 21:29:29 jarhar: not really sure if we'll fire beforematch or window.find 21:29:32 jarhar: at this point 21:29:50 jarhar: only motivation for me is to make easier to test across platform, but not aware of any use cases for window.find where you need to search hidden content 21:29:53 ack smfr 21:30:07 smfr: ... 21:30:09 smfr: you select into it 21:30:14 smfr: and then you have to realize all the content 21:30:21 dholbert has joined #css 21:30:27 smfr: seems like what you're proposing would bring in content during find, incremental improvement 21:30:30 s/.../from what I remember about content-visibility/ 21:30:34 smfr: but wouldn't select content 21:30:40 smfr: previously if user did select-all on the document 21:30:47 present+ 21:30:55 smfr: because of selection, would realize content for invisible stuff, woudl be slow (?) 21:31:00 smfr: but find would work in a reasonable way 21:31:03 Rossen_ has joined #css 21:31:04 smfr: with this new thing 21:31:09 smfr: but why is find special? 21:31:15 smfr: what about scroll to text? 21:31:20 smfr: what about seach for addresses, metadata 21:31:23 smfr: #target 21:31:33 smfr: ... 21:31:36 smfr: Why only find? 21:31:47 jarhar: started with find, could expand to other use cases 21:32:04 levin: I think auto already supports all these things 21:32:18 levin: this is adjustment to 'hidden', which is not available to find-in-page 21:32:20 ack TabAtkins 21:32:37 TabAtkins: You mentioned how a page doesn't respond to the format event by revealing something, we'll remove their ability to do it 21:32:45 TabAtkins: does that mean we automatically turn the thing visible, or what? 21:32:55 jarhar: We stop firing the beforematch event 21:32:58 jarhar: it's invisible 21:33:10 TabAtkins: so the whole page is broken, not just one aspect of the use 21:33:26 jarhar: Usually there's some other way to reveal content in the page, just find-in-page would be broken 21:33:45 TabAtkins: Before you'd walk up and try to find something auto that could fail open rather than failing closed 21:33:57 myles: So if you catch an event and do nothing, different from not catching the event?? 21:34:11 florian: I don't think anyone said that 21:34:20 florian: question is if you don't respond to event, do you stay hidden or get auto-revealed 21:34:26 TabAtkins: Default being to reveal 21:34:36 TabAtkins: if you're responding on your own, would do CancelDefault 21:34:44 jarhar: There's no way to possibly have the browser build the content 21:34:52 jarhar: page is in control of the style, same as 'hidden' 21:34:52 s/CancelDefault/preventDefault()/ 21:35:08 jarhar: CSS property says this is hidden, and until the page reveals, it should stay hidden 21:35:21 jarhar: There's internal state in the thing, and when you search for it, it would unlock similar to 'auto' 21:35:31 jarhar: but direction we're going, page maintains state, and it has to remove the CSS property 21:35:36 TabAtkins: I would like to have more discussion about that 21:35:46 TabAtkins: feels backwards for bad pages 21:35:48 TabAtkins: broken JS 21:35:51 ack vmpstr 21:36:00 levin: Use cases we're targetting here are things like wikipedia collapsed sections 21:36:08 levin: where there are already handlers that expand the content 21:36:20 levin: this would add that find-in-page can expand the content 21:36:35 levin: if there's an error 21:36:57 levin: It prevents pages from figuring out what character is type by incrementally constructing a DOM but never revealing that content 21:37:06 levin: somewhat possible now with scroll offsets, but they're visible always 21:37:16 levin: Content you're searching is visible 21:37:27 levin: would allow you to search content, and remains visible 21:37:34 S/levin/vmpstr/ 21:37:39 TabAtkins: Framing of strict improvement over 'hidden' makes me a little happier 21:37:48 TabAtkins: but think there should be some discussion about whether that's the right way to go 21:37:52 s/'hidden'/'display:none'/ 21:37:59 +1 to Tab's concern 21:38:06 and to smfr's 21:38:21 astearns: Hearing some concerns around what happens when events break 21:38:25 astearns: .. 21:38:49 astearns: Wonder if we should take this back to the issue and get more of the proposal fleshed out, and answer questions, then bring back on a regular call 21:38:55 astearns: Any other discussion? 21:39:13 fantasai: Just +1 to TabAtkins and smfr's questions and conerns 21:39:23 Topic: contain: size and aspect-ratio 21:39:29 github: https://github.com/w3c/csswg-drafts/issues/5585 21:39:40 florian: I think this was oversight in the original specification 21:39:58 florian: contain:size suppresses intrinsic size, mentions width/height, but forgot to state that it also suppresses intrinsic aspect ratio 21:40:04 florian: So should say so 21:40:10 florian: Note this is not about the explicit 'aspect-ratio' property 21:40:14 florian: but about the intrinsic one 21:40:16 lgtm 21:40:22 lgtm 21:40:29 TabAtkins: seems obvious, but this is a REC so need WG approval 21:40:40 q+ 21:40:55 astearns: proposed that contain:size suppresses intrinsic aspect ratio 21:40:58 ack dlibby_ 21:41:10 dlibby_: Would it be possible that 0/0 gives us the right behavior for this aspect ratio? 21:41:18 TabAtkins: what do you mean by both zero? 21:41:52 fantasai: having an aspect ratio vs having an infinite aspect ratio is different 21:42:10 florian: We're not doing 0/0, we're doing "no aspect ratio" 21:42:21 cbiesinger: what if we have 'auto' in the aspect ratio in the property? 21:42:38 TabAtkins: you wouldn't ignore auto, but you would look up intrinsic aspect ratio and see that you have none 21:42:40 q? 21:43:14 RESOLVED: contain:size suppresses intrinsic aspect ratio 21:43:26 fantasai: We get to the be the guinia pigs for modifying a Rec 21:43:41 fantasai: Do we want to reoslve publishing an updated Rec that contains a candidate change? 21:43:49 chris: Doesn't it have to be published under a particular license? 21:43:56 fantasai: Only if you're adding new features, not fixing errors 21:44:10 florian: there is another change we're likely to do to the same level of this spec 21:44:18 florian: *after that*, sure, but let's resolve just once 21:44:35 TabAtkins: so no publication yet, but soon. happy to guinea pig 21:44:46 florian: another change in terminology is proposed 21:45:06 florian: and another one about the definition of contain:size being phrased sufficiently vaguely that mats didn't disagree with what we were trying to do , but wasn't sure what we were trying to do 21:45:16 florian: and we found some potential things we might want to change about how it affects grid tracks 21:45:21 florian: not on agenda today, but can discuss later 21:45:42 Topic: computed value of shortcuts 21:45:56 github: https://github.com/w3c/csswg-drafts/issues/5511 21:46:02 TabAtkins: not clear how serialization should work in certain cases 21:46:09 TabAtkins: the 'content' value is equivalent to 'layout paint' 21:46:19 TabAtkins: should it serialize as 'content' or 'layout paint'? 21:46:29 TabAtkins: some differences between browsers 21:46:38 TabAtkins: if we specify shortest serialization principle to use shorthand when possible 21:46:50 TabAtkins: that assumes we'll always have a strict hierarchy of shorthand variables 21:46:58 TabAtkins: if partial overlap, might have multiple shortest-possible serializations 21:47:07 TabAtkins: I think we can spec our way out of that if needed 21:47:19 TabAtkins: Right now, means that the exact value is used 21:47:24 TabAtkins: essentially make .. 21:47:33 TabAtkins: and then go through and use shortest serialization 21:47:46 TabAtkins: so I propose that we serialize the 'contain' property using shortest serialization 21:47:53 TabAtkins: and use shorter values rather than how written 21:48:29 fantasai: worth distinguishing between specified and computed values 21:48:51 fantasai: if talking about computed values, then just say that 'content' computes to 'layout paint' and it'll serialize appropriately per rules 21:49:04 fantasai: if talking about specified values, need to be explicit 21:49:24 oriol: Generally, specified values keep keyword as specified, just normalize the order 21:49:27 florian: Doesn't that fall out? 21:49:46 q+ 21:49:48 TabAtkins: Then it sorts in a particular order 21:49:56 ack fantasai 21:50:01 fantasai: canonical ordering in our propdef tables 21:50:13 fantasai: it'll look at how you've defined the grammar, and serialize based on that order 21:50:20 fantasai: unless you define differently 21:50:27 TabAtkins: I think we need more detail in CSSOM to be clear 21:50:45 TabAtkins: about computed value, sounds like we can just resolve on doing the normal thing and then write tests 21:50:59 florian: don't we need to say that the "compute to" each other? 21:51:06 florian: otherwise they're similar but different values 21:51:11 ack emilio 21:51:17 emilio: behavior in Firefox is because we only partially implement some of contain 21:51:27 emilio: but generally, we should serialize the same, the computed and specified values 21:51:43 emilio: I don't see why they should be different. Most properties behave like that if there's no conversion 21:51:51 TabAtkins: I would prefer avoiding specified value conversion here 21:52:02 TabAtkins: so let's leave that off to the side, leave it for computed value serialization 21:52:14 TabAtkins: so I'm find to say that shorthand values compute to appropriate longhands and that falls out 21:52:38 astearns: So proposed resolution is that values are ...? 21:52:50 fantasai: You say the shorthand computes to the longhand, and it'll serialize as the short one 21:53:20 RESOLVED: contain keywords representing a combination of other keywords are defined to compute to those keywords so that they serialize under shortest-serialization princple 21:53:38 Topic: combination of shorthand and longhand values 21:53:39 github: https://github.com/w3c/csswg-drafts/issues/5506 21:53:56 TabAtkins: I wrote in an example in the spec 'contain: strict style' 21:54:00 TabAtkins: because strict doesn't include style 21:54:04 TabAtkins: turns out that this is not grammatical 21:54:16 TabAtkins: you can't mix the shorthands with additional longhands 21:54:23 TabAtkins: question is... should it be? 21:54:32 TabAtkins: especially if the shorthand computes to longhand, shouldn't we allow combining them 21:54:56 TabAtkins: if we do that, then how strict do we want to be about the combinations, do we allow 'strict paint' even though 'paint' is already included in 'strict' 21:54:56 q+ 21:55:08 q+ 21:55:22 TabAtkins: Weakly prefer allowing more combos, but browsers only accept the stricter syntax 21:55:34 florian: Weak preference 21:55:36 ack florian 21:55:47 florian: my weak preference goes the other way around because it's stable. 21:56:00 ack myles 21:56:01 florian: If from scratch, would allow the non-redundant combinations, but minor enough not worth fixing 21:56:07 myles: Similar to what Florian just said. 21:56:19 myles: Also, as far as you know, are you the only person who has this desire? 21:56:23 TabAtkins: No idea 21:56:26 myles: So probably, no change 21:56:40 astearns: until browsers get bugs from ppl other than Tab :) 21:56:43 astearns: proposed no change 21:56:43 +1 21:56:47 astearns: any objections? 21:56:50 RESOLVED: close no change 21:57:28 Topic: Terminology Question for css-contain 21:57:36 github: https://github.com/w3c/csswg-drafts/issues/5590 21:57:59 florian: Spun out from bigger discussion, and mats_ pointed out we used the term 'containing box' to talk about the principal box of element to which containment is being applied 21:58:10 florian: 'containign box' sounds a lot like 'containing block' 21:58:19 florian: he proposes 'containers box', I don't love that either 21:58:31 florian: but 'contaiment box' maybe helps? 21:58:41 florian: help avoid confusion with 'containing block' 21:58:45 florian: purely editorial 21:59:00 +1 to changing 21:59:01 q+ 21:59:10 florian: Used half a dozen times in this spec, not really in other specs (yet) 21:59:10 +1 to "containment box" 21:59:16 TabAtkins: +1 to changing 21:59:22 ack TabAtkins 21:59:24 TabAtkins: "containing" is used too much across CSS 21:59:36 TabAtkins: "containment box" sounds great, directly ties into concept, and slightly more distinct 21:59:47 RESOLVED: Change term "containing box" to "containment box" 21:59:58 Topic: Sizing 4 22:00:03 Topic: Break 22:00:18 tantek has joined #css 22:00:36 Topic: contain:size and 'aspect-ratio' 22:00:40 github: https://github.com/w3c/csswg-drafts/issues/5550 22:00:45 present+ 22:01:25 TYLin: Issue is replaced elements with intrinsic aspect ratio 22:01:35 TYLin: Specify contain:size and aspect-ratio, what size should it be? 22:01:50 TYLin: Discussion in the issue, should use expliti 'aspect-ratio' and otherwise none 22:01:54 q? 22:02:18 florian: My impression is that spec was confusing because we didn't say anything at all, but if we clarify as we did in the earlier issue, do we need to say anything else to make this work? 22:02:30 TabAtkins: It does fall out, but might be worth an example 22:02:43 fantasai: I think it falls out 22:02:50 TYLin: added testcase 22:02:57 astearns: so proposal is to add an example 22:03:03 astearns: any objections? 22:03:10 RESOLVED: Add an exampe, but no change to normative prose 22:03:17 Topic: Break 22:03:24
22:03:26 s/exampe/example 22:04:49 RESOLVED: Add dlibby as editor to MQ5 22:05:14 dlibby_, https://lists.w3.org/Archives/Public/spec-prod/2018OctDec/0011.html 22:12:43 https://w3cmemes.tumblr.com/image/144115766537 22:13:33 q? 22:13:58 https://w3cmemes.tumblr.com/post/178519961772 22:16:52 scribenick: tantek 22:17:07 astearns: we added Daniel as an editor to MQ spec 22:17:23 ... more editor positions are available on specs as well! 22:17:38 ... if you've been opening issues on specs, and have some suggested solutions, we can use the help. 22:17:51 ... let astearns know on IRC or email if you'd like to take him up on the offer 22:18:14 florian looks frozen tbh 22:18:20 chair: Rossen_ 22:18:27 issue: 4585 22:18:43 Topic: Sizing 22:18:50 github:https://github.com/w3c/csswg-drafts/issues/4585 22:19:07 https://github.com/w3c/csswg-drafts/issues/4585#issuecomment-701595999 22:19:07 Rossen_: who wants to summarize? 22:19:32 fantasai: we created this issue to collect use-cases for the control over use-cases over intrinsic sizes of boxes 22:19:37 ... we have 3 maybe 4 22:19:42 ... one is webkit like behavior 22:19:54 ... another is zeroing out the ... of scrolling containers 22:20:10 s/.../min-content contribution/ 22:20:19 dauwhe has joined #css 22:20:30 ... another one is zeroing out the max content contribution when there is a zero size or max size in that axis 22:20:35 dholbert has joined #css 22:20:41 s/max content/min content/ 22:21:02 ... someone wanted to have a box that had the same behavior as a replaced element 22:21:09 ... they were able to replicate a lot with our aspect ratio stuff 22:21:20 ... but this is a quirk of how replaced elements behave 22:21:33 q 22:21:41 fantasai: q to wg, do we want to design a property to switch between these different values? 22:21:52 ... q2 to wg, are there are other cases we should add to this 22:22:03 Rossen_: opinions? 22:22:15 s/behave/behave that's unrelated to aspect ratios/ 22:22:16 (awkward silence) 22:22:41 Rossen_: do we care enough about this? or we can also move on if there is not enough interest here 22:22:56 ... there was interest here. in terms of behavior what do we want? 22:23:08 ... dbaron also dumped a bunch of mozilla bugs that were a good indicator that we need to look into solving this 22:23:25 ... i don't see anyone on the queue or engaging 22:23:32 ... shall we close the issue with no change? 22:23:40 cbiesinger: i would really like to have this property 22:24:07 ... the second part was requested by me because I know some people who want to use this on their websites 22:24:17 ... to set the min content to zero to act like replaced elements 22:24:32 ... seems like useful behavior to get the regular size normally but when you shrink the window you can shrink the element with it 22:24:37 ... that's my case for it 22:25:09 fantasai: proposed resolution: define a property to switch between these behaviors and hope someone comes up with sensible keywords 22:25:16 Rossen_: better than the ones currently in the issue 22:25:22 jensimmons: I also think this is a really good idea 22:25:59 ... I can see... it's sort of an advanced feature ... authors need to wrap their heads around sizing period. it requires understanding how layout works first. 22:26:35 ... to me the big use-case is you have multiple grid items in a grid track, and the track itself is going to be based on something in the track, and you can say don't base it on the headline, base it on something else 22:26:44 ... you set its intrinsic size to 0 or 100px 22:26:49 ... that could be very powerful 22:27:01 ... the columns will be the size of the content in it, except not this content or this content 22:27:15 Rossen_: thank you. other opinions or objections to adopting such a property. name and value names tbd 22:27:25 ... i see some nodding of heads 22:27:28 ... no objections 22:28:09 Rossen_: RESOLVED: Adopt a property to solve the requested property and values from issue 4585 22:28:22 Topic: Why was min-content, etc. redefined to do nothing in the block axis 22:28:27 A first terrible attempt: intrinsic-size: auto | min-zero-scrollable || min-zero-percentage 22:28:34 github: https://github.com/w3c/csswg-drafts/issues/3973 22:28:55 Rossen_: cbiesinger you opened this one 22:29:06 ... and you also added it to agenda+ 22:29:10 cbiesinger: I did? 22:29:12 Rossen_: on Jan 22 22:29:19 cbiesinger: oh that was a while ago lol 22:29:38 s/Rossen_: RESOLVED/RESOLVED/ 22:29:54 cbiesinger: why are we discussing today, wasn't it addressed by a recent edit? 22:29:57 TabAtkins: yes it was 22:30:02 ... making sure others are ok with the edit 22:30:05 cbiesinger: I can summarize 22:30:25 ... in the block axis the ..xx.. and fit-content take the same value as auto 22:30:56 Rossen_: sounds reasonable 22:31:07 cbiesinger: it lets you get the min height auto behavior from flexbox and grid 22:31:12 ... and ... ratio in other contexts 22:31:15 at one poin the spec defined min-content/max-content/fit-content to behave the same as 'auto' in the block axis 22:31:24 Rossen_: any other opinions? 22:31:45 the edits changed that to say that the min-content and max-content sizes in the block axis are as defined by the layout model, defaulting to max-content behavior 22:31:47 ... or objections to accepting the edits 22:31:49 more or less 22:31:56 RESOLVED: accept edits made 22:32:05 Topic: Cyclic percentage concept should not exist 22:32:22 github: https://github.com/w3c/csswg-drafts/issues/3010 22:32:45 Rossen_: fantasai you added this one 22:32:56 fantasai: this was less of a change in behavior, and more of a change in how it was explained 22:33:04 ... determining whether a % is cyclic is itself a bit confusing 22:33:09 ... but not all %s are cyclic 22:33:10 https://github.com/w3c/csswg-drafts/issues/3010#issuecomment-672335319 22:33:18 ... we tried to draft a clarification ^ 22:33:28 ... we wanted to know if that would make the spec acceptable 22:33:33 ... we're trying to get this spec to CR soonish 22:34:08 Rossen_: ok 22:34:25 ... special resolution is defined after this paragraph? 22:34:33 ... this clarification is pretty good actually 22:34:39 ... any other opinions or feedback? 22:34:49 (silence) 22:34:58 dbaron: the new text looks good to me 22:35:04 fantasai: yay! 22:35:24 Rossen_: hearing no objections 22:35:40 RESOLVED: accept proposed edits in https://github.com/w3c/csswg-drafts/issues/3010#issuecomment-672335319 22:35:53 Topic: Distinguish intrinsic size's two definitions with two terms 22:36:03 github: https://github.com/w3c/csswg-drafts/issues/4961 22:36:28 fantasai: we've been using intrinsic size to refer to two different concepts 22:36:34 ... one is the size of a replacement element 22:36:56 ... the other concept is referring to the min-content and max-content sizes, which always exists for any box, they are determined in some manner 22:37:05 ... we need two different terms for this 22:37:21 ... the HTML spec uses the term natural width and natural height 22:37:36 q+ 22:37:42 ... we were thinking to replace the use of intrinsic size as it applies to the inherit size of a replaced element with natural size 22:37:52 ... and keep intrinsic size to mean the other 22:37:57 ack florian 22:38:08 q+ to ask if this is a behavior change 22:38:10 +1 for aligning terms across specs 22:38:14 florian: with the new dfn, the intrinsic size of a replacement it would be the natural size and 0 otherwise? 22:38:25 fantasai: no it can lack an intrinsic size 22:38:30 florian: I don't understand 22:38:48 fantasai: you have to distinguish between whether you are taking about a min-content and a max-content size 22:38:50 q+ 22:39:12 fantasai: when the natural size of something does not exist, there are rules for determining 22:39:21 q+ 22:39:25 ack myles 22:39:25 myles, you wanted to ask if this is a behavior change 22:39:27 myles: is this purely a rename or behavior change? 22:39:32 fantasai: purely terminology in the spec 22:39:37 ack cbiesinger 22:40:27 cbiesinger: this is only for replacements but, don't you need a terminology for non-replaced elements with an aspect ratio because the regular min and max content size will be affected by the aspect ratio, but you also need a way to refer to the original min and max content size because you need that for width and height auto 22:40:32 q? 22:40:35 fantasai: I see what you're talking about, havent' thought about that yet 22:40:40 s/replacements/replaced elements/g 22:40:42 ack heycam 22:40:48 heycam: we should check what the HTML spec says 22:40:59 ... and I did, and they return 0 22:41:06 s/width and height auto/min-size auto/ 22:41:12 tantek: yep! 22:41:17 q 22:41:21 ... I just want to make sure we don't have any confusion by using the same terms 22:41:32 fantasai: I think the DOM APIs can return 0 when there is no natural size 22:41:47 TabAtkins: do the DOM APIs refer to it any other way other than the camelcased form? 22:41:57 heycam: no it refers to JS properties 22:42:19 florian: this is confusing / not good 22:42:32 scribenick: fantasai 22:42:44 fantasai: Their spec is using 'intrinsic size' because that's what our spec uses. 22:42:57 fantasai: when we update our specs, we'll make sure HTML updates their terms to match als 22:43:07 Rossen_: Hearing mostly support for having this clear distinction 22:43:20 Rossen_: Are we leaning towards also accepting the proposed names here, "natural size"? 22:43:29 s/and the return 0/and they return 0 for images that have no natural size/ 22:43:36 +1 22:43:38 fantasai: 2 votes in favor from rachelandrew and SimonSapin 22:43:39 +1 22:43:49 Rossen_: I don't see anyone not liking it. Any objections? 22:43:54 actually this confused me quite a bit last year 22:44:15 I remember having exactly this converation with tab in toronto trying to figure it out 22:44:23 RESOLVED: Rename temr "intrinsic size" of image with "natural size" 22:44:26 s/temr/term/ 22:44:58 Rossen_: Seems like everything on Sizing 3 22:45:08 Rossen_: Alan has an editorial issue to talk about 22:45:17 Rossen_: With everything we resolved, do we need to republish 22:45:19 fantasai: yes, and 22:45:50 fantasai: That closes all the major issues on this spec, so we'd like to issue a last call for comments and start preparing for CR 22:46:18 astearns: so resolution to publish after all these edits are in? 22:46:29 RESOLVED: Republish WD of css-sizing-3 22:46:38 and start CR process after that 22:46:55 astearns: emilio just volunteered taking on cssom-view at least on the issues he raised 22:47:02 RESOLVED: Add emilio as editor of cssom-view 22:47:03 thank you emilio! 22:47:12 emilio is the best 22:47:17 Topic: Break 22:47:18 💯 22:47:22 astearns: Note that emilio also has editorship of cssom, and probably needs help 22:47:46 Topic: Clarify on specifying aspect-ratio and contain:size on replaced elements 22:47:54 scribenick: tantek 22:48:17 Rossen_: that's everything for sizing then 22:48:31 Topic: CSS Logical Properties 22:48:41 github: https://github.com/w3c/csswg-drafts/issues/3030 22:48:41 github: https://github.com/w3c/csswg-drafts/issues/3030 22:49:27 fremy: main issue is that in CSS spec it defines how to serialize properties, contains a lot of tricks to merge declarations 22:49:41 ... e.g. if you set all four border properties, the rules merge it to a single declaration 22:49:53 ... when I looked at the logical properties, this is not as easy 22:50:08 ... even if you have all four, you cannot always merge them into a single property 22:50:25 ... it means you have to detect this case (e.g. inline-start) and do something smart 22:51:12 ... logical and physical properties 22:51:21 ... proposing a couple of rules to the serialization steps 22:51:37 ... to only merge all four if they are of the same type 22:51:46 ... while we were looking at this, a few more updates 22:51:57 ... e.g. dbaron proposed if you set the margin property on the style attribute 22:52:09 ... there is no reason to keep the margin-inline properties 22:52:15 ... the logical ones 22:52:26 (because they have all now been overridden) 22:52:27 ... proposal: make sure that the grouping would work 22:52:37 ... making sure when you set things you override propertly 22:52:40 q+ 22:52:43 s/propertly/properly 22:53:03 emilio: Gecko has the concept of logical property groups 22:53:07 ... we added it to the spec 22:53:11 ... this concept already exists 22:53:27 ... e.g. border-inline-start:10px; border-start:20px; 22:53:37 ... Gecko will do the right thing 22:53:48 ... the concept is already in the spec. this is an obvious bugfix 22:54:08 fremy: the link you sent sounds like exactly what I'm proposing that seems fine 22:54:33 See the refs for https://drafts.csswg.org/css-logical-1/#logical-property-group 22:54:49 s/the link you sent/emilio's link https://drafts.csswg.org/css-logical-1/#logical-property-group 22:55:07 fantasai: we should make sure ... interleaved ... then that can be folded into a shorthand 22:55:19 https://drafts.csswg.org/cssom/#set-a-css-declaration is already using this concept 22:55:25 We should use it from serialization 22:55:28 ... the other part of your proposal, if a shorthand is set, then you can drop any previous declarations that set any property in that logical property group 22:55:39 fremy: that sounds correct to me 22:55:58 Rossen_: do we not have this currently specified? the part you just added fantasai ? in terms of the behavior? 22:56:16 fantasai: I think in terms of how everything is supposed to behave like cascade, etc. is defined. this is about CSSOM interaction 22:56:23 Rossen_: so this is going into CSSOM then? mostly? 22:56:30 fantasai: I guess so. emilio and I will work it out 22:56:36 Rossen_: any other opinions? 22:56:49 emilio: I need to look a bit more closely at the replace all the physical longhands 22:56:54 ... because there are more complex cases 22:57:01 ... e.g. shorthands that only override two properties 22:57:11 ... like the serialization stuff when stuff is interleaved, that's good 22:57:21 ... the replace of the existing physical properties, that may or may not be confusing 22:57:33 fantasai: I think they are two separate proposals that happen to be in the same issue 22:57:39 Rossen_: can you separate them for resolutions? 22:57:53 First proposal from fremy: During parsing of a css declaration block, shorthands (like margin and all) expands only to the set of longhand (grouped by mapping logic: so either logical or physical) required to describe their value, and by default resort to use physical properties if both sets are possible. Note that they can only expand if they do not contain var() substitutions. 22:58:21 Second proposal from fremy: During serialization, each logical property group is considered, and shorthand values can be emitted instead of the longhands only if the all the longhands of the same mapping logic are present and consecutive (ignoring all properties that are not in the group). Otherwise, the shorthand is not used when serializing the properties in the group. 22:59:01 Rossen_: please read the first one, which is about the behavior specifying, and how declaration blocks behave between shorthands and longhands and logical properties 22:59:07 fantasai: looks like I'm finding more pieces of it 22:59:15 emilio: the first one I assume every browser already does that 22:59:22 s/emilio/fremy 22:59:23 ... it's not clear from the spec, but I assume that should work regardless 22:59:32 Third piece from fremy: When removing a shorthand property, all the longhand associated with that shorthand should be removed, regardless of their mapping kind. 22:59:42 +1, all sound good 22:59:48 Fourth piece from dbaron: appending a shorthand property could set all of its constituent shorthands of one mapping logic and also remove all of the constituent shorthands of the other. 22:59:56 Rossen_: any objections to accepting this first proposal 23:00:24 emilio: q, we are talking about shorthands that map to both physical and logical properties? but those do not exist in browser today 23:00:38 fremy: it's possible, back them we had proposal for margin, I don't know if we still have that 23:00:46 fantasai: we never figured out a syntax that was appropriate 23:00:52 fremy: that was mostly to make sure that case worked 23:01:02 ... I don't think it's wrong to add this even if we don't have the mechanism 23:01:09 emilio: not saying it's wrong, just possibly confusing 23:01:16 how would you test it? 23:01:32 RESOLVED: proposal from fremy: During serialization, each logical property group is considered, and shorthand values can be emitted instead of the longhands only if the all the longhands of the same mapping logic are present and consecutive (ignoring all properties that are not in the group). Otherwise, the shorthand is not used when serializing the properties in the group. 23:01:59 fremy: mostly the loop needs to be modified 23:02:20 Rossen_: wanting make sure everyone is comfortable with accepting this change 23:02:32 yeah, +1 for the serialization change, that's unobjectionable imo 23:02:32 https://www.w3.org/TR/cssom-1/#serialize-a-css-declaration-block 23:02:42 ... without delaying people too much, any objections or wait til Thu morning? 23:02:46 fremy: for me both is fine 23:05:37 RESOLVED: proposal from fremy:During serialization, each logical property group is considered, and shorthand values can be emitted instead of the longhands only if the all the longhands of the same mapping logic are present and consecutive (ignoring all properties that are not in the group). Otherwise, the shorthand is not used when serializing the properties in the group. 23:05:43 Topic: End 23:05:51 Zakim, end meeting 23:05:51 As of this point the attendees have been Rossen_, Morgan, dlibby, astearns, florian, vmpstr, oriol, faceless, alisonmaher, TYLin, bkardell_, heycam, myles, smfr, miriam, fantasai, 23:05:54 ... rego, cbiesinger, plinss, GameMaker, jensimmons, brandonferrua, fremy, kzms, drousso, gregwhitworth, dholbert, chris, melanierichards, tantek 23:05:54 RRSAgent, please draft minutes 23:05:54 I have made the request to generate https://www.w3.org/2020/10/20-css-minutes.html Zakim 23:05:56 I am happy to have been of service, Rossen_; please remember to excuse RRSAgent. Goodbye 23:06:00 Zakim has left #css 23:08:41 tantek_ has joined #css 23:20:01 I have made the request to generate https://www.w3.org/2020/10/20-css-minutes.html fantasai