/irc-logs / freenode / #whatwg / 2014-05-29 / end

Options:

  1. # Session Start: Thu May 29 00:00:00 2014
  2. # Session Ident: #whatwg
  3. # [00:00] * Joins: llkats_ (~llkats@50.141.87.3)
  4. # [00:00] * Quits: r2 (~r2@66.94.71.3) (Ping timeout: 258 seconds)
  5. # [00:01] * Quits: llkats (~llkats@50.141.87.3) (Read error: Connection reset by peer)
  6. # [00:01] * Quits: bentruyman (~bentruyma@23.252.119.254) (Ping timeout: 264 seconds)
  7. # [00:01] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  8. # [00:01] * bentruyman_ is now known as bentruyman
  9. # [00:01] * Quits: dcherman2 (~dcherman@164.55.254.106) (Ping timeout: 252 seconds)
  10. # [00:03] * Quits: othermaciej (~mjs@17.114.217.119) (Quit: othermaciej)
  11. # [00:05] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  12. # [00:06] * Joins: othermaciej (~mjs@17.114.217.119)
  13. # [00:08] * Joins: weinig (~weinig@17.114.218.140)
  14. # [00:09] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Ping timeout: 252 seconds)
  15. # [00:14] * Joins: jeremyj (~jeremyj@17.202.44.231)
  16. # [00:14] * Quits: llkats_ (~llkats@50.141.87.3) (Read error: Connection reset by peer)
  17. # [00:15] * Quits: weinig (~weinig@17.114.218.140) (Quit: weinig)
  18. # [00:15] * Joins: llkats (~llkats@50.141.87.3)
  19. # [00:15] * Quits: jeremyj (~jeremyj@17.202.44.231) (Client Quit)
  20. # [00:16] * Quits: gungan_fuq (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com) (Remote host closed the connection)
  21. # [00:16] * Joins: gungan_fuq (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com)
  22. # [00:17] * Quits: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com) (Quit: Leaving.)
  23. # [00:19] * Joins: gungan_f_ (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com)
  24. # [00:21] * Quits: gungan_fuq (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com) (Ping timeout: 240 seconds)
  25. # [00:21] * Quits: Maurice` (copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl)
  26. # [00:22] * Quits: gungan_f_ (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com) (Remote host closed the connection)
  27. # [00:23] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  28. # [00:24] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  29. # [00:25] <Domenic> TabAtkins: the interface. Given that it adds nothing to HTMLElement, I feel there must be a story there.
  30. # [00:25] * Quits: jacobolus (~jacobolus@199-241-200-88.PUBLIC.monkeybrains.net) (Remote host closed the connection)
  31. # [00:28] * Joins: weinig (~weinig@17.202.50.223)
  32. # [00:30] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Read error: Connection reset by peer)
  33. # [00:31] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  34. # [00:35] * Quits: llkats (~llkats@50.141.87.3) (Read error: Connection reset by peer)
  35. # [00:36] * Joins: llkats (~llkats@50.141.87.3)
  36. # [00:49] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  37. # [00:51] * Quits: plutoniix (~plutoniix@node-4fd.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
  38. # [00:58] * Joins: seventh (seventh@192.64.7.228)
  39. # [00:58] <TabAtkins> Yeah, identification. There's sine missteps, but *most* elements have unique interfaces.
  40. # [01:00] * Quits: lmclister (~lmclister@sjfw1.adobe.com)
  41. # [01:01] * weinig is now known as weinig|away
  42. # [01:02] * Joins: llkats_ (~llkats@50.141.87.3)
  43. # [01:04] * Quits: llkats (~llkats@50.141.87.3) (Ping timeout: 240 seconds)
  44. # [01:06] * llkats_ is now known as llkittens
  45. # [01:11] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  46. # [01:15] * Joins: barnabywalters (~barnabywa@89.17.128.127)
  47. # [01:17] * Quits: r2_ (~r2@181.16.14.134) (Quit: Leaving)
  48. # [01:18] * Quits: ehsan (~ehsan@66.207.208.102) (Remote host closed the connection)
  49. # [01:20] * Joins: ehsan (~ehsan@66.207.208.102)
  50. # [01:20] * Quits: ehsan (~ehsan@66.207.208.102) (Remote host closed the connection)
  51. # [01:24] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  52. # [01:25] * Quits: llkittens (~llkats@50.141.87.3) (Read error: Connection reset by peer)
  53. # [01:26] * Joins: llkittens (~llkats@50.141.87.3)
  54. # [01:26] * Joins: jeremyj (~jeremyj@17.202.44.231)
  55. # [01:28] * Quits: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95) (Quit: coolbot95)
  56. # [01:33] * Joins: mven_ (~textual@ip68-104-38-84.lv.lv.cox.net)
  57. # [01:34] * Joins: jdaggett (~jdaggett@61-121-216-2.bitcat.net)
  58. # [01:41] * Joins: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95)
  59. # [01:45] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Read error: Connection reset by peer)
  60. # [01:49] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: barnabywalters)
  61. # [01:50] * Quits: llkittens (~llkats@50.141.87.3) (Read error: Connection reset by peer)
  62. # [01:50] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  63. # [01:51] * Joins: llkittens (~llkats@50.141.87.3)
  64. # [01:51] * Joins: jeremyj (~jeremyj@17.202.44.231)
  65. # [01:53] * Krinkle is now known as Krinkle|detached
  66. # [01:55] * Joins: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com)
  67. # [01:56] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  68. # [02:02] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  69. # [02:04] * Quits: estellevw (~estellevw@209.49.73.82) (Quit: Snuggling with the puppies)
  70. # [02:05] * Quits: ap (~ap@2620:149:4:304:9d2f:11e8:518d:3d51) (Quit: ap)
  71. # [02:05] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
  72. # [02:05] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
  73. # [02:07] <MikeSmith> Hixie: Yeah I'm noticing even-more-frequent 408s from bugzilla too, and not just in chrome. I'll raise an actual report for it with the systems team and ask that somebody spend some time trying to reproduce it and troubleshoot it.
  74. # [02:08] * Joins: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com)
  75. # [02:13] * Joins: ehsan (~ehsan@24-212-207-29.cable.teksavvy.com)
  76. # [02:16] * Quits: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com) (Quit: sicking)
  77. # [02:23] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  78. # [02:23] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
  79. # [02:23] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
  80. # [02:26] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  81. # [02:26] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
  82. # [02:27] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  83. # [02:30] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
  84. # [02:30] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 258 seconds)
  85. # [02:31] * Joins: dcherman (~dcherman@ool-43560d79.dyn.optonline.net)
  86. # [02:31] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
  87. # [02:32] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
  88. # [02:32] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  89. # [02:33] * Joins: jeremyj (~jeremyj@17.202.44.231)
  90. # [02:34] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Ping timeout: 276 seconds)
  91. # [02:36] * Quits: llkittens (~llkats@50.141.87.3) (Read error: Connection reset by peer)
  92. # [02:38] * Joins: llkittens (~llkats@50.141.87.3)
  93. # [02:40] * Quits: jsbell (jsbell@nat/google/x-tfbdksikvsshkdmf) (Quit: There's no place like home...)
  94. # [02:40] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
  95. # [02:41] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  96. # [02:41] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  97. # [02:47] * Joins: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com)
  98. # [02:49] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Read error: Connection reset by peer)
  99. # [02:49] * Joins: bholley_ (~bholley@corp-nat.p2p.sfo1.mozilla.com)
  100. # [02:53] * Quits: llkittens (~llkats@50.141.87.3)
  101. # [02:56] * Quits: ehsan (~ehsan@24-212-207-29.cable.teksavvy.com) (Quit: Leaving...)
  102. # [02:58] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  103. # [03:01] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  104. # [03:03] * Quits: weinig|away (~weinig@17.202.50.223) (Quit: weinig|away)
  105. # [03:05] * Quits: othermaciej (~mjs@17.114.217.119) (Quit: othermaciej)
  106. # [03:10] * Quits: espadrine_ (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
  107. # [03:11] * Joins: espadrine_ (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr)
  108. # [03:13] * Joins: jeremyj (~jeremyj@17.202.44.231)
  109. # [03:26] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
  110. # [03:26] * Joins: othermaciej (~mjs@76.74.153.41)
  111. # [03:27] * Quits: bholley_ (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  112. # [03:28] * Quits: bnicholson2 (~bnicholso@corp.mtv2.mozilla.com) (Ping timeout: 255 seconds)
  113. # [03:28] * Joins: Goplat (~goplat@reactos/developer/Goplat)
  114. # [03:40] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  115. # [03:47] * Quits: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  116. # [04:01] * Quits: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95) (Quit: coolbot95)
  117. # [04:01] <MikeSmith> it is possible to programatically set the validatity state on a particular element?
  118. # [04:02] <MikeSmith> I'd like to make the browser show an invalidity indicator for a particular input area after some other client-side checking completes
  119. # [04:03] <Hixie> yeah, that's what setCustomValidity() is for
  120. # [04:03] <MikeSmith> ah sweet
  121. # [04:06] <MikeSmith> Hixie: do I then need to fire a synthetic "invalid" event at the element, to get the message to appear?
  122. # [04:06] <Hixie> the message appears when the form is submitted, usually
  123. # [04:06] <MikeSmith> ah OK
  124. # [04:06] <Hixie> there's a recent addition form.reportValidity() that can also be used
  125. # [04:07] * Quits: jwalden (~waldo@corp.mtv2.mozilla.com) (Quit: ChatZilla 0.9.87-8.1450hg.fc20 [XULRunner 29.0/20140428110119])
  126. # [04:07] <Hixie> but i don't know who implements that, if anyone
  127. # [04:07] <MikeSmith> so in this case I'm not actually submitting a form
  128. # [04:07] <MikeSmith> ok
  129. # [04:07] <Hixie> (and :invalid should begin matching immediately)
  130. # [04:08] <MikeSmith> I guess I may need to emulate whatever form.reportValidity() does
  131. # [04:09] * Joins: llkats (~llkats@50.141.87.3)
  132. # [04:09] <Hixie> why aren't you submitting the form?
  133. # [04:10] <MikeSmith> Hixie: because there's nothing to submit -- it's just executing client-side
  134. # [04:11] <MikeSmith> this is http://w3c-test.org/tools/runner/index.html
  135. # [04:11] <Hixie> i don't mean submit to http necessarily
  136. # [04:11] <MikeSmith> yeah sure
  137. # [04:11] <Hixie> is there a submit button?
  138. # [04:11] <MikeSmith> there's the Start button there
  139. # [04:12] <Hixie> then theres a submission step
  140. # [04:12] <MikeSmith> which causes it to iterate over a list of tests
  141. # [04:12] <MikeSmith> yeah
  142. # [04:12] <Hixie> just make it submit to javascript:submitted() or something
  143. # [04:12] <Hixie> as in action="javascript:submitted()"
  144. # [04:12] <MikeSmith> oh
  145. # [04:13] <MikeSmith> action or formaction?
  146. # [04:13] <Hixie> action if you put it on <form>
  147. # [04:13] <Hixie> formaction if you need to override an action="" from the <form> on the <button>
  148. # [04:13] <MikeSmith> yeah
  149. # [04:15] <Hixie> i have a proposal somewhere for some extension to method="" that's specifically for forms like this
  150. # [04:15] <Hixie> a bit like method=dialog but without even the automatic closure of the dialog
  151. # [04:16] <Hixie> i forget where i mentioned that though...
  152. # [04:16] <Hixie> i never filed a bug for it specifically
  153. # [04:17] * Joins: bnicholson2 (~bnicholso@24.130.57.109)
  154. # [04:19] <Domenic> Iirc programmatic submission does not trigger validity UI
  155. # [04:20] <Domenic> so reportValidity is awesome but I wish someone implemented it
  156. # [04:20] <Domenic> TabAtkins: Hixie: so generally the plan going forward is that each new element should have its own class, even if it has no unique properties over HTMLElement?
  157. # [04:23] * htmelvis is now known as htmelvis_zzz
  158. # [04:23] * htmelvis_zzz is now known as htmelvis
  159. # [04:23] * Joins: roc (~chatzilla@60.234.66.18)
  160. # [04:26] * Quits: othermaciej (~mjs@76.74.153.41) (Quit: othermaciej)
  161. # [04:26] <MikeSmith> hot dog javascript:submitted() works great
  162. # [04:26] <MikeSmith> thanks Hixie
  163. # [04:29] <MikeSmith> hmm maybe I should just call it "started" though
  164. # [04:30] * Quits: llkats (~llkats@50.141.87.3) (Read error: Connection reset by peer)
  165. # [04:31] <MikeSmith> someday I should actually get around to learning web programming
  166. # [04:31] * Joins: llkats (~llkats@50.141.87.3)
  167. # [04:34] * Quits: seventh (seventh@192.64.7.228) (Ping timeout: 245 seconds)
  168. # [04:39] * Quits: dcherman (~dcherman@ool-43560d79.dyn.optonline.net) (Quit: Leaving)
  169. # [04:40] * Joins: Streusel (~Anonymous@S01061859334846a2.vc.shawcable.net)
  170. # [04:40] * Quits: Streusel (~Anonymous@S01061859334846a2.vc.shawcable.net) (Changing host)
  171. # [04:40] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
  172. # [04:40] <MikeSmith> alternatively, it seems like setCustomValidity() is already pretty well supported, and that's less trouble
  173. # [04:41] <Hixie> Domenic: there's no plan one way or the other there
  174. # [04:41] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
  175. # [04:41] <Hixie> MikeSmith: setCustomValidity() is something you would use with submission
  176. # [04:42] <MikeSmith> Hixie: yeah if I just make my "Start" button type=submit that should work, right?
  177. # [04:42] <Hixie> yup
  178. # [04:43] <MikeSmith> yeah so I mean that way I don't have to write my own submit thing
  179. # [04:43] <Hixie> ah right
  180. # [04:44] <MikeSmith> which in this case means, less code to get reviewed, and so less for zcorpan to find problems with :-)
  181. # [04:46] <MikeSmith> I find that when things I code need to go to zcorpan for review, minimizing the review surface causes me less embarrassment and time
  182. # [04:48] <Hixie> that's pretty much a given for anyone :-)
  183. # [04:48] * Joins: llkats_ (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  184. # [04:51] * Quits: llkats (~llkats@50.141.87.3) (Ping timeout: 258 seconds)
  185. # [04:55] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  186. # [04:56] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
  187. # [04:58] * parshap_ is now known as parshap
  188. # [05:02] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Ping timeout: 255 seconds)
  189. # [05:06] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
  190. # [05:25] * Joins: karlcow (~karl@nerval.la-grange.net)
  191. # [05:41] * htmelvis is now known as htmelvis_zzz
  192. # [05:41] * htmelvis_zzz is now known as htmelvis
  193. # [05:46] * Quits: espadrine_ (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
  194. # [05:46] * Joins: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net)
  195. # [06:02] * Joins: weinig (~weinig@98.234.191.242)
  196. # [06:03] * Joins: darin (~darin@c-69-181-136-182.hsd1.ca.comcast.net)
  197. # [06:03] * darin is now known as fishd
  198. # [06:05] * Quits: nephyrin (~neph@corp.mtv2.mozilla.com) (Ping timeout: 240 seconds)
  199. # [06:10] * Quits: fishd (~darin@c-69-181-136-182.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
  200. # [06:17] * Quits: llkats_ (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Remote host closed the connection)
  201. # [06:17] * Joins: llkats (~llkats@h-64-236-138-3.aoltw.net)
  202. # [06:23] * Joins: fishd (~fishd@216.239.45.130)
  203. # [06:25] <zewt> i really have to wonder who designs the twitter input UI and goes home at the end of the day with a firm good-day-of-work nod
  204. # [06:25] <zewt> re: press down, go to next line. press down again, get a "David Goodman" dropdown because the cursor is on the word "good"
  205. # [06:38] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  206. # [06:48] * Joins: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net)
  207. # [06:52] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
  208. # [06:53] * Quits: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  209. # [06:58] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
  210. # [07:00] <SamB> zewt: what is this "line" of which you speak
  211. # [07:01] * Quits: weinig (~weinig@98.234.191.242) (Quit: weinig)
  212. # [07:01] <zewt> text input box
  213. # [07:03] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Ping timeout: 255 seconds)
  214. # [07:03] * SamB does not think of twitter input as *having* lines
  215. # [07:07] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  216. # [07:14] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
  217. # [07:16] * Quits: rniwa (~rniwa@17.202.43.222) (Quit: rniwa)
  218. # [07:21] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
  219. # [07:25] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
  220. # [07:27] * Quits: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net) (Ping timeout: 245 seconds)
  221. # [07:40] * Quits: roc (~chatzilla@60.234.66.18) (Ping timeout: 252 seconds)
  222. # [07:52] * Joins: espadrine (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr)
  223. # [07:59] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
  224. # [08:01] * Joins: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com)
  225. # [08:15] * Quits: llkats (~llkats@h-64-236-138-3.aoltw.net)
  226. # [08:16] * Joins: mpt (mpt@conference/canonical/x-vpxdypqecmqhubab)
  227. # [08:16] * Quits: mpt (mpt@conference/canonical/x-vpxdypqecmqhubab) (Changing host)
  228. # [08:16] * Joins: mpt (mpt@canonical/mpt)
  229. # [08:16] * Quits: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com) (Quit: Leaving.)
  230. # [08:22] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
  231. # [08:24] * Joins: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net)
  232. # [08:26] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
  233. # [08:35] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  234. # [08:35] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  235. # [08:42] * Joins: rniwa (~rniwa@67.164.23.121)
  236. # [08:57] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
  237. # [09:19] * Joins: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be)
  238. # [09:23] * Joins: Smylers (~smylers@176.12.107.140)
  239. # [09:27] * Quits: fishd (~fishd@216.239.45.130) (Ping timeout: 258 seconds)
  240. # [09:29] * Joins: Smylers1 (~smylers@94.118.156.243)
  241. # [09:31] * Quits: Smylers (~smylers@176.12.107.140) (Ping timeout: 258 seconds)
  242. # [09:34] * Quits: Smylers1 (~smylers@94.118.156.243) (Ping timeout: 255 seconds)
  243. # [09:38] * Quits: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net) (Quit: sicking)
  244. # [09:43] * Quits: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk) (Ping timeout: 265 seconds)
  245. # [09:46] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  246. # [09:48] * Joins: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk)
  247. # [09:54] * Joins: Smylers (~smylers@81.143.60.194)
  248. # [10:07] * Joins: plutoniix (~plutoniix@node-5uo.pool-125-25.dynamic.totbb.net)
  249. # [10:10] * Quits: jdaggett (~jdaggett@61-121-216-2.bitcat.net) (Ping timeout: 252 seconds)
  250. # [10:12] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  251. # [10:27] * Quits: rniwa (~rniwa@67.164.23.121) (Quit: rniwa)
  252. # [10:28] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  253. # [10:38] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
  254. # [10:47] * Joins: Maurice` (copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl)
  255. # [10:50] * Joins: poona (~poona@unaffiliated/poona)
  256. # [10:54] <annevk> Domenic: I think each element having its own class is a requirement if we start exposing constructors, otherwise adding new features to existing elements becomes problematic
  257. # [10:55] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
  258. # [11:02] * Quits: SamB (~SamB@2001:470:1f07:57:1d3e:c79e:fb97:afe6) (Read error: Connection reset by peer)
  259. # [11:03] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
  260. # [11:04] * Joins: SamB (~SamB@2001:470:1f07:57:24ad:5c8c:c2a1:c153)
  261. # [11:11] * Joins: zdobersek (~zan@109.201.152.16)
  262. # [11:14] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
  263. # [11:18] * Joins: zdobersek1 (~zan@fanzine.igalia.com)
  264. # [11:21] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  265. # [11:22] * Quits: zdobersek1 (~zan@fanzine.igalia.com) (Client Quit)
  266. # [11:22] * Quits: zdobersek (~zan@109.201.152.16) (Ping timeout: 252 seconds)
  267. # [11:29] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  268. # [11:40] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 252 seconds)
  269. # [11:40] * Joins: zdobersek (~zan@109.201.152.9)
  270. # [11:40] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Quit: BigBangUDR)
  271. # [11:46] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 240 seconds)
  272. # [11:47] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  273. # [11:49] * Joins: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8)
  274. # [11:54] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  275. # [12:08] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  276. # [12:10] * Quits: lerc (~quassel@121-74-2-8.telstraclear.net) (*.net *.split)
  277. # [12:11] * Joins: lerc (~quassel@121-74-2-8.telstraclear.net)
  278. # [12:16] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
  279. # [12:17] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  280. # [12:19] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
  281. # [12:19] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  282. # [12:20] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Read error: Connection reset by peer)
  283. # [12:21] * Joins: satazor (~satazor@bl17-210-61.dsl.telepac.pt)
  284. # [12:24] * Joins: aleray (~aleray@109.129.176.18)
  285. # [12:24] <aleray> hi, I have a webpage with several articles. Each article is translated in several languages. what is a sensible markup in this case?
  286. # [12:24] * Quits: satazor (~satazor@bl17-210-61.dsl.telepac.pt) (Remote host closed the connection)
  287. # [12:24] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  288. # [12:24] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  289. # [12:25] <aleray> example: http://dpaste.com/0HFDBMR/
  290. # [12:27] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  291. # [12:32] <annevk> aleray: use an <article> for each translation with lang=nl and such
  292. # [12:32] <annevk> aleray: or maybe <section> for each translation,
  293. # [12:32] * Quits: mpt (mpt@canonical/mpt) (Ping timeout: 255 seconds)
  294. # [12:33] <annevk> aleray: depends a bit on size and such I guess, not sure there's a hard and fast rule
  295. # [12:33] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 258 seconds)
  296. # [12:37] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  297. # [12:41] * Joins: adactio (~adactio@212.42.170.121)
  298. # [12:41] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Client Quit)
  299. # [12:42] * Joins: kestutis (~kestutis@46-37-58-172.dsl.cnl.uk.net)
  300. # [12:50] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  301. # [12:50] <aleray> annevk, you mean like this? http://dpaste.com/14HHXYD/
  302. # [12:54] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  303. # [12:57] * Joins: lars_smit (~larssmit@a80-101-110-66.adsl.xs4all.nl)
  304. # [13:07] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
  305. # [13:09] * Joins: cheron (~cheron@unaffiliated/cheron)
  306. # [13:13] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  307. # [13:15] <annevk> aleray: not sure I'd nest <article> like that, it's intended for comments
  308. # [13:16] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  309. # [13:20] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  310. # [13:28] * Krinkle|detached is now known as Krinkle
  311. # [13:36] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
  312. # [13:37] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  313. # [13:38] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  314. # [13:39] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
  315. # [13:41] <annevk> JakeA: you around?
  316. # [13:42] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 265 seconds)
  317. # [13:44] * Joins: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95)
  318. # [13:52] * Joins: barnabywalters (~barnabywa@89.17.128.127)
  319. # [13:53] <annevk> What's a good name for Request and URL combined?
  320. # [13:53] <annevk> RequestInfo?
  321. # [13:54] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  322. # [14:08] * Quits: bentruyman (~bentruyma@23.252.119.254) (Ping timeout: 252 seconds)
  323. # [14:10] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
  324. # [14:11] * Joins: bentruyman (~bentruyma@23.252.119.254)
  325. # [14:14] * Joins: felipedefarias (~felipedef@189-19-85-225.dsl.telesp.net.br)
  326. # [14:16] * Joins: mpt (mpt@conference/canonical/x-pnlvybtzohipzggw)
  327. # [14:16] * Quits: mpt (mpt@conference/canonical/x-pnlvybtzohipzggw) (Changing host)
  328. # [14:16] * Joins: mpt (mpt@canonical/mpt)
  329. # [14:17] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  330. # [14:18] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:d055:936b:ec40:daab)
  331. # [14:21] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  332. # [14:27] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
  333. # [14:27] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  334. # [14:30] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  335. # [14:32] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 252 seconds)
  336. # [14:33] * Quits: poona (~poona@unaffiliated/poona) (Ping timeout: 240 seconds)
  337. # [14:33] <tobie> annevk: what do you mean by combined?
  338. # [14:33] * Joins: newtron (~newtron@199.71.174.203)
  339. # [14:34] <annevk> tobie: see http://fetch.spec.whatwg.org/#fetch-api
  340. # [14:35] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  341. # [14:35] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
  342. # [14:36] <tobie> I was going to ask if you were looking for (Request or SVStr)
  343. # [14:39] <annevk> tobie: yeah, a name for that :-)
  344. # [14:44] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  345. # [14:44] <tobie> annevk: do you see it more as (Obj or primitive) or as RequestParam?
  346. # [14:45] <annevk> Above I used a single name as fetch() also takes it as argument
  347. # [14:45] <annevk> If I have repeat usage of an or'd item I try to make a name for it
  348. # [14:46] <tobie> Right. Which makes sense.
  349. # [14:46] * Joins: poona (~poona@117.198.111.242)
  350. # [14:46] * Quits: poona (~poona@117.198.111.242) (Changing host)
  351. # [14:46] * Joins: poona (~poona@unaffiliated/poona)
  352. # [14:46] <tobie> Unrelated, but doesn't the same pattern also make sense for URL?
  353. # [14:47] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  354. # [14:48] * Joins: tj_vantoll1 (~Adium@c-98-250-130-237.hsd1.mi.comcast.net)
  355. # [14:51] <annevk> tobie: what do you mean?
  356. # [14:51] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:d055:936b:ec40:daab) (Ping timeout: 240 seconds)
  357. # [14:51] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  358. # [14:52] <tobie> That new URL() accepts both a SV string and an URL.
  359. # [14:56] <annevk> tobie: oh, URL stringifies
  360. # [14:56] <tobie> annevk: Oh.
  361. # [14:57] <tobie> annevk: where (how?) is that behaviour described.
  362. # [14:57] <JakeA> annevk: sorry, recording a 15 min video took all morning. Catching up…
  363. # [14:57] <annevk> tobie: "stringifier attribute ScalarValueString href;"
  364. # [14:57] <tobie> duh
  365. # [14:59] <tobie> annevk: Would something like GenericRequest capture the intention (it's ugly, though)
  366. # [15:00] <JakeA> annevk: I've always called it just "request", one of the first step is 'upgrading' strings to responses, so haven't seen it as an issue
  367. # [15:03] <annevk> JakeA: the issue is that Request is a thing :-)
  368. # [15:03] <annevk> JakeA: in an hour or so from now I'd like to talk about body/headers if that works
  369. # [15:03] <annevk> tobie: yeah, not really better than Info
  370. # [15:03] <JakeA> annevk: Yeah, I'm free now
  371. # [15:03] <annevk> JakeA: yeah sorry, going out to get a snack
  372. # [15:04] <JakeA> annevk: no worries, got inbox to churn though
  373. # [15:14] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  374. # [15:16] * Quits: rcombs (~rcombs@rcombs.me) (Read error: Connection reset by peer)
  375. # [15:18] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  376. # [15:19] * Joins: rcombs (~rcombs@rcombs.me)
  377. # [15:21] * Quits: ^esc (~esc-ape@77.119.129.217.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
  378. # [15:28] <tobie> annevk: what's your plan for headers? More towards a dictionary or raw text with methods like for xhr?
  379. # [15:30] * Joins: TallTed (~Thud@63.119.36.36)
  380. # [15:30] * Quits: felipedefarias (~felipedef@189-19-85-225.dsl.telesp.net.br) (Remote host closed the connection)
  381. # [15:31] * Quits: lars_smit (~larssmit@a80-101-110-66.adsl.xs4all.nl) (Quit: Textual IRC Client: www.textualapp.com)
  382. # [15:31] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  383. # [15:36] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 258 seconds)
  384. # [15:45] * Krinkle is now known as Krinkle|detached
  385. # [15:51] <annevk> ait back
  386. # [15:51] <annevk> tobie: I have no idea
  387. # [15:51] <annevk> tobie: I was hoping other people had ideas, JakeA?
  388. # [15:52] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: barnabywalters)
  389. # [15:52] <tobie> worth looking at what JS libs are doing here imho.
  390. # [15:52] <jgraham> Hmm, you can have multiple headers with the same name
  391. # [15:52] <jgraham> So a dictionary doesn't quite work
  392. # [15:53] <zewt> order might matter in some cases too
  393. # [15:53] <jgraham> The standard python thing seems to be a "multidict" which stores a list, but makes access to one of the first or last value simple
  394. # [15:54] <jgraham> http://docs.webob.org/en/latest/reference.html#id3
  395. # [15:54] <zewt> xhr just flattens multiple values for a header, not sure if that's bad somehow
  396. # [15:54] <tobie> you can return an array in those cases (or in all cases)
  397. # [15:55] <jgraham> http://docs.webob.org/en/latest/#multidict
  398. # [15:55] <zewt> returning an array is annoying when you usually only have one value (and only sometimes returning an array is *really* annoying)
  399. # [15:55] <jgraham> So returning an array in some cases is confusing and returning an array in all cases is user-hostile
  400. # [15:55] <JakeA> agreed
  401. # [15:56] <JakeA> made a "query string to dict" method that always had arrays as keys. It was shite.
  402. # [15:56] <zewt> (a bigger problem with URL query APIs; I hate the ones that return arrays, making my life harder for some other 1% of users)
  403. # [15:56] <jgraham> The 1% that use radio buttons?
  404. # [15:57] <jgraham> Actually I guess that's wrong
  405. # [15:57] <annevk> jgraham: multiple headers with the same name is the same as multiple values for a single name
  406. # [15:57] <annevk> zewt: order only matters on the response and shouldn't in theory
  407. # [15:57] <jgraham> annevk: Yeah, so?
  408. # [15:57] <jgraham> You still have to support it
  409. # [15:57] <annevk> jgraham: no, you can just expose it as a single name with multiple values
  410. # [15:57] <JakeA> http://nodejs.org/api/http.html#http_message_headers node just uses a dict
  411. # [15:58] <jgraham> You mean comma seperated?
  412. # [15:58] <jgraham> I thought the whole point was to avoid the user having to parse things
  413. # [15:58] <annevk> jgraham: that's multiple values
  414. # [15:58] <annevk> jgraham: but it could be an array
  415. # [15:58] <zewt> jgraham: you don't have to support it if it's a new API
  416. # [15:59] <jgraham> annevk: 13:55 < jgraham> So returning an array in some cases is confusing and returning an array in all cases is user-hostile
  417. # [16:00] <JakeA> .get() .getAll()?
  418. # [16:00] <JakeA> :(
  419. # [16:00] <jgraham> Something like that
  420. # [16:00] <jgraham> I would be fine if [] did .get()
  421. # [16:00] <zewt> actually, it should probably just match URL, since it seems like an identical problem
  422. # [16:00] * Joins: satazor (~satazor@bl17-210-61.dsl.telepac.pt)
  423. # [16:01] <annevk> what's actually wrong with having to parse the values?
  424. # [16:01] <zewt> (URL queries, that is)
  425. # [16:01] <annevk> splitting on "," if you expect multiple values seems not that bad
  426. # [16:01] <jgraham> It seems terrible
  427. # [16:02] <jgraham> You have to check every time to see if you have a "," in the value and if so split it
  428. # [16:02] <zewt> (splitting on "," then stripping spaces)
  429. # [16:02] <jgraham> Otherwise you get a bogus value
  430. # [16:02] <annevk> jgraham: euhm no? mostly the header name indicates it only has a single value
  431. # [16:03] <JakeA> headers[headerName], vs headers.all which is an array of arrays [[key, val], [key, val], [key, val]]
  432. # [16:03] <zewt> i don't know the use cases, but if a dumb server sends "Content-Type: text/plain" twice in a row because someone did something dumb in PHP, and my code assumes only one value, I'd rather get one arbitrary header value (even if they're different) than "text/plain, text/plain"
  433. # [16:03] <JakeA> You'd use .all if you care about the ordering
  434. # [16:03] <JakeA> & multiple values
  435. # [16:03] <zewt> JakeA: http://url.spec.whatwg.org/#urlsearchparams
  436. # [16:03] <JakeA> headers[headerName] is comma joined
  437. # [16:03] <annevk> zewt: at that point you'd have a security bug in your code
  438. # [16:03] <zewt> annevk: unconvincing
  439. # [16:04] <jgraham> annevk: Having a bug in your code because you expect one value and get more than one seems much more likely than having a bug when the API consistently returns data in the same format for a given call
  440. # [16:04] <JakeA> URLSearchParams works for me. As jgraham says, headers[val] should be the same as headers.get(val)
  441. # [16:05] <tobie> +1 for consistency with URLSearchParams
  442. # [16:06] <tobie> getAll returns an array?
  443. # [16:06] <jgraham> Yeah
  444. # [16:07] <tobie> and so get(foo) === getAll(foo)[0]
  445. # [16:07] <annevk> I wonder if we can make that generic
  446. # [16:07] <JakeA> I'm happy with that
  447. # [16:07] <annevk> But what do we want for the construction side?
  448. # [16:07] <JakeA> Fits nicely with cache.match & matchAll
  449. # [16:07] <zewt> annevk: seems like the only thing query-specific right now is the stringifier
  450. # [16:07] <annevk> new Request(url, { headers: XXX })
  451. # [16:08] <jgraham> Yeah, I don't really care if get returns [0] or [-1], so consistency with URLSearchParams seems ideal
  452. # [16:08] <annevk> zewt: and the parser
  453. # [16:08] <JakeA> annevk: obj. If you want to do fancy shit, you construct then headers.append
  454. # [16:08] <annevk> URLSearchParams could be a subclass perhaps
  455. # [16:08] <annevk> JakeA: I want Request to be immutable
  456. # [16:09] <annevk> JakeA: but it could be obj or WhateverWeCallTheHeaderThing
  457. # [16:09] <jgraham> annevk: .append to the URLSearchParams-like object I assume
  458. # [16:09] <annevk> Actually, URLSearchParams-like also sucks for keeping Request immutable
  459. # [16:09] <JakeA> hmm, I don't think it should be immutable
  460. # [16:09] <tobie> setter should prop accept a vanilla obj with arrays or strings
  461. # [16:09] <zewt> annevk: it'd just need an immutable base class
  462. # [16:09] * Joins: gungan_fuq (~encryptd_@23.30.224.246)
  463. # [16:09] <annevk> sounds like a lot of complexity for some headers
  464. # [16:10] <JakeA> annevk: it'd be great to be able to modify requests as they fly through the fetch event (add/remove headers)
  465. # [16:10] <zewt> sounds like a common pattern for data structures
  466. # [16:10] <JakeA> annevk: Without explicitly respondWithing
  467. # [16:10] <annevk> JakeA: Could you clarify the Cache API that it's intended to be available on the main thread in due course and is origin-bound security-wise? That is, the main thread has access to the same data?
  468. # [16:11] <JakeA> annevk: Clarify it in the spec?
  469. # [16:11] <annevk> JakeA: yes
  470. # [16:11] <JakeA> sure, will make a ticket now to remind me
  471. # [16:13] * Quits: mpt (mpt@canonical/mpt) (Read error: No route to host)
  472. # [16:14] * Joins: mpt (mpt@canonical/mpt)
  473. # [16:15] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  474. # [16:17] <JakeA> annevk: is this unpossible? https://gist.github.com/jakearchibald/9f556ce0eafc47ba3d6e
  475. # [16:19] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  476. # [16:19] <annevk> JakeA: at the moment, yes
  477. # [16:20] <annevk> JakeA: I had assumed we'd not want pages to manipulate the underlying requests so easily; also, it's not entirely clear to me how that would work if the hook for that is that SW returns null
  478. # [16:21] <JakeA> but isn't the request object modified, or is the serviceworker given a copy?
  479. # [16:23] <tobie> JakeA: if you want to keep immutability, what you want is an easy way to duplicate a request with a few modifications.
  480. # [16:23] <jgraham> Why do you want immutability?
  481. # [16:23] <JakeA> ^- that
  482. # [16:24] <Ms2ger> FP
  483. # [16:25] <jgraham> Ms2ger: If you were hoping for first post here, you a a bit late
  484. # [16:25] <Ms2ger> Pah
  485. # [16:25] <jgraham> If you were hoping that javascript was a functional programming language, you're a bit deluded
  486. # [16:29] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  487. # [16:30] <annevk> JakeA: I was assuming we'd be passing copies around due to threading
  488. # [16:31] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
  489. # [16:31] <tobie> seems sensible to design with immutability and later turn mutable if safe to do so, rather than the opposite.
  490. # [16:32] <jgraham> It seems more sensible to ask some implementors about whether immutability is a requirement rather than design an API with artificial limitations
  491. # [16:32] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  492. # [16:32] <JakeA> One use-case is resource priorities, being able to tag requests as they come through the fetch event without having to taking over handling the whole request
  493. # [16:33] <annevk> It's not a requirement of course. You can always make it work somehow.
  494. # [16:33] <annevk> But it's not as simple as you make it seem
  495. # [16:34] <annevk> Requests originating from the page are more powerful than we'd like fetch() to handle. But fetch() could still make a restricted copy of course.
  496. # [16:34] <jgraham> Right, but I'm not sure I understand where you think that an immutable object would help. Is there a case when you pass the object into another thread and it is still accessible in both threads? If so, how expensive is a copy?
  497. # [16:35] * Quits: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8) (*.net *.split)
  498. # [16:35] <jgraham> And could you solve it using a COW design? If so, how hard is that to implement?
  499. # [16:36] <annevk> COW?
  500. # [16:36] <jgraham> Copy On Write
  501. # [16:36] <jgraham> i.e. only make a copy if a mutation occurs
  502. # [16:36] * Krinkle|detached is now known as Krinkle
  503. # [16:37] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
  504. # [16:37] * Joins: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8)
  505. # [16:41] <annevk> jgraham: the problem with mutable is that we have both UA-created Request objects and content-created Request objects
  506. # [16:42] <annevk> jgraham: the former are more involved
  507. # [16:42] <JakeA> Or, give SW a copy, then read bits from it if the SW doesn't call respondWith
  508. # [16:42] <annevk> jgraham: if we allow arbitrary manipulation, there's a whole lot more to reason about
  509. # [16:42] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 245 seconds)
  510. # [16:43] <annevk> JakeA: I guess I would have SW return the request rather than null if we go down that route
  511. # [16:44] * Quits: karlcow (~karl@nerval.la-grange.net) (Ping timeout: 245 seconds)
  512. # [16:44] <jgraham> annevk: Well the question is whether there are use cases for manipulating the various types of request
  513. # [16:44] * Joins: nephyrin (~neph@corp.mtv2.mozilla.com)
  514. # [16:44] <JakeA> annevk: That works
  515. # [16:44] <jgraham> If there aren't any for UA-generated Request objects, they could be immutable. But JakeA seems to have a better idea of the use cases here
  516. # [16:45] * Quits: mven_ (~textual@ip68-104-38-84.lv.lv.cox.net) (Ping timeout: 264 seconds)
  517. # [16:46] * Quits: satazor (~satazor@bl17-210-61.dsl.telepac.pt) (Remote host closed the connection)
  518. # [16:46] <jgraham> Certainly for user-generated Requests, being able to manipulate the request before passing it to fetch seems very useful
  519. # [16:46] * Joins: satazor (~satazor@bl17-210-61.dsl.telepac.pt)
  520. # [16:46] * Quits: nephyrin (~neph@corp.mtv2.mozilla.com) (Read error: Connection reset by peer)
  521. # [16:46] * Joins: nephyrin` (~neph@corp.mtv2.mozilla.com)
  522. # [16:46] <JakeA> jgraham: mostly around resource priorities, giving particular request a higher priority without having to handle the request entirely
  523. # [16:47] <annevk> jgraham: the only case so far was about a UA-generated Request object
  524. # [16:47] * Joins: karlcow (~karl@nerval.la-grange.net)
  525. # [16:49] <annevk> JakeA: if we give access to such headers, set by the UA, what are the implications for privacy?
  526. # [16:49] <annevk> JakeA: I hadn't actually really thought about exposing Request objects in general for all requests the page makes
  527. # [16:49] <JakeA> annevk: I thought the sensitive headers (such as cookies) were applied after the call into SW
  528. # [16:49] <annevk> JakeA: maybe there's not much badness apart from cookies, which we'll make sure to hide
  529. # [16:50] * Quits: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk) (Quit: Ex-Chat)
  530. # [16:51] <JakeA> (I've caught a crazy one https://www.facebook.com/occupyhtml5/posts/1475786125972047)
  531. # [16:51] * Quits: satazor (~satazor@bl17-210-61.dsl.telepac.pt) (Ping timeout: 255 seconds)
  532. # [16:51] <annevk> JakeA: currently cookies are set before, at the same time the Authorization header is built based on URL credentials
  533. # [16:51] <annevk> JakeA: it seems like SW would want access to same-origin login data
  534. # [16:51] * Quits: nephyrin` (~neph@corp.mtv2.mozilla.com) (Ping timeout: 252 seconds)
  535. # [16:51] <JakeA> annevk: but not http-only cookies
  536. # [16:52] <annevk> JakeA: see http://fetch.spec.whatwg.org/#concept-http-fetch
  537. # [16:52] <annevk> JakeA: cookies in general are not exposed so I guess they're not an issue
  538. # [16:52] <JakeA> annevk: https://github.com/slightlyoff/ServiceWorker/issues/234 there's also if-none-match and if-modified-since
  539. # [16:52] * Joins: nephyrin (~neph@corp.mtv2.mozilla.com)
  540. # [16:54] <annevk> JakeA: do you want to manipulate <body> too?
  541. # [16:54] <annevk> JakeA: given http://fetch.spec.whatwg.org/#request what fields should be mutable?
  542. # [16:58] * Quits: tav (~tav`@host217-42-231-34.range217-42.btcentralplus.com) (Quit: tav)
  543. # [16:58] * Joins: tav (~tav`@host217-42-231-34.range217-42.btcentralplus.com)
  544. # [16:59] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  545. # [17:01] <JakeA> annevk: anything that wouldn't cause a security issue. Looking now…
  546. # [17:07] * Joins: izhak (~izhak@92.248.142.152)
  547. # [17:08] <JakeA> annevk: headers, body, mode, omitCredentialsMode?
  548. # [17:09] <annevk> JakeA: so if you set headers it would be a security issue for tainted cross-origin requests
  549. # [17:10] <annevk> JakeA: and changing the mode as a side-effect of setting a header seems very sketchy
  550. # [17:10] <annevk> JakeA: we could throw if the mode is not CORS or same-origin maybe
  551. # [17:10] <annevk> JakeA: and then set a flag to not allow mode to be set after you did such a thing
  552. # [17:11] <annevk> JakeA: but suddenly you're looking at something that's very hard to explain and reason about
  553. # [17:12] <JakeA> annevk: we're already going to set the mode based one headers in the constructors, aren't we?
  554. # [17:13] <JakeA> annevk: we can't allow a GET to another origin with arbitrary headers without a preflight
  555. # [17:13] <annevk> JakeA: my idea was for the constructor to have mode default to CORS
  556. # [17:13] <annevk> JakeA: and throw if you have headers and mode is not CORS or same-origin
  557. # [17:14] <JakeA> annevk: I still want to enable (although it may come later) making an image-like request, that'd be non-cors to other origins
  558. # [17:15] <JakeA> annevk: maybe we throw when setting headers, depending on mode
  559. # [17:16] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  560. # [17:16] <JakeA> annevk: …that would be easy as part of the constructor, as mode would be set before headers
  561. # [17:17] <annevk> JakeA: you set them at the same time
  562. # [17:17] <annevk> new Request(..., { headers: ..., mode:"tainted cross-origin" })
  563. # [17:18] <JakeA> annevk: Yeah, but the algorithm would be "set mode", "set each header, but if a header clashes with the mode, throw"
  564. # [17:18] <JakeA> or vice versa, I guess
  565. # [17:18] <annevk> fair
  566. # [17:19] <JakeA> the same thing would work with mutating, you'd have to lock down mode before adding headers that require cors. But I agree that cors is a sensible default for the constructor
  567. # [17:19] <annevk> JakeA: when would you want to mutate mode?
  568. # [17:20] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  569. # [17:21] <JakeA> annevk: I can't think of a reason why not
  570. # [17:25] <tobie> what it UA-generated Request objects were frozen, but constructed ones not?
  571. # [17:26] <JakeA> tobie: what's the benefit?
  572. # [17:26] <annevk> "unexplained magic"
  573. # [17:26] <annevk> (but there'll be some of that anyway)
  574. # [17:27] <annevk> JakeA: should mutating mode throw if there's headers already set?
  575. # [17:27] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
  576. # [17:27] * Joins: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net)
  577. # [17:27] <annevk> JakeA: how do we know headers are set by the author vs the UA?
  578. # [17:27] <JakeA> annevk: only if the headers are "illegal" given the new mode
  579. # [17:27] <annevk> JakeA: such a gigantic mess
  580. # [17:28] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
  581. # [17:30] <JakeA> annevk: where do we need to know which headers were set by the author vs UA?
  582. # [17:31] <tobie> JakeA: makes it easier to reason about?
  583. # [17:31] <annevk> JakeA: event.request; which headers can I read, which can I set? can I change .mode?
  584. # [17:32] <tobie> use case for changing mode in that case?
  585. # [17:32] <annevk> JakeA: if a UA has added Last-Event-ID, that's fine, if you do it, it's not
  586. # [17:32] <annevk> JakeA: that is, UA adding Last-Event-ID for EventSource() does not cause a preflight to happen
  587. # [17:33] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  588. # [17:33] * Joins: ehsan (~ehsan@66.207.208.102)
  589. # [17:35] * Joins: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net)
  590. # [17:35] <JakeA> annevk: I see, so setting mode to cors & back would throw in that case
  591. # [17:35] <JakeA> fair
  592. # [17:36] <annevk> but how do we distinguish? do we keep the UA headers and author headers in a distinct map?
  593. # [17:36] <JakeA> annevk: Does this problem go away if we make mode read-only, but not headers?
  594. # [17:36] * Joins: lmclister (~lmclister@sjfw1.adobe.com)
  595. # [17:37] <annevk> JakeA: not really
  596. # [17:37] <annevk> JakeA: hmm, maybe as soon as you touch headers mode becomes cors-with-preflight and immutable
  597. # [17:38] * Joins: tj_vantoll (~Adium@c-98-250-130-237.hsd1.mi.comcast.net)
  598. # [17:38] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
  599. # [17:38] * Quits: tj_vantoll1 (~Adium@c-98-250-130-237.hsd1.mi.comcast.net) (Read error: Connection reset by peer)
  600. # [17:38] <JakeA> annevk: I think if the request is not-cors, and you mess with one of the non-simple methods, it throws or steps up to CORS
  601. # [17:39] <JakeA> stepping up makes more sense I guess
  602. # [17:40] <annevk> Actually, setting mode to same-origin should be fine, it's mostly tainted cross-origin that's dangerous
  603. # [17:41] <annevk> JakeA: https://etherpad.mozilla.org/Request-object-design
  604. # [17:41] <JakeA> annevk: what's the attack (sorry, I'm running out of brain)
  605. # [17:42] * Joins: jeremyj (~jeremyj@17.202.44.231)
  606. # [17:42] <JakeA> annevk: do we need to filter headers or just set the restricted ones after the SW?
  607. # [17:42] <annevk> JakeA: you cannot currently send custom headers to random servers
  608. # [17:43] <JakeA> annevk: right, so setting those headers would change mode, trying to change mode back would throw. It might be weird in the eventsource case you mentioned though
  609. # [17:46] * Joins: jwatt (~roslea@host86-160-112-104.range86-160.btcentralplus.com)
  610. # [17:46] <jwatt> is there any work on a DOM for CSS gradients?
  611. # [17:47] <jgraham> TabAtkins: ^
  612. # [17:56] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  613. # [17:57] <annevk> JakeA: so the main problem with this is that you have now manipulated the request, but the request is still identifying itself as coming from the page
  614. # [17:59] * Joins: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net)
  615. # [17:59] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
  616. # [18:06] * Quits: 6JTAAT0YI (scrollback@conference/jsconf/x-sdghnzgixsapueke) (Remote host closed the connection)
  617. # [18:06] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  618. # [18:06] * Joins: 21WAAN4TK (scrollback@conference/jsconf/x-lloudkweruaxrgrv)
  619. # [18:07] * Quits: mpt (mpt@canonical/mpt) (Ping timeout: 264 seconds)
  620. # [18:07] * Quits: 21WAAN4TK (scrollback@conference/jsconf/x-lloudkweruaxrgrv) (Remote host closed the connection)
  621. # [18:08] * Joins: 14WAC1S61 (scrollback@conference/jsconf/x-mlclttqkscqvwflz)
  622. # [18:11] * Joins: ap (~ap@2620:149:4:304:286a:153c:7ee0:21ee)
  623. # [18:13] <annevk> JakeA: it would be great if some security guys could look at that etherpad
  624. # [18:14] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  625. # [18:14] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  626. # [18:14] <JakeA> annevk: I'll deploy the mikewest
  627. # [18:14] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  628. # [18:15] <annevk> JakeA: I'll try to fix the draft a bit tomorrow
  629. # [18:16] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  630. # [18:21] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  631. # [18:21] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 258 seconds)
  632. # [18:21] * Joins: fishd (fishd@nat/google/x-qtrowaepgbugzggr)
  633. # [18:22] * Joins: jsbell (jsbell@nat/google/x-shfrubeuxnzynvnd)
  634. # [18:23] <JakeA> annevk: when you say restricted header names, do you mean cookie, if-none-match etc? Or do they just get silently overwritten?
  635. # [18:24] <annevk> JakeA: http://fetch.spec.whatwg.org/#concept-forbidden-author-header-names
  636. # [18:24] <annevk> JakeA: if-none-match is typically fair game
  637. # [18:24] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
  638. # [18:25] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
  639. # [18:25] <JakeA> annevk: reading it may expose the response, especially the response is limited to a few values
  640. # [18:26] <JakeA> annevk: eg, "yes", "no". You could know the two etags that produces & know the response from the if-none-match header
  641. # [18:26] <annevk> so it's only fair game if mode != tainted
  642. # [18:27] * Quits: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net) (Quit: Textual IRC Client: www.textualapp.com)
  643. # [18:27] <JakeA> annevk: yeah, that sounds right
  644. # [18:27] <annevk> JakeA: it's a bit unclear how we're layering headers, it might be that some of these need to move to the actual HTTP *network* fetch
  645. # [18:27] <annevk> JakeA: setting them by the UA that is
  646. # [18:27] <annevk> JakeA: although I guess if-none-match you want, since you can use it on your own cache too
  647. # [18:29] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 245 seconds)
  648. # [18:29] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 252 seconds)
  649. # [18:32] * Joins: wanderview (sid22777@gateway/web/irccloud.com/x-eaxbeaxnxvjguvhj)
  650. # [18:34] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  651. # [18:34] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
  652. # [18:38] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
  653. # [18:44] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
  654. # [18:45] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  655. # [18:47] * Quits: fishd (fishd@nat/google/x-qtrowaepgbugzggr) (Ping timeout: 252 seconds)
  656. # [19:00] * Joins: othermaciej (~mjs@76.74.153.49)
  657. # [19:09] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
  658. # [19:10] * Joins: llkats (~llkats@h-64-236-138-1.aoltw.net)
  659. # [19:11] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Ping timeout: 255 seconds)
  660. # [19:12] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
  661. # [19:13] * Joins: marcosc (~marcosc@66.207.208.102)
  662. # [19:13] * Joins: marcosc_ (~marcosc@66.207.208.102)
  663. # [19:16] * Parts: adactio (~adactio@212.42.170.121)
  664. # [19:17] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  665. # [19:17] * Joins: barnabywalters (~barnabywa@89.17.128.127)
  666. # [19:17] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 276 seconds)
  667. # [19:18] * Joins: dawhite_ (~dawhite@74.118.22.223)
  668. # [19:18] <JonathanNeal> If you’re available, would you ask IE about using external SVGs with <use>? https://twitter.com/hashtag/AskIE?src=hash http://css-tricks.com/svg-use-external-source/
  669. # [19:19] * Joins: BigBangUDR (~Thunderbi@123.239.175.90)
  670. # [19:19] * Joins: fishd (darin@nat/google/x-xgxoommlahwyangu)
  671. # [19:20] * Quits: BigBangUDR (~Thunderbi@123.239.175.90) (Client Quit)
  672. # [19:21] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  673. # [19:23] * Joins: barnabywalters_ (~barnabywa@89.17.128.127)
  674. # [19:24] * Quits: ehsan (~ehsan@66.207.208.102) (Ping timeout: 256 seconds)
  675. # [19:24] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Ping timeout: 252 seconds)
  676. # [19:24] * barnabywalters_ is now known as barnabywalters
  677. # [19:27] * Quits: bnicholson2 (~bnicholso@24.130.57.109) (Ping timeout: 240 seconds)
  678. # [19:28] * Quits: aleray (~aleray@109.129.176.18) (Ping timeout: 276 seconds)
  679. # [19:29] <TabAtkins> jwatt: No; we're planning on a real OM for CSS (not string-based) in the future, but we're waiting for JS Value Objects.
  680. # [19:32] * Joins: weinig (~weinig@17.202.50.223)
  681. # [19:32] * Quits: fredy (~fredy@snf-535807.vm.okeanos.grnet.gr) (Excess Flood)
  682. # [19:33] * Joins: fredy (~fredy@snf-535807.vm.okeanos.grnet.gr)
  683. # [19:34] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  684. # [19:36] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  685. # [19:37] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  686. # [19:38] * Quits: ambv (~ambv@206.108.217.134) (Quit: sys.exit(0) # app closed)
  687. # [19:38] * Quits: poona (~poona@unaffiliated/poona) (Ping timeout: 240 seconds)
  688. # [19:40] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 276 seconds)
  689. # [19:40] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Ping timeout: 245 seconds)
  690. # [19:42] * Joins: ehsan (~ehsan@66.207.208.102)
  691. # [19:45] <TabAtkins> Domenic: Yeah, I think that's the plan. Existing places where multiple tags have the same interface (like HTMLHeadingElement) are inconvenient and weird.
  692. # [19:45] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
  693. # [19:47] * Joins: cheron1 (~cheron@dslb-088-069-016-101.pools.arcor-ip.net)
  694. # [19:47] * Quits: cheron (~cheron@unaffiliated/cheron) (Quit: Leaving.)
  695. # [19:50] * Quits: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be) (Ping timeout: 264 seconds)
  696. # [19:51] * Joins: weinig_ (~weinig@17.114.218.140)
  697. # [19:51] * Quits: cheron1 (~cheron@dslb-088-069-016-101.pools.arcor-ip.net) (Ping timeout: 252 seconds)
  698. # [19:52] <annevk> JonathanNeal: <use> is pretty bad iirc
  699. # [19:52] <annevk> JonathanNeal: seems better to not have it
  700. # [19:52] * Quits: weinig (~weinig@17.202.50.223) (Ping timeout: 240 seconds)
  701. # [19:52] * weinig_ is now known as weinig
  702. # [19:55] <JonathanNeal> annevk: It’s a useful element with a bad markup pattern. It’s useful because you can create an SVG spritemap, and because you can style any instance of a sprite like folks do with icon fonts.
  703. # [19:55] * Joins: bnicholson2 (~bnicholso@corp.mtv2.mozilla.com)
  704. # [19:55] <TabAtkins> annevk: <use> is much less bad now that we've nuked the instance tree.
  705. # [19:56] <Hixie> annevk: is the fetch api going to integrate with the Loader stuff at all?
  706. # [19:56] * Krinkle is now known as Krinkle|detached
  707. # [19:57] * Quits: othermaciej (~mjs@76.74.153.49) (Quit: othermaciej)
  708. # [19:58] <Hixie> annevk: also, are there any code samples for this api? that's always a good way to sanity check an API
  709. # [19:59] <annevk> Hixie: I think JakeA has some examples, I should probably make some more
  710. # [19:59] * Joins: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com)
  711. # [20:00] <annevk> Hixie: afaict Loader is only for JS modules, I wish those guys talked to us sooner about the whole thing
  712. # [20:00] <annevk> Hixie: I didn't realize how generic that would be
  713. # [20:00] <Hixie> no the thread in es-discuss is very much indicating that the expectation is that all fetches are expected to go through it, as far as i can tell
  714. # [20:01] <Hixie> how about the dependency mechanism, is it intended that you be able to block a fetch on another or anything like that?
  715. # [20:01] * Joins: marcosc (~marcosc@66.207.208.102)
  716. # [20:01] * Quits: zdobersek (~zan@109.201.152.9) (Quit: Leaving.)
  717. # [20:04] * Joins: othermaciej (~mjs@17.114.217.119)
  718. # [20:05] * Quits: marcosc_ (~marcosc@66.207.208.102) (Ping timeout: 240 seconds)
  719. # [20:05] * Joins: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be)
  720. # [20:10] * Quits: izhak (~izhak@92.248.142.152) (Ping timeout: 264 seconds)
  721. # [20:12] <jwatt> is there a way for JS to get the "concrete object size"?
  722. # [20:12] * Joins: jwalden (~waldo@c-50-168-55-219.hsd1.ca.comcast.net)
  723. # [20:12] <jwatt> TabAtkins: ok, thanks
  724. # [20:15] <Hixie> jorendorff: yt?
  725. # [20:15] <jorendorff> Hixie: here
  726. # [20:15] * Quits: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  727. # [20:15] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  728. # [20:16] <Hixie> jorendorff: so i think i'm gonna try to write a strawman that shows how the ES6 module stuff could be integrated with all the other dependency stuff the web platform has coming down the pipe
  729. # [20:16] <jorendorff> great!
  730. # [20:16] <Hixie> jorendorff: but i'm having great difficulty understanding what ES6 actually says
  731. # [20:16] <jorendorff> understandable
  732. # [20:17] <Hixie> jorendorff: i spoke to arv and he suggested you as one of the best people to brief me on this
  733. # [20:17] <Hixie> jorendorff: is that something you could do?
  734. # [20:17] <jorendorff> happy to
  735. # [20:17] <Hixie> either in person or irc or e-mail or whatever
  736. # [20:17] <Hixie> (i'm in mtv if you want to do it in person)
  737. # [20:17] <jorendorff> yeah, i'm in Tennessee so can't do it in person immediately
  738. # [20:17] <jorendorff> irc's fine, email probably better
  739. # [20:17] <jorendorff> let me send you email to begin
  740. # [20:17] <Hixie> you are awesome
  741. # [20:17] <Hixie> thanks!
  742. # [20:17] <jorendorff> will do in the next 3 hours
  743. # [20:18] <Hixie> ian@hixie.ch
  744. # [20:18] <jorendorff> ok
  745. # [20:18] <Hixie> fantastic
  746. # [20:19] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
  747. # [20:29] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
  748. # [20:31] * Joins: satazor (~satazor@80.78.37.188.rev.vodafone.pt)
  749. # [20:31] * Quits: satazor (~satazor@80.78.37.188.rev.vodafone.pt) (Client Quit)
  750. # [20:34] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
  751. # [20:38] * Quits: zaal (~zaal@cpc65346-nrwh11-2-0-cust48.4-4.cable.virginm.net) (Read error: Connection reset by peer)
  752. # [20:39] * Parts: japhet (sid20626@gateway/web/irccloud.com/x-imqpezjillcnlpta)
  753. # [20:41] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
  754. # [20:51] <TabAtkins> jwatt: There is no JS way to get the concrete object size, no.
  755. # [20:52] <jwatt> TabAtkins: I was asking because I was looking into whether content can make a live gradient editor for gradients with percentage value stops
  756. # [20:52] <TabAtkins> The information necessary for that is all accessible in the page.
  757. # [20:54] <TabAtkins> jwatt: Namely, the concrete object size of a gradient background will just be the background-size, which is either fixed or is the size of one of the layout boxes of the element.
  758. # [20:54] * Joins: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com)
  759. # [20:54] <jwatt> you need the gradient box (which is the concrete object size) to resolve how far along the gradient line px valued stop are
  760. # [20:55] * Quits: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be) (Quit: nn)
  761. # [20:55] <jwatt> the question is what is the gradient box for a given element
  762. # [20:56] <TabAtkins> Yes, which is calculable as I just described.
  763. # [20:56] <jwatt> how do you get the background-size?
  764. # [20:56] <TabAtkins> By asking for the background-size property?
  765. # [20:57] <TabAtkins> And if it's a keyword value, calculating the correct box from the element, based on width/padding/etc
  766. # [20:57] <jwatt> that could get pretty complicated
  767. # [20:57] <TabAtkins> Yeah, it's not trivial, but neither is it difficult.
  768. # [20:58] <jwatt> I'm not even sure if the background-size is the right thing
  769. # [20:58] <TabAtkins> I'm sure. ^^_
  770. # [20:58] <jwatt> so it's always sure it's the same as the concrete object size?
  771. # [20:58] <TabAtkins> For an image with no intrinsic dimensions, yes.
  772. # [20:59] <jwatt> an image?
  773. # [20:59] <jwatt> what about a div
  774. # [21:03] <jwatt> calculating the concrete object size of an element may just be a case of "calculate the correct box from the element, based on width/padding/etc"
  775. # [21:05] <jwatt> but in the general case that means basically implementing an entire CSS layout engine taking into account box-sizing, floats, absolute positioning, flex box, etc., etc.
  776. # [21:06] <jwatt> and obviously taking into account siblings, ancestors, etc., since they can all impact the concrete size of the object
  777. # [21:06] <jwatt> unless I'm missing something
  778. # [21:06] <jwatt> so I'd take issue with the statement "neither is it difficult" :)
  779. # [21:08] * jwatt will be back later
  780. # [21:12] * Quits: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net) (Quit: sicking)
  781. # [21:17] <TabAtkins> jwatt: You're using terms in ways that don't make sense.
  782. # [21:18] <TabAtkins> An image like a gradient has a concrete object size calculated for it.
  783. # [21:18] * Quits: tav (~tav`@host217-42-231-34.range217-42.btcentralplus.com) (Quit: tav)
  784. # [21:19] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  785. # [21:20] <TabAtkins> The inputs to the algo are always the intrinsic dimensions (none, for gradients) and the specified size (for background gradients, the background positioning area, which is calculable from 'background-size' and other properties as needed).
  786. # [21:23] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
  787. # [21:23] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  788. # [21:24] * Quits: plutoniix (~plutoniix@node-5uo.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
  789. # [21:26] * llkats is now known as lllunches
  790. # [21:31] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
  791. # [21:31] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
  792. # [21:32] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
  793. # [21:32] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
  794. # [21:34] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
  795. # [21:35] * Quits: weinig (~weinig@17.114.218.140) (Quit: weinig)
  796. # [21:38] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
  797. # [21:38] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
  798. # [21:44] * Krinkle|detached is now known as Krinkle
  799. # [21:44] * lllunches is now known as llkats
  800. # [21:47] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  801. # [21:51] * Krinkle is now known as Krinkle|detached
  802. # [21:52] * Joins: marcosc (~marcosc@66.207.208.102)
  803. # [21:53] * Joins: ap_ (~ap@17.114.219.248)
  804. # [21:54] * Quits: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  805. # [21:55] * Quits: ap (~ap@2620:149:4:304:286a:153c:7ee0:21ee) (Ping timeout: 240 seconds)
  806. # [21:55] * ap_ is now known as ap
  807. # [21:56] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
  808. # [21:56] * Joins: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416)
  809. # [21:57] * Joins: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com)
  810. # [21:57] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  811. # [22:01] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  812. # [22:02] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Client Quit)
  813. # [22:04] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  814. # [22:04] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
  815. # [22:05] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
  816. # [22:06] * Joins: newtron_ (~newtron@199.71.174.204)
  817. # [22:09] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  818. # [22:09] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 240 seconds)
  819. # [22:10] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
  820. # [22:10] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  821. # [22:10] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
  822. # [22:10] * Quits: newtron_ (~newtron@199.71.174.204) (Ping timeout: 240 seconds)
  823. # [22:14] * Joins: ambv (~ambv@206.108.217.134)
  824. # [22:18] * Joins: darobin (~darobin@31-34-2.wireless.csail.mit.edu)
  825. # [22:26] * Quits: Gege (gege@future.deferred.io) (Ping timeout: 246 seconds)
  826. # [22:31] * Quits: jwalden (~waldo@c-50-168-55-219.hsd1.ca.comcast.net) (Quit: off to PT, back later in the afternoon)
  827. # [22:35] <SamB> TabAtkins: so how do you calculate it in JS then?
  828. # [22:35] * Joins: facundor (~facundor@190.194.153.199)
  829. # [22:36] * Quits: facundor (~facundor@190.194.153.199) (Max SendQ exceeded)
  830. # [22:36] <TabAtkins> The way the spec says to, which uses only information accessible via JS.
  831. # [22:36] * Joins: facundor (~facundor@190.194.153.199)
  832. # [22:37] <SamB> (and how long until some other spec complicates it?)
  833. # [22:37] <TabAtkins> It might get more complicated in the future, yes.
  834. # [22:40] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
  835. # [22:42] <smaug____> annevk: why does Request in Window context need to have isSynchronous ?
  836. # [22:43] * Quits: ap (~ap@17.114.219.248) (Remote host closed the connection)
  837. # [22:43] * Joins: ap (~ap@2620:149:4:304:991f:8b28:ac44:9005)
  838. # [22:43] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
  839. # [22:44] <smaug____> annevk: in other words, I hope we hide the possibility for synchronousness in the main-thread
  840. # [22:47] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  841. # [22:51] * Quits: othermaciej (~mjs@17.114.217.119) (Ping timeout: 240 seconds)
  842. # [22:52] * Joins: Gege (gege@future.deferred.io)
  843. # [22:53] * Quits: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com) (Quit: sicking)
  844. # [22:54] * Quits: TallTed (~Thud@63.119.36.36)
  845. # [22:55] * Joins: othermaciej (~mjs@17.114.217.119)
  846. # [23:03] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  847. # [23:04] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  848. # [23:06] * Joins: tantek (~tantek@172.56.39.11)
  849. # [23:08] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Client Quit)
  850. # [23:09] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  851. # [23:11] * Joins: morrita_ (uid16889@gateway/web/irccloud.com/x-xrzrjqnqpxjnrbwh)
  852. # [23:16] * Quits: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416) (Ping timeout: 240 seconds)
  853. # [23:16] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  854. # [23:18] * Quits: tj_vantoll (~Adium@c-98-250-130-237.hsd1.mi.comcast.net) (Quit: Leaving.)
  855. # [23:22] * Joins: darobin_ (~darobin@31-34-2.wireless.csail.mit.edu)
  856. # [23:22] * Quits: darobin (~darobin@31-34-2.wireless.csail.mit.edu) (Read error: Connection reset by peer)
  857. # [23:26] * Joins: walbo_ (walbo@galaxy.forbanna.net)
  858. # [23:29] * Joins: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416)
  859. # [23:30] <jorendorff> Hixie: i kind of suck at this
  860. # [23:31] <jorendorff> still working at it
  861. # [23:32] <Hixie> dude, i'm so thankful that you're doing it at all, you've no idea :-)
  862. # [23:38] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  863. # [23:43] * Joins: GPHemsley (~GPHemsley@pdpc/supporter/student/GPHemsley)
  864. # [23:43] * Quits: gungan_fuq (~encryptd_@23.30.224.246) (Ping timeout: 276 seconds)
  865. # [23:44] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
  866. # [23:49] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Ping timeout: 276 seconds)
  867. # [23:52] * htmelvis is now known as htmelvis_zzz
  868. # [23:58] * Quits: tantek (~tantek@172.56.39.11) (Quit: tantek)
  869. # [23:58] * Quits: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416) (Ping timeout: 240 seconds)
  870. # [23:58] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  871. # [23:58] * Joins: karlcow (~karl@nerval.la-grange.net)
  872. # [23:58] * Quits: GPHemsley (~GPHemsley@pdpc/supporter/student/GPHemsley) (Remote host closed the connection)
  873. # Session Close: Fri May 30 00:00:00 2014

The end :)