Options:
- # Session Start: Thu May 29 00:00:00 2014
- # Session Ident: #whatwg
- # [00:00] * Joins: llkats_ (~llkats@50.141.87.3)
- # [00:00] * Quits: r2 (~r2@66.94.71.3) (Ping timeout: 258 seconds)
- # [00:01] * Quits: llkats (~llkats@50.141.87.3) (Read error: Connection reset by peer)
- # [00:01] * Quits: bentruyman (~bentruyma@23.252.119.254) (Ping timeout: 264 seconds)
- # [00:01] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [00:01] * bentruyman_ is now known as bentruyman
- # [00:01] * Quits: dcherman2 (~dcherman@164.55.254.106) (Ping timeout: 252 seconds)
- # [00:03] * Quits: othermaciej (~mjs@17.114.217.119) (Quit: othermaciej)
- # [00:05] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [00:06] * Joins: othermaciej (~mjs@17.114.217.119)
- # [00:08] * Joins: weinig (~weinig@17.114.218.140)
- # [00:09] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Ping timeout: 252 seconds)
- # [00:14] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [00:14] * Quits: llkats_ (~llkats@50.141.87.3) (Read error: Connection reset by peer)
- # [00:15] * Quits: weinig (~weinig@17.114.218.140) (Quit: weinig)
- # [00:15] * Joins: llkats (~llkats@50.141.87.3)
- # [00:15] * Quits: jeremyj (~jeremyj@17.202.44.231) (Client Quit)
- # [00:16] * Quits: gungan_fuq (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com) (Remote host closed the connection)
- # [00:16] * Joins: gungan_fuq (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com)
- # [00:17] * Quits: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com) (Quit: Leaving.)
- # [00:19] * Joins: gungan_f_ (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com)
- # [00:21] * Quits: gungan_fuq (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com) (Ping timeout: 240 seconds)
- # [00:21] * Quits: Maurice` (copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl)
- # [00:22] * Quits: gungan_f_ (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com) (Remote host closed the connection)
- # [00:23] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [00:24] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [00:25] <Domenic> TabAtkins: the interface. Given that it adds nothing to HTMLElement, I feel there must be a story there.
- # [00:25] * Quits: jacobolus (~jacobolus@199-241-200-88.PUBLIC.monkeybrains.net) (Remote host closed the connection)
- # [00:28] * Joins: weinig (~weinig@17.202.50.223)
- # [00:30] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Read error: Connection reset by peer)
- # [00:31] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [00:35] * Quits: llkats (~llkats@50.141.87.3) (Read error: Connection reset by peer)
- # [00:36] * Joins: llkats (~llkats@50.141.87.3)
- # [00:49] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [00:51] * Quits: plutoniix (~plutoniix@node-4fd.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [00:58] * Joins: seventh (seventh@192.64.7.228)
- # [00:58] <TabAtkins> Yeah, identification. There's sine missteps, but *most* elements have unique interfaces.
- # [01:00] * Quits: lmclister (~lmclister@sjfw1.adobe.com)
- # [01:01] * weinig is now known as weinig|away
- # [01:02] * Joins: llkats_ (~llkats@50.141.87.3)
- # [01:04] * Quits: llkats (~llkats@50.141.87.3) (Ping timeout: 240 seconds)
- # [01:06] * llkats_ is now known as llkittens
- # [01:11] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [01:15] * Joins: barnabywalters (~barnabywa@89.17.128.127)
- # [01:17] * Quits: r2_ (~r2@181.16.14.134) (Quit: Leaving)
- # [01:18] * Quits: ehsan (~ehsan@66.207.208.102) (Remote host closed the connection)
- # [01:20] * Joins: ehsan (~ehsan@66.207.208.102)
- # [01:20] * Quits: ehsan (~ehsan@66.207.208.102) (Remote host closed the connection)
- # [01:24] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [01:25] * Quits: llkittens (~llkats@50.141.87.3) (Read error: Connection reset by peer)
- # [01:26] * Joins: llkittens (~llkats@50.141.87.3)
- # [01:26] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [01:28] * Quits: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95) (Quit: coolbot95)
- # [01:33] * Joins: mven_ (~textual@ip68-104-38-84.lv.lv.cox.net)
- # [01:34] * Joins: jdaggett (~jdaggett@61-121-216-2.bitcat.net)
- # [01:41] * Joins: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95)
- # [01:45] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Read error: Connection reset by peer)
- # [01:49] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: barnabywalters)
- # [01:50] * Quits: llkittens (~llkats@50.141.87.3) (Read error: Connection reset by peer)
- # [01:50] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [01:51] * Joins: llkittens (~llkats@50.141.87.3)
- # [01:51] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [01:53] * Krinkle is now known as Krinkle|detached
- # [01:55] * Joins: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com)
- # [01:56] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [02:02] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [02:04] * Quits: estellevw (~estellevw@209.49.73.82) (Quit: Snuggling with the puppies)
- # [02:05] * Quits: ap (~ap@2620:149:4:304:9d2f:11e8:518d:3d51) (Quit: ap)
- # [02:05] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
- # [02:05] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
- # [02:07] <MikeSmith> Hixie: Yeah I'm noticing even-more-frequent 408s from bugzilla too, and not just in chrome. I'll raise an actual report for it with the systems team and ask that somebody spend some time trying to reproduce it and troubleshoot it.
- # [02:08] * Joins: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com)
- # [02:13] * Joins: ehsan (~ehsan@24-212-207-29.cable.teksavvy.com)
- # [02:16] * Quits: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com) (Quit: sicking)
- # [02:23] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [02:23] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
- # [02:23] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [02:26] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [02:26] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
- # [02:27] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [02:30] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [02:30] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 258 seconds)
- # [02:31] * Joins: dcherman (~dcherman@ool-43560d79.dyn.optonline.net)
- # [02:31] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
- # [02:32] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [02:32] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [02:33] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [02:34] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Ping timeout: 276 seconds)
- # [02:36] * Quits: llkittens (~llkats@50.141.87.3) (Read error: Connection reset by peer)
- # [02:38] * Joins: llkittens (~llkats@50.141.87.3)
- # [02:40] * Quits: jsbell (jsbell@nat/google/x-tfbdksikvsshkdmf) (Quit: There's no place like home...)
- # [02:40] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
- # [02:41] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [02:41] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [02:47] * Joins: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com)
- # [02:49] * Quits: bholley (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Read error: Connection reset by peer)
- # [02:49] * Joins: bholley_ (~bholley@corp-nat.p2p.sfo1.mozilla.com)
- # [02:53] * Quits: llkittens (~llkats@50.141.87.3)
- # [02:56] * Quits: ehsan (~ehsan@24-212-207-29.cable.teksavvy.com) (Quit: Leaving...)
- # [02:58] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [03:01] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [03:03] * Quits: weinig|away (~weinig@17.202.50.223) (Quit: weinig|away)
- # [03:05] * Quits: othermaciej (~mjs@17.114.217.119) (Quit: othermaciej)
- # [03:10] * Quits: espadrine_ (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
- # [03:11] * Joins: espadrine_ (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr)
- # [03:13] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [03:26] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
- # [03:26] * Joins: othermaciej (~mjs@76.74.153.41)
- # [03:27] * Quits: bholley_ (~bholley@corp-nat.p2p.sfo1.mozilla.com) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [03:28] * Quits: bnicholson2 (~bnicholso@corp.mtv2.mozilla.com) (Ping timeout: 255 seconds)
- # [03:28] * Joins: Goplat (~goplat@reactos/developer/Goplat)
- # [03:40] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [03:47] * Quits: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [04:01] * Quits: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95) (Quit: coolbot95)
- # [04:01] <MikeSmith> it is possible to programatically set the validatity state on a particular element?
- # [04:02] <MikeSmith> I'd like to make the browser show an invalidity indicator for a particular input area after some other client-side checking completes
- # [04:03] <Hixie> yeah, that's what setCustomValidity() is for
- # [04:03] <MikeSmith> ah sweet
- # [04:06] <MikeSmith> Hixie: do I then need to fire a synthetic "invalid" event at the element, to get the message to appear?
- # [04:06] <Hixie> the message appears when the form is submitted, usually
- # [04:06] <MikeSmith> ah OK
- # [04:06] <Hixie> there's a recent addition form.reportValidity() that can also be used
- # [04:07] * Quits: jwalden (~waldo@corp.mtv2.mozilla.com) (Quit: ChatZilla 0.9.87-8.1450hg.fc20 [XULRunner 29.0/20140428110119])
- # [04:07] <Hixie> but i don't know who implements that, if anyone
- # [04:07] <MikeSmith> so in this case I'm not actually submitting a form
- # [04:07] <MikeSmith> ok
- # [04:07] <Hixie> (and :invalid should begin matching immediately)
- # [04:08] <MikeSmith> I guess I may need to emulate whatever form.reportValidity() does
- # [04:09] * Joins: llkats (~llkats@50.141.87.3)
- # [04:09] <Hixie> why aren't you submitting the form?
- # [04:10] <MikeSmith> Hixie: because there's nothing to submit -- it's just executing client-side
- # [04:11] <MikeSmith> this is http://w3c-test.org/tools/runner/index.html
- # [04:11] <Hixie> i don't mean submit to http necessarily
- # [04:11] <MikeSmith> yeah sure
- # [04:11] <Hixie> is there a submit button?
- # [04:11] <MikeSmith> there's the Start button there
- # [04:12] <Hixie> then theres a submission step
- # [04:12] <MikeSmith> which causes it to iterate over a list of tests
- # [04:12] <MikeSmith> yeah
- # [04:12] <Hixie> just make it submit to javascript:submitted() or something
- # [04:12] <Hixie> as in action="javascript:submitted()"
- # [04:12] <MikeSmith> oh
- # [04:13] <MikeSmith> action or formaction?
- # [04:13] <Hixie> action if you put it on <form>
- # [04:13] <Hixie> formaction if you need to override an action="" from the <form> on the <button>
- # [04:13] <MikeSmith> yeah
- # [04:15] <Hixie> i have a proposal somewhere for some extension to method="" that's specifically for forms like this
- # [04:15] <Hixie> a bit like method=dialog but without even the automatic closure of the dialog
- # [04:16] <Hixie> i forget where i mentioned that though...
- # [04:16] <Hixie> i never filed a bug for it specifically
- # [04:17] * Joins: bnicholson2 (~bnicholso@24.130.57.109)
- # [04:19] <Domenic> Iirc programmatic submission does not trigger validity UI
- # [04:20] <Domenic> so reportValidity is awesome but I wish someone implemented it
- # [04:20] <Domenic> TabAtkins: Hixie: so generally the plan going forward is that each new element should have its own class, even if it has no unique properties over HTMLElement?
- # [04:23] * htmelvis is now known as htmelvis_zzz
- # [04:23] * htmelvis_zzz is now known as htmelvis
- # [04:23] * Joins: roc (~chatzilla@60.234.66.18)
- # [04:26] * Quits: othermaciej (~mjs@76.74.153.41) (Quit: othermaciej)
- # [04:26] <MikeSmith> hot dog javascript:submitted() works great
- # [04:26] <MikeSmith> thanks Hixie
- # [04:29] <MikeSmith> hmm maybe I should just call it "started" though
- # [04:30] * Quits: llkats (~llkats@50.141.87.3) (Read error: Connection reset by peer)
- # [04:31] <MikeSmith> someday I should actually get around to learning web programming
- # [04:31] * Joins: llkats (~llkats@50.141.87.3)
- # [04:34] * Quits: seventh (seventh@192.64.7.228) (Ping timeout: 245 seconds)
- # [04:39] * Quits: dcherman (~dcherman@ool-43560d79.dyn.optonline.net) (Quit: Leaving)
- # [04:40] * Joins: Streusel (~Anonymous@S01061859334846a2.vc.shawcable.net)
- # [04:40] * Quits: Streusel (~Anonymous@S01061859334846a2.vc.shawcable.net) (Changing host)
- # [04:40] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
- # [04:40] <MikeSmith> alternatively, it seems like setCustomValidity() is already pretty well supported, and that's less trouble
- # [04:41] <Hixie> Domenic: there's no plan one way or the other there
- # [04:41] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
- # [04:41] <Hixie> MikeSmith: setCustomValidity() is something you would use with submission
- # [04:42] <MikeSmith> Hixie: yeah if I just make my "Start" button type=submit that should work, right?
- # [04:42] <Hixie> yup
- # [04:43] <MikeSmith> yeah so I mean that way I don't have to write my own submit thing
- # [04:43] <Hixie> ah right
- # [04:44] <MikeSmith> which in this case means, less code to get reviewed, and so less for zcorpan to find problems with :-)
- # [04:46] <MikeSmith> I find that when things I code need to go to zcorpan for review, minimizing the review surface causes me less embarrassment and time
- # [04:48] <Hixie> that's pretty much a given for anyone :-)
- # [04:48] * Joins: llkats_ (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [04:51] * Quits: llkats (~llkats@50.141.87.3) (Ping timeout: 258 seconds)
- # [04:55] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
- # [04:56] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
- # [04:58] * parshap_ is now known as parshap
- # [05:02] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Ping timeout: 255 seconds)
- # [05:06] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
- # [05:25] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [05:41] * htmelvis is now known as htmelvis_zzz
- # [05:41] * htmelvis_zzz is now known as htmelvis
- # [05:46] * Quits: espadrine_ (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
- # [05:46] * Joins: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net)
- # [06:02] * Joins: weinig (~weinig@98.234.191.242)
- # [06:03] * Joins: darin (~darin@c-69-181-136-182.hsd1.ca.comcast.net)
- # [06:03] * darin is now known as fishd
- # [06:05] * Quits: nephyrin (~neph@corp.mtv2.mozilla.com) (Ping timeout: 240 seconds)
- # [06:10] * Quits: fishd (~darin@c-69-181-136-182.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
- # [06:17] * Quits: llkats_ (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [06:17] * Joins: llkats (~llkats@h-64-236-138-3.aoltw.net)
- # [06:23] * Joins: fishd (~fishd@216.239.45.130)
- # [06:25] <zewt> i really have to wonder who designs the twitter input UI and goes home at the end of the day with a firm good-day-of-work nod
- # [06:25] <zewt> re: press down, go to next line. press down again, get a "David Goodman" dropdown because the cursor is on the word "good"
- # [06:38] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [06:48] * Joins: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net)
- # [06:52] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
- # [06:53] * Quits: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [06:58] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
- # [07:00] <SamB> zewt: what is this "line" of which you speak
- # [07:01] * Quits: weinig (~weinig@98.234.191.242) (Quit: weinig)
- # [07:01] <zewt> text input box
- # [07:03] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Ping timeout: 255 seconds)
- # [07:03] * SamB does not think of twitter input as *having* lines
- # [07:07] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [07:14] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
- # [07:16] * Quits: rniwa (~rniwa@17.202.43.222) (Quit: rniwa)
- # [07:21] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
- # [07:25] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
- # [07:27] * Quits: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net) (Ping timeout: 245 seconds)
- # [07:40] * Quits: roc (~chatzilla@60.234.66.18) (Ping timeout: 252 seconds)
- # [07:52] * Joins: espadrine (~ttyl@AMontsouris-158-1-15-152.w92-128.abo.wanadoo.fr)
- # [07:59] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [08:01] * Joins: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com)
- # [08:15] * Quits: llkats (~llkats@h-64-236-138-3.aoltw.net)
- # [08:16] * Joins: mpt (mpt@conference/canonical/x-vpxdypqecmqhubab)
- # [08:16] * Quits: mpt (mpt@conference/canonical/x-vpxdypqecmqhubab) (Changing host)
- # [08:16] * Joins: mpt (mpt@canonical/mpt)
- # [08:16] * Quits: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com) (Quit: Leaving.)
- # [08:22] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
- # [08:24] * Joins: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net)
- # [08:26] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
- # [08:35] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
- # [08:35] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [08:42] * Joins: rniwa (~rniwa@67.164.23.121)
- # [08:57] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
- # [09:19] * Joins: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be)
- # [09:23] * Joins: Smylers (~smylers@176.12.107.140)
- # [09:27] * Quits: fishd (~fishd@216.239.45.130) (Ping timeout: 258 seconds)
- # [09:29] * Joins: Smylers1 (~smylers@94.118.156.243)
- # [09:31] * Quits: Smylers (~smylers@176.12.107.140) (Ping timeout: 258 seconds)
- # [09:34] * Quits: Smylers1 (~smylers@94.118.156.243) (Ping timeout: 255 seconds)
- # [09:38] * Quits: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net) (Quit: sicking)
- # [09:43] * Quits: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk) (Ping timeout: 265 seconds)
- # [09:46] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [09:48] * Joins: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk)
- # [09:54] * Joins: Smylers (~smylers@81.143.60.194)
- # [10:07] * Joins: plutoniix (~plutoniix@node-5uo.pool-125-25.dynamic.totbb.net)
- # [10:10] * Quits: jdaggett (~jdaggett@61-121-216-2.bitcat.net) (Ping timeout: 252 seconds)
- # [10:12] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [10:27] * Quits: rniwa (~rniwa@67.164.23.121) (Quit: rniwa)
- # [10:28] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [10:38] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
- # [10:47] * Joins: Maurice` (copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl)
- # [10:50] * Joins: poona (~poona@unaffiliated/poona)
- # [10:54] <annevk> Domenic: I think each element having its own class is a requirement if we start exposing constructors, otherwise adding new features to existing elements becomes problematic
- # [10:55] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
- # [11:02] * Quits: SamB (~SamB@2001:470:1f07:57:1d3e:c79e:fb97:afe6) (Read error: Connection reset by peer)
- # [11:03] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
- # [11:04] * Joins: SamB (~SamB@2001:470:1f07:57:24ad:5c8c:c2a1:c153)
- # [11:11] * Joins: zdobersek (~zan@109.201.152.16)
- # [11:14] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
- # [11:18] * Joins: zdobersek1 (~zan@fanzine.igalia.com)
- # [11:21] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [11:22] * Quits: zdobersek1 (~zan@fanzine.igalia.com) (Client Quit)
- # [11:22] * Quits: zdobersek (~zan@109.201.152.16) (Ping timeout: 252 seconds)
- # [11:29] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [11:40] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 252 seconds)
- # [11:40] * Joins: zdobersek (~zan@109.201.152.9)
- # [11:40] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Quit: BigBangUDR)
- # [11:46] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 240 seconds)
- # [11:47] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [11:49] * Joins: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8)
- # [11:54] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [12:08] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [12:10] * Quits: lerc (~quassel@121-74-2-8.telstraclear.net) (*.net *.split)
- # [12:11] * Joins: lerc (~quassel@121-74-2-8.telstraclear.net)
- # [12:16] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
- # [12:17] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [12:19] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
- # [12:19] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [12:20] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Read error: Connection reset by peer)
- # [12:21] * Joins: satazor (~satazor@bl17-210-61.dsl.telepac.pt)
- # [12:24] * Joins: aleray (~aleray@109.129.176.18)
- # [12:24] <aleray> hi, I have a webpage with several articles. Each article is translated in several languages. what is a sensible markup in this case?
- # [12:24] * Quits: satazor (~satazor@bl17-210-61.dsl.telepac.pt) (Remote host closed the connection)
- # [12:24] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [12:24] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [12:25] <aleray> example: http://dpaste.com/0HFDBMR/
- # [12:27] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [12:32] <annevk> aleray: use an <article> for each translation with lang=nl and such
- # [12:32] <annevk> aleray: or maybe <section> for each translation,
- # [12:32] * Quits: mpt (mpt@canonical/mpt) (Ping timeout: 255 seconds)
- # [12:33] <annevk> aleray: depends a bit on size and such I guess, not sure there's a hard and fast rule
- # [12:33] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 258 seconds)
- # [12:37] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [12:41] * Joins: adactio (~adactio@212.42.170.121)
- # [12:41] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Client Quit)
- # [12:42] * Joins: kestutis (~kestutis@46-37-58-172.dsl.cnl.uk.net)
- # [12:50] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [12:50] <aleray> annevk, you mean like this? http://dpaste.com/14HHXYD/
- # [12:54] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [12:57] * Joins: lars_smit (~larssmit@a80-101-110-66.adsl.xs4all.nl)
- # [13:07] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
- # [13:09] * Joins: cheron (~cheron@unaffiliated/cheron)
- # [13:13] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [13:15] <annevk> aleray: not sure I'd nest <article> like that, it's intended for comments
- # [13:16] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [13:20] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [13:28] * Krinkle|detached is now known as Krinkle
- # [13:36] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
- # [13:37] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [13:38] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [13:39] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
- # [13:41] <annevk> JakeA: you around?
- # [13:42] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 265 seconds)
- # [13:44] * Joins: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95)
- # [13:52] * Joins: barnabywalters (~barnabywa@89.17.128.127)
- # [13:53] <annevk> What's a good name for Request and URL combined?
- # [13:53] <annevk> RequestInfo?
- # [13:54] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [14:08] * Quits: bentruyman (~bentruyma@23.252.119.254) (Ping timeout: 252 seconds)
- # [14:10] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
- # [14:11] * Joins: bentruyman (~bentruyma@23.252.119.254)
- # [14:14] * Joins: felipedefarias (~felipedef@189-19-85-225.dsl.telesp.net.br)
- # [14:16] * Joins: mpt (mpt@conference/canonical/x-pnlvybtzohipzggw)
- # [14:16] * Quits: mpt (mpt@conference/canonical/x-pnlvybtzohipzggw) (Changing host)
- # [14:16] * Joins: mpt (mpt@canonical/mpt)
- # [14:17] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [14:18] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:d055:936b:ec40:daab)
- # [14:21] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [14:27] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
- # [14:27] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [14:30] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [14:32] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 252 seconds)
- # [14:33] * Quits: poona (~poona@unaffiliated/poona) (Ping timeout: 240 seconds)
- # [14:33] <tobie> annevk: what do you mean by combined?
- # [14:33] * Joins: newtron (~newtron@199.71.174.203)
- # [14:34] <annevk> tobie: see http://fetch.spec.whatwg.org/#fetch-api
- # [14:35] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [14:35] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
- # [14:36] <tobie> I was going to ask if you were looking for (Request or SVStr)
- # [14:39] <annevk> tobie: yeah, a name for that :-)
- # [14:44] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [14:44] <tobie> annevk: do you see it more as (Obj or primitive) or as RequestParam?
- # [14:45] <annevk> Above I used a single name as fetch() also takes it as argument
- # [14:45] <annevk> If I have repeat usage of an or'd item I try to make a name for it
- # [14:46] <tobie> Right. Which makes sense.
- # [14:46] * Joins: poona (~poona@117.198.111.242)
- # [14:46] * Quits: poona (~poona@117.198.111.242) (Changing host)
- # [14:46] * Joins: poona (~poona@unaffiliated/poona)
- # [14:46] <tobie> Unrelated, but doesn't the same pattern also make sense for URL?
- # [14:47] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [14:48] * Joins: tj_vantoll1 (~Adium@c-98-250-130-237.hsd1.mi.comcast.net)
- # [14:51] <annevk> tobie: what do you mean?
- # [14:51] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:d055:936b:ec40:daab) (Ping timeout: 240 seconds)
- # [14:51] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [14:52] <tobie> That new URL() accepts both a SV string and an URL.
- # [14:56] <annevk> tobie: oh, URL stringifies
- # [14:56] <tobie> annevk: Oh.
- # [14:57] <tobie> annevk: where (how?) is that behaviour described.
- # [14:57] <JakeA> annevk: sorry, recording a 15 min video took all morning. Catching up…
- # [14:57] <annevk> tobie: "stringifier attribute ScalarValueString href;"
- # [14:57] <tobie> duh
- # [14:59] <tobie> annevk: Would something like GenericRequest capture the intention (it's ugly, though)
- # [15:00] <JakeA> annevk: I've always called it just "request", one of the first step is 'upgrading' strings to responses, so haven't seen it as an issue
- # [15:03] <annevk> JakeA: the issue is that Request is a thing :-)
- # [15:03] <annevk> JakeA: in an hour or so from now I'd like to talk about body/headers if that works
- # [15:03] <annevk> tobie: yeah, not really better than Info
- # [15:03] <JakeA> annevk: Yeah, I'm free now
- # [15:03] <annevk> JakeA: yeah sorry, going out to get a snack
- # [15:04] <JakeA> annevk: no worries, got inbox to churn though
- # [15:14] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [15:16] * Quits: rcombs (~rcombs@rcombs.me) (Read error: Connection reset by peer)
- # [15:18] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [15:19] * Joins: rcombs (~rcombs@rcombs.me)
- # [15:21] * Quits: ^esc (~esc-ape@77.119.129.217.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
- # [15:28] <tobie> annevk: what's your plan for headers? More towards a dictionary or raw text with methods like for xhr?
- # [15:30] * Joins: TallTed (~Thud@63.119.36.36)
- # [15:30] * Quits: felipedefarias (~felipedef@189-19-85-225.dsl.telesp.net.br) (Remote host closed the connection)
- # [15:31] * Quits: lars_smit (~larssmit@a80-101-110-66.adsl.xs4all.nl) (Quit: Textual IRC Client: www.textualapp.com)
- # [15:31] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [15:36] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 258 seconds)
- # [15:45] * Krinkle is now known as Krinkle|detached
- # [15:51] <annevk> ait back
- # [15:51] <annevk> tobie: I have no idea
- # [15:51] <annevk> tobie: I was hoping other people had ideas, JakeA?
- # [15:52] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: barnabywalters)
- # [15:52] <tobie> worth looking at what JS libs are doing here imho.
- # [15:52] <jgraham> Hmm, you can have multiple headers with the same name
- # [15:52] <jgraham> So a dictionary doesn't quite work
- # [15:53] <zewt> order might matter in some cases too
- # [15:53] <jgraham> The standard python thing seems to be a "multidict" which stores a list, but makes access to one of the first or last value simple
- # [15:54] <jgraham> http://docs.webob.org/en/latest/reference.html#id3
- # [15:54] <zewt> xhr just flattens multiple values for a header, not sure if that's bad somehow
- # [15:54] <tobie> you can return an array in those cases (or in all cases)
- # [15:55] <jgraham> http://docs.webob.org/en/latest/#multidict
- # [15:55] <zewt> returning an array is annoying when you usually only have one value (and only sometimes returning an array is *really* annoying)
- # [15:55] <jgraham> So returning an array in some cases is confusing and returning an array in all cases is user-hostile
- # [15:55] <JakeA> agreed
- # [15:56] <JakeA> made a "query string to dict" method that always had arrays as keys. It was shite.
- # [15:56] <zewt> (a bigger problem with URL query APIs; I hate the ones that return arrays, making my life harder for some other 1% of users)
- # [15:56] <jgraham> The 1% that use radio buttons?
- # [15:57] <jgraham> Actually I guess that's wrong
- # [15:57] <annevk> jgraham: multiple headers with the same name is the same as multiple values for a single name
- # [15:57] <annevk> zewt: order only matters on the response and shouldn't in theory
- # [15:57] <jgraham> annevk: Yeah, so?
- # [15:57] <jgraham> You still have to support it
- # [15:57] <annevk> jgraham: no, you can just expose it as a single name with multiple values
- # [15:57] <JakeA> http://nodejs.org/api/http.html#http_message_headers node just uses a dict
- # [15:58] <jgraham> You mean comma seperated?
- # [15:58] <jgraham> I thought the whole point was to avoid the user having to parse things
- # [15:58] <annevk> jgraham: that's multiple values
- # [15:58] <annevk> jgraham: but it could be an array
- # [15:58] <zewt> jgraham: you don't have to support it if it's a new API
- # [15:59] <jgraham> annevk: 13:55 < jgraham> So returning an array in some cases is confusing and returning an array in all cases is user-hostile
- # [16:00] <JakeA> .get() .getAll()?
- # [16:00] <JakeA> :(
- # [16:00] <jgraham> Something like that
- # [16:00] <jgraham> I would be fine if [] did .get()
- # [16:00] <zewt> actually, it should probably just match URL, since it seems like an identical problem
- # [16:00] * Joins: satazor (~satazor@bl17-210-61.dsl.telepac.pt)
- # [16:01] <annevk> what's actually wrong with having to parse the values?
- # [16:01] <zewt> (URL queries, that is)
- # [16:01] <annevk> splitting on "," if you expect multiple values seems not that bad
- # [16:01] <jgraham> It seems terrible
- # [16:02] <jgraham> You have to check every time to see if you have a "," in the value and if so split it
- # [16:02] <zewt> (splitting on "," then stripping spaces)
- # [16:02] <jgraham> Otherwise you get a bogus value
- # [16:02] <annevk> jgraham: euhm no? mostly the header name indicates it only has a single value
- # [16:03] <JakeA> headers[headerName], vs headers.all which is an array of arrays [[key, val], [key, val], [key, val]]
- # [16:03] <zewt> i don't know the use cases, but if a dumb server sends "Content-Type: text/plain" twice in a row because someone did something dumb in PHP, and my code assumes only one value, I'd rather get one arbitrary header value (even if they're different) than "text/plain, text/plain"
- # [16:03] <JakeA> You'd use .all if you care about the ordering
- # [16:03] <JakeA> & multiple values
- # [16:03] <zewt> JakeA: http://url.spec.whatwg.org/#urlsearchparams
- # [16:03] <JakeA> headers[headerName] is comma joined
- # [16:03] <annevk> zewt: at that point you'd have a security bug in your code
- # [16:03] <zewt> annevk: unconvincing
- # [16:04] <jgraham> annevk: Having a bug in your code because you expect one value and get more than one seems much more likely than having a bug when the API consistently returns data in the same format for a given call
- # [16:04] <JakeA> URLSearchParams works for me. As jgraham says, headers[val] should be the same as headers.get(val)
- # [16:05] <tobie> +1 for consistency with URLSearchParams
- # [16:06] <tobie> getAll returns an array?
- # [16:06] <jgraham> Yeah
- # [16:07] <tobie> and so get(foo) === getAll(foo)[0]
- # [16:07] <annevk> I wonder if we can make that generic
- # [16:07] <JakeA> I'm happy with that
- # [16:07] <annevk> But what do we want for the construction side?
- # [16:07] <JakeA> Fits nicely with cache.match & matchAll
- # [16:07] <zewt> annevk: seems like the only thing query-specific right now is the stringifier
- # [16:07] <annevk> new Request(url, { headers: XXX })
- # [16:08] <jgraham> Yeah, I don't really care if get returns [0] or [-1], so consistency with URLSearchParams seems ideal
- # [16:08] <annevk> zewt: and the parser
- # [16:08] <JakeA> annevk: obj. If you want to do fancy shit, you construct then headers.append
- # [16:08] <annevk> URLSearchParams could be a subclass perhaps
- # [16:08] <annevk> JakeA: I want Request to be immutable
- # [16:09] <annevk> JakeA: but it could be obj or WhateverWeCallTheHeaderThing
- # [16:09] <jgraham> annevk: .append to the URLSearchParams-like object I assume
- # [16:09] <annevk> Actually, URLSearchParams-like also sucks for keeping Request immutable
- # [16:09] <JakeA> hmm, I don't think it should be immutable
- # [16:09] <tobie> setter should prop accept a vanilla obj with arrays or strings
- # [16:09] <zewt> annevk: it'd just need an immutable base class
- # [16:09] * Joins: gungan_fuq (~encryptd_@23.30.224.246)
- # [16:09] <annevk> sounds like a lot of complexity for some headers
- # [16:10] <JakeA> annevk: it'd be great to be able to modify requests as they fly through the fetch event (add/remove headers)
- # [16:10] <zewt> sounds like a common pattern for data structures
- # [16:10] <JakeA> annevk: Without explicitly respondWithing
- # [16:10] <annevk> JakeA: Could you clarify the Cache API that it's intended to be available on the main thread in due course and is origin-bound security-wise? That is, the main thread has access to the same data?
- # [16:11] <JakeA> annevk: Clarify it in the spec?
- # [16:11] <annevk> JakeA: yes
- # [16:11] <JakeA> sure, will make a ticket now to remind me
- # [16:13] * Quits: mpt (mpt@canonical/mpt) (Read error: No route to host)
- # [16:14] * Joins: mpt (mpt@canonical/mpt)
- # [16:15] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [16:17] <JakeA> annevk: is this unpossible? https://gist.github.com/jakearchibald/9f556ce0eafc47ba3d6e
- # [16:19] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [16:19] <annevk> JakeA: at the moment, yes
- # [16:20] <annevk> JakeA: I had assumed we'd not want pages to manipulate the underlying requests so easily; also, it's not entirely clear to me how that would work if the hook for that is that SW returns null
- # [16:21] <JakeA> but isn't the request object modified, or is the serviceworker given a copy?
- # [16:23] <tobie> JakeA: if you want to keep immutability, what you want is an easy way to duplicate a request with a few modifications.
- # [16:23] <jgraham> Why do you want immutability?
- # [16:23] <JakeA> ^- that
- # [16:24] <Ms2ger> FP
- # [16:25] <jgraham> Ms2ger: If you were hoping for first post here, you a a bit late
- # [16:25] <Ms2ger> Pah
- # [16:25] <jgraham> If you were hoping that javascript was a functional programming language, you're a bit deluded
- # [16:29] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [16:30] <annevk> JakeA: I was assuming we'd be passing copies around due to threading
- # [16:31] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
- # [16:31] <tobie> seems sensible to design with immutability and later turn mutable if safe to do so, rather than the opposite.
- # [16:32] <jgraham> It seems more sensible to ask some implementors about whether immutability is a requirement rather than design an API with artificial limitations
- # [16:32] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [16:32] <JakeA> One use-case is resource priorities, being able to tag requests as they come through the fetch event without having to taking over handling the whole request
- # [16:33] <annevk> It's not a requirement of course. You can always make it work somehow.
- # [16:33] <annevk> But it's not as simple as you make it seem
- # [16:34] <annevk> Requests originating from the page are more powerful than we'd like fetch() to handle. But fetch() could still make a restricted copy of course.
- # [16:34] <jgraham> Right, but I'm not sure I understand where you think that an immutable object would help. Is there a case when you pass the object into another thread and it is still accessible in both threads? If so, how expensive is a copy?
- # [16:35] * Quits: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8) (*.net *.split)
- # [16:35] <jgraham> And could you solve it using a COW design? If so, how hard is that to implement?
- # [16:36] <annevk> COW?
- # [16:36] <jgraham> Copy On Write
- # [16:36] <jgraham> i.e. only make a copy if a mutation occurs
- # [16:36] * Krinkle|detached is now known as Krinkle
- # [16:37] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
- # [16:37] * Joins: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8)
- # [16:41] <annevk> jgraham: the problem with mutable is that we have both UA-created Request objects and content-created Request objects
- # [16:42] <annevk> jgraham: the former are more involved
- # [16:42] <JakeA> Or, give SW a copy, then read bits from it if the SW doesn't call respondWith
- # [16:42] <annevk> jgraham: if we allow arbitrary manipulation, there's a whole lot more to reason about
- # [16:42] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 245 seconds)
- # [16:43] <annevk> JakeA: I guess I would have SW return the request rather than null if we go down that route
- # [16:44] * Quits: karlcow (~karl@nerval.la-grange.net) (Ping timeout: 245 seconds)
- # [16:44] <jgraham> annevk: Well the question is whether there are use cases for manipulating the various types of request
- # [16:44] * Joins: nephyrin (~neph@corp.mtv2.mozilla.com)
- # [16:44] <JakeA> annevk: That works
- # [16:44] <jgraham> If there aren't any for UA-generated Request objects, they could be immutable. But JakeA seems to have a better idea of the use cases here
- # [16:45] * Quits: mven_ (~textual@ip68-104-38-84.lv.lv.cox.net) (Ping timeout: 264 seconds)
- # [16:46] * Quits: satazor (~satazor@bl17-210-61.dsl.telepac.pt) (Remote host closed the connection)
- # [16:46] <jgraham> Certainly for user-generated Requests, being able to manipulate the request before passing it to fetch seems very useful
- # [16:46] * Joins: satazor (~satazor@bl17-210-61.dsl.telepac.pt)
- # [16:46] * Quits: nephyrin (~neph@corp.mtv2.mozilla.com) (Read error: Connection reset by peer)
- # [16:46] * Joins: nephyrin` (~neph@corp.mtv2.mozilla.com)
- # [16:46] <JakeA> jgraham: mostly around resource priorities, giving particular request a higher priority without having to handle the request entirely
- # [16:47] <annevk> jgraham: the only case so far was about a UA-generated Request object
- # [16:47] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [16:49] <annevk> JakeA: if we give access to such headers, set by the UA, what are the implications for privacy?
- # [16:49] <annevk> JakeA: I hadn't actually really thought about exposing Request objects in general for all requests the page makes
- # [16:49] <JakeA> annevk: I thought the sensitive headers (such as cookies) were applied after the call into SW
- # [16:49] <annevk> JakeA: maybe there's not much badness apart from cookies, which we'll make sure to hide
- # [16:50] * Quits: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk) (Quit: Ex-Chat)
- # [16:51] <JakeA> (I've caught a crazy one https://www.facebook.com/occupyhtml5/posts/1475786125972047)
- # [16:51] * Quits: satazor (~satazor@bl17-210-61.dsl.telepac.pt) (Ping timeout: 255 seconds)
- # [16:51] <annevk> JakeA: currently cookies are set before, at the same time the Authorization header is built based on URL credentials
- # [16:51] <annevk> JakeA: it seems like SW would want access to same-origin login data
- # [16:51] * Quits: nephyrin` (~neph@corp.mtv2.mozilla.com) (Ping timeout: 252 seconds)
- # [16:51] <JakeA> annevk: but not http-only cookies
- # [16:52] <annevk> JakeA: see http://fetch.spec.whatwg.org/#concept-http-fetch
- # [16:52] <annevk> JakeA: cookies in general are not exposed so I guess they're not an issue
- # [16:52] <JakeA> annevk: https://github.com/slightlyoff/ServiceWorker/issues/234 there's also if-none-match and if-modified-since
- # [16:52] * Joins: nephyrin (~neph@corp.mtv2.mozilla.com)
- # [16:54] <annevk> JakeA: do you want to manipulate <body> too?
- # [16:54] <annevk> JakeA: given http://fetch.spec.whatwg.org/#request what fields should be mutable?
- # [16:58] * Quits: tav (~tav`@host217-42-231-34.range217-42.btcentralplus.com) (Quit: tav)
- # [16:58] * Joins: tav (~tav`@host217-42-231-34.range217-42.btcentralplus.com)
- # [16:59] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [17:01] <JakeA> annevk: anything that wouldn't cause a security issue. Looking now…
- # [17:07] * Joins: izhak (~izhak@92.248.142.152)
- # [17:08] <JakeA> annevk: headers, body, mode, omitCredentialsMode?
- # [17:09] <annevk> JakeA: so if you set headers it would be a security issue for tainted cross-origin requests
- # [17:10] <annevk> JakeA: and changing the mode as a side-effect of setting a header seems very sketchy
- # [17:10] <annevk> JakeA: we could throw if the mode is not CORS or same-origin maybe
- # [17:10] <annevk> JakeA: and then set a flag to not allow mode to be set after you did such a thing
- # [17:11] <annevk> JakeA: but suddenly you're looking at something that's very hard to explain and reason about
- # [17:12] <JakeA> annevk: we're already going to set the mode based one headers in the constructors, aren't we?
- # [17:13] <JakeA> annevk: we can't allow a GET to another origin with arbitrary headers without a preflight
- # [17:13] <annevk> JakeA: my idea was for the constructor to have mode default to CORS
- # [17:13] <annevk> JakeA: and throw if you have headers and mode is not CORS or same-origin
- # [17:14] <JakeA> annevk: I still want to enable (although it may come later) making an image-like request, that'd be non-cors to other origins
- # [17:15] <JakeA> annevk: maybe we throw when setting headers, depending on mode
- # [17:16] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [17:16] <JakeA> annevk: …that would be easy as part of the constructor, as mode would be set before headers
- # [17:17] <annevk> JakeA: you set them at the same time
- # [17:17] <annevk> new Request(..., { headers: ..., mode:"tainted cross-origin" })
- # [17:18] <JakeA> annevk: Yeah, but the algorithm would be "set mode", "set each header, but if a header clashes with the mode, throw"
- # [17:18] <JakeA> or vice versa, I guess
- # [17:18] <annevk> fair
- # [17:19] <JakeA> the same thing would work with mutating, you'd have to lock down mode before adding headers that require cors. But I agree that cors is a sensible default for the constructor
- # [17:19] <annevk> JakeA: when would you want to mutate mode?
- # [17:20] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [17:21] <JakeA> annevk: I can't think of a reason why not
- # [17:25] <tobie> what it UA-generated Request objects were frozen, but constructed ones not?
- # [17:26] <JakeA> tobie: what's the benefit?
- # [17:26] <annevk> "unexplained magic"
- # [17:26] <annevk> (but there'll be some of that anyway)
- # [17:27] <annevk> JakeA: should mutating mode throw if there's headers already set?
- # [17:27] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
- # [17:27] * Joins: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net)
- # [17:27] <annevk> JakeA: how do we know headers are set by the author vs the UA?
- # [17:27] <JakeA> annevk: only if the headers are "illegal" given the new mode
- # [17:27] <annevk> JakeA: such a gigantic mess
- # [17:28] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
- # [17:30] <JakeA> annevk: where do we need to know which headers were set by the author vs UA?
- # [17:31] <tobie> JakeA: makes it easier to reason about?
- # [17:31] <annevk> JakeA: event.request; which headers can I read, which can I set? can I change .mode?
- # [17:32] <tobie> use case for changing mode in that case?
- # [17:32] <annevk> JakeA: if a UA has added Last-Event-ID, that's fine, if you do it, it's not
- # [17:32] <annevk> JakeA: that is, UA adding Last-Event-ID for EventSource() does not cause a preflight to happen
- # [17:33] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [17:33] * Joins: ehsan (~ehsan@66.207.208.102)
- # [17:35] * Joins: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net)
- # [17:35] <JakeA> annevk: I see, so setting mode to cors & back would throw in that case
- # [17:35] <JakeA> fair
- # [17:36] <annevk> but how do we distinguish? do we keep the UA headers and author headers in a distinct map?
- # [17:36] <JakeA> annevk: Does this problem go away if we make mode read-only, but not headers?
- # [17:36] * Joins: lmclister (~lmclister@sjfw1.adobe.com)
- # [17:37] <annevk> JakeA: not really
- # [17:37] <annevk> JakeA: hmm, maybe as soon as you touch headers mode becomes cors-with-preflight and immutable
- # [17:38] * Joins: tj_vantoll (~Adium@c-98-250-130-237.hsd1.mi.comcast.net)
- # [17:38] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
- # [17:38] * Quits: tj_vantoll1 (~Adium@c-98-250-130-237.hsd1.mi.comcast.net) (Read error: Connection reset by peer)
- # [17:38] <JakeA> annevk: I think if the request is not-cors, and you mess with one of the non-simple methods, it throws or steps up to CORS
- # [17:39] <JakeA> stepping up makes more sense I guess
- # [17:40] <annevk> Actually, setting mode to same-origin should be fine, it's mostly tainted cross-origin that's dangerous
- # [17:41] <annevk> JakeA: https://etherpad.mozilla.org/Request-object-design
- # [17:41] <JakeA> annevk: what's the attack (sorry, I'm running out of brain)
- # [17:42] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [17:42] <JakeA> annevk: do we need to filter headers or just set the restricted ones after the SW?
- # [17:42] <annevk> JakeA: you cannot currently send custom headers to random servers
- # [17:43] <JakeA> annevk: right, so setting those headers would change mode, trying to change mode back would throw. It might be weird in the eventsource case you mentioned though
- # [17:46] * Joins: jwatt (~roslea@host86-160-112-104.range86-160.btcentralplus.com)
- # [17:46] <jwatt> is there any work on a DOM for CSS gradients?
- # [17:47] <jgraham> TabAtkins: ^
- # [17:56] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
- # [17:57] <annevk> JakeA: so the main problem with this is that you have now manipulated the request, but the request is still identifying itself as coming from the page
- # [17:59] * Joins: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net)
- # [17:59] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
- # [18:06] * Quits: 6JTAAT0YI (scrollback@conference/jsconf/x-sdghnzgixsapueke) (Remote host closed the connection)
- # [18:06] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [18:06] * Joins: 21WAAN4TK (scrollback@conference/jsconf/x-lloudkweruaxrgrv)
- # [18:07] * Quits: mpt (mpt@canonical/mpt) (Ping timeout: 264 seconds)
- # [18:07] * Quits: 21WAAN4TK (scrollback@conference/jsconf/x-lloudkweruaxrgrv) (Remote host closed the connection)
- # [18:08] * Joins: 14WAC1S61 (scrollback@conference/jsconf/x-mlclttqkscqvwflz)
- # [18:11] * Joins: ap (~ap@2620:149:4:304:286a:153c:7ee0:21ee)
- # [18:13] <annevk> JakeA: it would be great if some security guys could look at that etherpad
- # [18:14] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [18:14] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [18:14] <JakeA> annevk: I'll deploy the mikewest
- # [18:14] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [18:15] <annevk> JakeA: I'll try to fix the draft a bit tomorrow
- # [18:16] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [18:21] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [18:21] * Quits: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi) (Ping timeout: 258 seconds)
- # [18:21] * Joins: fishd (fishd@nat/google/x-qtrowaepgbugzggr)
- # [18:22] * Joins: jsbell (jsbell@nat/google/x-shfrubeuxnzynvnd)
- # [18:23] <JakeA> annevk: when you say restricted header names, do you mean cookie, if-none-match etc? Or do they just get silently overwritten?
- # [18:24] <annevk> JakeA: http://fetch.spec.whatwg.org/#concept-forbidden-author-header-names
- # [18:24] <annevk> JakeA: if-none-match is typically fair game
- # [18:24] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Remote host closed the connection)
- # [18:25] * Joins: satazor (~satazor@239.201.37.188.rev.vodafone.pt)
- # [18:25] <JakeA> annevk: reading it may expose the response, especially the response is limited to a few values
- # [18:26] <JakeA> annevk: eg, "yes", "no". You could know the two etags that produces & know the response from the if-none-match header
- # [18:26] <annevk> so it's only fair game if mode != tainted
- # [18:27] * Quits: bholley (~bholley@c-24-130-123-178.hsd1.ca.comcast.net) (Quit: Textual IRC Client: www.textualapp.com)
- # [18:27] <JakeA> annevk: yeah, that sounds right
- # [18:27] <annevk> JakeA: it's a bit unclear how we're layering headers, it might be that some of these need to move to the actual HTTP *network* fetch
- # [18:27] <annevk> JakeA: setting them by the UA that is
- # [18:27] <annevk> JakeA: although I guess if-none-match you want, since you can use it on your own cache too
- # [18:29] * Quits: satazor (~satazor@239.201.37.188.rev.vodafone.pt) (Ping timeout: 245 seconds)
- # [18:29] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 252 seconds)
- # [18:32] * Joins: wanderview (sid22777@gateway/web/irccloud.com/x-eaxbeaxnxvjguvhj)
- # [18:34] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [18:34] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [18:38] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
- # [18:44] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
- # [18:45] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [18:47] * Quits: fishd (fishd@nat/google/x-qtrowaepgbugzggr) (Ping timeout: 252 seconds)
- # [19:00] * Joins: othermaciej (~mjs@76.74.153.49)
- # [19:09] * Joins: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [19:10] * Joins: llkats (~llkats@h-64-236-138-1.aoltw.net)
- # [19:11] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Ping timeout: 255 seconds)
- # [19:12] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
- # [19:13] * Joins: marcosc (~marcosc@66.207.208.102)
- # [19:13] * Joins: marcosc_ (~marcosc@66.207.208.102)
- # [19:16] * Parts: adactio (~adactio@212.42.170.121)
- # [19:17] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [19:17] * Joins: barnabywalters (~barnabywa@89.17.128.127)
- # [19:17] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 276 seconds)
- # [19:18] * Joins: dawhite_ (~dawhite@74.118.22.223)
- # [19:18] <JonathanNeal> If you’re available, would you ask IE about using external SVGs with <use>? https://twitter.com/hashtag/AskIE?src=hash http://css-tricks.com/svg-use-external-source/
- # [19:19] * Joins: BigBangUDR (~Thunderbi@123.239.175.90)
- # [19:19] * Joins: fishd (darin@nat/google/x-xgxoommlahwyangu)
- # [19:20] * Quits: BigBangUDR (~Thunderbi@123.239.175.90) (Client Quit)
- # [19:21] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [19:23] * Joins: barnabywalters_ (~barnabywa@89.17.128.127)
- # [19:24] * Quits: ehsan (~ehsan@66.207.208.102) (Ping timeout: 256 seconds)
- # [19:24] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Ping timeout: 252 seconds)
- # [19:24] * barnabywalters_ is now known as barnabywalters
- # [19:27] * Quits: bnicholson2 (~bnicholso@24.130.57.109) (Ping timeout: 240 seconds)
- # [19:28] * Quits: aleray (~aleray@109.129.176.18) (Ping timeout: 276 seconds)
- # [19:29] <TabAtkins> jwatt: No; we're planning on a real OM for CSS (not string-based) in the future, but we're waiting for JS Value Objects.
- # [19:32] * Joins: weinig (~weinig@17.202.50.223)
- # [19:32] * Quits: fredy (~fredy@snf-535807.vm.okeanos.grnet.gr) (Excess Flood)
- # [19:33] * Joins: fredy (~fredy@snf-535807.vm.okeanos.grnet.gr)
- # [19:34] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [19:36] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [19:37] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [19:38] * Quits: ambv (~ambv@206.108.217.134) (Quit: sys.exit(0) # app closed)
- # [19:38] * Quits: poona (~poona@unaffiliated/poona) (Ping timeout: 240 seconds)
- # [19:40] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 276 seconds)
- # [19:40] * Quits: annevk_ (~annevk@77-57-114-66.dclient.hispeed.ch) (Ping timeout: 245 seconds)
- # [19:42] * Joins: ehsan (~ehsan@66.207.208.102)
- # [19:45] <TabAtkins> Domenic: Yeah, I think that's the plan. Existing places where multiple tags have the same interface (like HTMLHeadingElement) are inconvenient and weird.
- # [19:45] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
- # [19:47] * Joins: cheron1 (~cheron@dslb-088-069-016-101.pools.arcor-ip.net)
- # [19:47] * Quits: cheron (~cheron@unaffiliated/cheron) (Quit: Leaving.)
- # [19:50] * Quits: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be) (Ping timeout: 264 seconds)
- # [19:51] * Joins: weinig_ (~weinig@17.114.218.140)
- # [19:51] * Quits: cheron1 (~cheron@dslb-088-069-016-101.pools.arcor-ip.net) (Ping timeout: 252 seconds)
- # [19:52] <annevk> JonathanNeal: <use> is pretty bad iirc
- # [19:52] <annevk> JonathanNeal: seems better to not have it
- # [19:52] * Quits: weinig (~weinig@17.202.50.223) (Ping timeout: 240 seconds)
- # [19:52] * weinig_ is now known as weinig
- # [19:55] <JonathanNeal> annevk: It’s a useful element with a bad markup pattern. It’s useful because you can create an SVG spritemap, and because you can style any instance of a sprite like folks do with icon fonts.
- # [19:55] * Joins: bnicholson2 (~bnicholso@corp.mtv2.mozilla.com)
- # [19:55] <TabAtkins> annevk: <use> is much less bad now that we've nuked the instance tree.
- # [19:56] <Hixie> annevk: is the fetch api going to integrate with the Loader stuff at all?
- # [19:56] * Krinkle is now known as Krinkle|detached
- # [19:57] * Quits: othermaciej (~mjs@76.74.153.49) (Quit: othermaciej)
- # [19:58] <Hixie> annevk: also, are there any code samples for this api? that's always a good way to sanity check an API
- # [19:59] <annevk> Hixie: I think JakeA has some examples, I should probably make some more
- # [19:59] * Joins: Smylers (~smylers@host86-156-211-5.range86-156.btcentralplus.com)
- # [20:00] <annevk> Hixie: afaict Loader is only for JS modules, I wish those guys talked to us sooner about the whole thing
- # [20:00] <annevk> Hixie: I didn't realize how generic that would be
- # [20:00] <Hixie> no the thread in es-discuss is very much indicating that the expectation is that all fetches are expected to go through it, as far as i can tell
- # [20:01] <Hixie> how about the dependency mechanism, is it intended that you be able to block a fetch on another or anything like that?
- # [20:01] * Joins: marcosc (~marcosc@66.207.208.102)
- # [20:01] * Quits: zdobersek (~zan@109.201.152.9) (Quit: Leaving.)
- # [20:04] * Joins: othermaciej (~mjs@17.114.217.119)
- # [20:05] * Quits: marcosc_ (~marcosc@66.207.208.102) (Ping timeout: 240 seconds)
- # [20:05] * Joins: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be)
- # [20:10] * Quits: izhak (~izhak@92.248.142.152) (Ping timeout: 264 seconds)
- # [20:12] <jwatt> is there a way for JS to get the "concrete object size"?
- # [20:12] * Joins: jwalden (~waldo@c-50-168-55-219.hsd1.ca.comcast.net)
- # [20:12] <jwatt> TabAtkins: ok, thanks
- # [20:15] <Hixie> jorendorff: yt?
- # [20:15] <jorendorff> Hixie: here
- # [20:15] * Quits: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [20:15] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [20:16] <Hixie> jorendorff: so i think i'm gonna try to write a strawman that shows how the ES6 module stuff could be integrated with all the other dependency stuff the web platform has coming down the pipe
- # [20:16] <jorendorff> great!
- # [20:16] <Hixie> jorendorff: but i'm having great difficulty understanding what ES6 actually says
- # [20:16] <jorendorff> understandable
- # [20:17] <Hixie> jorendorff: i spoke to arv and he suggested you as one of the best people to brief me on this
- # [20:17] <Hixie> jorendorff: is that something you could do?
- # [20:17] <jorendorff> happy to
- # [20:17] <Hixie> either in person or irc or e-mail or whatever
- # [20:17] <Hixie> (i'm in mtv if you want to do it in person)
- # [20:17] <jorendorff> yeah, i'm in Tennessee so can't do it in person immediately
- # [20:17] <jorendorff> irc's fine, email probably better
- # [20:17] <jorendorff> let me send you email to begin
- # [20:17] <Hixie> you are awesome
- # [20:17] <Hixie> thanks!
- # [20:17] <jorendorff> will do in the next 3 hours
- # [20:18] <Hixie> ian@hixie.ch
- # [20:18] <jorendorff> ok
- # [20:18] <Hixie> fantastic
- # [20:19] * Joins: smaug____ (~chatzilla@a91-154-44-207.elisa-laajakaista.fi)
- # [20:29] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
- # [20:31] * Joins: satazor (~satazor@80.78.37.188.rev.vodafone.pt)
- # [20:31] * Quits: satazor (~satazor@80.78.37.188.rev.vodafone.pt) (Client Quit)
- # [20:34] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
- # [20:38] * Quits: zaal (~zaal@cpc65346-nrwh11-2-0-cust48.4-4.cable.virginm.net) (Read error: Connection reset by peer)
- # [20:39] * Parts: japhet (sid20626@gateway/web/irccloud.com/x-imqpezjillcnlpta)
- # [20:41] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
- # [20:51] <TabAtkins> jwatt: There is no JS way to get the concrete object size, no.
- # [20:52] <jwatt> TabAtkins: I was asking because I was looking into whether content can make a live gradient editor for gradients with percentage value stops
- # [20:52] <TabAtkins> The information necessary for that is all accessible in the page.
- # [20:54] <TabAtkins> jwatt: Namely, the concrete object size of a gradient background will just be the background-size, which is either fixed or is the size of one of the layout boxes of the element.
- # [20:54] * Joins: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com)
- # [20:54] <jwatt> you need the gradient box (which is the concrete object size) to resolve how far along the gradient line px valued stop are
- # [20:55] * Quits: Ms2ger (~Ms2ger@82.200-64-87.adsl-dyn.isp.belgacom.be) (Quit: nn)
- # [20:55] <jwatt> the question is what is the gradient box for a given element
- # [20:56] <TabAtkins> Yes, which is calculable as I just described.
- # [20:56] <jwatt> how do you get the background-size?
- # [20:56] <TabAtkins> By asking for the background-size property?
- # [20:57] <TabAtkins> And if it's a keyword value, calculating the correct box from the element, based on width/padding/etc
- # [20:57] <jwatt> that could get pretty complicated
- # [20:57] <TabAtkins> Yeah, it's not trivial, but neither is it difficult.
- # [20:58] <jwatt> I'm not even sure if the background-size is the right thing
- # [20:58] <TabAtkins> I'm sure. ^^_
- # [20:58] <jwatt> so it's always sure it's the same as the concrete object size?
- # [20:58] <TabAtkins> For an image with no intrinsic dimensions, yes.
- # [20:59] <jwatt> an image?
- # [20:59] <jwatt> what about a div
- # [21:03] <jwatt> calculating the concrete object size of an element may just be a case of "calculate the correct box from the element, based on width/padding/etc"
- # [21:05] <jwatt> but in the general case that means basically implementing an entire CSS layout engine taking into account box-sizing, floats, absolute positioning, flex box, etc., etc.
- # [21:06] <jwatt> and obviously taking into account siblings, ancestors, etc., since they can all impact the concrete size of the object
- # [21:06] <jwatt> unless I'm missing something
- # [21:06] <jwatt> so I'd take issue with the statement "neither is it difficult" :)
- # [21:08] * jwatt will be back later
- # [21:12] * Quits: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net) (Quit: sicking)
- # [21:17] <TabAtkins> jwatt: You're using terms in ways that don't make sense.
- # [21:18] <TabAtkins> An image like a gradient has a concrete object size calculated for it.
- # [21:18] * Quits: tav (~tav`@host217-42-231-34.range217-42.btcentralplus.com) (Quit: tav)
- # [21:19] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [21:20] <TabAtkins> The inputs to the algo are always the intrinsic dimensions (none, for gradients) and the specified size (for background gradients, the background positioning area, which is calculable from 'background-size' and other properties as needed).
- # [21:23] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
- # [21:23] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [21:24] * Quits: plutoniix (~plutoniix@node-5uo.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [21:26] * llkats is now known as lllunches
- # [21:31] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
- # [21:31] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
- # [21:32] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
- # [21:32] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
- # [21:34] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
- # [21:35] * Quits: weinig (~weinig@17.114.218.140) (Quit: weinig)
- # [21:38] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
- # [21:38] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
- # [21:44] * Krinkle|detached is now known as Krinkle
- # [21:44] * lllunches is now known as llkats
- # [21:47] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [21:51] * Krinkle is now known as Krinkle|detached
- # [21:52] * Joins: marcosc (~marcosc@66.207.208.102)
- # [21:53] * Joins: ap_ (~ap@17.114.219.248)
- # [21:54] * Quits: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [21:55] * Quits: ap (~ap@2620:149:4:304:286a:153c:7ee0:21ee) (Ping timeout: 240 seconds)
- # [21:55] * ap_ is now known as ap
- # [21:56] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
- # [21:56] * Joins: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416)
- # [21:57] * Joins: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com)
- # [21:57] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [22:01] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [22:02] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Client Quit)
- # [22:04] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [22:04] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
- # [22:05] * Joins: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net)
- # [22:06] * Joins: newtron_ (~newtron@199.71.174.204)
- # [22:09] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [22:09] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 240 seconds)
- # [22:10] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
- # [22:10] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [22:10] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
- # [22:10] * Quits: newtron_ (~newtron@199.71.174.204) (Ping timeout: 240 seconds)
- # [22:14] * Joins: ambv (~ambv@206.108.217.134)
- # [22:18] * Joins: darobin (~darobin@31-34-2.wireless.csail.mit.edu)
- # [22:26] * Quits: Gege (gege@future.deferred.io) (Ping timeout: 246 seconds)
- # [22:31] * Quits: jwalden (~waldo@c-50-168-55-219.hsd1.ca.comcast.net) (Quit: off to PT, back later in the afternoon)
- # [22:35] <SamB> TabAtkins: so how do you calculate it in JS then?
- # [22:35] * Joins: facundor (~facundor@190.194.153.199)
- # [22:36] * Quits: facundor (~facundor@190.194.153.199) (Max SendQ exceeded)
- # [22:36] <TabAtkins> The way the spec says to, which uses only information accessible via JS.
- # [22:36] * Joins: facundor (~facundor@190.194.153.199)
- # [22:37] <SamB> (and how long until some other spec complicates it?)
- # [22:37] <TabAtkins> It might get more complicated in the future, yes.
- # [22:40] * Quits: estellevw (~estellevw@173-228-112-232.dsl.dynamic.sonic.net) (Quit: Snuggling with the puppies)
- # [22:42] <smaug____> annevk: why does Request in Window context need to have isSynchronous ?
- # [22:43] * Quits: ap (~ap@17.114.219.248) (Remote host closed the connection)
- # [22:43] * Joins: ap (~ap@2620:149:4:304:991f:8b28:ac44:9005)
- # [22:43] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Remote host closed the connection)
- # [22:44] <smaug____> annevk: in other words, I hope we hide the possibility for synchronousness in the main-thread
- # [22:47] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [22:51] * Quits: othermaciej (~mjs@17.114.217.119) (Ping timeout: 240 seconds)
- # [22:52] * Joins: Gege (gege@future.deferred.io)
- # [22:53] * Quits: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com) (Quit: sicking)
- # [22:54] * Quits: TallTed (~Thud@63.119.36.36)
- # [22:55] * Joins: othermaciej (~mjs@17.114.217.119)
- # [23:03] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [23:04] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [23:06] * Joins: tantek (~tantek@172.56.39.11)
- # [23:08] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Client Quit)
- # [23:09] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [23:11] * Joins: morrita_ (uid16889@gateway/web/irccloud.com/x-xrzrjqnqpxjnrbwh)
- # [23:16] * Quits: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416) (Ping timeout: 240 seconds)
- # [23:16] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [23:18] * Quits: tj_vantoll (~Adium@c-98-250-130-237.hsd1.mi.comcast.net) (Quit: Leaving.)
- # [23:22] * Joins: darobin_ (~darobin@31-34-2.wireless.csail.mit.edu)
- # [23:22] * Quits: darobin (~darobin@31-34-2.wireless.csail.mit.edu) (Read error: Connection reset by peer)
- # [23:26] * Joins: walbo_ (walbo@galaxy.forbanna.net)
- # [23:29] * Joins: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416)
- # [23:30] <jorendorff> Hixie: i kind of suck at this
- # [23:31] <jorendorff> still working at it
- # [23:32] <Hixie> dude, i'm so thankful that you're doing it at all, you've no idea :-)
- # [23:38] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [23:43] * Joins: GPHemsley (~GPHemsley@pdpc/supporter/student/GPHemsley)
- # [23:43] * Quits: gungan_fuq (~encryptd_@23.30.224.246) (Ping timeout: 276 seconds)
- # [23:44] * Joins: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl)
- # [23:49] * Quits: wiljanslofstra (~wiljanslo@cable-081-024-108-110.solcon.nl) (Ping timeout: 276 seconds)
- # [23:52] * htmelvis is now known as htmelvis_zzz
- # [23:58] * Quits: tantek (~tantek@172.56.39.11) (Quit: tantek)
- # [23:58] * Quits: dbaron (~dbaron@2620:101:80fb:232:9858:468d:da22:416) (Ping timeout: 240 seconds)
- # [23:58] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [23:58] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [23:58] * Quits: GPHemsley (~GPHemsley@pdpc/supporter/student/GPHemsley) (Remote host closed the connection)
- # Session Close: Fri May 30 00:00:00 2014
The end :)