Options:
- # Session Start: Mon Nov 19 00:00:00 2012
- # Session Ident: #whatwg
- # [00:03] * Quits: cgcardona (~cgcardona@unaffiliated/cgcardona) (Quit: cgcardona)
- # [00:03] <annevk> zewt: I doubt browsers sniff on filename actually, be interesting to see a testcase for that (outside the limited case for plugins the HTML spec does require it for)
- # [00:03] * Quits: mattgiff_ (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [00:03] <annevk> GPHemsley: zewt is right that we only want to list things which can be tested
- # [00:03] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [00:03] <annevk> GPHemsley: I think some browsers might have postscript support, or maybe it's important to detect postscript so it doesn't get detected as something else?
- # [00:04] <zewt> annevk: they do for the "figure out whether to open with an external program, save to disk, prompt the user, etc." path
- # [00:04] <zewt> i don't know of any for file types supported *internally* by browsers
- # [00:04] <SimonSapin> gsnedders: for new projects I prefer running in 2 and 3 with the same code base
- # [00:04] <SimonSapin> but porting existing code to that can be painful
- # [00:04] <annevk> zewt: ah yeah, the UI layer might be broken
- # [00:04] <annevk> zewt: well, "broken"
- # [00:05] <annevk> but in any event the UI layer is outside our jurisdiction
- # [00:05] <SimonSapin> https://github.com/mitsuhiko/python-modernize can help
- # [00:05] <gsnedders> SimonSapin: That's always harder for things where you have complex encoding boundaries, in my experience
- # [00:06] <SimonSapin> yeah it can be hard, but once the switch is done everything is so much easier than running 2to3 (sloooooow) all the time
- # [00:07] * Quits: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
- # [00:07] <SimonSapin> but of course every project is different
- # [00:07] * Quits: danzik17 (~danzik17@pool-108-27-218-42.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
- # [00:07] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 248 seconds)
- # [00:07] <gsnedders> I think there are sufficently few changes made that that isn't a problem :P
- # [00:08] <SimonSapin> night time. ’later
- # [00:08] <gsnedders> gn
- # [00:09] <annevk> gsnedders: how many more years of studying?
- # [00:09] <gsnedders> annevk: 1.5
- # [00:09] <annevk> then you come back to us or are you going to do something new?
- # [00:10] <gsnedders> "us"? the web?
- # [00:10] <annevk> uhuh
- # [00:10] <gsnedders> I guess.
- # [00:11] * Joins: danzik17 (~danzik17@127.sub-70-192-81.myvzw.com)
- # [00:13] * Quits: SimonSapin (~simon@85-170-128-18.rev.numericable.fr) (Ping timeout: 260 seconds)
- # [00:20] * Joins: cgcardona (~cgcardona@c-24-4-198-207.hsd1.ca.comcast.net)
- # [00:20] * Quits: cgcardona (~cgcardona@c-24-4-198-207.hsd1.ca.comcast.net) (Changing host)
- # [00:20] * Joins: cgcardona (~cgcardona@unaffiliated/cgcardona)
- # [00:20] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [00:28] <annevk> btw, I was thinking of writing a blog post / email announcing all the new stuff on /specs/ one of these days
- # [00:28] <annevk> if people have suggestions, let me know, or leave them here for me to read later
- # [00:29] * Quits: SamB_MacG5 (~SamB@2001:470:1f07:57:211:24ff:feaa:27a) (Ping timeout: 260 seconds)
- # [00:30] * Joins: SamB_MacG5 (~SamB@2001:470:1f07:57:211:24ff:feaa:27a)
- # [00:31] <GPHemsley> annevk: Can you elaborate on your reference to WEBVTT and CACHE MANIFEST?
- # [00:32] <GPHemsley> Also, why do we have RAR, ZIP, and GZIP in the list, anyway?
- # [00:32] <GPHemsley> given what you've said
- # [00:33] <GPHemsley> and if you only detect the other things as specced, there's no need to sniff postscript separately
- # [00:33] <GPHemsley> as protection
- # [00:33] <GPHemsley> but abarth's article also discussed sniffing from a file upload perspective, too
- # [00:33] <GPHemsley> so I wonder if that's related and if that should be in the spec
- # [00:34] <GPHemsley> (server-side sniffing)
- # [00:34] <annevk> GPHemsley: http://dev.w3.org/html5/webvtt/#webvtt-file-body has a required file signature, http://www.whatwg.org/specs/web-apps/current-work/#writing-cache-manifests does too
- # [00:34] <GPHemsley> right, but how does that relate to the current spec?
- # [00:34] <GPHemsley> i.e. mimesniff
- # [00:35] <annevk> GPHemsley: I meant that if we want a registry for file signatures important to the platform, which is pretty much mime sniff, we might want to mention these somehow too
- # [00:35] <GPHemsley> ah
- # [00:35] <GPHemsley> ok
- # [00:35] <annevk> GPHemsley: maybe Safari supports postscript?
- # [00:35] <GPHemsley> so that was a separate thing, then?
- # [00:35] <GPHemsley> I don't think so, but let me check
- # [00:35] <annevk> GPHemsley: I had not considered file upload, for file upload the Content-Type header user agents set does matter for interoperability
- # [00:36] <annevk> GPHemsley: that seems related to defining multipart/form-data, which we haven't fixed either yet
- # [00:36] <annevk> GPHemsley: yes, the file signature registry was a separate thing
- # [00:37] <GPHemsley> well, you didn't mention it in the context of a registry this most recent time
- # [00:37] <GPHemsley> but ok
- # [00:39] <GPHemsley> Opera and Chrome sniff postscript
- # [00:39] <GPHemsley> but don't parse it
- # [00:39] <GPHemsley> Safari and Firefox do not sniff it
- # [00:40] <GPHemsley> (and treat my test file as plaintext)
- # [00:40] <GPHemsley> http://whatwg.gphemsley.org/tests/mimesniff/application/postscript/PS-Adobe-
- # [00:40] <GPHemsley> incidentally, when Opera and Chrome prompt for download, they automatically add a .ps extension
- # [00:40] <annevk> my Minefield.app says postscript
- # [00:41] <GPHemsley> really? where?
- # [00:41] <zewt> browsers that aren't IE messing with filenames? gross
- # [00:41] <annevk> GPHemsley: offers a download dialog
- # [00:41] <zewt> thought that was just an IE evil :|
- # [00:41] <GPHemsley> oh
- # [00:41] <GPHemsley> shoot
- # [00:42] <GPHemsley> I might have cached it
- # [00:42] <GPHemsley> looks like you're right
- # [00:42] <GPHemsley> ok
- # [00:42] <zewt> actually i vaguely recall something about old safari adding .zip (the most common completely-broken-renaming-behavior), but that was a long time ago
- # [00:42] <annevk> and Safari opens it directly
- # [00:42] <annevk> as a postscript file
- # [00:42] <annevk> inline
- # [00:42] <GPHemsley> really?
- # [00:42] <GPHemsley> hmm
- # [00:42] <zewt> (since .zip is probably the single most widely repurposed file format)
- # [00:42] <GPHemsley> need a real file to test that
- # [00:43] <GPHemsley> bbl, dinner
- # [00:43] <zewt> (well, unless you consider "text file" to be a file format, which I don't think I do, any more than "binary file" is a file format)
- # [00:43] <annevk> I'm gonna sleep, ttyl
- # [00:43] * Quits: malydok (marek@156.17.232.100) (Quit: Farewell)
- # [00:43] <annevk> GPHemsley: fwiw, displaying as "text/plain" versus offering a download dialog does seem like a potential interoperability issue and something we should tackle, though it's not really clear to me that's the case here
- # [00:47] * Quits: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net) (Quit: Computer has gone to sleep.)
- # [00:49] * Joins: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net)
- # [00:51] * Quits: Lachy (~Lachy@cm-84.215.19.229.getinternet.no) (Quit: Computer has gone to sleep.)
- # [00:56] <annevk> TabAtkins: hmm yeah, url.query = new URLQuery(...) might be nice
- # [00:56] <annevk> TabAtkins: guess I should work with heycam|away to get the necessary IDL hooks
- # [00:59] <annevk> TabAtkins: also note that http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets does not account for setting to a list
- # [01:00] <annevk> TabAtkins: other than that the current proposal should map pretty closely
- # [01:00] * Quits: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net) (Quit: Computer has gone to sleep.)
- # [01:00] * Joins: boogyman (~boogy@pdpc/supporter/professional/boogyman)
- # [01:01] <annevk> TabAtkins: and given that we have duplicate keys, I was thinking delete(key, val) might be nice too next to having delete(key)
- # [01:02] <GPHemsley> annevk: No, I think it was a side effect of the file originally having different headers sent.
- # [01:02] <GPHemsley> (which were cached on my primary browser)
- # [01:03] <annevk> no?
- # [01:03] <GPHemsley> it seems that they all prompt to download
- # [01:03] <GPHemsley> (at least Firefox doesn't append a file extension, AFAICT)
- # [01:04] <annevk> are you using Safari on Mac?
- # [01:04] <annevk> doesn't download for me
- # [01:04] <GPHemsley> except Safari
- # [01:05] <annevk> ah okay, by "No" you indicated agreement with my observations?
- # [01:05] <GPHemsley> yeah; I was disagreeing with your interop statement
- # [01:05] <annevk> what statement?
- # [01:05] <GPHemsley> how do I check the type/headers in Safari?
- # [01:05] <GPHemsley> [18:40:21] <annevk> GPHemsley: fwiw, displaying as "text/plain" versus offering a download dialog does seem like a potential interoperability issue and something we should tackle, though it's not really clear to me that's the case here
- # [01:06] <annevk> well yeah, it's not the case here, but why would you disagree with that in general?
- # [01:06] <GPHemsley> agreeing/disagreeing
- # [01:06] <GPHemsley> blame the English language
- # [01:06] <annevk> bedtime, it seems :)
- # [01:06] <GPHemsley> :)
- # [01:07] * Joins: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net)
- # [01:08] <GPHemsley> I think we do need to come up with a metric for deciding what needs to go in the mimesniff spec and what can be elsewhere
- # [01:09] * Quits: danzik17 (~danzik17@127.sub-70-192-81.myvzw.com) (Ping timeout: 246 seconds)
- # [01:14] * Joins: dydx (~dydz@108-78-254-162.lightspeed.sntcca.sbcglobal.net)
- # [01:32] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Quit: MikeSmith)
- # [01:43] * Quits: boogyman (~boogy@pdpc/supporter/professional/boogyman) (Quit: ChatZilla 0.9.89 [Firefox 16.0.2/20121024073032])
- # [01:44] <GPHemsley> hmm... cache manifest is going to be a little complex to handle in the current styling, given the allowance of an optional BOM
- # [01:45] <GPHemsley> oh, same with WebVTT
- # [01:45] <GPHemsley> hmm
- # [01:54] * Joins: Yuhong (~chatzilla@S01060019d1e384a3.vc.shawcable.net)
- # [01:55] <Yuhong> <annevk> Yuhong: I want IE to drop support for EOT in the end
- # [01:56] <Yuhong> Actually, they do sometimes do things like this, but notice they disabled it by default only in the Internet zone and allow it to be reenabled:
- # [01:56] <Yuhong> http://blogs.msdn.com/b/ie/archive/2012/06/04/legacy-dx-filters-removed-from-ie10-release-preview.aspx
- # [02:01] * Joins: MikeSmith (~MikeSmith@p21225-ipngn4002marunouchi.tokyo.ocn.ne.jp)
- # [02:06] * Quits: Yuhong (~chatzilla@S01060019d1e384a3.vc.shawcable.net) (Quit: ChatZilla 0.9.89 [Firefox 16.0.2/20121024073032])
- # [02:10] * Joins: dedis7 (~dedis7@akw403.cs.yale.edu)
- # [02:11] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [02:18] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [02:18] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [02:18] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [02:19] * Quits: dedis7 (~dedis7@akw403.cs.yale.edu) (Remote host closed the connection)
- # [02:23] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 255 seconds)
- # [02:32] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 260 seconds)
- # [02:34] * Joins: danzik17 (~danzik17@ool-45787007.dyn.optonline.net)
- # [02:42] * Joins: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [02:42] * Joins: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net)
- # [02:53] * Quits: divya (~nimbu@c-67-169-39-98.hsd1.ca.comcast.net) (Quit: Leaving.)
- # [02:58] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [03:00] * Joins: tantek (~tantek@173-228-64-81.dsl.dynamic.sonic.net)
- # [03:11] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [03:14] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [03:16] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [03:16] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [03:24] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [03:27] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [03:28] * Joins: snowfox_ben (~benschaaf@c-98-243-88-119.hsd1.mi.comcast.net)
- # [03:30] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Client Quit)
- # [03:32] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [03:33] * Joins: zztr (~travis@adsl-75-18-209-222.dsl.pltn13.sbcglobal.net)
- # [03:33] * Joins: _divya (~Adium@c-67-169-39-98.hsd1.ca.comcast.net)
- # [03:39] * Joins: marcosc_ (~marcosc@bl11-211-109.dsl.telepac.pt)
- # [03:41] * Quits: marcosc (~marcosc@bl7-53-124.dsl.telepac.pt) (Ping timeout: 246 seconds)
- # [03:49] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [03:51] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [03:57] * Quits: eric_carlson (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Quit: eric_carlson)
- # [03:58] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [04:00] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [04:09] * Quits: nessy (~silviapf@124-170-210-26.dyn.iinet.net.au) (Quit: Leaving.)
- # [04:20] * Joins: jsoncorwin (~textual@67.sub-70-199-67.myvzw.com)
- # [04:20] * heycam|away is now known as heycam
- # [04:23] * Joins: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
- # [04:25] * Quits: jacobolu_ (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Remote host closed the connection)
- # [04:31] * Quits: jsoncorwin (~textual@67.sub-70-199-67.myvzw.com) (Quit: Computer has gone to sleep.)
- # [04:32] * Quits: MikeSmith (~MikeSmith@p21225-ipngn4002marunouchi.tokyo.ocn.ne.jp) (Quit: MikeSmith)
- # [04:57] * Joins: jsoncorwin (~textual@17.sub-70-199-66.myvzw.com)
- # [04:59] * Quits: kennyluck (~kennyluck@bb115-66-236-93.singnet.com.sg) (Quit: kennyluck)
- # [05:06] * Quits: [[zz]] (~q@node-ogs.pool-101-108.dynamic.totbb.net) (Read error: Connection reset by peer)
- # [05:07] * Joins: [[zz]] (~q@node-9wt.pool-125-25.dynamic.totbb.net)
- # [05:19] * Joins: plutoniix (~plutoniix@node-1au6.pool-125-24.dynamic.totbb.net)
- # [05:30] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
- # [05:34] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [05:34] * Quits: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net) (Quit: chriseppstein)
- # [05:36] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [05:43] * Joins: kennyluck (~kennyluck@bb115-66-236-93.singnet.com.sg)
- # [05:46] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [05:47] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [05:47] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [05:53] * Quits: jsoncorwin (~textual@17.sub-70-199-66.myvzw.com) (Ping timeout: 255 seconds)
- # [05:54] * Quits: tantek (~tantek@173-228-64-81.dsl.dynamic.sonic.net) (Quit: tantek)
- # [05:55] * Joins: magistr (~magistr@109.111.174.36)
- # [05:56] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [05:56] * Quits: OnlyMax (~OnlyMax@187-126-223-141.user.veloxzone.com.br) (Ping timeout: 244 seconds)
- # [05:56] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [05:57] * Joins: jsoncorwin (~textual@157.sub-70-199-69.myvzw.com)
- # [06:01] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 260 seconds)
- # [06:06] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [06:09] * Quits: dydx (~dydz@108-78-254-162.lightspeed.sntcca.sbcglobal.net) (Quit: dydx)
- # [06:09] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [06:11] * Quits: jsoncorwin (~textual@157.sub-70-199-69.myvzw.com) (Quit: Computer has gone to sleep.)
- # [06:12] * Quits: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
- # [06:14] * Joins: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net)
- # [06:15] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [06:15] * Joins: ap_ (~ap@c-98-234-180-13.hsd1.ca.comcast.net)
- # [06:16] * ap_ is now known as ap
- # [06:16] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Quit: Leaving)
- # [06:17] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [06:19] * Quits: snowfox_ben (~benschaaf@c-98-243-88-119.hsd1.mi.comcast.net) (Quit: snowfox_ben)
- # [06:39] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [06:39] * Quits: ap (~ap@c-98-234-180-13.hsd1.ca.comcast.net) (Quit: ap)
- # [06:47] * Parts: _divya (~Adium@c-67-169-39-98.hsd1.ca.comcast.net)
- # [07:14] * Joins: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net)
- # [07:18] * Joins: nessy (~silviapf@124-170-210-26.dyn.iinet.net.au)
- # [07:22] * Quits: nessy (~silviapf@124-170-210-26.dyn.iinet.net.au) (Ping timeout: 255 seconds)
- # [07:22] * Joins: nessy (~silviapf@124-169-147-242.dyn.iinet.net.au)
- # [07:24] * Quits: plutoniix (~plutoniix@node-1au6.pool-125-24.dynamic.totbb.net) (Ping timeout: 246 seconds)
- # [07:35] * Quits: danzik17 (~danzik17@ool-45787007.dyn.optonline.net) (Ping timeout: 246 seconds)
- # [07:37] * Quits: wakaba (~wakaba@119.22.102.121.dy.bbexcite.jp) (Read error: Connection reset by peer)
- # [07:37] * Joins: plutoniix (~plutoniix@node-1ob.pool-182-52.dynamic.totbb.net)
- # [07:37] * Joins: wakaba (~wakaba@119.22.102.121.dy.bbexcite.jp)
- # [07:41] * Joins: Jedi_ (~Jedi@jedi.org)
- # [07:47] <sangwhan> ls
- # [07:47] * sangwhan oops
- # [07:59] <karlcow> aha
- # [08:00] * Joins: SimonSapin (~simon@85-170-128-18.rev.numericable.fr)
- # [08:09] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [08:09] * Joins: jacobolus (~jacobolus@99-127-228-11.lightspeed.sntcca.sbcglobal.net)
- # [08:13] * Quits: jacobolus (~jacobolus@99-127-228-11.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
- # [08:15] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [08:16] * Quits: zztr (~travis@adsl-75-18-209-222.dsl.pltn13.sbcglobal.net) (Quit: Leaving.)
- # [08:19] * Joins: jacobolus (~jacobolus@99-127-228-11.lightspeed.sntcca.sbcglobal.net)
- # [08:21] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [08:23] * Joins: Ducki (~Ducki@pD9E3981C.dip0.t-ipconnect.de)
- # [08:24] * Quits: jacobolus (~jacobolus@99-127-228-11.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
- # [08:26] * Joins: Jedi__ (~Jedi@jedi.org)
- # [08:26] * Quits: Jedi_ (~Jedi@jedi.org) (Ping timeout: 255 seconds)
- # [08:28] * Quits: magistr (~magistr@109.111.174.36) (Remote host closed the connection)
- # [08:29] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [08:34] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [08:34] * Jedi__ is now known as Jedi_
- # [08:37] * Joins: CyclicFlux (~cyclicflu@96.244.70.179)
- # [08:38] * Joins: jsoncorwin (~textual@105.sub-70-199-67.myvzw.com)
- # [08:40] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
- # [08:42] * Quits: SimonSapin (~simon@85-170-128-18.rev.numericable.fr) (Ping timeout: 252 seconds)
- # [08:43] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [08:44] * Quits: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net) (Quit: Leaving.)
- # [08:47] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [08:47] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [08:50] * Joins: henrikkok (~henrikkok@81.27.221.193)
- # [08:55] * Quits: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net) (Quit: bholley)
- # [08:58] <zcorpan> http://www.alvestrand.no/pipermail/idna-update/2012-November/007482.html
- # [09:10] * Joins: sedovsek (~robert@89.143.12.238)
- # [09:11] * Quits: sedovsek (~robert@89.143.12.238) (Client Quit)
- # [09:12] <MikeSmith> zcorpan: wow
- # [09:14] * Joins: didymos (~didymos@5.57.48.69)
- # [09:14] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [09:16] * Joins: sedovsek (~robert@89.143.12.238)
- # [09:21] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [09:22] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [09:23] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [09:23] * Joins: SimonSapin (~simon@2a01:e35:2e8d:b5f0:ea9d:87ff:fe22:e221)
- # [09:27] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 255 seconds)
- # [09:30] * Quits: foolip (~philip@83.218.67.122) (Quit: Ex-Chat)
- # [09:31] * Joins: darobin (~darobin@78.109.80.74)
- # [09:39] <zcorpan> MikeSmith: indeed
- # [09:46] * Joins: shwetank (~shwetank@122.173.145.84)
- # [09:48] * Joins: Robbert_ (~robbert@212.238.236.229)
- # [09:49] * Joins: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net)
- # [09:51] * Joins: auchenbe_ (~auchenber@176.222.239.226)
- # [09:53] <annevk> GPHemsley: you don't take BOM into account for HTML?
- # [09:54] * Quits: auchenberg (~auchenber@176.222.239.226) (Ping timeout: 265 seconds)
- # [09:55] * Quits: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com) (Quit: JonathanNeal)
- # [10:00] * Joins: Ms2ger (~Ms2ger@vpnf025.ugent.be)
- # [10:03] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # [10:07] * Joins: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net)
- # [10:08] * Quits: jsoncorwin (~textual@105.sub-70-199-67.myvzw.com) (Quit: Computer has gone to sleep.)
- # [10:16] * Quits: didymos (~didymos@5.57.48.69) (Quit: Computer has gone to sleep)
- # [10:16] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
- # [10:26] * Joins: Lachy (~Lachy@cm-84.215.19.229.getinternet.no)
- # [10:27] * heycam is now known as heycam|away
- # [10:29] * Joins: magistr (~magistr@109.111.174.36)
- # [10:32] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [10:33] * Quits: Robbert_ (~robbert@212.238.236.229) (Remote host closed the connection)
- # [10:40] * Joins: didymos (~didymos@5.57.48.69)
- # [10:42] * Quits: plutoniix (~plutoniix@node-1ob.pool-182-52.dynamic.totbb.net) (Read error: No route to host)
- # [10:43] <zcorpan> heycam: <p><div></div></p> is actually <p></p><div></div><p></p>
- # [10:43] * Joins: cheron (~cheron@unaffiliated/cheron)
- # [10:47] * Quits: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl) (Remote host closed the connection)
- # [10:47] <zcorpan> annevk: http://krijnhoetmer.nl/irc-logs/whatwg/20121118#l-136 doesn't seem right.
- # [10:48] * Joins: foolip (~philip@node-7lfbcjr346n471gbp.a0.ipv6.opera.com)
- # [10:48] <zcorpan> <input required value> is valid, afaict
- # [10:49] * Joins: nonge_ (~nonge@p5082BE83.dip.t-dialin.net)
- # [10:52] * Quits: nonge (~nonge@p5B3264C0.dip.t-dialin.net) (Ping timeout: 248 seconds)
- # [10:54] * Quits: attiks (~chatzilla@d5153136D.static.telenet.be) (Read error: Connection reset by peer)
- # [10:54] * Joins: attiks|away (~chatzilla@d5153136D.static.telenet.be)
- # [10:54] * attiks|away is now known as attiks
- # [10:59] * Joins: plutoniix (~plutoniix@node-1ob.pool-182-52.dynamic.totbb.net)
- # [11:00] * Joins: annevk (~annevk@84.241.198.236)
- # [11:01] <annevk> zcorpan: didn't realize he was talking about the validator
- # [11:01] <zcorpan> ah
- # [11:01] <annevk> happy b-day btw
- # [11:01] <zcorpan> thanks
- # [11:04] * Quits: auchenbe_ (~auchenber@176.222.239.226) (Remote host closed the connection)
- # [11:08] * Joins: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net)
- # [11:08] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 268 seconds)
- # [11:12] * Joins: auchenberg (~auchenber@176.222.239.226)
- # [11:13] * Quits: annevk (~annevk@84.241.198.236) (Remote host closed the connection)
- # [11:19] <zcorpan> should it be possible to create a DataTransfer object from script?
- # [11:20] <zcorpan> the DragEvent constructor seems a bit pointless without being able to use custom DataTransfer
- # [11:21] * Quits: Ms2ger (~Ms2ger@vpnf025.ugent.be) (Read error: Operation timed out)
- # [11:22] <zcorpan> https://www.w3.org/Bugs/Public/show_bug.cgi?id=20004
- # [11:26] * Joins: annevk (~annevk@212.238.236.229)
- # [11:26] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Ping timeout: 268 seconds)
- # [11:27] * Quits: Lachy (~Lachy@cm-84.215.19.229.getinternet.no) (Quit: Computer has gone to sleep.)
- # [11:30] <annevk> zcorpan: can't you still test your drag & drop code with custom events even if there's no DataTransfer object? arguably you can't test all of it then, but still a bit
- # [11:31] <zcorpan> you can't test the dataTransfer aspects
- # [11:31] <zcorpan> which seems like the useful ones
- # [11:32] <annevk> zcorpan: that whole idna-update thread is full of wow
- # [11:33] <zcorpan> yeah. but this email seemed like a level above the rest
- # [11:33] * Quits: didymos (~didymos@5.57.48.69) (Quit: Computer has gone to sleep)
- # [11:36] <annevk> http://iutf.org/wiki/Main_Page can't help but read "intelligent design"
- # [11:37] <annevk> http://wiki.whatwg.org/wiki/URL#IDNA has my IDNA notes
- # [11:38] * Parts: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net)
- # [11:41] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
- # [11:42] <zcorpan> nice
- # [11:42] * abstractj|away is now known as abstractj
- # [11:43] * Joins: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net)
- # [11:43] * Joins: mpt (~mpt@faun.canonical.com)
- # [11:43] * Quits: mpt (~mpt@faun.canonical.com) (Changing host)
- # [11:43] * Joins: mpt (~mpt@canonical/mpt)
- # [11:44] <annevk> the not so nice thing is that e.g. thus far I've heard no interest from WebKit in doing anything, IE apparently has not moved either even though Windows 8 reportedly supports IDNA2008, and Gecko seems to be planning on moving forward still? https://bugzilla.mozilla.org/show_bug.cgi?id=479520
- # [11:44] <annevk> well, and Opera did something, but thus far it's not very clear whether Gecko plans on matching that
- # [11:45] * Joins: Robbert_ (~robbert@212.238.236.229)
- # [11:46] * Quits: Robbert_ (~robbert@212.238.236.229) (Remote host closed the connection)
- # [11:57] <annevk> https://github.com/jclark/microxml-er/blob/master/recovery.md seems to match what I had defined more or less, minus DOCTYPEs
- # [12:01] * Joins: didymos (~didymos@5.57.48.69)
- # [12:03] * Joins: Kolombiken (~Adium@217.13.228.226)
- # [12:05] * Joins: Lachy (~Lachy@office.oslo.opera.com)
- # [12:11] * Joins: alrra (~alrra@unaffiliated/alrra)
- # [12:19] * Quits: plutoniix (~plutoniix@node-1ob.pool-182-52.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [12:22] <zcorpan> and the multiple roots case
- # [12:22] <zcorpan> and </>
- # [12:23] <annevk> oh it supports multiple roots? how would the result still match element then?
- # [12:24] <zcorpan> "If at this point we do not have a single element, wrap everything in an element named #doc."
- # [12:25] <annevk> ooh
- # [12:25] <annevk> how is that streaming?
- # [12:25] <zcorpan> means it can't be streaming :-(
- # [12:25] <annevk> that's kinda contrary to an earlier stated goal
- # [12:25] <annevk> weird
- # [12:26] <zcorpan> where are the goals stated?
- # [12:27] <annevk> oh
- # [12:27] <annevk> "The tokenization phase is also designed to be allow for a streaming implementation, whereas the tree-building phase is not."
- # [12:27] <annevk> misremembered
- # [12:27] <annevk> seems silly
- # [12:28] <jgraham> You just start streaming with a QuantumStartTag which is ina superposition of the present and not present states. Reaching the end of the input is like collapsing the wavefunction so you end up in a concrete state.
- # [12:29] <annevk> right
- # [12:29] <jgraham> (Man I feel bad for such a hideous use of pseudo-physics. Although like all great pseudo-physics it doesn't actually work)
- # [12:29] <jgraham> (next up: how to use the endless cycling of Working Group debates to generate infinite energy)
- # [12:29] <annevk> in the new bond movie they have a lot of pseudo-computery-stuff
- # [12:30] <annevk> aside from that it was pretty decent
- # [12:40] * Quits: espadrine (~thaddee_t@85-218-2-62.dclient.lsne.ch) (Ping timeout: 264 seconds)
- # [12:41] * Quits: cheron (~cheron@unaffiliated/cheron) (Quit: Leaving.)
- # [12:41] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 260 seconds)
- # [12:41] <odinho> Yeah, had the same feeling. Had to look away quite a bit.
- # [12:41] <odinho> Don't understand why they do that.
- # [12:42] <odinho> Even Helene (my gf) felt bad because of it.
- # [12:49] * Joins: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com)
- # [12:53] * Joins: richt (~richt@pat-tazdevil.opera.com)
- # [12:58] * Quits: richt (~richt@pat-tazdevil.opera.com) (Remote host closed the connection)
- # [12:58] * Joins: richt (~richt@office.oslo.opera.com)
- # [13:01] * Joins: malydok (marek@156.17.232.100)
- # [13:08] * Quits: shwetank (~shwetank@122.173.145.84) (Quit: Leaving...)
- # [13:09] <zcorpan> i totally overlooked the pseudo-computer stuff. i guess i'm used to it
- # [13:11] <annevk> I think I might have done that too but it was pointed out to me and then I couldn't stop noticing it
- # [13:12] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
- # [13:16] * Quits: henrikkok (~henrikkok@81.27.221.193) (Quit: Leaving.)
- # [13:17] * Quits: auchenberg (~auchenber@176.222.239.226) (Remote host closed the connection)
- # [13:18] * Joins: JohnAlbin (~JohnAlbin@114-42-55-162.dynamic.hinet.net)
- # [13:18] * Quits: nessy (~silviapf@124-169-147-242.dyn.iinet.net.au) (Quit: Leaving.)
- # [13:20] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
- # [13:21] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Quit: tantek)
- # [13:32] <annevk> AryehGregor_: basically, I'm unsure of all changes to ranges :-)
- # [13:33] <annevk> AryehGregor_: not sure what it is exactly, I feel like I don't quite grasp them or something
- # [13:33] <annevk> AryehGregor_: anyway, will fix that bug shortly
- # [13:33] * Joins: auchenberg (~auchenber@176.222.239.226)
- # [13:37] <AryehGregor_> annevk, thanks.
- # [13:38] * Quits: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net) (Ping timeout: 245 seconds)
- # [13:41] * Quits: Areks (~Areks@rs.gridnine.com) (Read error: Connection reset by peer)
- # [13:42] * Joins: Areks (~Areks@rs.gridnine.com)
- # [13:49] * Joins: hdhoang (~hdhoang@113.178.25.158)
- # [13:56] * Joins: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net)
- # [13:59] * Joins: darobin (~darobin@78.109.80.74)
- # [14:00] * Quits: globbot (~logbot@lump.glob.com.au) (Remote host closed the connection)
- # [14:05] * Joins: Ms2ger (~Ms2ger@vpne176.ugent.be)
- # [14:11] <Ms2ger> jgraham, boo, collapse
- # [14:12] <Ms2ger> jgraham, multi-universe is much nicer
- # [14:12] <odinho> zcorpan: I usually do too, -- but it was too much in this one. Especially all the name dropping, like "oh this is obfuscated, security by obscurity, ... blabla"
- # [14:13] <zcorpan> odinho: ah yeah, i did reflect on "security by obscurity", now that you mention it
- # [14:13] <odinho> I was thrilled when watching Matrix Reloaded, -- they really got the computer scenes right. (nmap, compiling a ssh exploit, using that to gain access to a power station main frame).
- # [14:14] <zcorpan> i did a silent LOL
- # [14:14] <zcorpan> and then forgot about it :-)
- # [14:14] <odinho> zcorpan: I put my head in my hands in pure shame.
- # [14:15] <Ms2ger> A LOS, if you will
- # [14:21] <annevk> AryehGregor_: fixed
- # [14:21] * annevk goes back to IPv6
- # [14:22] <Ms2ger> Back? From IPv8?
- # [14:22] <zcorpan> we do IPv5 around here
- # [14:23] <Ms2ger> Well played, sir
- # [14:23] <annevk> I'm losing time here trying to come up with a funny retort
- # [14:23] <annevk> <- fails
- # [14:25] * Joins: JohnAlbin_ (~JohnAlbin@36-224-108-89.dynamic-ip.hinet.net)
- # [14:26] * Joins: krawchyk (~krawchyk@65.220.49.251)
- # [14:27] <annevk> btw, if someone can tell me why http://�/ fails per IDNA2003 that would be most appreciated, is it because � (indeed, it's U+FFFD) is not a valid IRI code point?
- # [14:27] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [14:28] * Quits: JohnAlbin (~JohnAlbin@114-42-55-162.dynamic.hinet.net) (Ping timeout: 248 seconds)
- # [14:28] * JohnAlbin_ is now known as JohnAlbin
- # [14:28] * Joins: sedovsek (~robert@89.143.12.238)
- # [14:34] * Quits: Ms2ger (~Ms2ger@vpne176.ugent.be) (Ping timeout: 265 seconds)
- # [14:38] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [14:39] * Joins: sedovsek (~robert@89.143.12.238)
- # [14:42] * abstractj is now known as abstractj|away
- # [14:49] * Quits: didymos (~didymos@5.57.48.69) (Quit: Computer has gone to sleep)
- # [14:54] * Joins: globbot (~logbot@lump.glob.com.au)
- # [14:54] * Joins: didymos (~didymos@5.57.48.69)
- # [14:55] * Joins: pyrsmk (~pyrsmk@84.5.251.195)
- # [15:00] <annevk> hmm
- # [15:00] <annevk> Chrome supports http://[2::%5d/
- # [15:00] * Joins: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
- # [15:01] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Max SendQ exceeded)
- # [15:02] <annevk> and stuff like http://[3%3a:1:0:0:0:0]/
- # [15:02] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Ping timeout: 276 seconds)
- # [15:02] * Joins: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
- # [15:03] <annevk> Safari does not reject http://[3%3a:1:0:0:0:0%]/
- # [15:03] <annevk> Safari does reject %5d instead of ]
- # [15:03] <annevk> man
- # [15:03] <annevk> is there nothing that just works?
- # [15:03] <zcorpan> you must be new here
- # [15:06] * Quits: zdobersek (~zan@cpe-46-164-23-154.dynamic.amis.net) (Ping timeout: 268 seconds)
- # [15:06] * Joins: thisgeek (~chris@ool-45757d25.dyn.optonline.net)
- # [15:06] * Quits: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com) (Remote host closed the connection)
- # [15:07] * Quits: auchenberg (~auchenber@176.222.239.226) (Remote host closed the connection)
- # [15:07] <annevk> I guess I'll go with RFC 3986 which puts [, :, and ] in reserved and has them as part of the syntax of IP literals and therefore using them in percent-encoded fashion should result in a syntax error
- # [15:08] <annevk> Opera just gives me illegal URL for http://[3a::1:0:0:0:0]/test btw
- # [15:08] <annevk> not sure what is up with that
- # [15:08] * Joins: zdobersek (~zan@cpe-46-164-1-103.dynamic.amis.net)
- # [15:10] * Joins: auchenberg (~auchenber@176.222.239.226)
- # [15:12] * Joins: krawchyk_ (~krawchyk@65.220.49.251)
- # [15:12] <MikeSmith> "The rank of an hgroup element is the rank of the highest-ranked h1–h6 element descendant of the hgroup element, if there are any such elements, or otherwise the same as for an h1 element (the highest rank)." is not very friendly to streaming processing to generate an outline.
- # [15:14] <zcorpan> MikeSmith: just defer creating the outline item for the hgroup until the element is closed
- # [15:14] <zcorpan> or heading, i guess
- # [15:15] * Joins: shwetank (~shwetank@122.173.145.84)
- # [15:15] <MikeSmith> hmm yeah true
- # [15:15] * Quits: krawchyk (~krawchyk@65.220.49.251) (Ping timeout: 244 seconds)
- # [15:15] * Quits: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net) (Ping timeout: 246 seconds)
- # [15:17] * Joins: pyrsmk2 (~pyrsmk@23.94.138.88.rev.sfr.net)
- # [15:19] * Quits: pyrsmk (~pyrsmk@84.5.251.195) (Ping timeout: 252 seconds)
- # [15:26] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 246 seconds)
- # [15:26] * Quits: pyrsmk2 (~pyrsmk@23.94.138.88.rev.sfr.net) (Quit: tzing)
- # [15:27] * Joins: pyrsmk (~pyrsmk@23.94.138.88.rev.sfr.net)
- # [15:27] * Joins: danzik17 (~danzik17@164.55.254.106)
- # [15:31] * Joins: MacTed (~Thud@63.119.36.36)
- # [15:31] * Joins: garciawebdev (~garciaweb@190.244.76.154)
- # [15:33] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [15:37] * Joins: tomasf (~tomasf@static-88.131.62.36.addr.tdcsong.se)
- # [15:38] * Quits: didymos (~didymos@5.57.48.69) (Quit: Computer has gone to sleep)
- # [15:45] * Joins: maikmerten (~merten@vpn06167.itmc.tu-dortmund.de)
- # [15:48] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
- # [15:50] * Joins: henrikkok (~henrikkok@81.27.221.193)
- # [16:00] * Quits: shwetank (~shwetank@122.173.145.84) (Quit: Linkinus - http://linkinus.com)
- # [16:01] * Joins: griswold (~quassel@blackhole.space150.com)
- # [16:08] * Quits: krawchyk_ (~krawchyk@65.220.49.251) (Remote host closed the connection)
- # [16:09] * Joins: krawchyk (~krawchyk@65.220.49.251)
- # [16:11] * Joins: erichynds (~ehynds@64.206.121.41)
- # [16:11] * Quits: annevk (~annevk@212.238.236.229) (Remote host closed the connection)
- # [16:11] * Joins: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com)
- # [16:16] * Quits: maikmerten (~merten@vpn06167.itmc.tu-dortmund.de) (Read error: Operation timed out)
- # [16:24] * Joins: didymos (~didymos@5.57.48.69)
- # [16:25] * Quits: didymos (~didymos@5.57.48.69) (Client Quit)
- # [16:30] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
- # [16:32] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Remote host closed the connection)
- # [16:33] * Quits: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Quit: Leaving)
- # [16:34] * Joins: mhausenblas (~mhausenbl@140.203.154.5)
- # [16:36] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [16:40] <GPHemsley> annevk: BOM seems to be handled in a haphazard way. For sniffing, it is used as the signature for text/plain. AFAICT, if an HTML file has a BOM, it will be sniffed as text/plain by the unknown type sniffer. But if a HTML file as a BOM, it will be properly handled to determine if it is a feed.... >_>
- # [16:40] * Quits: henrikkok (~henrikkok@81.27.221.193) (Quit: Leaving.)
- # [16:44] * Joins: annevk (~annevk@212.238.236.229)
- # [16:45] <annevk> GPHemsley: I guess if that's what implementations do it's okay
- # [16:46] <GPHemsley> IDK, I'll have to check
- # [16:49] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [16:52] * Quits: cgcardona (~cgcardona@unaffiliated/cgcardona) (Quit: cgcardona)
- # [16:54] * Joins: baku (~baku@x1-6-e0-46-9a-1f-0a-72.k694.webspeed.dk)
- # [16:54] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [16:56] * Joins: cgcardona (~cgcardona@c-24-4-198-207.hsd1.ca.comcast.net)
- # [16:56] * Quits: cgcardona (~cgcardona@c-24-4-198-207.hsd1.ca.comcast.net) (Client Quit)
- # [16:58] * Joins: Youdaman (~Youdaman@ppp121-75.static.internode.on.net)
- # [17:00] * Parts: Youdaman (~Youdaman@ppp121-75.static.internode.on.net)
- # [17:00] * Joins: scor (~scor@132.183.242.186)
- # [17:00] * Quits: scor (~scor@132.183.242.186) (Changing host)
- # [17:00] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [17:05] * Joins: danzik171 (~danzik17@164.55.254.106)
- # [17:07] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Remote host closed the connection)
- # [17:08] * Quits: Kolombiken (~Adium@217.13.228.226) (Quit: Leaving.)
- # [17:08] * Quits: danzik17 (~danzik17@164.55.254.106) (Ping timeout: 246 seconds)
- # [17:12] <MikeSmith> per the outline algorithm, what text should be used as the heading for <hgroup>foo<h2>bar</h2><h3>baz</h3></hgroup> in an outline?
- # [17:13] <MikeSmith> just "foo"? or "foo bar"? or just "bar"?
- # [17:13] * Quits: mhausenblas (~mhausenbl@140.203.154.5) (Quit: http://mhausenblas.info/#i says TTYL)
- # [17:16] * Joins: ehsan (~ehsan@66.207.208.98)
- # [17:17] <jgraham> Just bar I think, although it is unclear
- # [17:18] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [17:18] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [17:21] * Quits: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8) (Ping timeout: 260 seconds)
- # [17:23] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 256 seconds)
- # [17:24] <MikeSmith> jgraham: yeah
- # [17:25] <MikeSmith> the three existing outliner implementations I tried all emit just "bar" for that case
- # [17:25] <MikeSmith> which makes sense intuitively I guess
- # [17:26] <MikeSmith> but I can't see where the spec makes it clear that's what it should be
- # [17:27] <MikeSmith> or also why the should be any different handling for <h1>foo<h2>bar</h2><h3>baz</h3></h1>
- # [17:27] <MikeSmith> it seems to me the outline algorithm requires both of the cases to be handled exactly the same
- # [17:28] <MikeSmith> because hgroup and h1 are both "heading content"
- # [17:28] * Joins: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
- # [17:29] <jgraham> Well you can't get that out of the parser (h2 as a child of h1)
- # [17:29] <MikeSmith> but the existing outliner implementations don't handle them the same -- they handle the <h1>foo<h2>bar</h2><h3>baz</h3></h1> case by making nested sections for the h2 and h3 elements
- # [17:29] <MikeSmith> ah
- # [17:29] <MikeSmith> yeah OK
- # [17:29] <MikeSmith> so that part makes sense at least
- # [17:30] * Joins: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8)
- # [17:30] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [17:34] * Joins: eresair (~eresair@173.247.199.2)
- # [17:34] * Joins: Ms2ger (~Ms2ger@vpnf018.ugent.be)
- # [17:36] * Joins: divya (~nimbu@sjfw1-a.adobe.com)
- # [17:37] * Joins: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
- # [17:39] * Quits: Adawerk_ (~ada@169.241.49.57) (Quit: Leaving)
- # [17:39] * Joins: Adawerk (~ada@169.241.49.57)
- # [17:40] * Quits: Lachy (~Lachy@office.oslo.opera.com) (Quit: Computer has gone to sleep.)
- # [17:40] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Quit: tantek)
- # [17:43] <dglazkov> good morning, Whatwg!
- # [17:43] <Ms2ger> Good night
- # [17:45] * Quits: SamB_MacG5 (~SamB@2001:470:1f07:57:211:24ff:feaa:27a) (Ping timeout: 246 seconds)
- # [17:45] * Joins: Lachy (~Lachy@pat-tazdevil.opera.com)
- # [17:46] <GPHemsley> annevk: What was that pseudo-server you recommended for testing, again?
- # [17:46] * Quits: Ducki (~Ducki@pD9E3981C.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
- # [17:46] * Joins: SamB_MacG5 (~SamB@2001:470:1f07:57:211:24ff:feaa:27a)
- # [17:47] * Quits: Lachy (~Lachy@pat-tazdevil.opera.com) (Client Quit)
- # [17:47] <annevk> GPHemsley: someone might have recommended https://bitbucket.org/annevk/simpleserver I suppose? not sure I did though
- # [17:47] <Ms2ger> I think I mentioned it
- # [17:47] <GPHemsley> oh
- # [17:47] <GPHemsley> well, thanks nonetheless :)
- # [17:47] <annevk> you gonna test HTTP stuff?
- # [17:48] <GPHemsley> yeah
- # [17:48] <GPHemsley> I figured I'd write a script that builds all the test files automatically
- # [17:48] <GPHemsley> so I can finally make some progress
- # [17:48] * Quits: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8) (Ping timeout: 260 seconds)
- # [17:49] <GPHemsley> hmm... what was the one that Mozilla uses?
- # [17:49] <GPHemsley> where you put headers in a separate file?
- # [17:49] <GPHemsley> (or is that custom?)
- # [17:49] * Joins: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8)
- # [17:49] <Ms2ger> That's custom
- # [17:51] <GPHemsley> oh, hmm...
- # [17:51] <GPHemsley> annevk: This would have to be modified to do what I want
- # [17:51] <GPHemsley> Maybe it'd be easier to just generate .htaccess files alongside the tests
- # [17:52] * Quits: tomasf (~tomasf@static-88.131.62.36.addr.tdcsong.se) (Ping timeout: 264 seconds)
- # [17:52] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Read error: Connection reset by peer)
- # [17:53] <GPHemsley> it's OK (or even good) if I include the tests and the generator script in the mimesniff repo, right?
- # [17:54] <Ms2ger> Sure
- # [17:57] * Joins: gavinc (~gavin@50.0.77.3)
- # [18:00] * abstractj|away is now known as abstractj
- # [18:01] * Quits: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com) (Quit: JonathanNeal)
- # [18:03] * Quits: divya (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [18:06] * Joins: divya (~nimbu@sjfw1-a.adobe.com)
- # [18:07] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [18:11] * Joins: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net)
- # [18:12] * Quits: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net)
- # [18:13] * Joins: cgcardona (~cgcardona@64.124.34.2)
- # [18:13] * Quits: cgcardona (~cgcardona@64.124.34.2) (Changing host)
- # [18:13] * Joins: cgcardona (~cgcardona@unaffiliated/cgcardona)
- # [18:17] <TabAtkins> GPHemsley: Was I *supposed* to inform you of pending mimetype requests?
- # [18:18] <GPHemsley> TabAtkins: No, we were just discussing it in here. :)
- # [18:18] <GPHemsley> the 'font' type specifically
- # [18:20] <TabAtkins> annevk: Yeah, an independent object for setting a query would be useful. It's a separable piece.
- # [18:21] <TabAtkins> annevk: While Maps don't set to a list, there's nothing that says your own implementation of the methods can't do that internally. The point is just to provide same-named methods with similar functionality, such that they can be used interchangeably.
- # [18:21] <annevk> TabAtkins: sure, I think that's already done more or less
- # [18:22] <annevk> TabAtkins: but apart from some missing stuff
- # [18:22] <TabAtkins> annevk: delete(key, val) might run into identity problems. Best think about what concept of identity you want - the tc39 guys have strong opinions about what they've gotten wrong in the past with, for example, Array#contains.
- # [18:22] <annevk> TabAtkins: but that seems different than what's suggested on the list
- # [18:22] * Joins: espadrine (~thaddee_t@85-218-2-62.dclient.lsne.ch)
- # [18:22] <annevk> TabAtkins: identify problem?
- # [18:22] <annevk> ty*
- # [18:22] * Joins: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
- # [18:24] <TabAtkins> annevk: For example, whether NaN is equal to NaN, +0 to -0, etc.
- # [18:24] <annevk> key/val are converted to DOMString first
- # [18:25] <TabAtkins> Oh, then you're fine. No worries.
- # [18:25] <TabAtkins> Forgot about the type coercion.
- # [18:25] <annevk> it's still not really clear to me if what you're saying and what David/Boris are discussing is the same
- # [18:25] * Quits: hdhoang (~hdhoang@113.178.25.158) (Quit: Leaving.)
- # [18:26] <annevk> and I have a hard time following terms like "subclassing"
- # [18:26] <annevk> does that involve me talking to heycam or does it mean to just make it look kinda the same?
- # [18:27] <TabAtkins> It just means that (a) it should ducktype as a Map, and (b) (new URLQuery) instanceof Map should be true.
- # [18:27] <TabAtkins> The latter just does prototype comparisons.
- # [18:27] <TabAtkins> (take proto of both sides, then walk the proto chain of lhs until you find a match or hit the root)
- # [18:27] * Quits: irfaN (~nrth@unaffiliated/irfan) (Quit: This computer has gone to sleep)
- # [18:28] <annevk> hmm, so I guess that means talking to heycam
- # [18:28] <annevk> heycam|away, ^^
- # [18:28] <TabAtkins> Hmm, maybe. If Map was already defined in WebIDL, it would be no problem, obviously - you'd just extend it.
- # [18:29] * Joins: nrth (~nrth@91.72.112.11)
- # [18:29] * nrth is now known as irfaN
- # [18:29] * Quits: irfaN (~nrth@91.72.112.11) (Changing host)
- # [18:29] * Joins: irfaN (~nrth@unaffiliated/irfan)
- # [18:30] * Joins: jsbell (jsbell@nat/google/x-bmeytxhosnewqpdy)
- # [18:31] * Quits: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8) (Ping timeout: 260 seconds)
- # [18:31] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [18:33] <annevk> no, you can't extend it and change argument types
- # [18:33] * Quits: malydok (marek@156.17.232.100) (Quit: Farewell)
- # [18:33] * Joins: malydok (marek@156.17.232.100)
- # [18:35] * Quits: malydok (marek@156.17.232.100) (Client Quit)
- # [18:35] * Joins: malydok (marek@156.17.232.100)
- # [18:35] * Quits: cgcardona (~cgcardona@unaffiliated/cgcardona) (Quit: cgcardona)
- # [18:36] * Quits: divya (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [18:37] * Quits: darobin (~darobin@78.109.80.74) (Ping timeout: 246 seconds)
- # [18:37] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
- # [18:37] * Joins: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8)
- # [18:39] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [18:44] * Joins: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [18:44] * Joins: divya (~nimbu@sjfw1-a.adobe.com)
- # [18:49] <TabAtkins> You can't override methods that come from the extended interface?
- # [18:50] * Joins: tantek (~tantek@me50536d0.tmodns.net)
- # [18:50] <annevk> no
- # [18:50] * Quits: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net) (Quit: bholley)
- # [18:50] <TabAtkins> Well that's just silly.
- # [18:51] <TabAtkins> In that case, yeah, bug heycam for hooks.
- # [18:51] <TabAtkins> It would be great to have the ability to declare something as a Map or Set in the platform.
- # [18:51] <TabAtkins> The same way we're gradually rationalizing things to be Arrays.
- # [18:51] * Joins: pablof (~pablof@144.189.150.129)
- # [18:52] <annevk> not sure how much things are actually Arrays in the platform
- # [18:52] <TabAtkins> Not as much as they should be.
- # [18:52] <annevk> they have the same basic problem with not being tied to some underlying concept
- # [18:52] <TabAtkins> Hm?
- # [18:53] * Quits: malydok (marek@156.17.232.100) (Quit: Farewell)
- # [18:53] <annevk> so e.g. you get an array of path segments, then start modifying it or "copying" it around and then modifying, do you expect the URL to be modified?
- # [18:53] <TabAtkins> Oh, that.
- # [18:54] <Ms2ger> Who cares
- # [18:54] <TabAtkins> I'm still not sure why that's supposed to be a problem. You return an Array subclass, not a plain array. The subclass manages (in IDL prose) the necessary mutations.
- # [18:54] <Ms2ger> Just toss a coin
- # [18:54] <annevk> "gradually rationalizing" and "oh that" make me not convinced this is really a solved problem
- # [18:54] <TabAtkins> Bah, that was a dismissive "oh that".
- # [18:54] <annevk> there's no such thing as subclass
- # [18:54] <TabAtkins> ...
- # [18:54] <annevk> have you talked to heycam?
- # [18:55] <TabAtkins> Dude. Bro. A subclass is simply something for which "object instanceof superclass" is true.
- # [18:55] <Ms2ger> Sis?
- # [18:56] <TabAtkins> No, Anne's my bro.
- # [18:56] <annevk> apparently it also magically handles mutations in prose? is there any example of such an array in the platform today?
- # [18:56] <TabAtkins> Uh, whatever object you just talked about?
- # [18:56] * Quits: tantek (~tantek@me50536d0.tmodns.net) (Quit: tantek)
- # [18:57] <annevk> that was a hypothetical for something I might introduce one day if there's hooks
- # [18:58] <TabAtkins> So, I'm unsure what the problem is here. What do you think is weird about this? I've done precisely this kind of thing in JS code before (subclassing an array), and it's fine.
- # [18:59] * Joins: tantek (~tantek@me50536d0.tmodns.net)
- # [18:59] <jgraham> Hmm, having magic internal state does sound like it has the possibility to invalidate supposed invariants of the base clas API if you're not very careful
- # [18:59] <jgraham> Or rather magic internal algorithms
- # [18:59] <TabAtkins> jgraham: You can always invalidate supposed invariants. Just... don't do it?
- # [19:00] <jgraham> That's supposedly easier said than done. If you believe all these "A square is not a rectangle" type articles
- # [19:00] <Ms2ger> Say what?
- # [19:00] <TabAtkins> That's cool if you're really into type safety. This is JS, man.
- # [19:01] <TabAtkins> Ms2ger: Strictly, a mutable square is *not* a subclass of mutable rectangle, due to the violation of implicit contracts. Immutables are, though.
- # [19:01] <TabAtkins> (The main contract being that you can independently mutate the width and height without affecting the other.)
- # [19:01] * Joins: JonathanNeal (~anonymous@38.122.109.194)
- # [19:02] <jgraham> Ms2ger: Part of the internet is fascinated with the idea that *in OO software* a square is not a subclass of rectangle because squares impose extra invariants on the relationship between width and height
- # [19:02] * Joins: mindbender1 (~chijioke@196.46.246.57)
- # [19:02] <TabAtkins> Here in reality land, if it acts mostly the same, you're good. Just be aware of where things are different. ^^_
- # [19:03] * Quits: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8) (Ping timeout: 260 seconds)
- # [19:03] * Joins: krawchyk_ (~krawchyk@65.220.49.251)
- # [19:05] * Joins: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8)
- # [19:06] * Joins: mattgifford (~mattgiffo@70.102.199.158)
- # [19:07] * Quits: krawchyk (~krawchyk@65.220.49.251) (Ping timeout: 240 seconds)
- # [19:07] <TabAtkins> You're welcome: http://heeeeeeeey.com/
- # [19:12] * Quits: SimonSapin (~simon@2a01:e35:2e8d:b5f0:ea9d:87ff:fe22:e221) (Ping timeout: 268 seconds)
- # [19:17] <Stevef> mikesmith: as per the required acc API implementation in the spec it would be <h2>foo bar baz</h2> for AT users
- # [19:17] * Quits: auchenberg (~auchenber@176.222.239.226) (Remote host closed the connection)
- # [19:18] * Quits: tantek (~tantek@me50536d0.tmodns.net) (Quit: tantek)
- # [19:19] * Joins: necolas (~necolas@8.25.197.25)
- # [19:20] <MikeSmith> Stevef: OK
- # [19:23] * Quits: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8) (Ping timeout: 260 seconds)
- # [19:23] <annevk> TabAtkins: just wondering how to do it in spec language
- # [19:24] <annevk> TabAtkins: although an example in JS might also help
- # [19:25] * Joins: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net)
- # [19:28] <TabAtkins> annevk: awb just responded in that vein.
- # [19:28] * Joins: nunnun (~hiro@2001:200:1c0:3624:20c:29ff:fe02:11c8)
- # [19:35] * Joins: SimonSapin (~simon@85-170-128-18.rev.numericable.fr)
- # [19:37] <annevk> TabAtkins: yeah, noticed, but not the spec part, which is more important
- # [19:38] <TabAtkins> Yeah, if you want WebIDL, there's not a good solution yet, and you need heycam.
- # [19:39] <TabAtkins> If you're willing to define it in JS (I wouldn't recommend it), you can just use AWB's code.
- # [19:39] <annevk> so reading http://html5.org/tools/web-apps-tracker?from=7509&to=7510 it seems we're open to XSS there
- # [19:39] <annevk> only XSS From Hixie though
- # [19:39] <Hixie> (oops, that reminds me i forgot to escape those <s)
- # [19:39] <Hixie> why are we open to XSS?
- # [19:41] <Hixie> on another note
- # [19:42] <Hixie> annevk: are URLUtils' members going to be unforgeable on HTMLAnchorElement?
- # [19:42] <Hixie> annevk: or are they only to be unforgeable on Location?
- # [19:42] <annevk> Hixie: oh if you forgot to escape them maybe we aren't :)
- # [19:43] <annevk> Hixie: only on Location I think, I'm not sure how to deal with that, I tried to raise that issue when it came up, not sure if heycam|away took it into account
- # [19:43] <Hixie> http://html5.org/tools/web-apps-tracker?from=7510&to=7511
- # [19:43] <Hixie> annevk: k
- # [19:43] <Hixie> heycam|away: ping
- # [19:43] <Ms2ger> The </pre>?
- # [19:43] <annevk> Hixie: worst case scenario is that you define the IDL attributes as unforgeable and just say they behave the same as on URLUtils other than IDL differences
- # [19:44] <Hixie> k
- # [19:44] <Hixie> that's what i'm currently doing wit the UAE attributes or whatever they're called
- # [19:45] * Joins: nessy (~silviapf@124-169-147-242.dyn.iinet.net.au)
- # [19:45] * Joins: jsoncorwin (~textual@c-50-131-117-90.hsd1.ca.comcast.net)
- # [19:45] <annevk> I was hoping we could get away with one interface somehow so whenever we upgrade it we don't have to change Location too
- # [19:46] <Hixie> yeah
- # [19:46] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Read error: Connection reset by peer)
- # [19:46] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [19:46] <annevk> oh, maybe if we really need it this way and heycam|away doesn't give another shortcut I could create LocationURLUtils as an exact duplicate which is implemented only by Location
- # [19:47] <annevk> or just do a partial thingy for Location
- # [19:47] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Read error: Connection reset by peer)
- # [19:47] <annevk> so whoever ends up maintaining URL (if it's not me) will take that into account
- # [19:47] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [19:49] <Hixie> UnforgeableURLUtils
- # [19:49] <Hixie> or partial, yeah
- # [19:50] <Ms2ger> Maybe we should do the unforgeable interface after all
- # [19:53] <annevk> Ms2ger: I guess I was in favor of that, not sure if I stressed that
- # [19:54] <matjas> polyglot.gif http://lists.w3.org/Archives/Public/public-markdown/2012Nov/0019.html
- # [19:56] * Quits: divya (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [19:58] * Quits: krawchyk_ (~krawchyk@65.220.49.251) (Remote host closed the connection)
- # [19:58] * Joins: Druide__ (~Druid@p5B1355B6.dip.t-dialin.net)
- # [19:59] * Joins: krawchyk (~krawchyk@65.220.49.251)
- # [19:59] * Quits: Druide_ (~Druid@p5B137AB2.dip.t-dialin.net) (Ping timeout: 244 seconds)
- # [19:59] * Quits: thisgeek (~chris@ool-45757d25.dyn.optonline.net) (Quit: thisgeek)
- # [20:00] <Hixie> i'm not at the office -- anyone got IE handy?
- # [20:00] <Hixie> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1916 - hit the Navigate button then the Compare button and tell me what gets logged
- # [20:01] <Ms2ger> I've got a VM with some version
- # [20:01] * Joins: yorick (~quassel@unaffiliated/yorick)
- # [20:01] * Quits: annevk (~annevk@212.238.236.229) (Remote host closed the connection)
- # [20:01] * Quits: JonathanNeal (~anonymous@38.122.109.194) (Remote host closed the connection)
- # [20:01] * Joins: JonathanNeal (~anonymous@38.122.109.194)
- # [20:02] <Ms2ger> Hixie, false
- # [20:02] <Hixie> cool, thanks
- # [20:02] <Hixie> (which version?)
- # [20:02] <Ms2ger> IE10
- # [20:02] <Hixie> k
- # [20:03] <Hixie> can you try removing the doctype?
- # [20:03] <Ms2ger> Still false
- # [20:03] <Hixie> k
- # [20:03] <Hixie> wtf
- # [20:07] * Joins: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90)
- # [20:07] * Joins: victor2 (~Adium@did75-14-82-236-18-74.fbx.proxad.net)
- # [20:07] * Parts: victor2 (~Adium@did75-14-82-236-18-74.fbx.proxad.net)
- # [20:07] * Quits: pyrsmk (~pyrsmk@23.94.138.88.rev.sfr.net) (Remote host closed the connection)
- # [20:08] <Hixie> bholley: sorry, didn't notice you were here either :-)
- # [20:08] * Joins: tantek (~tantek@nat/mozilla/x-fyxdtbdcfmxvrudk)
- # [20:09] <bholley> Hixie: hm, interesting. Did you try mwobensmith's tests?
- # [20:09] * Quits: Ms2ger (~Ms2ger@vpnf018.ugent.be) (Quit: bbl)
- # [20:09] <bholley> Hixie: those were the ones I tested, in a VM. Let me try again
- # [20:09] <Hixie> i didn't test them in IE, no
- # [20:09] * bholley boots vmware
- # [20:09] <Hixie> they were scary long :-)
- # [20:10] <bholley> Hixie: ok, so first of all, looks like I've got IE9
- # [20:10] <Hixie> does it log true on my test?
- # [20:10] <Hixie> that'd be interesting ifso
- # [20:10] <bholley> Hixie: checking
- # [20:11] <Hixie> in particular because changing the doctype didn't change the result
- # [20:11] <Hixie> though maybe it's the iframe's doctype that matters
- # [20:11] <Hixie> and we didn't try changing that
- # [20:11] <bholley> Hixie: it does log true
- # [20:11] <Hixie> ho ho ho
- # [20:11] <Hixie> interesting
- # [20:11] <Hixie> huh
- # [20:12] * Joins: eric_carlson (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [20:12] <Hixie> i bet they tried to implement the spec and just assumed it was right and didn't push back because for some reason they think it's ok to have different behaviours in different modes
- # [20:12] <Hixie> good times
- # [20:13] <Hixie> what's gecko's behaviour been, historically?
- # [20:13] * Joins: jacobolus (~jacobolus@99-127-228-11.lightspeed.sntcca.sbcglobal.net)
- # [20:13] <bholley> Hixie: on this issue? One Location object per Window
- # [20:13] * Joins: divya (~nimbu@sjfw1-a.adobe.com)
- # [20:13] <Hixie> and the motivation to change is what? security bugs?
- # [20:13] <bholley> Hixie: yes
- # [20:13] <bholley> Hixie: 16.0.1, 16.0.2
- # [20:13] * Quits: jacobolus (~jacobolus@99-127-228-11.lightspeed.sntcca.sbcglobal.net) (Client Quit)
- # [20:14] <Hixie> basically the difficulty of "inspect the js stack"?
- # [20:14] <Hixie> the way the spec has it, it should be the same kind of security check as for Document's members
- # [20:15] <bholley> Hixie: well, there are two issues with the spec
- # [20:15] <Hixie> more than two, but go ahead :-)
- # [20:15] <bholley> Hixie: the part that appears to be pure fiction is that Location describes the Document
- # [20:15] <Hixie> yeah that needs to change regardless
- # [20:15] <Hixie> dunno what i was testing there
- # [20:15] <Hixie> should be the active document of the document's browsing context
- # [20:15] <bholley> Hixie: so once it gets changed so that Location describes the active Document in the browsing context
- # [20:16] <bholley> Hixie: then we have this weirdness where the security characteristics of Location don't match everything else in its scope
- # [20:16] <bholley> Hixie: which is wacky for Gecko's compartment model
- # [20:16] * Joins: sedovsek (~robert@BSN-176-141-144.dial-up.dsl.siol.net)
- # [20:16] <bholley> Hixie: I think we're pretty safe now TBH, because in 16.0.2 I just hardcoded the checks in C++. But that's not where security checks in Gecko are supposed to live
- # [20:16] <Hixie> same security model as Window, no?
- # [20:17] * Joins: a-ja (~Instantbi@70.230.159.5)
- # [20:17] <bholley> Hixie: No, it's different
- # [20:17] <Hixie> what's the difference?
- # [20:17] <bholley> Hixie: WindowProxy
- # [20:17] <bholley> Hixie: that's the identity object in question, and we transplant it between compartments
- # [20:17] <Hixie> ah
- # [20:17] <bholley> Hixie: effectively, what I've been pushing to do for Location
- # [20:17] <Hixie> that sounds incredibly scary
- # [20:17] <bholley> Hixie: you could say having a LocationProxy
- # [20:17] <bholley> Hixie: why?
- # [20:18] <bholley> Hixie: the WindowProxy is just a tiny wrapper around the Window anywaty
- # [20:18] <Hixie> mostly because i don't understand the implications or how to spec it
- # [20:18] <bholley> Hixie: well, it's already specced right for Window
- # [20:18] <bholley> Hixie: and WindowProxy
- # [20:18] <Hixie> the way the spec has it, the security on WindowProxy is actually specced on Window
- # [20:18] <bholley> Hixie: right
- # [20:18] <Hixie> the Proxy aspect could be removed without affecting the security
- # [20:18] <bholley> Hixie: and the same would hold for Location
- # [20:19] <bholley> Hixie: oh, hm. Well, not in Gecko
- # [20:19] <bholley> Hixie: well, hm
- # [20:19] <bholley> Hixie: my basic beef with our current implementation is that Location wants to be two different things
- # [20:20] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#security-2 is how Window security is specced
- # [20:20] <Hixie> for Location, seems to me the simplest fix is just to make it work the same as that -- but there's no Proxy needed to do that
- # [20:20] <bholley> Hixie: it wants to be resolved like Document, but operate on the WIndowProxy
- # [20:20] <Hixie> you just need to compare the script's security context to the active document's
- # [20:21] <Hixie> why is it hard for an object to operate on the active document in gecko?
- # [20:21] <Hixie> History works like that, more or less, no?
- # [20:21] * Joins: annevk (~annevk@84.241.198.236)
- # [20:22] <Hixie> as specced, the History objects from all of the Documents in a browsing context basically act the same as each other
- # [20:22] <bholley> Hixie: sure. But they don't do security checks, right?
- # [20:22] * abstractj is now known as abstractj|brb
- # [20:23] <Hixie> they don't do "can you access this member" checks, but they do check whether the URL you're pushing is the same origin as the URL of the active document
- # [20:23] <Hixie> otherwise you could load a bank site and change its URL to something else
- # [20:23] * Joins: Lachy (~Lachy@cm-84.215.19.229.getinternet.no)
- # [20:23] <bholley> Hixie: the issue for us is that "can you access this member" checks are best implemented at compartment boundaries
- # [20:23] <bholley> Hixie: and this generally works, because for everything but Location, you can infer an object's security characteristics from its scope
- # [20:24] <Hixie> what's a compartment, in gecko?
- # [20:24] <Hixie> i don't think the spec has that concept
- # [20:24] <bholley> Hixie: it doesn't
- # [20:24] <bholley> Hixie: we have a separate JS heap for each scope
- # [20:25] <bholley> Hixie: and we enforce security invariants at the border between heaps
- # [20:25] <Hixie> how does that work with document.domain?
- # [20:25] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
- # [20:25] <bholley> Hixie: cross-compartment access is done with special wrapper objects, which we can enumerate
- # [20:25] <bholley> Hixie: when someone sets document.domain, we recompute all those wrappers
- # [20:26] <Hixie> yikes
- # [20:26] <bholley> Hixie: the wrappers contain static security policy
- # [20:26] <bholley> Hixie: no, it's awesome!
- # [20:26] <bholley> Hixie: we can compute our security policy statically, when computing the wrapper
- # [20:26] <bholley> Hixie: all accesses after that are super fast, because there's no dynamic check needed
- # [20:27] <bholley> Hixie: if the security relationship ever changes, like with document.domain, we just recompute
- # [20:27] <bholley> Hixie: it's orthogonal enough to what everyone else does that it doesn't belong in the spec. But it's really awesome for us
- # [20:27] <bholley> Hixie: this also ties into document.domain revocation
- # [20:28] <bholley> Hixie: it's what our system does naturally, but is very difficult for WebKit to do
- # [20:28] <Hixie> document.domain revocation?
- # [20:29] <bholley> Hixie: I sent a spec proposal a while back. Basically, if some page grabs stuff from a same-origin page and then sets document.domain to something else, whether those references are revoked or not
- # [20:29] <Hixie> they should not be
- # [20:29] <Hixie> right?
- # [20:29] <bholley> Hixie: I proposed they should
- # [20:29] <Hixie> oh
- # [20:29] <Hixie> ew
- # [20:29] <Hixie> nooo
- # [20:30] <Hixie> if you have an object, why make it stop working?
- # [20:30] <Hixie> that's just confusing
- # [20:30] <bholley> Hixie: because it's not same-origin anymore!
- # [20:30] <Hixie> it's bad enough that we had to do that for document.storage
- # [20:30] * Joins: dydx (~dydz@76-220-18-65.lightspeed.sntcca.sbcglobal.net)
- # [20:30] <bholley> Hixie: and it's now exposed to all kinds of malicious stuff
- # [20:30] * Quits: nessy (~silviapf@124-169-147-242.dyn.iinet.net.au) (Quit: Leaving.)
- # [20:30] <bholley> Hixie: that it never agreed to
- # [20:31] <bholley> Hixie: from a security perspective, I think it would be what people would expect
- # [20:31] <Hixie> well i agree document.domain is a sandtrap, but this doesn't make things particularly safer. I mean, the other side now has access to your origin insofar as sending requests to your server goes, the game is more or less lost if you didn't want that.
- # [20:32] <bholley> Hixie: well, consider this
- # [20:32] <Hixie> i mean, you can just import the script you're worried about.
- # [20:32] <Hixie> or create an iframe that emulates the page you want access to.
- # [20:32] * abstractj|brb is now known as abstractj
- # [20:32] * bholley CCs hixie on a bug
- # [20:33] <bholley> Hixie: bug 655649 comment 0
- # [20:33] <bholley> Hixie: this was from abarth actually
- # [20:33] * Joins: cgcardona (~cgcardona@64.124.34.2)
- # [20:33] * Quits: cgcardona (~cgcardona@64.124.34.2) (Changing host)
- # [20:33] * Joins: cgcardona (~cgcardona@unaffiliated/cgcardona)
- # [20:34] <bholley> Hixie: the thing is, revocation is currently specced
- # [20:34] <Hixie> only for storage
- # [20:34] <bholley> Hixie: but _only_ if you happen to touch the Window object
- # [20:34] <bholley> Hixie: because per spec that's the only thing that does security checks
- # [20:34] <Hixie> that's not revocation per se, that's just, right, where the checks are
- # [20:34] <bholley> Hixie: but those checks use the effective script orogin
- # [20:35] <bholley> *origin
- # [20:35] <bholley> Hixie: well, if you have a reference to a Window, then it is revocation, because it stops working
- # [20:35] <bholley> Hixie: but if you have a reference to a DOM node, it doesn't stop working
- # [20:35] <bholley> Hixie: and you can waltz your way around the DOM, so long as you avoid touching any of the objects that will reexamine the script origin
- # [20:35] <bholley> Hixie: it's totally unintuitive
- # [20:36] <Hixie> i agree it's pretty silly, but hey, it's the web. document.domain is a bad feature, and people shouldn't use it. but it's far too late to start changing how it works, IMHO.
- # [20:36] * Quits: annevk (~annevk@84.241.198.236) (Remote host closed the connection)
- # [20:36] <bholley> Hixie: well, Opera and Gecko ship full revocation
- # [20:37] <bholley> Hixie: against the spec
- # [20:37] <Hixie> :-(
- # [20:37] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
- # [20:37] <jwalden> and note that Gecko didn't ship full-revocation until semi-recently
- # [20:38] <jwalden> so the position in the spec here is not particularly important for the web
- # [20:38] <Hixie> anyway as far as Location goes, it'd be nice to have a solution that is both implementable in Gecko's model and implementable in the spec's model without introducing more crazy stuff like the WindowProxy object
- # [20:38] <bholley> Hixie: yeah. I agree that we should spec align on security stuff. But fixing this requires would require me adding a bunch of goop to our security code to specifically waive security checks in this particular situation, which never seems like an attractive thing to spend my time on
- # [20:39] <Hixie> yeah this whole part of the platform isn't particularly fun to work on :-)
- # [20:39] <Hixie> either in code or in the spec, let me assure you
- # [20:39] <bholley> Hixie: :-)I
- # [20:40] * Joins: pyrsmk (~pyrsmk@2a01:e35:2f52:ead0:21e:8cff:feeb:d962)
- # [20:40] <Hixie> how do you handle giving scripts access to Document objects but not any properties of Document objects?
- # [20:40] <Hixie> for cross-origin Documents
- # [20:40] <bholley> Hixie: they just get an opaque wrapper
- # [20:41] <bholley> Hixie: that allows no property access
- # [20:41] <bholley> Hixie: actually, _all_ cross-origin references use the same wrapper
- # [20:41] <bholley> Hixie: er, same policy
- # [20:41] <bholley> Hixie: which just does this: http://mxr.mozilla.org/mozilla-central/source/js/xpconnect/wrappers/AccessCheck.cpp#155
- # [20:42] <bholley> Hixie: (when trying to access properties on it)
- # [20:44] <bholley> Hixie: to be honest, depending on how much work it is for WebKit to reuse its WindowProxy logic, it might be easier for us to align with WebKit than the reverse
- # [20:44] <Hixie> so basically your problem is you don't have a good way to get "the entry script's effective script origin" for the purpose of comparing to other origins?
- # [20:45] * Quits: irfaN (~nrth@unaffiliated/irfan) (Quit: Leaving)
- # [20:45] <bholley> Hixie: no, we can do that. And I actually did that, for 16.0.2
- # [20:45] <bholley> Hixie: it just runs contrary to the way everything else works
- # [20:45] * Quits: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net) (Quit: linclark)
- # [20:45] * Quits: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com) (Ping timeout: 244 seconds)
- # [20:46] <Hixie> can it be localised enough that you can just but big "here by dragons, don't copy this code into newer APIs" warnings around it or something?
- # [20:46] * Quits: baku (~baku@x1-6-e0-46-9a-1f-0a-72.k694.webspeed.dk) (Ping timeout: 265 seconds)
- # [20:46] <Hixie> if it's not much work for you to do that, i'm definitely leaning towards that kind of approach rather than a proxy
- # [20:46] <Hixie> mostly because i don't have a good handle on how to reason about the security of a proxy
- # [20:46] <Hixie> and thath scares me
- # [20:47] * Joins: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl)
- # [20:47] <bholley> Hixie: we can do that, sure. But I'd like to convince you that the proxy isn't actually scary
- # [20:47] <Hixie> nobody's managed that yet for WindowProxy, but i'm definitely open for you trying :-)
- # [20:47] <bholley> Hixie: well, do you find WindowProxy scary?
- # [20:48] <Hixie> i consider WindowProxy to be one of the most horrific things in the web platform :-)
- # [20:48] <Hixie> it gives me headaches whenever i try to understand what a test should do
- # [20:48] * Quits: krawchyk (~krawchyk@65.220.49.251) (Remote host closed the connection)
- # [20:48] <Hixie> i got the security for it working mostly by making the security not involve the proxy
- # [20:48] <bholley> Hixie: exactly
- # [20:48] <bholley> Hixie: the same would apply for Location
- # [20:49] <bholley> Hixie: all I'm proposing is that we say that window.location returns a LocationProxy rather than a Location
- # [20:49] <bholley> Hixie: that has the same behavior as WindowProxy
- # [20:49] <bholley> Hixie: the security isn't affected from a spec level. It just lets us implement it the way we want
- # [20:50] <bholley> Hixie: basically, saying that LocationProxy === WindowProxy.location, whatever that may be at the moment
- # [20:50] <Hixie> so why is this not a problem for History?
- # [20:50] <Hixie> because the security checks are in the members, not the accessing of the members?
- # [20:51] <bholley> Hixie: Yes. Again, we can (and did!) just stick C++ security checks in the getters/setters
- # [20:51] <bholley> Hixie: but then, for example, those properties can be enumerated, which they aren't in the current world
- # [20:52] <Hixie> (i understand that you can do both but one is nicer, i'm just trying to work out why you're not going to later say we should have HistoryProxies)
- # [20:52] <bholley> Hixie: also, history is simple because it's not cross-origin accessible
- # [20:52] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # [20:55] <bholley> Hixie: I think speccing this stuff isn't that hard. IMO the biggest issue is that it's hard from WebKit to implement, and abarth says he isn't likely to do it
- # [20:55] <bholley> which is understandable
- # [20:55] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [20:55] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
- # [20:55] <bholley> Hixie: given the testing we did, jst decided that we should just align with Presto/Trident for the time being
- # [20:55] <bholley> Hixie: since it makes things nicer for us, and we're not really close to spec consensus at this point
- # [20:55] <Hixie> that's definitely a concern, though not one which i give much more weight than your opinion regarding the complexity it adds to your code
- # [20:55] <Hixie> that=abarth's comments about webkit
- # [20:55] <bholley> Hixie: but the IE10 thing is interesting
- # [20:56] <Hixie> yeah the IE10 thing definitely puts more spice into the discussion
- # [20:56] <bholley> Hixie: if Gecko were the only engine that did things our way, I'd align with the spec
- # [20:56] <bholley> Hixie: I don't think the same is true for WebKit
- # [20:56] <annevk> Ms2ger or Ms3ger: can we make Anolis match on both word plus trailing "s" and word minus trailing "s"?
- # [20:56] <abarth> bholley: it's just a cost benefit issue. the engineering you're asking for is highly non-trivial
- # [20:56] <annevk> Ms2ger or Ms3ger: because that would save a lot of typing (and fixing)
- # [20:57] <Hixie> bholley: i don't give much weight to arguments along the lines of "even if we're the only ones left, we'll never change!", because i feel that's more like hostage taking than negotiation.
- # [20:57] <Hixie> bholley: but i don't think that's what webkit peeps are saying
- # [20:57] * Joins: baku (~baku@x1-6-e0-46-9a-1f-0a-72.k694.webspeed.dk)
- # [20:57] <Hixie> oh hey, a wild abarth appears!
- # [20:57] <bholley> abarth: I understand, and am not blaming you
- # [20:58] <bholley> abarth: we'd do it because the engineering on our side would likely be simpler
- # [20:58] <abarth> bholley: if you wrote a patch that implement the behavior, i'd be happy to review it. I'm just being honest and telling you that the folks with the expertise to make such a change aren't likely to see enough benefit to outweigh the other things they could spend their time on
- # [20:58] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
- # [20:58] <Hixie> bholley: ignoring implementation complexity for now, since it seems that argument can be drawn in all directions (especially given IE10), it does seem like from an author's perspective the proxy thing would be net worse than having different Location objects for each Document
- # [20:58] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Remote host closed the connection)
- # [20:59] <bholley> Hixie: how come?
- # [20:59] <Hixie> bholley: well, say you have a Document, and you grab it's Location and decide you're going to shim in support for anne's new methods
- # [20:59] <Hixie> bholley: and then later you navigate that iframe to a different page on the same origin
- # [20:59] <Hixie> bholley: suddenly your shims are gone
- # [21:00] <Hixie> bholley: but it's the "same object"
- # [21:00] <Hixie> bholley: then the user hits back, and your shims are suddenly back
- # [21:00] <Hixie> bholley: i think it'd be really confusing
- # [21:00] <bholley> Hixie: no, they're not back
- # [21:00] <Hixie> they'd be back if it worked like Window
- # [21:00] <Hixie> but if tehy're not back that's even more confusing :-)
- # [21:00] <bholley> Hixie: my proposal was to clear expandos on each navigation, which seemed the most sane
- # [21:01] <Hixie> i meant changes to the Location interface object, not the instance
- # [21:01] <bholley> Hixie: oh, the interface object would stay, yeah
- # [21:01] <Hixie> permanently clearing the properties set on the object seems bad too, though
- # [21:01] <bholley> Hixie: welll...
- # [21:02] <bholley> Hixie: currently, if you go back/forward, whether your properties persist on Window or not depends on whether the page persisted
- # [21:02] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Client Quit)
- # [21:02] <bholley> Hixie: though I guess in this case we're only discussing the persisted case
- # [21:03] * Quits: divya (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [21:04] <Hixie> bholley: having the Window object's prototype chain change when you navigate is weird enough, having a Location object change when you navigate seems even worse
- # [21:04] * Joins: Kolombiken (~Adium@c80-216-10-244.bredband.comhem.se)
- # [21:04] <Hixie> bholley: if it wasn't for implementation ease, do you agree that we wouldn't design the API this way?
- # [21:05] <bholley> Hixie: well, I think the current spec language is the sanest way to design the API
- # [21:06] <bholley> Hixie: once we're stuck with the constraint that the object operates on the active browsing context…iunno
- # [21:06] <bholley> Hixie: but I am not the expert on that part
- # [21:06] <Hixie> i think officially i'm supposed to be, but hell if i know
- # [21:06] <bholley> Hixie: (API design for web authors)
- # [21:08] <Hixie> i think i'm leaning towards the webkit model, but i hope you don't feel i'm ignoring your feedback here. it just seems that the arguments are slightly in that direction.
- # [21:08] * Quits: mindbender1 (~chijioke@196.46.246.57) (Ping timeout: 265 seconds)
- # [21:08] * Quits: erichynds (~ehynds@64.206.121.41)
- # [21:09] <Hixie> i'll respond to the thread in more detail this afternoon.
- # [21:09] <bholley> Hixie: I don't feel that way. I'm probably not the best person to be thinking about this from a spec level though. Can we send mail and let bz weight in?
- # [21:09] <bholley> Hixie: ok great
- # [21:09] <Hixie> definitely always want more input from bz :-)
- # [21:09] <Hixie> ok i gotta go. bbl. thanks for walking me through this.
- # [21:10] <bholley> Hixie: no problem - thanks for your help/interest here :-)
- # [21:13] <annevk> oh browsers, y u silly
- # [21:13] <annevk> input http://%80
- # [21:13] <annevk> Chrome: fatal error, nonetheless modifies input to http://%EF%BF%BD/
- # [21:14] <annevk> Safari: no problem, but outputs host as � (presumably trying to decode byte using utf-8)
- # [21:14] <annevk> Firefox: no problem, outputs host as %80
- # [21:15] <annevk> Opera: fatal error, with its usual weird opera:illegal-url-* bullshit
- # [21:15] <annevk> I suspect Internet Explorer does something else, but who knows
- # [21:19] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [21:20] * Quits: pyrsmk (~pyrsmk@2a01:e35:2f52:ead0:21e:8cff:feeb:d962) (Remote host closed the connection)
- # [21:21] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
- # [21:21] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Remote host closed the connection)
- # [21:22] * Quits: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net) (Quit: bholley)
- # [21:23] * Joins: Stevef (~chatzilla@77.103.111.77)
- # [21:23] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [21:23] * Joins: scor (~scor@132.183.242.186)
- # [21:23] * Quits: scor (~scor@132.183.242.186) (Changing host)
- # [21:23] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [21:25] <annevk> but if input is http://%80†
- # [21:25] <annevk> Opera: no problem, xn--%80-mp0a
- # [21:26] <annevk> Safari: no problem, but same problem, outputs xn--�-mp0a
- # [21:26] <annevk> Chrome: fatal error, same problem, http://%EF%BF%BD%E2%84%A2/
- # [21:26] <annevk> oops, http://%EF%BF%BD%E2%80%A0/
- # [21:27] <annevk> Firefox: no problem, outputs xn--%80-mp0a
- # [21:27] <a-ja> IE10: This page can't be displayed (for http://%80 )
- # [21:28] * Quits: Stevef (~chatzilla@77.103.111.77) (Ping timeout: 245 seconds)
- # [21:29] * Quits: RobbertAtWork (~robbertat@2001:980:9368:1:65d8:658:d319:be3f) (Remote host closed the connection)
- # [21:29] <annevk> a-ja: ah yeah, you need to use some kind of inspector thingie in the DOM for results
- # [21:30] * Joins: RobbertAtWork (~robbertat@212.238.236.229)
- # [21:30] <a-ja> IE10: Windows cannot find 'http://%80†'. Check the spelling and try again.....in an Address Bar popup
- # [21:33] <annevk> a-ja: use http://dump.testsuite.org/url/inspect.html
- # [21:34] * Quits: RobbertAtWork (~robbertat@212.238.236.229) (Ping timeout: 246 seconds)
- # [21:36] <annevk> a-ja: the URLs themselves don't resolve in this case, the question is more what happens with them in the DOM and what kind of DNS lookup might happen in the end
- # [21:37] <a-ja> tool wont take addy with †
- # [21:38] <annevk> not sure what you mean?
- # [21:38] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Read error: Operation timed out)
- # [21:40] <a-ja> using that tool with http://%80† url typed in gives me nada
- # [21:40] * Joins: divya (~nimbu@sjfw1-a.adobe.com)
- # [21:40] <annevk> ah okay, thanks
- # [21:47] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [21:48] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [21:49] * Quits: eresair (~eresair@173.247.199.2) (Remote host closed the connection)
- # [22:00] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # [22:02] * Joins: RobbertAtWork (~robbertat@212.238.236.229)
- # [22:03] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [22:03] * Quits: Kolombiken (~Adium@c80-216-10-244.bredband.comhem.se) (Quit: Leaving.)
- # [22:03] * Joins: thisgeek (~chris@ool-45757782.dyn.optonline.net)
- # [22:04] * Quits: ehsan (~ehsan@66.207.208.98) (Remote host closed the connection)
- # [22:05] <annevk> hmm, Opera's display of IDNA versus non-display of IDNA leaks into the DOM
- # [22:06] <annevk> %C3%A0 becomes é and %C3%A0% becomes xn--%-rfa
- # [22:06] * abstractj is now known as abstractj|brb
- # [22:06] <annevk> oh, but %41% is an invalid URL
- # [22:06] <annevk> wtf Opera
- # [22:07] * Joins: ehsan (~ehsan@66.207.208.98)
- # [22:13] * paul_irish is now known as paul_irish_
- # [22:19] * Quits: RobbertAtWork (~robbertat@212.238.236.229) (Remote host closed the connection)
- # [22:21] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [22:28] * Joins: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
- # [22:35] * Joins: detrax (~detrax@78.157.69.37)
- # [22:43] * Joins: gavinc_ (~gavin@50.0.77.3)
- # [22:43] * Quits: sedovsek (~robert@BSN-176-141-144.dial-up.dsl.siol.net) (Quit: sedovsek)
- # [22:43] * Joins: cgcardona_ (~cgcardona@64.124.34.2)
- # [22:43] * Quits: cgcardona_ (~cgcardona@64.124.34.2) (Changing host)
- # [22:43] * Joins: cgcardona_ (~cgcardona@unaffiliated/cgcardona)
- # [22:44] * Quits: danja (~danny@host70-55-dynamic.9-79-r.retail.telecomitalia.it) (Ping timeout: 252 seconds)
- # [22:45] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Remote host closed the connection)
- # [22:45] * Joins: sedovsek (~robert@BSN-176-141-144.dial-up.dsl.siol.net)
- # [22:45] * Quits: gavinc (~gavin@50.0.77.3) (Ping timeout: 245 seconds)
- # [22:46] * Quits: cgcardona (~cgcardona@unaffiliated/cgcardona) (Ping timeout: 248 seconds)
- # [22:46] * cgcardona_ is now known as cgcardona
- # [22:47] * Joins: say2joe (~say2joe@204.56.108.2)
- # [22:51] * Joins: bholley (~bholley@c-67-161-57-5.hsd1.ca.comcast.net)
- # [22:52] * Joins: eresair (~eresair@173.247.199.2)
- # [22:52] * Joins: sicking (~sicking@63.245.219.150)
- # [22:56] * Joins: danja (~danny@79.12.200.2)
- # [23:01] * abstractj|brb is now known as abstractj
- # [23:05] * Quits: garciawebdev (~garciaweb@190.244.76.154) (Remote host closed the connection)
- # [23:06] <annevk> looks like denying U+FFFD might be http://tools.ietf.org/html/rfc3454#appendix-C.6
- # [23:06] * Quits: gavinc_ (~gavin@50.0.77.3) (Quit: Konversation terminated!)
- # [23:07] <annevk> which is via various references part of IDNA2003
- # [23:09] * Joins: Guest189 (~newton@rrcs-76-79-131-246.west.biz.rr.com)
- # [23:11] * Quits: Druide__ (~Druid@p5B1355B6.dip.t-dialin.net) (Ping timeout: 244 seconds)
- # [23:11] * Quits: cgcardona (~cgcardona@unaffiliated/cgcardona) (Remote host closed the connection)
- # [23:12] * Joins: cgcardona (~cgcardona@unaffiliated/cgcardona)
- # [23:12] * Joins: Druide_ (~Druid@p5B1355B6.dip.t-dialin.net)
- # [23:13] * Joins: dbaron (~dbaron@2620:101:8003:200:cdce:408b:f1ca:4ad3)
- # [23:16] * heycam|away is now known as heycam
- # [23:16] * Quits: divya (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [23:17] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
- # [23:17] * Quits: MacTed (~Thud@63.119.36.36)
- # [23:18] * Joins: Kolombiken (~Adium@c80-216-10-244.bredband.comhem.se)
- # [23:19] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [23:22] * heycam must be missing some context because he doesn't know what annevk and TabAtkins were talking about earlier re arrays, maps, and things
- # [23:22] <heycam> Hixie, pong
- # [23:23] <annevk> heycam: for ES6 Map, have a way to subclass that including overriding argument types
- # [23:24] <annevk> heycam: for ES Array, have a way to subclass that in similar manner, so you can e.g. do url.segments[2] = "partOfPath" (which will get some pre-processing on setting and affects the url object)
- # [23:24] <heycam> annevk, we do?
- # [23:24] <heycam> oh sorry, I accidentally a word
- # [23:25] * Quits: zdobersek (~zan@cpe-46-164-1-103.dynamic.amis.net) (Quit: Leaving.)
- # [23:25] * Joins: divya (~nimbu@sjfw1-a.adobe.com)
- # [23:25] <heycam> the whole thing with subclassing arrays, I was kind of waiting for the ES spec to make that possible before trying something like that
- # [23:25] <annevk> heycam: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Nov/0235.html
- # [23:26] <annevk> heycam: I see, TabAtkins tells me it's already possible...
- # [23:26] <heycam> I am out of date then!
- # [23:26] * Joins: mindbender1 (~chijioke@196.46.245.29)
- # [23:26] <annevk> well or TabAtkins is in the future
- # [23:26] <heycam> ha
- # [23:26] * heycam wonders what it would mean to call the proto's get/set on a subclassed map
- # [23:28] <annevk> I'm a little sceptic there's a lot of value to be gained here, but who knows
- # [23:28] <heycam> what API is this wanted for btw?
- # [23:28] <annevk> Map is wanted for URLQuery: http://url.spec.whatwg.org/#urlquery
- # [23:29] <annevk> Array might be wanted for non-existing URLSegments or some such
- # [23:31] <annevk> heycam: oh, and if you're short on things to do, there's a question on "throw" in https://www.w3.org/Bugs/Public/show_bug.cgi?id=19110 and one on optional arguments versus dictionaries in https://www.w3.org/Bugs/Public/show_bug.cgi?id=19646
- # [23:31] <heycam> annevk, would URLQuery.set do some validation on the value you pass in? so it doesn't contain a "&" character or something?
- # [23:31] <heycam> shorrt on things to do, right :)
- # [23:32] <annevk> heycam: it would probably transform certain characters
- # [23:32] <annevk> heycam: percent encode them or some such
- # [23:32] <heycam> so I am wondering whether subclassing is the right relationship for the URLQuery, if we want to prevent certain characters from getting into the map without being transformed
- # [23:32] <heycam> we probably want to use the same interface as Map, but not be a subclass of Map -- more like we want to wrap an internal map that you can't get to
- # [23:34] * abstractj is now known as abstractj|away
- # [23:34] <heycam> sorry to do this to you, but would you mind mailing or filing a bug about the Map thing?
- # [23:34] * Quits: divya (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
- # [23:35] * heycam will work on a few webidl bugs later this week -- I'll put the above bugs 19110 and 19646 on my list to do
- # [23:35] <annevk> heycam: yeah can do (I'm not really sure subclassing Map is the right solution either, maybe I'll post to the whatwg list about it again with some of the requirements and see if that makes it still a good approach)
- # [23:35] <annevk> heycam: ta
- # [23:35] <heycam> yeah if you can tease those things out first before I plunge into doing Map stuff in the spec, that would be good
- # [23:41] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [23:44] * Joins: Stevef (~chatzilla@77.103.111.77)
- # [23:46] * Quits: baku (~baku@x1-6-e0-46-9a-1f-0a-72.k694.webspeed.dk) (Quit: Leaving)
- # [23:48] <TabAtkins> heycam: The reason to subclass Map is to, well, have a Map. So people with code that expects to take a Map can do the obvious test (foo instanceof Map) and have it work correctly.
- # [23:48] <TabAtkins> heycam: AWB has JS code on the thread in WHATWG about how you would do it in ES5 or in ES6-with-classes.
- # [23:48] <TabAtkins> heycam: It's pretty trivial.
- # [23:49] <heycam> does it matter that calling Map.__proto__.set on the subclassed map will subvert the argument checking?
- # [23:49] <heycam> er
- # [23:49] <heycam> Map.prototype.set
- # [23:49] * Quits: Stevef (~chatzilla@77.103.111.77) (Ping timeout: 245 seconds)
- # [23:49] * Quits: detrax (~detrax@78.157.69.37)
- # [23:49] <TabAtkins> I recommend *actually* setting a hidden internal Map, so it's safe from outside manipulation.
- # [23:50] * Joins: imrobert (~robert@139.62.87.109)
- # [23:50] <heycam> TabAtkins, ok. but we would still have the outer one being a real Map, even though it doesn't use its Map-ness?
- # [23:50] <TabAtkins> Yes. The Map-ness is used for type checks, mostly.
- # [23:50] <TabAtkins> Or only, I guess.
- # [23:51] <heycam> so I could imagine code that expects, if it is "instanceof Map", that calling Map.protoype.get on it will do something useful
- # [23:51] <TabAtkins> But still, when I need to distinguish code-paths by type, I use instanceof checks. Having DOM types pass the most appropriate basic ES type is useful.
- # [23:51] <TabAtkins> ...why would anyone do that, rather than just calling get on the object itself?
- # [23:52] <heycam> well I don't know, but it seems like something that should work if an object "is a Map"
- # [23:52] <heycam> I guess it comes down to what you think "instanceof Map" implies
- # [23:52] <TabAtkins> That sort of thing only makes sense in general if you are *actually* a Map, not a subclass of.
- # [23:53] <TabAtkins> You must assume that subclasses have overridden the methods with something useful.
- # [23:53] <TabAtkins> instanceof implies that Map's prototype is *somewhere* in your object's prototype chain.
- # [23:53] <heycam> sure, but that doesn't mean that calling .get() on the object will do you want either
- # [23:54] <heycam> it *probably* will...
- # [23:54] <TabAtkins> If it doesn't act more-or-less like a Map, then you've obviously broken the type contract and deserve pain.
- # [23:54] <TabAtkins> URLQuery does indeed act like a Map. It just coerces its key and value to strings first.
- # [23:55] <heycam> I guess I was thinking that calling Map.prototype.get on it is something that is part of the contract
- # [23:55] * Quits: danzik171 (~danzik17@164.55.254.106) (Ping timeout: 246 seconds)
- # [23:55] <TabAtkins> That seems like a silly thing to expect. ^_^ It basically assumes that the object never overrides any of the superclass's methods.
- # [23:56] * Joins: Stevef (~chatzilla@77.103.111.77)
- # [23:56] <TabAtkins> It's true if you subscribe to the very strictest idea of when it is appropriate to "subclass" (when the subclass is *literally indistinguishable* from the superclass, using operations that the superclass provides), but not in most of the real world.
- # [23:57] <heycam> right, that is how I was thinking about it
- # [23:57] <TabAtkins> Normal people don't think about it that way. ^_^
- # [23:57] <heycam> ha
- # [23:58] <heycam> to me, it feels like you want to state that URLQuery implements a Map interface, and that the JS Map object is actually a concrete class
- # [23:58] <heycam> but that's not really how JS works
- # [23:58] <TabAtkins> That's an acceptable definition of "subclass" in JS terms.
- # [23:58] <TabAtkins> If you pretend that objects can only have a single interface. ^_^
- # [23:59] <TabAtkins> (A proper interface system would be very welcome, but doesn't exist as of yet.)
- # [23:59] <heycam> the end result of this is that you need to be careful about defining what happens when you do call the super methods on your subclassed object
- # [23:59] <heycam> but if that's the way things are, ok
- # Session Close: Tue Nov 20 00:00:00 2012
The end :)