/irc-logs / freenode / #whatwg / 2013-10-16 / end

Options:

  1. # Session Start: Wed Oct 16 00:00:00 2013
  2. # Session Ident: #whatwg
  3. # [00:00] * Quits: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com) (Remote host closed the connection)
  4. # [00:01] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
  5. # [00:02] <zcorpan> i don't see rebuttals of pro-throwing: consistency with other DOM functions and ease of debugging
  6. # [00:02] * Joins: Benvie (~bbenvie@nat/mozilla/x-dhxxkvzbqqsezjjz)
  7. # [00:04] <zcorpan> note that empty string can result in an exception anyway if you do document.querySelector('#' + CSS.escape())
  8. # [00:04] <zcorpan> since '#' isn't a valid selector, you get a TypeError
  9. # [00:04] <zcorpan> so if you don't like exceptions, empty string is out...
  10. # [00:07] * Joins: newtron_ (~newtron@199.71.174.202)
  11. # [00:09] <zcorpan> JS escape() and encodeURIComponent() result in "undefined", maybe it's reasonable for CSS.escape() to be consistent with those
  12. # [00:11] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 272 seconds)
  13. # [00:11] * Quits: annevk (~annevk@2.31.25.160) (Remote host closed the connection)
  14. # [00:12] * Quits: newtron_ (~newtron@199.71.174.202) (Ping timeout: 272 seconds)
  15. # [00:15] * Quits: othermaciej (~mjs@17.114.7.208) (Quit: othermaciej)
  16. # [00:17] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
  17. # [00:18] * Quits: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  18. # [00:19] * Joins: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net)
  19. # [00:20] * Joins: shepazu (~shepazu@ip-64-134-180-112.public.wayport.net)
  20. # [00:20] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
  21. # [00:24] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  22. # [00:25] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Quit: ZNC - http://znc.in)
  23. # [00:29] * Quits: plutoniix (~plutoniix@node-4wq.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
  24. # [00:36] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
  25. # [00:39] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
  26. # [00:42] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Client Quit)
  27. # [00:44] * Joins: milkshoes (~milkshoes@c-76-97-219-135.hsd1.ga.comcast.net)
  28. # [00:45] * Quits: milkshoes (~milkshoes@c-76-97-219-135.hsd1.ga.comcast.net) (Client Quit)
  29. # [00:45] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
  30. # [00:48] <zewt> in case zcorpan reads logs, I'd much rather have an exception above than have it search for the id (or class, or who knows what) "undefined"
  31. # [00:49] * Quits: shepazu (~shepazu@ip-64-134-180-112.public.wayport.net) (Quit: is sleepy)
  32. # [00:52] * Joins: birtles (~chatzilla@247.net182021059.t-com.ne.jp)
  33. # [00:53] * Joins: danbri (~danbri@87.115.71.180)
  34. # [00:54] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
  35. # [00:59] * Quits: danbri (~danbri@87.115.71.180) (Remote host closed the connection)
  36. # [01:03] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
  37. # [01:04] * Joins: othermaciej (~mjs@17.114.218.23)
  38. # [01:08] * Quits: Benvie (~bbenvie@nat/mozilla/x-dhxxkvzbqqsezjjz) (Ping timeout: 245 seconds)
  39. # [01:08] * Quits: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  40. # [01:09] * Joins: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net)
  41. # [01:10] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
  42. # [01:10] * Joins: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt)
  43. # [01:11] <SimonSapin> +1 zewt
  44. # [01:18] * Joins: newtron (~newtron@76-10-148-205.dsl.teksavvy.com)
  45. # [01:18] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
  46. # [01:21] * Quits: decotii (~decotii@hq.croscon.com) (Quit: Leaving)
  47. # [01:22] * Quits: newtron (~newtron@76-10-148-205.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  48. # [01:24] * Quits: aho (~nya@fuld-590c6afa.pool.mediaWays.net) (Quit: EXEC_Z/.)
  49. # [01:26] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
  50. # [01:30] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
  51. # [01:46] <slightlyoff> annevk-cloud: good call about staying in sync. I'm mostly trying to avoid extra events beyond completion/failure at the moment. We can plumb them into the response object later. The overall operation's constituent parts can be dealt with independently of the promise that describes the overall completion
  52. # [01:47] <slightlyoff> annevk-cloud: so I'm doing my bit by not defining any of that API ATM ;-)
  53. # [01:47] <slightlyoff> annevk-cloud: happy to work with you to flesh it out
  54. # [02:00] * Joins: shepazu (~shepazu@adsl-98-69-220-154.rmo.bellsouth.net)
  55. # [02:01] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Ping timeout: 265 seconds)
  56. # [02:04] * Quits: jacobolus (~jacobolus@162.217.72.78) (Ping timeout: 245 seconds)
  57. # [02:04] * Quits: ap (~ap@2620:149:4:304:425:2d90:9bfe:80d8) (Quit: ap)
  58. # [02:05] * Quits: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
  59. # [02:09] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
  60. # [02:09] * Quits: cabanier (~cabanier@192.150.22.55) (Quit: Leaving.)
  61. # [02:10] * Joins: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net)
  62. # [02:13] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Ping timeout: 265 seconds)
  63. # [02:13] * Quits: jsbell (jsbell@nat/google/x-mkskblhvenelyczx) (Quit: There's no place like home...)
  64. # [02:13] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
  65. # [02:17] * Joins: Benvie (~bbenvie@v-1045.fw1.sfo1.mozilla.net)
  66. # [02:19] * Quits: othermaciej (~mjs@17.114.218.23) (Quit: othermaciej)
  67. # [02:21] * Quits: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net) (Ping timeout: 245 seconds)
  68. # [02:22] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
  69. # [02:23] * heycam is now known as heycam|away
  70. # [02:26] * Joins: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net)
  71. # [02:41] * Quits: jpn (~jpn@a79-168-252-125.cpe.netcabo.pt) (Quit: jpn)
  72. # [02:41] * Joins: danjesus_ (~danjesus@187.56.142.114)
  73. # [02:45] * Quits: danjesus_ (~danjesus@187.56.142.114) (Remote host closed the connection)
  74. # [02:45] * Quits: lmcliste_ (~lmclister@192.150.10.209)
  75. # [02:45] * Joins: danjesus (~danjesus@187.56.142.114)
  76. # [02:49] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 252 seconds)
  77. # [02:53] * Quits: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
  78. # [02:54] * Quits: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
  79. # [02:55] * Quits: birtles (~chatzilla@247.net182021059.t-com.ne.jp) (Read error: Connection reset by peer)
  80. # [03:01] * Quits: shepazu (~shepazu@adsl-98-69-220-154.rmo.bellsouth.net) (Quit: is sleepy)
  81. # [03:08] * Joins: danjesus (~danjesus@187.56.142.114)
  82. # [03:13] * Joins: cgrant (~textual@r74-193-80-109.pfvlcmta01.grtntx.tl.dh.suddenlink.net)
  83. # [03:24] * Joins: Goplat (~goplat@reactos/developer/Goplat)
  84. # [03:35] * Quits: driedfruit (~driedfrui@195.239.43.241) (Quit: Leaving)
  85. # [03:35] * Quits: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net) (Quit: Computer has gone to sleep.)
  86. # [03:40] * Quits: vcarbune (~vcarbune@84-75-248-2.dclient.hispeed.ch) (Ping timeout: 240 seconds)
  87. # [03:44] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
  88. # [03:45] * Joins: birtles (~chatzilla@61-121-216-2.bitcat.net)
  89. # [03:46] * Joins: dbaron (~dbaron@50-0-248-3.dsl.dynamic.sonic.net)
  90. # [03:48] * Quits: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk) (Remote host closed the connection)
  91. # [04:03] * Joins: jpn (~jpn@a79-168-252-125.cpe.netcabo.pt)
  92. # [04:05] * Joins: plutoniix (~plutoniix@210.213.57.70)
  93. # [04:07] * Quits: WeirdAl (~chatzilla@g2spf.ask.info) (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258])
  94. # [04:11] * Joins: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net)
  95. # [04:11] * Quits: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net) (Changing host)
  96. # [04:11] * Joins: scor (~scor@drupal.org/user/52142/view)
  97. # [04:11] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
  98. # [04:13] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
  99. # [04:17] * Quits: jpn (~jpn@a79-168-252-125.cpe.netcabo.pt) (Quit: jpn)
  100. # [04:27] * Joins: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  101. # [04:31] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
  102. # [04:31] * Quits: dbaron (~dbaron@50-0-248-3.dsl.dynamic.sonic.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  103. # [04:35] * Joins: necolas (~necolas@70-36-142-146.dsl.dynamic.sonic.net)
  104. # [04:36] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
  105. # [04:37] * Quits: stalled (~stalled@unaffiliated/stalled) (Ping timeout: 260 seconds)
  106. # [04:38] * Quits: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  107. # [04:43] * Quits: cgrant (~textual@r74-193-80-109.pfvlcmta01.grtntx.tl.dh.suddenlink.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  108. # [04:44] * Joins: stalled (~stalled@unaffiliated/stalled)
  109. # [04:44] * heycam|away is now known as heycam
  110. # [04:47] * Krinkle is now known as Krinkle|detached
  111. # [05:02] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
  112. # [05:12] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
  113. # [05:12] * Joins: danjesus (~danjesus@187.56.142.114)
  114. # [05:16] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  115. # [05:17] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 272 seconds)
  116. # [05:17] * Joins: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net)
  117. # [05:18] * Joins: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  118. # [05:23] * Quits: scor (~scor@drupal.org/user/52142/view) (Read error: Connection reset by peer)
  119. # [05:37] * Quits: necolas (~necolas@70-36-142-146.dsl.dynamic.sonic.net) (Remote host closed the connection)
  120. # [05:45] * Joins: richt (~richt@91.216.105.37)
  121. # [05:51] * Quits: foolip (~philip@83.218.67.122) (Ping timeout: 245 seconds)
  122. # [05:52] * Joins: danjesus (~danjesus@187.56.142.114)
  123. # [05:55] * Joins: foolip (~philip@83.218.67.122)
  124. # [06:07] * Joins: topek_ (~topek@91-119-88-27.dynamic.xdsl-line.inode.at)
  125. # [06:08] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 245 seconds)
  126. # [06:10] * Quits: lerc (~quassel@121-74-249-13.telstraclear.net) (Ping timeout: 246 seconds)
  127. # [06:12] * Joins: lerc (~quassel@121.75.133.253)
  128. # [06:17] * Quits: topek_ (~topek@91-119-88-27.dynamic.xdsl-line.inode.at) (Remote host closed the connection)
  129. # [06:20] * Quits: Areks (~Areks@rs.gridnine.com) (Read error: Connection reset by peer)
  130. # [06:20] * Joins: lerc_ (~quassel@121-74-254-44.telstraclear.net)
  131. # [06:20] * Joins: Areks (~Areks@rs.gridnine.com)
  132. # [06:21] * Quits: lerc (~quassel@121.75.133.253) (Ping timeout: 248 seconds)
  133. # [06:30] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  134. # [06:32] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
  135. # [06:44] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 241 seconds)
  136. # [06:46] * Joins: arunranga (~otherarun@cpe-74-73-238-8.nyc.res.rr.com)
  137. # [06:49] * heycam is now known as heycam|away
  138. # [07:13] * Joins: Benvie_ (~brandon@204.28.118.69)
  139. # [07:13] * Quits: Benvie_ (~brandon@204.28.118.69) (Client Quit)
  140. # [07:13] * Quits: frustrum (~frustrum@128.54.214.195) (Ping timeout: 252 seconds)
  141. # [07:16] * Quits: arunranga (~otherarun@cpe-74-73-238-8.nyc.res.rr.com) (Quit: arunranga)
  142. # [07:19] * Quits: DaveMethvin (DaveMethvi@gateway/shell/jquery.com/x-fbkkinhlikvgrggm) (Ping timeout: 240 seconds)
  143. # [07:19] * Joins: DaveMethvin|away (DaveMethvi@gateway/shell/jquery.com/x-josixnfgqzydgrcg)
  144. # [07:19] * Quits: scott_gonzalez (gonzasi0@gateway/shell/jquery.com/x-irqacjqqeibzulqd) (Ping timeout: 240 seconds)
  145. # [07:20] * DaveMethvin|away is now known as DaveMethvin
  146. # [07:22] * Joins: scott_gonzalez (gonzasi0@gateway/shell/jquery.com/x-yrpxizhbymqostbr)
  147. # [07:23] * Quits: rniwa (~rniwa@17.212.154.114) (Quit: rniwa)
  148. # [07:34] * Joins: nonge (~nonge@p5082B42E.dip0.t-ipconnect.de)
  149. # [07:35] * Quits: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  150. # [07:48] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  151. # [07:52] * Joins: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com)
  152. # [07:52] * Joins: Goplat (~goplat@reactos/developer/Goplat)
  153. # [07:55] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
  154. # [07:59] * Joins: baku (~baku@2-236-39-253.ip231.fastwebnet.it)
  155. # [08:10] * Quits: baku (~baku@2-236-39-253.ip231.fastwebnet.it) (Quit: Leaving)
  156. # [08:17] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
  157. # [08:18] * Joins: danjesus (~danjesus@187.56.142.114)
  158. # [08:19] * Quits: danjesus (~danjesus@187.56.142.114) (Read error: Connection reset by peer)
  159. # [08:19] * Joins: danjesus_ (~danjesus@187.56.142.114)
  160. # [08:23] * Joins: Ms2ger (~Ms2ger@vpna111.ugent.be)
  161. # [08:31] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)
  162. # [08:31] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
  163. # [08:31] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)
  164. # [08:35] * Joins: davve (~user@83.218.67.122)
  165. # [08:37] * Quits: danjesus_ (~danjesus@187.56.142.114) (Remote host closed the connection)
  166. # [08:37] * Joins: danjesus (~danjesus@187.56.142.114)
  167. # [08:40] * Joins: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl)
  168. # [08:41] * Quits: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com) (Ping timeout: 260 seconds)
  169. # [08:42] * Joins: danbri (~danbri@87.115.71.180)
  170. # [08:42] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 272 seconds)
  171. # [08:45] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  172. # [08:49] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 245 seconds)
  173. # [08:50] * Joins: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net)
  174. # [09:00] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  175. # [09:10] * Joins: falken (~falken@2401:fa00:4:1000:26be:5ff:fe0d:d7ea)
  176. # [09:14] * Joins: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si)
  177. # [09:18] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
  178. # [09:39] * Joins: bholley (~bholley@195-132-112-181.rev.numericable.fr)
  179. # [09:48] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  180. # [09:49] <zcorpan> zewt: please give rationale
  181. # [09:51] <Ms2ger> marcosc, squash, not squish ;)
  182. # [09:51] <marcosc> Ms2ger: should be "squished"
  183. # [09:51] <marcosc> it's much cutter and sounds less mean
  184. # [09:55] * Joins: annevk (~annevk@2.31.25.160)
  185. # [09:55] * Joins: Smylers (~smylers@94.117.161.85)
  186. # [10:05] <SimonSapin> zcorpan: Errors should not pass silently
  187. # [10:05] <zcorpan> SimonSapin: ...because?
  188. # [10:06] * Quits: Smylers (~smylers@94.117.161.85) (Ping timeout: 265 seconds)
  189. # [10:06] <SimonSapin> zcorpan: Code that "works" and eg. looks for id="undefined" will be harder to debug than one that just throws with an explicit error
  190. # [10:06] <zcorpan> ok, so what do you think should happen for CSS.escape(window) ?
  191. # [10:07] <SimonSapin> This brings the symptom of the error closer to the source
  192. # [10:07] <SimonSapin> does window have .toString?
  193. # [10:07] <zcorpan> yes
  194. # [10:07] <zcorpan> it usually stringifies to [object Window]
  195. # [10:09] <SimonSapin> I don’t know, this case is less clear-cut
  196. # [10:09] <SimonSapin> is the convention to strictly only accept strings, or anything that can be converted to a string?
  197. # [10:09] <zcorpan> the latter
  198. # [10:10] <zcorpan> except for undefined, which is different for different APIs
  199. # [10:10] <annevk> zcorpan: seems like it should be undefined
  200. # [10:10] <SimonSapin> In that case I suppose CSS.escape(window) would be "\\[object\\ Window\\]"
  201. # [10:10] * Quits: danbri (~danbri@87.115.71.180) (Remote host closed the connection)
  202. # [10:10] <annevk> SimonSapin: and it is
  203. # [10:11] <annevk> SimonSapin: that's how ToString works
  204. # [10:11] <annevk> JavaScript doesn't do type checking, it just does type coercions all over
  205. # [10:11] <zcorpan> SimonSapin: so how is it different from undefined from the being-in-error and debug-ability point of view?
  206. # [10:11] <SimonSapin> but undefined may be a common enough source of errors that it’s worth a special case
  207. # [10:11] <annevk> o_O
  208. # [10:12] <SimonSapin> IMO
  209. # [10:12] <SimonSapin> you’re less likely to accidentally end up with window instead of a string than undefined
  210. # [10:12] * Quits: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8) (*.net *.split)
  211. # [10:14] <zcorpan> is it less likely to accidentally end up with anything other than a string and undefined compared to undefined?
  212. # [10:15] * Joins: hasather (~hasather@80.91.33.141)
  213. # [10:15] <SimonSapin> I think so, but I may be wrong
  214. # [10:15] <SimonSapin> I don’t write that much JS
  215. # [10:15] * Joins: Smylers (~smylers@81.143.60.194)
  216. # [10:16] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
  217. # [10:18] * Joins: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8)
  218. # [10:20] * Quits: Smylers (~smylers@81.143.60.194) (Remote host closed the connection)
  219. # [10:21] * Joins: eminor (~eminor@p548CEAD5.dip0.t-ipconnect.de)
  220. # [10:22] * Joins: Smylers (~smylers@81.143.60.194)
  221. # [10:22] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  222. # [10:24] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
  223. # [10:29] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 252 seconds)
  224. # [10:34] * Quits: richt (~richt@91.216.105.37) (Remote host closed the connection)
  225. # [10:34] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
  226. # [10:35] * Joins: richt (~richt@180.94.118.5)
  227. # [10:38] * Joins: cheron (~cheron@unaffiliated/cheron)
  228. # [10:39] * Quits: richt (~richt@180.94.118.5) (Ping timeout: 256 seconds)
  229. # [10:41] * Joins: jpn (~jpn@pickles.tp.telepac.pt)
  230. # [10:43] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  231. # [10:45] * Quits: birtles (~chatzilla@61-121-216-2.bitcat.net) (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204])
  232. # [10:46] * Joins: richt (~richt@91.216.105.37)
  233. # [10:46] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
  234. # [10:54] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  235. # [11:03] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
  236. # [11:04] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  237. # [11:18] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 246 seconds)
  238. # [11:19] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Remote host closed the connection)
  239. # [11:22] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
  240. # [11:25] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
  241. # [11:27] * Quits: karlcow_ (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  242. # [11:27] * Joins: karlcow (~karl@nerval.la-grange.net)
  243. # [11:28] * Joins: darobin (~darobin@78.109.80.74)
  244. # [11:37] * Joins: vcarbune (~vcarbune@2001:67c:10ec:3f42:8000::1708)
  245. # [11:40] <annevk> bholley: we'd have to narrow the case where the adopt would throw as otherwise many operations that route through adopt would not work, which would suck
  246. # [11:40] <bholley> annevk: can you explain a bit more?
  247. # [11:40] <annevk> bholley: e.g. whenever you appendChild, adopt is used
  248. # [11:41] <bholley> annevk: yes, I'm aware - that's the whole issue, really
  249. # [11:41] <bholley> annevk: people rarely adopt just to adopt
  250. # [11:41] <annevk> bholley: if the glabal object is the same, there doesn't seem to be an issue
  251. # [11:41] <bholley> annevk: oh, adopt happens even for same-global?
  252. # [11:41] <annevk> bholley: so we should limit throwing for custom elements only if the global object changes
  253. # [11:41] <bholley> annevk: right
  254. # [11:41] <bholley> annevk: that was my intention, sorry
  255. # [11:41] <bholley> annevk: I thought that the adopt was only triggered in the cross-global case
  256. # [11:41] <bholley> annevk: well, technically cross-document
  257. # [11:42] <bholley> annevk: are there significant ways in which those cases differ?
  258. # [11:42] <annevk> bholley: no, adopt does things like changing the document and removing from parent
  259. # [11:42] <bholley> annevk: ie document fragment?
  260. # [11:42] <annevk> bholley: yeah, createDocument
  261. # [11:42] <annevk> bholley: and HTML imports
  262. # [11:42] <annevk> bholley: and new Document() once we have that
  263. # [11:42] <bholley> annevk: ok, sure
  264. # [11:42] <bholley> annevk: that's fine with me
  265. # [11:43] <bholley> annevk: assuming we do that, do you think throwing would be ok?
  266. # [11:44] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  267. # [11:44] <annevk> have to think about that some more
  268. # [11:44] <annevk> kinda depends on where we want to steer the whole thing I think
  269. # [11:45] <annevk> treat sync access between multiple globals as a bug, or embrace it and make it work
  270. # [11:45] <annevk> should prolly be discussed on es-discuss
  271. # [11:45] <annevk> or public-script-coord
  272. # [11:46] <bholley> annevk: ugh, I feel like that's not going to really go anywhere
  273. # [11:46] <bholley> annevk: because if we abstract this into a more vague discussion of values, it will devolve again into the specific considerations
  274. # [11:46] <bholley> annevk: and then we're back at this bug
  275. # [11:47] <bholley> annevk: moreover, we can always spec that something throws and then change it later
  276. # [11:47] <bholley> annevk: whereas we can't unsupport something we decide to support
  277. # [11:47] * Quits: vcarbune (~vcarbune@2001:67c:10ec:3f42:8000::1708) (Ping timeout: 245 seconds)
  278. # [11:48] <annevk> bholley: sure, throwing seems safe for now, but I also think we should have the larger discussion
  279. # [11:48] <annevk> bholley: as it'll impact other APIs to come
  280. # [11:49] * Krinkle|detached is now known as Krinkle
  281. # [11:49] <bholley> annevk: I'm also not totally clear which high-level outcome results in which course of action here - can you elaborate on your thinking?
  282. # [11:52] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 252 seconds)
  283. # [11:53] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 248 seconds)
  284. # [11:53] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  285. # [11:53] <annevk> bholley: the main goal of involving more people would be to create better shared understanding and push towards a common goal; be that reducing memory leaks at all costs or making multiple globals work in the best way possible somehow
  286. # [11:54] <annevk> bholley: I'm pretty sure we'll keep revisiting this if we don't reach out to the wider community around JavaScript
  287. # [11:54] <bholley> annevk: FWIW, I kind of feel that fixing up the prototypes _is_ "making multiple globals work in the best way possible somehow"
  288. # [11:55] <bholley> annevk: it's not just about memory leaks
  289. # [11:55] <bholley> annevk: though that's my primary concern
  290. # [11:55] <jgraham> To the extent that they differ, it's not clear that either of those is the correct goal
  291. # [11:55] <bholley> annevk: it's also about the API making sense
  292. # [11:55] <annevk> I think it makes a lot of sense for trees, though Brendan didn't like that bug much, though he may not have studied the details
  293. # [11:55] <bholley> annevk: trees?
  294. # [11:55] <jgraham> I mean, if there is an option that makes it reasonably easy to avoid memory leaks but also provides the features that people want that's better than either
  295. # [11:56] <annevk> bholley: that nodes share the same global
  296. # [11:57] <bholley> annevk: I still don't follow
  297. # [11:57] <bholley> annevk, jgraham: in my mind, the fundamental issues is that bindings are per-document. It's kind of non-sensical to pull a binding out of a document in that context
  298. # [11:58] <bholley> the only options are to (a) strip the binding, or (b) not allow them to leave the document
  299. # [11:58] <annevk> bholley: I think it makes sense to prototypes. People in TC39 seemed to have reservations about that bug which is why I'd like to discuss it with them
  300. # [11:58] <annevk> to change prototypes*
  301. # [11:58] <bholley> annevk: ok
  302. # [11:58] <bholley> (a) is apparently tricky due to the reasons that Dominic described
  303. # [11:59] <annevk> I think it's important to have TC39 on board, as they'll be diving into the multiple global territory and we don't want to revisit this each year.
  304. # [11:59] <annevk> Anyway, back in a bit, need to get some yoghurt from the office...
  305. # [12:00] <bholley> annevk: but
  306. # [12:00] <bholley> annevk: will JS ever have a concept of adopt?
  307. # [12:00] <bholley> annevk: if it doesn't, then the issue is moot
  308. # [12:03] <annevk> I don't know, anyway, biab
  309. # [12:03] * Quits: annevk (~annevk@2.31.25.160) (Remote host closed the connection)
  310. # [12:03] * Joins: annevk (~annevk@2.31.25.160)
  311. # [12:04] <jgraham> zcorpan: Since someobject.propertyThatDoesntExist is undefined in js foo(undefined) is a way easier bug to have than foo(window)
  312. # [12:04] <jgraham> And throwing tells you what the error is right away rather than getting a nonsense result much later in the code
  313. # [12:05] <bholley> annevk-cloud: ok
  314. # [12:06] <zcorpan> jgraham: yeah, it seems plausible that undefined is a more common error
  315. # [12:07] <zcorpan> jgraham: still, encodeURIComponent(undefined) doesn't throw and seems to be in the same position as CSS.escape(undefined)
  316. # [12:08] * Quits: annevk (~annevk@2.31.25.160) (Ping timeout: 256 seconds)
  317. # [12:12] <jgraham> zcorpan: It depends how important you think it is to be consistent with poor design decisions in the stdlib vs how important you think it is to be consistent with the DOM and provide a useful API
  318. # [12:14] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
  319. # [12:15] * Joins: annevk (~annevk@207.218.72.65)
  320. # [12:18] <annevk> Treating undefined as "undefined" is what we do everywhere for DOMString.
  321. # [12:19] <annevk> The only case you could make is making the argument optional, but there doesn't seem to be much of a reason for that.
  322. # [12:19] <Ms2ger> And when you make it optional, then you have the question of the default
  323. # [12:20] * Joins: Benvie_ (~bbenvie@v-1045.fw1.sfo1.mozilla.net)
  324. # [12:20] <annevk> Simple test: .<script>document.body.innerHTML = undefined</script>
  325. # [12:21] * Quits: Benvie (~bbenvie@v-1045.fw1.sfo1.mozilla.net) (Ping timeout: 265 seconds)
  326. # [12:21] <zcorpan> annevk: innerHTML isn't a method, and CSS.escape() doesn't have its argument optional (currently)
  327. # [12:21] <jgraham> Well if it's consistent with everything on the platform I guess we have to do that. But oh boy is that a sucky design
  328. # [12:22] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
  329. # [12:22] <annevk> zcorpan: innerHTML is a getter and setter, same thing
  330. # [12:22] <annevk> zcorpan: but find a method that takes a DOMString and you'll find out how IDL works
  331. # [12:23] <zcorpan> it's not consistent with everything else. document.getElementById(undefined) throws (per spec, at least)
  332. # [12:23] <Ms2ger> Eh?
  333. # [12:23] <Ms2ger> Doesn't seem to
  334. # [12:24] * Joins: barnabywalters_ (~barnabywa@46-239-239-203.tal.is)
  335. # [12:24] <jgraham> I think the IDL spec changed at some point
  336. # [12:24] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Read error: Connection reset by peer)
  337. # [12:24] <Ms2ger> Only for optional arguments
  338. # [12:24] * barnabywalters_ is now known as barnabywalters
  339. # [12:25] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 256 seconds)
  340. # [12:25] <zcorpan> ah, i thought it made undefined mean omitted even for non-optional argument
  341. # [12:25] <Ms2ger> I'm pretty sure it didn't
  342. # [12:25] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Read error: Connection reset by peer)
  343. # [12:25] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Read error: Operation timed out)
  344. # [12:26] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
  345. # [12:27] <zcorpan> ok so CSS.escape() throws TypeError but CSS.escape(undefined) gives "undefined" (per current spec)
  346. # [12:27] <Ms2ger> sgtm
  347. # [12:30] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  348. # [12:30] <jgraham> For those following at home, that is *also* inconsistent with escape() and encodeURIComponent()
  349. # [12:32] <zcorpan> yep
  350. # [12:34] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 256 seconds)
  351. # [12:43] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  352. # [12:45] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
  353. # [12:47] * Joins: WesleyMcClane_ (~quassel@host204-136-dynamic.7-87-r.retail.telecomitalia.it)
  354. # [12:50] * Quits: WesleyMcClane (~quassel@host248-144-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 245 seconds)
  355. # [12:51] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 256 seconds)
  356. # [12:54] * Joins: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net)
  357. # [12:54] * Quits: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net) (Remote host closed the connection)
  358. # [12:54] * Joins: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net)
  359. # [12:56] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
  360. # [12:58] * Quits: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net) (Remote host closed the connection)
  361. # [13:03] * Joins: lerc (~quassel@121-74-254-44.telstraclear.net)
  362. # [13:04] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
  363. # [13:04] * Quits: lerc_ (~quassel@121-74-254-44.telstraclear.net) (Ping timeout: 272 seconds)
  364. # [13:06] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  365. # [13:07] * Joins: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net)
  366. # [13:21] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
  367. # [13:27] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  368. # [13:27] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  369. # [13:28] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Read error: Connection reset by peer)
  370. # [13:28] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  371. # [13:29] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
  372. # [13:29] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
  373. # [13:32] * Joins: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0002.ethz.ch)
  374. # [13:35] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 246 seconds)
  375. # [13:38] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
  376. # [13:50] * Joins: Somatt_wrk_ (~somattwrk@darkstar2.fullsix.com)
  377. # [13:52] * Joins: skylamer` (~cgskylame@78.90.215.70)
  378. # [13:53] * Quits: mdik (~mdik@brln-4d0c783f.pool.mediaWays.net) (Read error: Operation timed out)
  379. # [13:54] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 272 seconds)
  380. # [13:54] * Quits: skylamer` (~cgskylame@78.90.215.70) (Remote host closed the connection)
  381. # [13:57] * Joins: mdik (~mdik@brln-4db9dcb9.pool.mediaWays.net)
  382. # [13:58] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
  383. # [13:59] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
  384. # [14:00] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
  385. # [14:01] * Quits: Somatt_wrk_ (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 245 seconds)
  386. # [14:01] * Joins: cfq (~cfq@static.85-10-200-244.clients.your-server.de)
  387. # [14:03] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
  388. # [14:06] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  389. # [14:11] * Quits: Ms2ger (~Ms2ger@vpna111.ugent.be) (Ping timeout: 272 seconds)
  390. # [14:18] * Quits: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0002.ethz.ch) (Remote host closed the connection)
  391. # [14:22] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
  392. # [14:25] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 272 seconds)
  393. # [14:29] * Joins: felipeduardo (~felipedua@189.115.44.34)
  394. # [14:30] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
  395. # [14:31] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
  396. # [14:32] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
  397. # [14:38] * Quits: cheron (~cheron@unaffiliated/cheron) (Remote host closed the connection)
  398. # [14:41] * Joins: danjesus (~danjesus@187.56.142.114)
  399. # [14:41] * Joins: cheron (~cheron@unaffiliated/cheron)
  400. # [14:42] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
  401. # [14:43] * Joins: danjesus (~danjesus@187.56.142.114)
  402. # [14:44] * Quits: danjesus (~danjesus@187.56.142.114) (Read error: Connection reset by peer)
  403. # [14:44] * Joins: danjesus (~danjesus@187.56.142.114)
  404. # [14:46] * Joins: Ms2ger (~Ms2ger@vpne047.ugent.be)
  405. # [14:46] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
  406. # [14:47] * Joins: danjesus (~danjesus@187.56.142.114)
  407. # [14:47] * Quits: danjesus (~danjesus@187.56.142.114) (Read error: Connection reset by peer)
  408. # [14:47] * Joins: danjesus (~danjesus@187.56.142.114)
  409. # [14:50] <Domenic_> CSS.escape(undefined) MUST be the same as CSS.escape()
  410. # [14:50] <Ms2ger> Nah
  411. # [14:50] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Ping timeout: 252 seconds)
  412. # [14:51] <Ms2ger> WebKit used to do that, it's stupid
  413. # [14:51] <Domenic_> O_o
  414. # [14:51] <Domenic_> That is just ... how JS works... when you don't pass an argument, it's undefined ...
  415. # [14:51] <Domenic_> Anything else is MEGA surprising.
  416. # [14:53] * Quits: gavinc (~gavin@barad-dur.carothers.name) (Read error: Connection reset by peer)
  417. # [14:59] <jgraham> Domenic_: Is this something that causes you lots of problems with every other DOM function?
  418. # [15:00] * Joins: newtron (~newtron@199.71.174.203)
  419. # [15:00] <Domenic_> jgraham: yes!!
  420. # [15:00] <Domenic_> it breaks transparent composability
  421. # [15:01] <Domenic_> you need to do function (x, y) { if (y === undefined) { domFunc(x); } else { domFunc(x, y); } }
  422. # [15:02] <jgraham> I am failing to understand the problem
  423. # [15:02] <Domenic_> it creates a combinatorial explosion every time you want to forward arguments to a DOM function
  424. # [15:02] <jgraham> You can't use undefined like a None type here anyway
  425. # [15:02] <jgraham> Since it is stringified
  426. # [15:02] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
  427. # [15:03] <Domenic_> We're talking about the general case right now
  428. # [15:03] <jgraham> Sure
  429. # [15:03] <Domenic_> Forwarding arguments should be as simple as function (x, y, z, w) { domFunc(x, y, z, w); }
  430. # [15:03] <jgraham> But in general you can't use undefined like a None type
  431. # [15:04] <Domenic_> Sure you can, with normal JS functions
  432. # [15:04] <jgraham> How?
  433. # [15:04] <Domenic_> With the rules that make undefined and omitted different, you need ifs
  434. # [15:04] <Ms2ger> Nah, it should be function(...arguments) { domFunc(...arguments) }
  435. # [15:04] <jgraham> If there is magic type conversion
  436. # [15:04] <Domenic_> Ms2ger: OK, please extend my example to be slightly more complicated, e.g. transforming y to y + 1
  437. # [15:04] <Domenic_> jgraham: there's nothing magic about it. If undefined goes into my function, it should go into the DOM function
  438. # [15:05] <Domenic_> gtg commute to work... be back later
  439. # [15:05] <jgraham> If undefined goes into your function and it is going to call the DOM function with the wrong number of arguments, there is a bug in your code
  440. # [15:06] <Domenic_> this combinatorial explosion avoidance is the main reason default parameters in ES use undefined as the default value trigger, BTW.
  441. # [15:06] <jgraham> I don't understand why you want to make that hard to notice
  442. # [15:06] <Domenic_> there is no such thing as "wrong number of arguments"
  443. # [15:06] <Domenic_> the number of arguments is not actually something functions care about
  444. # [15:06] <zcorpan> Domenic_: your example doesn't invoke domFunc without arguments, so i don't see the problem
  445. # [15:06] <Domenic_> there are some arguments that have values, and the rest of them have undefined, out to infinity
  446. # [15:06] <Domenic_> aggh really got to go ttyl
  447. # [15:06] * Joins: umgrosscol (~umgrossco@grosscol.umdl.umich.edu)
  448. # [15:06] <jgraham> That's an ironic point of view given Function.length
  449. # [15:06] * Joins: Karate (~Karate@190.245.43.219)
  450. # [15:07] <annevk> I think Domenic_'s point is better discussed at the IDL-level and not for this individual method
  451. # [15:07] <annevk> And therefore public-script-coord@w3.org is prolly a better fora than here
  452. # [15:07] <gsnedders> annevk: public-script-coord is a single forum.
  453. # [15:08] <jgraham> annevk: The discussion is already happening on public-script-coord
  454. # [15:08] <jgraham> But I don't see why you are trying to shut down discussion here
  455. # [15:08] <annevk> Shut down? Relax man, I just said prolly ;-)
  456. # [15:09] <gsnedders> Is the problem not deeper than this? Is this not caused by the fact that WebIDL (and the DOM generally) relies on overloads, and hence different numbers of arguments must have different meanings, and somehow the callee must recognize the number of arguments given?
  457. # [15:10] * gsnedders doesn't know if he's even subscribed to public-script-coord now
  458. # [15:10] <jgraham> gsnedders: Script libraries do that too of course
  459. # [15:10] * Joins: cgrant (~textual@207.11.113.29)
  460. # [15:10] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 260 seconds)
  461. # [15:10] <jgraham> There's nothing to stop a js library from throwing with no argument but not throwing with undefined
  462. # [15:11] <jgraham> Or doing something totally different for the two cases
  463. # [15:12] <zcorpan> i guess webidl does what Domenic_ wants when there are optional arguments.
  464. # [15:12] <annevk> Treating () and (undefined) the same seems feasible given that WebKit has done it for a long time. Just need more eyeballs to measure to impact.
  465. # [15:13] * Quits: cgrant (~textual@207.11.113.29) (Client Quit)
  466. # [15:14] <zcorpan> feasible, sure. desired? not so clear. this has been discussed and resolved to what webidl has now, some time ago (although i can't find the relevant thread now)
  467. # [15:14] * Joins: decotii (~decotii@hq.croscon.com)
  468. # [15:15] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
  469. # [15:17] <annevk> Well yeah, "some time ago" we also decided undefined and omitted arguments would be different. I think it's pretty clear what the answer would be now.
  470. # [15:17] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
  471. # [15:17] * Joins: danjesus (~danjesus@187.56.142.114)
  472. # [15:18] <zcorpan> annevk: you mean for optional arguments?
  473. # [15:19] * Joins: jarek (~jarek@unaffiliated/jarek)
  474. # [15:19] <annevk> Right, we already fixed optional arguments.
  475. # [15:22] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 260 seconds)
  476. # [15:23] * Joins: TallTed (~Thud@63.119.36.36)
  477. # [15:24] * Joins: adactio (~adactio@212.42.170.181)
  478. # [15:25] * Joins: frustrum (~frustrum@jaw044-res.resnet.ucsd.edu)
  479. # [15:25] * Joins: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk)
  480. # [15:26] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
  481. # [15:28] * Joins: Kolombiken (~Adium@94.137.124.2)
  482. # [15:38] * Joins: reyre (~reyre@66.207.208.102)
  483. # [15:42] * Joins: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com)
  484. # [15:45] * Quits: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net) (Ping timeout: 272 seconds)
  485. # [15:56] * Joins: baku (~baku@77.241.94.53.static.hosted.by.combell.com)
  486. # [15:56] * Quits: baku (~baku@77.241.94.53.static.hosted.by.combell.com) (Client Quit)
  487. # [15:58] * Joins: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt)
  488. # [16:00] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
  489. # [16:01] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  490. # [16:01] * Quits: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com) (Remote host closed the connection)
  491. # [16:01] * Joins: hasather (~hasather@80.91.33.141)
  492. # [16:03] * Joins: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0005.ethz.ch)
  493. # [16:04] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  494. # [16:04] * Joins: hasather (~hasather@80.91.33.141)
  495. # [16:04] <zewt> <Domenic_> That is just ... how JS works... when you don't pass an argument, it's undefined ... <- that's irrelevant; the function *itself* can do whatever it wants with the argument (such as throwing a TypeError if an argument that's supposed to be one thing isn't)
  496. # [16:05] <zewt> for example, new Event() throws, it doesn't create an event with a name of "undefined", which would be useless and make what is definitely a programming error harder to notice
  497. # [16:06] <annevk> though new Event(undefined) doesn't throw and also makes what's likely an error hard to notice
  498. # [16:06] <annevk> dunno if that carries much weight
  499. # [16:06] * Joins: WesleyMcClane (~quassel@host143-150-dynamic.7-87-r.retail.telecomitalia.it)
  500. # [16:07] <annevk> Having types in general would make debugging much better, but it seems unlikely JS will get them.
  501. # [16:07] * Joins: tobie (~tobielang@154-170.192-178.cust.bluewin.ch)
  502. # [16:07] <annevk> Having required arguments be part of the language might be feasible however.
  503. # [16:07] <Domenic_> if the argument is required, both undefined and missing should give a TypeError
  504. # [16:07] * Quits: tobie (~tobielang@154-170.192-178.cust.bluewin.ch) (Remote host closed the connection)
  505. # [16:08] <Domenic_> if it is optional, both undefined and missing should trigger the default
  506. # [16:08] * Joins: tobie (~tobielang@154-170.192-178.cust.bluewin.ch)
  507. # [16:08] * Joins: plutoniix (~plutoniix@node-4wq.pool-125-25.dynamic.totbb.net)
  508. # [16:08] <annevk> That seems reasonable
  509. # [16:09] <zewt> no objections there
  510. # [16:09] <jgraham> I would totally support that
  511. # [16:09] <Domenic_> I would rather more arguments be optional than are currently, but am willing to delay that battle indefinitely in favor of fixing the mega-WTF of separate undefined/missing behavior.
  512. # [16:09] <Domenic_> OK cool, sudden agreement :D
  513. # [16:09] * Quits: WesleyMcClane_ (~quassel@host204-136-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 245 seconds)
  514. # [16:09] <annevk> Nah, you made a better proposal :-)
  515. # [16:09] <jgraham> Well not really, because WebIDL says that explicit undefined is coerced
  516. # [16:09] <Domenic_> jgraham: so, agreement between everyone excepting WebIDL? :P
  517. # [16:10] <jgraham> Something like that :)
  518. # [16:10] * Joins: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com)
  519. # [16:10] <annevk> Shall I file a bug?
  520. # [16:11] * annevk files a bug
  521. # [16:11] <zewt> xhr open() seems to be another one
  522. # [16:11] <zewt> (throws TypeError if there's no argument)
  523. # [16:11] <zewt> afk, work
  524. # [16:12] <annevk> https://www.w3.org/Bugs/Public/show_bug.cgi?id=23532
  525. # [16:12] * Quits: jarek (~jarek@unaffiliated/jarek) (Read error: Connection reset by peer)
  526. # [16:37] * Joins: gavinc (~gavin@barad-dur.carothers.name)
  527. # [16:39] * Joins: encryptd_fractal (~encryptd_@66-188-99-174.static.ftbg.wi.charter.com)
  528. # [16:43] * Quits: richt (~richt@91.216.105.37) (Remote host closed the connection)
  529. # [16:44] * Joins: richt (~richt@180.94.118.5)
  530. # [16:48] * Joins: tomasf (~tomasf@static-88.131.62.43.addr.tdcsong.se)
  531. # [16:49] * Quits: richt (~richt@180.94.118.5) (Ping timeout: 272 seconds)
  532. # [16:55] * Quits: eminor (~eminor@p548CEAD5.dip0.t-ipconnect.de) (Quit: eminor)
  533. # [16:56] * Quits: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
  534. # [16:57] * Quits: Ms2ger (~Ms2ger@vpne047.ugent.be) (Ping timeout: 272 seconds)
  535. # [16:57] * Quits: brianloveswords (~brianlove@li124-154.members.linode.com) (Excess Flood)
  536. # [16:58] * Joins: brianloveswords (~brianlove@li124-154.members.linode.com)
  537. # [16:59] <zewt> hmm, webidl does seem to throw TypeError for missing (not undefined) arguments (4.5.1.1), but that doesn't seem like what most APIs do (unless I'm missing something in WebIDL, which is likely)
  538. # [17:00] <jgraham> I don't know about "most", but at the least "many" do
  539. # [17:01] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  540. # [17:01] <zewt> yeah it seems to vary
  541. # [17:01] <jgraham> At least in Gecko. And in presto (although it was some weird custom error)
  542. # [17:01] <zewt> webgl does
  543. # [17:01] <zewt> or maybe I'm just confused by the earlier conversation
  544. # [17:01] <jgraham> getElement[s]By*() do
  545. # [17:02] <zewt> (which was "what? you can't make CSS.escape() throw instead of returning "undefined", that's crazy!")
  546. # [17:04] <jgraham> So I think the tension arises from the fact that the javascript stdlib doesn't throw for missing arguments
  547. # [17:06] <jgraham> (or, depending on your point of view, that javascript doesn't have a concept of missing arguments, even though it clearly exposes information about which arguments were passed and which weren't)
  548. # [17:06] * Quits: foolip (~philip@83.218.67.122) (Quit: Ex-Chat)
  549. # [17:07] * Joins: danjesus (~danjesus@187.11.123.208)
  550. # [17:09] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
  551. # [17:09] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
  552. # [17:09] * Joins: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com)
  553. # [17:11] * Joins: lilmonkey` (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl)
  554. # [17:11] * Quits: lilmonkey` (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl) (Changing host)
  555. # [17:11] * Joins: lilmonkey` (~colin@pdpc/supporter/professional/riven)
  556. # [17:12] <Domenic_> it only does that through the arguments object, which is being slowly killed
  557. # [17:12] <Domenic_> e.g. if you use any ES6 features in your function parameters, like defaults or spread or destructuring, you get no arguments object.
  558. # [17:13] * Joins: jsbell (jsbell@nat/google/x-bkantqmaifteniwq)
  559. # [17:14] * Quits: lilmonkey (~colin@pdpc/supporter/professional/riven) (Ping timeout: 245 seconds)
  560. # [17:16] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  561. # [17:16] <annevk> Domenic_: do those also nullify arguments.length?
  562. # [17:16] <annevk> Domenic_: sorry, Function.length
  563. # [17:17] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Client Quit)
  564. # [17:17] * Quits: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
  565. # [17:17] <annevk> Domenic_: see e.g. http://lists.w3.org/Archives/Public/public-script-coord/2013JulSep/0724.html
  566. # [17:17] <Domenic_> no, function.length is still defined, and still as useless as ever.
  567. # [17:17] * Quits: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl) (Ping timeout: 272 seconds)
  568. # [17:17] <Domenic_> but there's no way inside a function that uses ES6 features to determine whether undefined was passed or that argument was omitted
  569. # [17:18] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
  570. # [17:21] <TabAtkins> Yeah, Function.length is static for the function - it doesn't depend on the number of arguments passed.
  571. # [17:21] <Domenic_> (why do people keep capitalizing Function.length, it's not a property of the Function constructor...)
  572. # [17:21] <TabAtkins> Function#length
  573. # [17:21] <TabAtkins> Because typing out Function.prototype.length is annoying. ^_^
  574. # [17:22] <Domenic_> Well it's not on the prototype either
  575. # [17:22] <TabAtkins> Close enough.
  576. # [17:22] <annevk> What's the way to refer to instances?
  577. # [17:22] <TabAtkins> Point being, "Foo" is sometimes used informally as a stand-in for "an arbitrary instance of Foo".
  578. # [17:22] <Domenic_> function.length or functionInstance.length
  579. # [17:22] <Domenic_> myFunction.length
  580. # [17:22] <annevk> that's kinda sad notation-wise but okay
  581. # [17:23] <Domenic_> I mean you wouldn't say Document.createElement
  582. # [17:23] <annevk> yeah, what TabAtkins says, though I'm not very consistent about it
  583. # [17:23] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
  584. # [17:23] <annevk> Domenic_: I guess I try to go with Document.prototype.createElement these days
  585. # [17:23] <jgraham> document is a singleton (ish), so that's easier
  586. # [17:24] <Domenic_> true
  587. # [17:24] <Domenic_> anyway this is silly, didn't mean to spawn extended discussion on capitalization of a single character :P
  588. # [17:25] <TabAtkins> Domenic_: To be fair, it might be two or three characters, if the class name is multi-word.
  589. # [17:26] <Domenic_> hahaha
  590. # [17:30] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Remote host closed the connection)
  591. # [17:30] <bholley> annevk: ping
  592. # [17:30] <annevk> bholley: hey
  593. # [17:31] <bholley> annevk: as noted in the thread, I believe that we should disallow freezing dom objects
  594. # [17:31] <annevk> bholley: I think that's already the case per IDL
  595. # [17:31] <bholley> annevk: ok, great
  596. # [17:31] <bholley> annevk: WebIDL specs this?
  597. # [17:31] <annevk> bholley: "Platform array objects cannot be fixed; if Object.freeze, Object.seal or Object.preventExtensions is called on one, the function MUST throw a TypeError."
  598. # [17:31] <bholley> annevk: great!
  599. # [17:32] <annevk> oh wait, that's array
  600. # [17:32] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  601. # [17:32] <annevk> hmm
  602. # [17:32] <annevk> also goes for "Platform objects implementing an interface that supports indexed or named properties cannot be fixed"
  603. # [17:32] <annevk> doesn't say anything that would apply to Node
  604. # [17:33] <annevk> bholley: so no...
  605. # [17:33] <bholley> annevk: ok
  606. # [17:33] <bholley> annevk: I'll file a bug on WebIDL
  607. # [17:34] <bholley> annevk: which tracker is it? w3?
  608. # [17:34] <annevk> bholley: there's a link at the top of the spec
  609. # [17:34] <bholley> annevk: ok, cool
  610. # [17:34] <annevk> bholley: https://www.w3.org/Bugs/Public/enter_bug.cgi?product=WebAppsWG&component=WebIDL
  611. # [17:34] <bholley> annevk: do you agree, btw?
  612. # [17:34] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  613. # [17:34] <annevk> bholley: don't really care about those ES5 features
  614. # [17:34] * Quits: tomasf (~tomasf@static-88.131.62.43.addr.tdcsong.se) (Ping timeout: 256 seconds)
  615. # [17:35] <bholley> annevk: so you don't mind just rejecting them for the DOM to give us more flexibility?
  616. # [17:35] <annevk> bholley: they have strange names and don't really do what you expect them to be doing and half of TC39 seems to shrug at them
  617. # [17:35] <annevk> bholley: right, I don't mind
  618. # [17:35] <bholley> annevk: k
  619. # [17:38] * Joins: lmcliste_ (~lmclister@192.150.10.209)
  620. # [17:41] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 272 seconds)
  621. # [17:42] <Domenic_> you can't stop Object.seal
  622. # [17:42] <Domenic_> You can stop preventExtensions
  623. # [17:42] <Domenic_> and thus stop that part of the freezing process
  624. # [17:42] <Domenic_> but you can always make a property non-configurable/non-writable, even proxies can't prevent that
  625. # [17:42] <Domenic_> annevk: ^
  626. # [17:43] <annevk> Domenic_: seems false in implementations
  627. # [17:43] <Domenic_> as in, DOM objects are not implementable with proxies?
  628. # [17:43] <annevk> In Gecko Object.seal(window) throws
  629. # [17:44] <annevk> Does not seem to throw in Chrome though
  630. # [17:47] <Domenic_> no i lied, you could make a proxy with a throwing defineOwnProperty trap
  631. # [17:47] <Domenic_> A bit unfortunate all platform objects would have to become proxies with overriden defineOwnProperty traps though
  632. # [17:48] <annevk> bholley: maybe you should request a hook for it, so we'd only use it on Node
  633. # [17:48] <annevk> well, and all the objects Node can hold, such as DOMTokenList
  634. # [17:49] <annevk> bholley: seems like this would be problematic once <input type=file>.files becomes an actual JS Array
  635. # [17:49] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
  636. # [17:50] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Ping timeout: 265 seconds)
  637. # [17:50] * annevk shakes fist at multiple globals
  638. # [17:51] <Domenic_> from what i'm reading you just want Node to be a proxy with a throwing preventExtensions trap?
  639. # [17:52] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
  640. # [17:52] <Domenic_> that would allow its proto to be changed later
  641. # [17:52] <annevk> Domenic_: not just Node, but everything attached to Node too
  642. # [17:52] <Domenic_> right :(
  643. # [17:52] <annevk> Domenic_: so there's no references to the other global
  644. # [17:53] * Joins: sgalineau (~sylvaing@sjfw1-b.adobe.com)
  645. # [17:55] * Joins: howcome (~howcome@ti0035a380-dhcp0091.bb.online.no)
  646. # [17:55] * Parts: howcome (~howcome@ti0035a380-dhcp0091.bb.online.no)
  647. # [17:56] <annevk> Yeah, browser engineering is pretty much sad times all the time. Fortunately the web is full of cats tripping themselves.
  648. # [17:57] <zewt> hard to take anyone seriously when they say "we talked about this before, read the notes from the f2f"
  649. # [17:58] * Krinkle is now known as Krinkle|detached
  650. # [18:00] <annevk> Well you can't really expect past stuff to be explained over and over again
  651. # [18:01] <jgraham> No, but saying "we discussed this in a meeting and you weren't invited" is pretty much like saying "fuck you"
  652. # [18:01] * Joins: frozenice (~frozenice@unaffiliated/fr0zenice)
  653. # [18:01] <jgraham> Even if there are notes
  654. # [18:01] <Domenic_> arv ^
  655. # [18:02] <annevk> jgraham: every JS decision I've seen is backed by plenty of mailing list debate which is open to all
  656. # [18:02] * Joins: hasather_ (~hasather@guest.schibsted.no)
  657. # [18:02] * Joins: cabanier (~cabanier@192.150.22.55)
  658. # [18:02] <annevk> jgraham: they should just move to async-decisions entirely, but the way the thing works it's pretty much async
  659. # [18:03] <jgraham> I agree that anyone can join in on the mailing list. But I stand by my point
  660. # [18:03] * Quits: hasather (~hasather@80.91.33.141) (Read error: Operation timed out)
  661. # [18:03] <annevk> jgraham: e.g. decision on promises was just reiterating what was already said async and then we moved on
  662. # [18:04] <gsnedders> annevk: Plenty of things around TC 39 are effectively finalized in F2F meetings, often with some arguments going totally unaddressed.
  663. # [18:05] * Joins: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net)
  664. # [18:05] <zewt> should I really be surprised that it's 2013 and browsers still apparently don't support resuming downloads?
  665. # [18:06] <annevk> gsnedders: if you notice that happening please raise it
  666. # [18:06] <annevk> gsnedders: that seems suboptimal
  667. # [18:06] <gsnedders> zewt: I thought they did? Just many servers don't support partial requests.
  668. # [18:06] * Quits: hasather_ (~hasather@guest.schibsted.no) (Ping timeout: 260 seconds)
  669. # [18:06] <jgraham> "ReferenceError: undefined_variable is not defined"
  670. # [18:06] <gsnedders> annevk: I haven't read es-discuss in ages, and don't really care nowadays.
  671. # [18:06] <zewt> downloading from nginx, which definitely does
  672. # [18:07] <annevk> gsnedders: okay, so things might have changed for the better
  673. # [18:07] <gsnedders> zewt: Are you sure the browser can tell the resource is unchanged?
  674. # [18:08] <gsnedders> annevk: At least stuff like Object.prototype.__proto__ was effectively decided in F2F until more or less overnight all JS engines went against the decision.
  675. # [18:08] <zewt> not entirely, but it does have a correct Last-Modified
  676. # [18:08] <zewt> no ETag or cache headers though
  677. # [18:08] <gsnedders> annevk: And that was a year and a half ago or so?
  678. # [18:08] <gsnedders> zewt: Are resources cachable by default? I forget.
  679. # [18:08] <annevk> gsnedders: my experience is about five months :-)
  680. # [18:08] * Joins: erichynds (~erichynds@64.206.121.41)
  681. # [18:09] <zewt> i forget too, it's probably something akin to must-revalidate
  682. # [18:09] <annevk> (and I'm going to miss what would've been my third meeting)
  683. # [18:09] <gsnedders> annevk: es-discuss takes too much time having to consider PL theory, at least before. Maybe as we're close to final it's not so much now.
  684. # [18:10] <gsnedders> annevk: And I attended no meetings, not working for a member. :)
  685. # [18:10] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
  686. # [18:10] * Joins: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  687. # [18:11] <bholley> annevk: why can't we do it on any IDL-defined type?
  688. # [18:12] <annevk> bholley: so Domenic_ and others care for the ability to express platform APIs fully in terms of JS
  689. # [18:13] <annevk> bholley: overriding what Object.seal() and such do requires the usage of JS proxies to do that
  690. # [18:13] <annevk> bholley: JS proxies should really be a last resort in API design and not really used for anything that doesn't actually need it
  691. # [18:14] <bholley> annevk: can DOM objects as they stand be implemented without proxies?
  692. # [18:14] <bholley> annevk: like nodes
  693. # [18:14] <bholley> annevk: as in - would this added requirement move it from possible to impossible?
  694. # [18:15] <gsnedders> bholley: Most of the DOM cannot. Some Nodes cans, others cannot.
  695. # [18:15] <annevk> bholley: so e.g. HTMLFormElement requires a proxy for sure, I'm not sure about Element in general, I don't think it does, though there are some things about branding that are not fully explained yet
  696. # [18:15] <Domenic_> gsnedders: which nodes cannot? The only thing I can think of is document.all
  697. # [18:16] <Domenic_> gsnedders: oh nevermind misread
  698. # [18:16] <annevk> bholley: there's a couple of proof of concepts of how branding (type checks) can be done through WeakMap, but not fully worked out afaik
  699. # [18:16] <gsnedders> Domenic_: My grammar is terrible. :)
  700. # [18:17] <bholley> annevk: basically, my feeling is that if we disallow freezing for Nodes and for Window, we've disallowed it for a good chunk of the DOM
  701. # [18:17] <Domenic_> annevk: I think it's pretty fully worked out
  702. # [18:17] <bholley> annevk: at which point we should just disallow it for everything
  703. # [18:18] <annevk> bholley: well, consider e.g. my <input type=file>.files thing that will return a regular JS Array
  704. # [18:18] <annevk> bholley: or ele.query() which will return an JS Array subclass
  705. # [18:18] <annevk> bholley: the lines are blurring
  706. # [18:18] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
  707. # [18:19] <bholley> annevk: hm
  708. # [18:19] <bholley> annevk: it's true that they are
  709. # [18:19] <annevk> (btw, <input type=file> adoption could maybe just clear .files)
  710. # [18:19] <annevk> (and create a fresh array)
  711. # [18:20] <bholley> annevk: yeah. Are there any other cases where reparenting could theoretically involve reparenting a non-node?
  712. # [18:20] <bholley> I guess .style
  713. # [18:20] <annevk> also .classList
  714. # [18:21] <annevk> and .relList etc.
  715. # [18:21] <Domenic_> Wait isn't classList on the prototype
  716. # [18:21] <Domenic_> i.e. it's a getter that returns an internal representation
  717. # [18:21] <bholley> annevk: I would be opposed to leaving those things in the old scope
  718. # [18:21] <bholley> annevk: and just generating new ones
  719. # [18:21] <bholley> annevk: I don't think identity matters
  720. # [18:21] <bholley> annevk: er, sorry
  721. # [18:21] <bholley> annevk: _wouldn't_ be opposed
  722. # [18:21] <annevk> bholley: k
  723. # [18:22] <annevk> Domenic_: it returns an actual object though, and getting it twice will give you the same, but what bholley says can be done here
  724. # [18:22] <annevk> bholley: same could be done for .style and friends
  725. # [18:22] <Domenic_> right, what i think i was getting at (still wrapping my head around this) is that the internal object would change
  726. # [18:23] <Domenic_> i should go prototype this in JS with weakmaps etc.
  727. # [18:23] <annevk> Domenic_: that'd be cool
  728. # [18:23] <jgraham> So I haven't followed this enough and so should maybe not jump in here, but why can't adoption just be a clone operation that copies all the internal state into a new object?
  729. # [18:23] <Domenic_> ^ yeah that sounds nice
  730. # [18:23] <Domenic_> but similar haven't-followed-this problems
  731. # [18:24] * Quits: brion (~brion@wikipedia/pdpc.professional.brion) (Quit: brion)
  732. # [18:24] <annevk> jgraham: newDoc.appendChild(eleFromOldDoc); eleFromOldDoc.innerHTML = ...
  733. # [18:25] <annevk> Domenic_: ^
  734. # [18:25] <jgraham> annevk: You will have to elaborate a bit
  735. # [18:25] <Domenic_> what is that code supposed to illustrate, yeah...
  736. # [18:25] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Quit: Computer has gone to sleep.)
  737. # [18:26] <jgraham> Oh I see
  738. # [18:27] * Quits: lilmonkey` (~colin@pdpc/supporter/professional/riven) (Ping timeout: 246 seconds)
  739. # [18:28] <jgraham> Although you can imagine fixing that up with some sort of hack. Not that I'm advocating that or anything
  740. # [18:28] <annevk> That you cannot change identity
  741. # [18:28] <Domenic_> ahhh
  742. # [18:29] <Domenic_> what about if you threw when trying to adopt nodes that were extension-prevented
  743. # [18:29] * Joins: lilmonkey (~colin@pdpc/supporter/professional/riven)
  744. # [18:29] <Domenic_> i.e. what if you just did Object.setPrototypeOf(ele.fromOldDoc, thisWindow.Element) and if that threw an exception, just let it bubble so that appendChild fails
  745. # [18:30] <Domenic_> ReturnIfAbrupt, as they say ;) <-- funny only to me
  746. # [18:31] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 256 seconds)
  747. # [18:35] <annevk> bholley: ^
  748. # [18:35] * Joins: Areks_home (~Areks@95-26-125-162.broadband.corbina.ru)
  749. # [18:37] <bholley> annevk, Domenic_: there are other cases when we need to munge the prototype...
  750. # [18:37] <bholley> XBL/WebComponents
  751. # [18:37] <bholley> for example
  752. # [18:37] <Domenic_> sure, but presumably whatever operation needs to munge can just throw if the prototype is un-mungeable
  753. # [18:37] <bholley> potentially for document.open, but hopefully not
  754. # [18:37] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
  755. # [18:38] <bholley> Domenic_: well, if we decide to reparent things with document.open, we can't really make document.open throw, I don't think
  756. # [18:38] * Quits: alecf (alecf@nat/google/x-fnxjktuqvrmvntvs) (Remote host closed the connection)
  757. # [18:38] <bholley> plugins
  758. # [18:39] * Joins: alecf (~alecf@216.239.45.68)
  759. # [18:39] * Quits: reyre (~reyre@66.207.208.102) (Remote host closed the connection)
  760. # [18:39] <Domenic_> bholley: really? You think that there's some web code out there that (a) does Object.preventExtensions on a DOM node; (b) uses document.open?
  761. # [18:39] <bholley> Domenic_: I don't know, tbh. In Gecko, we mostly ignore preventExtensions on DOM nodes for the time being ;-)
  762. # [18:39] * Joins: reyre (~reyre@66.207.208.102)
  763. # [18:40] <gsnedders> Domenic_: It tends to be a good theory that there is, however stupid the thought it. Actually, especially if it is stupid.
  764. # [18:42] <bholley> Domenic_: I'd kind of rather not deal with C++ proto sets being fallible in a script-triggerable fashion. But I'm willing to consider it
  765. # [18:42] <jgraham> Is EvalScript trident thing?
  766. # [18:42] <Domenic_> bholley: what is a C++ :P
  767. # [18:42] <bholley> it just seems like the DOM is hard enough to implement as-is
  768. # [18:43] * gsnedders very much wants JS to be able to implement the DOM
  769. # [18:44] <jgraham> YOu can't really ignore the fact that the DOM has a real implentation complexity. The more time that browser vendors spend chasing theoretical wins in self-hosting, the less time they have to spend on other things like performance or features
  770. # [18:44] * Quits: reyre (~reyre@66.207.208.102) (Ping timeout: 272 seconds)
  771. # [18:45] <bholley> jgraham: my knight in shining armor
  772. # [18:45] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
  773. # [18:46] <gsnedders> jgraham: Depends on how much gain performance would have by having the DOM all in JS and being able to be inlined.
  774. # [18:46] <gsnedders> s/would/we would/
  775. # [18:47] * Joins: alecf (~alecf@216.239.45.68)
  776. # [18:49] * Joins: malcolmva (~malcolmva@c-67-188-35-241.hsd1.ca.comcast.net)
  777. # [18:50] * Quits: malcolmva (~malcolmva@c-67-188-35-241.hsd1.ca.comcast.net) (Max SendQ exceeded)
  778. # [18:50] * Joins: malcolmva (~malcolmva@c-67-188-35-241.hsd1.ca.comcast.net)
  779. # [18:51] * Joins: jernoble|laptop (~jernoble@17.212.155.141)
  780. # [18:51] * Quits: jpn (~jpn@pickles.tp.telepac.pt) (Quit: jpn)
  781. # [18:57] <annevk> bholley: what's bad about routing the prototype sets through script?
  782. # [18:58] <bholley> annevk: there are places in which we need to munge prototypes where we cannot fail
  783. # [18:59] <bholley> annevk: for example, if we fail midway through reparenting, there's no way to recover
  784. # [18:59] <bholley> annevk: we have to crash
  785. # [18:59] <annevk> bholley: could you elaborate in the bug? I have to go :/
  786. # [18:59] <bholley> annevk: so historically, we haven't been able to let script just decide that certain prototypes are unmungeable
  787. # [18:59] <bholley> annevk: ok
  788. # [19:02] <annevk> jgraham: as a closing note, I think nailing down the architecture in a way that everyone thinks is a win for the future is worth some time. What we decide here impacts how you architect your browser for decades to come. And hopefully many revisions to DOM implementations will be made over those decades.
  789. # [19:02] * Quits: annevk (~annevk@207.218.72.65) (Remote host closed the connection)
  790. # [19:03] * Joins: brion (~brion@wikipedia/pdpc.professional.brion)
  791. # [19:04] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)
  792. # [19:06] * Joins: nimbu (~nimbu@192.150.10.205)
  793. # [19:06] * Quits: nimbu (~nimbu@192.150.10.205) (Client Quit)
  794. # [19:07] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
  795. # [19:07] * Joins: nimbu (~nimbu@192.150.10.205)
  796. # [19:11] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
  797. # [19:11] * Quits: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0005.ethz.ch) (Quit: Leaving)
  798. # [19:12] * Joins: hasather (~hasather@80.91.33.113)
  799. # [19:13] * Quits: adactio (~adactio@212.42.170.181) (Quit: adactio)
  800. # [19:16] * Joins: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com)
  801. # [19:17] * Quits: hasather (~hasather@80.91.33.113) (Ping timeout: 240 seconds)
  802. # [19:17] * Joins: reyre (~reyre@66.207.208.102)
  803. # [19:20] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: Back to real life!)
  804. # [19:22] * Joins: weinig (~weinig@17.114.217.194)
  805. # [19:25] * Quits: astearns (~astearns@192.150.22.5) (Quit: astearns)
  806. # [19:25] * Joins: astearns (uid15080@gateway/web/irccloud.com/x-tbllqmsfyqiuksyb)
  807. # [19:28] * Joins: Karate_Boliviano (~Karate@190.245.43.219)
  808. # [19:31] * Quits: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
  809. # [19:31] * Quits: Karate (~Karate@190.245.43.219) (Ping timeout: 240 seconds)
  810. # [19:37] <zewt> man, time warner around here has the most bizarre problem: it randomly corrupts packets in a way that causes them to have the correct IP checksum
  811. # [19:38] <zewt> not like it's corrupting lots of packets and a couple happen to match (that would kill throughput); it just occasionally shuffles bytes around in a packet, which checksums won't detect
  812. # [19:39] <zewt> and tons of protocols just assume TCP streams are never corrupted, so it causes all kinds of weirdness
  813. # [19:41] <Hixie_> wow
  814. # [19:41] <Hixie_> that's messed up
  815. # [19:41] <zewt> it's so messed up that when we call the ISP and they send a guy out, he just goes "???"
  816. # [19:44] * Joins: alecf (~alecf@216.239.45.68)
  817. # [19:47] * Joins: danbri (~danbri@207.218.72.66)
  818. # [19:48] * Quits: danbri (~danbri@207.218.72.66) (Remote host closed the connection)
  819. # [19:48] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
  820. # [19:48] <Hixie_> "???" as in, "what's wrong", or as in, "wtf this makes no sense" ?
  821. # [19:49] <zewt> he just had no idea
  822. # [19:49] <Hixie_> no idea what you meant, or what the cause was?
  823. # [19:49] <Hixie_> there's two kinds of confusion possible here :-)
  824. # [19:49] <zewt> he understood the problem after I explained it long enough, but he had no idea why it was happening
  825. # [19:50] <Hixie_> aah ok
  826. # [19:50] <zewt> it's bizarre, since if it was just lots of packet corruption and once in a while one matched the checksum, it'd kill the connection completely
  827. # [19:50] * Joins: Ms2ger (~Ms2ger@193.190.253.150)
  828. # [19:51] <Hixie_> i'm on a business plan for my cable, it's pretty awesome, the slightest complaint and they roll a truck within 4 hours and fix things until it works
  829. # [19:51] <Hixie_> i was like "it seems we get occasional dropouts" at about 9pm, and by 11pm they'd rewired the entire building basically.
  830. # [19:51] <smaug____> slightlyoff: we really need webidl spec for ServiceWorker (https://github.com/slightlyoff/ServiceWorker/issues/99#issuecomment-26440824)
  831. # [19:51] <smaug____> sooner than later
  832. # [19:51] <Hixie_> (not even _that_ much more expensive than residential service, it's pretty crazy)
  833. # [19:52] <smaug____> or JSIDL and some tool which converts JSIDL to WebIDL
  834. # [19:52] <zewt> this is business too (it's our office), but it's one of those problems that always hides when a tech is on site
  835. # [19:52] * smaug____ doesn't understand this JSIDL stuff
  836. # [19:52] <Hixie_> oh the problem was gone by the time the tech got here in our case
  837. # [19:52] <Hixie_> he just rewired it all just in case
  838. # [19:52] <zewt> also, this has happened in every time warner installation i've used: my home cable, and business cable in two different offices
  839. # [19:53] <Hixie_> btytes shifted around pretty much has to be their back-end, right?
  840. # [19:53] <Hixie_> i mean, it's not like a bad cable is gonna cause that
  841. # [19:53] <MikeSmith> smaug____: what is TS+tests?
  842. # [19:53] <MikeSmith> and is anybody actually working on making a JSIDL?
  843. # [19:53] <zewt> seems like it has to be hardware and not cabling, yeah, seems like weird firmware in a cable modem is as likely a cause as a bad router though
  844. # [19:54] <sgalineau> IP checksums changing in flight? I'd call the NSA, not Time Warner :)
  845. # [19:54] <zewt> (which is to say, all equally unlikely)
  846. # [19:54] * Joins: danbri (~danbri@207.218.72.66)
  847. # [19:54] <MikeSmith> (I mean JSIDL at all for anything, as an alternative to WebIDL)
  848. # [19:54] <zewt> sgalineau: no, worse: the packet data is being corrupted, but in a way that results in the same IP checksum, so IP doesn't drop the packet
  849. # [19:54] <smaug____> TS is ...that odd format to describe classes or interfaces
  850. # [19:54] <Hixie_> zewt: try swapping out the router for another?
  851. # [19:54] <smaug____> MikeSmith: yeah, I haven't see anything concrete on JSIDL
  852. # [19:55] <zewt> Hixie_: i meant their routers (it could be anywhere in their stack)
  853. # [19:55] <Hixie_> zewt: well yeah, but you have control over one of them :-)
  854. # [19:56] <zewt> the only router we have is the one built into the cable modem :) (and yeah, getting a different router is one thing to try, though I suspect it's further up the chain)
  855. # [19:56] <sgalineau> zewt: man, that is twisted
  856. # [19:57] <Hixie_> get a replacement cable modem, swap it in, if it doesn't solve it, send it back :-)
  857. # [19:57] <MikeSmith> smaug____: seems pretty odd to be going ahead with implementations without the interface actually being documented or even without an actual spec
  858. # [19:57] <zewt> sgalineau: i wget'd a test file over http containing "0123456789" repeated, it downloaded without error and you'd see "0123546789" or something randomly
  859. # [19:57] <smaug____> MikeSmith: very much so
  860. # [19:57] <smaug____> MikeSmith: TS == http://en.wikipedia.org/wiki/TypeScript
  861. # [19:58] <MikeSmith> ah that
  862. # [19:58] <zewt> if IP used CRC's it'd catch it, but IP is ... old
  863. # [19:58] <MikeSmith> TypeScript looks kind of nice
  864. # [20:00] <Hixie_> zewt: time to use https for everything :-P
  865. # [20:00] * Joins: nimbu1 (~nimbu@sjfw1-a.adobe.com)
  866. # [20:00] * Joins: ap (~ap@2620:149:4:304:1db5:cb23:a314:4177)
  867. # [20:01] * smaug____ is now known as smaug____afk
  868. # [20:02] * Quits: nimbu (~nimbu@192.150.10.205) (Ping timeout: 244 seconds)
  869. # [20:05] * Quits: danbri (~danbri@207.218.72.66) (Write error: Broken pipe)
  870. # [20:06] <zewt> Hixie_: i do--that's what led to me earlier wondering about browsers not resuming downloads
  871. # [20:06] * Quits: ImBcmDth (~Jon@oftn/member/ImBcmDth) (Quit: From my books surcease of sorrow, sorrow for the lost Lenore.)
  872. # [20:07] <zewt> https will kill the connection on error, but it won't automatically recover
  873. # [20:07] <Hixie_> ah
  874. # [20:08] * Joins: ImBcmDth (~Jon@oftn/member/ImBcmDth)
  875. # [20:11] * Joins: lilmonkey` (~colin@pdpc/supporter/professional/riven)
  876. # [20:13] * Quits: ImBcmDth (~Jon@oftn/member/ImBcmDth) (Read error: Connection reset by peer)
  877. # [20:14] * Joins: ImBcmDth (~Jon@oftn/member/ImBcmDth)
  878. # [20:14] * Quits: lilmonkey (~colin@pdpc/supporter/professional/riven) (Ping timeout: 268 seconds)
  879. # [20:26] * Quits: tobie (~tobielang@154-170.192-178.cust.bluewin.ch) (Quit: tobie)
  880. # [20:33] * Joins: rniwa (~rniwa@17.212.154.114)
  881. # [20:58] * Quits: erichynds (~erichynds@64.206.121.41)
  882. # [21:01] * Joins: erichynds (~erichynds@64.206.121.41)
  883. # [21:02] * Quits: erichynds (~erichynds@64.206.121.41) (Client Quit)
  884. # [21:02] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  885. # [21:02] * Quits: nimbu1 (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
  886. # [21:03] * Joins: rxgx (~rxgx@wsip-68-107-216-98.ph.ph.cox.net)
  887. # [21:04] * Joins: erichynds (~erichynds@64.206.121.41)
  888. # [21:06] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
  889. # [21:11] * Joins: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net)
  890. # [21:12] * Joins: ronaldmansveld_ (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
  891. # [21:12] * Joins: alecf (~alecf@216.239.45.68)
  892. # [21:13] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Ping timeout: 272 seconds)
  893. # [21:14] * Joins: Kolombiken (~Adium@94.137.124.2)
  894. # [21:16] * Quits: sgalineau (~sylvaing@sjfw1-b.adobe.com) (Read error: Connection reset by peer)
  895. # [21:17] * Quits: Kolombiken (~Adium@94.137.124.2) (Read error: Connection reset by peer)
  896. # [21:17] * Joins: Kolombiken (~Adium@94.137.124.2)
  897. # [21:20] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
  898. # [21:20] * smaug____afk is now known as smaug____
  899. # [21:20] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Quit: Reconnecting…)
  900. # [21:20] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
  901. # [21:22] * Quits: Kolombiken (~Adium@94.137.124.2) (Ping timeout: 272 seconds)
  902. # [21:22] * ronaldmansveld_ is now known as ronaldmansveld
  903. # [21:24] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  904. # [21:25] * Joins: alecf (~alecf@216.239.45.68)
  905. # [21:26] <smaug____> Ms2ger: thanks
  906. # [21:28] * Joins: josemanuel (~josemanue@101.Red-79-145-246.dynamicIP.rima-tde.net)
  907. # [21:29] * Quits: alecf (~alecf@216.239.45.68) (Client Quit)
  908. # [21:32] * Quits: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net) (Quit: sicking)
  909. # [21:32] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
  910. # [21:34] * Joins: alecf (~alecf@216.239.45.68)
  911. # [21:36] * Quits: alecf (~alecf@216.239.45.68) (Client Quit)
  912. # [21:38] * Joins: alecf (~alecf@216.239.45.68)
  913. # [21:38] * Quits: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net) (Read error: Connection reset by peer)
  914. # [21:38] * Quits: alecf (~alecf@216.239.45.68) (Client Quit)
  915. # [21:40] * Joins: alecf (~alecf@216.239.45.68)
  916. # [21:42] * Joins: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net)
  917. # [21:43] * Quits: josemanuel (~josemanue@101.Red-79-145-246.dynamicIP.rima-tde.net) (Quit: Saliendo)
  918. # [21:46] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
  919. # [21:52] * Quits: weinig (~weinig@17.114.217.194) (Quit: weinig)
  920. # [21:52] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
  921. # [21:58] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
  922. # [22:02] * Quits: erichynds (~erichynds@64.206.121.41)
  923. # [22:02] * Quits: frozenice (~frozenice@unaffiliated/fr0zenice) (Remote host closed the connection)
  924. # [22:03] * Joins: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net)
  925. # [22:05] * Quits: Karate_Boliviano (~Karate@190.245.43.219) (Read error: Connection reset by peer)
  926. # [22:06] * Joins: Karate_Boliviano (~Karate@190.245.43.219)
  927. # [22:12] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
  928. # [22:13] * Quits: Ms2ger (~Ms2ger@193.190.253.150) (Ping timeout: 245 seconds)
  929. # [22:16] * Joins: sgalineau (~sylvaing@192.150.10.204)
  930. # [22:19] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 240 seconds)
  931. # [22:20] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Ping timeout: 260 seconds)
  932. # [22:24] * Joins: nimbu (~nimbu@192.150.10.205)
  933. # [22:24] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
  934. # [22:25] * Quits: TallTed (~Thud@63.119.36.36) (Read error: Connection reset by peer)
  935. # [22:25] * Joins: arunranga (~otherarun@cpe-74-73-238-8.nyc.res.rr.com)
  936. # [22:27] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
  937. # [22:29] * Joins: weinig (~weinig@17.114.217.194)
  938. # [22:30] * Quits: weinig (~weinig@17.114.217.194) (Client Quit)
  939. # [22:32] * Joins: jreading1 (~Adium@ip98-169-193-48.dc.dc.cox.net)
  940. # [22:32] * Quits: Karate_Boliviano (~Karate@190.245.43.219) (Read error: Connection reset by peer)
  941. # [22:35] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Ping timeout: 245 seconds)
  942. # [22:35] * Joins: weinig (~weinig@17.114.5.5)
  943. # [22:40] * Joins: annevk (~annevk@2.31.25.160)
  944. # [22:42] * Joins: jacobolus (~jacobolus@173-228-85-240.dsl.dynamic.sonic.net)
  945. # [22:43] * Quits: Areks_home (~Areks@95-26-125-162.broadband.corbina.ru) (Ping timeout: 272 seconds)
  946. # [22:48] * Quits: alecf (~alecf@216.239.45.68) (Remote host closed the connection)
  947. # [22:52] * Joins: alecf (~alecf@216.239.45.68)
  948. # [22:59] * Joins: tantek (~tantek@mce2d36d0.tmodns.net)
  949. # [23:01] <annevk> MikeSmith: JSIDL lacks resources, so we'll continue to work on IDL and address the ES6 requirements there
  950. # [23:01] <annevk> MikeSmith: as I understand it heycam|away managed to get a couple of months just for IDL so we should start seeing some progress there soonish
  951. # [23:02] <annevk> MikeSmith: including moving the thing to GitHub and such
  952. # [23:02] * Quits: weinig (~weinig@17.114.5.5) (Quit: weinig)
  953. # [23:03] * Quits: reyre (~reyre@66.207.208.102) (Remote host closed the connection)
  954. # [23:07] <annevk> slightlyoff: cool cool, sounds good
  955. # [23:07] * Quits: tantek (~tantek@mce2d36d0.tmodns.net) (Ping timeout: 272 seconds)
  956. # [23:07] <annevk> slightlyoff: I'll post updates once I've integrated Fetch into XMLHttpRequest
  957. # [23:10] * Quits: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com) (Quit: Leaving.)
  958. # [23:13] * Quits: umgrosscol (~umgrossco@grosscol.umdl.umich.edu) (Quit: Nettalk6 - www.ntalk.de)
  959. # [23:16] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Quit: ZNC - http://znc.in)
  960. # [23:19] * Quits: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  961. # [23:20] * Joins: danbri (~danbri@87.115.71.180)
  962. # [23:23] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
  963. # [23:24] <smaug____> annevk: is it still very much unclear to me what is wrong with webidl and what jsidl will change
  964. # [23:27] <annevk> smaug____: I think the primary change would be to describe the platform in terms of JavaScript rather than IDL types
  965. # [23:27] <smaug____> well, that doesn't say much about how the APIs would change in practice
  966. # [23:28] <annevk> smaug____: I don't think the intent is to change APIs other than encourage new APIs to follow better patterns, but that goal is shared with IDL I think
  967. # [23:29] * Quits: danbri (~danbri@87.115.71.180) (Remote host closed the connection)
  968. # [23:29] <smaug____> "better patterns" tends to be vague
  969. # [23:30] <smaug____> there needs to be some reasoning to do Foo and not Bar
  970. # [23:30] <annevk> smaug____: again, the high-level reason is describing the entire platform in terms of JavaScript and making it self-hostable
  971. # [23:31] <annevk> smaug____: we don't necessarily need new IDL for that, but some people think they can convey their ideas better with a fresh start, although obviously they haven't found the time yet to write it out...
  972. # [23:32] * Joins: weinig (~weinig@17.114.5.5)
  973. # [23:32] <smaug____> I guess the question I have is that how does that help users of the APIs or implementors
  974. # [23:33] * Joins: newtron_ (~newtron@199.71.174.202)
  975. # [23:33] <smaug____> webidl is kind of a nice abstract layer above raw JS
  976. # [23:33] <annevk> smaug____: the idea is that APIs become more extensible than they are now
  977. # [23:34] <annevk> smaug____: e.g. classes become subclassable, just like built-ins are in ES6
  978. # [23:34] <annevk> smaug____: the other small benefit might be that we can use a somewhat better syntax, though that's discussed for IDL too
  979. # [23:34] <smaug____> hmm, hard to say much about better syntax without seeing any proposals
  980. # [23:34] <annevk> smaug____: for implementers it's mostly a cost I suppose, because the ES6-style world with subclassing is vastly more complex
  981. # [23:35] <annevk> smaug____: yeah, I can only say so much because I'm familiar with some of the ideas, having something concrete would indeed be way better
  982. # [23:36] * Quits: weinig (~weinig@17.114.5.5) (Client Quit)
  983. # [23:36] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 272 seconds)
  984. # [23:36] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  985. # [23:37] <zcorpan> http://blog.paciellogroup.com/2013/10/using-html5-section-element/ ... why would a screen reader say "region" for each <section>? isn't that just annoying? and wrong, given that it's semantically equivalent to drop all <section>s and use h1-h6
  986. # [23:37] <annevk> smaug____: one change, which we're planning on making in IDL too, is to have distinction between class and interface
  987. # [23:37] <zcorpan> and i don't understand the recommendation to use aria-labelledby
  988. # [23:37] * Quits: newtron_ (~newtron@199.71.174.202) (Ping timeout: 272 seconds)
  989. # [23:38] <annevk> smaug____: and IDL will adopt ES6-style classes and such, so I suspect most of the changes to happen in IDL unless JSIDL suddenly gets a bunch of resources
  990. # [23:38] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
  991. # [23:38] <smaug____> right
  992. # [23:39] <smaug____> annevk: this all comes mainly from ServiceWorker stuff
  993. # [23:39] <smaug____> implementors implementing API which doesn't exist
  994. # [23:39] * Quits: rxgx (~rxgx@wsip-68-107-216-98.ph.ph.cox.net) (Quit: timeout)
  995. # [23:39] <annevk> smaug____: jdm worked out some IDL for ServiceWorker
  996. # [23:39] <smaug____> good
  997. # [23:39] <annevk> smaug____: if I had not been traveling I might have been more productive and actually done some work there, for now I'm occupied with correcting people on the internet and Fetch / XHR / URL
  998. # [23:40] <annevk> smaug____: less travel is one of my 2014 goals now
  999. # [23:40] * Quits: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net) (Quit: sicking)
  1000. # [23:40] <smaug____> ha
  1001. # [23:43] * Joins: weinig (~weinig@17.114.217.194)
  1002. # [23:45] * Quits: madcorp (~zf@pagane.virtunea.net) (Quit: Leaving)
  1003. # [23:45] * Joins: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net)
  1004. # [23:48] <zcorpan> what's your knee-jerk reaction to renaming DOMRectReadOnly to DOMRectRead? (since the UA can mutate the object, it's supposedly not actually read *only* ....)
  1005. # [23:49] <Hixie_> sounds weird
  1006. # [23:49] <Hixie_> how about DOMRectView or something like that?
  1007. # [23:49] <Hixie_> or DOMRect and MutableDOMRect
  1008. # [23:51] <zcorpan> the mutable one needs the short name since it has a constructor, so that's the name people are going to write in their code
  1009. # [23:52] * Joins: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net)
  1010. # [23:52] <zcorpan> unless we do something magic like have a constructor for one interface that returns an object of the other, but that's really weird
  1011. # [23:53] <Hixie_> then i'd go with DOMRect and DOMRectReadOnly
  1012. # [23:53] <Hixie_> it's read-only, even if it can change
  1013. # [23:54] <Domenic_> O_o
  1014. # [23:54] <Hixie_> look at the readonly attributes in the DOM
  1015. # [23:54] <Hixie_> most of them can change too
  1016. # [23:54] <Domenic_> O__o
  1017. # [23:55] <Hixie_> like firstChild
  1018. # [23:55] <Hixie_> that's a readonly attribute
  1019. # [23:55] <Hixie_> but if you change the DOM, it returns a different object
  1020. # [23:55] <Hixie_> or NodeList.length
  1021. # [23:55] <Domenic_> it sounds like a getter, not something that's read-only.
  1022. # [23:55] <Hixie_> or formElement.validationMessage
  1023. # [23:55] <Domenic_> since obviously it's being written.
  1024. # [23:55] * Quits: brion (~brion@wikipedia/pdpc.professional.brion) (Quit: brion)
  1025. # [23:56] <Hixie_> i'm just saying that the IDL for these attributes reads "readonly attribute ..."
  1026. # [23:56] <Domenic_> Right, and to that I say O__o
  1027. # [23:56] <Domenic_> ^ things JSIDL could fix
  1028. # [23:56] <Hixie_> a readonly text field can change even while it's readonly
  1029. # [23:57] <Domenic_> O___o
  1030. # [23:57] <Hixie_> readonly doesn't mean "immutable", it means "can't be changed by you"
  1031. # [23:57] <Domenic_> read only means you can only read it
  1032. # [23:57] <Hixie_> right
  1033. # [23:57] <Hixie_> YOU can only read it
  1034. # [23:57] * Quits: bholley (~bholley@195-132-112-181.rev.numericable.fr) (Quit: bholley)
  1035. # [23:58] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
  1036. # Session Close: Thu Oct 17 00:00:00 2013

The end :)