/irc-logs / w3c / #css / 2010-03-31 / end

Options:

  1. # Session Start: Wed Mar 31 00:00:00 2010
  2. # Session Ident: #css
  3. # [00:00] <fantasai> stevez: handle the 2nd case when the author has changed the font-size
  4. # [00:00] <dbaron> 4. Move towards replacing separate browser monospace font size prefs.
  5. # [00:01] <fantasai> fantasai and stevez try to work through stevez's case
  6. # [00:02] <dbaron> dbaron: Just set font-size-adjust: auto (or some other value) on the root element
  7. # [00:04] * glazou BREAK...
  8. # [00:04] <Zakim> -jdaggett
  9. # [00:05] <fantasai> 3. Keeping exheights consistent throughout the document (requiring use of font-size-adjust) but wanting to set an exact size for the main document font without looking up the ex-height
  10. # [00:05] * jfkthame also disappearing
  11. # [00:05] <Zakim> -jfkthame
  12. # [00:05] * howcome tests
  13. # [00:05] <Zakim> -[Apple]
  14. # [00:05] <Zakim> Team_(css)19:57Z has ended
  15. # [00:05] <Zakim> Attendees were [Apple], jdaggett, +44.845.397.aaaa, jfkthame
  16. # [00:05] <fantasai> e.g. Choose Palatino at 16pt, set font-size-adjust: foomatic
  17. # [00:05] <fantasai> on the root
  18. # [00:06] * jfkthame is now known as jfkthame|afk
  19. # [00:06] <fantasai> and foomatic looks up Palatino's ex-height and set's font-size-adjust to that
  20. # [00:06] <fantasai> so that Palatino's font size doesn't change from 16pt
  21. # [00:06] <fantasai> *and* font-size-adjust takes care of ex-height adjustment across the document
  22. # [00:06] <dbaron> The problem with foomatic is that f-s-a inherits.
  23. # [00:23] * Zakim excuses himself; his presence no longer seems to be needed
  24. # [00:23] * Parts: Zakim (rrs-bridgg@128.30.52.169)
  25. # [00:23] * Quits: bradk (bradk@17.244.0.81) (Quit: Computer has gone to sleep)
  26. # [00:31] * Joins: bradk (bradk@17.244.0.81)
  27. # [00:35] <fantasai> Topic: i18n/bidi/ruby
  28. # [00:36] <fantasai> Anne: HTML5 only includes simple ruby, which was implemented by IE
  29. # [00:36] <fantasai> Anne: The module also has complex ruby
  30. # [00:36] <fantasai> fantasai: I think Richard Ishida was planning to take that out of the CSS3 Ruby module
  31. # [00:37] <fantasai> Anne: There was some discussion on www-international
  32. # [00:37] <fantasai> Anne: It seems in general that the Japanese people think the simple model is adequate, because you can nest it
  33. # [00:37] <fantasai> ChrisL: nesting is a hack
  34. # [00:37] <fantasai> Anne doesn't particularly care
  35. # [00:37] <ChrisL> s/is/was described as/
  36. # [00:37] * Joins: paul_irish (paul_irish@151.203.209.194)
  37. # [00:38] <fantasai> Deferring entire discussion without ishida
  38. # [00:38] <fantasai> Steve: There's ruby that's attached to individual characters, and ruby attached gto groups of characters.
  39. # [00:38] * Quits: paul_irish (paul_irish@151.203.209.194) (Client exited)
  40. # [00:38] <fantasai> Steve: Different ways of attaching to characters, and that's where most of the trouble lies
  41. # [00:39] <fantasai> Steve: I think we should wait and see what Richard's draft says
  42. # [00:40] * Joins: fantasai_ (fantasai@17.244.2.198)
  43. # [00:40] <fantasai_> Anne summarizes HTML5's rendering rules for ruby, which mostly defer to CSS by giving display types
  44. # [00:41] <fantasai_> Steve: So most of the complexity on the ruby side comes from how you group the pieces
  45. # [00:41] <fantasai_> and how you format across them
  46. # [00:41] <fantasai_> howcome: Can you write CSS rules on the rt elements?
  47. # [00:41] <fantasai_> Anne: The implementations so far have dedicated frame types in the rendering model
  48. # [00:42] <fantasai_> howcome is asking if you can simulate ruby with existing CSS
  49. # [00:42] <fantasai_> Alex and Steve think not
  50. # [00:43] <fantasai_> SteveZ notes that there's a 96-page document that explains all the details
  51. # [00:43] <fantasai_> by the JLTF
  52. # [00:43] * Quits: TabAtkins (chatzilla@17.244.2.48) (Ping timeout)
  53. # [00:44] <fantasai_> Steve: I think Richard is going to produce a new draft that is consistent with HTML and the JLTF drafts
  54. # [00:45] <fantasai> Steve: The plan is to wait until he gives us a draft to look at
  55. # [00:45] * Joins: TabAtkins (chatzilla@17.244.2.48)
  56. # [00:45] <anne> http://lists.w3.org/Archives/Public/www-international/2010JanMar/
  57. # [00:45] <fantasai_> Anne: Search for 'ruby'
  58. # [00:46] <anne> thread on ruby: http://lists.w3.org/Archives/Public/www-international/2010JanMar/thread.html#msg107
  59. # [00:46] <fantasai_> glazou: Arron told me we still have CSS2.1 issues to discuss
  60. # [00:46] <fantasai_> glazou: Since there's nothing else we can move to this time in the day, I suggest we move to 2.1
  61. # [00:46] <fantasai_> http://wiki.csswg.org/spec/css2.1#issue-114
  62. # [00:47] <fantasai_> Arron: I put all the results for the testcases
  63. # [00:47] <fantasai_> ChrisL: I'm slowly converting those to SVG
  64. # [00:47] <fantasai_> Arron: Each one of these testcases are slightly different. Several are parens/bracket/braces/quotes matching
  65. # [00:47] <fantasai_> Arron: The first one is the most interesting, using invalid characters
  66. # [00:47] <fantasai_> Arron: Trying to see if they match correctly
  67. # [00:48] <fantasai_> Arron: There are lots of interop issues, but at least 2 impl for most results
  68. # [00:50] <fantasai_> fantasai: I think we wrote the tests under the assumption that only nmchars are allowed in unquoted font names
  69. # [00:50] <fantasai_> fantasai: brackets tests are more complex because they also test that they're matched correctly
  70. # [00:51] <anne> 002.xht is fun
  71. # [00:53] <fantasai_> dbaron: So, you're allowing idents, dimensions without + or decimal point, numbers without + or decimal point.
  72. # [00:53] <fantasai_> Bert: you have to define in terms of tokens, not character sets
  73. # [00:53] <fantasai_> Bert: Should allow periods
  74. # [00:55] <fantasai_> dbaron: If we allow periods, we have the float round-tripping problem
  75. # [00:56] <fantasai_> random discussion of various option
  76. # [00:56] <fantasai_> Anne says we should just use ident+
  77. # [00:57] <fantasai_> Bert says it's confusing not to allow numbers unquoted
  78. # [00:57] <fantasai_> dsinger says it's reasonable to quote them
  79. # [00:58] <bradk> FYI, the third test (Invalid curly brackets and pair matching) passes in a recent nightly download of Webkit, even though it fails in Safari. http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15/font-family-invalid-characters-003.xht
  80. # [00:58] <fantasai_> general consensus that the discussion is going nowhere
  81. # [00:59] <fantasai_> 1. identifiers only
  82. # [00:59] <fantasai_> 2. nmchars tokens only
  83. # [00:59] <fantasai_> 3. try to come up with a grammar to make the current prose more clear
  84. # [00:59] <fantasai_> ChrisL: I need to take this back to the SVGWG and get feedback from them
  85. # [00:59] <fantasai_> 1. http://lists.w3.org/Archives/Public/www-style/2010Mar/0369.html
  86. # [01:00] <fantasai_> 2. http://lists.w3.org/Archives/Public/www-style/2010Mar/0395.html
  87. # [01:00] <fantasai_> 3. To Be Written
  88. # [01:00] <fantasai_> Not By Me I Hope
  89. # [01:00] * Quits: smfr (smfr@17.203.14.12) (Quit: smfr)
  90. # [01:01] * Quits: wombat99 (jdaggett@110.4.186.83) (Quit: wombat99)
  91. # [01:01] <fantasai_> FF and Safari are almost ident+
  92. # [01:02] <fantasai_> or are ident+, but have bracket-matching bugs :)
  93. # [01:02] <fantasai_> Opera is close to the current prose
  94. # [01:02] <fantasai_> IE is somewhere in between
  95. # [01:02] <fantasai_> but closer to Opera
  96. # [01:03] <fantasai_> Anne: 1
  97. # [01:03] <fantasai_> Steve: 1
  98. # [01:03] <fantasai_> Sylvain: 1
  99. # [01:03] <fantasai_> Alex: 2, but live with 1
  100. # [01:03] <fantasai_> Beth: 2
  101. # [01:03] <fantasai_> Bert: 3
  102. # [01:03] <fantasai_> Arron: 2 or 3
  103. # [01:03] <fantasai_> Elika: 2, live with anything as long as clear
  104. # [01:03] <fantasai_> dbaron: 1
  105. # [01:04] <fantasai_> Brad: don't care
  106. # [01:04] <fantasai_> Tab: 1
  107. # [01:04] <fantasai_> Tantek: Abstain
  108. # [01:04] <fantasai_> Glazou: 1, but can live with everything
  109. # [01:04] <fantasai_> ChrisL: 3, 2, 1
  110. # [01:04] <fantasai_> Peter: 2 is slightly better for authors in that it would be a little surprising to not start with a number
  111. # [01:05] <fantasai_> Peter: I don't like the fact that 2 introduces a new token type, so 1
  112. # [01:05] <fantasai_> Bert: I think it can be done without
  113. # [01:05] <fantasai_> Howcome: 3
  114. # [01:05] * bradk just quotes whenever in doubt
  115. # [01:06] <dbaron> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15/font-family-invalid-characters-002.xht is buggy because it has ( { ) and expects the ) to match the ( while you need to find a } first
  116. # [01:06] <fantasai_> Elika: Actually, I'm going to change my vote to 2, then 1
  117. # [01:06] <fantasai_> dsinger: abstain
  118. # [01:06] <fantasai_> Steve: I can live with 2 also
  119. # [01:06] <fantasai_> Steve: I don't really see much difference between 1 and 2
  120. # [01:06] * Joins: smfr (smfr@17.244.3.222)
  121. # [01:06] <fantasai_> Peter: My real preference is that people quote things more
  122. # [01:07] <fantasai_> Steve: That's why I voted for 1
  123. # [01:07] <fantasai_> glazou: Can't go further, Chris has to take this to SVGWG first
  124. # [01:07] <fantasai_> glazou: 7 for 1, 4 for 2, 3 for 3, and almost everyone can live with everything
  125. # [01:08] <fantasai_> glazou: which is cool
  126. # [01:08] <fantasai_> ACTION: clilley Discuss font-family syntax with SVGWG
  127. # [01:08] * trackbot noticed an ACTION. Trying to create it.
  128. # [01:08] * RRSAgent records action 8
  129. # [01:08] <trackbot> Created ACTION-216 - Discuss font-family syntax with SVGWG [on Chris Lilley - due 2010-04-06].
  130. # [01:10] <Bert> (Minor flashback to 1996: font-face was modeled in part on Netscape's FACE attribute.)
  131. # [01:10] <fantasai_> dbaron notes that Mozilla has seen only one bug, that dbaron could find, on this issue
  132. # [01:11] <dbaron> I went through bugzilla.mozilla.org bugs with 'font-family' and 'quote'... there were 4 reported by users (also one internal code issue).
  133. # [01:11] <dbaron> One was about this issue, two were complaining that font-family: 'sans-serif' didn't work, and one was complaining about font-family: 'Arial, Helvetica'; not working
  134. # [01:11] <dbaron> The one that was about this issue was https://bugzilla.mozilla.org/show_bug.cgi?id=471300
  135. # [01:12] * anne wonders why issue 129 is both resolved and has status set to discuss
  136. # [01:12] * Joins: TabAtkins_ (chatzilla@17.244.0.185)
  137. # [01:14] <fantasai_> http://wiki.csswg.org/spec/css2.1#issue-163
  138. # [01:14] * Quits: TabAtkins (chatzilla@17.244.2.48) (Ping timeout)
  139. # [01:14] <fantasai_> dbaron: Anne, I don't understand why getComputedStyle is relevant
  140. # [01:14] * TabAtkins_ is now known as TabAtkins
  141. # [01:15] <fantasai_> Anne: http://dump.testsuite.org/2010/width-computed-value.htm
  142. # [01:15] <fantasai_> Anne: If you set width: 10em on an inline, and then inherit it to a block, you get 10em
  143. # [01:15] <fantasai_> Anne: But the spec says the computed value, the inherited value, should be 'auto'
  144. # [01:16] <fantasai_> RESOLVED: Proposal accepted for Issue 163
  145. # [01:17] <fantasai_> data:text/html;charset=utf-8,<!DOCTYPE HTML PUBLIC "-%2F%2FW3C%2F%2FDTD HTML 4.0%2F%2FEN">%0D%0A<html lang%3D"en">%0D%0A <head>%0D%0A <title>Test<%2Ftitle>%0D%0A <style type%3D"text%2Fcss">%0D%0A <%2Fstyle>%0D%0A <%2Fhead>%0D%0A <body>%0D%0A <ul dir%3Dltr>%0D%0A <li dir%3Drtl>Bullet%0D%0A <%2Ful>%0D%0A <%2Fbody>%0D%0A<%2Fhtml>%0D%0A
  146. # [01:18] <fantasai_> FF renders the bullet on the right
  147. # [01:18] <fantasai_> as does Chrome
  148. # [01:19] <fantasai_> Opera renders on the right
  149. # [01:19] <fantasai_> IE renders on the right
  150. # [01:19] * Quits: alexmog (alexmog@17.244.1.2) (Ping timeout)
  151. # [01:19] <fantasai_> dbaron: So this is a proposed change where every impl we've tested matches the current spec
  152. # [01:19] * Joins: alexmog (alexmog@17.244.1.2)
  153. # [01:20] <fantasai_> http://wiki.csswg.org/spec/css2.1#issue-162
  154. # [01:20] <fantasai_> dbaron: Direction changes are a relatively rare case
  155. # [01:22] <dbaron> ... especially in the middle of a list
  156. # [01:22] <fantasai_> Daniel: If you have a <body dir=ltr> with <div display:list-item dir=rtl> then you wouldn't see the right direction for the marker
  157. # [01:23] <dbaron> Yeah, I think this change seems wrong for the general display:list-item case.
  158. # [01:23] <dbaron> Even if it might make sense for the way HTML li elements.
  159. # [01:24] <fantasai_> Steve: the most obvious example I can think of this giving a list of phrases in different languages
  160. # [01:24] <fantasai_> Steve: I'd want the bullets lined up
  161. # [01:25] <fantasai_> dbaron: You don't want to change the block direction in Steve's case anyway.
  162. # [01:25] <fantasai_> dbaron: Because the alignment will change
  163. # [01:25] <fantasai_> Steve: Why can't I set text-align?
  164. # [01:27] <fantasai_> ...
  165. # [01:27] <fantasai_> Steve: I can't think of a case where you'd want the bullet on the right
  166. # [01:27] <fantasai_> dbaron: You can have list items that are not using HTML list markup
  167. # [01:28] * Quits: arronei (arronei@131.107.0.83) (Ping timeout)
  168. # [01:28] <dbaron> http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo
  169. # [01:28] <fantasai_> Peter: so are we rejecting this then?
  170. # [01:28] <TabAtkins> TabAtkins: As a side point, markers clearly belong to the list-item, not the enclosing block. The color of a list marker comes from the list-item.
  171. # [01:28] <dbaron> ... says list items can float
  172. # [01:28] <dbaron> ... and keep their marker
  173. # [01:28] <fantasai_> Steve: What I've heard is that we're already committed that the marker is part of the list-item
  174. # [01:29] <fantasai_> (Tab explained that concept using color etc as an example)
  175. # [01:29] <fantasai_> (fantasai also pointed out that it would create an inconsistency with list-item-position: inside items if we swapped the direction of the bullet based on the parent for outside )
  176. # [01:30] <fantasai_> dsinger: So we should resolve this and offer to i18n that we can add a note explaining how to get their desired effect
  177. # [01:31] <fantasai_> RESOLVED: No change for Issue 162
  178. # [01:32] <fantasai_> in normative behavior
  179. # [01:34] <fantasai_> Bert and fantasai discuss ways to allow a switch in this behavior in CSS3, possibly using the bidi-isolate concept
  180. # [01:34] * Joins: arronei (arronei@131.107.0.85)
  181. # [01:35] <fantasai_> ACTION: fantasai move issue to css3-lists
  182. # [01:35] * RRSAgent records action 9
  183. # [01:35] * trackbot noticed an ACTION. Trying to create it.
  184. # [01:35] <trackbot> Created ACTION-217 - Move issue to css3-lists [on Elika Etemad - due 2010-04-06].
  185. # [01:35] <fantasai_> http://wiki.csswg.org/spec/css2.1#issue-161
  186. # [01:41] <TabAtkins> TabAtkins: [draws a picture with a containing block A, some number of descendants B, and a positioned descendant C. Any overflow on B has no effect on C, because A is C's containing block.]
  187. # [01:41] <fantasai_> | In certain cases, a box may overflow, meaning its content lies
  188. # [01:41] <fantasai_> | partly or entirely outside of the box, e.g.:
  189. # [01:41] <fantasai_> | ...
  190. # [01:41] <fantasai_> | A descendent box is positioned <del>absolutely</de>, partly outside the box.
  191. # [01:41] <fantasai_> | Such boxes are not always clipped by the overflow property on
  192. # [01:41] <fantasai_> | their ancestors. <ins>Note that absolutely positioned descendant
  193. # [01:42] <fantasai_> | elements are not always clipped by the overflow property on their ancestors.</ins>
  194. # [01:42] <fantasai_> dbaron: I thought the proposal was the replace the Such ... ancestors sentence
  195. # [01:43] <fantasai_> fantasai: I think that makes a lot more sense
  196. # [01:43] <fantasai_> apparently this was the original proposal
  197. # [01:46] <fantasai_> Peter is concerned that "not always clipped" is unclear
  198. # [01:47] <fantasai_> dbaron: I think the reason for the change from such to note is because we're removing absolutely from the first sentence
  199. # [01:48] <bradk> "a positioned item is not affected by the overflow property of ancestors inside its positioning block."
  200. # [01:48] <fantasai_> dbaron: And ambiguities in the second part of the sentence should be a new issue
  201. # [01:49] <fantasai_> so s/are not always clipped by the overflow property/do not always cause overflow/ ?
  202. # [01:50] <fantasai_> ACTION: Tab Rewrite proposal for Issue 161
  203. # [01:50] * trackbot noticed an ACTION. Trying to create it.
  204. # [01:50] * RRSAgent records action 10
  205. # [01:50] <trackbot> Created ACTION-218 - Rewrite proposal for Issue 161 [on Tab Atkins Jr. - due 2010-04-06].
  206. # [01:51] <fantasai_> http://wiki.csswg.org/spec/css2.1#issue-160
  207. # [01:52] <bradk> s/positioning block/containing block
  208. # [01:52] <fantasai_> glazou: Melinda got it backwards
  209. # [01:53] <fantasai_> ChrisL: Prefix the sentence with "For example", because Japanese top-to-bottom books start like rtl books do
  210. # [01:54] <dbaron> css3-page says it the right way around in http://dev.w3.org/csswg/css3-page/#progression
  211. # [01:54] <fantasai_> RESOLVED: Add non-normative for-example change
  212. # [01:57] * dbaron wonders if the spec needs to change as a result of HÃ¥kon breaking his arm a few years back
  213. # [01:57] <fantasai_> Proposal Fix 96px per inch. Whether inches fixed to reality or pixels fixed to screen res / viewing distance / something else may vary by UA. (Print would match real inches, screens tend to align with viewing distance and/or screen res.)
  214. # [01:58] * fantasai_ is not minuting the discussion between peter and howcome
  215. # [01:58] <fantasai_> Peter holds up his iphone.
  216. # [01:58] <fantasai_> Peter: You are constantly zooming in and out on this device. There's no guarantee you'll ever get a physical inch for an 'in'
  217. # [01:59] <fantasai_> SteveZ: You have the canvas, and the window onto the canvas.
  218. # [01:59] * ChrisL considers writing a liaison to ISO saying we want to redefine the metre
  219. # [02:00] <fantasai_> SteveZ: You have controls to change the window onto the canvas
  220. # [02:00] <fantasai_> ...
  221. # [02:00] <Bert> (The problem is not zooming on the iPhone, the pb is that a very small percentage of people thinks that it is illegal to use px on font-size. We just need to tell them that is not so.)
  222. # [02:01] <fantasai_> dbaron: Are any other browser vendors willing to change their implementation to match the 'pt' unit to match physical 'pt' using monitor detection settings?
  223. # [02:01] <fantasai_> dbaron: Everyone assumes 96dpi. So there's pressure on us to do that.
  224. # [02:01] <fantasai_> Steve: It's all your fault Tantek.
  225. # [02:01] <fantasai_> Peter: You and I had a discussion in an elevator where we agreed that Macs would use 96dpi instead of 72dpi
  226. # [02:02] <fantasai_> Peter: And you showed me UI that would allow the user the ability to set an inch correctly by holding a ruler up to the screen, which was cool.
  227. # [02:02] <fantasai_> Peter: I'm happy to give users that capability
  228. # [02:03] <fantasai_> Peter: If the UA wants to have a zoom factor of Actual Size, then it can use the OS info to get the most accurate 1in == 1 inch rendering it can
  229. # [02:05] <fantasai_> lots of conversations
  230. # [02:05] * fantasai_ add to Peter's comment something about 10 years ago
  231. # [02:06] <bradk> If the UA decides on having an "actual size" mode, and the monitor is not really 96ppi, then GIF images and such would have their pixels interpolated.
  232. # [02:09] <ChrisL> "The suggested reference pixel is the visual angle of one pixel on a device with a pixel density of 90dpi and a distance from the reader of an arm's length. For a nominal arm's length of 28 inches, the visual angle is about 0.0227 degrees. "
  233. # [02:09] <ChrisL> http://www.w3.org/TR/REC-CSS1-961217#units
  234. # [02:09] <fantasai_> Tantek talks about a meta-viewport problem
  235. # [02:10] * dbaron wonders if he ever meta viewport he didn't like? :-P
  236. # [02:11] <fantasai_> Alex: For Facebook, I found that in the virtual viewport the bar at the bottom was fixed-positioned, but you couldn't get to it unless you scrolled down
  237. # [02:11] * Joins: paul_irish (paul_irish@71.192.163.128)
  238. # [02:12] <fantasai_> Tantek: Shouldn't the meta viewport tag be a CSS thing, not a proprietary meta tag?
  239. # [02:13] <fantasai_> Tantek: The exact problem that meta viewport solves, that should be in CSS
  240. # [02:13] * Joins: paul_iri_ (paul_irish@71.192.163.128)
  241. # [02:14] <fantasai_> glazou: What happens if you browse a meta-viewport page with Safari on the mac?
  242. # [02:14] <fantasai_> smfr: It ignores it
  243. # [02:15] <fantasai_> Anne, Sylvain: Meta-viewport is setting the size of the viewport
  244. # [02:15] <fantasai_> and then the UA zooms in to that size
  245. # [02:15] * Quits: paul_irish (paul_irish@71.192.163.128) (Ping timeout)
  246. # [02:15] * Quits: jfkthame|afk (jonathan@95.150.118.177) (Quit: jfkthame|afk)
  247. # [02:15] <fantasai_> Tantek: Most other mobile browsers display a page designed for mobile normally
  248. # [02:16] <fantasai_> Tantek: But the iphone made it into this tiny box in the corner of the screen
  249. # [02:16] <fantasai_> Tantek: Even if you do use a media query to select an appropriate styling, then it still doesn't behave appropriately
  250. # [02:17] <fantasai_> Sylvain: It defines what a pixel is as a fraction of the viewport
  251. # [02:17] * Joins: mjs (mjs@17.246.18.82)
  252. # [02:18] <fantasai_> fantasai: So it's setting the size of the initial containing block
  253. # [02:18] <fantasai_> fantasai: not the viewport
  254. # [02:18] <fantasai_> smfr isn't sure
  255. # [02:20] <fantasai_> Tantek: If I write a media query to serve appropriate style sheets for 350 pix, Safari scales the page down to a tiny thing in the corner
  256. # [02:21] <fantasai_> smfr: That's a bug, and we have it filed
  257. # [02:21] <tantek> http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
  258. # [02:21] <fantasai_> fantasai: If we don't have a proposal on this, then I think we should close this topic
  259. # [02:22] <fantasai_> dbaron: Did we have a resolution on the 2.1 issue we were talking about?
  260. # [02:22] * Bert proposes a resolution: go after people who use pt in screen style sheets and threaten them with a hammer. :-)
  261. # [02:22] <tantek> http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html#//apple_ref/html/const/viewport
  262. # [02:23] <fantasai_> howcome: I want to see the proposal before deciding
  263. # [02:24] <fantasai_> howcome: I think the spec already says this
  264. # [02:24] <fantasai_> peter points out that it doesn't
  265. # [02:24] <fantasai_> and we go around in circles again
  266. # [02:24] <fantasai_> I'm so not minuting this
  267. # [02:25] <anne> Bert, http://xkcd.com/386/ ;)
  268. # [02:25] <fantasai_> Bert argues that we should evangelize the web
  269. # [02:27] <fantasai_> Alex: In IE8 we tried matching px to in based on the resolution, and this broke lots of things so we changed back to pretending 96dpi
  270. # [02:29] <glazou> aaaah PixaPowaaaaaa !
  271. # [02:30] * Quits: ChrisL (ChrisL@128.30.52.169) (Client exited)
  272. # [02:33] * Quits: glazou (glazou@17.244.0.83) (Quit: glazou)
  273. # [02:35] * dbaron predicted discussion of issue 149 would take the rest of the day back when we started
  274. # [02:36] <fantasai> http://wiki.csswg.org/spec/css2.1#issue-148
  275. # [02:39] <dbaron> For issue 148, I'd like to figure out why we changed it in the other direction.
  276. # [02:40] * Quits: sylvaing (sylvaing@17.244.2.236) (Quit: sylvaing)
  277. # [02:40] * Quits: bradk (bradk@17.244.0.81) (Quit: Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/ )
  278. # [02:41] * anne can't find the email that corresponds to the change
  279. # [02:41] * CSS-projector <br class="beer" ...>
  280. # [02:42] * Quits: TabAtkins (chatzilla@17.244.0.185) (Ping timeout)
  281. # [02:42] * Quits: Arron (arronei@17.244.2.216) (Ping timeout)
  282. # [02:43] * Quits: smfr (smfr@17.244.3.222) (Quit: smfr)
  283. # [02:44] * Quits: alexmog (alexmog@17.244.1.2) (Ping timeout)
  284. # [02:44] * Quits: CSS-projector (apple@17.201.14.208) (Quit: IGI-0451I - Fortran PUFFT - Unrecoverable input/output erro)
  285. # [02:45] * Quits: plinss_ (plinss@17.244.3.217) (Quit: plinss_)
  286. # [02:45] * Quits: szilles (chatzilla@17.244.3.121) (Ping timeout)
  287. # [02:46] * Quits: howcome (howcome@17.244.0.146) (Ping timeout)
  288. # [02:46] * Quits: dsinger (dsinger@17.244.1.88) (Quit: dsinger)
  289. # [02:47] * Quits: tantek (tantek@173.147.183.213) (Quit: tantek)
  290. # [02:49] * Quits: dethbakin (dethbakin@17.244.1.101) (Quit: dethbakin)
  291. # [02:50] * Quits: anne (annevk@17.244.3.72) (Ping timeout)
  292. # [02:56] * Quits: mjs (mjs@17.246.18.82) (Quit: mjs)
  293. # [02:57] * Quits: dbaron (dbaron@63.245.220.11) (Ping timeout)
  294. # [02:59] * Quits: fantasai_ (fantasai@17.244.2.198) (Ping timeout)
  295. # [03:16] * Joins: plinss_ (plinss@72.254.58.142)
  296. # [03:23] * Joins: miketaylr (miketaylr@24.42.95.234)
  297. # [03:35] * Joins: jdaggett_ (jdaggett@202.221.217.73)
  298. # [03:50] * Quits: dino (dino@17.202.116.62) (Quit: dino)
  299. # [05:26] * Joins: mjs (mjs@69.181.42.237)
  300. # [06:05] * Quits: fantasai (fantasai@66.55.71.177) (Connection reset by peer)
  301. # [06:05] * Joins: fantasai (fantasai@66.55.71.177)
  302. # [06:06] * Quits: Curt` (DorkeyDear@76.241.90.62) (Quit: Leaving)
  303. # [06:40] * Joins: glazou (glazou@173.200.179.65)
  304. # [06:41] * Quits: glazou (glazou@173.200.179.65) (Quit: glazou)
  305. # [06:47] * Joins: dbaron (dbaron@98.234.51.190)
  306. # [06:47] * Joins: Arron (arronei@173.200.179.65)
  307. # [07:03] * Joins: dsinger (dsinger@68.126.184.36)
  308. # [07:08] * Quits: miketaylr (miketaylr@24.42.95.234) (Client exited)
  309. # [07:16] * Joins: alexmog (alexmog@173.200.179.65)
  310. # [07:17] * Joins: tantek (tantek@70.36.139.86)
  311. # [07:17] * Quits: tantek (tantek@70.36.139.86) (Quit: tantek)
  312. # [07:36] * Quits: dbaron (dbaron@98.234.51.190) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  313. # [07:51] * Quits: plinss_ (plinss@72.254.58.142) (Quit: plinss_)
  314. # [08:10] * Joins: TabAtkins (chatzilla@76.253.3.102)
  315. # [08:15] * Joins: myakura (d2e8220d@64.62.228.82)
  316. # [08:23] * Quits: myakura (d2e8220d@64.62.228.82) (Quit: http://www.mibbit.com ajax IRC Client)
  317. # [08:48] * Quits: jdaggett_ (jdaggett@202.221.217.73) (Quit: jdaggett_)
  318. # [08:50] * Quits: TabAtkins (chatzilla@76.253.3.102) (Ping timeout)
  319. # [08:50] * Quits: Arron (arronei@173.200.179.65) (Ping timeout)
  320. # [09:45] * Quits: alexmog (alexmog@173.200.179.65) (Ping timeout)
  321. # [09:46] * Joins: alexmog (alexmog@173.200.179.65)
  322. # [09:54] * Quits: fantasai (fantasai@66.55.71.177) (Ping timeout)
  323. # [10:12] * Joins: lstorset (lstorset@213.236.208.22)
  324. # [10:12] * Parts: lstorset (lstorset@213.236.208.22)
  325. # [10:29] * Quits: alexmog (alexmog@173.200.179.65) (Quit: alexmog)
  326. # [10:45] * Joins: fantasai (fantasai@66.55.71.177)
  327. # [12:52] * Disconnected
  328. # [12:53] * Attempting to rejoin channel #css
  329. # [12:53] * Rejoined channel #css
  330. # [12:53] * Topic is 'CSS WG -- logs: http://krijnhoetmer.nl/irc-logs/css -- blog: http://www.w3.org/blog/CSS'
  331. # [12:53] * Set by anne on Thu Mar 11 21:03:19
  332. # [14:22] * Joins: lstorset (lstorset@213.236.208.22)
  333. # [14:29] * Parts: lstorset (lstorset@213.236.208.22)
  334. # [15:11] * Joins: miketaylr (miketaylr@38.117.156.163)
  335. # [15:38] * Quits: jdaggett (jdaggett@110.4.186.83) (Quit: jdaggett)
  336. # [16:36] * Quits: dsinger (dsinger@68.126.184.36) (Quit: dsinger)
  337. # [16:49] * Joins: TabAtkins (chatzilla@76.253.3.102)
  338. # [16:53] * Joins: anne (annevk@76.253.3.102)
  339. # [17:08] * Quits: TabAtkins (chatzilla@76.253.3.102) (Ping timeout)
  340. # [17:12] * Quits: karl (karlcow@128.30.54.58) (Client exited)
  341. # [17:20] * Joins: plh-home (plh@128.30.52.28)
  342. # [17:20] * plh-home looks around for glazou. no luck so far
  343. # [17:26] * Joins: Arron (arronei@173.200.179.65)
  344. # [17:40] * Quits: anne (annevk@76.253.3.102) (Ping timeout)
  345. # [17:48] * Joins: apple (CSS-projec@17.201.14.208)
  346. # [17:48] * apple Good morning!
  347. # [17:49] * Quits: Arron (arronei@173.200.179.65) (Ping timeout)
  348. # [17:50] * Joins: dsinger (dsinger@17.244.1.88)
  349. # [17:50] * plh-home is now known as plh-lunch
  350. # [17:55] * Quits: dydz (dydz@75.37.27.246) (Connection reset by peer)
  351. # [18:01] * apple is now known as CSS-projector
  352. # [18:03] * Joins: dydz (dydz@75.37.27.246)
  353. # [18:03] * plh-lunch is now known as plh-home
  354. # [18:04] * Joins: TabAtkins (chatzilla@17.244.0.185)
  355. # [18:05] * Joins: anne (annevk@17.244.2.72)
  356. # [18:07] * Joins: smfr (smfr@17.244.3.222)
  357. # [18:10] * Joins: plinss_ (plinss@17.244.3.217)
  358. # [18:12] * dsinger people are...gathering...
  359. # [18:13] * Joins: dbaron (dbaron@63.245.220.11)
  360. # [18:15] * Joins: dethbakin (dethbakin@17.244.1.101)
  361. # [18:16] * Joins: sylvaing (sylvaing@17.244.2.236)
  362. # [18:17] * Joins: Arron (arronei@17.244.2.216)
  363. # [18:20] * Joins: bradk (bradk@17.244.0.81)
  364. # [18:20] <TabAtkins> ScribeNick: TabAtkins
  365. # [18:20] * Joins: glazou (glazou@17.244.3.28)
  366. # [18:21] <TabAtkins> plinss: First topic this morning is CSSOM.
  367. # [18:21] <TabAtkins> plinss: And impact on other specifications.
  368. # [18:21] * Joins: ChrisL (ChrisL@128.30.52.169)
  369. # [18:21] <TabAtkins> anne: While editting the spec, I noticed a few problems.
  370. # [18:21] <TabAtkins> anne: One is that there's no real data model.
  371. # [18:22] <TabAtkins> anne: The CSSOM is supposed to have a represetnation of what the stylesheet is like.
  372. # [18:22] <TabAtkins> anne: But in the CSS specifications there is no clear mapping from the syntax to the data model behind it.
  373. # [18:22] * Joins: szilles (chatzilla@17.244.3.121)
  374. # [18:22] <TabAtkins> anne: A clear example is the font-family property.
  375. # [18:22] <TabAtkins> anne: I think most impls internally represent them as strings, but that's not stated anywhere.
  376. # [18:22] <TabAtkins> anne: So when you try to design a value API, you have to state it there.
  377. # [18:23] <TabAtkins> fantasai: The font-family syntax I put up said explicitly that Computed Value should be strings, so I agree.
  378. # [18:23] <TabAtkins> anne: We need Specified Value too. Basically, what you get after parsing.
  379. # [18:23] <TabAtkins> anne: Two, there is surprising lack of consistency in the interface names.
  380. # [18:23] <TabAtkins> anne: Like, an interface named CSSStyleRule, that maps to a css ruleset, but that term isn't really defined in the grammar.
  381. # [18:24] <TabAtkins> anne: I'm not sure if we actually want to change the CSS spec, so this makes sense, or what?
  382. # [18:24] * Joins: alexmog (alexmog@17.244.2.33)
  383. # [18:24] <TabAtkins> anne: What I'm asking is if we want to adjust the terminology so that it's consistent between CSS and CSSOM.
  384. # [18:24] <TabAtkins> anne: I'm guessing we can't change the interface, so it would be CSS that changes in a few points.
  385. # [18:24] <TabAtkins> anne: Also, CSS spec refers to a lot of things as just 'values'.
  386. # [18:25] <TabAtkins> anne: But in CSSOM, that needs to be something separate, like a 'value component', because a property can have multiple of them.
  387. # [18:25] <TabAtkins> anne: The CSS spec is kind of loose with those things.
  388. # [18:25] <TabAtkins> howcome: I agree, the spec shoudl change there.
  389. # [18:25] <TabAtkins> ChrisL: The spec is focused on taking text into CSS, not in reverse. The OM spec should define that.
  390. # [18:26] <TabAtkins> fantasai: No, I think the spec is ambiguous in a lot of places.
  391. # [18:26] * Quits: szilles (chatzilla@17.244.3.121) (Ping timeout)
  392. # [18:26] <TabAtkins> Bert: There is context where we call many things values, and if we introduce multiple terms for these it would be too confusing.
  393. # [18:26] <TabAtkins> glazou: I heard the same thing when I introduced the [multiple types of selector groupings]
  394. # [18:27] <TabAtkins> dbaron: I objected to that at the time because a term was actually being *redefined*.
  395. # [18:27] <TabAtkins> anne: There are other specs where there are multiple concepts being referred to as the same thing. And that's fine, as long as there's a disambiguation at some point.
  396. # [18:28] <TabAtkins> Bert: That disambiguation is present in the <> forms.
  397. # [18:28] <TabAtkins> fantasai: I recommend 'property value' and 'component value', so they both abbreviate as 'value'.
  398. # [18:28] <TabAtkins> howcome: Agreed, we shouldn't be changing tons of terms in the spec, but the disambiguation is needed.
  399. # [18:29] <TabAtkins> ChrisL: Question about CSS color component. Is that used a lot, and is it memory constrained?
  400. # [18:29] <TabAtkins> anne: We can change it if necessary. Specifics are still mutable.
  401. # [18:29] <TabAtkins> anne: I can work around the lack of terminology, or invent my own, but it would be nice if it matched up.
  402. # [18:29] <TabAtkins> fantasai: Do you have a list of terms that you need?
  403. # [18:29] <TabAtkins> anne: No.
  404. # [18:30] <ChrisL> would prefer to see attribute long red; instead of attribute short red; - color bit depth is increasing now
  405. # [18:30] <TabAtkins> fantasai: I think the next step is to come up with that list of terms, so we can make sure it's defined somewhere.
  406. # [18:30] <TabAtkins> anne: The grammar uses the term "statement" to refer to @ rules or rulesets, and the CSSOM spec refers to them as "CSSRules".
  407. # [18:31] <TabAtkins> fantasai: I think CSSOM should be changed there.
  408. # [18:31] <TabAtkins> anne: [describes the terminology, and how it can't be changed at this point]
  409. # [18:31] <glazou> Present: Sam Weinig, smfr, annevk, szilles, dethbakin, sylvaing, alexm, Bert, arronei, fantasai, dbaron; bradk, TabAtkins, ChrisL, glazou, plinss, howcome, dsinger
  410. # [18:31] <ChrisL> http://en.wikipedia.org/wiki/Deep_Color
  411. # [18:31] <TabAtkins> fantasai: I'm not saying change the interface name, but you can say that "CSSRule" refers to what CSS calls "statement".
  412. # [18:31] <TabAtkins> anne: I tried to do that before, but it didn't make much sense to me.
  413. # [18:32] <TabAtkins> TabAtkins: I'd heard you talking before that it would be useful for specs to define how they should be reserialized, frex how to turn a gradient back into a string?
  414. # [18:32] <TabAtkins> anne: Yeah, something in the future is for the CSS specs to be aware of the CSSOM in their writing.
  415. # [18:33] <TabAtkins> anne: Like when you serialize the margin property, do you do as few values as possible, or write it out fully?
  416. # [18:33] <TabAtkins> ChrisL: I agree with anne that specs should be aware of the CSSOM and write things in respect to that.
  417. # [18:34] <TabAtkins> Bert: I think that the CSSOM should refer to CSS, not the other way around.
  418. # [18:34] <TabAtkins> anne: There are several CSS specs that include interfaces.
  419. # [18:34] <TabAtkins> Bert: Yeah, I think those should be taken out.
  420. # [18:35] <TabAtkins> anne: I think it would be acceptable for me to have an ever-growing OM spec, but that isn't compatible with how the w3c does recs.
  421. # [18:35] <TabAtkins> plinss: I think we agreed that specs going forward would define interfaces.
  422. # [18:35] <fantasai> fantasai: We agreed that they would define serialization, not that they would define interfaces
  423. # [18:36] <TabAtkins> plinss: It makes sense for the OM to define interfaces that are common across many specs, but we also shouldn't wait for a monolithic OM to include all the specialized interfaces that a module might have.
  424. # [18:36] * Joins: dino (dino@17.202.116.62)
  425. # [18:36] <fantasai> Bert: it doesn't have to be monolithic, you can publish a separate spec for each module's OM
  426. # [18:37] <TabAtkins> plinss: We can have two conformance classes, if you support the OM you have to support X and Y, if not you just have to support X.
  427. # [18:37] <TabAtkins> arronei: It's just a few lines in the conformance section to add the conformance requirements.
  428. # [18:38] <TabAtkins> fantasai: But we have several specs in CR that don't include an OM section, and I don't want to pull them back to add that.
  429. # [18:38] <TabAtkins> fantasai: We could create new OM specs just for those.
  430. # [18:38] <TabAtkins> dbaron: That's a lot of specs.
  431. # [18:38] <TabAtkins> anne: I'm fine with including that stuff in OM.
  432. # [18:39] <TabAtkins> fantasai: If you can give me a template that I fill in to add OM stuff, I can do it. But until then, I don't want to have to add them to the spec.
  433. # [18:39] <fantasai> fantasai: Half the generic stuff isn't even defined yet, and as for me I have *no clue* what to put in for the OM section
  434. # [18:40] <TabAtkins> plinss: The person editting a given module may have no clue what the OM requires, what's a good idea, and so in that sense it may make sense to have a separate OM module for it.
  435. # [18:40] <TabAtkins> anne: For value APIs, new values, we do want interfaces.
  436. # [18:40] <TabAtkins> Bert: But for new keywords or lengths or numbers, those already exist?
  437. # [18:40] <TabAtkins> anne: Yes.
  438. # [18:41] <TabAtkins> anne: And for backgrounds, it might be sufficient already since it's a comma-separated list.
  439. # [18:41] * Joins: myakura (myakura@122.17.119.104)
  440. # [18:41] <TabAtkins> anne: For transforms, animations, they all introduce properties with slightly more complex values that need new value interfaces.
  441. # [18:42] <TabAtkins> plinss: Any new @ rule needs an interface. And depending on how granular we get with the API, we may need to extend it for more things.
  442. # [18:42] <TabAtkins> anne: And the Images module, it would need to define new interfaces for the new things in there.
  443. # [18:43] <TabAtkins> plinss: Any conclusions on this?
  444. # [18:43] <TabAtkins> Bert: There was something about numbering, and them having to be unique. Is there any way to avoid this?
  445. # [18:43] <TabAtkins> anne: The pattern that is used all over most APIs is to use numbered constants.
  446. # [18:44] <TabAtkins> anne: For CSSRule we cant' change the pattern. For CSSValue I suppose we could, but we haven't discussed it yet. I think it makes sense to keep it with the familiar way.
  447. # [18:44] <TabAtkins> Bert: Does every @ rule need a new number then?
  448. # [18:44] <TabAtkins> anne: If it exposed the same information as another @ rule, it can reuse a number.
  449. # [18:45] <TabAtkins> plinss: @page introduces multiple different @ rules, which would all need a number.
  450. # [18:45] <TabAtkins> anne: We have @page and friends, @font-face, @media, @import, and stylerules, all with different numbers.
  451. # [18:46] <TabAtkins> anne: So far new @ rules probably want a new number.
  452. # [18:46] * Quits: alexmog (alexmog@17.244.2.33) (Connection reset by peer)
  453. # [18:46] <TabAtkins> anne: Like all the @margin rules might share a single number.
  454. # [18:46] * Joins: alexmog (alexmog@17.244.2.33)
  455. # [18:47] <TabAtkins> Bert: Numbers need coordination, which I think we should try to avoid if possible.
  456. # [18:47] <TabAtkins> anne: I think we should just try to coordinate.
  457. # [18:47] <TabAtkins> anne: We managed to do it pretty well for DOM Exceptions.
  458. # [18:48] <TabAtkins> Bert: Who do we have to coordinate with. Just here, or do we have to coordinate with SVG?
  459. # [18:48] <TabAtkins> anne: Officially SVG has to coordinate with us, but I've reserved some space for [something SVG-specific].
  460. # [18:48] <TabAtkins> [talk about different impls stomping on numbers]
  461. # [18:48] * Parts: alexmog (alexmog@17.244.2.33)
  462. # [18:49] * Joins: alexmog (alexmog@17.244.2.33)
  463. # [18:49] <fantasai> make the constant point to a UUID? :)
  464. # [18:49] <TabAtkins> ChrisL: We need an easily referencable page where we can refer to this and stop conflicts.
  465. # [18:49] <TabAtkins> [discussion on using a wiki for coordination]
  466. # [18:49] <TabAtkins> anne: There is a way with WebIDL that you can extend an interface.
  467. # [18:49] <TabAtkins> Bert: You can reference a wiki as an informative reference, but not a normative one.
  468. # [18:50] <TabAtkins> anne: Yeah, sure, it can be informative. That's fine.
  469. # [18:50] <TabAtkins> fantasai: So these numbers are all named constants, and people are supposed to use the names?
  470. # [18:50] <TabAtkins> anne: Theoretically.
  471. # [18:50] <TabAtkins> fantasai: Can we have the named constant return something other than a number?
  472. # [18:50] <TabAtkins> anne: No, the type is a short.
  473. # [18:51] <TabAtkins> anne: Same thing is done with, say, Nodes, but that doesn't change very often. CSS adds new things somewhat more often.
  474. # [18:52] <TabAtkins> plinss: If you're implemeneting something early, like Paged Media in webkit, should prefixed versions use the same final number?
  475. # [18:52] <TabAtkins> anne: No, it says right now that the CSSWG reserves the first 1000 values.
  476. # [18:53] <TabAtkins> plinss: So proprietary versions should use a number above 1000.
  477. # [18:54] <TabAtkins> ChrisL: Will implementations switch from >1000 to <1000 when they get standardized?
  478. # [18:54] <TabAtkins> anne: When they drop the prefix should be fine.
  479. # [18:54] <TabAtkins> plinss: Should we try to reserve blocks for individual browsers?
  480. # [18:55] <TabAtkins> fantasai: Authors should just use the named constants.
  481. # [18:55] <TabAtkins> smfr: Should the named constants be prefixed?
  482. # [18:55] * Joins: howcome (howcome@17.244.0.146)
  483. # [18:56] <TabAtkins> anne: Good question. If you don't prefix, there's a chance that code would still work when it moved to standardization. But if we changed anything, then it could break.
  484. # [18:56] <TabAtkins> anne: Ideally we'd iterate fast enough that we don't run into that situation.
  485. # [18:56] <TabAtkins> anne: If people want to write their thoughts to the list, it would be fine.
  486. # [18:57] <TabAtkins> ACTION: anne to set up wiki page to list CSSOM constants for coordination
  487. # [18:57] * trackbot noticed an ACTION. Trying to create it.
  488. # [18:57] * RRSAgent records action 11
  489. # [18:57] <trackbot> Created ACTION-219 - Set up wiki page to list CSSOM constants for coordination [on Anne van Kesteren - due 2010-04-07].
  490. # [18:57] <TabAtkins> plinss: Did we come up with a decision for how to do OM sections for new modules?
  491. # [18:58] <TabAtkins> anne: I think for specs in WD, it would make sense to have them in the spec. But perhaps we should defer that a little and discuss the value APIs first.
  492. # [18:58] <TabAtkins> anne: So currently for the value apis you get a CSSStyleDeclaration object, with a long list of attributes that represent CSS properties.
  493. # [18:58] <TabAtkins> anne: And they all return a string.
  494. # [18:58] <smfr> http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface
  495. # [18:58] <TabAtkins> anne: The initial idea we had was that instead of a string it would return something special, that would act like a string but would allow extensions.
  496. # [18:59] <TabAtkins> anne: I brought it up on public-script-coord, where ecmascript guys hang out, but they didn't think it was a good idea.
  497. # [18:59] <TabAtkins> anne: [some examples of breakage]
  498. # [18:59] <TabAtkins> anne: Based on that we have a new idea. The CSSStyleDeclaration object would have a new property called values, which would return a CSSStyleVales object.
  499. # [19:00] <TabAtkins> anne: It would act like StyleDeclaration, but when you access a property, it would return a CSSValue object rather than a string.
  500. # [19:00] <TabAtkins> anne: The object would have a cssText attribute that lets you set a string or get a serialization, which is equivalent to the existing API.
  501. # [19:00] <TabAtkins> anne: So then the question is how to define the new value APIs on top of that.
  502. # [19:00] <TabAtkins> anne: I think we want interfaces for the components.
  503. # [19:01] <TabAtkins> anne: So an interface for %, for lengths, for color values
  504. # [19:01] <fantasai> anne, http://wiki.csswg.org/spec/cssom-constants
  505. # [19:01] <TabAtkins> anne: And if you have a width property, that supports both lengths and %, the object returned would implement both.
  506. # [19:01] <smfr> http://dev.w3.org/csswg/cssom/#the-cssvalue-interface
  507. # [19:01] <TabAtkins> anne: It would have an .px and .em accessor, but also a percentage accessor so you could set and get %.
  508. # [19:01] <TabAtkins> anne: So how far do we want to go? Each and every property, or start out witha limited subset?
  509. # [19:02] <TabAtkins> anne: And do we need a "type" like CSSRule so you can figure out what kind of value was set?
  510. # [19:03] <TabAtkins> anne: Like, ComponentValue would return a type of lengthEm, lengthPx, etc. Would that be a short, like the other types? Or a string that could be interned, which could be more extensible.
  511. # [19:03] <TabAtkins> anne: If we did numbers, then if we start filling in spots, say if we added a new length, it could be very separated from the other lengths. px could be 12, and rem could be 100.
  512. # [19:04] <TabAtkins> plinss: As long as people use names, the numbers wouldn't matter much anyway.
  513. # [19:04] <TabAtkins> plinss: We could also reserve blocks.
  514. # [19:04] <TabAtkins> szilles: So what's the downside on strings?
  515. # [19:04] <TabAtkins> plinss: Pereformance.
  516. # [19:04] <TabAtkins> anne: If they're interned, it would just be pointer comparisons.
  517. # [19:05] <TabAtkins> plinss: I'm concerned more with author script stuff. Will I be doing a thousand string comparisons, or a thousand short comparisons?
  518. # [19:05] <Bert> s/Pereformance/Performance/
  519. # [19:05] <TabAtkins> smfr: Potentially, we could have them do atomic string comparisons.
  520. # [19:05] <fantasai> You might also want to answer things like "is this a length (any kind)" or "is this a percentage"
  521. # [19:06] <fantasai> ?: Can we define constants that are strings?
  522. # [19:06] <plinss_> s/?/anne/
  523. # [19:06] <TabAtkins> ?: Nothing theoretically wrong with it. The strings are essentially immutable.
  524. # [19:07] <TabAtkins> s/?/Sam Weinig/
  525. # [19:07] * Joins: weinig (weinig@17.244.2.164)
  526. # [19:07] <TabAtkins> anne: How do we, at the object level, distinguish between value components and things that are separated lists of value components.
  527. # [19:07] <TabAtkins> anne: Like, background-position takes two values.
  528. # [19:08] <TabAtkins> anne: So how do we represent that?
  529. # [19:08] <TabAtkins> plinss: I think it should return a backgroundPosition object that has two values.
  530. # [19:09] <TabAtkins> glazou: We could return an array with the components in the order they appear.
  531. # [19:09] <TabAtkins> plinss: Or an object with queryable values, so it's more extensible.
  532. # [19:10] <TabAtkins> anne: Also, do we want a special interface for shorthands? Like margin, should we implement a margin property or only margin-left, margin-right, etc?
  533. # [19:10] <TabAtkins> dbaron: Also there are some non-shorthand values that are rather complex, like shadows or border-image.
  534. # [19:11] <TabAtkins> plinss: We could pretend they are shorthands and expose them as such in the object model.
  535. # [19:11] <TabAtkins> anne: But then we're stuck if a property later becomes a shorthand.
  536. # [19:11] <TabAtkins> fantasai: Like we're going to do with whitespace.
  537. # [19:11] <TabAtkins> smfr: I think the hash-table approach would work for shorthands.
  538. # [19:13] <fantasai> fantasai: So, for the 'margin' shorthand you'd be able to look up the 'margin-left' value and 'margin-right' value?
  539. # [19:13] <dbaron> A bunch of the complex-valued properties are arbitrary-length lists, which are hard to represent as shorthands.
  540. # [19:13] <TabAtkins> glazou: If possible, harmonize things across properties, so "x" is the same for all the values.
  541. # [19:13] <TabAtkins> sam: In that case you wouldn't have named components, but rather numbered components.
  542. # [19:14] <fantasai> fantasai: You could have named components that are lists
  543. # [19:14] <TabAtkins> plinss: We've already had things that take a single value and turned them into lists of that value.
  544. # [19:15] <TabAtkins> anne: A simple example would be background-image, which would return a css url, but also have a way of getting a list of css urls.
  545. # [19:15] <TabAtkins> dbaron: I think the single-value thing should only return the single value if there *is* a single value, and otherwise complain about being a wrong tpe.
  546. # [19:16] <dbaron> s/complain about/do whatever happens when it is/
  547. # [19:16] <dbaron> s/being a wrong tye/the wrong type/
  548. # [19:17] <TabAtkins> glazou: Recursively nested values.
  549. # [19:17] <dbaron> What's interesting with url() values is often an absolute URL rather than a relative URL relative to the style sheet.
  550. # [19:17] <TabAtkins> glazou: In the case of color, rgb returns a single color value, which also has .r, .g, .b.
  551. # [19:17] <TabAtkins> glazou: etc.
  552. # [19:19] <TabAtkins> glazou: Editors will *massively* use CSSOM if it is easier to use, but not if they have to reparse/rebuild values into a useful form every time.
  553. # [19:20] <TabAtkins> anne: I think you want interfaces for this.
  554. # [19:21] <TabAtkins> glazou: Another thing I want to see in the CSSOM, some things just for editors.
  555. # [19:21] <TabAtkins> glazou: Like not just the reserialized text, but the original parsed text.
  556. # [19:22] <TabAtkins> glazou: Like if the @style attribute has something wrong, browsers currently throw it away and it's hard to get at that.
  557. # [19:22] <TabAtkins> glazou: Browsers don't need that, so they can just return null or whatever, but editors are allowed to return the full thing.
  558. # [19:23] <TabAtkins> sam: Is that confusing for authors?
  559. # [19:23] <TabAtkins> anne: If it's not for browsers, do we need it in the spec?
  560. # [19:23] <TabAtkins> glazou: Yes, if you have multiple editors you want interop.
  561. # [19:24] <TabAtkins> smfr: So what if someone wants to write a javascript editor tool in a normal browser?
  562. # [19:24] <TabAtkins> TabAtkins: Like FireBug would love this.
  563. # [19:24] <TabAtkins> smfr: Isn't this what UnknownRule is for?
  564. # [19:24] <TabAtkins> dbaron: UnknownRule was designed by someone who doesn't understand CSS parsing.
  565. # [19:25] <TabAtkins> plinss: We could just tell browsers to *not* throw away these things.
  566. # [19:25] <TabAtkins> sam: For Firebug and Web Inspector we use internal hooks, and don't need the specced thing.
  567. # [19:25] <TabAtkins> arronei: What if I'm a brand new editor for HTML and CSS? This is where having a spec would be great.
  568. # [19:26] <TabAtkins> sam: The issue is that it would slow down browsers. We can either decide that we have it anyway, or not.
  569. # [19:26] <TabAtkins> smfr: We could have a runtime switch controlled by the OM. It's weird, but shrug.
  570. # [19:26] * ChrisL bijectively
  571. # [19:27] <TabAtkins> [discussion about editors and browsers throwing things away]
  572. # [19:27] <TabAtkins> glazou: A live editing tool for HTML and CSS right now is impossible because of this limitation.
  573. # [19:27] <fantasai> I don't think UnknownRule or UnknownAnything is necessarily the way to go. You should have a unified API insofar as possible. You can have MalformedRule or something for things that can't be parsed...
  574. # [19:27] <TabAtkins> anne: We've had this discussion before. I thinkwe might want some editing features already, and we might want to move those upward.
  575. # [19:28] <TabAtkins> anne: But I think we need a more concrete proposal for how to modify the OM for editors.
  576. # [19:28] <fantasai> But if it's clearly propertyname : valueIcan'tUnderstand, you should get an api that works the same as for color: blue;
  577. # [19:28] <fantasai> and returns the propertyname and the string representation of the value
  578. # [19:28] <TabAtkins> glazou: concrete example: firebug, dragonfly, etc, from a given element, you can climb up the cascade to find which element triggered the current rule. But it's not standard!
  579. # [19:28] <TabAtkins> glazou: We all use proprietary interfaces to do it.
  580. # [19:29] <TabAtkins> anne: That's something we can definitely standardize.
  581. # [19:29] <TabAtkins> anne: For changing the parsing engine we need more detailed proposals.
  582. # [19:29] <TabAtkins> dbaron: CSS is harder to get right because you've got comments anywhere.
  583. # [19:30] <TabAtkins> glazou: My own impl preserves comments between rules and between declarations. But that's a big bloat for browsers.
  584. # [19:30] <TabAtkins> plinss: in the early days of gecko I made something that preserved all the information, and if it found a comment somewhere odd, it would shove it forward to the next 'normal' point for comments.
  585. # [19:31] <TabAtkins> glazou: That's not perfect, but yeah it works.
  586. # [19:31] <TabAtkins> glazou: I perfectly understand the browser's concerns wrt bloat and footprint.
  587. # [19:31] <TabAtkins> glazou: But adding nothing at all shuts the door to a whole class of live applications on the web that are everywhere these days.
  588. # [19:31] <TabAtkins> glazou: Wikis are everywhere, styles are everywhere, and we still can't edit styles.
  589. # [19:32] <TabAtkins> anne: We can largely edit it. Not every property, but most of them.
  590. # [19:32] <TabAtkins> anne: I think most editors let you edit the text file.
  591. # [19:32] <TabAtkins> ChrisL: Because the OM isn't up to the task yet.
  592. # [19:32] <TabAtkins> howcome: That's what the spec is trying to fix, right?
  593. # [19:33] <TabAtkins> anne: For WYSIWYG you don't need comments, so I see some conflicts.
  594. # [19:33] <TabAtkins> howcome: I think Anne is trying to get this done, and you're being aggressive to him.
  595. # [19:33] <TabAtkins> glazou: I'm not aggressive, I love what you've done, I just want to see more.
  596. # [19:34] <TabAtkins> smfr: You should both be able to edit the text directly, and move to doing sliders and such, and go back. We need that for our editor.
  597. # [19:35] <TabAtkins> plinss: The Web has a legacy of documents being editted by hand, and we can't just throw that away into a non-hand-editable spec as soon as machines touch it.
  598. # [19:35] <TabAtkins> sam: I think that Anne's work doesn't impede any of this.
  599. # [19:35] <TabAtkins> glazou: I think that when OM was first created, editors weren't in anyone's mind.
  600. # [19:36] <TabAtkins> plinss: Gecko actually got built to be an editor. The fact that it turned into a browser is happenstance.
  601. # [19:37] <TabAtkins> plinss: While we were designing that stuff, we saw the convergence of editors and browsers as the web develops.
  602. # [19:37] <TabAtkins> plinss: We eventually realized that the only difference between gecko being a browser and being an editor was a stylesheet.
  603. # [19:38] <TabAtkins> anne: We just need to find what the cost for benefit is. If browsers already preserve comments, we can look into that, but we can't put comments everywhere.
  604. # [19:38] <TabAtkins> anne: And what about whitespace?
  605. # [19:39] <TabAtkins> glazou: What's important is maintaining what was entered. Like for border-radius, you can't just have everything but the -moz-border-radius thrown away just because that's the only one that was recognized.
  606. # [19:39] <TabAtkins> anne: If someone can define what sort of string would be produced, and browsers are okay with the footprint, we'd be okay.
  607. # [19:40] <TabAtkins> fantasai: I think you would start parsing, and get the property name as an ident.
  608. # [19:40] <TabAtkins> plinss: ident, colon, stuff, semicolon.
  609. # [19:41] <TabAtkins> sam: So basically we'd have something more than unknown rules, for unknown declarations too, and a browser mode that would change that.
  610. # [19:41] <TabAtkins> fantasai: For all rules too.
  611. # [19:41] <TabAtkins> alexmog: Let's have a CSS editing requirement TF and come up with a list of requirements for object model, for editors, and other features, so we can figure out what the goals we're trying to achieve are.
  612. # [19:42] <TabAtkins> alexmog: Right now we're designing a partial object model. We can possible change the OM into something that does what we need, or something completely different for editors.
  613. # [19:43] <TabAtkins> alexmog: [he talks to VS people twice a year about this, various requests]
  614. # [19:43] <TabAtkins> RESOLVED: Alex and Daniel will start a CSS Editing TF.
  615. # [19:44] <TabAtkins> anne: I think if you want it to end up in browsers you want it to reconcile with the OM.
  616. # [19:44] <TabAtkins> glazou: Yes.
  617. # [19:44] <TabAtkins> alexmog: I'm not quite convinced if a high-powered editor needs to be built on the object model.
  618. # [19:45] <TabAtkins> alexmog: Like if there are only a small number of companies building major editors, they may not need a full OM in favor of just a more editing-friendly interface.
  619. # [19:46] <TabAtkins> plinss: The same thing happened with HTML. First browsers didn't remember anything about the HTML, and the object model got thrown away as it was parsed. But we gradually kept around more of the model.
  620. # [19:47] <TabAtkins> plinss: So we need to extend this over CSS.
  621. # [19:47] <TabAtkins> plinss: We didn't build the DOM to build an editor, it just happens to also be useful for this.
  622. # [19:47] <TabAtkins> glazou: We know there are some things that we always can't do, like preserving comments everywhere.
  623. # [19:50] <bradk> It would be nice if the various developer tools (FireBug, etc.) preserved (and flagged somehow) properties and values that had typos or spelling mistakes, so that they can be edited and fix in-browser.
  624. # [19:52] * Quits: bradk (bradk@17.244.0.81) (Quit: Computer has gone to sleep)
  625. # [19:56] <dbaron> glazou, http://dbaron.org/css/timing-function-graphs
  626. # [19:57] * Joins: bradk (bradk@17.244.0.81)
  627. # [20:03] * Quits: myakura (myakura@122.17.119.104) (Quit: Leaving...)
  628. # [20:04] * howcome has put up som snapshots from yesterday http://www.wiumlie.no/img/2010/03-csswg-cupertino/best.html
  629. # [20:06] * Quits: alexmog (alexmog@17.244.2.33) (Connection reset by peer)
  630. # [20:06] * Joins: alexmog (alexmog@17.244.2.33)
  631. # [20:12] <TabAtkins> anne: We need to have the hash-table concept for values that are space-separated, and a list concept for values that are comma separated?
  632. # [20:13] <TabAtkins> anne: for margin, you'd return a hashtable-like interface with each property
  633. # [20:14] <TabAtkins> TabAtkins: We just need to make sure that properties that later turn into shorthands still work by themselves.
  634. # [20:15] <TabAtkins> sam: My suggestion to anne was to take some of the more complex examples of syntax, break it down into concrete proposals, and put that on the list.
  635. # [20:15] <TabAtkins> fantasai: I suggest border image.
  636. # [20:15] <TabAtkins> glazou: Font stuff too.
  637. # [20:15] <TabAtkins> sam: Whatever is *as hard* for anne as possible.
  638. # [20:15] * Quits: weinig (weinig@17.244.2.164) (Quit: weinig)
  639. # [20:15] <TabAtkins> fantasai: shadows and the content property.
  640. # [20:16] <TabAtkins> ACTION: anne to produce concrete examples of complex properties and put it on the list
  641. # [20:16] * RRSAgent records action 12
  642. # [20:16] * trackbot noticed an ACTION. Trying to create it.
  643. # [20:16] <trackbot> Created ACTION-220 - Produce concrete examples of complex properties and put it on the list [on Anne van Kesteren - due 2010-04-07].
  644. # [20:17] <TabAtkins> smfr: We also need to define if every property has a canonical form. If someone specifies 'ease' in a timing function, do they get 'ease' back or a bezier function?
  645. # [20:17] <TabAtkins> plinss: As much as possible we should return what the author specified.
  646. # [20:18] <TabAtkins> anne: We could have a .keyword value that would return a keyword if the value corresponds to a keyword.
  647. # [20:18] <TabAtkins> glazou: Same with color - if the author says "red", do we do 'red', '#f00', rgba(255,0,0,1), or what?
  648. # [20:18] <TabAtkins> anne: Browsers try to store as little as possible right now.
  649. # [20:20] <TabAtkins> plinss: For a browser, no matter what gets specified it'll be stored as a [r,g,b] or whatnot, and I'd want back what the author actually said sometimes if possible.
  650. # [20:20] <TabAtkins> anne: We might have a bit that says if the color was originally a keyword or whatnot.
  651. # [20:20] <TabAtkins> anne: Currently there are a number of normalization rules for various things.
  652. # [20:20] <TabAtkins> plinss: I'm concerned that some of them go too far.
  653. # [20:21] <TabAtkins> plinss: If you have multiple ways to pull a value back out of the OM, that's fine, but when serialized to text it should be as close to what the author said as possible. We can change "Red" to "red", don't need bit-for-bit, but the spirit should be the same.
  654. # [20:22] <TabAtkins> smfr: One problem I have with gradients is that there's no canonicalization.
  655. # [20:22] <TabAtkins> TabAtkins: Agreed, I need to add that.
  656. # [20:22] <TabAtkins> plinss: CSS3 Color Issues
  657. # [20:22] <dbaron> http://wiki.csswg.org/spec/css3-color
  658. # [20:22] * Joins: szilles (chatzilla@17.244.3.121)
  659. # [20:23] <TabAtkins> Currently the editors draft addresses most of these issues, but I haven't yet replied to the emails with these comments.
  660. # [20:23] <TabAtkins> First is issue 5.
  661. # [20:24] <TabAtkins> dbaron: At first I thought it was someone who didn't understand the spec, but I realize now that there isn't a good description of what rgba means.
  662. # [20:24] <TabAtkins> ChrisL: And I think it should explain how it interacts with opacity (multiplied together).
  663. # [20:24] <TabAtkins> dbaron: A repeated comment we got was the gamma correction section being out of date; I think I've addressed that.
  664. # [20:24] <TabAtkins> ChrisL: Yeah, looks like it.
  665. # [20:24] <smfr> editor's draft: http://dev.w3.org/csswg/css3-color/
  666. # [20:24] <TabAtkins> ChrisL: Beth will send me an email that gamma has changed between Leopard and Snow Leopard.
  667. # [20:25] <TabAtkins> dbaron: The wording of the spec in general isn't great about what conformance requirements are, so there are some issues where I think I can improve that relatively easily.
  668. # [20:25] <TabAtkins> dbaron: Frex, it says "here is how to convert hsl to rgb", but it doesn't say you *have* to do that.
  669. # [20:25] <TabAtkins> ChrisL: yeah, that should be normative.
  670. # [20:26] <TabAtkins> ChrisL: Also there was an issue about color spaces and color width and such. All colors should be sRGB, and 0-255.
  671. # [20:26] <TabAtkins> dbaron: Issue 13
  672. # [20:26] * Quits: szilles (chatzilla@17.244.3.121) (Ping timeout)
  673. # [20:27] <TabAtkins> dbaron: Someone suggested we remove the statement about clipping values outside the device gamut, which makes me wonder what to replace it with.
  674. # [20:27] <TabAtkins> ChrisL: I don't think they understood the issue. Do we have a conformance reuqirement to display colors you can't physically display?
  675. # [20:27] <TabAtkins> dbaron: I think that we might not quite want to clip, but might do some special mapping near the edge.
  676. # [20:28] <TabAtkins> ChrisL: [example with differing gamuts]
  677. # [20:28] <TabAtkins> ChrisL: After doing gamut mapping, if I still end up with values outside the displayable colors, it must be clipped.
  678. # [20:28] <TabAtkins> dsinger: Are you modifying what you remember the user asked for, or what you are trying to display?
  679. # [20:29] <TabAtkins> ChrisL: If it's implying that what is specified goes 1-1 with device gamut, that needs to be changed.
  680. # [20:29] <TabAtkins> dbaron: Right, that's why I want to change "clipped" to "clipped or mapped".
  681. # [20:29] <TabAtkins> ChrisL: "clipped or mapped" isn't fine.
  682. # [20:30] <TabAtkins> ChrisL: You need to say "values outside source gamut should be mapped to device gamut, values outside device gamut must be clipped".
  683. # [20:30] <TabAtkins> dbaron: What's the source gamut?
  684. # [20:30] <TabAtkins> ChrisL: The color space you're coming from, sRGB.
  685. # [20:30] <TabAtkins> dbaron: CSS allows values outside of sRGB.
  686. # [20:31] <TabAtkins> ChrisL: Yes, that's fine. If you have a printer that can do blues outside of sRGB, that's fine, CSS lets you express that.
  687. # [20:31] * Joins: szilles (chatzilla@17.244.3.121)
  688. # [20:31] <TabAtkins> ChrisL: But if you're showing on a screen, you can clip to the device's gamut.
  689. # [20:31] <TabAtkins> dbaron: How is the source gamut related to things here?
  690. # [20:32] <TabAtkins> ChrisL: I should have flagged 'device gamut' more. Once you've mapped to the device gamut, *then* you need to clip anything outside of it.
  691. # [20:32] <TabAtkins> Bert: The device clips them for you, right?
  692. # [20:33] <TabAtkins> ChrisL: Typically the driver clips them for you.
  693. # [20:33] <TabAtkins> ChrisL: You need to introduce the term source gamut and device gamut, and use them separately.
  694. # [20:33] <TabAtkins> dbaron: What is the source gamut?
  695. # [20:33] <TabAtkins> ChrisL: In here, sRGB, or any other color space if we allow more later.
  696. # [20:34] <TabAtkins> dbaron: But we allow things outside of sRGB.
  697. # [20:34] <TabAtkins> ChrisL: Right, nobody is talking about clipping source gamut.
  698. # [20:35] <TabAtkins> ChrisL: I can take an action to give a better description here.
  699. # [20:35] <TabAtkins> szilles: [suggestion for communicating this without using the term gamut]
  700. # [20:37] <TabAtkins> ACTION: clilley to rewrite the paragraph in CSS color concerning gamuts and clipping
  701. # [20:37] * trackbot noticed an ACTION. Trying to create it.
  702. # [20:37] * RRSAgent records action 13
  703. # [20:37] <trackbot> Created ACTION-221 - Rewrite the paragraph in CSS color concerning gamuts and clipping [on Chris Lilley - due 2010-04-07].
  704. # [20:37] <TabAtkins> dbaron: issue 18, from xsl-fo.
  705. # [20:37] <smfr> http://wiki.csswg.org/spec/css3-color#issue-18
  706. # [20:39] <smfr> http://lists.w3.org/Archives/Public/www-style/2008Sep/0006.html
  707. # [20:39] <TabAtkins> dbaron: It's one of the later messages in the thread.
  708. # [20:40] <TabAtkins> ChrisL: Marbux is a troll.
  709. # [20:40] <TabAtkins> glazou: We still need to respond to trolls.
  710. # [20:40] <TabAtkins> glazou: Talked to AC people, they said it was no problem.
  711. # [20:41] <TabAtkins> glazou: So we have an answer. It's member-only, but it's not a technical issue, only a legal one. It probably deserves a member-only answer.
  712. # [20:41] <TabAtkins> ChrisL: So resolution is no change?
  713. # [20:41] <TabAtkins> szilles: The "be" change should happen, though, right?
  714. # [20:41] <TabAtkins> dbaron: That's editorial, yeah.
  715. # [20:42] <TabAtkins> ChrisL: So we can say "We agree with the editorial comments from the XSL-FO working group". It makes it clear who we're agreeing with.
  716. # [20:42] <TabAtkins> dbaron: There's a note at the bottom of the system colors section that I think is wrong.
  717. # [20:42] <TabAtkins> dbaron: It says the computed value of a system color is the keyword itself.
  718. # [20:43] <TabAtkins> dbaron: First it's weird that a normative requirement is a note, and I think it's wrong anyway.
  719. # [20:43] <TabAtkins> dbaron: So system colors should compute to a color.
  720. # [20:43] <TabAtkins> ChrisL: Sounds good.
  721. # [20:44] <TabAtkins> ChrisL: I've seen Issue 20 come up in hypertext coordination group before, and so we need to say what we mean by 'deprecated'.
  722. # [20:44] <TabAtkins> dbaron: We mean that impls should still implement it, but new content shouldn't use it.
  723. # [20:44] <TabAtkins> ChrisL: Issue 27, we should discuss it.
  724. # [20:45] <TabAtkins> ChrisL: I assume it's because we can get it out this decade?
  725. # [20:45] <TabAtkins> dbaron: It doesn't have real dependencies; it can go to 2.1 just fine.
  726. # [20:46] <dbaron> Sounds like people are all happy with depending on CSS 2.1
  727. # [20:46] * plh-home is now known as plh-away
  728. # [20:46] <TabAtkins> plinss: Next topic is animation of gradients.
  729. # [20:46] <TabAtkins> smfr: I think this came up because the Transitions spec said gradients were animatable.
  730. # [20:46] * Quits: alexmog (alexmog@17.244.2.33) (Connection reset by peer)
  731. # [20:46] * Joins: alexmog (alexmog@17.244.2.33)
  732. # [20:46] <TabAtkins> smfr: I think this is a mistake because gradients aren't a property, but rather a type of image, and we don't know how to transition images yet.
  733. # [20:47] <TabAtkins> smfr: Also I think this might be someething for the public-fx group to input into as well.
  734. # [20:48] <TabAtkins> ChrisL: Could you send a mail to the list about that?
  735. # [20:48] <TabAtkins> ChrisL: [talks about how animating gradients in SVG is easy]
  736. # [20:49] <TabAtkins> TabAtkins: I've got a goal with shepazu to unify some underlying concepts in CSS and SVG, to make those things easier.
  737. # [20:49] <TabAtkins> plinss: Next topic is image-fit and image-position
  738. # [20:49] <TabAtkins> fantasai: We can't do much, since that was supposed to be for SVG coord.
  739. # [20:49] <TabAtkins> fantasai: But one thing we can talk about is naming. SVG wanted new names for things.
  740. # [20:49] * Quits: szilles (chatzilla@17.244.3.121) (Ping timeout)
  741. # [20:49] <TabAtkins> fantasai: We might be able to discuss that.
  742. # [20:49] <fantasai> http://lists.w3.org/Archives/Public/www-style/2009Sep/0304.html
  743. # [20:51] <anne> btw, http://blog.mozilla.com/security/2010/03/31/plugging-the-css-history-leak/
  744. # [20:52] <TabAtkins> howcome: image-* isn't perfect for video either
  745. # [20:52] <TabAtkins> fantasai: fit-aspect-ratio says that you're fitting the aspect ratio to the box.
  746. # [20:52] <TabAtkins> fantasai: As far as the most useful information you can stuff into the property, that's fine.
  747. # [20:53] <TabAtkins> ChrisL: So fit-aspect-ratio and fit-position are good?
  748. # [20:53] <TabAtkins> howcome: No. What if you put it on a <p>?
  749. # [20:53] <TabAtkins> fantasai: No aspect ratio, so it's no good.
  750. # [20:54] <TabAtkins> howcome: Are there other suggestions?
  751. # [20:54] <TabAtkins> Bert: Without something pointing to images or replaced content, this sounds too general.
  752. # [20:54] <fantasai> s/it's no good/it doesn't apply/
  753. # [20:54] <TabAtkins> dbaron: What's the list of values for this?
  754. # [20:55] <TabAtkins> TabAtkins: For aspect ratio: fill, cover, and contain. For position, a bg-position.
  755. # [20:55] <TabAtkins> howcome: Why isn't image good enough for SVG?
  756. # [20:56] <TabAtkins> dbaron: If I hear "aspect-ratio", I expect something that looks like a ratio.
  757. # [20:57] * dsinger needs a link to the spec. in which they occur
  758. # [20:57] <TabAtkins> fantasai: Maybe aspect-ratio-fit, but then it's weird to combinee them into a shorthand.
  759. # [20:57] * TabAtkins Paged Media spec.
  760. # [20:58] <TabAtkins> smfr: content-fit, or just fit?
  761. # [20:58] <TabAtkins> Bert: We had that.
  762. # [20:58] <dsinger> here http://dev.w3.org/csswg/css3-page/
  763. # [20:58] <TabAtkins> TabAtkins: We had content-fit, said it was too general, and changed it to image-fit.
  764. # [20:58] <smfr> http://dev.w3.org/csswg/css3-page/#img-fit
  765. # [20:59] <TabAtkins> TabAtkins: This specifically says "replaced elements", which isn't great for SVG.
  766. # [21:00] <TabAtkins> fantasai: When SVG imports it, they can clarify wording for their own purposes.
  767. # [21:00] <TabAtkins> fantasai: In CSS, all values have no effect on non-replaced content.
  768. # [21:00] <TabAtkins> Bert: content-* has another advantage, in that it refers back to the content property, which can produce a replaced element.
  769. # [21:01] * fantasai thinks that nobody will find 'fit-content' when they're looking for it if it has neither aspect-ratio nor image in its name
  770. # [21:01] <Bert> 'content-fit' not 'fit-content'
  771. # [21:02] <TabAtkins> [naming discussions]
  772. # [21:02] <bradk> 'scale-how' and 'position-how'
  773. # [21:02] <Bert> (I still prefer 'image-fit', though)
  774. # [21:02] * Quits: mjs (mjs@69.181.42.237) (Quit: mjs)
  775. # [21:03] <fantasai> 'aspect-ratio-fit'
  776. # [21:03] <fantasai> 'fit-aspect-ratio'
  777. # [21:03] <fantasai> 'content-fit'
  778. # [21:03] <fantasai> 'fit-content'
  779. # [21:03] <fantasai> 'fit-scaling'
  780. # [21:03] <fantasai> 'scaling-fit'
  781. # [21:03] <dsinger> fitting?
  782. # [21:04] <dsinger> 'replaced-element-fit-behavior'?
  783. # [21:04] <bradk> fitting:have(1)
  784. # [21:04] <fantasai> q+ for motion to switch topics until Molly can join the discussion
  785. # [21:05] * Quits: alexmog (alexmog@17.244.2.33) (Ping timeout)
  786. # [21:05] <TabAtkins> <br type=lunch>
  787. # [21:05] * Quits: dethbakin (dethbakin@17.244.1.101) (Quit: dethbakin)
  788. # [21:06] * Quits: smfr (smfr@17.244.3.222) (Quit: smfr)
  789. # [21:06] <sylvaing> image-spread
  790. # [21:06] * Quits: glazou (glazou@17.244.3.28) (Quit: glazou)
  791. # [21:06] * Joins: smfr (smfr@17.244.3.222)
  792. # [21:06] * Quits: bradk (bradk@17.244.0.81) (Quit: Computer has gone to sleep)
  793. # [21:06] * Bert sandwich-spread ?
  794. # [21:07] * Quits: smfr (smfr@17.244.3.222) (Quit: smfr)
  795. # [21:07] * CSS-projector digestion-fit-width
  796. # [21:07] * Quits: plinss_ (plinss@17.244.3.217) (Quit: plinss_)
  797. # [21:09] * Quits: Arron (arronei@17.244.2.216) (Ping timeout)
  798. # [21:09] * Quits: sylvaing (sylvaing@17.244.2.236) (Ping timeout)
  799. # [21:22] * plh-away is now known as plh-home
  800. # [21:42] * Quits: Lachy (Lachlan@85.196.122.246) (Quit: This computer has gone to sleep)
  801. # [21:43] * Joins: Lachy (Lachlan@85.196.122.246)
  802. # [22:03] * Joins: smfr (smfr@17.244.3.222)
  803. # [22:04] * Joins: sylvaing (sylvaing@17.244.2.236)
  804. # [22:04] * Joins: mjs (mjs@17.246.16.64)
  805. # [22:04] * Quits: mjs (mjs@17.246.16.64) (Quit: mjs)
  806. # [22:05] * Joins: dethbakin (dethbakin@17.244.1.101)
  807. # [22:06] * CSS-projector viewing-scale : letterbox | crop | fill; viewing-position : ...
  808. # [22:07] * Joins: Arron (arronei@17.244.2.216)
  809. # [22:09] * Joins: bradk (bradk@17.244.1.52)
  810. # [22:12] * Joins: plinss_ (plinss@17.244.3.217)
  811. # [22:12] * Joins: mjs (mjs@17.246.16.64)
  812. # [22:12] * Joins: mollydotcom (mollyh@68.111.14.133)
  813. # [22:13] <mollydotcom> Hi all - guessing you're off for lunch?
  814. # [22:13] <TabAtkins> just getting back, actually
  815. # [22:13] * Quits: bradk (bradk@17.244.1.52) (Quit: Computer has gone to sleep)
  816. # [22:13] <mollydotcom> hi Tab, how's it been going?
  817. # [22:13] <TabAtkins> Excellent!
  818. # [22:13] <mollydotcom> great to hear
  819. # [22:14] <TabAtkins> Sad I didn't get to meet you this time. ;_;
  820. # [22:14] <mjs> did you guys solve all problems with CSS yet?
  821. # [22:14] <anne> we added some problems
  822. # [22:14] <mollydotcom> I know, I was looking forward to it, but boy did I catch some kind of crud.
  823. # [22:14] <mollydotcom> Ah, Anne, ever the optimist.
  824. # [22:14] <mjs> anne: dammit!
  825. # [22:16] * Joins: glazou (glazou@17.244.3.28)
  826. # [22:19] * Joins: bradk (bradk@17.244.1.52)
  827. # [22:20] * Joins: alexmog (alexmog@17.244.2.170)
  828. # [22:20] <glazou> hi mollydotcom
  829. # [22:20] <mollydotcom> Hi Daniel!
  830. # [22:21] <TabAtkins> [continuing discussion about combining animations and gradients]
  831. # [22:21] <TabAtkins> [specifically, maybe attaching animations to transitions, rather than states?]
  832. # [22:22] <fantasai> RRSAgent: pointer
  833. # [22:22] <RRSAgent> See http://www.w3.org/2010/03/29-CSS-irc#T20-19-54
  834. # [22:22] <TabAtkins> [dean talking about animations with implicit start and end, like transitions do]
  835. # [22:23] <TabAtkins> [if, say, you animate left when you transition a color, what's the final value of left?]
  836. # [22:23] <Bert> (If 'transition-properties' has a value foo, then foo animates, even if the start and end values are the same.)
  837. # [22:24] <TabAtkins> [discussion about new selectors to address the hover/unhover animations]
  838. # [22:24] <TabAtkins> [something more analogous to mouseenter/mouseleave, rather than mouseover like :hover is]
  839. # [22:25] <TabAtkins> [or something that explicitly captures a state transition, like :transition(:hover,:not(:hover))]
  840. # [22:25] <TabAtkins> [combinatorial number of state transitions]
  841. # [22:33] <TabAtkins> [event-based CSS property]
  842. # [22:34] <TabAtkins> [back to keyframes for transitions?]
  843. # [22:35] * Joins: jdaggett (jdaggett@110.4.186.83)
  844. # [22:36] <anne> you could have something like :leave(:hover) or :leave(.test) for when something stops applying...
  845. # [22:36] <anne> but keyframes for transitions is prolly an easier solution
  846. # [22:37] <TabAtkins> plinss: Back to naming of image-fit and image-position, sincy mollydotcom is here.
  847. # [22:37] <glazou> mollydotcom, we need your expertise finding names...
  848. # [22:37] <fantasai> Topic: image-fit
  849. # [22:37] <mollydotcom> I'm here to talk about that
  850. # [22:37] <TabAtkins> smfr: dsinger had a suggestion that he put into irc earlier
  851. # [22:37] <TabAtkins> smfr: viewing-scale : letterbox | crop | fill; viewing-position : ...
  852. # [22:38] <plinss_> zakim, make room for 3
  853. # [22:38] * Joins: Zakim (rrs-bridgg@128.30.52.169)
  854. # [22:38] <plinss_> zakim, make room for 3
  855. # [22:38] <Zakim> I don't understand 'make room for 3', plinss_
  856. # [22:38] <plinss_> zakim, room for 3
  857. # [22:38] <Zakim> I don't understand 'room for 3', plinss_
  858. # [22:39] <plinss_> zakim, room for 3?
  859. # [22:39] <Zakim> ok, plinss_; conference Team_(css)20:36Z scheduled with code 26632 (CONF2) for 60 minutes until 2136Z
  860. # [22:39] <mollydotcom> do you want me to call in or shall I just type? Both hurt, typing less so as my throat is so swollen.
  861. # [22:39] <glazou> mollydotcom: see conf call data just above
  862. # [22:39] <fantasai> how about we call in, and you type?
  863. # [22:39] <fantasai> that way you can hear everything
  864. # [22:39] <glazou> Zakim, code?
  865. # [22:39] <Zakim> the conference code is 26632 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), glazou
  866. # [22:40] <mollydotcom> ok, I'll call in and say hi and then type
  867. # [22:40] <mollydotcom> thanks
  868. # [22:40] <fantasai> :)
  869. # [22:40] <plinss_> (or not quite hear as the case may be...)
  870. # [22:40] <Zakim> Team_(css)20:36Z has now started
  871. # [22:40] <Zakim> +[Apple]
  872. # [22:40] <TabAtkins> mollydotcom: You can call in now.
  873. # [22:40] <Zakim> +Molly_Holzschlag
  874. # [22:41] <fantasai> http://lists.w3.org/Archives/Public/www-style/2009Sep/0304.html
  875. # [22:42] <TabAtkins> mollydotcom: Elika has caught me up a little bit on the issue.
  876. # [22:42] <TabAtkins> mollydotcom: We've been talking about this for a long time.
  877. # [22:42] <TabAtkins> mollydotcom: If someone can pinpoint the terminology that we're struggling with, I can help out.
  878. # [22:42] <TabAtkins> fantasai: We got a message from SVGWG, prompting the discussion.
  879. # [22:43] <TabAtkins> mollydotcom: Main concern with image-fit and content-fit is that we're really not talking about images or content.
  880. # [22:43] <TabAtkins> mollydotcom: It *may* be an image, but it's not traditionally what we call 'content'.
  881. # [22:43] <TabAtkins> mollydotcom: I suggest, for semantic rationale, 'object-fit'.
  882. # [22:44] <TabAtkins> howcome: Steve suggested that over lunch as well. I think it covers the things we're talking about here.
  883. # [22:44] <TabAtkins> mollydotcom: Right, whether it's a video or some SVG or an image or an applet, we can call all those 'object'.
  884. # [22:44] <mjs> does 'object-fit' really add any meaning to 'fit'?
  885. # [22:44] <mjs> pretty much anything can be arguably an 'object'
  886. # [22:44] <TabAtkins> mollydotcom: I have a problem from an educational perspective with using 'image'.
  887. # [22:45] <TabAtkins> mollydotcom: I think 'object' does add meaning to 'fit'.
  888. # [22:45] <TabAtkins> mollydotcom: I don't think it's true that *anything* can be an object. In the markup world, that always refers to a replaced element or similar.
  889. # [22:45] <TabAtkins> fantasai: Agreed.
  890. # [22:45] <mjs> in HTML there is specifically the <object> element, and people would think the property is referring to that
  891. # [22:45] <TabAtkins> smfr: That could also bring up the reference to <object>, which would suggest an exclusion of <video> and similar.
  892. # [22:45] <fantasai> fantasai: I don't think anyone thinks of a paragraph as an object
  893. # [22:46] <TabAtkins> mollydotcom: Yeah, that's possible confusion.
  894. # [22:46] <bradk> object has another meaning in JavaScript too.
  895. # [22:46] <mjs> as a browser implementor, I certainly think of a paragraph as an object
  896. # [22:46] <mjs> HTMLParagraphElement to be specific
  897. # [22:46] <TabAtkins> As an author, do you think of it that way?
  898. # [22:46] <mjs> no idea if authors think of it that way; I would imagine authors would do a lot of scripting would think of every element as an object
  899. # [22:46] <TabAtkins> mollydotcom: To designers, 'image-fit' would say to them that we can't put a java applet in there.
  900. # [22:46] <TabAtkins> mollydotcom: They come at us from a different perspective.
  901. # [22:47] <mjs> if the intent is to capture all replaced elements, then maybe it should be replaced-fit
  902. # [22:47] <TabAtkins> smfr: What's the objection to content-fit?
  903. # [22:47] <TabAtkins> mollydotcom: Too broad.
  904. # [22:47] <bradk> sometimes, when I'm dealing with an element in JS
  905. # [22:47] * TabAtkins maciej, this will be more than just replaced content when SVG imports the property.
  906. # [22:47] <TabAtkins> mollydotcom: It seems to me that 'object' is a happier medium.
  907. # [22:47] <fantasai> mollydotcom: And for content authors, content refers to the text content of the document
  908. # [22:48] <mjs> TabAtkins, what does SVG intend to apply it to? everything?
  909. # [22:48] <TabAtkins> object-fit: fill | contain | cover
  910. # [22:48] <fantasai> object-fit: fill | contain | cover
  911. # [22:48] * TabAtkins maciej, ask ChrisL.
  912. # [22:48] <fantasai> object-position: <bg-pos>
  913. # [22:48] <fantasai> ?
  914. # [22:48] <fantasai> mollydotcom: To me it looks good, and I think I can have that make sense to people
  915. # [22:49] <fantasai> mollydotcom: I think it's much harder to convey this than image-*
  916. # [22:49] <fantasai> howcome: I can live with image-* too, but this is better
  917. # [22:49] <mjs> I really doubt that "object" adequately distinguishes the set of SVG, CSS and HTML constructs it applies to, from the set of things it doesn't apply to
  918. # [22:49] * TabAtkins maciej, it seems that there *is* no single word that does it. Everything sucks somehow.
  919. # [22:49] * anne doesn't really like object either
  920. # [22:49] <mjs> TabAtkins, why not just name the property "fit"? does it need a noun?
  921. # [22:49] <fantasai> mollydotcom: We were also talking about scaling
  922. # [22:50] <TabAtkins> howcome: I think 'fit' is just too generic.
  923. # [22:50] <Bert> (We had 'fit' at one point, and decided to change it.)
  924. # [22:50] <TabAtkins> fantasai: It seems like it could be a shorthand for fit-position and something else.
  925. # [22:50] <fantasai> it seems like it would be a shorthand for fit-position and something else
  926. # [22:50] <TabAtkins> mollydotcom: Let's throw it in front of the SVGWG and see what they have to say.
  927. # [22:51] * TabAtkins Next public-fx telcon!
  928. # [22:51] <fantasai> mollydotcom: We talked about fit-scaling
  929. # [22:51] <bradk> I still prefer 'scaling-fit'
  930. # [22:51] <mjs> random proposal: fit-rule: fill | contain | cover, fit as a shorthand for fit-rule and fit-position
  931. # [22:51] <TabAtkins> mollydotcom: Problem with me is the active word of scaling. It's not quite actively scaling.
  932. # [22:51] <ChrisL> rrsagent, here
  933. # [22:51] <RRSAgent> See http://www.w3.org/2010/03/29-CSS-irc#T20-49-43
  934. # [22:52] <TabAtkins> mollydotcom: fit-scale, alone, makes sense to designers and similar people.
  935. # [22:52] <TabAtkins> mollydotcom: if I say you ahve to scale this particular object, that makes more sense to me than saying 'fit-scaling'.
  936. # [22:52] <TabAtkins> mollydotcom: In PS and you want to keep the aspect ratio, you just click "keep aspect ratio" and just change one value, or do it in %s.
  937. # [22:53] <TabAtkins> mollydotcom: And that's a very familiar paradigm.
  938. # [22:53] <TabAtkins> mollydotcom: So I think the word 'scale' is better, but there's vaguery in all of this.
  939. # [22:53] <TabAtkins> mollydotcom: We just have to pick the one that is closest and most understandable to the most people.
  940. # [22:53] <fantasai> fit-scale: fill | cover | contain
  941. # [22:53] <fantasai> fit-position: <bg-pos>
  942. # [22:53] <TabAtkins> howcome: So should we just list the alternatives?
  943. # [22:53] <fantasai> could append <percentage> to fit-scale
  944. # [22:53] <bradk> On a fit-scale of 1-10, I'm about a 5 maybe.
  945. # [22:53] <fantasai> 100% would replace none
  946. # [22:53] <fantasai> fit-scale: fill | cover | contain | <percentage>
  947. # [22:54] <fantasai> mollydotcom: just giving one would preserve aspect ratio
  948. # [22:54] <fantasai> mollydotcom: fit-scale: 100% would be the image its actual size
  949. # [22:54] <fantasai> mollydotcom: fit-scale: 50% scales it down by 1/2
  950. # [22:55] <fantasai> mollydotcom: Could allow 2 values would allow different scaling for different dimensions
  951. # [22:55] <fantasai> howcome writes on the board
  952. # [22:55] <fantasai> fit-scale
  953. # [22:55] <fantasai> fit-position
  954. # [22:55] <TabAtkins> howcome: Are these the two proposals we have?
  955. # [22:55] <fantasai> ---
  956. # [22:55] <fantasai> object-fit
  957. # [22:55] <fantasai> object-position
  958. # [22:55] <fantasai> ---
  959. # [22:55] <fantasai> iage-fit
  960. # [22:55] <fantasai> image-position
  961. # [22:55] <fantasai> s/iage/image/
  962. # [22:55] <fantasai> ---
  963. # [22:55] <fantasai> aspect-ratio-fit
  964. # [22:55] <fantasai> fit-position
  965. # [22:55] <fantasai> ---
  966. # [22:55] <fantasai> scaling-fit
  967. # [22:55] <fantasai> fit-position
  968. # [22:56] <fantasai> ---
  969. # [22:56] <fantasai> and either of last two with 'fit' in the front
  970. # [22:57] <fantasai> howcome adds numbers
  971. # [22:57] <fantasai> 1. fit-scale / fit-position
  972. # [22:57] <fantasai> 2. object-fit / object-position
  973. # [22:57] <fantasai> 3. image-fit / image-position
  974. # [22:57] * glazou making mollydotcom laugh is a bad idea
  975. # [22:57] <fantasai> 4. aspect-ratio-fit (or fit-aspect-ratio) / fit-position
  976. # [22:57] * ChrisL mdr, literally
  977. # [22:58] <mollydotcom> 2 from me
  978. # [22:58] <fantasai> smfr: prefer 3, but 2 is ok
  979. # [22:58] <fantasai> anne: same
  980. # [22:58] <fantasai> steve: 1 or 2, not 3
  981. # [22:59] <fantasai> beth: 2, fallback to 3 if it has to
  982. # [22:59] <fantasai> sylvain: 3, then 2
  983. # [22:59] <fantasai> alex: 3, then 2
  984. # [22:59] <fantasai> alex: for the same reason I prefer mouse over pointer
  985. # [22:59] <fantasai> bert: 2, 3
  986. # [22:59] <fantasai> arron: 2, then 3
  987. # [22:59] <fantasai> fantasai: 1, then 2
  988. # [22:59] <fantasai> dbaron: 2 then 3
  989. # [23:00] <fantasai> tantek: abstain
  990. # [23:00] <fantasai> brad: 2 then 1
  991. # [23:00] <fantasai> tab: 1 then 2
  992. # [23:00] <fantasai> chris: 1 then 2
  993. # [23:00] <fantasai> daniel: 2 then 1
  994. # [23:00] <fantasai> peter: 1 then 2
  995. # [23:00] <fantasai> dsinger: 1 then 2
  996. # [23:01] <fantasai> howcome: 2 then 3
  997. # [23:01] <fantasai> dbaron: 2 was first or second choice from everybody
  998. # [23:03] <fantasai> fantasai: my one concern with 1 is that if you want to ad percentage scaling, it doesn't work with the object-fit name
  999. # [23:03] <fantasai> anne points out that if you made a shorthand with these, the shorthand would be called object
  1000. # [23:03] <TabAtkins> s/anne/smfr/
  1001. # [23:03] * Quits: miketaylr (miketaylr@38.117.156.163) (Client exited)
  1002. # [23:03] <mollydotcom> my cat apparently has some opinions about all this, but darned if I can understand her ;)
  1003. # [23:03] <TabAtkins> s/s\/anne\/smfr\///
  1004. # [23:04] <bradk> meow-fit
  1005. # [23:04] <mollydotcom> She keeps saying it
  1006. # [23:04] <ChrisL> but its merely anecdotal
  1007. # [23:04] <mollydotcom> We are now the Cat Style Sheet Working Group, apparently
  1008. # [23:04] <mollydotcom> haha
  1009. # [23:04] <mollydotcom> short paw
  1010. # [23:05] <mollydotcom> Anne: you do make a good point
  1011. # [23:05] <mollydotcom> no shorthand should be called object IMO
  1012. # [23:05] <mollydotcom> is there going to be a real need to do that?
  1013. # [23:05] * ChrisL catastrophic transmogrification
  1014. # [23:05] <TabAtkins> smfr: object-fit-scale, object-fit-position
  1015. # [23:05] <fantasai> smfr: Could combine them and have object-fit-scale and object-fit-position
  1016. # [23:06] <Zakim> -Molly_Holzschlag
  1017. # [23:06] <Zakim> -[Apple]
  1018. # [23:06] <Zakim> Team_(css)20:36Z has ended
  1019. # [23:06] <Zakim> Attendees were [Apple], Molly_Holzschlag
  1020. # [23:06] <glazou> mollydotcom: I'll cough for you in the meantime
  1021. # [23:06] * dbaron remembers Hixie's proposal for the Cascadable Abstract Tree Selectors specification
  1022. # [23:07] <mollydotcom> bye folks!
  1023. # [23:07] <mollydotcom> @glazou, I hear wine relaxes the bronchial tubes :p
  1024. # [23:07] <TabAtkins> fantasai: smfr's suggestion would address the shorthand and make more sense with %s.
  1025. # [23:07] <glazou> mollydotcom: I'm not able to have a glass of wine at this time, trust me
  1026. # [23:09] <fantasai> TabAtkins: percentages would make a shorthand impossible to parse
  1027. # [23:10] <TabAtkins> RESOLVED: use object-fit and object-position for the properties
  1028. # [23:10] <fantasai> Topic: Advanced Layout Modules
  1029. # [23:10] <dbaron> ScribeNick: fantasai
  1030. # [23:10] <fantasai> TabAtkins: So, this is going to be less direct suggestions and more mjy plan of action in the future about what to do
  1031. # [23:11] <fantasai> TabAtkins: I'm a Google employee now, and will soon be chrome liaison
  1032. # [23:11] <fantasai> TabAtkins: I want to take the layout drafts and turn them into something we wnat to implement and use soon
  1033. # [23:11] <fantasai> TabAtkins: Specifically, Template, Flex, Grid, and a few others maybe
  1034. # [23:11] <fantasai> TabAtkins: I've been thinking for a while what the underlying abstractions are in the different layout drafts
  1035. # [23:12] <fantasai> TabAtkins: and also in the different layout modesl I as an authro want to do
  1036. # [23:12] <fantasai> TabAtkins: I would like to combine into one model, but don't think I can quite do that
  1037. # [23:12] <fantasai> alexmog: Why do you want to do this?
  1038. # [23:12] <fantasai> TabAtkins: Because I as an author want to use them. Because laying out in CSS sucks
  1039. # [23:12] <fantasai> alexmog: But you also want one or more browsers to implement
  1040. # [23:13] <fantasai> TabAtkins: I'd also hope to implement some of this myself
  1041. # [23:13] <fantasai> TabAtkins: So, the first model that layout things will be built on is table layout
  1042. # [23:13] <fantasai> TabAtkins: turns out talbe layout is super useful for layouts I've done, for doing things I didn't expect before I started playing with it
  1043. # [23:13] <fantasai> TabAtkins: Talbe alyout by itself is good, I like the way it lays out as a grid
  1044. # [23:14] <fantasai> TabAtkins: the problem is that it restricts your site markup: you need to put in containers and order things so that it lays out
  1045. # [23:14] <fantasai> TabAtkins: which can be bad for accessibility
  1046. # [23:14] <fantasai> TabAtkins: Template layout fixes this
  1047. # [23:14] <Bert> s/ talbe / table /g
  1048. # [23:14] <fantasai> TabAtkins: Once you look into it, it looks just like magic on top of table layout
  1049. # [23:14] <fantasai> TabAtkins: So I want to take Template Layout, slightly change it so that it is magic on top of table layout
  1050. # [23:14] <fantasai> TabAtkins: That would basically entail setting up the properties so set up a table grid out of pseudo eleents
  1051. # [23:15] <fantasai> TabAtkins: and hopefully discussing how content is flowed into the pseudo elements
  1052. # [23:15] <fantasai> TabAtkins: hopefully not a significant change in the draft, just conceptual
  1053. # [23:15] <fantasai> TabAtkins: Another thing to add would be another table layout model that's sane
  1054. # [23:15] <fantasai> TabAtkins: fixed table layout is sane
  1055. # [23:15] <fantasai> dbaron: no it's not, it's just nobody uses it so nobody knows how messed up it is
  1056. # [23:16] <fantasai> alexmog: Even if I don't understand table layout, I can ...?
  1057. # [23:16] <fantasai> dbaron: Another problem with table layout is that putting large things into small cells often doesn't do what you want
  1058. # [23:16] <fantasai> dbaron: eg. have one thing wider than viewport
  1059. # [23:16] <fantasai> dbaron: makes the whole table wider than the viewport
  1060. # [23:17] <fantasai> TabAtkins: might be an artifact of auto layout righ now
  1061. # [23:17] <fantasai> TabAtkins: Could consider putting out a new table layout model along with the mathching template model
  1062. # [23:17] <fantasai> TabAtkins: ...
  1063. # [23:17] <fantasai> dbaron: I removed support for * widths from Gecko because the implementation didnt do much
  1064. # [23:18] <fantasai> dbaron: And the HTML4 description of * widths said do what browsers do for percentage widths, and the spec for percentage widths said something else
  1065. # [23:18] <fantasai> alexmog: WPF does use table layout internally, and it implements * widths
  1066. # [23:19] <fantasai> alexmog: The advantage is that you can put content into any slot into the table
  1067. # [23:19] <fantasai> Bert: We could add a third algorithm to table-layout property
  1068. # [23:19] <fantasai> TabAtkins: Building off of table then lets you use auto or fixed layout if that happens to be what you want
  1069. # [23:19] <fantasai> Bert: That new algorithm would also allow the flex property in that case
  1070. # [23:20] <fantasai> Brad: Would you bring that into the table display types, too?
  1071. # [23:20] <fantasai> TabAtkins: Yes, if we add it to table-layout
  1072. # [23:20] <fantasai> TabAtkins: the only magic in Template would be to create pseudo elements that represent talbe parts and putting the content in there
  1073. # [23:20] <fantasai> TabAtkins: I'm going to start working on the drafts for these
  1074. # [23:20] <Bert> s/talbe/table/
  1075. # [23:20] <fantasai> TabAtkins: Just wanted to give everyone a heads up
  1076. # [23:21] <fantasai> howcome: You have an implementation as template layout, right?
  1077. # [23:21] <fantasai> Bert: Yes, 3 impls. One uses same syntax as the draft
  1078. # [23:21] <TabAtkins> from alexis deveria
  1079. # [23:21] <fantasai> Bert: The other impls are the ones from Cesar, which uses an older syntax
  1080. # [23:21] <fantasai> Bert: And there's an impl from Andrew F. which uses another variant syntax
  1081. # [23:21] <fantasai> Bert: I like the idea
  1082. # [23:22] <fantasai> howcome: We need something like this, we haven't talked aobut htis for years
  1083. # [23:22] <fantasai> howcome: what about multicol?
  1084. # [23:22] <fantasai> TabAtkins: interact the same way as multicol and tables do now
  1085. # [23:23] <fantasai> alexmog: If you are creating a new kind of a grid, that grid could supercede grid positioning
  1086. # [23:23] <fantasai> alexmog: you could use that grid to position floats and have them interact with other content
  1087. # [23:23] <fantasai> Bert: My template draft has that, the grid is defined by the template grid
  1088. # [23:24] <fantasai> howcome confirms that grid units are defined in various drafts
  1089. # [23:24] <fantasai> Tantek: what's the general class of use cases that you're going for?
  1090. # [23:24] <fantasai> TabAtkins: Overall site layout
  1091. # [23:24] <fantasai> TabAtkins: I want to make sure that either htis directly or this plus other stuff is also useful for applications
  1092. # [23:25] <fantasai> TabAtkins: e.g. replace Gmail's hacky stuff
  1093. # [23:25] <fantasai> Tantek: Traditionally, grid-based layouts are really useful for application UI
  1094. # [23:25] * anne can't figure out how to interject a question; so IRC; did he say he's going to base this on top of table layout?
  1095. # [23:25] * anne ... also, does that mean someone is going to define table layout first?
  1096. # [23:25] * fantasai yes
  1097. # [23:25] * fantasai no clue
  1098. # [23:25] * fantasai probably not
  1099. # [23:25] <glazou> http://glazman.org/howcome-cupertino/
  1100. # [23:26] * anne ... seems somewhat important to define those primitives if we are going to build on top of it
  1101. # [23:26] <fantasai> Tantek: There are a whole class of applications that are doing ridiculous backflips to do UI
  1102. # [23:26] * anne ... we always have long discussions on anything table related and without a clear overall picture of how that works it's just going to get worse
  1103. # [23:26] <fantasai> Tantek: Having a model that solves those use cases could cause a renaissance of web applications
  1104. # [23:27] <fantasai> TabAtkins: If we can come up with necessary flexibility with grid then building them together would be great .. (?)
  1105. # [23:27] <fantasai> Tantek: Consider the use cases together, and consider also the implementors
  1106. # [23:27] <fantasai> alexmog: I'm not against unifying the grid
  1107. # [23:27] <fantasai> alexmog: but I don't want to have super-complicated interactions across multiple models
  1108. # [23:27] <fantasai> dbaron: I don't think gmail is that gridlike
  1109. # [23:28] <fantasai> dbaron: The layouts tend to be more about taking one piece of UI and pushing it against the edge of the space, and then having the rest of the area taken up by the rest of the app
  1110. # [23:28] <fantasai> dbaron: You have menus and toolbars and sidebars
  1111. # [23:28] <fantasai> dbaron: In all these cases you're taking the rectangle
  1112. # [23:29] <fantasai> dbaron: taking up one part of it with a UI element, and then filling the remaining space
  1113. # [23:29] <fantasai> Tantek: Check out iPhone apps, they have very different UI models
  1114. # [23:30] <fantasai> howcome: We havent' really been able to exploit our table model because it hasn't been widely implemented
  1115. # [23:30] <fantasai> ...
  1116. # [23:30] <fantasai> discussion of WebKit-specific apps and table layout
  1117. # [23:31] <fantasai> Tantek: Interface builders have lots of interesting ways of laying out UI elements. It makes sense
  1118. # [23:31] <fantasai> snap-to-grid
  1119. # [23:31] <fantasai> pin one object to anther object
  1120. # [23:31] <fantasai> Tantek: just spend 15 min with interface-builder
  1121. # [23:32] <fantasai> howcome: Do we consider apps to be the driving force or documents?
  1122. # [23:32] <fantasai> fantasai: Both. We need to handle both.
  1123. # [23:33] <fantasai> Tab talks about grids defined by templates and tables and grids defined by content
  1124. # [23:33] <fantasai> alexmog: The grid I imagine is independent of content. You either place stuff on the gridlines, or snap to them
  1125. # [23:33] <fantasai> alexmog: The only thing you need to add is size to fit
  1126. # [23:34] <fantasai> alexmog: perhaps horizontal lines should fit to content
  1127. # [23:34] <fantasai> alexmog: that switches grid from trivial to complicated
  1128. # [23:34] <fantasai> Tantek: grids aren't just for UIs either
  1129. # [23:34] <fantasai> Tantek: Things like baseline-alignment across the page is super-hard to do today
  1130. # [23:34] <fantasai> Tantek: Grid would presumably solve that
  1131. # [23:34] <fantasai> TabAtkins: You could set up a grid with those line
  1132. # [23:35] <fantasai> TabAtkins: and then with some other mechanism tell text to line up to that
  1133. # [23:35] <fantasai> TabAtkins: You would need separate grids
  1134. # [23:36] <fantasai> TabAtkins: Whether layout grid + baseline grid is sufficient or we need author-named grids, not sure
  1135. # [23:36] <fantasai> fantasai thinks we should have named grids
  1136. # [23:36] <fantasai> Bert: Anne ask on IRC, so do you have to write the table module first if you are going to do this?
  1137. # [23:36] * Joins: tantek (tantek@17.244.3.100)
  1138. # [23:36] * Joins: szilles (chatzilla@17.244.3.121)
  1139. # [23:37] <fantasai> Anne: What does 'width' mean, what does 'height' mean
  1140. # [23:37] <fantasai> TabAtkins: Don't have to define that, can just say "do what you do currently"
  1141. # [23:38] <fantasai> TabAtkins: and build a new sane table model
  1142. # [23:38] <fantasai> alexmog would like a sane table model
  1143. # [23:39] <fantasai> Anne: I think we might get a bid of redundancy because only a few people know what the current one covers and what algorithms are defined that we might want to reuse
  1144. # [23:39] <fantasai> Steve: One requirement that I have is that I be able to describe the area into which thigns flow separately from the stuff that's flowing into it.
  1145. # [23:40] <fantasai> Steve: Right now table is entirely wound around the content that's in the table. I don't want that
  1146. # [23:40] <fantasai> Steve: I want to describe whatever it is without having the content
  1147. # [23:40] <fantasai> several, supported by Template module
  1148. # [23:40] <fantasai> smfr: Can you split content up between boxes?
  1149. # [23:40] <fantasai> TabAtkins: Not currently. No non-rectangular regions and no disconnectd regions
  1150. # [23:41] * plh-home is now known as plh-dinner
  1151. # [23:41] <fantasai> TabAtkins: would like to add later
  1152. # [23:41] <fantasai> howcome: Did you see the very first draft from 1997?
  1153. # [23:41] <fantasai> TabAtkins: No, just seen since Advanced Layout just before it got split into Template
  1154. # [23:41] <Bert> http://www.w3.org/TR/NOTE-layout
  1155. # [23:42] <dbaron> As far as defining table layout, http://dbaron.org/css/intrinsic/ and a spec that Markus was working on both define significant pieces of the width calculation
  1156. # [23:42] <dbaron> I actually think I like the height calculation that IE6 does more than what Gecko does.
  1157. # [23:42] * fantasai notes that you're probably the only one who understands the implications of that comment :)
  1158. # [23:43] <fantasai> TabAtkins: I'm not doing box-to-box flow in order to be conservative in level 3
  1159. # [23:43] <fantasai> TabAtkins: I think it would still be useful
  1160. # [23:43] <fantasai> ... printing ...
  1161. # [23:43] <fantasai> TabAtkins: Printing does bring up other issues. It does matter.
  1162. # [23:44] <fantasai> non-rectangular layout is difficult if multiple parts have flexible height
  1163. # [23:45] <fantasai> TabAtkins: Next layout topic
  1164. # [23:45] <fantasai> TabAtkins: Also related to table layout
  1165. # [23:45] <fantasai> TabAtkins: In my current use of tables, I often want to set up a ton of things in a grid
  1166. # [23:45] <fantasai> TabAtkins: but in my markup they're just a linear progression
  1167. # [23:45] <fantasai> TabAtkins: and I want them to fill through and automatically find the right number of rows
  1168. # [23:45] <fantasai> TabAtkins: so like normal table layout except without set rows
  1169. # [23:46] <fantasai> TabAtkins: either by filling the width of a space, or specifying a number of columns
  1170. # [23:46] <fantasai> howcome: Another idea is columns first
  1171. # [23:46] <fantasai> TabAtkins: also want to determine direction of cell flow
  1172. # [23:47] <fantasai> TabAtkins: When you loosen constraints on tables, then tend to become more similar to flexbox
  1173. # [23:47] <fantasai> TabAtkins: So does anyone theoretically object to these additions to table stuff?
  1174. # [23:47] <bradk> block-progression-direction to flow vertically, possibly
  1175. # [23:47] <fantasai> * flowing cells into rows without row containers
  1176. # [23:48] <fantasai> * cell progression direction: changin direction, changing itnto columns-first
  1177. # [23:48] * Quits: dethbakin (dethbakin@17.244.1.101) (Quit: dethbakin)
  1178. # [23:48] <fantasai> dbaron: If you switching block-progression direction, you'll also switch the width and height algorithms
  1179. # [23:49] <fantasai> dbaron: Do you mean cell-progression-direction as a subfeature of the cell flow idea?
  1180. # [23:49] <fantasai> TabAtkins doesn't knowe
  1181. # [23:49] <fantasai> howcome complains about being forced to change markup to do layouts
  1182. # [23:50] <fantasai> howcome wants a property for det whether talbe is column-primary or row-primary
  1183. # [23:50] <fantasai> dbaron: One thing I liked about table height algorithms in IE6 is that they were much more similar to the width algorithms
  1184. # [23:51] <fantasai> howcome: You also had an idea about saying which cells you want to start a new row
  1185. # [23:51] <fantasai> TabAtkins: If you just want to fill to a specific width, then that doesn't work
  1186. # [23:51] <fantasai> TabAtkins: but for other cases it works
  1187. # [23:51] <fantasai> TabAtkins: you can use :nth-child to do a specific number of rows
  1188. # [23:52] <fantasai> fantasai: A problem with fill to a width is that you layou out your table, splitting into say 4 cols
  1189. # [23:52] <fantasai> fantasai: but then you find a really big cell and find you can only fit 2 cols
  1190. # [23:52] <fantasai> fantasai: then you have to go back and relayout the whole table
  1191. # [23:53] * Quits: smfr (smfr@17.244.3.222) (Quit: smfr)
  1192. # [23:53] <fantasai> fantasai: (which is already a 2-3 pass algorithm)
  1193. # [23:53] <fantasai> TabAtkins: Ok, maybe that's not a good idea then. Dont' like iterative layouts
  1194. # [23:53] <bradk> container has 'table-flow: rows(4)' to auto flow table-cells vertically into 4 rows, with as many columns as it takes.
  1195. # [23:53] <fantasai> TabAtkins: you might also want to flow into multiple rows, but not line up column-wise
  1196. # [23:54] <fantasai> TabAtkins: They flow and wrap around, and each row is height-equalized
  1197. # [23:54] <fantasai> TabAtkins: can fake it with inline-block, but doesn't handle all cases
  1198. # [23:54] <fantasai> TabAtkins: Can't justify to exactly fit the row
  1199. # [23:54] <Bert> (We did have a tabulation proposal some time ago. It was dropped when leaders() could do 80% of that.)
  1200. # [23:54] * Quits: sylvaing (sylvaing@17.244.2.236) (Quit: sylvaing)
  1201. # [23:54] <fantasai> ...
  1202. # [23:54] <fantasai> alexmog: That's a multi-line flexbox
  1203. # [23:55] <fantasai> http://fantasai.inkedblade.net/style/specs/tabs/
  1204. # [23:55] <fantasai> TabAtkins: Almost
  1205. # [23:55] <fantasai> TabAtkins: box-pack-justify and a flexbox automatically sets all margins to be equivalent
  1206. # [23:55] <fantasai> TabAtkins: but if you want finer control voer that, you can't express it in those terms
  1207. # [23:56] <fantasai> TabAtkins: you can't set flex on margins
  1208. # [23:56] <Bert> (Different kind of "tabs" :-) )
  1209. # [23:56] <fantasai> TabAtkins: I think that's only place where flexbox is lacking.. it lays out from the container's perspective but not the childrens
  1210. # [23:56] <fantasai> alexmog: that's the point
  1211. # [23:56] <fantasai> alexmog: Everywhere else in CSS every element has its own opinion on how it wants to be laid out
  1212. # [23:57] <fantasai> alexmog: Flexbox allows introducing simple or different layout algorithms because it doesn't interfere with anything else in the system
  1213. # [23:57] * fantasai missed something in the middle
  1214. # [23:57] <fantasai> alexmog: The layout is totally governed by the container
  1215. # [23:57] <fantasai> alexmog: that's why it's a clean, easy-to-implement, easy-to-use spec
  1216. # [23:57] <fantasai> alexmog: If you let it allows margin collapsing and everything else that happens in CSS, then you create a monster
  1217. # [23:58] <fantasai> TabAtkins: I would like to dive down and try to design with flexbox, and then bring back anything I find that's insufficient
  1218. # [23:58] <fantasai> TabAtkins: But I'm willing to put htat off and do experimentation
  1219. # [23:58] <fantasai> dbaron: I think box-pack is pretty rarely used
  1220. # [23:58] <fantasai> in xul
  1221. # [23:58] <fantasai> dbaron: What's used instead is having more nested boxes
  1222. # [23:58] <fantasai> TabAtkins: I do something imilar to flexbox using table layout
  1223. # [23:59] <fantasai> TabAtkins: For a horizontal nav, I'll use auto or fixed table layout on a <ul>
  1224. # [23:59] <fantasai> TabAtkins: to either space out the links, or the space between the links
  1225. # [23:59] <fantasai> TabAtkins: in the first case, the white space between them changes, but their centers are spaced evenly
  1226. # [23:59] * Quits: szilles (chatzilla@17.244.3.121) (Ping timeout)
  1227. # [23:59] <fantasai> TabAtkins: auto layout almnost equalizes the spaces in between
  1228. # Session Close: Thu Apr 01 00:00:00 2010

The end :)