/irc-logs / w3c / #css / 2013-06-07 / end

Options:

  1. # Session Start: Fri Jun 07 00:00:00 2013
  2. # Session Ident: #css
  3. # [00:01] * Joins: arno (~arnog@public.cloak)
  4. # [00:01] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  5. # [00:04] * Joins: zcorpan (~zcorpan@public.cloak)
  6. # [00:06] * Joins: dbaron (~dbaron@public.cloak)
  7. # [00:08] * Quits: krit (~krit@public.cloak) ("Leaving.")
  8. # [00:10] * Joins: sgalineau (~sgalineau@public.cloak)
  9. # [00:10] * Quits: sgalineau (~sgalineau@public.cloak) ("Textual IRC Client: www.textualapp.com")
  10. # [00:10] * Joins: sgalineau (~sgalineau@public.cloak)
  11. # [00:14] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  12. # [00:20] * Quits: Tav (~tbah@public.cloak) (Ping timeout: 180 seconds)
  13. # [00:25] * Joins: arno (~arnog@public.cloak)
  14. # [00:31] * Joins: glenn (~gadams@public.cloak)
  15. # [00:36] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  16. # [00:55] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
  17. # [00:56] * Quits: glenn (~gadams@public.cloak) (Client closed connection)
  18. # [00:58] * Joins: SimonSapin (~simon@public.cloak)
  19. # [01:00] * Joins: zcorpan (~zcorpan@public.cloak)
  20. # [01:11] * Quits: r12a (rishida@public.cloak) (Ping timeout: 180 seconds)
  21. # [01:22] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  22. # [01:44] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
  23. # [01:52] * Joins: shans__ (~shans@public.cloak)
  24. # [01:53] * Joins: jdaggett (~jdaggett@public.cloak)
  25. # [01:58] * Joins: glenn (~gadams@public.cloak)
  26. # [02:01] * Joins: MikeSmith (~MikeSmith@public.cloak)
  27. # [02:02] * Parts: MikeSmith (~MikeSmith@public.cloak) (MikeSmith)
  28. # [02:03] * Joins: rhauck (~Adium@public.cloak)
  29. # [02:06] * Joins: dbaron (~dbaron@public.cloak)
  30. # [02:07] * Quits: shans__ (~shans@public.cloak) (Ping timeout: 180 seconds)
  31. # [02:08] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  32. # [02:10] * Joins: zcorpan (~zcorpan@public.cloak)
  33. # [02:16] * Parts: rhauck (~Adium@public.cloak) (rhauck)
  34. # [02:16] * Joins: rhauck (~Adium@public.cloak)
  35. # [02:17] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  36. # [02:19] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  37. # [02:19] * Joins: lmclister (~lmclister@public.cloak)
  38. # [02:20] * Joins: SimonSapin (~simon@public.cloak)
  39. # [02:24] * Joins: leif (~lastorset@public.cloak)
  40. # [02:24] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  41. # [02:27] * Joins: myakura (~480ee730@public.cloak)
  42. # [02:31] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  43. # [02:33] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  44. # [02:34] * Quits: glenn (~gadams@public.cloak) (Client closed connection)
  45. # [02:34] * Joins: leif1 (~lastorset@public.cloak)
  46. # [02:35] * Quits: leif (~lastorset@public.cloak) (Client closed connection)
  47. # [02:40] * Joins: cabanier (~cabanier@public.cloak)
  48. # [02:41] * Joins: SimonSapin (~simon@public.cloak)
  49. # [02:42] * Quits: leif1 (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  50. # [02:42] * Joins: dbaron (~dbaron@public.cloak)
  51. # [02:43] <dbaron> trackbot, start meeting
  52. # [02:43] * trackbot is preparing a teleconference.
  53. # [02:43] <trackbot> RRSAgent, make logs member
  54. # [02:43] <RRSAgent> I have made the request, trackbot
  55. # [02:43] * Joins: Zakim (zakim@public.cloak)
  56. # [02:43] <trackbot> Zakim, this will be Style_CSS FP
  57. # [02:43] <Zakim> I do not see a conference matching that name scheduled within the next hour, trackbot
  58. # [02:43] <trackbot> Meeting: Cascading Style Sheets (CSS) Working Group Teleconference
  59. # [02:43] <trackbot> Date: 07 June 2013
  60. # [02:43] <dbaron> Zakim, remind us in 8 hours to go home
  61. # [02:43] <Zakim> ok, dbaron
  62. # [02:43] <dbaron> RRSAgent, make logs public
  63. # [02:43] <RRSAgent> I have made the request, dbaron
  64. # [02:46] * Joins: leif (~lastorset@public.cloak)
  65. # [02:46] * Joins: glenn (~gadams@public.cloak)
  66. # [02:46] * Joins: ivan (ivan@public.cloak)
  67. # [02:46] * Joins: kazutaka (~kazutaka@public.cloak)
  68. # [02:47] * Joins: krit (~krit@public.cloak)
  69. # [02:47] * Quits: myakura (~480ee730@public.cloak) ("http://www.mibbit.com ajax IRC Client")
  70. # [02:47] * Joins: glazou (~glazou@public.cloak)
  71. # [02:47] * Joins: myakura (~480ee730@public.cloak)
  72. # [02:48] * Joins: liam (liam@public.cloak)
  73. # [02:48] * Joins: plh (plehegar@public.cloak)
  74. # [02:48] * Joins: Rossen (~Rossen@public.cloak)
  75. # [02:48] <glazou> ScribeNick: Rossen
  76. # [02:48] <Rossen> topic: Selectors 4
  77. # [02:50] * Quits: glazou (~glazou@public.cloak) (glazou)
  78. # [02:50] * Joins: glazou (~glazou@public.cloak)
  79. # [02:54] <dbaron> topic: February-or-so Face-to-Face
  80. # [02:54] <dbaron> dbaron: want to do a doodle for scheduling
  81. # [02:54] * Bert suggests Dudle instead of Doodle, it's easier to use: https://dudle.inf.tu-dresden.de/?css=css/PrimeLife.css
  82. # [02:55] <dbaron> [discussion of contintents, probably North America's turn]
  83. # [02:55] <dbaron> [discussion of who can host, and who just hosted]
  84. # [02:56] <Rossen> Feb is NYC tentative
  85. # [02:56] * Joins: dino (~dino@public.cloak)
  86. # [02:57] <dbaron> (some were going to look into hosting in California too, I think?)
  87. # [02:57] <liam> ScribeNick: Liam
  88. # [02:57] <Rossen> nm last topic... new topic is Grid
  89. # [02:57] <TabAtkins> http://dev.w3.org/csswg/css-grid/
  90. # [02:57] * Joins: r12a (rishida@public.cloak)
  91. # [02:57] <liam> Tab: section 1...
  92. # [02:58] <liam> [question of scope from fantasai]
  93. # [02:58] <liam> question is about snapping items to grid
  94. # [02:58] <liam> you cn already align things, but this is moer about sizing things
  95. # [02:58] <liam> s/cn/can/
  96. # [02:58] <liam> proposal from Tab is to push snap-to-grid off to a later spec
  97. # [02:58] <liam> no objections
  98. # [02:58] <liam> glazou: accepted.
  99. # [02:59] <liam> tab: section 4.1 issue 3
  100. # [02:59] <liam> positions of things not explicitly given a grid position
  101. # [02:59] <liam> s/4.1/4/
  102. # [03:00] <liam> [Tab goes through the four options in the isue]
  103. # [03:00] <liam> s/isue/issue/
  104. # [03:01] <liam> fantasai: [draws on the board]
  105. # [03:01] <liam> 1. always auto-position
  106. # [03:01] <liam> (by default)
  107. # [03:01] <liam> 2. put unpositioned elements in slot 1 1
  108. # [03:02] <liam> 3. add ability to define a default slot, and then do either 1 or 2
  109. # [03:03] <liam> bert:first look at area, then look at flow, then look at normal positions just a process
  110. # [03:03] <liam> tab: this is for the case there's no explicit position
  111. # [03:03] <liam> Bert: if y udon't have a grid area there's still flow-into that may give you a position
  112. # [03:03] <liam> fantasai: yuo have a doc, e.g 5 elements in body, and the only style is display:grid on the body
  113. # [03:04] <liam> so these subelements have no explicit styles at all
  114. # [03:04] <liam> bert: then they all go into the default slot
  115. # [03:04] <liam> tab: what happens if yuo don't define a default slot?
  116. # [03:04] <liam> bert: but 1 1 might be an empty slot
  117. # [03:04] <liam> Rossen: we currently do 1 1
  118. # [03:05] <liam> toggling display: grid on/off will have no effect in that case for us
  119. # [03:05] <liam> if yuo have al lof the in one anyonymous grid item
  120. # [03:06] <liam> alan: if you had discontiguous elements you might not want to put them all into the same container
  121. # [03:06] <liam> fantasai: adv. of auto-positioning is that things don't pile on top of each other
  122. # [03:07] <liam> adv. of everything piling up is tha tyou don't change the size of the grid, but then you can't see the top
  123. # [03:08] <liam> tab: if you're using grid and not positioning things, you're doing it wrong
  124. # [03:08] <liam> Rossen, we were strongly considering (4)
  125. # [03:08] <liam> 4. Flow everything together into the default slot.
  126. # [03:09] <liam> e.g. if there are 3 P elements you get all 3 stacked separately
  127. # [03:09] <liam> alan: it runs into the complications we had with named flows
  128. # [03:09] <liam> e.g. margins collapsing
  129. # [03:10] * Joins: jet (~junglecode@public.cloak)
  130. # [03:10] <jet> TabAtkins: @door with others
  131. # [03:11] * Quits: jet (~junglecode@public.cloak) (jet)
  132. # [03:11] <liam> tab: floxbox now, all elements get coerced into flex items
  133. # [03:12] <liam> other option: autoposition everything with autoflow: row
  134. # [03:12] <liam> margins will no longer collapse when grid is toggled but it'll be more like flexbox
  135. # [03:13] <liam> fantasai: [agrees]
  136. # [03:13] <liam> so either autoposition, or do the flow
  137. # [03:13] <liam> bert: I'd like this to be more compatible with regions
  138. # [03:13] <liam> tab: wherever we have slot pseudoelements they should be able to accept grid as well
  139. # [03:13] * Joins: jdaggett (~jdaggett@public.cloak)
  140. # [03:13] <liam> dbaron: I'm concerned about difficulty of implementation
  141. # [03:14] <dbaron> I'm concerned about the difficulty of doing 4.
  142. # [03:14] <liam> fantasai: I'm inclined to go with 1
  143. # [03:14] <liam> alan: 4 isn't quite regions, still in same parent
  144. # [03:14] <dbaron> fantasai: ... consistent with the way flexbox works, so you switch from flexbox to grid
  145. # [03:14] <liam> tab: but taking discontiguous flow elements together
  146. # [03:15] * Joins: Koji (~Koji@public.cloak)
  147. # [03:15] <liam> tab: doing 4 is basically equiv. to taking all the flow items out and then taking what is left
  148. # [03:15] <liam> and putting it into one big anonymous grid item in the default slot
  149. # [03:15] * Joins: jet (~junglecode@public.cloak)
  150. # [03:16] <liam> dbaron: presumably you can't have absolute positioning on grid items
  151. # [03:16] <liam> tab: right, then it's not a grid item
  152. # [03:16] <liam> alan: default slot is * or 1 1 if there isn't a * ?
  153. # [03:16] <liam> tab: [agrees]
  154. # [03:16] <liam> tab: template draft uses @ for it
  155. # [03:16] * Joins: jdovey (~jdovey@public.cloak)
  156. # [03:16] <liam> tab: we'll add properties for specifyingit
  157. # [03:17] <liam> alan: if yo uhave more than one cell marked with a * ?
  158. # [03:17] <liam> bet: an error if disjoint
  159. # [03:17] <liam> s/bet/Bert/
  160. # [03:17] <liam> fantasai: [elimination game for other alternatives]
  161. # [03:18] <liam> 1 stacking everything on top of each other, i.e. auto position by default
  162. # [03:18] <liam> Rossen: that's what we do today
  163. # [03:19] <liam> 4: flow everything together into the default slot.
  164. # [03:19] <liam> bert: 11 might be empty, "."
  165. # [03:20] <liam> tab: so, if there's no eplicit default slot define, use a row-major seacrh to find the first non-empty slot and use that.
  166. # [03:20] <liam> s/eplicit/explicit/
  167. # [03:21] <liam> alan: if you want to avoid overlap, sometimes you'll have to create a new row.
  168. # [03:22] <liam> tab: sometimes you'll need to specify a default position
  169. # [03:22] <liam> bert: ok
  170. # [03:22] <liam> this is fallback behaviour anyway
  171. # [03:23] <liam> decision: accept proposal 4 for issue 3 in section 4 of css-grid, flow everything not explicitly grid-positioned together into a single item which is then auto-positioned, into the default slot or the first available slot
  172. # [03:25] <liam> issue 4, non-children grid items
  173. # [03:25] * trackbot doesn't understand that ISSUE command.
  174. # [03:26] <liam> [[ This is a proposal to create the ability to have descendants of a grid item participate in a grid layout, similar to the behavior defined by the Template Layout module. ]]
  175. # [03:26] <liam> position: grid makes a non-grid item an item in the nearest enclosing grid; if there's no such ancestor the item remains in the flow.
  176. # [03:26] <liam> dbaron: what if it gives no position?
  177. # [03:27] <liam> alan: it becomes a grid item
  178. # [03:27] <liam> tab: so it must be autopostioned
  179. # [03:27] <liam> tab: how about if we only do this if the item has both position: grid and an explicit position?
  180. # [03:28] <dbaron> peterl: what about using the fact that it's positioned in a grid instead of using position:grid?
  181. # [03:28] * liam could not hear plinss
  182. # [03:28] * liam thanks
  183. # [03:28] <liam> tab: we do need an explicit flag, "I want to be a grid item"
  184. # [03:29] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  185. # [03:29] <liam> I'd be fine amending this to say you must also provide explicit positioning in addition to grid: position
  186. # [03:29] * Joins: isra (~inoto@public.cloak)
  187. # [03:29] <liam> If you're positioning to a named area/gridline, and the nearest grid doesn't have that, the spec says keep moving up the tre until yuo find a grid with that line
  188. # [03:29] <liam> or we could say, you failed
  189. # [03:29] <liam> s/tre /tree /
  190. # [03:29] <liam> benefis - you can refer to the page grid anywhere in the document
  191. # [03:30] <liam> plinss, is that true if you're asking for a line ot in yur grid?
  192. # [03:30] <liam> fantasai: if you wanted to make that work yuo could just say position:grid on taht item
  193. # [03:30] <liam> s/plinss,/plinss:/
  194. # [03:31] <liam> tab: a normal line item referencing a line not in its grid just pops up?
  195. # [03:31] * Quits: isra (~inoto@public.cloak) ("Leaving.")
  196. # [03:31] <liam> fantasai: what if you speciy two grid lines and they come from different grids?
  197. # [03:31] <liam> tab: goes in the first grid it can find
  198. # [03:32] <liam> bert: so we'reusing the position property to turn this on?
  199. # [03:32] <liam> tab: yes, if you're not a direct child of a grid
  200. # [03:32] <liam> we have otehr ways we want to use the position properties so we want to make it an explicit switch
  201. # [03:32] <liam> bert: you only do that for elements that are themselves of grid items?
  202. # [03:33] * Quits: r12a (rishida@public.cloak) (Client closed connection)
  203. # [03:33] <liam> fantasai: any descendent of a grid can take position: grid and become a participant in that grid
  204. # [03:33] <liam> tab: what if yuo can't find something with tha tname?
  205. # [03:33] <liam> maybe they should be autopositioned in the nearest grid?
  206. # [03:33] * Joins: projector (~projector@public.cloak)
  207. # [03:34] <liam> if you're a grandchild of a grid you need to opt in explicitly, if you're a child it's automatic
  208. # [03:35] <liam> bert: default, you're inside your parent, that's always the case, so yuo want to become a grid item to be positioned differently, ok
  209. # [03:35] <liam> Rossen: but if yuo have a name line that doesn't match you'll have a silent fail, Peter was saying, and that's not [good
  210. # [03:35] <liam> ]
  211. # [03:36] <liam> if you don't find any lines you should still be positioned in the closest grid you find
  212. # [03:36] <liam> alan: be good to spearate the fallback from the sub-grid that works
  213. # [03:36] <liam> tab: [agreed]
  214. # [03:36] <liam> alan: on the subgrid that works I agree with Peter, display:gri isn't needed, using the grid properties should make you a grid item
  215. # [03:36] <liam> plinss: nok because there are other uses for the properties
  216. # [03:37] <liam> tab: section 4.2 has the abspos case
  217. # [03:37] <liam> [4.2. Absolutely-positioned Grid Children http://dev.w3.org/csswg/css-grid/#abspos-items]
  218. # [03:37] * Quits: myakura (~480ee730@public.cloak) ("http://www.mibbit.com ajax IRC Client")
  219. # [03:37] <liam> fantasai: [draws a diagram]
  220. # [03:37] * Joins: myakura (~myakura@public.cloak)
  221. # [03:38] <liam> fantasai: everything is like abs-pos except that if the containing block is a grid you can position yourself with respect to the grid lines
  222. # [03:39] <liam> tab, peter [discuss possible changes to abs pos]
  223. # [03:39] <liam> tab: we don't want to change abs-pos too much
  224. # [03:39] <liam> plinss: but the abs-pos'd items don't affect the grid layout
  225. # [03:40] * liam not sure that was a good transcription
  226. # [03:40] <liam> plinss, what if fixed position?
  227. # [03:40] <liam> dbaron: with transforms, fixed works like abspos
  228. # [03:41] <liam> tab: assuming fixed-pos can find a containing grid it should work just like abs
  229. # [03:41] <liam> tab: example: {
  230. # [03:41] <liam> grid-row-start: 2, auto
  231. # [03:41] <liam> grid-col-end: auto
  232. # [03:41] <liam> s/row-/col-/
  233. # [03:41] <liam> }
  234. # [03:42] <liam> tab: wondering about this only for abs-pos'd items
  235. # [03:42] <liam> fantasai: if it's all auto you use the outer edge
  236. # [03:43] <liam> plinss: a little bothered it's different for abspos and grid items
  237. # [03:43] <liam> plinss: need to make sure auto gets you a regular abs-pos behaviour
  238. # [03:43] * Quits: rhauck (~Adium@public.cloak) (Client closed connection)
  239. # [03:44] <liam> tabL you can use the grid-col properties to change your containing block, for abs-pos
  240. # [03:44] <glazou> test
  241. # [03:45] <liam> plinss: normal abs positioning of the column edge, [scribe missed]
  242. # [03:45] * Joins: r12a (rishida@public.cloak)
  243. # [03:45] * Quits: projector (~projector@public.cloak) ("Page closed")
  244. # [03:45] <myakura> s/tabL/tab:/
  245. # [03:46] <liam> fantasai: if you have a grid ... [draws] that's 1 x 1 , autosized ...
  246. # [03:47] <liam> my vertical gridlines will be, content edge, and sized out
  247. # [03:48] <liam> so e.g. align: centre should centre that box (the grid) in the containing block
  248. # [03:48] <liam> so the abs pos first and last grid line, you'll align to those, wherever they end up being
  249. # [03:48] <liam> may or may not correspond to the content of th box
  250. # [03:49] <liam> abspos auto means the normal containing block edge
  251. # [03:49] <liam> plinss: but if it's a grid item it means something slightly different
  252. # [03:49] <liam> fantasai, tab: [agree]
  253. # [03:50] <liam> resolved: abspos for grid items accepted as described in the spec, with auto meaning use padding edge of containing box
  254. # [03:50] <dbaron> plinss: to clarify, display:grid isn't always an abs pos containing block?
  255. # [03:50] <dbaron> fantasai, Tab: correct
  256. # [03:50] <liam> plinss, can we add "containing-block: always"?
  257. # [03:51] <liam> back to issue 5, non-children grid items
  258. # [03:51] <liam> plinss: these items only behave oddly if yuo positioni them absolutely
  259. # [03:52] <dbaron> (plinss arguing that you shouldn't need position:grid, you can just apply the stuff in section 4.1 when not position:absolute)
  260. # [03:52] <liam> tab: we still want an explicit indicator [for grid-item-ness] so yuo can opt into autoflow
  261. # [03:52] <liam> plinss, so you can have a position: grid, but only necessary if you don't want auto?
  262. # [03:52] <liam> tab: yes
  263. # [03:53] <liam> tab: now have an additional problem, if you have position: grid, a named line, and can't find it
  264. # [03:53] <liam> so we don't know what grid to put you in
  265. # [03:53] <liam> we coud say you reman in flow
  266. # [03:53] <liam> If you're a real grid item
  267. # [03:54] <liam> your parent is a grid container
  268. # [03:54] <liam> and we can't find your lines
  269. # [03:54] <liam> we default you to auto
  270. # [03:54] <liam> so auto-positioning or default slot
  271. # [03:54] <liam> if you'er grid descendent we don't want tha tbehaviour
  272. # [03:54] <liam> so are we OK with saying no, you're not a grid item, if w can't find the line
  273. # [03:54] <liam> bert: first step is going up the tree
  274. # [03:54] <liam> maybe all the way up to the page
  275. # [03:55] <liam> tab: assuming w did that and can't find the grid
  276. # [03:55] <liam> don't want to put grid items into the default slot
  277. # [03:55] <liam> so it stays in flow in normal positioning
  278. # [03:55] <liam> plinns: if autopositioning is turned on there's not reason why we couldn't autoposition it ...
  279. # [03:56] <liam> so maybe "we do nothing" is the fallback, i.e. ignore the position: grid
  280. # [03:56] <liam> tab: seems reasonable
  281. # [03:56] <liam> ok
  282. # [03:57] <liam> [accepted]
  283. # [03:57] <liam> alan: so if you have a grid container, one of its direct children, but you put display: grid on it
  284. # [03:57] <liam> tab: it goes into the default slot, normal flow, position: idd will act like position: static in that case
  285. # [03:57] <stearns> s/display: grid/position:grid/
  286. # [03:57] <liam> plinns: it seems to me all direct children of a grid will compute to position: grid
  287. # [03:58] <liam> bert: that depends on the position property
  288. # [03:58] <liam> position: static means they arein the normal flow
  289. # [03:58] <r12a> rrsagent, minutes?
  290. # [03:58] <RRSAgent> I'm logging. Sorry, nothing found for 'minutes'
  291. # [03:58] <liam> fantasai: [disagrees]
  292. # [03:58] <r12a> rrsagent, draft minutes
  293. # [03:58] <RRSAgent> I have made the request to generate http://www.w3.org/2013/06/07-css-minutes.html r12a
  294. # [03:58] <liam> tab: sometimes we do want to put things with position: grid in the default slot, if they are grid items
  295. # [03:59] <liam> I'd be OK with position computing to grid
  296. # [03:59] <liam> we don't do it to flexbox but we don't have children there
  297. # [03:59] <liam> Rossen: how do you break out of your grid in that case?
  298. # [03:59] <liam> plinss: same as before, you'd use a name of a higher grid line
  299. # [03:59] <liam> bert: you'd put a div element wrapper in there
  300. # [04:00] <Bert> (which, of course, is not desirable)
  301. # [04:00] <liam> fantasai: I don't like that if you're a child of a grid you can suddenly jump around
  302. # [04:00] <liam> plinns: but aren't immediate children grid items anyway?
  303. # [04:01] <dbaron> I'm not crazy about all the use of the 'position' property (and 'display:grid' vs. 'position:grid' is especially confusing)
  304. # [04:01] <liam> fantasai: yes, but nothing makes them jump about out f the grid
  305. # [04:02] <dbaron> liam: is there a way to prevent content? e.g., third party content: don't want advertiser to position outside of their third-party content?
  306. # [04:02] <dbaron> tab: use a seamless iframe
  307. # [04:02] <stearns> +1 dbaron, particularly in that position:grid really means something like supra-grid or jump-into-an-ancestor's-grid
  308. # [04:02] <liam> dbaron: I'm generally unhappy about adding more uses of the display property
  309. # [04:03] <dbaron> s/display/position/
  310. # [04:03] <dbaron> (explains IRC comment above)
  311. # [04:03] * liam thanks
  312. # [04:03] <liam> bert: we can reduce by one based on presence of template
  313. # [04:03] <liam> tab: we wanted an explicit flag
  314. # [04:04] <liam> you can set none of the properties and you'll be autopositioned
  315. # [04:04] <liam> bert: which is more common?
  316. # [04:04] <dbaron> dbaron^: ... since the 'position' property is mostly a list of things that should have been values of 'display' instead
  317. # [04:04] <liam> fantasai: depends what you're doing, e.g. a catalogue where yuo want items in a grid
  318. # [04:04] <liam> tab: we can do display: grid-item
  319. # [04:05] <liam> plinss: but then you lose display: auto
  320. # [04:05] <liam> tab: current values of position should have been position
  321. # [04:05] <liam> dbaron: position fixed is really a display value, position relative is an unrelated feature
  322. # [04:05] <liam> tab: could add display: outside-grid-item
  323. # [04:06] <dbaron> tab: could add display-outside: grid-item instead of position:grid
  324. # [04:06] * liam thanks :)
  325. # [04:06] <liam> fantasai: it's getting complicated
  326. # [04:06] <liam> I like how flex-box is very straight-forward
  327. # [04:06] <liam> whereas here, when you turn on display: grid, shouldn't soemthing happen?
  328. # [04:06] <dbaron> s/I like/fantasai: I like/
  329. # [04:07] <liam> tab: are you saying we should default grid properties to more than a 1x1 grid?
  330. # [04:07] <liam> fantasai: we don't generally have things jumping around reparenting themselves
  331. # [04:07] <liam> it should be self-contained, you turn on grid and everything looks like a grid
  332. # [04:07] <liam> plinss: that _is_ what's going to happen
  333. # [04:08] <liam> [discussion about reparenting]
  334. # [04:09] <liam> fantasai: I want the jumping to be opt-out on the jumpee item
  335. # [04:09] <liam> tab: that only happens if you're using useless grid item properties
  336. # [04:09] <liam> fantasai: I don't want setting something on a parent to trigger the ability of a child to jump out
  337. # [04:10] <liam> plinss: the child is already opting into some grid behaviour
  338. # [04:10] <liam> Rossen: do we need al lthis for level 1?
  339. # [04:10] <liam> bert: yes!
  340. # [04:10] <liam> Rossen: I mean the jumping out
  341. # [04:10] <liam> alan: if we don't do it now, we'd have to invent entirely new properties to get this in the future
  342. # [04:10] <liam> tab: can possibly do it more simply and interated way right now
  343. # [04:11] <liam> plinss: if you're explicitly opting in to some grid line, why should you have to turn on another property to make that work?
  344. # [04:12] <liam> fantasai: [scribe couldn't hear]
  345. # [04:12] <liam> tab: probably opting in will be needed
  346. # [04:12] <liam> plinss: position: snap, or something
  347. # [04:12] <liam> plinss: what if everyone had to say position: grid?
  348. # [04:12] <liam> and no magical behaviour
  349. # [04:12] <liam> because now just being a child of a grid makes you magic
  350. # [04:13] <liam> Bert: this should be like columns, not flexbox
  351. # [04:13] <liam> tab: but flexbox isn't used in the same case, and neither is columns
  352. # [04:13] <liam> bert: if you position yourself in the grid you get a position in the grid, doesn't matter if it's your parent
  353. # [04:13] <liam> tab: opting in to autoposition would have to be explicit
  354. # [04:14] <liam> couldn't just turnon grid and have everything positioned into row
  355. # [04:14] <liam> s
  356. # [04:15] <liam> fantasai: wants turning display:grid on to make a grid that's one column (if you don't do anything else)
  357. # [04:15] <liam> tab: skipping
  358. # [04:15] <liam> 4.3 issue 8 visibility
  359. # [04:15] <dbaron> peterl: better to do other issues for next 15 minutes and come back to this
  360. # [04:15] <liam> " Or should the track size be set to 0 regardless of its sizing function? "
  361. # [04:16] <liam> tab: make visibility collapse, remove it from the grid, but still affect on sizing
  362. # [04:16] <liam> collapse becomes visibility: hidden, except,
  363. # [04:16] <liam> if everything in a track collapses the track size drops to zero
  364. # [04:16] <liam> a. is this reasonable?
  365. # [04:17] <liam> b. should this be intrinsic size ofthe track?
  366. # [04:17] <liam> dbaron: if you set some of the items to visibility: collpased, no change on track size?
  367. # [04:17] <liam> tab: yes
  368. # [04:17] <liam> dbaron: that's not the same as tables
  369. # [04:17] <liam> bert: you set it on the table row or col
  370. # [04:17] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  371. # [04:17] <liam> dbaron: the intermediate state seems weird
  372. # [04:18] <liam> if the featre is useful enough to exist, I'd be OK to change for each collapse change
  373. # [04:18] <liam> tab: then it's same as display: none
  374. # [04:18] <liam> dbaron: OK, I see why you did what you did
  375. # [04:18] <dbaron> ... but it's still annoying
  376. # [04:18] <liam> tab: there's a case for table-like behaviour where you can collapse away a col or row, but sounds like it might not be a popular way to do it
  377. # [04:19] <liam> dbaron: for reference we still haven't defined how the table thing works!
  378. # [04:19] <liam> tab: probably should kill this section and think about it some more
  379. # [04:20] <liam> decision: change issue 8 into a more general issue about the feature
  380. # [04:20] <liam> issue 9
  381. # [04:20] * trackbot doesn't understand that ISSUE command.
  382. # [04:20] <liam> [[ ince all three properties define the explicit grid, would it make sense to give them all a common prefix (and possibly a shorthand unifying them, as in Bert's ‘grid’ shorthand)? Current thoughts: ‘grid-template’ as the shorthand, with ‘grid-template-rows/columns/slots’ as the longhands, or ‘grid-definition’ as the shorthand, with ‘grid-definition-rows/columns/template’ as the longhands. Other suggestions welcome.
  383. # [04:20] <liam> ]]
  384. # [04:20] <liam> s/ ince/ Since/
  385. # [04:20] <liam> tab: right now you have:
  386. # [04:20] <liam> grid-definition-rows
  387. # [04:21] <liam> grid-definition-columns
  388. # [04:21] <liam> grid-template
  389. # [04:21] <liam> }
  390. # [04:21] <liam> tab: [suggests some alternate names for the properties]
  391. # [04:22] <liam> A. grid-template-[rows|columns|slots]
  392. # [04:22] <liam> B. grid-definition-[rows|columns|slots]
  393. # [04:22] <liam> dbaron: so the rows and cols properties are really giving the sizes of each column/row
  394. # [04:22] <dbaron> ?: and the number (as does slots)
  395. # [04:22] <liam> tab: rows and columns also name lines and give the numbers of rows/columns
  396. # [04:23] <dbaron> s/?/tab\/fantasai/
  397. # [04:24] <liam> bert: I used the shorter name for defining grids
  398. # [04:24] <liam> tab: you'll more likely be using the positioning properties, defs are once per container not once per item
  399. # [04:24] <liam> bert: I want to use grids more as regions, so I don't need all these row and column properties, just naming the "region" is enough
  400. # [04:24] * Joins: shans__ (~shans@public.cloak)
  401. # [04:25] <liam> TabAtkins: tehre are strong use cases for [explicit definition properties]
  402. # [04:25] <liam> bert: don't like the word definition, maybe "size"?
  403. # [04:25] <liam> tab: we want a common prefix
  404. # [04:25] <liam> bert: "grid" is the common prefix
  405. # [04:26] <liam> fantasai: it's not just sizes, also names
  406. # [04:26] <dbaron> I'm happy with A or B, probably slightly prefer A.
  407. # [04:26] <jerenkrantz> prefer A
  408. # [04:28] <dbaron> tab: I'd love to be able to say grid-rows and grid-columns, but I want grid-row and grid-column more, and don't want both at the same time.
  409. # [04:28] <liam> tab: maybe we can say "area"?
  410. # [04:28] <dbaron> tab: replaces A with grid-template-[rows|cols|areas]
  411. # [04:28] <liam> so, grid-template-[rows|columns|areas]
  412. # [04:28] <liam> and grid-template is a short-hand using Bert's draft
  413. # [04:29] * Joins: Phil_Cupp_ (~Phil_Cupp@public.cloak)
  414. # [04:30] <liam> [discussion of Bert's syntax for shorthand, plinss and tab agree it might need work
  415. # [04:30] <liam> ]
  416. # [04:31] <liam> tab: could say it's a slightly odd shorthand, can't omit the template from the shorthand, but this is weird
  417. # [04:31] <liam> bert: it's not weird!
  418. # [04:32] <liam> [discussion, do you need to mention the template in the shorthand property?]
  419. # [04:32] <liam> tab: given a 3x3 you have to do ". . ." ". . ." ".. . ."
  420. # [04:32] <liam> [lunch]
  421. # [04:39] * Quits: leif (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  422. # [04:40] * Quits: Rossen (~Rossen@public.cloak) (Ping timeout: 180 seconds)
  423. # [04:41] * Quits: r12a (rishida@public.cloak) (Client closed connection)
  424. # [04:52] * Quits: jdovey (~jdovey@public.cloak) (jdovey)
  425. # [04:56] * Quits: shans__ (~shans@public.cloak) (Ping timeout: 180 seconds)
  426. # [05:01] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  427. # [05:06] * Quits: Phil_Cupp_ (~Phil_Cupp@public.cloak) ("Page closed")
  428. # [05:20] * Quits: sgalineau (~sgalineau@public.cloak) (Client closed connection)
  429. # [05:28] * Joins: sgalineau (~sgalineau@public.cloak)
  430. # [05:34] * Joins: lmclister (~lmclister@public.cloak)
  431. # [05:34] * Joins: rhauck (~Adium@public.cloak)
  432. # [05:37] * Quits: sgalineau (~sgalineau@public.cloak) ("Computer has gone to sleep.")
  433. # [05:39] * Joins: leif (~lastorset@public.cloak)
  434. # [05:44] * Joins: sgalineau (~sgalineau@public.cloak)
  435. # [05:56] * Joins: rhauck1 (~Adium@public.cloak)
  436. # [05:58] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  437. # [05:58] * Quits: rhauck1 (~Adium@public.cloak) (Client closed connection)
  438. # [06:01] * Quits: rhauck (~Adium@public.cloak) (Ping timeout: 180 seconds)
  439. # [06:03] * Joins: rhauck (~Adium@public.cloak)
  440. # [06:04] * Joins: lmclister (~lmclister@public.cloak)
  441. # [06:06] * Joins: rhauck1 (~Adium@public.cloak)
  442. # [06:06] * Joins: myakura (~myakura@public.cloak)
  443. # [06:09] * Joins: kawabata (~kawabata@public.cloak)
  444. # [06:10] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  445. # [06:10] * Joins: lmclister (~lmclister@public.cloak)
  446. # [06:10] * liam Zakim, pick a victim
  447. # [06:10] * Zakim sorry, liam, I don't know what conference this is
  448. # [06:11] <glazou> ScribeNick: dino
  449. # [06:11] * Quits: rhauck (~Adium@public.cloak) (Ping timeout: 180 seconds)
  450. # [06:11] <dino> tab: we deferred a couple of issues
  451. # [06:11] * Joins: shans__ (~shans@public.cloak)
  452. # [06:12] <dino> tab: 1. Position: grid stuff. Peter, Elika and I decided on something.
  453. # [06:13] <dino> tab: position:grid on anything makes it a grid item, and makes it jump up the tree looking for lines.
  454. # [06:13] <dino> tab: this leads to interesting auto-placement....
  455. # [06:13] <dino> dbaron: [interrupts]
  456. # [06:13] <stearns> normal grid children do not jump up the grid
  457. # [06:13] <dino> tab: ok, cool.
  458. # [06:14] <dino> tab: we propose eliminate auto-flow:none, switch initial value to rows (grid-overflow), and have that as the overflow behaviour
  459. # [06:14] <dbaron> s/overflow/autoflow/ ?
  460. # [06:15] <dino> tab: this has the benefit that it is close in apparent behaviour to the default cell.
  461. # [06:15] <dino> (with display: grid)
  462. # [06:16] <dino> tab: and acts grid-like when you apply more of the grid properties
  463. # [06:16] <dino> TabAtkins: and matches flexbox more closely
  464. # [06:17] <dino> TabAtkins: -> unambiguous behaviour when pos:grid items that can't find lines (or are auto). they act the same as a grid child.
  465. # [06:17] <dino> -> find nearest grid, and become autoflow item there
  466. # [06:17] <dino> alan: soyou can no longer have pos:grid and have it remain in the flow
  467. # [06:17] <dino> TabAtkins: correct
  468. # [06:18] <dino> bert: means i can't use the same grid for templates.
  469. # [06:18] <dino> TabAtkins: the region behaviour should be addressed separately.
  470. # [06:18] <dino> TabAtkins: this is simpler overall.
  471. # [06:18] <dino> Bert: but less useful
  472. # [06:18] <dino> Bert: everything has to be parent child
  473. # [06:19] <dino> TabAtkins: no, use position: grid
  474. # [06:19] <dino> Bert: I want to use props starting with grid. they are useful.
  475. # [06:19] <dino> Bert: they work like regions. content flows into the grid.
  476. # [06:20] <dino> Bert: this is reversed. when i set the grid properties on an element, i need to duplicate the properties on children.
  477. # [06:20] <dino> TabAtkins: (disagrees)
  478. # [06:20] <dino> TabAtkins: a. regions lets you do everything right now
  479. # [06:20] <dino> TabAtkins: b. if we want to do this later, it's easy
  480. # [06:21] <dino> [ Bert requests maintaining existing behaviour. Tab explains that this is like flexbox ]
  481. # [06:21] <dino> Bert: it is easier if you have markup designed to behave that way. this is not normally the case.
  482. # [06:21] <dino> Bert: my approach is easier. if you want something floated, you put a property on it. that's what removes it from the normal flow.
  483. # [06:22] <dino> TabAtkins: i understand there are strong reasons for your way, but my way is much more simple.
  484. # [06:22] <dino> Bert: they were simple before too
  485. # [06:23] <dino> elika: the point of having everything become a grid is that display:grid makes things appear like a grid.
  486. # [06:23] <dino> elika: set rows, you get that number of rows, etc
  487. # [06:23] <dino> elika: we wanted this for flexbox, and we're following here.
  488. # [06:24] <dino> TabAtkins: we're proposing to start with this simple model, and add your case later.
  489. # [06:25] <dino> Bert: both behaviours are useful. the nice thing was that you could use the same properties to set up for both.
  490. # [06:25] <dino> TabAtkins: you can still do this.
  491. # [06:25] * Joins: Rossen (~Rossen@public.cloak)
  492. # [06:26] <dino> [ discussion about how many properties each case needs to set ]
  493. # [06:26] <dino> s/discussion/disagreement
  494. # [06:26] <dino> Bert: i've tried many different examples...
  495. # [06:26] <dino> TabAtkins: all document-centric
  496. # [06:26] <dino> TabAtkins: app-centric gravitate towards my model
  497. # [06:27] <dino> Bert: yeah, it is very common to have flowing text. I don't want to have to set two properties.
  498. # [06:27] <dino> elika: when you have flowing text you normally have a parent/child relationship
  499. # [06:27] <dino> Bert: disagree.
  500. # [06:28] <dino> TabAtkins: do that by changing grid:auto-flow into a new value
  501. # [06:28] <dino> alan: i don't understand how this addresses bert's case
  502. # [06:28] <dino> TabAtkins: once we add it, it is simple to turn on
  503. # [06:29] * Joins: Phil_Cupp (~Phil_Cupp@public.cloak)
  504. # [06:29] <dino> Bert: why not have it as part of the shorthand? it could say either the template or a keyword positioning v flowing
  505. # [06:29] * Joins: r12a (rishida@public.cloak)
  506. # [06:29] <dino> TabAtkins: right now grid:autoflow is not part of the shorthand. we could add that.
  507. # [06:30] <dino> TabAtkins: this is not necessarily new stuff, we'd just changing what the auto value does.
  508. # [06:30] <dino> Bert: you could also use the display property as the switch.
  509. # [06:31] * Quits: sgalineau (~sgalineau@public.cloak) ("Textual IRC Client: www.textualapp.com")
  510. # [06:31] <dino> TabAtkins: it is simple to add this later. are we happy to change our default behaviour over to this?
  511. # [06:32] <dino> Bert: flexbox is the wrong model to follow. multicolumn is a better example.
  512. # [06:32] <dino> TabAtkins: i'm not trying to justify flexbox.
  513. # [06:32] <dino> TabAtkins: can you live with the change I suggested?
  514. # [06:33] * Joins: jdovey (~jdovey@public.cloak)
  515. # [06:33] <dino> Bert: it's a radical change
  516. # [06:33] <dino> TabAtkins: no, it's just the initial value of one property
  517. # [06:33] <dino> Bert: syntax wise yes. but requires a new template layout model.
  518. # [06:33] <dino> TabAtkins: [disagrees]
  519. # [06:33] <dino> Bert: what does the default slot become?
  520. # [06:34] <dino> TabAtkins: when you use the flowing behaviour you define what the slot is. We don't have to worry about this in default.
  521. # [06:34] <dino> Bert: [explains a complicated example in a manner that would be difficult to minute, using hand gestures]
  522. # [06:35] <dino> TabAtkins: [answers the example :]
  523. # [06:35] <dino> TabAtkins: the two things you can't mix are the two types of auto-positioning. use regions for that.
  524. # [06:36] <dino> Bert: i have a grid element, with a template, it isn't auto positioned, with some child that I do want positioned
  525. # [06:37] <dino> Bert: do i then have to use pos:grid
  526. # [06:37] <dino> ?
  527. # [06:37] <dino> TabAtkins: no, use grid area
  528. # [06:37] <dino> TabAtkins: the rest are auto-flowed
  529. # [06:37] <dino> TabAtkins: look at grid: auto-flow and do what that says
  530. # [06:38] <Rossen> #grid { grid-auto-flow: rows; display: grid; } #grid > * { grid-area: auto }
  531. # [06:38] <dino> Rossen: is that enough to get all of the auto positioned in a row?
  532. # [06:38] <Rossen> #grid { grid-auto-flow: columns; display: grid; } #grid > * { grid-area: auto }
  533. # [06:39] <dino> TabAtkins: not even that much. just set display:grid.
  534. # [06:39] <dino> TabAtkins: we're just saying the default value should be grid-auto-flow: rows
  535. # [06:40] <dino> Bert: you still have to set two properties together
  536. # [06:40] <dino> TabAtkins: one of them has to be privileged
  537. # [06:41] <dino> Bert: what is interaction btw flow into and grid area?
  538. # [06:41] <dino> TabAtkins: i have no idea and don't want to think about it now
  539. # [06:41] <dino> Bert: we will have to prepare for it
  540. # [06:41] <dino> TabAtkins: in the regions draft, sure.
  541. # [06:41] <dino> Bert: flow-into is used, and grid-area is auto....
  542. # [06:41] <dino> TabAtkins: YES
  543. # [06:41] <dino> Bert: NO
  544. # [06:41] <dino> TabAtkins: NO
  545. # [06:41] <dino> Bert: YES
  546. # [06:42] <dino> Peter: suggest accepting tab's proposal, bert's objection noted, we will discuss it again.
  547. # [06:42] <dino> alan: the proposal said you'd change the default and defer auto? could we leave it in the draft for now?
  548. # [06:43] <dino> TabAtkins: yes.
  549. # [06:43] <dino> s/defer auto/defer none/
  550. # [06:43] <dbaron> (grid-autoflow: none)
  551. # [06:44] <dino> RESOLUTION: accept tab's proposal, bert's objection noted, we will discuss it again (issue marked in spec)
  552. # [06:44] <dino> TabAtkins: shorthand.
  553. # [06:45] <dino> TabAtkins: accept bert's shorthand with tiny changes (separators)
  554. # [06:45] <dino> peter: do this later
  555. # [06:45] <jerenkrantz> RRSAgent: make minutes
  556. # [06:45] <RRSAgent> I have made the request to generate http://www.w3.org/2013/06/07-css-minutes.html jerenkrantz
  557. # [06:45] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  558. # [06:45] <dino> Topic: Font Load Events
  559. # [06:46] <stearns> http://dev.w3.org/csswg/css-font-load-events/
  560. # [06:47] <TabAtkins> http://dev.w3.org/csswg/css-font-load-events/#fontloader-interface
  561. # [06:47] <liam> [tab shows a picture of an earwig]
  562. # [06:48] <jerenkrantz> Ok all - I need to leave. Those who will be here at AC meeting, I'll see you on Monday. Others, I'll see you on-list! Thanks.
  563. # [06:48] <dino> JD: there is a problem when loading @font-face. they are lazily loaded. if you never reference the font... no font would be loaded. The flip side is that because it was never loaded, you can't use it.
  564. # [06:49] <dino> eg. canvas
  565. # [06:49] <dino> e.g. show a menu of available fonts
  566. # [06:49] <dino> - you don't know metrics, etc
  567. # [06:49] <dino> JD: been an issue, many people want a solution.
  568. # [06:49] <dino> JD: I sketched out a proposal for a FontLoader that hangs off document.
  569. # [06:50] <dino> JD: gives a way to trigger some loads... just tell me when I'm done.
  570. # [06:50] <dino> JD: most authors don't need to know specifics
  571. # [06:50] <dino> JD: there is a more complex use case where they want to know exactly when every font is available
  572. # [06:50] <TabAtkins> http://lists.w3.org/Archives/Public/www-style/2013Apr/0064.html
  573. # [06:50] <dino> JD: two handlers, and a bunch of methods
  574. # [06:51] <dino> JD: loadFont ( font, text, successCallback, errorCallback )
  575. # [06:51] <dino> JD: it's the same as the font property
  576. # [06:52] <dino> JD: text is provided to help selection
  577. # [06:52] <dino> krit: ???
  578. # [06:52] <dino> krit: so font is a list of fonts?
  579. # [06:52] * Quits: Phil_Cupp (~Phil_Cupp@public.cloak) ("Page closed")
  580. # [06:52] <dino> JD: yes
  581. # [06:54] <dino> glenn: what are semantics of the text parameter?
  582. # [06:54] <dino> JD: you go through the characters to see if you need fonts.
  583. # [06:54] <dino> glenn: Please rename this parameter to something more descriptive.
  584. # [06:54] <dino> JD: successcallback just tells you when things went ok
  585. # [06:55] <dino> [ignore that last line]
  586. # [06:55] <glenn> s/text parameter/text member of LoadFontParameters/
  587. # [06:55] <dino> JD: explains checkFont and notifyWhenFontReady
  588. # [06:55] <dino> [ they were obvious so I didn't minute ]
  589. # [06:56] <dino> TabAtkins: [ explains futures ]
  590. # [06:57] <dino> TabAtkins: most of the API is "do something and tell me when it completes"
  591. # [06:57] <dino> TabAtkins: All of John's API is reproduced in my proposal.
  592. # [06:58] <dino> TabAtkins: e.g. - tell we when everything is ready to draw
  593. # [06:58] <dino> TabAtkins: ... is ready().. returns a Future
  594. # [06:59] <dino> TabAtkins: you then register callbacks on the Future...
  595. # [07:00] <dino> glenn: Is this the first place in the Web ecosystems that is using Futures?
  596. # [07:00] <dino> TabAtkins: No. e.g. JSON Linked Data.
  597. # [07:00] <dino> Rossen: How are they different from Promises?
  598. # [07:00] <dino> TabAtkins: the name has changed, but the same.
  599. # [07:01] <dino> TabAtkins: The new TAG likes Futures and will be pushing it.
  600. # [07:01] <dino> Peter: The TAG has consensus that this is a good approach.
  601. # [07:01] * glazou the day Futures becomes a REC, we'll hear "Future is now the present ; Promises, promises..."
  602. # [07:01] * Joins: myakura (~myakura@public.cloak)
  603. # [07:02] <dino> glenn: I object because this seems like a one-off case and we shouldn't invent new things for this.
  604. # [07:02] <dino> glenn: if there is a concerted effort to change existing APIs towards this, then i accept it.
  605. # [07:02] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  606. # [07:02] <dino> peter: that is the plan.
  607. # [07:03] <SimonSapin> http://w3cmemes.tumblr.com/post/48887723979/does-your-api-use-futures-yet
  608. # [07:03] <dino> JD: Microsoft/Rossen and Apple/Dean, have you heard about Promises? Are you using them?
  609. # [07:03] <dino> Rossen: we shipped them already. they are the way you write apps in Win8.
  610. # [07:04] <dino> Dean: I have been paying no attention.
  611. # [07:05] <glenn> s/I object because this seems like a one-off case and we shouldn't invent new things for this./I object unless there is a concerted effort to convert to Futures across the board./
  612. # [07:05] <dino> Peter: there were two people from mozilla that support this.
  613. # [07:05] <dino> JD: just concerned about time lag if we have to depend on the feature
  614. # [07:05] <dino> Glenn: my concern too
  615. # [07:06] <dino> TabAtkins: there is an answer that avoids time lag. segment the API so that there is part of it that doesn't use Futures. Not as convenient.
  616. # [07:06] * Quits: rhauck1 (~Adium@public.cloak) (Client closed connection)
  617. # [07:07] <dino> Dean: It's new features like this that will drive the use of futures, so I support it.
  618. # [07:08] <dino> TabAtkins describes how JD's proposal merges into his. Basically callbacks become futures.
  619. # [07:09] * Joins: nvdbleek (~nvdbleek@public.cloak)
  620. # [07:09] <dbaron> onloading is any transition from 0 fonts loading to 1 font loading
  621. # [07:09] <dino> JD: in my proposal onloading is fired when a font starts loading. onloadingdone fires when all fonts are loaded.
  622. # [07:10] <dbaron> onloadingdone is any transition from 1 font loading to 0 fonts loading
  623. # [07:10] <dino> JD: onloadstart fires on each font
  624. # [07:10] <dino> JD: the difference is that if you want to know when fonts load you have to create a future for each of the fonts
  625. # [07:11] <dino> TabAtkins: you just want to be notified when fonts load
  626. # [07:12] <dino> dbaron: Tab, I think you've removed the low-level api that allows people to listen for each font load.
  627. # [07:12] <dino> TabAtkins: no...
  628. # [07:12] <dino> JD: e.g. i have an app with a lot of fonts. I want to know when any font loads. I don't want to have to set up a future for each load.
  629. # [07:13] <dino> TabAtkins: that's a small use case. I suggest waiting for the all loaded event.
  630. # [07:13] <dino> TabAtkins: it takes a little longer.
  631. # [07:14] <dino> dbaron: that makes the basic api more complex
  632. # [07:14] <dino> TabAtkins: no, the basic API is just knowing when all fonts are loaded
  633. # [07:14] <dino> Krit: ???
  634. # [07:14] <dino> Liam: Does the spec handle the case when the font failed.
  635. # [07:14] <dino> ?
  636. # [07:15] <liam> [answer: yes, I don't have to wait until all fonts have loaded before finding that one failed]
  637. # [07:15] <dino> dbaron: in tab's proposal, what happens if one loads and one fails?
  638. # [07:17] <dino> TabAtkins: loading done will fire when they are both finished. the event will have info on which ones worked and which ones didn't/
  639. # [07:17] <dino> krit: ???
  640. # [07:17] <dino> JD: it is weird to have a mix of futures and events
  641. # [07:17] * Quits: jdovey (~jdovey@public.cloak) (jdovey)
  642. # [07:17] <dino> TabAtkins: it's not too weird
  643. # [07:18] <dino> Peter: there is a promises-like thing for streaming situations
  644. # [07:18] <ivan> (A blog of Tab on futures, for those (like me) who do not really know what those are: http://www.xanthir.com/b4PY0)
  645. # [07:18] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  646. # [07:19] <dino> krit: ???
  647. # [07:19] <dino> krit: is this API necessary?
  648. # [07:19] <dino> everyone: YES!!
  649. # [07:19] <dino> JD: e.g. webkit does not include font loads in the "load" event
  650. # [07:20] <dino> TabAtkins: Google Docs slaps me every day about this
  651. # [07:21] <dino> JD: We have a direction.... i'm not completely comfortable, but that's just details.
  652. # [07:21] <dino> JD: issues - canvas web workers want fonts, but they have no DOM
  653. # [07:22] <dino> JD: e.g. pdf.js wants to do work on a different thread.
  654. # [07:23] <dino> JD: But Fonts are tied to a document
  655. # [07:23] <dino> JD: It seems that the group wants to go in the direction of Futures...
  656. # [07:23] <dino> glenn: Should we ask for a straw poll.
  657. # [07:24] <dino> Straw poll: 11 people want a futures-based API. 1 against (for the record, it was Glenn)
  658. # [07:25] * Quits: kawabata (~kawabata@public.cloak) (Ping timeout: 180 seconds)
  659. # [07:25] <dino> JD: Next topic - Glenn wanted the ability to turn off all font settings. e.g. font-feature-settings: none.
  660. # [07:26] <dino> JD: With Open Type, there are a set of features that are required (arabic ligatures), and there are some that are not required but are on by default.
  661. # [07:26] <dino> JD: I don't see the need.
  662. # [07:27] <dino> GA: It's a shorthand, so it isn't functionality. In the case where you don't know what features are present in the font, you can't necessarily enumerate all the ones you want turned off.
  663. # [07:27] <dino> GA: Very useful for testing.
  664. # [07:27] <dino> GA: You can already turn all these off. it's just a shorthand.
  665. # [07:28] <dino> GA: If there was a way to enumerate the properties of a font... you could do that.
  666. # [07:28] <dino> Elika: this is not a shorthand in the typical sense.
  667. # [07:28] <dino> Dean: "shortcut" not "shorthand"
  668. # [07:28] * fantasai agrees with Vladimir's response
  669. # [07:29] <dino> Alan: Glen is saying if there was a way to enumerate all the available features, he might be able to avoid this.
  670. # [07:29] <dino> fantasai: just list them all
  671. # [07:29] <dino> GA: there are some custom/private ones
  672. # [07:30] <dino> glazou: how can I know that ligatures are enabled?
  673. # [07:30] <dino> GA: you can't
  674. # [07:30] <dino> JD: you'd turn it off and on and see if there was a difference
  675. # [07:30] <dino> JD: there is no computed value to check
  676. # [07:30] <dino> dbaron: this is a low level control property
  677. # [07:31] * Joins: jdovey (~jdovey@public.cloak)
  678. # [07:31] <dino> JD: I have had this situation as a developer. I don't know what is enabled. I have to iterate through and see what's there.
  679. # [07:31] <dino> GA: My example is that I get a font from a customer with strange results. I don't have any way to know why.
  680. # [07:31] <dino> JD: this is a pretty edge use case
  681. # [07:32] <dino> JD: but it is a weapon of mass destruction too
  682. # [07:32] <dino> GA: Not really. This is not new - you can already do it.
  683. # [07:32] <dino> Liam: is there a way to revert the font to its default behaviour
  684. # [07:32] <dino> GA: But normal means different things for different fonts
  685. # [07:32] <dino> JD: No.
  686. # [07:33] <dino> GA: No. It does not mean turn on features.
  687. # [07:33] <dino> JD: Propose to reject this feature request.
  688. # [07:33] <dino> GA: I will implement it anyway
  689. # [07:33] <liam> [yes you can revert to default feature set]
  690. # [07:33] <dino> Peter: yes, as long as it is prefixed
  691. # [07:33] <dbaron> alan: I'd object to having this value; too much of a footgun.
  692. # [07:33] <dino> Alan: I reject to having this as an available feature.
  693. # [07:33] <dbaron> fantasai: me too
  694. # [07:34] <dino> RESOLUTION: We will not add Glenn's proposal of font-feature-settings: none
  695. # [07:35] <dino> RESOLUTION: We will use Promises in the font loading API [From above - I didn't minute it at the time]
  696. # [07:36] <dino> JD: [shows example of why text decoration on the baseline can cause problems in the synthetic case for superscripts and subscripts ]
  697. # [07:37] * Joins: rhauck (~Adium@public.cloak)
  698. # [07:39] <dino> JD: Suggestion: sup and sub metric don't work for text decoration placement. The way to handle this is similar to when all the variants are not in the font, if there are not variant sup or sub glyphs then synthesize. If there are any text decorations we should use the synth glyphs and adjust the decoration
  699. # [07:40] <dino> fantasai: i can live with that
  700. # [07:40] <dino> dbaron: i think that is reason
  701. # [07:40] <dino> s/reason/reasonable/.
  702. # [07:40] <dino> dbaron: you're saying do the glyphs, then do what text-decoration says
  703. # [07:40] <dbaron> dbaron: so just doing synthesis and then text decoration stuff will be whatever the text decoration spec says?
  704. # [07:40] <dino> JD: shows an example from The Guardian with some superscript
  705. # [07:40] <dino> [which looks like shit]
  706. # [07:40] * Joins: lmclister (~lmclister@public.cloak)
  707. # [07:41] <dino> [the lines are not equally spaced]
  708. # [07:42] <dino> [looks much better in chrome with the variants available]
  709. # [07:43] <Bert> (That's why many authors nowadays set 'sup {line-height: 0}')
  710. # [07:43] <r12a> people.mozilla.org/~jdaggett/tests/multicolumnsuperscript.html
  711. # [07:43] <r12a> http://people.mozilla.org/~jdaggett/tests/multicolumnsuperscript.html
  712. # [07:43] <dino> Leif: on wikipedia has superscripts that are underlined on hover.
  713. # [07:43] <dino> JD: they get the fallback
  714. # [07:44] <dino> Leif: is there a way to force synthesis
  715. # [07:44] <dino> dbaron: it's only for sites that are using this new feature to do supsub
  716. # [07:44] <dino> JD: However, if they are matched to the font, the text decorations are really hard to see. These variants are small.
  717. # [07:47] <dino> RESOLUTION: If an element with text-decoration set and font-variant non-normal then we synthesize subs/sups, and then text-decoration follows
  718. # [07:47] * Joins: zcorpan (~zcorpan@public.cloak)
  719. # [07:47] <dbaron> <br data-duration="900s">
  720. # [07:47] <myakura> rrsagent, make minutes
  721. # [07:47] <RRSAgent> I have made the request to generate http://www.w3.org/2013/06/07-css-minutes.html myakura
  722. # [07:47] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  723. # [07:47] * Joins: zcorpan (~zcorpan@public.cloak)
  724. # [07:49] <SimonSapin> s/^RESOLUTION:/RESOLVED/g
  725. # [07:51] <SimonSapin> s/^RESOLVED /RESOLVED: /g
  726. # [07:53] * Quits: leif (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  727. # [07:54] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  728. # [07:56] * Joins: kawabata (~kawabata@public.cloak)
  729. # [07:56] * Quits: Rossen (~Rossen@public.cloak) (Ping timeout: 180 seconds)
  730. # [07:58] <plinss> rrsagent, pointer?
  731. # [07:58] <RRSAgent> See http://www.w3.org/2013/06/07-css-irc#T05-58-09
  732. # [08:02] * Quits: jdovey (~jdovey@public.cloak) (jdovey)
  733. # [08:04] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  734. # [08:09] * Joins: leif (~lastorset@public.cloak)
  735. # [08:09] * Quits: rhauck (~Adium@public.cloak) ("Leaving.")
  736. # [08:10] * Parts: myakura (~myakura@public.cloak)
  737. # [08:10] * Joins: myakura (~myakura@public.cloak)
  738. # [08:11] <leif> ScribeNick: leif
  739. # [08:11] <leif> Topic: font-language override
  740. # [08:11] * Joins: Rossen (~Rossen@public.cloak)
  741. # [08:11] * Joins: rhauck (~Adium@public.cloak)
  742. # [08:12] * Joins: lmclister (~lmclister@public.cloak)
  743. # [08:12] <leif> jdaggett: OpenType has the ability to have language-specific features
  744. # [08:13] <fantasai> Issue: http://lists.w3.org/Archives/Public/www-style/2013May/0578.html
  745. # [08:13] * trackbot is creating a new ISSUE.
  746. # [08:13] <trackbot> Created ISSUE-339 - Http://lists.w3.org/Archives/Public/www-style/2013May/0578.html; please complete additional details at <http://www.w3.org/Style/CSS/Tracker/issues/339/edit>.
  747. # [08:13] <fantasai> comment: http://lists.w3.org/Archives/Public/www-style/2013May/0736.html
  748. # [08:13] <leif> jdaggett: If a specific language has glyph variants that are more common (e. g. cyrillic), then based on the content language of the element, glyphs are automatically switched.
  749. # [08:13] <leif> jdaggett: there are cases where the semantic language may not be support by the ont
  750. # [08:14] <leif> jdaggett: e.g. Serbian and Macedonian uses the same traditions, so you want to say content language is Mac, but want to use a font that only supports Serbian
  751. # [08:14] <leif> jdaggett: an uncommon use case
  752. # [08:14] <leif> jdaggett: Some people unfortunately always want to set the low-level feature.
  753. # [08:14] <leif> jdaggett: They view the property as a way to set the low-level property.
  754. # [08:15] <leif> jdaggett: fantasai wants a fallback list instead of a single language
  755. # [08:15] <leif> jdaggett: But when you're specifying it, you know the font, so no need to specify
  756. # [08:15] <leif> fantasai: But if your font has Macedonian, you should be able to express that that is your first preference.
  757. # [08:16] <leif> jdaggett: You're asking for a different feature.
  758. # [08:16] <leif> jdaggett: You want fallback.
  759. # [08:16] <leif> fantasai: You may or may not get the font that you specify.
  760. # [08:16] <leif> jdaggett: The point is that when you know the font, youll specify it.
  761. # [08:17] <leif> stearns: fantasai's use case is recognized, but sometimes you want an override instead of a fallback.
  762. # [08:17] <leif> r12a: I'm not sure fantasai is asking for a fallback, because a fallback should go back to the language asked for.
  763. # [08:17] <leif> jdaggett: This mechanism really is an override.
  764. # [08:17] <leif> fantasai: UC in spec is if your font is missing glyphs
  765. # [08:18] <leif> fantasai: Depending on which font you end up using, you still want to use the glyphs
  766. # [08:18] <leif> fantasai: Another case is if you're using Mac. and have a few quotes of Serbian, and want that to work
  767. # [08:18] <leif> jdaggett: As long as the font supports it, you can have multiple languages, each uses the right lgyphs from the same font.
  768. # [08:19] * Joins: zcorpan (~zcorpan@public.cloak)
  769. # [08:19] * Joins: rhauck1 (~Adium@public.cloak)
  770. # [08:19] <leif> jdaggett: This doesn't feel like a general-purpose feature. I'm worried about getting implementations.
  771. # [08:19] <leif> jdaggett: Might be at risk.
  772. # [08:19] <leif> jdaggett: To extend it, means a lot of work defining the fallback.
  773. # [08:20] <leif> fantasai: I see two UCs: Using a language close to your desired font.
  774. # [08:20] <leif> fantasai: 2nd case: You want your text to have a consistent typographic style.
  775. # [08:20] * Joins: jdovey (~jdovey@public.cloak)
  776. # [08:20] <leif> fantasai: If you have a quote from another language, you don't want to suddenly change shapes.
  777. # [08:21] <leif> fantasai: Use style of surrounding paragraph. In that case, would make sense to have language override to use paragraph's language for that quote.
  778. # [08:21] <leif> glenn: We need to knowwhat features and languages a font supports.
  779. # [08:21] <leif> glenn: Having a fallback seems unnecessary, knowing what the font has.
  780. # [08:22] <leif> fantasai: If font downloading is turned off, and you're using a system font, e.g. on a ebook reader, I don't want the font-language-override to tell me what overrides to use.
  781. # [08:22] <leif> jdaggett: The fonts on your system are not going to be that sophisticated.
  782. # [08:22] <leif> fantasai: How do you know?
  783. # [08:22] <leif> jdaggett: I see your points, but I don't think there's a lot to be gained.
  784. # [08:23] <leif> stearns: The existence of an override would not preclude a future fallback mechanism.
  785. # [08:23] <leif> fantasai: The use case we're aiming for, you're telling the font to use the wrong thing.
  786. # [08:23] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  787. # [08:23] * Joins: zcorpan (~zcorpan@public.cloak)
  788. # [08:23] <leif> stearns: In all the mailing list feedback, they're talking about an override where they know the font.
  789. # [08:23] <leif> fantasai: But that's not always the case while loading the page
  790. # [08:23] * Quits: rhauck (~Adium@public.cloak) (Ping timeout: 180 seconds)
  791. # [08:24] <leif> jdaggett: A system font won't have all these features.
  792. # [08:24] <leif> jdaggett: Straw poll…?
  793. # [08:24] <leif> glazou: fantasai, can you live with no change?
  794. # [08:25] <leif> fantasai: I don't understand the objection to fallback
  795. # [08:25] <leif> jdaggett: You're asking for more work, and I want to get the spec don.e
  796. # [08:25] <leif> jdaggett: The feature is at risk anyways.
  797. # [08:26] <leif> jdaggett: Prefer something simple that's actually implemented, then we'll go from there.
  798. # [08:26] <leif> glazou: We've said for other things that "this is interesting, but we'll move forward"
  799. # [08:26] <leif> fantasai: I can live with it. I just don't agree with the attitude "I know what fonts I have".
  800. # [08:27] <leif> jdaggett: It can go on the css4-fonts wiki page.
  801. # [08:27] <leif> glazou: or log an issue
  802. # [08:27] <leif> glenn: Do you define that this string must be a case-sensitive match to opentype language?
  803. # [08:27] <dbaron> fantasai, In theory, I'd agree, except the odds of a user happening to have a font with language-specific features already is probably pretty low
  804. # [08:28] <leif> glenn: Should be case-sensitive
  805. # [08:28] <leif> jdaggett: Have to look at that.
  806. # [08:28] <leif> jdaggett: Lots of case-sensitivity stuff sprinkled around.
  807. # [08:28] <leif> fantasai: Spec doesn't specify case-sensitivity, and I raised that as an issue.
  808. # [08:29] <leif> jdaggett: Can discuss Text on the mailing list.
  809. # [08:29] <leif> r12: spec says it's case sensitive
  810. # [08:29] <leif> Topic: Backporting level 3 changes to 2.1
  811. # [08:30] <leif> fantasai: My principle is that a change to L3 spec that would make a 2.1-compliant UA incompliant, that change needs to be backported.
  812. # [08:30] <leif> fantasai: A L3 client should also be L2 client.
  813. # [08:31] <leif> dbaron: Slight modification: if the change would make _all_ clients non-compliant.
  814. # [08:31] <fantasai> s/clients/2.1 clients
  815. # [08:31] <leif> TabAtkins: If there is an error in 2.1 fixed in 3, then should backport.
  816. # [08:31] <leif> fantasai: Level 3 can tighten definitions, that should be backported.
  817. # [08:32] <fantasai> s/that/changes/
  818. # [08:32] <leif> dbaron: If it would break content, we shouldn't be making the change.
  819. # [08:32] <leif> SimonSapin: When do we stop fixing CSS 2.1?
  820. # [08:33] <leif> fantasai: When the spec has been completely superseded.
  821. # [08:33] <leif> peter: when a module has replaced parts of it?
  822. # [08:33] <leif> TabAtkins: No, when it's completely replaced.
  823. # [08:34] <leif> fantasai: A L3 spec will replace parts of CSS 2.1
  824. # [08:34] <leif> SimonSapin: Can we deprecate parts of 2.1?
  825. # [08:35] <leif> fantasai: We tend to find issues in sections that haven't been rewritten, so I don't worry about it. If they've been rewritten, then we've found the inconsistencies.
  826. # [08:35] <leif> peter: Does everyone agree to that proposal?
  827. # [08:36] <leif> TabAtkins: Might not be worth it always, like every syntax change, but as a general principle, yes
  828. # [08:36] <leif> fantasai: Syntax may actually be the most important.
  829. # [08:36] <leif> TabAtkins: They're just really hard to get right.
  830. # [08:36] <leif> SimonSapin: We should be able to deprecate one chapter.
  831. # [08:36] <leif> glazou: What will be the result? 2.1 rev 2, or 2.2?
  832. # [08:37] <leif> dbaron: 2.2 eventually, but not as much effort as 2.1.
  833. # [08:37] <leif> glazou: People should be able to refer to 2.1
  834. # [08:37] <leif> liam: small changes -> 2nd edition.
  835. # [08:37] <leif> dbaron, liam: could be confusing.
  836. # [08:37] <leif> Bert: Pick some time in the future, then bundle and publish errata
  837. # [08:38] * plh Module 2 Level 1 Revision 2
  838. # [08:38] * Quits: Koji (~Koji@public.cloak) (Ping timeout: 180 seconds)
  839. # [08:39] <leif> SimonSapin: What's the conclusion?
  840. # [08:39] <leif> fantasai, glazou: As outlined above.
  841. # [08:39] <leif> Bert: We should pick a date
  842. # [08:39] <leif> fantasai: We already picked this F2F
  843. # [08:39] <leif> Bert: Assign someone to follow-up?
  844. # [08:40] <leif> Bert: I have some other publications to do after the summer. Can follow it up October or after.
  845. # [08:40] <leif> glazou: Let's decide later.
  846. # [08:41] <leif> Topic: Text Decoration
  847. # [08:41] * Joins: Ms2ger (~Ms2ger@public.cloak)
  848. # [08:41] <fantasai> http://dev.w3.org/csswg/css-text-decor-3/issues-lc-2013
  849. # [08:42] <leif> fantasai: Main issue: Position of underlines if you have an entire paragraph underlined
  850. # [08:42] <leif> fantasai: Where should the underline be placed?
  851. # [08:42] * Joins: koji (~koji@public.cloak)
  852. # [08:42] <leif> fantasai draws on whiteboard: big and small text within an element
  853. # [08:43] <leif> fantasai: Do we use the ancestor's underline? 2.1 leaves this undefined.
  854. # [08:43] <leif> fantasai: Rossen posted a TC where if each line has different sizes, they get different sizes
  855. # [08:43] <leif> dbaron: That's contrary to the 2.1 model.
  856. # [08:44] <leif> fantasai: We want to have one line.
  857. # [08:44] <fantasai> http://jsfiddle.net/4sC2T/1/
  858. # [08:45] <leif> fantasai: for web compat, we probably need to stick with that behavior.
  859. # [08:45] <leif> dbaron: In Gecko, the underline is constant thickness.
  860. # [08:45] <leif> dbaron: and position
  861. # [08:45] <leif> dbaron: There were a bunch of tradeoffs in implemnting 2.1
  862. # [08:45] <leif> dbaron: We got rid of quirks mode in text decoration
  863. # [08:45] <leif> dbaron: There was a quirk that wasn't compatible enough with 2.1
  864. # [08:46] <leif> dbaron: We came up with a new, unitary model for decorations.
  865. # [08:46] <leif> dbaron: One of the importnat requirements: Not do ransom-note style underlining
  866. # [08:46] <leif> dbaron: if it crossed multiple pieces of text, you got a single undeline.
  867. # [08:46] <leif> dbaron: The underline comes from the element with the text-decoration property.
  868. # [08:47] <leif> dbaron: The spec implid that the position and thickness come from that element.
  869. # [08:47] <leif> dbaron: The 2.1 spec has one part where we disagreed about the grammar.
  870. # [08:47] <leif> jdaggett: What about vertical-aligin variatons?
  871. # [08:48] * Quits: jdovey (~jdovey@public.cloak) (jdovey)
  872. # [08:48] <leif> dbaron: In 2.1 the underline is generated by the element with the text-decoration property. The various properties of the underline come from that.
  873. # [08:48] <leif> dbaron: So superscript and subscript come from that.
  874. # [08:48] <leif> dbaron: But there was a quirk.
  875. # [08:48] * plh notes that IE and Opera behaves one way, and Firefox and Chrome behaves an other
  876. # [08:48] <leif> dbaron: so be careful.
  877. # [08:48] <leif> dbaron: fantasai's proposing that we switch to a model where we don't just use info from that model, but also its descendents.
  878. # [08:49] <leif> dbaron: The union of them and all their fonts.
  879. # [08:49] <leif> dbaron: Problematic because it's hard to implement and is slow
  880. # [08:49] <leif> dbaron: and it breaks a number of invariants authors don't realize they depend on.
  881. # [08:49] <leif> dbaron: Authors would be surprised if they have six things underlined, and one of the them is subscripted, and behavior changes.
  882. # [08:50] <leif> fantasai: They'd also be surprised when underline goes through subscript.
  883. # [08:50] <leif> dbaron: Yes, one author problem is fixed, another is caused.
  884. # [08:50] <leif> Bert: One solution that we discussed about crossing the subscript is to interrupt the udnerline.
  885. # [08:50] <leif> dbaron: The text-decoration model has a property to allow that.
  886. # [08:50] <fantasai> Previous discussion on exactly this topic: http://lists.w3.org/Archives/Public/www-style/2012Nov/0129.html
  887. # [08:50] <leif> r12a: isn't another solution to put a text-decor property on the subscript
  888. # [08:51] <leif> dbaron: That needs canceling out
  889. # [08:51] <leif> fantasai: Deferred to level 4
  890. # [08:51] <leif> dbaron: Some people say text-decor feels like an inherited property,but it's not, to allow even baseline and thickness for entire element.
  891. # [08:51] <leif> dbaron: I feel like this change would add a lot of complexity to fix one problem and cause another.
  892. # [08:51] * liam is surprised by http://jsfiddle.net/Xfb9v/2/ with a double underline in firefox 17 but not in chromium
  893. # [08:51] <leif> fantasai: We discussed this last year.
  894. # [08:52] <leif> fantasai: Aryeh sent feedback that big text in strikthrough, the big text isn't striked through
  895. # [08:52] <leif> fantasai: That resulted in the current text.
  896. # [08:52] <leif> dbaron: I didn't understand it sufficiently at the time.
  897. # [08:52] <leif> dbaron: I would not have agreed to averaging over descendants.
  898. # [08:53] <leif> fantasai: So how can we solve both problems at once?
  899. # [08:53] <leif> dbaron: We don't have a reasonable solutoin yet. We should stick with the existing model.
  900. # [08:53] <leif> fantasai: Then I have to tell Aryeh that we're reverting the fix for his problem.
  901. # [08:54] <leif> dbaron: We can't fix everything.
  902. # [08:54] <leif> dbaron: And I really don't want to rewrite our text-decoration code every two eyars.
  903. # [08:55] <leif> RESOLVED: Revert the change to text-decoration behavior and go back to Last Call.
  904. # [08:55] <leif> fantasai: Actually, this was a clarification, and we don't want to go back, we want something completely different.
  905. # [08:56] <leif> glazou: Other text-decoration issues/
  906. # [08:56] <leif> ?
  907. # [08:56] <leif> Bert: We're already in LC, we will have another one.
  908. # [08:56] <leif> liam: If I take the obscure big-text example, and I add an underline in the middle of the big text, it gets its own, thicker underline?
  909. # [08:57] <leif> fantasai: If you put a span in there, it gets a suitable underline.
  910. # [08:57] <leif> liam: Lots of test cases needed here!
  911. # [08:57] <leif> dbaron: If you specify three underlines on three elements, you should get three, even if they might cover eachother up
  912. # [08:57] <liam> [ http://jsfiddle.net/Xfb9v/3/ - example ]
  913. # [08:58] <leif> s/and go back to Last Call//
  914. # [08:58] <jdaggett> rrsagent, make minutes pretty please
  915. # [08:58] <RRSAgent> I'm logging. I don't understand 'make minutes pretty', jdaggett. Try /msg RRSAgent help
  916. # [08:58] <jdaggett> rrsagent, make minutes
  917. # [08:58] <RRSAgent> I have made the request to generate http://www.w3.org/2013/06/07-css-minutes.html jdaggett
  918. # [08:59] <leif> Topic: pseudo-stacking contexts
  919. # [09:00] <leif> dbaron: At some point we discussed whether flex items should be psc, and we decided that they should
  920. # [09:00] <leif> dbaron: but table cells should be too.
  921. # [09:00] <leif> dbaron: But then: table backgrounds and borders are complicated
  922. # [09:00] <leif> dbaron: should they be included in the psc?
  923. # [09:01] <leif> dbaron: Four issues with table backgrounds and borders:
  924. # [09:01] <leif> dbaron: backbrounds versus borders
  925. # [09:01] <leif> dbaron: separated vs. collapsed
  926. # [09:02] <leif> dbaron: Okay with different answers for those
  927. # [09:02] <leif> dbaron: But don't want different answers for backgrounds for separated vs. colapses
  928. # [09:03] <leif> dbaron: If we look at appendix E of 2.1
  929. # [09:03] <leif> dbaron: Table background painting is already described as part of the z-order in 2.1
  930. # [09:04] <leif> dbaron quotes the spec
  931. # [09:04] <leif> dbaron: Table through cell are painted in the backgrounds layer
  932. # [09:04] <leif> dbaron: That says that if table cells establish a PSC, that even cellbackgrounds are not inside it
  933. # [09:05] <leif> dbaron: Because painting them is associated with the table
  934. # [09:05] <leif> … At this point I've already explicitly disagreed with fantasai and TabAtkins
  935. # [09:05] <leif> … But I'm against changing any of this.
  936. # [09:05] <leif> … table borders are also painted in this layer.
  937. # [09:06] <leif> … This is a bit ambiguous
  938. # [09:06] * Joins: jdovey (~jdovey@public.cloak)
  939. # [09:06] <leif> … If we don't change it , then all we need to do is decide that tables form SC
  940. # [09:06] <leif> … and cells are not part of that SC
  941. # [09:07] * Quits: koji (~koji@public.cloak) (Ping timeout: 180 seconds)
  942. # [09:07] <leif> fantasai: If we transform a table cell with backgrounds and borders, what do I get?
  943. # [09:07] <leif> dbaron: the interesting part: do borders and backgrounds even move?
  944. # [09:07] <leif> … in the collapsed model, shouldn't move.
  945. # [09:08] <leif> fantasai: In some impls, if you set a transform, the backbround paints on top of the border.
  946. # [09:08] <leif> dbaron: A bug.
  947. # [09:08] <leif> dbaron: and poorly tested
  948. # [09:08] <leif> fantasai: Probably all the implementations.
  949. # [09:08] <leif> dbaron: I'm ok with cells being PSCs
  950. # [09:08] <leif> dbaron: if it means that the PSC doesn't include the border and background
  951. # [09:08] <leif> … Need a lot more work to define paint order inside cells.
  952. # [09:09] <leif> … Are people ok with what cells being PSCs means?
  953. # [09:09] <leif> … if so, just resolve.
  954. # [09:09] <leif> TabAtkins agrees.
  955. # [09:11] <dbaron> RESOLVED: table cells do create pseudo stacking-contexts (as resolved before) but borders and backgrounds (of the cell or its ancestors) are not in that pseudo stacking-context
  956. # [09:11] <leif> jdaggett: When we publish a new spec, since the TR URL changes, do we need permission from plh?
  957. # [09:11] <leif> plh: yes
  958. # [09:12] <leif> jdaggett: can we get css3-fonts changed to css-fonts-3?
  959. # [09:12] <leif> fantasai: Was going to do it all at once but can do it piecemeal
  960. # [09:12] <leif> plh: I agree with the change
  961. # [09:12] <leif> plh: All specs should be consistent
  962. # [09:13] <leif> Bert: But will be hard to find old mailing-list messages
  963. # [09:13] <leif> plinss: It's already been resolved.
  964. # [09:13] <leif> Topic: Text decoration, one more issue
  965. # [09:14] <leif> fantasai: text-underline-position: alphabetic
  966. # [09:14] <leif> … says use font metrics
  967. # [09:14] <leif> … is that reasonable?
  968. # [09:14] <leif> jdaggett: Sounds like existing behavior.
  969. # [09:14] <leif> dbaron: Part of the question is what the underlining metrics in CJK fonts look like
  970. # [09:14] <leif> dbaron: Ideographic baseline?
  971. # [09:14] * Joins: koji (~koji@public.cloak)
  972. # [09:14] <leif> jdaggett: have to look it up
  973. # [09:14] <leif> dbaron: What is existing behavior?
  974. # [09:15] <koji> http://lists.w3.org/Archives/Public/www-style/2013May/0159.html
  975. # [09:15] <leif> fantasai: auto behavior says to do whatever you want, but don't cross through glyphs that shouldn't be
  976. # [09:15] <leif> jdaggett: We have a blacklist of fonts in Gecko, where we modify the underline if it's in the blacklist.
  977. # [09:15] <leif> … That is more that the underline metrics are not in line with the font
  978. # [09:16] <leif> fantasai: It's suggested that this property should do the right thing for the text, in cases like cjk.
  979. # [09:16] <leif> jdaggett: My concern: different fonts on the line, would the underline vary?
  980. # [09:16] <leif> fantasai: No, would pick one position for the underline.
  981. # [09:16] <leif> … Currently pick the lowest alphabetic position, but dbaron said we shouldn't do that. That gives interesting results if not baseline-aligned.
  982. # [09:17] <leif> dbaron: The spec has two values, with auto the initial value.
  983. # [09:17] <leif> … not clear to me how auto matches current behavior or how implementable alphabetic is.
  984. # [09:17] <leif> … also how useful alphabetic was
  985. # [09:17] <leif> jdaggett: I got an e-mail about this…
  986. # [09:18] <leif> … Not clear to me what you mean by 'alphabetic'. Are you trying to override the font metrics.
  987. # [09:18] <leif> ?
  988. # [09:18] <leif> … Are you basing it on the baseline?
  989. # [09:18] <leif> fantasai: Expectation that font specifies the position of the baseline
  990. # [09:18] <leif> … You might want to underline the bottom , accounting underline…
  991. # [09:18] <leif> jdaggett: You use the metrics to infer where the unerline would be relative to the baseline?
  992. # [09:19] <leif> fantasai: yes
  993. # [09:19] <leif> jdaggett: What happens to implementations?
  994. # [09:19] <leif> dbaron: Depends on how well 'auto' match implementations and how hard to implement alphabetic.
  995. # [09:19] <leif> ACTION jdaggett to investigate those two questions
  996. # [09:19] * trackbot is creating a new ACTION.
  997. # [09:19] <trackbot> Created ACTION-564 - Investigate those two questions [on John Daggett - due 2013-06-14].
  998. # [09:20] <leif> Topic: Reversing interrupted transitions
  999. # [09:20] <leif> dbaron: Haven't quite finished my test case
  1000. # [09:20] <leif> … one algorithm and one proposal implemented, still need to impl the other one.
  1001. # [09:20] <leif> … in javascript
  1002. # [09:21] <leif> … Don't leave the page open in a tab after using it!
  1003. # [09:21] <leif> plinss: Let's get back to that.
  1004. # [09:21] <leif> Topic: white space in media queries
  1005. # [09:22] <leif> SimonSapin: We had an issue in both MQ and @supports
  1006. # [09:22] <leif> SimonSapin describes the issue
  1007. # [09:22] <leif> SimonSapin: The grammar had optional white space, meaning that if you used a comment to separate the tokens, it would be correct
  1008. # [09:22] <leif> … reader may not know this detail
  1009. # [09:23] <leif> … We changed the grammar to allow whitespace, like calc()
  1010. # [09:23] <leif> … Issue is resoled in @supports, but still exists in MQ. We should make the same change, but we have to wonder about compat.
  1011. # [09:23] <leif> dbaron: I don't worry about compat.
  1012. # [09:23] <leif> TabAtkins explains on whiteboard
  1013. # [09:24] <leif> TabAtkins: @media screen and/**/(color) — is that correct?
  1014. # [09:24] <leif> SimonSapin: With the current spec, and(color) looks correct, and it is not
  1015. # [09:25] <leif> TabAtkins: This problem applies to every ident in a parenthesis that can be next to eachother without being a function
  1016. # [09:25] <leif> dbaron: This is the problem with the function token
  1017. # [09:25] <leif> SimonSapin: Can use the function token in the grammar, but that is more complicated. Don't want to do that
  1018. # [09:25] <leif> TabAtkins: Agreed.
  1019. # [09:26] <leif> glazou: Shall we adopt SimonSapin's proposal?
  1020. # [09:26] <SimonSapin> SimonSapin: decided not to do function tokens in @supports
  1021. # [09:26] <leif> … require shite-space in MQs
  1022. # [09:26] <leif> s/shite/white
  1023. # [09:26] <leif> TabAtkins: This will come up every time we have parentheses
  1024. # [09:26] <leif> plinss: As long as you have some token between, should be valid.
  1025. # [09:26] <leif> … But want it to be consistent.
  1026. # [09:27] * Quits: jdovey (~jdovey@public.cloak) ("Colloquy for iPhone - http://colloquy.mobi")
  1027. # [09:27] <leif> glazou: People expect it to work, because it's * in the grammar.
  1028. # [09:27] <leif> Bert: Can just add a comment in the grammar.
  1029. # [09:27] <leif> plinss: But have to do it everywhere. But I don't feel strongly about and(color). Just want it consistent.
  1030. # [09:28] <leif> glazou: Why is white-space required in @supports?
  1031. # [09:28] <leif> TabAtkins: To avoid that removing a comment changes the meaning.
  1032. # [09:28] <leif> SimonSapin: @supports now requires white-space on both sides.
  1033. # [09:28] <leif> plinss: Need to adopt this anywhere we have parens.
  1034. # [09:29] <leif> glazou: Not everywhere, just when it's not a function.
  1035. # [09:29] <leif> plinss: Don't want white-space in nested parens.
  1036. # [09:29] <leif> TabAtkins: Any time an IDENT is next to a parenthesis, we require white-space.
  1037. # [09:29] <leif> plinss: on the outside of either parenthesis.
  1038. # [09:30] <leif> RESOLVED: MQ requires white-space on both sides of a parenthesis
  1039. # [09:30] <leif> Bert: Don't require it in the font shorthand
  1040. # [09:30] * Zakim leif, you typed too many words without commas; I suspect you forgot to start with 'to ...'
  1041. # [09:30] <leif> … basically the same case.
  1042. # [09:30] <leif> … If you have the font shorthand. "font: Times/**/10pt" is fine, but omit comment is not.
  1043. # [09:31] <leif> plinss: Times10pt becomes one item
  1044. # [09:31] <leif> SimonSapin: If you aren't familiar with the tokenizer, it's much more understandable than with parentheses.
  1045. # [09:31] <leif> Bert: But we're talking about consistency
  1046. # [09:31] <leif> plinss: Really only an issue with parentheses.
  1047. # [09:31] * Joins: Koji_ (~Koji@public.cloak)
  1048. # [09:32] <leif> Bert: An issue with all tokens with more than one character. Also with the ~= or the ||.
  1049. # [09:32] <leif> plinss: That's an interesting change, going back to syntax.
  1050. # [09:32] <leif> … if the attribute matcher becomes one token if they had a comment between before
  1051. # [09:32] <leif> … that's a functional change.
  1052. # [09:32] <leif> TabAtkins: A precedent of ignoring comments in weird places.
  1053. # [09:33] <leif> plinss: They kind of deserve it.
  1054. # [09:33] <leif> Bert: I guess I'm not sure which is better, but doesn't seem like a big problem at the moment. Can't see the big story yet.
  1055. # [09:33] <leif> TabAtkins: Where would we define this?
  1056. # [09:33] <leif> … Values and Units?
  1057. # [09:33] <leif> … because it changes the prop grammar.
  1058. # [09:33] <leif> plinss: Syntax?
  1059. # [09:33] <leif> … it's a fundamental thing.
  1060. # [09:34] <leif> TabAtkins: Don't want a resolution that requires us to re-ask about it.
  1061. # [09:35] <leif> RESOLVED: white-space between any IDENT an the outside of a parenthesis.
  1062. # [09:35] <leif> SimonSapin: The proposal was to require white-space on both sides.
  1063. # [09:35] <leif> plinss: Yes, do that everywhere
  1064. # [09:35] <leif> TabAtkins: That's what we require in @supports.
  1065. # [09:35] <SimonSapin> plinss: yes, both )<ident> and <ident>(
  1066. # [09:36] <leif> Bert: Just came to mind: can make 'and' a keyword, so it can be followed by paren.
  1067. # [09:36] * Quits: Rossen (~Rossen@public.cloak) (Ping timeout: 180 seconds)
  1068. # [09:36] <leif> TabAtkins: The issue is not related to 'and' specifically.
  1069. # [09:36] <leif> … Anytime you have keywords next to parens.
  1070. # [09:36] * Quits: kawabata (~kawabata@public.cloak) ("Page closed")
  1071. # [09:36] <leif> … Anytime a paren is valid by itself and an ident is valid next to it.
  1072. # [09:37] <leif> TabAtkins: One example is in grid syntax, if we switch to named line syntax
  1073. # [09:37] <leif> … (x y)auto needs white space.
  1074. # [09:37] <leif> … so no tightly-bounded set of keywords.
  1075. # [09:38] <leif> TabAtkins: All parentheses, or just naked parentheses? what about an ident following a function?
  1076. # [09:38] <leif> … function, the concept, not the token.
  1077. # [09:38] <leif> plinss: could it be a compat risk?
  1078. # [09:38] <leif> … ident after function.
  1079. # [09:38] * Quits: Koji_ (~Koji@public.cloak) (Ping timeout: 180 seconds)
  1080. # [09:39] <leif> fantasai: Yeah, gradient followed by length in background shorthand. A likely typo.
  1081. # [09:39] <leif> plinss: So we can't require it everywhere.
  1082. # [09:39] <leif> TabAtkins: So only naked parenthesis groups
  1083. # [09:39] <leif> plinss: We don't have naked parentheses anywhere else, so not a problem
  1084. # [09:39] <leif> dbaron: We have it inside calc()
  1085. # [09:39] <leif> TabAtkins: But you never have an ident.
  1086. # [09:39] <leif> … Need a delim, no implied multiplication.
  1087. # [09:40] <leif> fantasai: One reason why we feel it's awkard and want symmetry in MQ and @supports is that they are conjunctions.
  1088. # [09:40] <leif> … I'm happy if we just require it for conjunctions.
  1089. # [09:40] <leif> TabAtkins: If we did that, and didn't care about end parens, we could just make the parser recognize and( as a function token.
  1090. # [09:41] <leif> … dropping the comment.
  1091. # [09:41] <leif> … and be invalid.
  1092. # [09:41] <leif> plinss: I guess that's fine
  1093. # [09:41] <leif> TabAtkins: Can handle it either way
  1094. # [09:41] <leif> plinss: No, I don't think that's fine.
  1095. # [09:41] <leif> … url/**/( is not a URL token
  1096. # [09:41] <leif> … That would turn it into a function.
  1097. # [09:41] <leif> … making it valid.
  1098. # [09:42] <leif> TabAtkins: Handle it as grammar then.
  1099. # [09:42] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  1100. # [09:42] <leif> … idents followed by open parenthesis must have white space between the two unless it's a function.
  1101. # [09:42] <leif> RESOLVED: (replaces previous resolution) Idents followed by open parenthesis must have white space between the two unless it's a function.
  1102. # [09:43] <SimonSapin> Topic: CSS escapes in attr() values
  1103. # [09:43] <leif> SimonSapin: attr() defined in the values spec
  1104. # [09:44] <leif> … This function now takes a parameter with expected type
  1105. # [09:44] <leif> … can pass integer etc.
  1106. # [09:44] <leif> … In the defining for string and url, we say that the absolute value is passed
  1107. # [09:44] * Joins: Rossen (~Rossen@public.cloak)
  1108. # [09:44] * Joins: myakura (~myakura@public.cloak)
  1109. # [09:44] <leif> … should clarify whether CSS escapes are interpreted, and I think they should not be.
  1110. # [09:44] <leif> … If they need to be serialized, we may need to add escapes, but that's a separate concern.
  1111. # [09:45] <leif> TabAtkins: att="foo\33", content: attr(att) displays "foo33" or "foo\33"?
  1112. # [09:45] <leif> plinss: Don't want to move escapes from one context to another.
  1113. # [09:45] <leif> … it should be resolved before.
  1114. # [09:46] <leif> glazou: Entities should not leave their context.
  1115. # [09:46] <leif> RESOLVED: String and URL types for attribute literally takes the attribute's value without parsing.
  1116. # [09:47] <leif> Topic: Alignment
  1117. # [09:48] <SimonSapin> (previous topic) In particular: clarify that no CSS escaping is involved. Probably remove wording like "parsed as the contents of a CSS <string>".
  1118. # [09:48] <leif> TabAtkins explains concepts, but not the basic properties
  1119. # [09:48] <leif> TabAtkins: This applies flexbox alignment props to rest of CSS
  1120. # [09:48] <leif> fantasai: Most keywords are axis agnostic, so put them in a separate section
  1121. # [09:49] <leif> TabAtkins: Only non-obvious are self-start and -end
  1122. # [09:49] <leif> … [missed] are defined based on the mode and directionality of the parent element
  1123. # [09:49] <leif> … self-* are defined based on the element itself.
  1124. # [09:49] <leif> … flex-start and -end are based on the flex directionality instead of the writing ode
  1125. # [09:50] <leif> dbaron: Do flex-start and -end fall back?
  1126. # [09:50] <leif> fantasai: to start and end.
  1127. # [09:50] <leif> … if not flexbox
  1128. # [09:50] <leif> fantasai: we have left and right, because sometimes you want that, but we can't always fulfil that.
  1129. # [09:50] <leif> TabAtkins: And helps explain <align>
  1130. # [09:51] <leif> fantasai: stretch depends on the layout mode, defined further down
  1131. # [09:51] <leif> … We pulled the baseline definition from 2.1 and put it here.
  1132. # [09:51] <leif> … Flexbox also has it
  1133. # [09:52] <leif> dbaron: doesn't distinguish between inline-block and [...]
  1134. # [09:52] <leif> … defined to use last-line baseline in 2.1
  1135. # [09:52] <leif> … Need to spec first-line basline and last-line baseline
  1136. # [09:52] <leif> … and which are used for different things.
  1137. # [09:53] <leif> … first-line and last-line baseline interaction is complicated, so need to define based on context, and research it.
  1138. # [09:53] <leif> … Don't expect impls to be sensible.
  1139. # [09:53] <leif> RESOLVED: Need more work on baseline section, define first-line and last-line baseline.
  1140. # [09:54] <leif> fantasai: Block-axis of table is undefined.
  1141. # [09:54] <leif> … Table with a block of text inside, with a vertical text context, then the block axis will align with the inline axis
  1142. # [09:54] <leif> … Need a concept of baseline for each box
  1143. # [09:55] <leif> … Is it based on the baseline of the first column, or does it not have a baseline?
  1144. # [09:55] <leif> TabAtkins: No testing yet
  1145. # [09:55] <leif> fantasai: Basing on first column makes sense
  1146. # [09:55] <leif> Bert: Why not center?
  1147. # [09:55] <leif> fantasai: then you would center it.
  1148. # [09:55] <leif> TabAtkins: There is a keyword for that.
  1149. # [09:56] <leif> fantasai: We'll do another pass, but needs review eventually.
  1150. # [09:56] <leif> fantasai explains distributed alignment
  1151. # [09:57] <leif> TabAtkins: space-evenly is new, based on requests to flexbox
  1152. # [09:57] <leif> fantasai: Useful for two-column layout with different layout models in each
  1153. # [09:57] <leif> TabAtkins: 'stretch' came from Grid Layout.
  1154. # [09:57] <leif> fantasai: Needed for flex lines.
  1155. # [09:58] <leif> fantasai explains overflow alignment
  1156. # [09:58] * Joins: jdovey (~jdovey@public.cloak)
  1157. # [09:59] <leif> fantasai explains justify-content and align-content
  1158. # [09:59] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  1159. # [10:01] <leif> dbaron: not handled the same way as the 'align' attributes?
  1160. # [10:01] <leif> TabAtkins: We have special keyword.
  1161. # [10:02] <leif> dbaron: People have trouble following, not really working as an introduction.
  1162. # [10:02] <leif> TabAtkins explains justify-items
  1163. # [10:02] <leif> TabAtkins: can choose legacy behavior
  1164. # [10:03] <leif> dbaron: My issue was with how you mapped HTML alignment attributes that don't have a BFC.
  1165. # [10:03] <leif> fantasai: Vertical alignment in the vertical axis forces a BFC.
  1166. # [10:03] <leif> … but might need thinking about
  1167. # [10:03] <leif> … might also need horizontal axis.
  1168. # [10:04] <leif> TabAtkins: Can only use the block-axis one on blocks
  1169. # [10:04] <leif> … get center behavior by using legacy
  1170. # [10:04] <leif> … The property that does that does not have the BFC behavior
  1171. # [10:04] <leif> Bert: 'safe' and 'true' centering…
  1172. # [10:05] <leif> … I want to reintroduce true centering in text-align, even where there's a flow.
  1173. # [10:05] * Joins: jdovey_ (~jdovey@public.cloak)
  1174. # [10:05] <leif> … and margin: auto, where I want centering without clamping
  1175. # [10:05] * Parts: jdovey_ (~jdovey@public.cloak) (jdovey_)
  1176. # [10:05] <leif> fantasai: This spec takes those props and applies them to all box models
  1177. # [10:05] <leif> Bert: Don't use margins to center. Use align property to choose true center.
  1178. # [10:05] <leif> s/Bert/TabAtkins
  1179. # [10:05] * Quits: jdovey (~jdovey@public.cloak) ("Colloquy for iPhone - http://colloquy.mobi")
  1180. # [10:06] * Joins: jdovey (~jdovey@public.cloak)
  1181. # [10:06] <leif> fantasai draws case with shrink-wrapped table with margins and centering.
  1182. # [10:06] <leif> fantasai: Want at least a certain margin, but also want centering. This is a better model for that, using justify-self.
  1183. # [10:06] <leif> … have cake and eat it
  1184. # [10:07] <leif> fantasai: justify/align applies to block/inline.
  1185. # [10:08] <leif> SimonSapin: block-align and inline-align?
  1186. # [10:08] <leif> TabAtkins: Flexbox doesn't care about your writing direction
  1187. # [10:08] <leif> … prop names are not renameable.
  1188. # [10:08] <leif> … Need to discuss abspos
  1189. # [10:08] <leif> Bert: Can I use other props in the normal flow?
  1190. # [10:09] <leif> TabAtkins: Can align the entire block's contents
  1191. # [10:09] <leif> … It's defined in the spec.
  1192. # [10:09] <leif> fantasai: Vertical centering: use align-content on an element
  1193. # [10:09] <leif> TabAtkins: Spec is split into two axes and three alignments applied to them
  1194. # [10:10] <leif> Bert: last column "Applies to" answers my questions.
  1195. # [10:10] <leif> … Have to rewrite Box Model
  1196. # [10:10] <leif> Rossen: These apply to border box or margin box?
  1197. # [10:10] <leif> fantasai: Margin boxes.
  1198. # [10:11] <leif> TabAtkins: In case of vertical-aligned paragraphs, the outermost bounding box of the contents.
  1199. # [10:11] <leif> Rossen: justify-self: true center on box with 25% width and 50% left margin, will be centered with the margin box?
  1200. # [10:11] <leif> TabAtkins draws on board
  1201. # [10:11] <leif> Rossen is satisfied
  1202. # [10:12] <leif> TabAtkins: Let's talk about abspos
  1203. # [10:12] <leif> fantasai: The plan of this draft is to make it easy to center things, including abspos
  1204. # [10:12] <leif> … The containing block for your asbspos item has offsets specified
  1205. # [10:12] <leif> … That creates a modified containing block.
  1206. # [10:13] <leif> … by default, you do as in 2.1
  1207. # [10:13] <leif> … If you specify center, then you'll shrink-wrap.
  1208. # [10:13] <leif> dbaron: 2.1 isn't quite that simple. Function of wether widht and height are specified
  1209. # [10:13] <leif> TabAtkins: If neither is auto, then we do these things.
  1210. # [10:13] <leif> … was confusing to write!
  1211. # [10:14] <leif> … If you have explicit margins and left and right props, then when calculating auto width, shrink to fit.
  1212. # [10:14] <leif> dbaron: Also, when no auto width, also align.
  1213. # [10:14] <leif> Rossen: change of behavior?
  1214. # [10:14] <leif> fantasai: No, compatible with 2.1
  1215. # [10:15] <leif> TabAtkins: stretch is default. Absposes behave as in 2.1
  1216. # [10:15] <leif> TabAtkins: Possible that there are some deep details that we missed, so needs review at some point.
  1217. # [10:16] <leif> fantasai: Get true alignment in grid and flexbox, but safe alignment in doc-centric layout, i.e. tables and blocks.
  1218. # [10:16] <leif> … Can't make them all safe, because flexbox has true.
  1219. # [10:16] <leif> TabAtkins: Could define whatever for blocks
  1220. # [10:16] <leif> Rossen: Should keep doc-centric ones safe and app-centric true.
  1221. # [10:17] <leif> fantasai describes property index
  1222. # [10:17] <leif> TabAtkins: Please someone look at legacy left/right/center, is there a better way to do it?
  1223. # [10:17] <leif> fantasai: Want to express that we're enforcing alignment.
  1224. # [10:17] <leif> … Right now only with left/right/center, but if it's useful, can align with start/end.
  1225. # [10:18] <leif> … Think about: do we want to allow it for other keywords.
  1226. # [10:19] <leif> fantasai describes auto/legacy
  1227. # [10:19] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  1228. # [10:20] <dbaron> http://dbaron.org/css/test/2013/transition-reversing-demo
  1229. # [10:20] <leif> Topic: Reversing interrupted transitions
  1230. # [10:21] <leif> dbaron: only tested in gecko
  1231. # [10:22] <leif> … relied on mouseenter/mouseover, but those are even worse than a decade ago
  1232. # [10:22] * Joins: myakura (~myakura@public.cloak)
  1233. # [10:22] <leif> dbaron and TabAtkins discuss JS implementation
  1234. # [10:28] <leif> dbaron explains various proposals in testcase
  1235. # [10:29] <leif> dbaron: There were other proposals, but I didn't implement
  1236. # [10:29] <leif> TabAtkins: Your proposal is better than the current spec, at least.
  1237. # [10:29] * Quits: glazou (~glazou@public.cloak) (glazou)
  1238. # [10:30] <leif> dino: Reversing is only when in a transition and you set the value to where you came from? If it has ended, run a normal transition?
  1239. # [10:30] <leif> dbaron: yes
  1240. # [10:30] <leif> SimonSapin: What if enter a transition and go to another one?
  1241. # [10:30] <leif> dbaron: No special treatment. Hard to impl. sensibly.
  1242. # [10:31] <leif> fantasai: if we have transitionin but not -out?
  1243. # [10:31] <leif> dbaron: Then will not have transitionout.
  1244. # [10:31] <leif> dino: What if a different timing function or duration? should break reversal.
  1245. # [10:31] <leif> dbaron: Disagree.
  1246. # [10:32] <leif> … in many cases people will want different timing functions, because they want that behavior.
  1247. # [10:32] <leif> … With my approach, they'll still get the specified timing function for each direction.
  1248. # [10:33] <leif> dbaron gives example with timing function on hover state
  1249. # [10:34] <leif> dino: People that care about this will want to tweak everything. Can't address that without adding props.
  1250. # [10:34] <leif> … Just make it work for the majority of cases
  1251. # [10:34] <leif> fantasai: If timing-in was 4s and -out was linear 4s…
  1252. # [10:34] <leif> dbaron: My proposal looks only at value, not timing.
  1253. # [10:35] <leif> … Sometimes 50 % through value space in 12 % of the time
  1254. # [10:35] <leif> … I say 50 % in 50 %
  1255. # [10:35] <leif> dino: If linear in both directions, 4s one way 2s in the other…
  1256. # [10:35] <leif> [not minuting clarifying discussion]
  1257. # [10:36] <leif> fantasai: What if the timing function is slow for 15% and then slow?
  1258. # [10:36] <leif> dbaron: That's ease-in
  1259. # [10:36] <leif> … If you mouse out at 50%, the time going back is close to the time going forward
  1260. # [10:36] <leif> … Time going back was shortened quite a bit
  1261. # [10:37] <leif> krit: ease-in is better with the current spec, ease-out is better with your proposal
  1262. # [10:37] <leif> dino: Depends on when you interrupt it
  1263. # [10:37] <leif> rik: goes too fast back when shortening the time
  1264. # [10:38] <leif> dbaron: Don't like discontinuity between 99% and 100%
  1265. # [10:38] <leif> dino: Some people might want an interrupted transition at 99%, pretend it finished.
  1266. # [10:38] <leif> dbaron: Mine: it gives 99% of the duration, so almost undetectable.
  1267. # [10:39] <leif> dino: Should just pick one, yours is fine. Let's implement it and see.
  1268. # [10:39] <leif> dbaron: Always like this in Gecko
  1269. # [10:39] <leif> krit: Safari just unprefixed transitions
  1270. # [10:39] <leif> dino: Concern is that people have content where they instead of transitionend event assumed that something happened.
  1271. # [10:40] <leif> … we're effectively changing t-duration on them.
  1272. # [10:40] <leif> TabAtkins: Adding a delay between the real end and the …
  1273. # [10:40] <leif> dbaron: Probably need some real events for interruption
  1274. # [10:40] <leif> … no transitionend event.
  1275. # [10:40] <leif> dino: There's interrupted and there's paused.
  1276. # [10:40] <leif> … suspended, e.g. if animations are paused on scroll
  1277. # [10:41] <leif> … duration is possibly longer
  1278. # [10:41] <leif> … People have requested that if prop is set to same value, then no transition.
  1279. # [10:41] <leif> … Adopt your proposal.
  1280. # [10:41] <leif> cabanier: Apple's spec is better, actually.
  1281. # [10:41] <leif> dino: I don't care much. Want to stop hover complaints.
  1282. # [10:42] <leif> … Safari has no reversing, so need to implement to see.
  1283. # [10:42] <leif> cabanier: Don't we already have a demo for side-by-side
  1284. # [10:42] <leif> ?
  1285. # [10:42] <leif> dino: Need a complete implementation.
  1286. # [10:43] <leif> krit: Can also be decided on CR.
  1287. # [10:43] <leif> plinss: Do we want to change?
  1288. # [10:43] <leif> TabAtkins: Spec behavior is bad.
  1289. # [10:43] <Zakim> dbaron, you asked to be reminded at this time to go home
  1290. # [10:43] <leif> krit, cabanier: no, not bad.
  1291. # [10:43] <leif> dino: We don't know, because we haven't implemented it.
  1292. # [10:44] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  1293. # [10:45] <leif> … propose dbaron's suggestion. Firefox already shipped, looks good enough.
  1294. # [10:45] * Bert zakim, pointer?
  1295. # [10:45] * Zakim I don't understand your question, Bert.
  1296. # [10:45] <leif> RESOLVED: dbaron's proposal for reversing interrupted transitions is accepted.
  1297. # [10:45] * Quits: ivan (ivan@public.cloak)
  1298. # [10:45] <leif> Meeting adjourned.
  1299. # [10:45] <leif> rrsagent, make minutes
  1300. # [10:45] <RRSAgent> I have made the request to generate http://www.w3.org/2013/06/07-css-minutes.html leif
  1301. # [10:45] * Quits: jdovey (~jdovey@public.cloak) (jdovey)
  1302. # [10:45] <myakura> rrsagent, make minutes
  1303. # [10:45] <RRSAgent> I have made the request to generate http://www.w3.org/2013/06/07-css-minutes.html myakura
  1304. # [10:45] * Quits: myakura (~myakura@public.cloak) ("Page closed")
  1305. # [10:47] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  1306. # [10:47] * Joins: cabanier (~cabanier@public.cloak)
  1307. # [10:47] * Quits: krit (~krit@public.cloak) ("Leaving.")
  1308. # [10:47] * Quits: kazutaka (~kazutaka@public.cloak) ("Page closed")
  1309. # [10:49] * Quits: dino (~dino@public.cloak) (dino)
  1310. # [10:49] * Quits: shans__ (~shans@public.cloak) (Ping timeout: 180 seconds)
  1311. # [10:50] * Quits: r12a (rishida@public.cloak) (Client closed connection)
  1312. # [10:51] * Joins: leif1 (~lastorset@public.cloak)
  1313. # [10:51] * Quits: leif (~lastorset@public.cloak) (Client closed connection)
  1314. # [10:51] * Quits: Rossen (~Rossen@public.cloak) (Ping timeout: 180 seconds)
  1315. # [10:51] * Quits: rhauck1 (~Adium@public.cloak) (Client closed connection)
  1316. # [10:52] * Quits: jet (~junglecode@public.cloak) (jet)
  1317. # [10:52] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
  1318. # [10:54] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  1319. # [10:54] * Quits: cabanier (~cabanier@public.cloak) (Ping timeout: 180 seconds)
  1320. # [10:58] * Quits: leif1 (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  1321. # [10:58] * Quits: plh (plehegar@public.cloak) (Ping timeout: 180 seconds)
  1322. # [11:01] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
  1323. # [11:05] * Quits: glenn (~gadams@public.cloak) (Client closed connection)
  1324. # [11:06] * Joins: glenn (~gadams@public.cloak)
  1325. # [11:11] * Joins: leif (~lastorset@public.cloak)
  1326. # [11:15] * Joins: leif1 (~lastorset@public.cloak)
  1327. # [11:15] * Quits: leif (~lastorset@public.cloak) (Client closed connection)
  1328. # [11:22] * Quits: koji (~koji@public.cloak) (Ping timeout: 180 seconds)
  1329. # [11:24] * Joins: SimonSapin (~simon@public.cloak)
  1330. # [11:38] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  1331. # [11:40] * Joins: leif (~lastorset@public.cloak)
  1332. # [11:40] * Quits: leif1 (~lastorset@public.cloak) (Client closed connection)
  1333. # [11:44] * Joins: ivan (ivan@public.cloak)
  1334. # [11:44] * Quits: ivan (ivan@public.cloak) ("bye guys")
  1335. # [12:01] * Joins: dbaron (~dbaron@public.cloak)
  1336. # [12:02] * Joins: SimonSapin (~simon@public.cloak)
  1337. # [12:03] * Joins: cabanier (~cabanier@public.cloak)
  1338. # [12:04] * Joins: krit (~krit@public.cloak)
  1339. # [12:09] * Joins: glenn_ (~gadams@public.cloak)
  1340. # [12:11] * Joins: lmclister (~lmclister@public.cloak)
  1341. # [12:13] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
  1342. # [12:16] * Joins: krit1 (~krit@public.cloak)
  1343. # [12:16] * Joins: liam (liam@public.cloak)
  1344. # [12:20] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  1345. # [12:21] * Quits: krit (~krit@public.cloak) (Ping timeout: 180 seconds)
  1346. # [12:26] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  1347. # [12:37] * Quits: krit1 (~krit@public.cloak) ("Leaving.")
  1348. # [13:00] * Quits: leif (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  1349. # [13:01] * Joins: cabanier (~cabanier@public.cloak)
  1350. # [13:08] * Joins: krit (~krit@public.cloak)
  1351. # [13:14] * Quits: krit (~krit@public.cloak) ("Leaving.")
  1352. # [13:19] * Joins: krit (~krit@public.cloak)
  1353. # [13:19] * Quits: krit (~krit@public.cloak) ("Leaving.")
  1354. # [13:23] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  1355. # [13:24] * Joins: dino (~dino@public.cloak)
  1356. # [13:38] * Quits: glenn_ (~gadams@public.cloak) (Client closed connection)
  1357. # [13:42] * Quits: cabanier (~cabanier@public.cloak) ("Leaving.")
  1358. # [13:53] * Quits: lmclister (~lmclister@public.cloak) (lmclister)
  1359. # [15:01] * Zakim excuses himself; his presence no longer seems to be needed
  1360. # [15:01] * Parts: Zakim (zakim@public.cloak) (Zakim)
  1361. # [15:11] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
  1362. # [15:27] * Joins: plh (plehegar@public.cloak)
  1363. # [15:28] * Joins: plh3 (plehegar@public.cloak)
  1364. # [15:34] * Quits: plh (plehegar@public.cloak) (Ping timeout: 180 seconds)
  1365. # [15:41] * Quits: plh3 (plehegar@public.cloak) ("Leaving")
  1366. # [15:45] * Joins: dbaron (~dbaron@public.cloak)
  1367. # [15:45] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  1368. # [15:45] * Joins: zcorpan (~zcorpan@public.cloak)
  1369. # [15:49] * Joins: leif (~lastorset@public.cloak)
  1370. # [15:52] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  1371. # [15:58] * Joins: SimonSapin (~simon@public.cloak)
  1372. # [15:58] * Joins: cabanier (~cabanier@public.cloak)
  1373. # [16:02] * Quits: dino (~dino@public.cloak) (dino)
  1374. # [16:16] * Joins: zcorpan (~zcorpan@public.cloak)
  1375. # [16:25] * Quits: leif (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  1376. # [16:33] * Joins: leif (~lastorset@public.cloak)
  1377. # [16:33] * Joins: krit (~krit@public.cloak)
  1378. # [16:41] * Joins: tantek (~tpod@public.cloak)
  1379. # [16:41] * Quits: tantek (~tpod@public.cloak) ("Colloquy for iPod touch - http://colloquy.mobi")
  1380. # [16:48] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  1381. # [16:49] * Joins: SimonSapin (~simon@public.cloak)
  1382. # [16:50] * Quits: SimonSapin (~simon@public.cloak) ("Leaving.")
  1383. # [16:51] * Quits: leif (~lastorset@public.cloak) ("Leaving.")
  1384. # [16:51] * Joins: leif (~lastorset@public.cloak)
  1385. # [16:52] * Quits: dbaron (~dbaron@public.cloak) (Ping timeout: 180 seconds)
  1386. # [16:58] * Quits: leif (~lastorset@public.cloak) (Ping timeout: 180 seconds)
  1387. # [16:58] * Joins: leif (~lastorset@public.cloak)
  1388. # [17:01] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  1389. # [17:10] * Joins: leif1 (~lastorset@public.cloak)
  1390. # [17:10] * Quits: leif1 (~lastorset@public.cloak) ("Leaving.")
  1391. # [17:10] * Quits: leif (~lastorset@public.cloak) ("Leaving.")
  1392. # [17:26] * Joins: zcorpan (~zcorpan@public.cloak)
  1393. # [17:48] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  1394. # [18:12] * Joins: zcorpan (~zcorpan@public.cloak)
  1395. # [18:13] * Joins: arno (~arnog@public.cloak)
  1396. # [18:33] * Joins: arno1 (~arnog@public.cloak)
  1397. # [18:37] * Joins: zcorpan_ (~zcorpan@public.cloak)
  1398. # [18:37] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  1399. # [18:38] * Quits: arno (~arnog@public.cloak) (Ping timeout: 180 seconds)
  1400. # [18:44] * Quits: zcorpan_ (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  1401. # [18:52] * Joins: jet (~junglecode@public.cloak)
  1402. # [19:06] * Quits: arno1 (~arnog@public.cloak) (Client closed connection)
  1403. # [20:00] * Joins: arno (~arnog@public.cloak)
  1404. # [20:02] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  1405. # [20:02] * Joins: arno (~arnog@public.cloak)
  1406. # [20:05] * Quits: jet (~junglecode@public.cloak) (jet)
  1407. # [20:10] * Joins: jet (~junglecode@public.cloak)
  1408. # [20:18] * Quits: abucur (~Adium@public.cloak) (Client closed connection)
  1409. # [20:18] * Joins: abucur (~Adium@public.cloak)
  1410. # [20:20] * Quits: jet (~junglecode@public.cloak) (jet)
  1411. # [20:32] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  1412. # [20:44] * Joins: nvdbleek (~nvdbleek@public.cloak)
  1413. # [20:56] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  1414. # [21:06] * Joins: darktears (~darktears@public.cloak)
  1415. # [21:06] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  1416. # [21:21] * Quits: Ms2ger (~Ms2ger@public.cloak) ("nn")
  1417. # [21:45] * Quits: darktears (~darktears@public.cloak) (Client closed connection)
  1418. # [23:02] * Joins: arno (~arnog@public.cloak)
  1419. # [23:03] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  1420. # [23:07] * Joins: arno (~arnog@public.cloak)
  1421. # [23:40] * Quits: arno (~arnog@public.cloak) ("Leaving.")
  1422. # Session Close: Sat Jun 08 00:00:00 2013

The end :)