/irc-logs / w3c / #css / 2014-10-25 / end

Options:

  1. # Session Start: Sat Oct 25 00:00:00 2014
  2. # Session Ident: #css
  3. # [00:01] <TabAtkins> plinss: Per WebIDL grammar, Promise<sequence<FontFace>> is a valid return type, but widlparser rejects it.
  4. # [00:01] <plinss> TabAtkins: hmm, let me look at the code
  5. # [00:02] <TabAtkins> Also, setlike<Foo> and maplike<Foo> aren't supported yet. ^_^
  6. # [00:04] <plinss> it should be accepting any valid return type inside the <>s
  7. # [00:04] <TabAtkins> Should be, yes. ^_^
  8. # [00:04] <plinss> and I did add support for setlike and maplike, did you update to the latest?
  9. # [00:07] <plinss> hmm, Promise<sequence<Fontface>> works fine on my machine…
  10. # [00:08] <plinss> as do maplike<type, type> and setlike<type>
  11. # [00:10] <plinss> TabAtkins: got a sample of something that’s failing?
  12. # [00:20] * Quits: Ms2ger (~Ms2ger@public.cloak) ("nn")
  13. # [00:54] <TabAtkins> Yeah, current Font Loading spec fails.
  14. # [00:54] <TabAtkins> (Current contains the Promise<> one, but not the setlike<> yet.)
  15. # [00:54] <TabAtkins> And yeah, I updated widlparser last weekend.
  16. # [00:55] * Quits: tantek (~tantek@public.cloak) (tantek)
  17. # [01:27] * Quits: shepazu (schepers@public.cloak) ("is sleepy")
  18. # [01:29] <TabAtkins> plinss: Ignore me re:setlike<FontFace>. I wasn't escaping the <, so it was opening up an element.
  19. # [01:29] <TabAtkins> Oh jeez, and I also know what's happening the Promise<sequence<FontFace>>.
  20. # [01:29] <TabAtkins> My fault too.
  21. # [01:31] <TabAtkins> (I switched all my shorthand handling to occur after HTML parsing, which meant I had to change << and >> into something else before HTML parsing. I did this by just looking for << or >> and replacing them with fake start and end tags that I later look for for processing. this means that the >> there gets turned into an end tag, accidentally.
  22. # [01:31] <plinss> TabAtkins: I’ll bring a wet trout to slap you with at TPAC
  23. # [01:31] <TabAtkins> I didn't notice the lack of >> at the end of the type on the line in the error message.)
  24. # [01:32] <TabAtkins> How long is it going to take you to travel down here, btw?
  25. # [01:33] <plinss> I just finished loading the bike, so my plan is to get to somewhere between LA and San Loius Opispo tonight, then take a “leisurely” ride up the PCH tomorrow
  26. # [01:34] <plinss> I’m leaving here in a few minutes, expect to arrive in Santa Clara mid afternoon tomorrow
  27. # [01:34] <TabAtkins> Cool.
  28. # [01:34] <plinss> This will be the first long trip since I rebuilt the motor, so we’ll see how it goes :-)
  29. # [01:35] * Quits: estellevw (~estellewyel@public.cloak) (estellevw)
  30. # [01:35] <TabAtkins> I'll be sad if you die, so don't.
  31. # [01:36] <TabAtkins> (I'll have to take over maintenance of your projects.)
  32. # [01:40] <plinss> I’ll do my best… see you tomorrow
  33. # [01:41] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
  34. # [01:49] * Joins: jet (~junglecode@public.cloak)
  35. # [01:57] <TabAtkins> SimonSapin: What needs updating in url-token? I already removed the <string> cases.
  36. # [01:58] <SimonSapin> so you did… never mind :)
  37. # [01:58] <TabAtkins> SimonSapin: And you can certainly parse valid CSS with a PEG (I did it once, to do a mass-conversion of syntax for all the @counter-style rules, before we moved most of them to the i18n document), but I don't think you can reasonably do error-handling in one.
  38. # [01:59] <TabAtkins> Basically, I'm gonna warn you that you *really* don't want to do error-handled CSS with a grammar. It'll give you no end of trouble.
  39. # [01:59] <TabAtkins> Because our actual grammar is .*
  40. # [02:01] * Quits: lajava (~javi@public.cloak) (Ping timeout: 180 seconds)
  41. # [02:03] * Joins: jcraig (~jcraig@public.cloak)
  42. # [02:04] <SimonSapin> which is why I find PEGs interesting, since you can have bits of arbitrary code in the middle of it
  43. # [02:06] <SimonSapin> I might have to do something hybrid, with some functions compiled from PEG rules and some hand-written
  44. # [02:07] <TabAtkins> Eh, I suspect you wont' find it worth it. The parser is pretty simple to hand-write in the first place.
  45. # [02:07] <SimonSapin> what’s in Syntax is pretty simple, but them we have tons of micro-syntaxes like gradients
  46. # [02:08] <SimonSapin> and I’d really prefer to write these in something declarative
  47. # [02:11] <SimonSapin> and it’s not just for me: contributors add CSS features to Servo, and I end up 386’ing their parsing code in review
  48. # [02:19] * Quits: jet (~junglecode@public.cloak) (jet)
  49. # [02:21] * Joins: florian (~Florian@public.cloak)
  50. # [02:22] <florian> I have a vague memory of someone (Adobe?) buidling a polyfill for "overflow: paged". Did I make it up, or does this actually exist?
  51. # [02:27] <TabAtkins> Pretty sure I remember it.
  52. # [02:28] <TabAtkins> SimonSapin: Yeah, once you're past the tokenizing stage and the basic parsing stage, grammars are definitely the most appropriate way to handle things.
  53. # [02:30] <gsnedders> I'd argue you want a grammar for the basic parsing stage if it's reasonably doable
  54. # [02:31] <gsnedders> which is probably not at all worth it in the CSS case, admittedly
  55. # [02:37] * Quits: adenilson (~anonymous@public.cloak) (adenilson)
  56. # [02:45] * Joins: liam (liam@public.cloak)
  57. # [02:50] <SimonSapin> TabAtkins: the change that made url("a") be a function changed the error handling of bad-url, right?
  58. # [02:51] <TabAtkins> Slightly, though I'd have to look closely at the before and after to recount exactly how.
  59. # [02:51] <SimonSapin> let’s say… background: url("a" { ); color: blue; }) is now a single declaration, used to be two
  60. # [02:52] <TabAtkins> gsnedders: No, basic parsing (into the generic rule and property structure) is heavily error-correcting, and so not great for grammars.
  61. # [02:52] <SimonSapin> and Syntax before this change doesn’t match CSS2 either
  62. # [02:53] <TabAtkins> Yes, though browser's didn't generally match CSS2 either
  63. # [02:53] <SimonSapin> do they match each other?
  64. # [02:54] <SimonSapin> if not, I’ll take that as an opportunity to make further changes :)
  65. # [02:54] <SimonSapin> I’d like <bad-url-token> to be like a function: balance {} [] () pairs
  66. # [02:55] <SimonSapin> context: I want to scan input to find the end of a declaration, but at the text level since PEGs don’t have tokenizer
  67. # [02:56] <SimonSapin> wait, that doesn’t work for <url-token>
  68. # [02:56] <SimonSapin> url( { )
  69. # [02:58] <SimonSapin> yeah, looks like URL tokens are gonna kill this PEG idea
  70. # [02:59] <SimonSapin> since you have to look for them even when they’re not valid
  71. # [03:04] * Joins: jet (~junglecode@public.cloak)
  72. # [03:09] <astearns_> florian: were you thinking of this? http://adobe.github.io/web-platform/utilities/css-pagination-template/
  73. # [03:09] <astearns_> it uses overflow-style: paged-x;
  74. # [03:09] <astearns_> (only works in Safari)
  75. # [03:10] <florian> yes, that's what I had in mind
  76. # [03:11] <florian> Works in Safari only because it uses regions?
  77. # [03:11] <astearns_> yep :)
  78. # [03:11] <astearns_> pagination is pretty easy to do if you have access to the regions API
  79. # [03:12] * Quits: jet (~junglecode@public.cloak) (jet)
  80. # [03:13] <florian> I ran into a pretty neat thing and was wondering how you'd deal with that with either overflow page or regions
  81. # [03:14] <florian> scribd (www.scribd.com) has an ePub reader, and they simulate pages.
  82. # [03:15] <astearns_> ah, I've only been scared away by their PDF rendering
  83. # [03:15] <florian> :)
  84. # [03:15] <astearns_> I'll have to take a second look
  85. # [03:15] <florian> the neat thing is that if you're on page 3, and increase the font size (for instance), they will make sure that the first word of page 3 stays the first word of the page you look at. Even if that means creating more pages before, or underfilling the first page in the series
  86. # [03:17] <florian> now, regions are not pages. but since they can be used to simulate pages, it would be pretty neat to be able to do that.
  87. # [03:17] <astearns_> could do that in one of two ways (off the top of my head)
  88. # [03:18] <astearns_> 1. do some content breaking where you want the page to start, so you can add a break-before at an element boundary (ick)
  89. # [03:18] <astearns_> 2. resize the first region or the previous region until you get the break you want (possibly very slow)
  90. # [03:19] <florian> 1. looks nasty
  91. # [03:19] <astearns_> 1 is basically what regions polyfills have to do, and I agree it's nasty
  92. # [03:19] <florian> 2. would work for the current page, but not really allow you to then go look at the previous page and have things still work
  93. # [03:20] <astearns_> if you resize the first page, then the previous pages up until the start are OK
  94. # [03:20] <florian> yes
  95. # [03:20] <astearns_> but then you're recomposing more stuff as you measure whether the break is correct
  96. # [03:23] <florian> their system has simplifying constrains, as all pages are the same size. but it is pretty fast.
  97. # [03:23] <florian> for the current page they know where to start, so they start form their, and for previous pages, I think they work backwards.
  98. # [03:24] <astearns_> which is a fair optimization, since paging backwards is much less common than continuing on
  99. # [03:24] <florian> anyway, it is pretty neat, and it would be cool if there was something either in regions or in overflow:paged that help make that possible without messing around too much in js.
  100. # [03:24] <astearns_> agreed
  101. # [03:24] * astearns_ is now known as astearns
  102. # [03:25] * Quits: jcraig (~jcraig@public.cloak) (Ping timeout: 180 seconds)
  103. # [03:25] <florian> by the way, how was books in browsers? I wanted to attend, but learned about it at the last minute, and had a conflicting schedule
  104. # [03:26] <astearns> there were some very interesting talks, which were streamed and I expect will be available to watch
  105. # [03:26] <astearns> it was a good cross-section of web/publishing/academics
  106. # [03:27] <astearns> and (unexpectedly to me) a regions love-fest :)
  107. # [03:35] * Joins: estellevw (~estellewyel@public.cloak)
  108. # [03:35] * Quits: estellevw (~estellewyel@public.cloak) (estellevw)
  109. # [04:29] <TabAtkins> SimonSapin: URL tokens are the devil's work.
  110. # [04:51] * Quits: florian (~Florian@public.cloak) ("Leaving.")
  111. # [04:59] * Joins: florian (~Florian@public.cloak)
  112. # [05:05] * Quits: florian (~Florian@public.cloak) ("Leaving.")
  113. # [06:17] * Joins: florian (~Florian@public.cloak)
  114. # [06:18] * Quits: florian (~Florian@public.cloak) ("Leaving.")
  115. # [06:21] * Joins: florian (~Florian@public.cloak)
  116. # [06:22] * Quits: florian (~Florian@public.cloak) ("Leaving.")
  117. # [07:12] * Joins: vollick (~vollick@public.cloak)
  118. # [07:48] * Quits: vollick (~vollick@public.cloak) (Ping timeout: 180 seconds)
  119. # [07:49] * Joins: jdaggett (~jdaggett@public.cloak)
  120. # [08:01] * Joins: nvdbleek (~nvdbleek@public.cloak)
  121. # [08:07] * Quits: nvdbleek (~nvdbleek@public.cloak) (nvdbleek)
  122. # [10:02] * Joins: shepazu (schepers@public.cloak)
  123. # [10:04] * Quits: shepazu (schepers@public.cloak) ("is probably traveling...")
  124. # [10:13] * Joins: tantek (~tantek@public.cloak)
  125. # [10:14] * Joins: Ms2ger (~Ms2ger@public.cloak)
  126. # [10:19] * Joins: tantek_ (~tantek@public.cloak)
  127. # [10:22] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  128. # [10:22] * tantek_ is now known as tantek
  129. # [10:31] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
  130. # [10:31] * Joins: tommyjtl (~tommyjtl@public.cloak)
  131. # [10:45] * Joins: zcorpan (~zcorpan@public.cloak)
  132. # [11:06] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  133. # [11:06] * Joins: zcorpan (~zcorpan@public.cloak)
  134. # [11:13] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  135. # [11:16] * Joins: zcorpan (~zcorpan@public.cloak)
  136. # [11:25] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  137. # [13:37] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
  138. # [13:56] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
  139. # [13:56] * Joins: tommyjtl (~tommyjtl@public.cloak)
  140. # [13:56] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
  141. # [13:56] * Joins: tommyjtl (~tommyjtl@public.cloak)
  142. # [14:22] * Joins: vollick (~vollick@public.cloak)
  143. # [14:32] * Joins: florian (~Florian@public.cloak)
  144. # [14:35] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
  145. # [14:35] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
  146. # [14:56] * Quits: florian (~Florian@public.cloak) ("Leaving.")
  147. # [15:09] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
  148. # [15:19] * Joins: liam (liam@public.cloak)
  149. # [15:21] * Quits: tommyjtl_ (~tommyjtl@public.cloak) (Client closed connection)
  150. # [15:21] * Joins: tommyjtl (~tommyjtl@public.cloak)
  151. # [15:21] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
  152. # [15:21] * Joins: tommyjtl (~tommyjtl@public.cloak)
  153. # [15:25] * Joins: zcorpan (~zcorpan@public.cloak)
  154. # [15:32] * Quits: zcorpan (~zcorpan@public.cloak) (Ping timeout: 180 seconds)
  155. # [16:20] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
  156. # [16:23] * Joins: tommyjt__ (~tommyjtl@public.cloak)
  157. # [16:23] * Quits: tommyjtl_ (~tommyjtl@public.cloak) (Client closed connection)
  158. # [16:25] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
  159. # [16:26] * Quits: tommyjtl (~tommyjtl@public.cloak) (Ping timeout: 180 seconds)
  160. # [16:30] * Quits: tommyjt__ (~tommyjtl@public.cloak) (Client closed connection)
  161. # [16:52] * Quits: tommyjtl_ (~tommyjtl@public.cloak) (Ping timeout: 180 seconds)
  162. # [16:58] * Joins: tommyjtl (~tommyjtl@public.cloak)
  163. # [17:16] * Joins: tommyjtl_ (~tommyjtl@public.cloak)
  164. # [17:16] * Quits: tommyjtl (~tommyjtl@public.cloak) (Client closed connection)
  165. # [17:21] * Quits: tommyjtl_ (~tommyjtl@public.cloak) ("brb")
  166. # [17:24] * Quits: vollick (~vollick@public.cloak) (Ping timeout: 180 seconds)
  167. # [17:39] * Joins: Ms2ger (~Ms2ger@public.cloak)
  168. # [17:45] * Joins: vollick (~vollick@public.cloak)
  169. # [18:16] * Joins: lajava (~javi@public.cloak)
  170. # [18:26] * Joins: ArronEi (~ArronEi@public.cloak)
  171. # [18:39] * Quits: ArronEi (~ArronEi@public.cloak) (Ping timeout: 180 seconds)
  172. # [18:45] * Quits: tantek (~tantek@public.cloak) (tantek)
  173. # [18:52] * Quits: lajava (~javi@public.cloak) (Ping timeout: 180 seconds)
  174. # [19:38] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
  175. # [19:48] * Joins: Ms2ger (~Ms2ger@public.cloak)
  176. # [19:51] * Joins: adenilson (~anonymous@public.cloak)
  177. # [20:00] * Joins: tantek (~tantek@public.cloak)
  178. # [20:19] * Quits: vollick (~vollick@public.cloak) (Ping timeout: 180 seconds)
  179. # [20:25] * Quits: adenilson (~anonymous@public.cloak) (adenilson)
  180. # [20:35] * Quits: liam (liam@public.cloak) (Ping timeout: 180 seconds)
  181. # [21:06] * Joins: vollick (~vollick@public.cloak)
  182. # [21:09] * Joins: zcorpan (~zcorpan@public.cloak)
  183. # [21:17] * Quits: tantek (~tantek@public.cloak) (tantek)
  184. # [21:24] * Quits: vollick (~vollick@public.cloak) (Ping timeout: 180 seconds)
  185. # [21:24] * Quits: zcorpan (~zcorpan@public.cloak) (Client closed connection)
  186. # [21:36] * Quits: stryx`__ (~stryx@public.cloak) (Client closed connection)
  187. # [21:37] * Quits: stryx` (~stryx@public.cloak) (Client closed connection)
  188. # [21:42] * Quits: stryx`_ (~stryx@public.cloak) (Client closed connection)
  189. # [21:53] * Joins: stryx` (~stryx@public.cloak)
  190. # [21:53] * Joins: stryx`_ (~stryx@public.cloak)
  191. # [22:01] * Joins: liam (liam@public.cloak)
  192. # [22:08] * Quits: Ms2ger (~Ms2ger@public.cloak) ("nn")
  193. # [22:14] * Joins: glenn_ (~gadams@public.cloak)
  194. # [22:18] * Quits: glenn (~gadams@public.cloak) (Ping timeout: 180 seconds)
  195. # [22:53] * Joins: adenilson (~anonymous@public.cloak)
  196. # [22:53] * Quits: adenilson (~anonymous@public.cloak) (adenilson)
  197. # Session Close: Sun Oct 26 00:00:00 2014

The end :)