Options:
- # Session Start: Wed Oct 16 00:00:00 2013
- # Session Ident: #whatwg
- # [00:00] * Quits: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com) (Remote host closed the connection)
- # [00:01] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
- # [00:02] <zcorpan> i don't see rebuttals of pro-throwing: consistency with other DOM functions and ease of debugging
- # [00:02] * Joins: Benvie (~bbenvie@nat/mozilla/x-dhxxkvzbqqsezjjz)
- # [00:04] <zcorpan> note that empty string can result in an exception anyway if you do document.querySelector('#' + CSS.escape())
- # [00:04] <zcorpan> since '#' isn't a valid selector, you get a TypeError
- # [00:04] <zcorpan> so if you don't like exceptions, empty string is out...
- # [00:07] * Joins: newtron_ (~newtron@199.71.174.202)
- # [00:09] <zcorpan> JS escape() and encodeURIComponent() result in "undefined", maybe it's reasonable for CSS.escape() to be consistent with those
- # [00:11] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 272 seconds)
- # [00:11] * Quits: annevk (~annevk@2.31.25.160) (Remote host closed the connection)
- # [00:12] * Quits: newtron_ (~newtron@199.71.174.202) (Ping timeout: 272 seconds)
- # [00:15] * Quits: othermaciej (~mjs@17.114.7.208) (Quit: othermaciej)
- # [00:17] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [00:18] * Quits: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [00:19] * Joins: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net)
- # [00:20] * Joins: shepazu (~shepazu@ip-64-134-180-112.public.wayport.net)
- # [00:20] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
- # [00:24] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [00:25] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Quit: ZNC - http://znc.in)
- # [00:29] * Quits: plutoniix (~plutoniix@node-4wq.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [00:36] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
- # [00:39] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [00:42] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Client Quit)
- # [00:44] * Joins: milkshoes (~milkshoes@c-76-97-219-135.hsd1.ga.comcast.net)
- # [00:45] * Quits: milkshoes (~milkshoes@c-76-97-219-135.hsd1.ga.comcast.net) (Client Quit)
- # [00:45] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
- # [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"
- # [00:49] * Quits: shepazu (~shepazu@ip-64-134-180-112.public.wayport.net) (Quit: is sleepy)
- # [00:52] * Joins: birtles (~chatzilla@247.net182021059.t-com.ne.jp)
- # [00:53] * Joins: danbri (~danbri@87.115.71.180)
- # [00:54] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
- # [00:59] * Quits: danbri (~danbri@87.115.71.180) (Remote host closed the connection)
- # [01:03] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [01:04] * Joins: othermaciej (~mjs@17.114.218.23)
- # [01:08] * Quits: Benvie (~bbenvie@nat/mozilla/x-dhxxkvzbqqsezjjz) (Ping timeout: 245 seconds)
- # [01:08] * Quits: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [01:09] * Joins: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net)
- # [01:10] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
- # [01:10] * Joins: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt)
- # [01:11] <SimonSapin> +1 zewt
- # [01:18] * Joins: newtron (~newtron@76-10-148-205.dsl.teksavvy.com)
- # [01:18] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [01:21] * Quits: decotii (~decotii@hq.croscon.com) (Quit: Leaving)
- # [01:22] * Quits: newtron (~newtron@76-10-148-205.dsl.teksavvy.com) (Ping timeout: 272 seconds)
- # [01:24] * Quits: aho (~nya@fuld-590c6afa.pool.mediaWays.net) (Quit: EXEC_Z/.)
- # [01:26] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
- # [01:30] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [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
- # [01:47] <slightlyoff> annevk-cloud: so I'm doing my bit by not defining any of that API ATM ;-)
- # [01:47] <slightlyoff> annevk-cloud: happy to work with you to flesh it out
- # [02:00] * Joins: shepazu (~shepazu@adsl-98-69-220-154.rmo.bellsouth.net)
- # [02:01] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Ping timeout: 265 seconds)
- # [02:04] * Quits: jacobolus (~jacobolus@162.217.72.78) (Ping timeout: 245 seconds)
- # [02:04] * Quits: ap (~ap@2620:149:4:304:425:2d90:9bfe:80d8) (Quit: ap)
- # [02:05] * Quits: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
- # [02:09] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
- # [02:09] * Quits: cabanier (~cabanier@192.150.22.55) (Quit: Leaving.)
- # [02:10] * Joins: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net)
- # [02:13] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Ping timeout: 265 seconds)
- # [02:13] * Quits: jsbell (jsbell@nat/google/x-mkskblhvenelyczx) (Quit: There's no place like home...)
- # [02:13] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
- # [02:17] * Joins: Benvie (~bbenvie@v-1045.fw1.sfo1.mozilla.net)
- # [02:19] * Quits: othermaciej (~mjs@17.114.218.23) (Quit: othermaciej)
- # [02:21] * Quits: dbaron (~dbaron@v-1045.fw1.sfo1.mozilla.net) (Ping timeout: 245 seconds)
- # [02:22] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
- # [02:23] * heycam is now known as heycam|away
- # [02:26] * Joins: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net)
- # [02:41] * Quits: jpn (~jpn@a79-168-252-125.cpe.netcabo.pt) (Quit: jpn)
- # [02:41] * Joins: danjesus_ (~danjesus@187.56.142.114)
- # [02:45] * Quits: danjesus_ (~danjesus@187.56.142.114) (Remote host closed the connection)
- # [02:45] * Quits: lmcliste_ (~lmclister@192.150.10.209)
- # [02:45] * Joins: danjesus (~danjesus@187.56.142.114)
- # [02:49] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 252 seconds)
- # [02:53] * Quits: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
- # [02:54] * Quits: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
- # [02:55] * Quits: birtles (~chatzilla@247.net182021059.t-com.ne.jp) (Read error: Connection reset by peer)
- # [03:01] * Quits: shepazu (~shepazu@adsl-98-69-220-154.rmo.bellsouth.net) (Quit: is sleepy)
- # [03:08] * Joins: danjesus (~danjesus@187.56.142.114)
- # [03:13] * Joins: cgrant (~textual@r74-193-80-109.pfvlcmta01.grtntx.tl.dh.suddenlink.net)
- # [03:24] * Joins: Goplat (~goplat@reactos/developer/Goplat)
- # [03:35] * Quits: driedfruit (~driedfrui@195.239.43.241) (Quit: Leaving)
- # [03:35] * Quits: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net) (Quit: Computer has gone to sleep.)
- # [03:40] * Quits: vcarbune (~vcarbune@84-75-248-2.dclient.hispeed.ch) (Ping timeout: 240 seconds)
- # [03:44] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [03:45] * Joins: birtles (~chatzilla@61-121-216-2.bitcat.net)
- # [03:46] * Joins: dbaron (~dbaron@50-0-248-3.dsl.dynamic.sonic.net)
- # [03:48] * Quits: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk) (Remote host closed the connection)
- # [04:03] * Joins: jpn (~jpn@a79-168-252-125.cpe.netcabo.pt)
- # [04:05] * Joins: plutoniix (~plutoniix@210.213.57.70)
- # [04:07] * Quits: WeirdAl (~chatzilla@g2spf.ask.info) (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258])
- # [04:11] * Joins: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net)
- # [04:11] * Quits: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net) (Changing host)
- # [04:11] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [04:11] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
- # [04:13] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
- # [04:17] * Quits: jpn (~jpn@a79-168-252-125.cpe.netcabo.pt) (Quit: jpn)
- # [04:27] * Joins: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [04:31] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
- # [04:31] * Quits: dbaron (~dbaron@50-0-248-3.dsl.dynamic.sonic.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [04:35] * Joins: necolas (~necolas@70-36-142-146.dsl.dynamic.sonic.net)
- # [04:36] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
- # [04:37] * Quits: stalled (~stalled@unaffiliated/stalled) (Ping timeout: 260 seconds)
- # [04:38] * Quits: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [04:43] * Quits: cgrant (~textual@r74-193-80-109.pfvlcmta01.grtntx.tl.dh.suddenlink.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [04:44] * Joins: stalled (~stalled@unaffiliated/stalled)
- # [04:44] * heycam|away is now known as heycam
- # [04:47] * Krinkle is now known as Krinkle|detached
- # [05:02] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
- # [05:12] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
- # [05:12] * Joins: danjesus (~danjesus@187.56.142.114)
- # [05:16] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
- # [05:17] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 272 seconds)
- # [05:17] * Joins: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net)
- # [05:18] * Joins: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [05:23] * Quits: scor (~scor@drupal.org/user/52142/view) (Read error: Connection reset by peer)
- # [05:37] * Quits: necolas (~necolas@70-36-142-146.dsl.dynamic.sonic.net) (Remote host closed the connection)
- # [05:45] * Joins: richt (~richt@91.216.105.37)
- # [05:51] * Quits: foolip (~philip@83.218.67.122) (Ping timeout: 245 seconds)
- # [05:52] * Joins: danjesus (~danjesus@187.56.142.114)
- # [05:55] * Joins: foolip (~philip@83.218.67.122)
- # [06:07] * Joins: topek_ (~topek@91-119-88-27.dynamic.xdsl-line.inode.at)
- # [06:08] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 245 seconds)
- # [06:10] * Quits: lerc (~quassel@121-74-249-13.telstraclear.net) (Ping timeout: 246 seconds)
- # [06:12] * Joins: lerc (~quassel@121.75.133.253)
- # [06:17] * Quits: topek_ (~topek@91-119-88-27.dynamic.xdsl-line.inode.at) (Remote host closed the connection)
- # [06:20] * Quits: Areks (~Areks@rs.gridnine.com) (Read error: Connection reset by peer)
- # [06:20] * Joins: lerc_ (~quassel@121-74-254-44.telstraclear.net)
- # [06:20] * Joins: Areks (~Areks@rs.gridnine.com)
- # [06:21] * Quits: lerc (~quassel@121.75.133.253) (Ping timeout: 248 seconds)
- # [06:30] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [06:32] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
- # [06:44] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 241 seconds)
- # [06:46] * Joins: arunranga (~otherarun@cpe-74-73-238-8.nyc.res.rr.com)
- # [06:49] * heycam is now known as heycam|away
- # [07:13] * Joins: Benvie_ (~brandon@204.28.118.69)
- # [07:13] * Quits: Benvie_ (~brandon@204.28.118.69) (Client Quit)
- # [07:13] * Quits: frustrum (~frustrum@128.54.214.195) (Ping timeout: 252 seconds)
- # [07:16] * Quits: arunranga (~otherarun@cpe-74-73-238-8.nyc.res.rr.com) (Quit: arunranga)
- # [07:19] * Quits: DaveMethvin (DaveMethvi@gateway/shell/jquery.com/x-fbkkinhlikvgrggm) (Ping timeout: 240 seconds)
- # [07:19] * Joins: DaveMethvin|away (DaveMethvi@gateway/shell/jquery.com/x-josixnfgqzydgrcg)
- # [07:19] * Quits: scott_gonzalez (gonzasi0@gateway/shell/jquery.com/x-irqacjqqeibzulqd) (Ping timeout: 240 seconds)
- # [07:20] * DaveMethvin|away is now known as DaveMethvin
- # [07:22] * Joins: scott_gonzalez (gonzasi0@gateway/shell/jquery.com/x-yrpxizhbymqostbr)
- # [07:23] * Quits: rniwa (~rniwa@17.212.154.114) (Quit: rniwa)
- # [07:34] * Joins: nonge (~nonge@p5082B42E.dip0.t-ipconnect.de)
- # [07:35] * Quits: lmcliste_ (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [07:48] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
- # [07:52] * Joins: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com)
- # [07:52] * Joins: Goplat (~goplat@reactos/developer/Goplat)
- # [07:55] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
- # [07:59] * Joins: baku (~baku@2-236-39-253.ip231.fastwebnet.it)
- # [08:10] * Quits: baku (~baku@2-236-39-253.ip231.fastwebnet.it) (Quit: Leaving)
- # [08:17] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
- # [08:18] * Joins: danjesus (~danjesus@187.56.142.114)
- # [08:19] * Quits: danjesus (~danjesus@187.56.142.114) (Read error: Connection reset by peer)
- # [08:19] * Joins: danjesus_ (~danjesus@187.56.142.114)
- # [08:23] * Joins: Ms2ger (~Ms2ger@vpna111.ugent.be)
- # [08:31] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)
- # [08:31] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
- # [08:31] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)
- # [08:35] * Joins: davve (~user@83.218.67.122)
- # [08:37] * Quits: danjesus_ (~danjesus@187.56.142.114) (Remote host closed the connection)
- # [08:37] * Joins: danjesus (~danjesus@187.56.142.114)
- # [08:40] * Joins: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl)
- # [08:41] * Quits: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com) (Ping timeout: 260 seconds)
- # [08:42] * Joins: danbri (~danbri@87.115.71.180)
- # [08:42] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 272 seconds)
- # [08:45] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [08:49] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 245 seconds)
- # [08:50] * Joins: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net)
- # [09:00] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
- # [09:10] * Joins: falken (~falken@2401:fa00:4:1000:26be:5ff:fe0d:d7ea)
- # [09:14] * Joins: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si)
- # [09:18] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
- # [09:39] * Joins: bholley (~bholley@195-132-112-181.rev.numericable.fr)
- # [09:48] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [09:49] <zcorpan> zewt: please give rationale
- # [09:51] <Ms2ger> marcosc, squash, not squish ;)
- # [09:51] <marcosc> Ms2ger: should be "squished"
- # [09:51] <marcosc> it's much cutter and sounds less mean
- # [09:55] * Joins: annevk (~annevk@2.31.25.160)
- # [09:55] * Joins: Smylers (~smylers@94.117.161.85)
- # [10:05] <SimonSapin> zcorpan: Errors should not pass silently
- # [10:05] <zcorpan> SimonSapin: ...because?
- # [10:06] * Quits: Smylers (~smylers@94.117.161.85) (Ping timeout: 265 seconds)
- # [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
- # [10:06] <zcorpan> ok, so what do you think should happen for CSS.escape(window) ?
- # [10:07] <SimonSapin> This brings the symptom of the error closer to the source
- # [10:07] <SimonSapin> does window have .toString?
- # [10:07] <zcorpan> yes
- # [10:07] <zcorpan> it usually stringifies to [object Window]
- # [10:09] <SimonSapin> I don’t know, this case is less clear-cut
- # [10:09] <SimonSapin> is the convention to strictly only accept strings, or anything that can be converted to a string?
- # [10:09] <zcorpan> the latter
- # [10:10] <zcorpan> except for undefined, which is different for different APIs
- # [10:10] <annevk> zcorpan: seems like it should be undefined
- # [10:10] <SimonSapin> In that case I suppose CSS.escape(window) would be "\\[object\\ Window\\]"
- # [10:10] * Quits: danbri (~danbri@87.115.71.180) (Remote host closed the connection)
- # [10:10] <annevk> SimonSapin: and it is
- # [10:11] <annevk> SimonSapin: that's how ToString works
- # [10:11] <annevk> JavaScript doesn't do type checking, it just does type coercions all over
- # [10:11] <zcorpan> SimonSapin: so how is it different from undefined from the being-in-error and debug-ability point of view?
- # [10:11] <SimonSapin> but undefined may be a common enough source of errors that it’s worth a special case
- # [10:11] <annevk> o_O
- # [10:12] <SimonSapin> IMO
- # [10:12] <SimonSapin> you’re less likely to accidentally end up with window instead of a string than undefined
- # [10:12] * Quits: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8) (*.net *.split)
- # [10:14] <zcorpan> is it less likely to accidentally end up with anything other than a string and undefined compared to undefined?
- # [10:15] * Joins: hasather (~hasather@80.91.33.141)
- # [10:15] <SimonSapin> I think so, but I may be wrong
- # [10:15] <SimonSapin> I don’t write that much JS
- # [10:15] * Joins: Smylers (~smylers@81.143.60.194)
- # [10:16] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
- # [10:18] * Joins: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8)
- # [10:20] * Quits: Smylers (~smylers@81.143.60.194) (Remote host closed the connection)
- # [10:21] * Joins: eminor (~eminor@p548CEAD5.dip0.t-ipconnect.de)
- # [10:22] * Joins: Smylers (~smylers@81.143.60.194)
- # [10:22] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [10:24] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
- # [10:29] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 252 seconds)
- # [10:34] * Quits: richt (~richt@91.216.105.37) (Remote host closed the connection)
- # [10:34] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
- # [10:35] * Joins: richt (~richt@180.94.118.5)
- # [10:38] * Joins: cheron (~cheron@unaffiliated/cheron)
- # [10:39] * Quits: richt (~richt@180.94.118.5) (Ping timeout: 256 seconds)
- # [10:41] * Joins: jpn (~jpn@pickles.tp.telepac.pt)
- # [10:43] * Joins: Kolombiken (~Adium@gateway.creuna.se)
- # [10:45] * Quits: birtles (~chatzilla@61-121-216-2.bitcat.net) (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204])
- # [10:46] * Joins: richt (~richt@91.216.105.37)
- # [10:46] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
- # [10:54] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
- # [11:03] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
- # [11:04] * Joins: Kolombiken (~Adium@gateway.creuna.se)
- # [11:18] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 246 seconds)
- # [11:19] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Remote host closed the connection)
- # [11:22] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
- # [11:25] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
- # [11:27] * Quits: karlcow_ (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [11:27] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [11:28] * Joins: darobin (~darobin@78.109.80.74)
- # [11:37] * Joins: vcarbune (~vcarbune@2001:67c:10ec:3f42:8000::1708)
- # [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
- # [11:40] <bholley> annevk: can you explain a bit more?
- # [11:40] <annevk> bholley: e.g. whenever you appendChild, adopt is used
- # [11:41] <bholley> annevk: yes, I'm aware - that's the whole issue, really
- # [11:41] <bholley> annevk: people rarely adopt just to adopt
- # [11:41] <annevk> bholley: if the glabal object is the same, there doesn't seem to be an issue
- # [11:41] <bholley> annevk: oh, adopt happens even for same-global?
- # [11:41] <annevk> bholley: so we should limit throwing for custom elements only if the global object changes
- # [11:41] <bholley> annevk: right
- # [11:41] <bholley> annevk: that was my intention, sorry
- # [11:41] <bholley> annevk: I thought that the adopt was only triggered in the cross-global case
- # [11:41] <bholley> annevk: well, technically cross-document
- # [11:42] <bholley> annevk: are there significant ways in which those cases differ?
- # [11:42] <annevk> bholley: no, adopt does things like changing the document and removing from parent
- # [11:42] <bholley> annevk: ie document fragment?
- # [11:42] <annevk> bholley: yeah, createDocument
- # [11:42] <annevk> bholley: and HTML imports
- # [11:42] <annevk> bholley: and new Document() once we have that
- # [11:42] <bholley> annevk: ok, sure
- # [11:42] <bholley> annevk: that's fine with me
- # [11:43] <bholley> annevk: assuming we do that, do you think throwing would be ok?
- # [11:44] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [11:44] <annevk> have to think about that some more
- # [11:44] <annevk> kinda depends on where we want to steer the whole thing I think
- # [11:45] <annevk> treat sync access between multiple globals as a bug, or embrace it and make it work
- # [11:45] <annevk> should prolly be discussed on es-discuss
- # [11:45] <annevk> or public-script-coord
- # [11:46] <bholley> annevk: ugh, I feel like that's not going to really go anywhere
- # [11:46] <bholley> annevk: because if we abstract this into a more vague discussion of values, it will devolve again into the specific considerations
- # [11:46] <bholley> annevk: and then we're back at this bug
- # [11:47] <bholley> annevk: moreover, we can always spec that something throws and then change it later
- # [11:47] <bholley> annevk: whereas we can't unsupport something we decide to support
- # [11:47] * Quits: vcarbune (~vcarbune@2001:67c:10ec:3f42:8000::1708) (Ping timeout: 245 seconds)
- # [11:48] <annevk> bholley: sure, throwing seems safe for now, but I also think we should have the larger discussion
- # [11:48] <annevk> bholley: as it'll impact other APIs to come
- # [11:49] * Krinkle|detached is now known as Krinkle
- # [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?
- # [11:52] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 252 seconds)
- # [11:53] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 248 seconds)
- # [11:53] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [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
- # [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
- # [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"
- # [11:55] <bholley> annevk: it's not just about memory leaks
- # [11:55] <bholley> annevk: though that's my primary concern
- # [11:55] <jgraham> To the extent that they differ, it's not clear that either of those is the correct goal
- # [11:55] <bholley> annevk: it's also about the API making sense
- # [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
- # [11:55] <bholley> annevk: trees?
- # [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
- # [11:56] <annevk> bholley: that nodes share the same global
- # [11:57] <bholley> annevk: I still don't follow
- # [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
- # [11:58] <bholley> the only options are to (a) strip the binding, or (b) not allow them to leave the document
- # [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
- # [11:58] <annevk> to change prototypes*
- # [11:58] <bholley> annevk: ok
- # [11:58] <bholley> (a) is apparently tricky due to the reasons that Dominic described
- # [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.
- # [11:59] <annevk> Anyway, back in a bit, need to get some yoghurt from the office...
- # [12:00] <bholley> annevk: but
- # [12:00] <bholley> annevk: will JS ever have a concept of adopt?
- # [12:00] <bholley> annevk: if it doesn't, then the issue is moot
- # [12:03] <annevk> I don't know, anyway, biab
- # [12:03] * Quits: annevk (~annevk@2.31.25.160) (Remote host closed the connection)
- # [12:03] * Joins: annevk (~annevk@2.31.25.160)
- # [12:04] <jgraham> zcorpan: Since someobject.propertyThatDoesntExist is undefined in js foo(undefined) is a way easier bug to have than foo(window)
- # [12:04] <jgraham> And throwing tells you what the error is right away rather than getting a nonsense result much later in the code
- # [12:05] <bholley> annevk-cloud: ok
- # [12:06] <zcorpan> jgraham: yeah, it seems plausible that undefined is a more common error
- # [12:07] <zcorpan> jgraham: still, encodeURIComponent(undefined) doesn't throw and seems to be in the same position as CSS.escape(undefined)
- # [12:08] * Quits: annevk (~annevk@2.31.25.160) (Ping timeout: 256 seconds)
- # [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
- # [12:14] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
- # [12:15] * Joins: annevk (~annevk@207.218.72.65)
- # [12:18] <annevk> Treating undefined as "undefined" is what we do everywhere for DOMString.
- # [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.
- # [12:19] <Ms2ger> And when you make it optional, then you have the question of the default
- # [12:20] * Joins: Benvie_ (~bbenvie@v-1045.fw1.sfo1.mozilla.net)
- # [12:20] <annevk> Simple test: .<script>document.body.innerHTML = undefined</script>
- # [12:21] * Quits: Benvie (~bbenvie@v-1045.fw1.sfo1.mozilla.net) (Ping timeout: 265 seconds)
- # [12:21] <zcorpan> annevk: innerHTML isn't a method, and CSS.escape() doesn't have its argument optional (currently)
- # [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
- # [12:22] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
- # [12:22] <annevk> zcorpan: innerHTML is a getter and setter, same thing
- # [12:22] <annevk> zcorpan: but find a method that takes a DOMString and you'll find out how IDL works
- # [12:23] <zcorpan> it's not consistent with everything else. document.getElementById(undefined) throws (per spec, at least)
- # [12:23] <Ms2ger> Eh?
- # [12:23] <Ms2ger> Doesn't seem to
- # [12:24] * Joins: barnabywalters_ (~barnabywa@46-239-239-203.tal.is)
- # [12:24] <jgraham> I think the IDL spec changed at some point
- # [12:24] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Read error: Connection reset by peer)
- # [12:24] <Ms2ger> Only for optional arguments
- # [12:24] * barnabywalters_ is now known as barnabywalters
- # [12:25] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 256 seconds)
- # [12:25] <zcorpan> ah, i thought it made undefined mean omitted even for non-optional argument
- # [12:25] <Ms2ger> I'm pretty sure it didn't
- # [12:25] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Read error: Connection reset by peer)
- # [12:25] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Read error: Operation timed out)
- # [12:26] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
- # [12:27] <zcorpan> ok so CSS.escape() throws TypeError but CSS.escape(undefined) gives "undefined" (per current spec)
- # [12:27] <Ms2ger> sgtm
- # [12:30] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [12:30] <jgraham> For those following at home, that is *also* inconsistent with escape() and encodeURIComponent()
- # [12:32] <zcorpan> yep
- # [12:34] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 256 seconds)
- # [12:43] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [12:45] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
- # [12:47] * Joins: WesleyMcClane_ (~quassel@host204-136-dynamic.7-87-r.retail.telecomitalia.it)
- # [12:50] * Quits: WesleyMcClane (~quassel@host248-144-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 245 seconds)
- # [12:51] * Quits: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk) (Ping timeout: 256 seconds)
- # [12:54] * Joins: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net)
- # [12:54] * Quits: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net) (Remote host closed the connection)
- # [12:54] * Joins: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net)
- # [12:56] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
- # [12:58] * Quits: jonathanmarvens (~jonathanm@c-50-157-151-94.hsd1.ma.comcast.net) (Remote host closed the connection)
- # [13:03] * Joins: lerc (~quassel@121-74-254-44.telstraclear.net)
- # [13:04] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
- # [13:04] * Quits: lerc_ (~quassel@121-74-254-44.telstraclear.net) (Ping timeout: 272 seconds)
- # [13:06] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
- # [13:07] * Joins: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net)
- # [13:21] * Joins: nielsle (~nielsle@3239149-cl69.boa.fiberby.dk)
- # [13:27] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [13:27] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [13:28] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Read error: Connection reset by peer)
- # [13:28] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [13:29] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
- # [13:29] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
- # [13:32] * Joins: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0002.ethz.ch)
- # [13:35] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 246 seconds)
- # [13:38] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
- # [13:50] * Joins: Somatt_wrk_ (~somattwrk@darkstar2.fullsix.com)
- # [13:52] * Joins: skylamer` (~cgskylame@78.90.215.70)
- # [13:53] * Quits: mdik (~mdik@brln-4d0c783f.pool.mediaWays.net) (Read error: Operation timed out)
- # [13:54] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 272 seconds)
- # [13:54] * Quits: skylamer` (~cgskylame@78.90.215.70) (Remote host closed the connection)
- # [13:57] * Joins: mdik (~mdik@brln-4db9dcb9.pool.mediaWays.net)
- # [13:58] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
- # [13:59] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
- # [14:00] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
- # [14:01] * Quits: Somatt_wrk_ (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 245 seconds)
- # [14:01] * Joins: cfq (~cfq@static.85-10-200-244.clients.your-server.de)
- # [14:03] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
- # [14:06] * Joins: Kolombiken (~Adium@gateway.creuna.se)
- # [14:11] * Quits: Ms2ger (~Ms2ger@vpna111.ugent.be) (Ping timeout: 272 seconds)
- # [14:18] * Quits: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0002.ethz.ch) (Remote host closed the connection)
- # [14:22] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [14:25] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 272 seconds)
- # [14:29] * Joins: felipeduardo (~felipedua@189.115.44.34)
- # [14:30] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
- # [14:31] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
- # [14:32] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
- # [14:38] * Quits: cheron (~cheron@unaffiliated/cheron) (Remote host closed the connection)
- # [14:41] * Joins: danjesus (~danjesus@187.56.142.114)
- # [14:41] * Joins: cheron (~cheron@unaffiliated/cheron)
- # [14:42] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
- # [14:43] * Joins: danjesus (~danjesus@187.56.142.114)
- # [14:44] * Quits: danjesus (~danjesus@187.56.142.114) (Read error: Connection reset by peer)
- # [14:44] * Joins: danjesus (~danjesus@187.56.142.114)
- # [14:46] * Joins: Ms2ger (~Ms2ger@vpne047.ugent.be)
- # [14:46] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
- # [14:47] * Joins: danjesus (~danjesus@187.56.142.114)
- # [14:47] * Quits: danjesus (~danjesus@187.56.142.114) (Read error: Connection reset by peer)
- # [14:47] * Joins: danjesus (~danjesus@187.56.142.114)
- # [14:50] <Domenic_> CSS.escape(undefined) MUST be the same as CSS.escape()
- # [14:50] <Ms2ger> Nah
- # [14:50] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Ping timeout: 252 seconds)
- # [14:51] <Ms2ger> WebKit used to do that, it's stupid
- # [14:51] <Domenic_> O_o
- # [14:51] <Domenic_> That is just ... how JS works... when you don't pass an argument, it's undefined ...
- # [14:51] <Domenic_> Anything else is MEGA surprising.
- # [14:53] * Quits: gavinc (~gavin@barad-dur.carothers.name) (Read error: Connection reset by peer)
- # [14:59] <jgraham> Domenic_: Is this something that causes you lots of problems with every other DOM function?
- # [15:00] * Joins: newtron (~newtron@199.71.174.203)
- # [15:00] <Domenic_> jgraham: yes!!
- # [15:00] <Domenic_> it breaks transparent composability
- # [15:01] <Domenic_> you need to do function (x, y) { if (y === undefined) { domFunc(x); } else { domFunc(x, y); } }
- # [15:02] <jgraham> I am failing to understand the problem
- # [15:02] <Domenic_> it creates a combinatorial explosion every time you want to forward arguments to a DOM function
- # [15:02] <jgraham> You can't use undefined like a None type here anyway
- # [15:02] <jgraham> Since it is stringified
- # [15:02] * Quits: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
- # [15:03] <Domenic_> We're talking about the general case right now
- # [15:03] <jgraham> Sure
- # [15:03] <Domenic_> Forwarding arguments should be as simple as function (x, y, z, w) { domFunc(x, y, z, w); }
- # [15:03] <jgraham> But in general you can't use undefined like a None type
- # [15:04] <Domenic_> Sure you can, with normal JS functions
- # [15:04] <jgraham> How?
- # [15:04] <Domenic_> With the rules that make undefined and omitted different, you need ifs
- # [15:04] <Ms2ger> Nah, it should be function(...arguments) { domFunc(...arguments) }
- # [15:04] <jgraham> If there is magic type conversion
- # [15:04] <Domenic_> Ms2ger: OK, please extend my example to be slightly more complicated, e.g. transforming y to y + 1
- # [15:04] <Domenic_> jgraham: there's nothing magic about it. If undefined goes into my function, it should go into the DOM function
- # [15:05] <Domenic_> gtg commute to work... be back later
- # [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
- # [15:06] <Domenic_> this combinatorial explosion avoidance is the main reason default parameters in ES use undefined as the default value trigger, BTW.
- # [15:06] <jgraham> I don't understand why you want to make that hard to notice
- # [15:06] <Domenic_> there is no such thing as "wrong number of arguments"
- # [15:06] <Domenic_> the number of arguments is not actually something functions care about
- # [15:06] <zcorpan> Domenic_: your example doesn't invoke domFunc without arguments, so i don't see the problem
- # [15:06] <Domenic_> there are some arguments that have values, and the rest of them have undefined, out to infinity
- # [15:06] <Domenic_> aggh really got to go ttyl
- # [15:06] * Joins: umgrosscol (~umgrossco@grosscol.umdl.umich.edu)
- # [15:06] <jgraham> That's an ironic point of view given Function.length
- # [15:06] * Joins: Karate (~Karate@190.245.43.219)
- # [15:07] <annevk> I think Domenic_'s point is better discussed at the IDL-level and not for this individual method
- # [15:07] <annevk> And therefore public-script-coord@w3.org is prolly a better fora than here
- # [15:07] <gsnedders> annevk: public-script-coord is a single forum.
- # [15:08] <jgraham> annevk: The discussion is already happening on public-script-coord
- # [15:08] <jgraham> But I don't see why you are trying to shut down discussion here
- # [15:08] <annevk> Shut down? Relax man, I just said prolly ;-)
- # [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?
- # [15:10] * gsnedders doesn't know if he's even subscribed to public-script-coord now
- # [15:10] <jgraham> gsnedders: Script libraries do that too of course
- # [15:10] * Joins: cgrant (~textual@207.11.113.29)
- # [15:10] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Ping timeout: 260 seconds)
- # [15:10] <jgraham> There's nothing to stop a js library from throwing with no argument but not throwing with undefined
- # [15:11] <jgraham> Or doing something totally different for the two cases
- # [15:12] <zcorpan> i guess webidl does what Domenic_ wants when there are optional arguments.
- # [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.
- # [15:13] * Quits: cgrant (~textual@207.11.113.29) (Client Quit)
- # [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)
- # [15:14] * Joins: decotii (~decotii@hq.croscon.com)
- # [15:15] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
- # [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.
- # [15:17] * Quits: danjesus (~danjesus@187.56.142.114) (Remote host closed the connection)
- # [15:17] * Joins: danjesus (~danjesus@187.56.142.114)
- # [15:18] <zcorpan> annevk: you mean for optional arguments?
- # [15:19] * Joins: jarek (~jarek@unaffiliated/jarek)
- # [15:19] <annevk> Right, we already fixed optional arguments.
- # [15:22] * Quits: danjesus (~danjesus@187.56.142.114) (Ping timeout: 260 seconds)
- # [15:23] * Joins: TallTed (~Thud@63.119.36.36)
- # [15:24] * Joins: adactio (~adactio@212.42.170.181)
- # [15:25] * Joins: frustrum (~frustrum@jaw044-res.resnet.ucsd.edu)
- # [15:25] * Joins: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk)
- # [15:26] * Joins: ronaldmansveld (~ronaldman@smtp.pixelindustries.com)
- # [15:28] * Joins: Kolombiken (~Adium@94.137.124.2)
- # [15:38] * Joins: reyre (~reyre@66.207.208.102)
- # [15:42] * Joins: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com)
- # [15:45] * Quits: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net) (Ping timeout: 272 seconds)
- # [15:56] * Joins: baku (~baku@77.241.94.53.static.hosted.by.combell.com)
- # [15:56] * Quits: baku (~baku@77.241.94.53.static.hosted.by.combell.com) (Client Quit)
- # [15:58] * Joins: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt)
- # [16:00] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
- # [16:01] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [16:01] * Quits: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com) (Remote host closed the connection)
- # [16:01] * Joins: hasather (~hasather@80.91.33.141)
- # [16:03] * Joins: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0005.ethz.ch)
- # [16:04] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
- # [16:04] * Joins: hasather (~hasather@80.91.33.141)
- # [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)
- # [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
- # [16:06] <annevk> though new Event(undefined) doesn't throw and also makes what's likely an error hard to notice
- # [16:06] <annevk> dunno if that carries much weight
- # [16:06] * Joins: WesleyMcClane (~quassel@host143-150-dynamic.7-87-r.retail.telecomitalia.it)
- # [16:07] <annevk> Having types in general would make debugging much better, but it seems unlikely JS will get them.
- # [16:07] * Joins: tobie (~tobielang@154-170.192-178.cust.bluewin.ch)
- # [16:07] <annevk> Having required arguments be part of the language might be feasible however.
- # [16:07] <Domenic_> if the argument is required, both undefined and missing should give a TypeError
- # [16:07] * Quits: tobie (~tobielang@154-170.192-178.cust.bluewin.ch) (Remote host closed the connection)
- # [16:08] <Domenic_> if it is optional, both undefined and missing should trigger the default
- # [16:08] * Joins: tobie (~tobielang@154-170.192-178.cust.bluewin.ch)
- # [16:08] * Joins: plutoniix (~plutoniix@node-4wq.pool-125-25.dynamic.totbb.net)
- # [16:08] <annevk> That seems reasonable
- # [16:09] <zewt> no objections there
- # [16:09] <jgraham> I would totally support that
- # [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.
- # [16:09] <Domenic_> OK cool, sudden agreement :D
- # [16:09] * Quits: WesleyMcClane_ (~quassel@host204-136-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 245 seconds)
- # [16:09] <annevk> Nah, you made a better proposal :-)
- # [16:09] <jgraham> Well not really, because WebIDL says that explicit undefined is coerced
- # [16:09] <Domenic_> jgraham: so, agreement between everyone excepting WebIDL? :P
- # [16:10] <jgraham> Something like that :)
- # [16:10] * Joins: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com)
- # [16:10] <annevk> Shall I file a bug?
- # [16:11] * annevk files a bug
- # [16:11] <zewt> xhr open() seems to be another one
- # [16:11] <zewt> (throws TypeError if there's no argument)
- # [16:11] <zewt> afk, work
- # [16:12] <annevk> https://www.w3.org/Bugs/Public/show_bug.cgi?id=23532
- # [16:12] * Quits: jarek (~jarek@unaffiliated/jarek) (Read error: Connection reset by peer)
- # [16:37] * Joins: gavinc (~gavin@barad-dur.carothers.name)
- # [16:39] * Joins: encryptd_fractal (~encryptd_@66-188-99-174.static.ftbg.wi.charter.com)
- # [16:43] * Quits: richt (~richt@91.216.105.37) (Remote host closed the connection)
- # [16:44] * Joins: richt (~richt@180.94.118.5)
- # [16:48] * Joins: tomasf (~tomasf@static-88.131.62.43.addr.tdcsong.se)
- # [16:49] * Quits: richt (~richt@180.94.118.5) (Ping timeout: 272 seconds)
- # [16:55] * Quits: eminor (~eminor@p548CEAD5.dip0.t-ipconnect.de) (Quit: eminor)
- # [16:56] * Quits: jernoble|laptop (~jernoble@199-188-193-107.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
- # [16:57] * Quits: Ms2ger (~Ms2ger@vpne047.ugent.be) (Ping timeout: 272 seconds)
- # [16:57] * Quits: brianloveswords (~brianlove@li124-154.members.linode.com) (Excess Flood)
- # [16:58] * Joins: brianloveswords (~brianlove@li124-154.members.linode.com)
- # [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)
- # [17:00] <jgraham> I don't know about "most", but at the least "many" do
- # [17:01] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [17:01] <zewt> yeah it seems to vary
- # [17:01] <jgraham> At least in Gecko. And in presto (although it was some weird custom error)
- # [17:01] <zewt> webgl does
- # [17:01] <zewt> or maybe I'm just confused by the earlier conversation
- # [17:01] <jgraham> getElement[s]By*() do
- # [17:02] <zewt> (which was "what? you can't make CSS.escape() throw instead of returning "undefined", that's crazy!")
- # [17:04] <jgraham> So I think the tension arises from the fact that the javascript stdlib doesn't throw for missing arguments
- # [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)
- # [17:06] * Quits: foolip (~philip@83.218.67.122) (Quit: Ex-Chat)
- # [17:07] * Joins: danjesus (~danjesus@187.11.123.208)
- # [17:09] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
- # [17:09] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
- # [17:09] * Joins: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com)
- # [17:11] * Joins: lilmonkey` (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl)
- # [17:11] * Quits: lilmonkey` (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl) (Changing host)
- # [17:11] * Joins: lilmonkey` (~colin@pdpc/supporter/professional/riven)
- # [17:12] <Domenic_> it only does that through the arguments object, which is being slowly killed
- # [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.
- # [17:13] * Joins: jsbell (jsbell@nat/google/x-bkantqmaifteniwq)
- # [17:14] * Quits: lilmonkey (~colin@pdpc/supporter/professional/riven) (Ping timeout: 245 seconds)
- # [17:16] * Joins: Kolombiken (~Adium@gateway.creuna.se)
- # [17:16] <annevk> Domenic_: do those also nullify arguments.length?
- # [17:16] <annevk> Domenic_: sorry, Function.length
- # [17:17] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Client Quit)
- # [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/)
- # [17:17] <annevk> Domenic_: see e.g. http://lists.w3.org/Archives/Public/public-script-coord/2013JulSep/0724.html
- # [17:17] <Domenic_> no, function.length is still defined, and still as useless as ever.
- # [17:17] * Quits: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl) (Ping timeout: 272 seconds)
- # [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
- # [17:18] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
- # [17:21] <TabAtkins> Yeah, Function.length is static for the function - it doesn't depend on the number of arguments passed.
- # [17:21] <Domenic_> (why do people keep capitalizing Function.length, it's not a property of the Function constructor...)
- # [17:21] <TabAtkins> Function#length
- # [17:21] <TabAtkins> Because typing out Function.prototype.length is annoying. ^_^
- # [17:22] <Domenic_> Well it's not on the prototype either
- # [17:22] <TabAtkins> Close enough.
- # [17:22] <annevk> What's the way to refer to instances?
- # [17:22] <TabAtkins> Point being, "Foo" is sometimes used informally as a stand-in for "an arbitrary instance of Foo".
- # [17:22] <Domenic_> function.length or functionInstance.length
- # [17:22] <Domenic_> myFunction.length
- # [17:22] <annevk> that's kinda sad notation-wise but okay
- # [17:23] <Domenic_> I mean you wouldn't say Document.createElement
- # [17:23] <annevk> yeah, what TabAtkins says, though I'm not very consistent about it
- # [17:23] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
- # [17:23] <annevk> Domenic_: I guess I try to go with Document.prototype.createElement these days
- # [17:23] <jgraham> document is a singleton (ish), so that's easier
- # [17:24] <Domenic_> true
- # [17:24] <Domenic_> anyway this is silly, didn't mean to spawn extended discussion on capitalization of a single character :P
- # [17:25] <TabAtkins> Domenic_: To be fair, it might be two or three characters, if the class name is multi-word.
- # [17:26] <Domenic_> hahaha
- # [17:30] * Quits: ronaldmansveld (~ronaldman@smtp.pixelindustries.com) (Remote host closed the connection)
- # [17:30] <bholley> annevk: ping
- # [17:30] <annevk> bholley: hey
- # [17:31] <bholley> annevk: as noted in the thread, I believe that we should disallow freezing dom objects
- # [17:31] <annevk> bholley: I think that's already the case per IDL
- # [17:31] <bholley> annevk: ok, great
- # [17:31] <bholley> annevk: WebIDL specs this?
- # [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."
- # [17:31] <bholley> annevk: great!
- # [17:32] <annevk> oh wait, that's array
- # [17:32] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [17:32] <annevk> hmm
- # [17:32] <annevk> also goes for "Platform objects implementing an interface that supports indexed or named properties cannot be fixed"
- # [17:32] <annevk> doesn't say anything that would apply to Node
- # [17:33] <annevk> bholley: so no...
- # [17:33] <bholley> annevk: ok
- # [17:33] <bholley> annevk: I'll file a bug on WebIDL
- # [17:34] <bholley> annevk: which tracker is it? w3?
- # [17:34] <annevk> bholley: there's a link at the top of the spec
- # [17:34] <bholley> annevk: ok, cool
- # [17:34] <annevk> bholley: https://www.w3.org/Bugs/Public/enter_bug.cgi?product=WebAppsWG&component=WebIDL
- # [17:34] <bholley> annevk: do you agree, btw?
- # [17:34] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [17:34] <annevk> bholley: don't really care about those ES5 features
- # [17:34] * Quits: tomasf (~tomasf@static-88.131.62.43.addr.tdcsong.se) (Ping timeout: 256 seconds)
- # [17:35] <bholley> annevk: so you don't mind just rejecting them for the DOM to give us more flexibility?
- # [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
- # [17:35] <annevk> bholley: right, I don't mind
- # [17:35] <bholley> annevk: k
- # [17:38] * Joins: lmcliste_ (~lmclister@192.150.10.209)
- # [17:41] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 272 seconds)
- # [17:42] <Domenic_> you can't stop Object.seal
- # [17:42] <Domenic_> You can stop preventExtensions
- # [17:42] <Domenic_> and thus stop that part of the freezing process
- # [17:42] <Domenic_> but you can always make a property non-configurable/non-writable, even proxies can't prevent that
- # [17:42] <Domenic_> annevk: ^
- # [17:43] <annevk> Domenic_: seems false in implementations
- # [17:43] <Domenic_> as in, DOM objects are not implementable with proxies?
- # [17:43] <annevk> In Gecko Object.seal(window) throws
- # [17:44] <annevk> Does not seem to throw in Chrome though
- # [17:47] <Domenic_> no i lied, you could make a proxy with a throwing defineOwnProperty trap
- # [17:47] <Domenic_> A bit unfortunate all platform objects would have to become proxies with overriden defineOwnProperty traps though
- # [17:48] <annevk> bholley: maybe you should request a hook for it, so we'd only use it on Node
- # [17:48] <annevk> well, and all the objects Node can hold, such as DOMTokenList
- # [17:49] <annevk> bholley: seems like this would be problematic once <input type=file>.files becomes an actual JS Array
- # [17:49] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
- # [17:50] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Ping timeout: 265 seconds)
- # [17:50] * annevk shakes fist at multiple globals
- # [17:51] <Domenic_> from what i'm reading you just want Node to be a proxy with a throwing preventExtensions trap?
- # [17:52] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
- # [17:52] <Domenic_> that would allow its proto to be changed later
- # [17:52] <annevk> Domenic_: not just Node, but everything attached to Node too
- # [17:52] <Domenic_> right :(
- # [17:52] <annevk> Domenic_: so there's no references to the other global
- # [17:53] * Joins: sgalineau (~sylvaing@sjfw1-b.adobe.com)
- # [17:55] * Joins: howcome (~howcome@ti0035a380-dhcp0091.bb.online.no)
- # [17:55] * Parts: howcome (~howcome@ti0035a380-dhcp0091.bb.online.no)
- # [17:56] <annevk> Yeah, browser engineering is pretty much sad times all the time. Fortunately the web is full of cats tripping themselves.
- # [17:57] <zewt> hard to take anyone seriously when they say "we talked about this before, read the notes from the f2f"
- # [17:58] * Krinkle is now known as Krinkle|detached
- # [18:00] <annevk> Well you can't really expect past stuff to be explained over and over again
- # [18:01] <jgraham> No, but saying "we discussed this in a meeting and you weren't invited" is pretty much like saying "fuck you"
- # [18:01] * Joins: frozenice (~frozenice@unaffiliated/fr0zenice)
- # [18:01] <jgraham> Even if there are notes
- # [18:01] <Domenic_> arv ^
- # [18:02] <annevk> jgraham: every JS decision I've seen is backed by plenty of mailing list debate which is open to all
- # [18:02] * Joins: hasather_ (~hasather@guest.schibsted.no)
- # [18:02] * Joins: cabanier (~cabanier@192.150.22.55)
- # [18:02] <annevk> jgraham: they should just move to async-decisions entirely, but the way the thing works it's pretty much async
- # [18:03] <jgraham> I agree that anyone can join in on the mailing list. But I stand by my point
- # [18:03] * Quits: hasather (~hasather@80.91.33.141) (Read error: Operation timed out)
- # [18:03] <annevk> jgraham: e.g. decision on promises was just reiterating what was already said async and then we moved on
- # [18:04] <gsnedders> annevk: Plenty of things around TC 39 are effectively finalized in F2F meetings, often with some arguments going totally unaddressed.
- # [18:05] * Joins: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net)
- # [18:05] <zewt> should I really be surprised that it's 2013 and browsers still apparently don't support resuming downloads?
- # [18:06] <annevk> gsnedders: if you notice that happening please raise it
- # [18:06] <annevk> gsnedders: that seems suboptimal
- # [18:06] <gsnedders> zewt: I thought they did? Just many servers don't support partial requests.
- # [18:06] * Quits: hasather_ (~hasather@guest.schibsted.no) (Ping timeout: 260 seconds)
- # [18:06] <jgraham> "ReferenceError: undefined_variable is not defined"
- # [18:06] <gsnedders> annevk: I haven't read es-discuss in ages, and don't really care nowadays.
- # [18:06] <zewt> downloading from nginx, which definitely does
- # [18:07] <annevk> gsnedders: okay, so things might have changed for the better
- # [18:07] <gsnedders> zewt: Are you sure the browser can tell the resource is unchanged?
- # [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.
- # [18:08] <zewt> not entirely, but it does have a correct Last-Modified
- # [18:08] <zewt> no ETag or cache headers though
- # [18:08] <gsnedders> annevk: And that was a year and a half ago or so?
- # [18:08] <gsnedders> zewt: Are resources cachable by default? I forget.
- # [18:08] <annevk> gsnedders: my experience is about five months :-)
- # [18:08] * Joins: erichynds (~erichynds@64.206.121.41)
- # [18:09] <zewt> i forget too, it's probably something akin to must-revalidate
- # [18:09] <annevk> (and I'm going to miss what would've been my third meeting)
- # [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.
- # [18:10] <gsnedders> annevk: And I attended no meetings, not working for a member. :)
- # [18:10] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
- # [18:10] * Joins: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
- # [18:11] <bholley> annevk: why can't we do it on any IDL-defined type?
- # [18:12] <annevk> bholley: so Domenic_ and others care for the ability to express platform APIs fully in terms of JS
- # [18:13] <annevk> bholley: overriding what Object.seal() and such do requires the usage of JS proxies to do that
- # [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
- # [18:14] <bholley> annevk: can DOM objects as they stand be implemented without proxies?
- # [18:14] <bholley> annevk: like nodes
- # [18:14] <bholley> annevk: as in - would this added requirement move it from possible to impossible?
- # [18:15] <gsnedders> bholley: Most of the DOM cannot. Some Nodes cans, others cannot.
- # [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
- # [18:15] <Domenic_> gsnedders: which nodes cannot? The only thing I can think of is document.all
- # [18:16] <Domenic_> gsnedders: oh nevermind misread
- # [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
- # [18:16] <gsnedders> Domenic_: My grammar is terrible. :)
- # [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
- # [18:17] <Domenic_> annevk: I think it's pretty fully worked out
- # [18:17] <bholley> annevk: at which point we should just disallow it for everything
- # [18:18] <annevk> bholley: well, consider e.g. my <input type=file>.files thing that will return a regular JS Array
- # [18:18] <annevk> bholley: or ele.query() which will return an JS Array subclass
- # [18:18] <annevk> bholley: the lines are blurring
- # [18:18] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
- # [18:19] <bholley> annevk: hm
- # [18:19] <bholley> annevk: it's true that they are
- # [18:19] <annevk> (btw, <input type=file> adoption could maybe just clear .files)
- # [18:19] <annevk> (and create a fresh array)
- # [18:20] <bholley> annevk: yeah. Are there any other cases where reparenting could theoretically involve reparenting a non-node?
- # [18:20] <bholley> I guess .style
- # [18:20] <annevk> also .classList
- # [18:21] <annevk> and .relList etc.
- # [18:21] <Domenic_> Wait isn't classList on the prototype
- # [18:21] <Domenic_> i.e. it's a getter that returns an internal representation
- # [18:21] <bholley> annevk: I would be opposed to leaving those things in the old scope
- # [18:21] <bholley> annevk: and just generating new ones
- # [18:21] <bholley> annevk: I don't think identity matters
- # [18:21] <bholley> annevk: er, sorry
- # [18:21] <bholley> annevk: _wouldn't_ be opposed
- # [18:21] <annevk> bholley: k
- # [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
- # [18:22] <annevk> bholley: same could be done for .style and friends
- # [18:22] <Domenic_> right, what i think i was getting at (still wrapping my head around this) is that the internal object would change
- # [18:23] <Domenic_> i should go prototype this in JS with weakmaps etc.
- # [18:23] <annevk> Domenic_: that'd be cool
- # [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?
- # [18:23] <Domenic_> ^ yeah that sounds nice
- # [18:23] <Domenic_> but similar haven't-followed-this problems
- # [18:24] * Quits: brion (~brion@wikipedia/pdpc.professional.brion) (Quit: brion)
- # [18:24] <annevk> jgraham: newDoc.appendChild(eleFromOldDoc); eleFromOldDoc.innerHTML = ...
- # [18:25] <annevk> Domenic_: ^
- # [18:25] <jgraham> annevk: You will have to elaborate a bit
- # [18:25] <Domenic_> what is that code supposed to illustrate, yeah...
- # [18:25] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Quit: Computer has gone to sleep.)
- # [18:26] <jgraham> Oh I see
- # [18:27] * Quits: lilmonkey` (~colin@pdpc/supporter/professional/riven) (Ping timeout: 246 seconds)
- # [18:28] <jgraham> Although you can imagine fixing that up with some sort of hack. Not that I'm advocating that or anything
- # [18:28] <annevk> That you cannot change identity
- # [18:28] <Domenic_> ahhh
- # [18:29] <Domenic_> what about if you threw when trying to adopt nodes that were extension-prevented
- # [18:29] * Joins: lilmonkey (~colin@pdpc/supporter/professional/riven)
- # [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
- # [18:30] <Domenic_> ReturnIfAbrupt, as they say ;) <-- funny only to me
- # [18:31] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 256 seconds)
- # [18:35] <annevk> bholley: ^
- # [18:35] * Joins: Areks_home (~Areks@95-26-125-162.broadband.corbina.ru)
- # [18:37] <bholley> annevk, Domenic_: there are other cases when we need to munge the prototype...
- # [18:37] <bholley> XBL/WebComponents
- # [18:37] <bholley> for example
- # [18:37] <Domenic_> sure, but presumably whatever operation needs to munge can just throw if the prototype is un-mungeable
- # [18:37] <bholley> potentially for document.open, but hopefully not
- # [18:37] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
- # [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
- # [18:38] * Quits: alecf (alecf@nat/google/x-fnxjktuqvrmvntvs) (Remote host closed the connection)
- # [18:38] <bholley> plugins
- # [18:39] * Joins: alecf (~alecf@216.239.45.68)
- # [18:39] * Quits: reyre (~reyre@66.207.208.102) (Remote host closed the connection)
- # [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?
- # [18:39] <bholley> Domenic_: I don't know, tbh. In Gecko, we mostly ignore preventExtensions on DOM nodes for the time being ;-)
- # [18:39] * Joins: reyre (~reyre@66.207.208.102)
- # [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.
- # [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
- # [18:42] <jgraham> Is EvalScript trident thing?
- # [18:42] <Domenic_> bholley: what is a C++ :P
- # [18:42] <bholley> it just seems like the DOM is hard enough to implement as-is
- # [18:43] * gsnedders very much wants JS to be able to implement the DOM
- # [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
- # [18:44] * Quits: reyre (~reyre@66.207.208.102) (Ping timeout: 272 seconds)
- # [18:45] <bholley> jgraham: my knight in shining armor
- # [18:45] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
- # [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.
- # [18:46] <gsnedders> s/would/we would/
- # [18:47] * Joins: alecf (~alecf@216.239.45.68)
- # [18:49] * Joins: malcolmva (~malcolmva@c-67-188-35-241.hsd1.ca.comcast.net)
- # [18:50] * Quits: malcolmva (~malcolmva@c-67-188-35-241.hsd1.ca.comcast.net) (Max SendQ exceeded)
- # [18:50] * Joins: malcolmva (~malcolmva@c-67-188-35-241.hsd1.ca.comcast.net)
- # [18:51] * Joins: jernoble|laptop (~jernoble@17.212.155.141)
- # [18:51] * Quits: jpn (~jpn@pickles.tp.telepac.pt) (Quit: jpn)
- # [18:57] <annevk> bholley: what's bad about routing the prototype sets through script?
- # [18:58] <bholley> annevk: there are places in which we need to munge prototypes where we cannot fail
- # [18:59] <bholley> annevk: for example, if we fail midway through reparenting, there's no way to recover
- # [18:59] <bholley> annevk: we have to crash
- # [18:59] <annevk> bholley: could you elaborate in the bug? I have to go :/
- # [18:59] <bholley> annevk: so historically, we haven't been able to let script just decide that certain prototypes are unmungeable
- # [18:59] <bholley> annevk: ok
- # [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.
- # [19:02] * Quits: annevk (~annevk@207.218.72.65) (Remote host closed the connection)
- # [19:03] * Joins: brion (~brion@wikipedia/pdpc.professional.brion)
- # [19:04] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)
- # [19:06] * Joins: nimbu (~nimbu@192.150.10.205)
- # [19:06] * Quits: nimbu (~nimbu@192.150.10.205) (Client Quit)
- # [19:07] * Joins: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
- # [19:07] * Joins: nimbu (~nimbu@192.150.10.205)
- # [19:11] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
- # [19:11] * Quits: vcarbune (~vcarbune@public-docking-pat-cx-mapped-0005.ethz.ch) (Quit: Leaving)
- # [19:12] * Joins: hasather (~hasather@80.91.33.113)
- # [19:13] * Quits: adactio (~adactio@212.42.170.181) (Quit: adactio)
- # [19:16] * Joins: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com)
- # [19:17] * Quits: hasather (~hasather@80.91.33.113) (Ping timeout: 240 seconds)
- # [19:17] * Joins: reyre (~reyre@66.207.208.102)
- # [19:20] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: Back to real life!)
- # [19:22] * Joins: weinig (~weinig@17.114.217.194)
- # [19:25] * Quits: astearns (~astearns@192.150.22.5) (Quit: astearns)
- # [19:25] * Joins: astearns (uid15080@gateway/web/irccloud.com/x-tbllqmsfyqiuksyb)
- # [19:28] * Joins: Karate_Boliviano (~Karate@190.245.43.219)
- # [19:31] * Quits: marcosc_ (~marcosc@bl7-234-35.dsl.telepac.pt) (Remote host closed the connection)
- # [19:31] * Quits: Karate (~Karate@190.245.43.219) (Ping timeout: 240 seconds)
- # [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
- # [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
- # [19:39] <zewt> and tons of protocols just assume TCP streams are never corrupted, so it causes all kinds of weirdness
- # [19:41] <Hixie_> wow
- # [19:41] <Hixie_> that's messed up
- # [19:41] <zewt> it's so messed up that when we call the ISP and they send a guy out, he just goes "???"
- # [19:44] * Joins: alecf (~alecf@216.239.45.68)
- # [19:47] * Joins: danbri (~danbri@207.218.72.66)
- # [19:48] * Quits: danbri (~danbri@207.218.72.66) (Remote host closed the connection)
- # [19:48] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
- # [19:48] <Hixie_> "???" as in, "what's wrong", or as in, "wtf this makes no sense" ?
- # [19:49] <zewt> he just had no idea
- # [19:49] <Hixie_> no idea what you meant, or what the cause was?
- # [19:49] <Hixie_> there's two kinds of confusion possible here :-)
- # [19:49] <zewt> he understood the problem after I explained it long enough, but he had no idea why it was happening
- # [19:50] <Hixie_> aah ok
- # [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
- # [19:50] * Joins: Ms2ger (~Ms2ger@193.190.253.150)
- # [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
- # [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.
- # [19:51] <smaug____> slightlyoff: we really need webidl spec for ServiceWorker (https://github.com/slightlyoff/ServiceWorker/issues/99#issuecomment-26440824)
- # [19:51] <smaug____> sooner than later
- # [19:51] <Hixie_> (not even _that_ much more expensive than residential service, it's pretty crazy)
- # [19:52] <smaug____> or JSIDL and some tool which converts JSIDL to WebIDL
- # [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
- # [19:52] * smaug____ doesn't understand this JSIDL stuff
- # [19:52] <Hixie_> oh the problem was gone by the time the tech got here in our case
- # [19:52] <Hixie_> he just rewired it all just in case
- # [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
- # [19:53] <Hixie_> btytes shifted around pretty much has to be their back-end, right?
- # [19:53] <Hixie_> i mean, it's not like a bad cable is gonna cause that
- # [19:53] <MikeSmith> smaug____: what is TS+tests?
- # [19:53] <MikeSmith> and is anybody actually working on making a JSIDL?
- # [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
- # [19:54] <sgalineau> IP checksums changing in flight? I'd call the NSA, not Time Warner :)
- # [19:54] <zewt> (which is to say, all equally unlikely)
- # [19:54] * Joins: danbri (~danbri@207.218.72.66)
- # [19:54] <MikeSmith> (I mean JSIDL at all for anything, as an alternative to WebIDL)
- # [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
- # [19:54] <smaug____> TS is ...that odd format to describe classes or interfaces
- # [19:54] <Hixie_> zewt: try swapping out the router for another?
- # [19:54] <smaug____> MikeSmith: yeah, I haven't see anything concrete on JSIDL
- # [19:55] <zewt> Hixie_: i meant their routers (it could be anywhere in their stack)
- # [19:55] <Hixie_> zewt: well yeah, but you have control over one of them :-)
- # [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)
- # [19:56] <sgalineau> zewt: man, that is twisted
- # [19:57] <Hixie_> get a replacement cable modem, swap it in, if it doesn't solve it, send it back :-)
- # [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
- # [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
- # [19:57] <smaug____> MikeSmith: very much so
- # [19:57] <smaug____> MikeSmith: TS == http://en.wikipedia.org/wiki/TypeScript
- # [19:58] <MikeSmith> ah that
- # [19:58] <zewt> if IP used CRC's it'd catch it, but IP is ... old
- # [19:58] <MikeSmith> TypeScript looks kind of nice
- # [20:00] <Hixie_> zewt: time to use https for everything :-P
- # [20:00] * Joins: nimbu1 (~nimbu@sjfw1-a.adobe.com)
- # [20:00] * Joins: ap (~ap@2620:149:4:304:1db5:cb23:a314:4177)
- # [20:01] * smaug____ is now known as smaug____afk
- # [20:02] * Quits: nimbu (~nimbu@192.150.10.205) (Ping timeout: 244 seconds)
- # [20:05] * Quits: danbri (~danbri@207.218.72.66) (Write error: Broken pipe)
- # [20:06] <zewt> Hixie_: i do--that's what led to me earlier wondering about browsers not resuming downloads
- # [20:06] * Quits: ImBcmDth (~Jon@oftn/member/ImBcmDth) (Quit: From my books surcease of sorrow, sorrow for the lost Lenore.)
- # [20:07] <zewt> https will kill the connection on error, but it won't automatically recover
- # [20:07] <Hixie_> ah
- # [20:08] * Joins: ImBcmDth (~Jon@oftn/member/ImBcmDth)
- # [20:11] * Joins: lilmonkey` (~colin@pdpc/supporter/professional/riven)
- # [20:13] * Quits: ImBcmDth (~Jon@oftn/member/ImBcmDth) (Read error: Connection reset by peer)
- # [20:14] * Joins: ImBcmDth (~Jon@oftn/member/ImBcmDth)
- # [20:14] * Quits: lilmonkey (~colin@pdpc/supporter/professional/riven) (Ping timeout: 268 seconds)
- # [20:26] * Quits: tobie (~tobielang@154-170.192-178.cust.bluewin.ch) (Quit: tobie)
- # [20:33] * Joins: rniwa (~rniwa@17.212.154.114)
- # [20:58] * Quits: erichynds (~erichynds@64.206.121.41)
- # [21:01] * Joins: erichynds (~erichynds@64.206.121.41)
- # [21:02] * Quits: erichynds (~erichynds@64.206.121.41) (Client Quit)
- # [21:02] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [21:02] * Quits: nimbu1 (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [21:03] * Joins: rxgx (~rxgx@wsip-68-107-216-98.ph.ph.cox.net)
- # [21:04] * Joins: erichynds (~erichynds@64.206.121.41)
- # [21:06] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
- # [21:11] * Joins: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net)
- # [21:12] * Joins: ronaldmansveld_ (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl)
- # [21:12] * Joins: alecf (~alecf@216.239.45.68)
- # [21:13] * Quits: ronaldmansveld (~ronaldman@5ED3A951.cm-7-4c.dynamic.ziggo.nl) (Ping timeout: 272 seconds)
- # [21:14] * Joins: Kolombiken (~Adium@94.137.124.2)
- # [21:16] * Quits: sgalineau (~sylvaing@sjfw1-b.adobe.com) (Read error: Connection reset by peer)
- # [21:17] * Quits: Kolombiken (~Adium@94.137.124.2) (Read error: Connection reset by peer)
- # [21:17] * Joins: Kolombiken (~Adium@94.137.124.2)
- # [21:20] * Quits: alecf (~alecf@216.239.45.68) (Quit: alecf)
- # [21:20] * smaug____afk is now known as smaug____
- # [21:20] * Quits: smaug____ (~chatzilla@cs164155.pp.htv.fi) (Quit: Reconnecting…)
- # [21:20] * Joins: smaug____ (~chatzilla@cs164155.pp.htv.fi)
- # [21:22] * Quits: Kolombiken (~Adium@94.137.124.2) (Ping timeout: 272 seconds)
- # [21:22] * ronaldmansveld_ is now known as ronaldmansveld
- # [21:24] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [21:25] * Joins: alecf (~alecf@216.239.45.68)
- # [21:26] <smaug____> Ms2ger: thanks
- # [21:28] * Joins: josemanuel (~josemanue@101.Red-79-145-246.dynamicIP.rima-tde.net)
- # [21:29] * Quits: alecf (~alecf@216.239.45.68) (Client Quit)
- # [21:32] * Quits: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net) (Quit: sicking)
- # [21:32] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
- # [21:34] * Joins: alecf (~alecf@216.239.45.68)
- # [21:36] * Quits: alecf (~alecf@216.239.45.68) (Client Quit)
- # [21:38] * Joins: alecf (~alecf@216.239.45.68)
- # [21:38] * Quits: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net) (Read error: Connection reset by peer)
- # [21:38] * Quits: alecf (~alecf@216.239.45.68) (Client Quit)
- # [21:40] * Joins: alecf (~alecf@216.239.45.68)
- # [21:42] * Joins: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net)
- # [21:43] * Quits: josemanuel (~josemanue@101.Red-79-145-246.dynamicIP.rima-tde.net) (Quit: Saliendo)
- # [21:46] * Joins: marcosc (~marcosc@bl7-234-35.dsl.telepac.pt)
- # [21:52] * Quits: weinig (~weinig@17.114.217.194) (Quit: weinig)
- # [21:52] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [21:58] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
- # [22:02] * Quits: erichynds (~erichynds@64.206.121.41)
- # [22:02] * Quits: frozenice (~frozenice@unaffiliated/fr0zenice) (Remote host closed the connection)
- # [22:03] * Joins: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net)
- # [22:05] * Quits: Karate_Boliviano (~Karate@190.245.43.219) (Read error: Connection reset by peer)
- # [22:06] * Joins: Karate_Boliviano (~Karate@190.245.43.219)
- # [22:12] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
- # [22:13] * Quits: Ms2ger (~Ms2ger@193.190.253.150) (Ping timeout: 245 seconds)
- # [22:16] * Joins: sgalineau (~sylvaing@192.150.10.204)
- # [22:19] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 240 seconds)
- # [22:20] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Ping timeout: 260 seconds)
- # [22:24] * Joins: nimbu (~nimbu@192.150.10.205)
- # [22:24] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Quit: Leaving.)
- # [22:25] * Quits: TallTed (~Thud@63.119.36.36) (Read error: Connection reset by peer)
- # [22:25] * Joins: arunranga (~otherarun@cpe-74-73-238-8.nyc.res.rr.com)
- # [22:27] * Joins: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [22:29] * Joins: weinig (~weinig@17.114.217.194)
- # [22:30] * Quits: weinig (~weinig@17.114.217.194) (Client Quit)
- # [22:32] * Joins: jreading1 (~Adium@ip98-169-193-48.dc.dc.cox.net)
- # [22:32] * Quits: Karate_Boliviano (~Karate@190.245.43.219) (Read error: Connection reset by peer)
- # [22:35] * Quits: jreading (~Adium@ip98-169-193-48.dc.dc.cox.net) (Ping timeout: 245 seconds)
- # [22:35] * Joins: weinig (~weinig@17.114.5.5)
- # [22:40] * Joins: annevk (~annevk@2.31.25.160)
- # [22:42] * Joins: jacobolus (~jacobolus@173-228-85-240.dsl.dynamic.sonic.net)
- # [22:43] * Quits: Areks_home (~Areks@95-26-125-162.broadband.corbina.ru) (Ping timeout: 272 seconds)
- # [22:48] * Quits: alecf (~alecf@216.239.45.68) (Remote host closed the connection)
- # [22:52] * Joins: alecf (~alecf@216.239.45.68)
- # [22:59] * Joins: tantek (~tantek@mce2d36d0.tmodns.net)
- # [23:01] <annevk> MikeSmith: JSIDL lacks resources, so we'll continue to work on IDL and address the ES6 requirements there
- # [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
- # [23:02] <annevk> MikeSmith: including moving the thing to GitHub and such
- # [23:02] * Quits: weinig (~weinig@17.114.5.5) (Quit: weinig)
- # [23:03] * Quits: reyre (~reyre@66.207.208.102) (Remote host closed the connection)
- # [23:07] <annevk> slightlyoff: cool cool, sounds good
- # [23:07] * Quits: tantek (~tantek@mce2d36d0.tmodns.net) (Ping timeout: 272 seconds)
- # [23:07] <annevk> slightlyoff: I'll post updates once I've integrated Fetch into XMLHttpRequest
- # [23:10] * Quits: Smylers (~smylers@host86-147-26-73.range86-147.btcentralplus.com) (Quit: Leaving.)
- # [23:13] * Quits: umgrosscol (~umgrossco@grosscol.umdl.umich.edu) (Quit: Nettalk6 - www.ntalk.de)
- # [23:16] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Quit: ZNC - http://znc.in)
- # [23:19] * Quits: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
- # [23:20] * Joins: danbri (~danbri@87.115.71.180)
- # [23:23] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
- # [23:24] <smaug____> annevk: is it still very much unclear to me what is wrong with webidl and what jsidl will change
- # [23:27] <annevk> smaug____: I think the primary change would be to describe the platform in terms of JavaScript rather than IDL types
- # [23:27] <smaug____> well, that doesn't say much about how the APIs would change in practice
- # [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
- # [23:29] * Quits: danbri (~danbri@87.115.71.180) (Remote host closed the connection)
- # [23:29] <smaug____> "better patterns" tends to be vague
- # [23:30] <smaug____> there needs to be some reasoning to do Foo and not Bar
- # [23:30] <annevk> smaug____: again, the high-level reason is describing the entire platform in terms of JavaScript and making it self-hostable
- # [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...
- # [23:32] * Joins: weinig (~weinig@17.114.5.5)
- # [23:32] <smaug____> I guess the question I have is that how does that help users of the APIs or implementors
- # [23:33] * Joins: newtron_ (~newtron@199.71.174.202)
- # [23:33] <smaug____> webidl is kind of a nice abstract layer above raw JS
- # [23:33] <annevk> smaug____: the idea is that APIs become more extensible than they are now
- # [23:34] <annevk> smaug____: e.g. classes become subclassable, just like built-ins are in ES6
- # [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
- # [23:34] <smaug____> hmm, hard to say much about better syntax without seeing any proposals
- # [23:34] <annevk> smaug____: for implementers it's mostly a cost I suppose, because the ES6-style world with subclassing is vastly more complex
- # [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
- # [23:36] * Quits: weinig (~weinig@17.114.5.5) (Client Quit)
- # [23:36] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 272 seconds)
- # [23:36] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
- # [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
- # [23:37] <annevk> smaug____: one change, which we're planning on making in IDL too, is to have distinction between class and interface
- # [23:37] <zcorpan> and i don't understand the recommendation to use aria-labelledby
- # [23:37] * Quits: newtron_ (~newtron@199.71.174.202) (Ping timeout: 272 seconds)
- # [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
- # [23:38] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
- # [23:38] <smaug____> right
- # [23:39] <smaug____> annevk: this all comes mainly from ServiceWorker stuff
- # [23:39] <smaug____> implementors implementing API which doesn't exist
- # [23:39] * Quits: rxgx (~rxgx@wsip-68-107-216-98.ph.ph.cox.net) (Quit: timeout)
- # [23:39] <annevk> smaug____: jdm worked out some IDL for ServiceWorker
- # [23:39] <smaug____> good
- # [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
- # [23:40] <annevk> smaug____: less travel is one of my 2014 goals now
- # [23:40] * Quits: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net) (Quit: sicking)
- # [23:40] <smaug____> ha
- # [23:43] * Joins: weinig (~weinig@17.114.217.194)
- # [23:45] * Quits: madcorp (~zf@pagane.virtunea.net) (Quit: Leaving)
- # [23:45] * Joins: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net)
- # [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* ....)
- # [23:49] <Hixie_> sounds weird
- # [23:49] <Hixie_> how about DOMRectView or something like that?
- # [23:49] <Hixie_> or DOMRect and MutableDOMRect
- # [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
- # [23:52] * Joins: sicking (~sicking@v-1045.fw1.sfo1.mozilla.net)
- # [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
- # [23:53] <Hixie_> then i'd go with DOMRect and DOMRectReadOnly
- # [23:53] <Hixie_> it's read-only, even if it can change
- # [23:54] <Domenic_> O_o
- # [23:54] <Hixie_> look at the readonly attributes in the DOM
- # [23:54] <Hixie_> most of them can change too
- # [23:54] <Domenic_> O__o
- # [23:55] <Hixie_> like firstChild
- # [23:55] <Hixie_> that's a readonly attribute
- # [23:55] <Hixie_> but if you change the DOM, it returns a different object
- # [23:55] <Hixie_> or NodeList.length
- # [23:55] <Domenic_> it sounds like a getter, not something that's read-only.
- # [23:55] <Hixie_> or formElement.validationMessage
- # [23:55] <Domenic_> since obviously it's being written.
- # [23:55] * Quits: brion (~brion@wikipedia/pdpc.professional.brion) (Quit: brion)
- # [23:56] <Hixie_> i'm just saying that the IDL for these attributes reads "readonly attribute ..."
- # [23:56] <Domenic_> Right, and to that I say O__o
- # [23:56] <Domenic_> ^ things JSIDL could fix
- # [23:56] <Hixie_> a readonly text field can change even while it's readonly
- # [23:57] <Domenic_> O___o
- # [23:57] <Hixie_> readonly doesn't mean "immutable", it means "can't be changed by you"
- # [23:57] <Domenic_> read only means you can only read it
- # [23:57] <Hixie_> right
- # [23:57] <Hixie_> YOU can only read it
- # [23:57] * Quits: bholley (~bholley@195-132-112-181.rev.numericable.fr) (Quit: bholley)
- # [23:58] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
- # Session Close: Thu Oct 17 00:00:00 2013
The end :)