15:23:16 RRSAgent has joined #css 15:23:16 logging to http://www.w3.org/2012/07/25-css-irc 15:23:23 Zakim, this will be Style 15:23:23 ok, glazou; I see Style_CSS FP()12:00PM scheduled to start in 37 minutes 15:23:28 RRSAgent, make logs public 15:32:10 jet has joined #CSS 15:33:26 arno has joined #css 15:36:17 glenn has joined #css 15:43:08 krit has joined #css 15:55:16 Bert has joined #css 15:56:40 Style_CSS FP()12:00PM has now started 15:56:47 +??P16 15:56:47 acebal has joined #css 15:56:56 Zakim, ??P16 is me 15:56:56 +glazou; got it 15:57:10 acebal has left #css 15:57:35 florian has joined #css 15:58:21 CesarAcebal has joined #css 15:58:26 +??P22 15:58:44 zakim, ??P22 is me 15:58:44 +glenn; got it 15:59:25 TabAtkins_ has joined #css 15:59:30 +plinss 15:59:49 antonp has joined #css 15:59:52 +florian 16:00:30 + +1.206.675.aaaa 16:00:37 zakim, aaaa is me 16:00:37 +stearns; got it 16:00:51 +tabatkins_ 16:00:52 +SteveZ 16:01:00 +[Apple] 16:01:05 Zakim, Apple has me 16:01:05 +hober; got it 16:01:11 +antonp 16:01:21 +??P15 16:02:10 Extra Agenda item : sunday at TPAC 16:02:24 smfr has joined #css 16:02:42 +Bert 16:02:52 +smfr 16:03:15 regrets: dbaron, sylvaing, rbetts, kattie 16:03:50 +CesarAcebal 16:04:14 can someone /topic? 16:05:16 SteveZ has joined #css 16:05:50 +fantasai 16:05:53 ScribeNick: florian 16:06:00 I'll join on topic 2 16:06:06 Topic: f2f 16:06:08 http://wiki.csswg.org/planning/sandiego-2012#participants 16:06:15 http://wiki.csswg.org/planning/sandiego-2012#agenda 16:06:27 glazou: please register yourselfves and add agenda items on the wiki 16:06:44 glazou: also, what about sunday on tpac 16:07:04 +[Microsoft] 16:07:04 stevez: w3c can't pay for sunday, budget is 2000 euros 16:07:05 zakim, microsoft has me 16:07:06 +arronei; got it 16:07:37 steveZ: Adobe is willing to pay for 1/4 16:07:44 SteveZ: who else? 16:08:02 tab: I'll check, we may be able to contribute 16:08:18 SteveZ: maybe microsoft could join too? 16:08:28 ???: I'll talk to sylvain 16:08:42 s/???/arronei 16:09:01 fantasai: I'll check 16:09:09 florian: I'll check too 16:09:16 Stevez: Apple? 16:09:48 glazou: how about cattering 16:09:59 Bert: budget included coffee and lunch 16:10:05 hober: I'll ask 16:11:03 organizations will donate to W3C, W3C will reserve the room 16:11:23 Topic: flexbox 16:11:33 http://wiki.csswg.org/topics/flex-abspos-placeholders 16:12:27 tabAtkins: what happens when a flex items gets absolutely positioned 16:12:58 tabAtkins: current spec says we get a place holder, which interacts normally with the rest of flex elements 16:13:14 ... noticeable when using space between, etc 16:13:24 ... may we could do the same as tables 16:13:36 ... there are several options, check the wiki 16:13:53 +??P43 16:13:53 logbot has joined #css 16:14:14 who just joined ? 16:14:28 ... the simple proposal is proposal A 16:14:43 fantasai: implementers don't like proposal B 16:14:54 fantasai: and intially didn't like C either 16:15:15 ... because it impacts layout of the content of the flexbo 16:15:17 x 16:15:18 s/and initially/initial commenter/ 16:15:21 jarek has joined #css 16:15:53 fantasai: and that's normally not what placeholders do 16:16:48 florian: There was someone mentioning [something about transforms]. 16:17:01 tabAtkins: I'm for A 16:17:26 ... this is simplest 16:17:51 ... we have alternative proposals, but they're more complex, and there's no clear use case 16:18:06 fantasai: A or E (variant of C) 16:18:14 tab: E is too complex 16:18:32 florian: didn't morten propose a variant of B 16:18:46 fantasai: that 's D 16:18:58 tabAtkins: also a bit complex, not obvious use cases 16:19:20 SteveZ: what's important is that abspos items don't cause spacing differences 16:19:28 tab: that's everything but C 16:20:26 fantasai: Morten responds that E is better than A or B 16:20:35 fantasai: He doesn't like A because "it sounds like a bug report" 16:20:46 drublic has joined #css 16:21:05 fantasai: i.e. the author would expect the static position to be somewhat accurate 16:21:18 fantasai: it might be more useful for vertical flexboxes rather than horizontal ones 16:21:49 Regrets: ChrisL 16:22:52 fantasai: you can abspos something to the side, and have the main content flow down, e.g. 16:23:01 fantasai: Morten listed C > D/E > B > A 16:23:02 florian/fantasai: morten wants D or E 16:23:13 szilles: This isn't an implementer issue 16:23:32 szilles: The way I understand it is that the main-axis position may be useful to someone 16:24:05 TabAtkins_: That would be option C, because others are arbitrary 16:25:01 discussion of other cases that are complicated, e.g. bidi 16:25:31 szilles: Your (Tab) position is that coming up with something that handles the static position is complicated and hard to implement so why bother. 16:25:42 TabAtkins_: yes 16:25:55 anton: I think there's an author expectation that static position works, simply because it always has until now 16:26:10 anton: We have to choose between two aims here. 16:26:14 anton: Don't like placeholders 16:26:15 Rossen has joined #css 16:26:19 anton: but also want static position to work 16:26:25 anton: they are both expectations that people have 16:26:47 Rossen: I agree with Anton, and to me static position makes a lot of sense when you're talking about document layout and attaching things to the flow 16:26:53 Rossen: For app layout, static position is meaningless 16:26:58 Rossen: not used anywhere 16:27:05 Rossen: If you want something to stick to any particular position 16:27:20 Rossen: Would most likely include it as part of the item itself, so would tag along with item 16:27:38 Rossen: So don't see what we would bring to the users, to implement static position 16:27:47 Rossen: For implementation, easier to do origin of the flexbox 16:28:15 Rossen: Haven't seen any compelling use cases for it 16:30:09 fantasai explains a lot about Mozilla's implementation of frame lists 16:31:49 fantasai: So A and E would be equally difficult. 16:32:02 + +1.206.675.aabb 16:32:21 TabAtkins_: A is easiest from a spec perspective, even if it's not easiest by implementation 16:32:31 -tabatkins_ 16:32:34 florian: spec authors are last on the priority list 16:32:58 anton: Nobody's said anything about any of them being impossible to implement 16:33:19 fantasai: points out that it is necessary to keep the position of abspos items in the document because that affects paint order 16:33:45 Rossen: Even from our POV, implementing one vs other (A vs other) would have some better perf characteristics during content updates, but that's about it 16:33:54 Rossen: computing either position is not a problem 16:34:00 Rossen: Not very difficult to implement 16:34:08 glazou: I'm with Anton, author expectation is quite important 16:34:21 glazou: We are doing things in CSS these days that were quoted as "impossible" by browsers earlier 16:34:28 Zakim, aabb is TabAtkins_ 16:34:29 +TabAtkins_; got it 16:34:32 glazou: complexity of implementation is an argument, but not the ultimate one 16:34:34 +[Microsoft.a] 16:34:38 -??P43 16:34:40 (With regions, grid templates, and flexboxes, the list of elements to justify may have little relation to the source tree. It's a list in some overlaid structure, a "shadow tree" (not necessarily even a tree).) 16:34:41 glazou: Readability of spec and expectation of authors seems more important. 16:35:01 Zakim, [Microsoft.a] is me 16:35:01 +Rossen; got it 16:35:06 TabAtkins_: Unless we apply a bunch of properties to placeholders, in non-complex cases the static position will be completely arbitrary 16:35:19 TabAtkins_: Placeholder just goes to order of zero, then that will have no relation to order author intends there 16:35:40 TabAtkins_: people seem to be very reluctant to apply properties to placeholders 16:35:51 Florian: Have we talked enough that we can straw poll? 16:36:02 szilles: Would like to make one comment. 16:36:26 szilles: If you pick D then the positioning of abspos under ordering is completely arbitrary. 16:36:52 s/is/is not/ 16:37:02 szilles: gets glued to next flex item 16:37:12 Anton: It's slightly arbitrary, but static position is always slightly arbitrary 16:37:18 szilles: It's at least predictable 16:37:30 glazou: Let's try doing a straw poll 16:37:34 glazou: We have 5 options A-E 16:37:36 Zakim, who is here? 16:37:36 On the phone I see glazou, glenn, plinss, florian, stearns, SteveZ, [Apple], antonp, ??P15, Bert, smfr, CesarAcebal, fantasai, [Microsoft], TabAtkins_, Rossen 16:37:39 [Apple] has hober 16:37:39 [Microsoft] has arronei 16:37:39 On IRC I see Rossen, logbot, SteveZ, smfr, antonp, TabAtkins_, CesarAcebal, florian, Bert, krit, glenn, arno, jet, RRSAgent, Zakim, glazou, shepazu, ChrisL, Ms2ger, florianr, 16:37:42 ... arronei, jwir3, dglazkov, gsnedders, stearns, trackbot, alexmog, vhardy, sylvaing_away, heycam, shans, CSSWG_LogBot, paul___irish, krijnhuman, hober, fantasai, plinss, Hixie 16:38:16 Straw Poll 16:38:37 fantasai: I think B, D, and E are different ways of expressing the same thing 16:38:43 glenn: abstain 16:38:45 plinss: abstain 16:38:48 Florian: C or E 16:38:58 szilles: B, then A 16:39:03 s/B/D 16:39:13 hober: abstain 16:39:16 anton: D, then A 16:39:23 Bert: A or D 16:39:31 smfr: abstain 16:39:40 césar: abstain 16:39:42 fantasai: not C 16:39:50 arron: abstain 16:39:54 tab: A or C 16:39:58 rossen: abstain 16:40:11 * missed a few abstentions there 16:40:15 glazou: poll is not very conclusive 16:40:47 szilles: All answers, except one or two Cs, were advocating no traceable effect of using abspos 16:41:06 my poll was not minuted : wanted A then D but going to abstain 16:41:50 ROssen: I strongly support that 16:42:07 RESOLVED: placeholders have no impact on surrounding flex layout 16:43:59 fantasai: I think B, D, and E are roughly the same, they're trying to accomplish the same thing but expressed differently 16:44:18 fantasai: only might be different in edge cases, which we could discuss 16:44:48 fantasai: edge cases are 16:45:01 fantasai: a) between flex items, glued to next or previous 16:45:23 fantasai: b) if it's at a wrap point, does it wrap with the next, or wrap with the previous 16:45:28 Anton: I would vote next in both cases 16:46:01 TabAtkins_: given both are completly scrambled up by order, it's completely arbitrary 16:46:12 fantasai: this is after reordering 16:46:30 fantasai: c) if no flex items, where does it go 16:46:53 Rossen: Should go exactly where the first flex item would have gone 16:47:16 Rossen: If trying to keep as close as possible to flow layout 16:47:35 Rossen: In flow layout, is it with the next or previous item? Does it stick to wrapping or not? 16:47:54 Rossen: Use those rules 16:48:05 +1 for Rossen's reasoning 16:48:21 Rivoal: I'm ok with that reasoning, and if everybody agrees, we can resolve and that and have the editors go off and spec that, whichever it is 16:48:35 Rossen: Shouldn't something like this go in the positioning spec? 16:48:55 drublic has joined #css 16:48:56 Anton: In normal layout, says "position as if it were not floated and position was static" 16:49:13 Rossen: Would hope that all static positions be put into css3-positioning 16:49:29 TabAtkins_: Would prefer not t have this be undefined right now 16:49:57 fantasai: I think we want to define it here 16:50:46 Straw Poll A vs. Rossen's Principles 16:51:09 Rossen's Principles are, do the same thing you'd do in normal flow layout 16:51:32 Rossen: Either going with precise position, or origin 16:51:37 Rossen: For grid, we take the origin of the current cell 16:51:43 Rossen: In grid, you can have static auto position 16:51:54 Rossen: but you can define grid column and grid row, which will put you in a particular grid cell 16:52:00 Rossen: you get something better than origin of the grid 16:52:05 Rossen: But it's still origin of the cell 16:52:16 Rossen: Now if you have 5 items in that cell, we won't do anything better than 0 0 16:52:29 fantasai: items in the same cell stack on top of each other anyways 16:53:02 Florian: This gives me another argument against A. More likely to wind up with things on top of each other if you're not careful 16:53:17 TabAtkins_: That's the definition of abspos 16:53:18 glazou: A 16:53:28 plinss: abstain 16:53:31 glenn: abstain 16:53:39 Florian: Rossen 16:53:47 Alan: Rossen 16:53:59 szilles: Rossen 16:54:04 hober: abstain 16:54:06 Anton: Rossen 16:54:10 Bert: abstain 16:54:14 smfr: abstain 16:54:18 César: abstain 16:54:22 fantasai: abstain 16:54:24 Arron: Rossen 16:54:26 Tab: A 16:54:39 Rossen: Rossen 16:54:46 Consensus on Rossen 16:54:59 Florian: Can we let the editors now figure this out? 16:55:37 RESOLVED: Abspos static position defined according to Rossen's principles above 16:55:56 yes 16:55:59 sorry krit 16:56:04 glazou: :) 16:56:41 fantasai: Question is, does 'order' affect the absolutely-positioned child, either wrt painting order or wrt static position 16:56:54 Florian: If we went with A, I'd say no, but given we're not going with A, I think 'order' is usefl. 16:57:12 TabAtkins_: The issue is, we literally do nothing for placeholders in any thing else 16:57:25 TabAtkins_: e.g. we don't honor 'float' or 'clear' when computing static positions 16:57:31 No strong opinions 16:57:37 szilles: I would go for not honoring it 16:57:50 szilles: Best way to keep things consistent 16:57:53 Note that *not* ordering it makes "Rossen's principles" much less coherent. 16:57:55 Florian: I can go with that 16:58:16 I have some changes in fonts too, but did not put the right class on the changed bit 16:58:33 sorry w/c 16:58:56 RESOLVED: 'order' does not apply to abspos children of a flexbox, placeholders have all initia/inherited values for poperties 16:59:41 fantasai: At TPAC resolved to change 'order' to , but Tab forgot to edit this in. 16:59:58 TabAtkins_: Question is do we reverse the resolution or edit it in 17:00:19 szilles: When do two numbers equal each other? 17:01:26 RESOLVED: Fix issue 22 17:02:56 That's all the issues 17:03:11 -glenn 17:03:13 -[Apple] 17:03:13 -smfr 17:03:13 Editors to edit all the issues, post text for review, and decide on CR next week 17:03:14 -[Microsoft] 17:03:14 -stearns 17:03:15 -Rossen 17:03:15 -glazou 17:03:16 -Bert 17:03:18 -SteveZ 17:03:20 -CesarAcebal 17:03:22 -plinss 17:03:24 -antonp 17:03:28 -fantasai 17:03:42 -TabAtkins_ 17:04:04 arno has joined #css 17:04:44 arno1 has joined #css 17:05:30 -??P15 17:05:40 antonp has left #css 17:06:42 -florian 17:06:44 Style_CSS FP()12:00PM has ended 17:06:44 Attendees were glazou, glenn, plinss, florian, +1.206.675.aaaa, stearns, tabatkins_, SteveZ, hober, antonp, Bert, smfr, CesarAcebal, fantasai, arronei, +1.206.675.aabb, 17:06:44 ... [Microsoft], Rossen 17:07:19 krit has left #css 17:13:57 TabAtkins_: So, running tests now... 17:14:07 Tests? 17:14:14 TabAtkins_: On behavior of abspos 17:14:19 Oh. 17:14:33 TabAtkins_: Chrome has a weird line-breaking bug, but Opera and Mozilla place the abspos at the edge of the preceding item 17:14:43 when it occurs at a line break 17:14:48 http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cstyle%3E%0A%20%20div%20{%20width%3A%203em%3B%20border%3A%20solid%3B%20}%0A%20%20span%20{%20border%3A%20solid%20blue%3B%20position%3A%20absolute%3B%20}%0A%3C%2Fstyle%3E%0A%3Cdiv%3E%0A%E4%B8%80%E4%BA%8C%E4%B8%89%3Cspan%3E%3C%2Fspan%3E%E5%9B%9B%0A%3C%2Fdiv%3E 17:16:46 All three browsers place the box with the next character rather than the previous in the presence of letter-spacing 17:17:15 I can't trigger justification on any of them, though 17:17:20 so I can't test justification directly 17:20:43 So, thinking about how to spec this... 17:22:00 CesarAcebal has joined #css 17:22:56 I think we could just say that each abspos child of a flex container is wrapped in an anonymous flex item (or consecutive sequences of them are wrapped in an anonymous flex item) just like the spec used to say 17:23:05 and then define how they don't impact justification 17:27:13 I think I'd prefer to have them be placeholder items, at order 0. We run step 0 of the layout algo, then attach each to the preceding non-placeholder item, then ignore them completely for the rest of the algo. 17:27:37 Then we have to deal with alignment 17:27:52 I'd rather have the anonwrapper be effectively the placeholder, and have everything else fall out from that 17:27:56 it's also closer to the old spec 17:28:12 Hm? We don't have to worrya bout alignment at all. 17:28:31 Because we ignore them during the alignment phase, since that's "the rest of the algo". 17:29:03 We just attach them to the main-end cross-start side of the preceding item. 17:30:57 Ugh, this is just going to be such a dumb idea. People are imagining some sophisticated and desirable handling that won't exist. 17:33:08 if the preceding item is smaller than the cross-size of the line? 17:33:29 you don't want to attach it to the margin-box corner 17:33:42 you want it's main-axis position, but the cross-start edge of the line box 17:33:43 maybe 17:33:50 Then there's align-items 17:33:55 and how that impacts the placeholders 17:34:19 Nothing should affect any of it. 17:34:45 text-align affects placeholders 17:35:38 I don't want to try and translate every quirk of abspos text handling into flexbox. 17:37:38 leaverou has joined #css 17:38:37 reminds me, this all needs to be defined for block alignment as well... 17:38:43 >_< 17:39:59 Yay, defining stuff 17:40:11 no, no yay. static position sucks 17:40:12 :( 17:40:25 And yet you voted to make it more complicated! 17:40:31 I voted not C 17:40:53 And then abstained. ;_; 17:41:07 yep, because authors > spec editors 17:41:28 Well, duh. I voted A because the other options aren't actually better for authors either. 17:41:46 I think that's the case for row flexboxes 17:41:55 I think it doesn't actually matter much for wrapping flexboxes 17:42:12 but for column flexboxes I'm not so sure 17:42:12 This option, since it doesn't transfer order to the placeholder and doesn't do a lot of other more sophisticated things, won't match author expectations in many cases. 17:43:08 I actually think it's impossible to match author expectations well. I'm with Rossen's earlier argument that, for app layout, static position is meaningless and arbitrary. 17:43:24 I'm confused as to why he seemingly switched sides. :/ 17:43:30 I think we'll see flexbox used for non-app layouts 17:43:48 catalogs, for instance, aren't apps ^_^ 17:44:12 I doubt you can come up with a reasonable use-case for static position in a flexbox used for catalogs. 17:44:40 yeah, probably 17:46:29 Like I said, I think that people voted Rossen with an expectation in their head of paragraph-style layout, where static position does have some useful properties. 17:46:56 I think static position is most useful for a few kinds of positioning hacks that should be solved by more powerful abspos. 17:49:09 Basically, I think the committee decision resulted in a shitty half-decision that won't actually do anything very useful. Some people will find ways to use it, and this will be used as justification for further spreading complicated static position to future specs. 17:49:41 I think it's good we resolved on not C :) 17:50:10 jet has joined #CSS 17:50:23 Yeah, I'm fine with that, I don't care. It was *a* simple, consistent treatment, but not the best. 17:52:19 A is simple. The others are less simple, and are consistent in particular ways, but inconsistent in others. 17:58:44 The hypothetical box used to calculate the static position [[!CSS21]] 17:58:47 of an absolutely-positioned flex item corresponds to 17:58:50 that of an anonymous empty flex item 17:58:52 whose main-axis position coincides with the main-start edge of the subsequent real flex item 17:58:56 and, being hypothetical, has no effect on flex layout. 17:59:00 If there is no subsequent real flex item, 17:59:02 the hypothetical box's main-axis position is the main-end edge of the previous flex item, 17:59:06 else the main-start edge of the flex container. 18:00:08 I see no need to explicitly talk about the hypothetical box. 18:00:20 Those are the terms CSS2.1 uses to define static position 18:00:30 and it makes it easy to write the spec prose here. 18:00:36 Unless you have a better proposal? 18:00:46 Just define the static position directly. 18:01:00 No, not going to. Don't want to deal with bidi 18:01:15 It gets complicated, basically, when you involve bidi. 18:01:17 Wait, what? There's no bidi involved. There's no text here, just flex items. 18:01:29 'direction' affects which corner of the hypothetical box you pick 18:01:44 So will, eventually, 'writing-mode'. 18:02:04 By defining the hypothetical box, and letting that define the static position, we don't have to deal with that here. 18:02:42 On the other hand, we have to deal with alignment and sizing. You can't just say "has no effect on layout" when you're relying on an actual box to be created with a size and whatnot. 18:03:12 The size is zero, because it's anonymous and empty 18:13:55 ksweeney has joined #css 18:14:49 ksweeney has left #css 18:31:38 No, by default the size of an anonymous item is 'stretch'. 18:40:48 arno has joined #css 18:43:05 Zakim has left #css