Options:
- # Session Start: Tue Oct 11 00:00:00 2011
- # Session Ident: #whatwg
- # [00:00] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Connection timed out)
- # [00:00] * Quits: ap_ (~ap@17.212.155.203) (Ping timeout: 255 seconds)
- # [00:01] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [00:03] * Joins: heycam (~cam@wok.mcc.id.au)
- # [00:03] * Joins: KillerX_ (~anant@206-15-76-122.static.twtelecom.net)
- # [00:04] <heycam> morning
- # [00:06] * Quits: KillerX (~anant@206-15-76-122.static.twtelecom.net) (Read error: Operation timed out)
- # [00:06] * KillerX_ is now known as KillerX
- # [00:16] * Joins: smaug____ (~chatzilla@ZYYMKDCCXXVII.gprs.sl-laajakaista.fi)
- # [00:16] <sicking> heycam!
- # [00:17] <Hixie> heycam! you have returned!
- # [00:17] <Hixie> heycam: let me know when you're caught up with mail and so on, i have some questions for you :-)
- # [00:19] <heycam> Hixie, ok, gimme a day :)
- # [00:19] <Hixie> np!
- # [00:20] * Quits: mishunov (~spliter@212.17.143.210) (Quit: mishunov)
- # [00:21] * heycam starts remote working today, hopes it works out for him :)
- # [00:23] * Quits: hasather_ (~hasather_@84.38.144.96) (Remote host closed the connection)
- # [00:27] <Hixie> wait, tpac costs money again this year? wtf
- # [00:28] <Hixie> i don't even want to attend any meetings
- # [00:32] * Joins: ako (~nya@fuld-590c7bda.pool.mediaWays.net)
- # [00:33] * Joins: necolas (~necolas@5e0c0fc8.bb.sky.com)
- # [00:34] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [00:36] * Quits: aho (~nya@fuld-590c78af.pool.mediaWays.net) (Ping timeout: 248 seconds)
- # [00:37] * ako is now known as aho
- # [00:38] * bga_ is now known as bga_|away
- # [00:46] <Hixie> sicking: do you know if anyone at mozilla is looking at <iframe sandbox>?
- # [00:47] <sicking> Hixie: yes, Ian Melven expressed interest in working on it
- # [00:47] <sicking> Hixie: no ETA though, he's just starting
- # [00:47] <sicking> Hixie: on that topic though, the fallback story for sandboxes seem to be terrible
- # [00:48] <Hixie> yeah that's what i wanted to ask about
- # [00:48] <Hixie> the spec uses text/html-sandboxed currently
- # [00:48] <Hixie> apparently this fails in some old IEs that sniff like crazy
- # [00:48] <Hixie> i was wondering if anyone at mozilla had any better ideas
- # [00:49] <Hixie> (by "fails" i mean "gets interpreted as text/html so you can XSS someone by getting them to visit the framed content directly")
- # [00:52] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 248 seconds)
- # [00:53] <jwalden> \o/
- # [00:54] * Joins: MikeSmith_ (~MikeSmith@EM1-113-12-168.pool.e-mobile.ne.jp)
- # [00:54] * bga_|away is now known as bga_
- # [00:56] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Connection timed out)
- # [00:57] * Quits: MikeSmith (~MikeSmith@EM114-48-134-68.pool.e-mobile.ne.jp) (Ping timeout: 244 seconds)
- # [00:57] * MikeSmith_ is now known as MikeSmith
- # [00:57] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [00:58] <sicking> Hixie: does the @sandbox attribute only work with text/html-sandboxed?
- # [00:58] <sicking> Hixie: i thought it was intended to work with plain "text/html" too?
- # [00:58] <Hixie> it works for both; there's use cases for sandboxing stuff that is safe to access directly
- # [00:58] <Hixie> (e.g. anything cross-domain)
- # [00:59] <sicking> Hixie: but then what's the purpose of the sandbox attribute in that use case?
- # [00:59] <Hixie> to e.g. prevent popups
- # [00:59] <Hixie> it's pretty flexible, you can do quite a lot with it
- # [01:00] <sicking> my concern is that it's *really* easy to write markup that looks fine, until you start thinking about browsers that don't implement @sandbox
- # [01:00] * Quits: ap (~ap@17.245.91.215) (Remote host closed the connection)
- # [01:01] * Joins: ap (~ap@17.212.155.203)
- # [01:01] <Hixie> yeah, but there's so many use cases where sandbox="" is just extra defense in depth that it doesn't really make sense to make it not work at all in legacy UAs
- # [01:01] <sicking> not sure I agree, i'd prefer if websites in those cases detected that sandbox wasn't implemented and did the fallback themselves
- # [01:02] <sicking> i'm fine with having fallback for the less sensitive cases
- # [01:02] <sicking> but for the more sensitive ones, like disable scripting, it seems pretty bad with the current design
- # [01:02] <sicking> one alternative i was thinking about is something like this:
- # [01:03] <sicking> <iframe src="strictly_filtered_comments.cgi?blogpostid=123" sandbox_src="comments.cgi?blogpostid=123">
- # [01:03] <sicking> or
- # [01:03] <sicking> or rather "and:"
- # [01:04] * bga_ is now known as bga_|away
- # [01:05] <sicking> <iframe src="strictly_filtered_comments.cgi?blogpostid=123" sandbox_src="comments.cgi?blogpostid=123" sandbox="allow-top-navigation">
- # [01:05] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 248 seconds)
- # [01:05] * bga_|away is now known as bga_
- # [01:06] <sicking> where the former cgi could do more agressive filtering of any HTML contents for example
- # [01:06] <erlehmann> sicking, can you explain why „strictly_filtered_comments“ would not be in both?
- # [01:06] <erlehmann> i seem to be missing something here.
- # [01:06] * Joins: ezoe (~ezoe@203-140-89-83f1.kyt1.eonet.ne.jp)
- # [01:07] * jernoble is now known as jernoble|afk
- # [01:07] * Joins: temp01 (~temp01@unaffiliated/temp01)
- # [01:07] <sicking> erlehmann: say that you want to allow comments to use some basic HTML markup, like changing colors and fonts
- # [01:07] <sicking> erlehmann: but you don't trust that you'll get all the HTML filtering correctly
- # [01:07] * Joins: Amorphous (jan@unaffiliated/amorphous)
- # [01:08] <sicking> erlehmann: so you do what you think is correct in comments.cgi, but remove *all* markup in strictly_filtered_comments.cgi
- # [01:08] <erlehmann> intredasting.
- # [01:08] <sicking> erlehmann: or say that you're hosting widgets on your site
- # [01:09] <sicking> erlehmann: you want the widgets to be able to run script
- # [01:09] <erlehmann> i'll still just use html5lib and think i am filtering absolutely, entirely correctly in that case.
- # [01:09] <sicking> erlehmann: but not if you can't sandbox them
- # [01:09] <erlehmann> that i understand.
- # [01:09] <sicking> erlehmann: then you'd let the first src filter out all scripts, but the second would be allowed to run scripts
- # [01:10] <sicking> erlehmann: if you're trusting your filtering, then would you ever need sandbox at all?
- # [01:10] <sicking> erlehmann: i.e. isn't HTML4 working fine for you?
- # [01:10] <erlehmann> still, that's not the graceful degradation i know. it is … something else. i hope i'll never need it.
- # [01:10] * Quits: tndH (~Rob@cpc16-seac19-2-0-cust234.7-2.cable.virginmedia.com) (Ping timeout: 248 seconds)
- # [01:10] <erlehmann> last i checked, there was no html4lib ;)
- # [01:10] <erlehmann> but yes.
- # [01:11] <sicking> erlehmann: well then, if what exists already is good enough for you, then i think we're done here :)
- # [01:11] <erlehmann> we are. but now i understand why you did not just filter damn everything.
- # [01:12] <erlehmann> (which i, for the record, would do, if i were that unsure of my filtering capabilities.)
- # [01:12] <erlehmann> a friend made a wiki and is so paranoid, even internal functions check their assertions about the arguments.
- # [01:12] * jernoble|afk is now known as jernoble
- # [01:12] <erlehmann> that is properly paranoid.
- # [01:14] <Hixie> sicking: sure, in that use case you'd want to use something different in both cases. But most use cases will be <iframe sandbox src="something-i-think-is-safe-regardless"></iframe>
- # [01:14] <Hixie> (s/most/many/, certainly)
- # [01:16] <sicking> Hixie: then put the same url in both attributes
- # [01:16] <Hixie> sicking: as soon as we do that you're back to your original problem
- # [01:17] <abarth> the default-closed behavior is really hard to get for on-domain resources
- # [01:17] <Hixie> sicking: i.e. that it is easy to write markup that looks fine, until you start thinking about browsers that don't implement @sandbox
- # [01:17] <Hixie> how do you mean?
- # [01:17] <abarth> its really hard to host things on-domain and not have them be used against you
- # [01:17] <abarth> e.g., by Java or Flash
- # [01:18] <abarth> one thing you can do is to set a Content-Disposition: attachment
- # [01:18] <abarth> Flash will respect that
- # [01:18] <abarth> i haven't tested Flash recently
- # [01:18] <abarth> it turns out that sandbox is pretty useful even without text/html-sandbox
- # [01:19] <Hixie> well if we are assuming that anything same-domain is guaranteed to be unsandboxable when viewed directly, we might as well require that src="" be cross-origin if sandbox="" is specified
- # [01:19] <Hixie> but then that makes a lot of sandbox="" rather pointless
- # [01:19] <abarth> a very common way to use it is with an about:blank iframe
- # [01:19] * bga_ is now known as bga_|away
- # [01:19] <abarth> which you sandbox
- # [01:20] <abarth> and then fill up with stuff
- # [01:20] * Quits: gabe_ (~chatzilla@81-174-24-100.dynamic.ngi.it) (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928224103])
- # [01:20] <Hixie> ok. so on the short-term, what i'm hearing is that we shoudl drop text/html-sandboxed like microsoft suggests
- # [01:21] <Hixie> and on the medium term there might be additional changes that would be useful?
- # [01:23] <abarth> in the medium term, i want to convince someone to implement seamless
- # [01:23] <abarth> ;)
- # [01:25] * Joins: nunnun (~nunnun@2001:268:355:1:20c:29ff:fed5:973a)
- # [01:25] * nunnun is now known as nunnun_away
- # [01:27] * Joins: myakura (~myakura@FL1-203-136-164-250.tky.mesh.ad.jp)
- # [01:28] <sicking> Hixie: and disable the ability to have same-origin sandboxes?
- # [01:28] <Hixie> that's the medium term question
- # [01:29] <Hixie> i recommend posting on the whatwg list about it
- # [01:29] <sicking> so what are the use cases when sandbox is useful? Assuming the aweful fallback in older browsers?
- # [01:29] <Hixie> (we'd have to drop allow-same-origin if we did that)
- # [01:30] <Hixie> well like i said, defense-in-depth is a huge use case
- # [01:30] <sicking> wouldn't that make it cover the same usecases as CSP then?
- # [01:31] <Hixie> CSP is far too complex for most authors who have just one domain to use, imho
- # [01:31] <sicking> CSP lets you completely disable scripting
- # [01:31] <sicking> which would seem like the main usecase for sandbox
- # [01:32] * bga_|away is now known as bga_
- # [01:32] <sicking> if we're only talking about defence in depth
- # [01:32] <Hixie> i dunno that i'd say it's the main use case
- # [01:32] <Hixie> might be an important use case in the defence in depth subset of the use cases
- # [01:32] <Hixie> but then so's preventing form submission
- # [01:32] <Hixie> and disallowing frame navigation
- # [01:32] <Hixie> and blocking plugins...
- # [01:33] <Hixie> CSP is so complex that i see abarth asking about it :-P
- # [01:33] <sicking> ok, so assume a world where browsers implement CSP, convince me as a browser author what additional use cases would be covered by @sandbox
- # [01:34] <abarth> Hixie: CSP is crazy complex
- # [01:34] <abarth> its very hard for authors to use
- # [01:34] <abarth> i've been spending a bunch of time with early adopters to understand the snags they run into
- # [01:34] <abarth> sicking: oh, the use cases are really different
- # [01:34] <Hixie> sicking: if CSP was implemented and easy to use, it might obviate many use cases for same-origin sandbox=""
- # [01:34] <Hixie> sicking: though not any of the cross-origin ones
- # [01:35] <abarth> sicking: CSP is for restricting your own content. sandbox is for restricting other people's content
- # [01:35] <sicking> abarth: i'm listening...
- # [01:35] <Hixie> sicking: but so far it does not seem that CSP is going to be easy to use, so...
- # [01:35] * Quits: KillerX (~anant@206-15-76-122.static.twtelecom.net) (Remote host closed the connection)
- # [01:35] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Connection timed out)
- # [01:35] * Quits: necolas (~necolas@5e0c0fc8.bb.sky.com) (Remote host closed the connection)
- # [01:35] <abarth> sicking: here's a real example
- # [01:35] <sicking> yay
- # [01:35] * Joins: KillerX (~anant@206-15-76-122.static.twtelecom.net)
- # [01:35] <abarth> you've got a RSS feed that you've fetched via CORS
- # [01:36] <abarth> and you want to show it to the user in a nice pretty form
- # [01:36] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [01:36] <abarth> you send it into a sandboxed iframe
- # [01:36] <abarth> and make a nice presentation of it
- # [01:36] <Hixie> i love that microsoft's suggestion regarding what to do with the warning is just 'In section 4.8.2 "The iframe element," remove the text "Warning! It is important that the server serve the user-provided HTML using the text/html-sandboxed MIME type so that if the attacker convinces the user to visit that page directly, the page doesn't run in the context of the site's origin, which would make the user vulnerable to any attack found in the page."'
- # [01:36] <abarth> that works really well with @sandbox and isn't really doable with CSP
- # [01:36] <Hixie> they don't suggest changing it or anything, just removing it
- # [01:36] <sicking> abarth: what's the fallback story for old browsers?
- # [01:37] <abarth> in the actual case, it didn't matter because it's a browser extension that does this
- # [01:37] <abarth> in the case of a web site, you can probably have a lower fidelity rendering of the RSS feed
- # [01:37] * Quits: divya (~divyam@219.64.117.145) (Quit: Leaving.)
- # [01:37] <abarth> or take some security risks
- # [01:38] <Hixie> or wait a few years and then tell the 1% of legacy UAs that they're screwed
- # [01:38] <sicking> abarth: i'm much more interested in building features for websites than extensions
- # [01:38] <abarth> sure, i just mentioned that case
- # [01:38] <abarth> because its a place where this got used this past week
- # [01:39] <sicking> abarth: so the concern is that the RSS markup would contain onclick attributes or <script> elements
- # [01:40] <sicking> abarth: ?
- # [01:40] <abarth> the RSS feed contains HTML
- # [01:40] <abarth> e.g., the contents of the posts
- # [01:40] <sicking> right
- # [01:40] <abarth> and you don't want the content to call alert()
- # [01:41] <abarth> for example
- # [01:41] <abarth> because that's annoying
- # [01:41] <sicking> so it seems you're screwed if you inject that into a about:blank iframe
- # [01:41] <abarth> so you don't want script to run
- # [01:41] <sicking> since that can run any script
- # [01:41] <abarth> what this guy was actually doing
- # [01:41] <abarth> was using a data URL
- # [01:42] <abarth> and i advised him to just add the sandbox attribute
- # [01:42] <abarth> to his iframe
- # [01:42] <abarth> and everything worked great
- # [01:42] <abarth> he was a very happy customer :)
- # [01:42] <sicking> i don't understand how it would work great in the fallback situation
- # [01:42] <sicking> i.e. when the browser doesn't support sandbox
- # [01:43] <sicking> let me phrase it this way: it seems to me that @sandbox has such a terrible fallback story for browsers that don't support @sandbox, that I'm not sure that we'll want to implement it in firefox and thus encourage it's usage on the web
- # [01:43] <abarth> well, for example, we could just how the text of the posts
- # [01:43] <abarth> instead of the HTML formating
- # [01:44] <sicking> i think there's a word missing there?
- # [01:44] <abarth> s/how/show
- # [01:44] <sicking> ah
- # [01:45] <abarth> its seems like you could make the same argument about CSP
- # [01:45] <sicking> abarth: so the idea is that webdevelopers are responsible for checking that @sandbox is supported, and use a completely different codepath if it's not
- # [01:45] * Joins: nessy (~Adium@74.125.56.18)
- # [01:45] <sicking> abarth: certainly
- # [01:45] <sicking> abarth: CSP is explicitly a defence-in-depth mechanism
- # [01:45] <abarth> there are two choices
- # [01:45] <abarth> 1) proceed as before and live with any additional risk
- # [01:45] <sicking> abarth: i was under the impression that @sandbox wasn't intended to be just defence-in-depth
- # [01:45] <abarth> 2) check if its supported and do something else if its not
- # [01:46] <sicking> this discussion has made me more confused about whether it is or not :)
- # [01:46] <abarth> that's option (2), but option (1) exists too
- # [01:46] * Quits: erlehmann (~erlehmann@89.204.153.10) (Ping timeout: 248 seconds)
- # [01:46] <abarth> well, consider the Secure attribute on cookies
- # [01:46] <abarth> is that defense in depth or is that a security measure?
- # [01:46] <abarth> what about browsers that don't support the Secure attribute?
- # [01:47] * Quits: astearns (~anonymous@192.150.22.5) (Ping timeout: 276 seconds)
- # [01:47] <sicking> are there any such browsers?
- # [01:47] <abarth> there were at one point in time
- # [01:47] <abarth> we'll be asking the same question about @sandbox in a few years
- # [01:47] <sicking> i'm not sure we made good decisions at that point in time :)
- # [01:47] <abarth> put another way,
- # [01:48] <abarth> what's a site supposed to do with browsers that don't support WebGL ?
- # [01:48] <abarth> use a different code path?
- # [01:48] <Hixie> sicking: sandbox="" is intended exclusively for defence in depth for now. It will eventually be usable for other things as well.
- # [01:48] <abarth> just because this is a security feature doesn't mean all the hard things about introducing new features go away
- # [01:48] <sicking> but yes, in a sense the Secure attribute is defense-in-depth. Though we know that MITM is easier than what was thought
- # [01:49] <abarth> ok, then you probably believe that every security feature is defense-in-depth
- # [01:49] <Hixie> except maybe TLS :-)
- # [01:50] <Hixie> what's teh fallback for https:// ? :-)
- # [01:50] * bga_ is now known as bga_|away
- # [01:50] <sicking> possibly. I'm a not huge fan of "security features" since most of them are patching mistakes of the past
- # [01:50] <sicking> but they are obviously needed
- # [01:51] <Hixie> "firefox developer not fan of security features" :-P
- # [01:51] <sicking> abarth: i'd just much rather that we fell back to a closed situation than an open situation
- # [01:51] <Hixie> sicking: falling back to a closed situation would be great, but falling back to nothing is not fallback, it's just the feature not being supported and the site being broken in old UAs
- # [01:52] <sicking> abarth: it seems very likely to me that people will do <iframe src="completely_untrusted_contents.cgi" sandbox>
- # [01:52] <abarth> i don't think there's any way to do that securely
- # [01:52] <abarth> regardless of the design
- # [01:52] <Hixie> if a site does <iframe src="completely_untrusted_contents.cgi" sandbox> they have far better problems than fallback
- # [01:52] <Hixie> even in completely compliant UAs they'll still get owned
- # [01:53] <Hixie> since you can just point a user to a page on another domain with that same iframe without sandbox=""
- # [01:53] <Hixie> and boom, you run script on the victim origin
- # [01:53] <Hixie> that was the idea behind text/html-sandboxed, which i've just removed from the spec and replaced with warnings saying to use a different origin for untrusted content
- # [01:57] <sicking> Hixie: so it seems to make sense to me to make <iframe src="same-origin/comments.cgi" sandbox="..."> refuse to load the iframe?
- # [01:57] <Hixie> would you block src="about:blank" too?
- # [01:58] <sicking> good question
- # [02:00] <sicking> i'd say no
- # [02:00] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Connection timed out)
- # [02:00] <sicking> since you can't do the thing of "use another site to navigate the user directly to the url thus avoiding the sandbox"
- # [02:01] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [02:02] * bga_|away is now known as bga_
- # [02:03] <Hixie> sicking: if you block that then you completely prevent the use case adam brought up earlier
- # [02:03] <Hixie> sicking: of being able to generate a file on the fly that has scripting disabled
- # [02:03] <sicking> Hixie: yup
- # [02:04] <Hixie> ok so... that's bad
- # [02:04] <sicking> Hixie: you'll note that I said "no" above
- # [02:04] <Hixie> oh, sorry, i misunderstood
- # [02:04] <Hixie> i thought you meant no, it wouldn't work :-)
- # [02:04] <TabAtkins> Hixie: Random sidenote - we found a better term than "superior parent": "originating element"
- # [02:05] <Hixie> sicking: if you don't block it, then what stops someone from just redirecting the page to a same-origin url?
- # [02:05] <sicking> Hixie: redirecting about:blank?
- # [02:05] <Hixie> TabAtkins: i have no idea what either of those terms mean :-) are they xbl-related things?
- # [02:05] * Joins: davidb (~davidb@bas1-toronto06-2925210074.dsl.bell.ca)
- # [02:05] <Hixie> TabAtkins: "originating element" sounds like something to do with the origin policy?
- # [02:06] <Hixie> sicking: as in, you insert an <iframe sandbox> then you document.write() into it a "<meta http-equiv=refresh content=0;URL=local.html">
- # [02:06] <Hixie> but with my quotes not screwed up
- # [02:06] <sicking> Hixie: then it's a new load, so you'd block that
- # [02:07] <Hixie> ew
- # [02:07] <TabAtkins> Hixie: Dude, "superior parent" comes from css3-content, to refer to a pseudo-elements "parent".
- # [02:07] <Hixie> brb need to find power
- # [02:07] <sicking> you want different policies depending on if it's the first document or the second document to be loaded in an iframe?
- # [02:11] * Quits: KillerX (~anant@206-15-76-122.static.twtelecom.net) (Quit: KillerX)
- # [02:13] <Hixie> sicking: the current mechanism (not sandbox-specific) handles src="" differently than normal in-frame page loads
- # [02:14] * Quits: ojan (ojan@nat/google/x-ydarmhswzvigubge) (Quit: ojan)
- # [02:14] <sicking> Hixie: huh??
- # [02:14] <sicking> Hixie: in what way?
- # [02:14] * bga_ is now known as bga_|away
- # [02:15] <Hixie> sicking: the src="" attribute loads go through the "process the iframe attributes" algorithm first
- # [02:15] <Hixie> sicking: the normal loads don't do anything iframe-specific
- # [02:16] <sicking> Hixie: so you can have an <iframe sandbox src="...> which contains a document that isn't sandboxed?
- # [02:16] * Quits: smaug____ (~chatzilla@ZYYMKDCCXXVII.gprs.sl-laajakaista.fi) (Ping timeout: 255 seconds)
- # [02:16] <sicking> with proper quotes :)
- # [02:16] <Hixie> sicking: maybe i didn't understand you proposal though; are you saying that we should block any page loads that have the same origin if the browsing context's sandboxed origin browsing context flag is set?
- # [02:16] <Hixie> sicking: no
- # [02:16] <Hixie> sicking: the sandboxing is a feature of the browsing context
- # [02:17] <Hixie> TabAtkins: aaah
- # [02:17] <Hixie> TabAtkins: not sure "originating element" works since it's not necessarily an element, is it?
- # [02:17] <Hixie> TabAtkins: as someone who had forgotten what either term meant, i have to say, both terms seemed equally opaque to me just now
- # [02:18] <sicking> Hixie: the way it seems to me, we should block any same-origin loads if the browsing context is sandboxed
- # [02:18] <sicking> Hixie: or let me rephrase
- # [02:18] <sicking> Hixie: the way it seems to me, we should block any loads where the loaded document is same-origin with the parent document, if the browsing context is sandboxed
- # [02:20] * Quits: dbaron (~dbaron@206-15-76-122.static.twtelecom.net) (Read error: Operation timed out)
- # [02:20] * Joins: astearns (~anonymous@c-50-132-63-33.hsd1.wa.comcast.net)
- # [02:22] <Hixie> sicking: that would block about:blank.
- # [02:23] <Hixie> (i assume by "is sandboxed" you mean specifically the case of it having the sandboxed origin browsing context flag, not all sandboxing)
- # [02:25] * Quits: davidb (~davidb@bas1-toronto06-2925210074.dsl.bell.ca) (Quit: davidb)
- # [02:26] * bga_|away is now known as bga_
- # [02:33] * bga_ is now known as bga_|away
- # [02:35] * Quits: ap (~ap@17.212.155.203) (Quit: ap)
- # [02:36] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Connection timed out)
- # [02:37] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [02:38] * Quits: jernoble (~jernoble@2620:149:4:1b01:71a3:e63b:c42a:c0f2) (Read error: Connection reset by peer)
- # [02:39] * Joins: jernoble (~jernoble@17.212.152.13)
- # [02:40] <sicking> Hixie: no, i meant all sandboxing, per the discussion we just had it seems that sandboxing is useless for same-origin loads
- # [02:41] <sicking> Hixie: i guess i don't consider about:blank as a "load". But if it is considered a load then add an exception for that
- # [02:43] <Hixie> well like i said, there's a difference in handling for initial loads and subsequent loads
- # [02:43] * Quits: ZombieLoffe (ZombieL@unaffiliated/zombieloffe)
- # [02:43] <Hixie> the initial load of src="" (empty) and src="about:blank" (normalised) is handled specially in the "process the iframe attributes" algorithm
- # [02:43] <Hixie> subsequent loads of about:blank are handled in the navigation algorithm
- # [02:44] <Hixie> but it would seem crazy to not allow about:blank to navigate to about:blank, say
- # [02:45] <sicking> sure, so exclude all about:blank loads
- # [02:48] <Hixie> i just said that would be crazy :-P
- # [02:48] <Hixie> oh by exlude you mean allow?
- # [02:48] <Hixie> man i'm confused
- # [02:48] * bga_|away is now known as bga_
- # [02:49] <Hixie> this really seems like adding really obscure complexity to the platform to me
- # [02:49] <Hixie> are we going to do the same for CSP?
- # [02:49] <Hixie> i don't see the difference
- # [02:53] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [02:56] <sicking> CSP is totally different
- # [02:56] <sicking> it applies to all loads, no matter how they happen
- # [02:56] <Hixie> how is that different?
- # [02:56] <sicking> via sandboxed iframes, non-sandboxed iframes or page navigation
- # [02:56] <Hixie> only in new UAs
- # [02:57] <Hixie> just like text/html-sandboxed
- # [02:58] * Joins: agektmr (~Adium@220.109.219.244)
- # [02:59] <sicking> yes, CSP is strictly defense-in-depth
- # [02:59] <sicking> that's different from the same-origin issue with sandboxes though
- # [02:59] <Hixie> sanbdox is strictly defense-in-depth too.
- # [03:00] <Hixie> but i have to go now. ttyl :-)
- # [03:00] <sicking> ok, ttyl
- # [03:00] <Hixie> i recommend e-mailing the whatwg list to get others in the loop
- # [03:01] * Joins: asmodai (asmodai@178-85-121-247.dynamic.upc.nl)
- # [03:09] * jernoble is now known as jernoble|afk
- # [03:09] <TabAtkins> Hixie or abarth: What should we reference for the definition of URL in CSS? We're currently referring to RFC 3986.
- # [03:12] <TabAtkins> Hixie or abarth: Our current definition is at http://dev.w3.org/csswg/css3-values/#urls
- # [03:20] * bga_ is now known as bga_|away
- # [03:20] * Quits: bga_|away (~bga@95-55-63-29.dynamic.avangarddsl.ru) (Read error: Connection reset by peer)
- # [03:20] <rniwa> Hixie, sicking: yt?
- # [03:38] * Joins: dbaron (~dbaron@173-228-28-227.dsl.dynamic.sonic.net)
- # [03:50] * Quits: dbaron (~dbaron@173-228-28-227.dsl.dynamic.sonic.net) (Ping timeout: 252 seconds)
- # [03:54] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Operation timed out)
- # [03:54] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [03:58] * Quits: jacobolus (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [04:01] * Quits: nonge_ (~nonge@p5082B423.dip.t-dialin.net) (Ping timeout: 240 seconds)
- # [04:02] * Joins: nonge_ (~nonge@p5082B423.dip.t-dialin.net)
- # [04:07] * Joins: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com)
- # [04:07] * Quits: dave_levin (dave_levin@nat/google/x-xznwzburyehprmdn) (Quit: dave_levin)
- # [04:08] * Quits: rniwa (rniwa@nat/google/x-puzqxyvljwfgufot) (Quit: rniwa)
- # [04:10] * Quits: agektmr (~Adium@220.109.219.244) (Read error: Connection reset by peer)
- # [04:10] * Joins: agektmr1 (~Adium@220.109.219.244)
- # [04:10] * heycam is now known as heycam|away
- # [04:12] * Quits: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com) (Client Quit)
- # [04:26] * Quits: agektmr1 (~Adium@220.109.219.244) (Quit: Leaving.)
- # [04:37] * Joins: agektmr (~Adium@220.109.219.244)
- # [04:40] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Connection timed out)
- # [04:41] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [04:42] * Quits: jamesr (jamesr@nat/google/x-hcvbpiikrmzskigr) (Quit: jamesr)
- # [04:47] * Joins: dbaron (~dbaron@173-228-28-227.dsl.dynamic.sonic.net)
- # [04:56] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
- # [05:00] * Joins: J_Voracek (~J_Voracek@71.21.195.70)
- # [05:00] * Quits: J_Voracek (~J_Voracek@71.21.195.70) (Client Quit)
- # [05:01] * Quits: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90) (Quit: ChatZilla 0.9.87-2.1450hg.fc15 [XULRunner 7.0.1/20110930134335])
- # [05:02] * Joins: agektmr (~Adium@220.109.219.244)
- # [05:06] * Quits: benjoffe (~benjoffe_@CPE-121-218-225-100.lnse4.cht.bigpond.net.au) (Remote host closed the connection)
- # [05:09] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
- # [05:12] * Joins: jacobolus (~jacobolus@67.164.92.84)
- # [05:13] * Joins: benjoffe_ (~benjoffe_@CPE-121-218-225-100.lnse4.cht.bigpond.net.au)
- # [05:15] * Quits: fishd (darin@nat/google/x-dbcwqstphpixmesp) (Read error: Connection reset by peer)
- # [05:15] * Joins: fishd (darin@nat/google/x-hqgatulheztkgllz)
- # [05:19] * heycam|away is now known as heycam
- # [05:21] * Joins: annevk (~annevk@EM1-113-12-168.pool.e-mobile.ne.jp)
- # [05:21] <annevk> TabAtkins, CSS URL values are parsed the same as in HTML
- # [05:22] <annevk> TabAtkins, though UTF-8 is enforced, just like in XMLHttpRequest
- # [05:22] <annevk> TabAtkins, 3986 is wrong, but there's not really a good replacement at the moment
- # [05:22] <annevk> I think we should just put everything into the URL specification
- # [05:22] <annevk> API, syntax, etc.
- # [05:24] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [05:25] * Quits: ezoe (~ezoe@203-140-89-83f1.kyt1.eonet.ne.jp) (Read error: Connection reset by peer)
- # [05:31] * Quits: cpearce (~chatzilla@60.234.54.74) (Ping timeout: 258 seconds)
- # [05:31] * Quits: nonge_ (~nonge@p5082B423.dip.t-dialin.net) (Ping timeout: 252 seconds)
- # [05:33] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Read error: Connection timed out)
- # [05:34] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [05:40] * Parts: annevk (~annevk@EM1-113-12-168.pool.e-mobile.ne.jp)
- # [05:41] * Joins: annevk (~annevk@EM1-113-12-168.pool.e-mobile.ne.jp)
- # [05:43] * Joins: nonge_ (~nonge@p50829383.dip.t-dialin.net)
- # [05:49] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Ping timeout: 252 seconds)
- # [06:02] * Joins: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com)
- # [06:04] * Joins: rabbi1 (~manjunath@49.249.143.34)
- # [06:05] * Joins: cpearce (~chatzilla@ip-118-90-78-13.xdsl.xnet.co.nz)
- # [06:06] <sicking> annevk: ping
- # [06:06] * Quits: rabbi1 (~manjunath@49.249.143.34) (Client Quit)
- # [06:07] <annevk> hey sicking
- # [06:07] <sicking> annevk: i don't understand your email regarding the CORS change
- # [06:07] <sicking> annevk: can you give an example scenario which you're proposing should change
- # [06:08] <annevk> you xhr to from a to b
- # [06:08] <annevk> b doe set-cookie
- # [06:08] <annevk> withCredentials is true
- # [06:08] <annevk> does*
- # [06:08] <annevk> b also fails the sharing check
- # [06:08] <annevk> Gecko/WebKit set the cookie
- # [06:09] <sicking> "fails the sharing check" === "doesn't set access-control-allow-origin to the 'correct' value"?
- # [06:09] <annevk> a similar situation with <img crossorigin> is not supposed to set a cookie
- # [06:09] <annevk> sicking, for instance, or does not include the header
- # [06:09] <annevk> sicking, does not include the credentials header
- # [06:09] <sicking> ok
- # [06:10] <sicking> hmm.. why doesn't HTML5 simply defer to CORS on this?
- # [06:10] <sicking> i'm not sure how to implement this in Gecko...
- # [06:10] <sicking> by the time the response gets to the CORS code, the networking library has already set the cookie
- # [06:10] <sicking> so i guess we don't follow the HTML5 spec on this, if it indeed demands that behavior
- # [06:11] <annevk> HTML says
- # [06:11] <annevk> "For the purposes of the calling algorithm, the user agent must act as if there was a fatal network error and no resource was obtained."
- # [06:11] <annevk> no resource obtained means no cookie
- # [06:11] * Joins: agektmr (~Adium@220.109.219.244)
- # [06:11] <sicking> depends on what "the calling algorithm" refers to
- # [06:12] <sicking> does it refer to the <img> algorithm which downloads and parses an image?
- # [06:12] <annevk> fetch
- # [06:13] <annevk> we could also change HTML I suppose
- # [06:13] <sicking> which layers of the ISO layer model does "fetch" include?
- # [06:13] <annevk> it just seems slightly saner to not alter cookies
- # [06:13] <annevk> ISO?
- # [06:13] * Quits: dbaron (~dbaron@173-228-28-227.dsl.dynamic.sonic.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [06:14] <sicking> OSI
- # [06:15] <annevk> still no clue :)
- # [06:15] <sicking> annevk: so the algorithm defined in the HTML spec also never sets the UAs cookies. So aborting the algorithm wouldn't seem to affect whether cookies are set
- # [06:15] <sicking> http://en.wikipedia.org/wiki/OSI_model
- # [06:15] <annevk> fetch sets cookies
- # [06:16] <annevk> we should define CORS and fetch in one spec really
- # [06:16] <annevk> but you know, lots of work refactoring those two
- # [06:17] <sicking> ah, yes
- # [06:17] <sicking> it'll still be hard to implement this, since it means violating the HTTP layer model
- # [06:18] <sicking> i.e. you can't use a plain HTTP library to do the load
- # [06:18] <sicking> i do sort of understand/like the idea. It'll just be very hacky to implement
- # [06:18] <annevk> a plain HTTP library does not do cookies
- # [06:19] <sicking> annevk: well.. i guess that's a matter of definition
- # [06:19] <sicking> ours does
- # [06:19] <annevk> if cookies are part of HTTP, so is CORS
- # [06:19] <annevk> aaah, so whatever Gecko's HTTP library does is plain :)
- # [06:20] <sicking> i don't expect we're the only ones to put cookies into the http library
- # [06:20] <annevk> for Opera it's no problem either way
- # [06:20] <sicking> for any browser it makes a lot of sense to have a layer that you can call into which does http including cookies and cache
- # [06:21] <annevk> that same library should prolly do CORS though
- # [06:21] <annevk> given the potentially CORS-enabled fetching stuff
- # [06:21] <sicking> annevk: arguably, but that'll require more refactoring than spec changes ;-)
- # [06:21] <sicking> annevk: i guess I'm fine with it if other browsers agree. Would be nice to have a more understandable email to the group though.
- # [06:26] <annevk> sicking, I emailed a reply to myself explaining it more clearly (hopefully)
- # [06:31] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
- # [06:34] <heycam> hmm, 1323 unread public-html mails. wonder if there's anything worth reading in there...
- # [06:35] * Quits: cpearce (~chatzilla@ip-118-90-78-13.xdsl.xnet.co.nz) (Ping timeout: 248 seconds)
- # [06:35] <annevk> hey
- # [06:35] <annevk> look who's back
- # [06:37] <Hixie> here now
- # [06:37] <Hixie> what's up
- # [06:38] <heycam> hi annevk
- # [06:38] <heycam> (and sicking, from before!)
- # [06:39] <sicking> annevk: thanks! I sent a reply. I generally think I agree with the change, though I have no idea when we'd be able to implement :(
- # [06:39] <sicking> annevk: our network library has this very silly policy of not having any security code in it.
- # [06:40] <sicking> annevk: We've abandoned the policy, but it's a slow process to change
- # [06:40] <annevk> Hixie, HTML applies a slightly stricter set of rules to CORS with respect to cookies
- # [06:40] <Hixie> that is unintentional if so
- # [06:41] <Hixie> let me check
- # [06:41] <annevk> Hixie, but we like it
- # [06:41] * sicking wonders if darin actually made a bad decision!?!
- # [06:41] <annevk> Hixie, it's the bit about completely ignoring the response resource if the resource sharing check fails
- # [06:41] <Hixie> cookies get set in step 6.3 of the fetch algorithm
- # [06:42] <annevk> "For the purposes of the calling algorithm, the user agent must act as if there was a fatal network error and no resource was obtained."
- # [06:42] <annevk> if there's no resource, there's no cookies
- # [06:42] <Hixie> that happnes long after the cookies are set
- # [06:43] <annevk> oh really?
- # [06:43] <Hixie> i'm assuming you're talking about a potentially CORS-enabled fetch right?
- # [06:43] <annevk> no
- # [06:43] <Hixie> oh
- # [06:43] <Hixie> which case do you mean then
- # [06:43] <annevk> oh yes
- # [06:43] <Hixie> ok
- # [06:43] <annevk> <img crossorigin> for instance
- # [06:43] <Hixie> so assume mode = Use Credentials
- # [06:43] <Hixie> we start the algorithm
- # [06:44] * Quits: jacobolus (~jacobolus@67.164.92.84) (Ping timeout: 260 seconds)
- # [06:44] <Hixie> step 1 calls CORS "cross-origin request", section 7.1 of CORS
- # [06:44] <Hixie> step 2 of that calls the "simple cross-origin request"
- # [06:44] <Hixie> section 7.1.4 of CORS
- # [06:44] <Hixie> step 1 of that calls "make a request steps"
- # [06:44] <Hixie> in section 7.1.7 of CORS
- # [06:45] <Hixie> that calls "fetch" in HTML
- # [06:45] <Hixie> oh but it has the block cookies flag set
- # [06:45] <Hixie> interesting
- # [06:45] <Hixie> ok then <img crossorigin> never sets cookies one way or the other currently
- # [06:45] <Hixie> oops
- # [06:47] * Quits: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi) (Ping timeout: 260 seconds)
- # [06:47] <Hixie> annevk: when does XHR set cookies?
- # [06:50] <annevk> block cookies is only set if credentials is false
- # [06:50] <annevk> but credentials is true here
- # [06:50] <annevk> you said assume mode = Use Credentials
- # [06:50] <annevk> XHR sets cookies whenever "fetch" does
- # [06:51] <annevk> really need to merge CORS and fetch and I really do not want to
- # [06:51] <annevk> can't we have some Google code projects on specs next time that is up?
- # [06:51] <annevk> Google Summer of Code I meant
- # [06:53] <heycam> or a NaNo(WebSpec)Mo
- # [06:53] <Hixie> oh well
- # [06:53] <Hixie> ok
- # [06:53] <Hixie> so if credentials is true
- # [06:53] <Hixie> then let me continue:
- # [06:53] <Hixie> that calls "fetch" in HTML
- # [06:53] <Hixie> "fetch" then does the stuff, gets to step 6
- # [06:54] <Hixie> step 6.3 sets cookies
- # [06:54] <Hixie> then fetch starts firing tasks
- # [06:54] * Joins: MikeSmith_ (~MikeSmith@EM114-48-115-238.pool.e-mobile.ne.jp)
- # [06:55] <Hixie> looks like you should be calling "fetch" with the synchronous flag set btw
- # [06:55] <Hixie> either that or talk about getting the data from the tasks it fires
- # [06:55] <Hixie> but anyway
- # [06:55] <Hixie> ignoring that
- # [06:55] <Hixie> back to "simple cross-origin request"
- # [06:55] <Hixie> it goes into the "otherwise" branch, which calls "resource sharing check"
- # [06:56] <Hixie> section 7.2 of CORS
- # [06:56] * Quits: annevk (~annevk@EM1-113-12-168.pool.e-mobile.ne.jp) (Ping timeout: 255 seconds)
- # [06:56] <Hixie> step 1 sees no Access-Control-Allow-Origin header values so it returns fail
- # [06:56] <Hixie> so back to "simple cross-origin request"; it calls the "network error steps"
- # [06:56] <Hixie> in 7.1.7
- # [06:56] <Hixie> that sets cross-origin request status to /network error/
- # [06:57] <Hixie> and aborts "simple cross-origin request"
- # [06:57] * Quits: MikeSmith (~MikeSmith@EM1-113-12-168.pool.e-mobile.ne.jp) (Ping timeout: 245 seconds)
- # [06:57] * MikeSmith_ is now known as MikeSmith
- # [06:57] <Hixie> so we're back to "cross-origin request", which just returns since it's finished too
- # [06:58] <Hixie> so, we're back to the HTML spec's "potentially CORS-enabled fetch"
- # [06:58] * Joins: erlehmann (~erlehmann@89.204.137.88)
- # [06:58] <Hixie> second branch, step 2. That waits for the CORS cross-origin request status to have a value, which it does
- # [06:58] <Hixie> so then step 3
- # [06:58] <Hixie> goes through the first branch, since it's not "success"
- # [06:58] <Hixie> all the tasks are discarded, and it returns a fatal network error
- # [06:58] <Hixie> but the cookies are already set
- # [06:59] <Hixie> since they were set way back when before CORS was checked
- # [06:59] <Hixie> here ends my story
- # [07:00] * Joins: agektmr (~Adium@220.109.219.244)
- # [07:03] * Joins: annevk (~annevk@114.48.115.238)
- # [07:04] <annevk> o_O
- # [07:05] <Hixie> why o_O?
- # [07:05] * Quits: erlehmann (~erlehmann@89.204.137.88) (Quit: Ex-Chat)
- # [07:07] * Joins: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi)
- # [07:08] <annevk> complicated :)
- # [07:08] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
- # [07:08] <Hixie> you wrote most of it! :-P
- # [07:11] * Joins: agektmr (~Adium@220.109.219.244)
- # [07:17] * Joins: fishd_ (darin@nat/google/x-tolgyhgjqhhifgrm)
- # [07:17] * Quits: roc (~chatzilla@60.234.54.74) (Ping timeout: 248 seconds)
- # [07:18] * Quits: fishd (darin@nat/google/x-hqgatulheztkgllz) (*.net *.split)
- # [07:18] * Quits: dydx (~dydz@adsl-75-37-25-16.dsl.pltn13.sbcglobal.net) (*.net *.split)
- # [07:18] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (*.net *.split)
- # [07:18] * Quits: ukai (ukai@nat/google/x-xqrtxikemoruymqv) (*.net *.split)
- # [07:18] * Quits: hamaji (~hamaji@220.109.219.244) (*.net *.split)
- # [07:18] * Quits: Hixie (~ianh@trivini.no) (*.net *.split)
- # [07:18] * Quits: romainhuet (u2533@gateway/web/irccloud.com/x-kgagqzjfsstfntxa) (*.net *.split)
- # [07:18] * Quits: slightlyoff (u1768@gateway/web/irccloud.com/x-leutuazhgomfkzqq) (*.net *.split)
- # [07:18] * Quits: tmzt_ (~tmzt@adsl-69-208-11-149.dsl.akrnoh.ameritech.net) (*.net *.split)
- # [07:18] * Quits: benschwarz (u2121@gateway/web/irccloud.com/x-arvwvlkaudklrkjq) (*.net *.split)
- # [07:18] * Quits: silky (~silky@pool-74-108-142-22.nycmny.fios.verizon.net) (*.net *.split)
- # [07:18] * Quits: reggna (~reggna@godis.olf.sgsnet.se) (*.net *.split)
- # [07:19] * Joins: fishd (darin@nat/google/x-hqgatulheztkgllz)
- # [07:19] * Joins: dydz (~dydz@adsl-75-37-25-16.dsl.pltn13.sbcglobal.net)
- # [07:19] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
- # [07:19] * Joins: ukai (ukai@nat/google/x-xqrtxikemoruymqv)
- # [07:19] * Joins: hamaji (~hamaji@220.109.219.244)
- # [07:19] * Joins: Hixie (~ianh@trivini.no)
- # [07:19] * Joins: silky (~silky@pool-74-108-142-22.nycmny.fios.verizon.net)
- # [07:19] * Joins: romainhuet (u2533@gateway/web/irccloud.com/x-kgagqzjfsstfntxa)
- # [07:19] * Joins: slightlyoff (u1768@gateway/web/irccloud.com/x-leutuazhgomfkzqq)
- # [07:19] * Joins: tmzt_ (~tmzt@adsl-69-208-11-149.dsl.akrnoh.ameritech.net)
- # [07:19] * Joins: benschwarz (u2121@gateway/web/irccloud.com/x-arvwvlkaudklrkjq)
- # [07:19] * Joins: reggna (~reggna@godis.olf.sgsnet.se)
- # [07:20] * Joins: riven` (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
- # [07:20] * Quits: fishd (darin@nat/google/x-hqgatulheztkgllz) (Ping timeout: 244 seconds)
- # [07:21] * Joins: rimantas (~rimliu@93.93.57.193)
- # [07:22] * Joins: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net)
- # [07:24] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Ping timeout: 244 seconds)
- # [07:26] * Joins: robman (~robman@eth4584.nsw.adsl.internode.on.net)
- # [07:31] * Joins: FlorianX (~Florian_S@p4FE2D2FC.dip.t-dialin.net)
- # [07:34] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [07:35] * Joins: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [07:35] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [07:39] * Joins: jacobolus (~jacobolus@c-71-198-174-224.hsd1.ca.comcast.net)
- # [07:42] * Rik`_ is now known as Rik`
- # [07:43] * Joins: jacobolu_ (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net)
- # [07:43] * nunnun_away is now known as nunnun
- # [07:45] <annevk> yeah I guess we should do new Text()
- # [07:46] <annevk> prolly should revert the overloading change and start with that
- # [07:46] <annevk> still not really sure of the new EVERYTHING() plan
- # [07:46] <annevk> new HTMLDivElement() is so ugly
- # [07:46] <annevk> new Div() would be kind of neat
- # [07:46] * Quits: jacobolus (~jacobolus@c-71-198-174-224.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
- # [07:46] <Hixie> new HTMLUnknownElement()
- # [07:46] <Hixie> new HTML*Element() in general just doesn't work
- # [07:47] <annevk> so alex thinks it should work and should just result in a useless object
- # [07:48] <annevk> but I'm not sure what the point of that is
- # [07:48] <Hixie> yeah i pretty strongly disagree with alex on this issue
- # [07:51] <heycam> new HTMLDivElement() is indeed ugly
- # [07:51] <heycam> I would like new Element("div")
- # [07:52] <annevk> that returns a non-Element object?
- # [07:52] <heycam> don't think it matters too much that the return type is something more specific than Element -- it at least is a kind of Element
- # [07:52] * Quits: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net) (Quit: rniwa)
- # [07:52] <annevk> hmm
- # [07:52] <heycam> I think "Element" is nice and short enough
- # [07:52] <annevk> Element.create is pretty short too
- # [07:52] <heycam> but not as :)
- # [07:53] <annevk> node.append(["div"]) would be even shorter
- # [07:53] <annevk> see some emails on www-dom
- # [07:53] <heycam> so I agree with Alex that we should encourage constructors where possible, it's just that I don't know that forcing spec writers to specify constructor behaviour on everything is the best (or most polite) way to do that
- # [07:54] <annevk> we can just add [NoConstructor] everywhere until the concrete proposals arrive
- # [07:54] <heycam> guess so
- # [07:54] <annevk> or we can skip the make work and wait for the latter
- # [07:54] <heycam> still seems kinda rude for webidl to force that
- # [07:54] * Joins: nimbupani (~divyam@219.64.117.145)
- # [07:54] * nimbupani is now known as divya
- # [07:54] <annevk> I was being sarcastic
- # [07:55] <annevk> I think what we have now is good and people should make concrete proposals for constructors where they are needed
- # [07:55] <heycam> sarcasm with no indicating punctuation!
- # [07:55] <annevk> if we end up with constructors everywhere, we can make them optional
- # [07:56] <annevk> heycam, the horror!
- # [07:56] <annevk> next you claim it's inaccessible
- # [07:56] <Hixie> i think the json-like description of elements is kinda crazy, personally
- # [07:56] <annevk> crazy-neat?
- # [07:57] <heycam> many people write helper functions to do that json-like thing
- # [07:58] <Hixie> crazy ugly and incomprehensible
- # [07:58] <heycam> i'm a bit wary of potential confusion over whether it sets js properties, dom attributes, magic with onfoo handlers, etc.
- # [07:58] <Hixie> if we're going that route, please for the love of kittens just use E4X or something similar
- # [07:58] <heycam> ha
- # [08:00] * Joins: ezoe (~ezoe@112-68-244-76f1.kyt1.eonet.ne.jp)
- # [08:01] <annevk> E4X yeah right
- # [08:01] * Quits: nessy (~Adium@74.125.56.18) (Quit: Leaving.)
- # [08:01] <annevk> heycam, ah yeah, guess we'll end up with attributes and on* as event handlers
- # [08:01] <annevk> if we do it
- # [08:01] <heycam> :/
- # [08:02] <heycam> hopefully as separate arguments?
- # [08:02] <heycam> i.e. not intermingled on the one object passed in?
- # [08:02] <annevk> that was the idea initially, but is that really worth it?
- # [08:03] <heycam> dunno, it just rubs me the wrong way somehow, treating /^on/ attributes differently
- # [08:03] <heycam> (do we have any non event listener attributes that begin with "on"?)
- # [08:04] * Joins: zcorpan (~zcorpan@c-df9be355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [08:04] <annevk> don't think so
- # [08:04] * Joins: dirkpennings (~Vuurbal@90-145-26-140.bbserv.nl)
- # [08:05] <heycam> even if we don't, I wouldn't like to rule out such attributes because Element.create or whatever would treat them as event names after the "on"
- # [08:06] <heycam> "1emu = 1pt/12700"
- # [08:06] <heycam> I would've expected an emu to be a kind of large unit
- # [08:06] * Joins: mishunov (~spliter@212.17.143.210)
- # [08:06] * Quits: mishunov (~spliter@212.17.143.210) (Client Quit)
- # [08:07] * dglazkov is now known as dglazkov|away
- # [08:08] * Joins: GlitchMr (~glitchmr@178-36-32-130.adsl.inetia.pl)
- # [08:10] <annevk> heycam, given that X is going to be optimized for web platform elements I do not think that's a problem
- # [08:12] <annevk> but then I'm still not sure whether we should do X (e.g. Element.create) at all, plus all the other various DOM methods ojan is proposing
- # [08:13] * heycam probably skimmed past that email
- # [08:13] <annevk> "modifying the DOM WAS: Node append"
- # [08:14] * Quits: aho (~nya@fuld-590c7bda.pool.mediaWays.net) (Quit: EXEC_over.METHOD_SUBLIMATION)
- # [08:22] * Joins: Rich_Clark (~chatzilla@94-193-82-82.zone7.bethere.co.uk)
- # [08:23] <annevk> heycam, so the one thing we need for that is unbounded dictionaries
- # [08:24] <heycam> yeah
- # [08:24] <annevk> heycam, so there's still a defined processing order and everything
- # [08:24] <heycam> I just avoided adding that until there were concrete needs for it
- # [08:24] <annevk> okay
- # [08:26] <annevk> it would be great if we could discuss these proposals with various implementors
- # [08:26] <annevk> it seems pretty clear authors want some simplified way of doing things
- # [08:26] <heycam> (is that not what the www-dom discussion is achieving?)
- # [08:26] <annevk> everyone has their own convenience method / templating system
- # [08:26] <annevk> yeah, though I'm missing sicking / othermaciej
- # [08:26] <heycam> yeah, it is tough to standardise a templating system -- it's almost entirely a syntax debate
- # [08:27] <annevk> actually, not sicking
- # [08:27] <annevk> I do think that if we want to simplify the DOM having element templates would be huge step
- # [08:28] <annevk> and keeps people from using innerHTML which has all the badness of string concatenation
- # [08:28] <annevk> well hopefully keeps them away from it, no guarantees
- # [08:28] <heycam> sprintf
- # [08:28] <Hixie> the biggest problem with innerHTML is the lack of compile-time syntax checking
- # [08:31] <annevk> the array stuff gives you that to some extent
- # [08:31] * Quits: dydz (~dydz@adsl-75-37-25-16.dsl.pltn13.sbcglobal.net) (Quit: dydz)
- # [08:31] <annevk> prolly about as far as E4X
- # [08:31] <Hixie> yes but it's 10x as verbose
- # [08:31] <Hixie> and uglier than Element.create()
- # [08:31] <annevk> hmm
- # [08:32] <annevk> <div class="test"/>
- # [08:32] <annevk> ["div", {class:"test"}]
- # [08:32] <annevk> not too bad
- # [08:32] <Hixie> uh huh
- # [08:33] <heycam> I just some more sarcasm without punctuation :)
- # [08:33] <heycam> *detected some
- # [08:33] <Hixie> :-)
- # [08:33] <annevk> if you write </div> instead you even save a character
- # [08:34] <Hixie> what's <div><p><span>TEST</span></p></div> in your syntax?
- # [08:34] <heycam> I find the purely arrays/strings/object literals too hard to read
- # [08:34] <Hixie> yes
- # [08:34] <heycam> even though I'm guilty of writing functions like that for my own purposes
- # [08:34] <heycam> because I hate to use so many method calls :)
- # [08:35] <Hixie> i use duct tape for private use, too. i wouldn't try to sell a product made with duct tape.
- # [08:35] <heycam> so I wonder, without having written out an example, if a small amount of verbosity like requiring new Element("div", { class: "test" }) rather than just using an array with a string in first position to mean the tag name, would help make it more readable
- # [08:35] <annevk> ["div", ["p", ["span", "TEST"]]]
- # [08:36] <annevk> it wins again
- # [08:36] <Hixie> wow
- # [08:36] <Hixie> wins is so not the word i was going to use
- # [08:36] <heycam> lol
- # [08:44] <jacobolu_> burn
- # [08:44] * jacobolu_ is now known as jacobolus
- # [08:45] <annevk> I'm not sure
- # [08:45] <jacobolus> Hixie: you don't think having some kind of structured way to write these that's not a string would be helpful?
- # [08:45] <annevk> I'm not the one who claimed "10x as verbose"
- # [08:45] <Hixie> jacobolus: i absolutely think it would be helpful
- # [08:45] <Hixie> jacobolus: i think E4X would be the way to go
- # [08:45] <Hixie> jacobolus: or, within JS itself, nested Element.create() calls
- # [08:45] <jacobolus> oh. I'm not very familiar w/ e4x
- # [08:46] <jacobolus> wait, you just write xml inline w/ the javascript?
- # [08:46] <Hixie> annevk: not 10x longer, just 10x more verbose
- # [08:46] <jacobolus> ick
- # [08:46] <heycam> I think a structured way to write these things is good, it's just that using only [] and {} as the delimiters makes it far from readable
- # [08:46] <heycam> I would happily sacrifice some conciseness for readability
- # [08:46] <Hixie> annevk: there's way more punctuation going on in ways that really make it very hard to work out what's going on
- # [08:47] <Hixie> annevk: e.g. "foo", "foo" should never be able to represent an element containing a text node
- # [08:47] <Hixie> annevk: that's just batty
- # [08:47] * heycam easily envisages calls to this Element.create ending with ]]]}]]]}]});
- # [08:48] <annevk> Hixie, hmm, at the end of the array you have either other elements or text nodes; I don't think it's too bad
- # [08:48] <heycam> would be nice if the whatwg mailing list software included an Archived-At header (probably someone has requested this before)
- # [08:48] <annevk> Hixie, you do have to know the model of course, otherwise it is indeed kind of hard
- # [08:48] <annevk> heycam, lots of people have
- # [08:49] <annevk> heycam, I was planning on writing some intermediary script at one point, but never did
- # [08:50] <annevk> my idea was passing he Message-ID after some URL that would have some kind of lookup and do redirects
- # [08:50] <annevk> the*
- # [08:51] <Hixie> heycam: tell dreamhost :-(
- # [08:51] <heycam> annevk, oh yeah, like w3.org/mid/...
- # [08:51] <Hixie> annevk: good APIs are intuitive
- # [08:52] <annevk> it's not exactly less or more intuitive than the Element.create proposal
- # [08:52] <annevk> or new Event()
- # [08:54] <jacobolus> Hixie: what's an intuitive DOM creation/query/manipulation API in your view?
- # [08:54] <Hixie> annevk: as an extreme example, I would say Element.create("div", {title: "bar"}, ["Hello"]); is more intuitive than Element.create(["div", {title: "bar"}, ["Hello"]]);, because in the latter one there's one argument, and it's not clear that one array's values mean different things, whereas in the former it's clear that the arguments mean different things, and it seems obvious that an element creation method would start with an element name, and you can work out the
- # [08:54] <Hixie> jacobolus: well, an intuitive creation one would be: var mydiv = <div/>;
- # [08:55] <jacobolus> but just making that a string in a simple function is just as good at that point, ISTM
- # [08:55] <Hixie> (i wouldn't take anything from E4X other than the element literals, fwiw)
- # [08:55] <Hixie> jacobolus: strings aren't syntax-checked
- # [08:55] * Quits: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com) (Quit: hij1nx)
- # [08:55] <jacobolus> syntax-checked by whom?
- # [08:55] <Hixie> the compiler
- # [08:55] * Joins: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net)
- # [08:56] <Hixie> jacobolus: consider the difference between var mytree = <p><i>hello</b> world</p>; and var mytree = "<p><i>hello</b> world</p>";
- # [08:56] <Hixie> jacobolus: how long do you think it would take to catch those two errors?
- # [08:56] <jacobolus> so then a question... how do you make it dynamic?
- # [08:56] <jacobolus> i.e. if I want to stick some custom stuff in halfway through
- # [08:56] <Hixie> for the first one, i'd say about 1 second to catch it, and about 3 seconds to fix it. for the second, it might never get caught, but it's probably measured in weeks or months.
- # [08:57] <Hixie> E4X had a mechanism for that
- # [08:57] <Hixie> something like var name = 'jacobolus'; var mydiv = <div>Hello {name}</div>;
- # [08:57] <jacobolus> hm
- # [08:58] <jacobolus> so why couldn't you just make it a function w/ some name
- # [08:58] <Hixie> (you can test it in mozilla, it ships with e4x)
- # [08:58] <Hixie> a function?
- # [08:58] <jacobolus> and pass in a string
- # [08:58] <jacobolus> and then have tooling
- # [08:58] <Hixie> strings aren't syntax checked
- # [08:58] <jacobolus> that would do the syntax checing
- # [08:58] <jacobolus> *checking
- # [08:58] <jacobolus> that could easily be done in e.g. a text editor, linter, etc.
- # [08:59] <Hixie> not as easily as "the compiler won't run the code while it's broken"
- # [08:59] <Hixie> and the difference is enough that nobody does what you're suggesting
- # [08:59] <jacobolus> they do for regexps in python, as one example
- # [09:00] <Hixie> maybe python developers are better than js developers?
- # [09:00] <jacobolus> heh
- # [09:01] <jacobolus> are there any people who have written descriptive praises of E4X?
- # [09:01] <Hixie> descriptive praises?
- # [09:01] * Joins: virtuelv (~virtuelv_@pat-tdc.opera.com)
- # [09:01] <jacobolus> i.e. is there some testimonial I can read about how nice it was to deal with?
- # [09:01] <jacobolus> with like, specific problems it solved and so forth?
- # [09:01] <Hixie> i dunno, probably
- # [09:02] <Hixie> most commentary was about how it sucks
- # [09:02] <jacobolus> because just at first glance my guess is that I sort of wouldn't like it
- # [09:02] <Hixie> the suckitude being mostly related to the bits i haven't talked about :-)
- # [09:02] <Hixie> (it tried to solve too much imho)
- # [09:02] <Hixie> anyway, i gotta go
- # [09:02] <Hixie> bed time
- # [09:02] * heycam is now known as heycam|away
- # [09:02] <jacobolus> cheers
- # [09:03] <jacobolus> I wonder if there are any DSLs embedded in other languages for XML manipulation that are particularly elegant
- # [09:03] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [09:03] <jacobolus> some lisp macros or some such
- # [09:04] <jacobolus> or I guess just for creating complex structured data with attributes and descendants at each level
- # [09:04] <jacobolus> wouldn't necessarily have to be based around xml
- # [09:05] <jacobolus> annevk: FWIW, I like your thing :)
- # [09:12] * Quits: abarth (~abarth@173-164-128-209-SFBA.hfc.comcastbusiness.net) (Quit: abarth)
- # [09:24] * Quits: GlitchMr (~glitchmr@178-36-32-130.adsl.inetia.pl) (Read error: Connection reset by peer)
- # [09:29] * Joins: toyoshiAw (~toyoshim@yuri.twintail.org)
- # [09:30] * Joins: rtuin (~rtuin@213.125.175.250)
- # [09:30] * Quits: divya (~divyam@219.64.117.145) (Ping timeout: 245 seconds)
- # [09:31] * Quits: sicking (~chatzilla@206-15-76-122.static.twtelecom.net) (Ping timeout: 248 seconds)
- # [09:34] * Joins: cpearce (~chatzilla@ip-118-90-78-13.xdsl.xnet.co.nz)
- # [09:39] * Quits: cpearce (~chatzilla@ip-118-90-78-13.xdsl.xnet.co.nz) (Ping timeout: 244 seconds)
- # [09:40] * Joins: Velmont (odinho@knuth.ping.uio.no)
- # [09:41] * Quits: virtuelv (~virtuelv_@pat-tdc.opera.com) (Remote host closed the connection)
- # [09:47] * Joins: virtuelv (~virtuelv_@pat-tdc.opera.com)
- # [09:50] * Joins: roc (~chatzilla@121.98.230.221)
- # [09:53] <hsivonen> Is webcam support in Opera 12 going to be WebRTC or something else?
- # [09:56] * Quits: cygri (~cygri@109.255.150.223) (Quit: cygri)
- # [10:10] * Joins: nessy (~Adium@124-168-52-143.dyn.iinet.net.au)
- # [10:13] * Joins: Timz (~Adium@86.89.174.199)
- # [10:18] * Joins: cpearce (~chatzilla@ip-118-90-78-13.xdsl.xnet.co.nz)
- # [10:20] * Joins: david_carlisle (~chatzilla@86.188.197.189)
- # [10:29] <hsivonen> hmm. Opera 12 doesn't have license legal stuff for Google's WebRTC code on the about page at least
- # [10:30] <hsivonen> is there some documentation about what kind of webcam integration Opera 12 has?
- # [10:32] * Quits: david_carlisle (~chatzilla@86.188.197.189) (Read error: Connection reset by peer)
- # [10:33] <hsivonen> considering how portable Opera is, I'm a bit surprised Opera isn't using clang already on Mac: http://my.opera.com/desktopteam/blog/2011/09/28/mac-compiler-js-performance
- # [10:37] * Quits: cpearce (~chatzilla@ip-118-90-78-13.xdsl.xnet.co.nz) (Remote host closed the connection)
- # [10:37] * Quits: nessy (~Adium@124-168-52-143.dyn.iinet.net.au) (Quit: Leaving.)
- # [10:42] <foolip> hsivonen, it's not Google code
- # [10:49] <doublec> opera 12 has webrtc support?
- # [10:50] <hsivonen> foolip: what's the feature?
- # [10:50] <hsivonen> foolip: that is, what's the webcam integration feature? still upload via <input type=file>? WebRTC? something else?
- # [10:52] <foolip> hsivonen, I really don't know, but I assume it's in anticipation of future features that need it (WebRTC)
- # [10:53] <hsivonen> foolip: ok. I was wondering about https://twitter.com/#!/ComputerActive/status/123663408133451776 which was retweeted by @opera
- # [10:54] <foolip> hmm, yeah, I'm not sure what the sales pitch is, AFAICT you can do things like "augmented reality" now, for what it's worth
- # [10:54] <foolip> on mobile at least, on desktop I don't think we have device orientation events :)
- # [10:55] <hsivonen> I haven't verified, but IIRC, Firefox has device orientation events on laptops
- # [10:56] <hsivonen> though having to tilt the whole laptop might not be as good UI as tilting a phone
- # [10:56] <foolip> I'm just guessing though
- # [10:56] <zcorpan> orientation events worked for me in firefox on my macbook
- # [10:57] <hsivonen> http://news.ycombinator.com/item?id=3096398 is interesting. especially Brendan's follow-up at the bottom of the page
- # [10:59] * riven` is now known as riven
- # [10:59] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
- # [10:59] * Joins: riven (~riven@pdpc/supporter/professional/riven)
- # [11:05] * Quits: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net) (Quit: The computer fell asleep)
- # [11:05] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
- # [11:07] <MikeSmith> hsivonen: indeed
- # [11:09] * Quits: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net) (Ping timeout: 244 seconds)
- # [11:09] <annevk> what blog post of alex does Brendan mean?
- # [11:10] <hsivonen> annevk: I don't know. I'm guessing http://infrequently.org/2011/09/google-the-future-of-javascript/
- # [11:11] * Quits: zcorpan (~zcorpan@c-df9be355.410-6-64736c14.cust.bredbandsbolaget.se) (Remote host closed the connection)
- # [11:12] * Joins: zcorpan (~zcorpan@85.227.155.223)
- # [11:18] <annevk> hsivonen, afaik Opera 12 allows displaying the feed of a device camera via <video> (which you can then manipulate using <canvas>)
- # [11:19] <hsivonen> annevk: ok.
- # [11:19] <hsivonen> annevk: are there docs on how to do that from Web content?
- # [11:20] <annevk> I think we implemented getUserMedia()
- # [11:20] <annevk> there was a labs build with that a while ago
- # [11:20] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [11:20] <annevk> http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview
- # [11:21] <annevk> instead of URL.createObjectURL() we currently allow directly assigning a Stream object to <video>.src instead; I think that's the only deviation
- # [11:21] <annevk> it's just to let people play around a little bit
- # [11:27] <hsivonen> annevk: thanks
- # [11:29] * Joins: cygri (~cygri@wlan-nat.fwgal01.deri.ie)
- # [11:29] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [11:30] * Quits: cygri (~cygri@wlan-nat.fwgal01.deri.ie) (Remote host closed the connection)
- # [11:30] * Joins: cygri (~cygri@wg1-nat.fwgal01.deri.ie)
- # [11:32] <hsivonen> the new features in http://www.w3.org/2011/09/games/ look rather reasonable except for the hardware performance score
- # [11:33] <hsivonen> surely each per-sensitive app needs to run its own benchmark to find out the perf that's relevant to the app
- # [11:34] <jgraham> Yeah, that sounds like a bad idea
- # [11:35] * Joins: nessy (~Adium@124-168-43-223.dyn.iinet.net.au)
- # [11:37] <hsivonen> if the app uses requestAnimationFrame, it should be able to detect if the fps is bad and try throttle down whatever slow stuff it does
- # [11:38] <hsivonen> though that might not help. I tried the WebGL aquarium in Firefox on Galaxy S II and the level of detail had no bearing on the frame rate
- # [11:38] * Quits: Lachy (~Lachy@cm-84.215.59.50.getinternet.no) (Quit: Computer has gone to sleep.)
- # [11:38] <hsivonen> I'm guessing the frame rate was terrible due to something like readbacks from the GPU
- # [11:40] * Joins: smaug____ (~chatzilla@GZYYYMKCCLXXX.gprs.sl-laajakaista.fi)
- # [11:42] * Joins: ZombieLoffe (ZombieL@unaffiliated/zombieloffe)
- # [11:45] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
- # [11:46] * Quits: nessy (~Adium@124-168-43-223.dyn.iinet.net.au) (Quit: Leaving.)
- # [11:46] * Joins: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [11:46] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [11:48] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [11:48] * Quits: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [11:49] * Quits: toyoshiAw (~toyoshim@yuri.twintail.org) (Remote host closed the connection)
- # [11:49] * Joins: toyoshiAw (~toyoshim@yuri.twintail.org)
- # [11:51] * Joins: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [11:51] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [11:53] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [11:53] * Quits: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [11:56] * Joins: Lachy (~Lachy@pat-tdc.opera.com)
- # [12:01] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Remote host closed the connection)
- # [12:06] * Joins: bga_ (~bga@95-55-63-29.dynamic.avangarddsl.ru)
- # [12:12] * Quits: virtuelv (~virtuelv_@pat-tdc.opera.com) (Ping timeout: 252 seconds)
- # [12:13] * Quits: jdong_ (~quassel@222.126.155.250) (Ping timeout: 245 seconds)
- # [12:20] * Joins: mpt (~mpt@nat/canonical/x-bbxzwibcdhepsmll)
- # [12:20] * Quits: mpt (~mpt@nat/canonical/x-bbxzwibcdhepsmll) (Changing host)
- # [12:20] * Joins: mpt (~mpt@canonical/mpt)
- # [12:22] * Joins: jdong_ (~quassel@222.126.155.250)
- # [12:25] * Joins: Rik` (~Rik`@mozilla-paris-253-98.cnt.nerim.net)
- # [12:25] * Quits: jdong__ (~jdong@222.126.155.250) (Remote host closed the connection)
- # [12:28] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [12:36] * Joins: cygri_ (~cygri@wlan-nat.fwgal01.deri.ie)
- # [12:40] * Quits: cygri (~cygri@wg1-nat.fwgal01.deri.ie) (Ping timeout: 248 seconds)
- # [12:40] * cygri_ is now known as cygri
- # [12:45] * Quits: zcorpan (~zcorpan@85.227.155.223) (Quit: zcorpan)
- # [12:50] * Joins: Telling (~unknown@192.38.109.188)
- # [12:54] * Quits: Telling (~unknown@192.38.109.188) (Client Quit)
- # [12:57] * Quits: annevk (~annevk@114.48.115.238) (Ping timeout: 260 seconds)
- # [12:57] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
- # [12:57] * Quits: MikeSmith (~MikeSmith@EM114-48-115-238.pool.e-mobile.ne.jp) (Ping timeout: 252 seconds)
- # [13:02] * Joins: MikeSmith (~MikeSmith@EM1-112-8-149.pool.e-mobile.ne.jp)
- # [13:03] * Joins: mokush (~quassel@188.24.32.36)
- # [13:04] * Joins: zcorpan (~zcorpan@c-5eeaaa20-74736162.cust.telenor.se)
- # [13:05] * Quits: ZombieLoffe (ZombieL@unaffiliated/zombieloffe)
- # [13:08] * Joins: FlorianX1 (~Florian_S@p4FE2DC21.dip.t-dialin.net)
- # [13:10] * Quits: FlorianX (~Florian_S@p4FE2D2FC.dip.t-dialin.net) (Ping timeout: 240 seconds)
- # [13:23] * Joins: necolas (~necolas@5e0c0fc8.bb.sky.com)
- # [13:33] * Quits: cygri (~cygri@wlan-nat.fwgal01.deri.ie) (Quit: cygri)
- # [13:44] * Quits: jarib (~jarib@unaffiliated/jarib) (Ping timeout: 258 seconds)
- # [13:50] * Joins: cygri (~cygri@wlan-nat.fwgal01.deri.ie)
- # [13:51] * Quits: cygri (~cygri@wlan-nat.fwgal01.deri.ie) (Remote host closed the connection)
- # [13:51] * Joins: cygri (~cygri@wg1-nat.fwgal01.deri.ie)
- # [13:52] <smaug____> where is Ms2ger
- # [13:53] <smaug____> annevk5: is the plan to move onfoo idl properties to DOM[4/web/Core/Math.random()] ?
- # [13:53] * Quits: zcorpan (~zcorpan@c-5eeaaa20-74736162.cust.telenor.se) (Quit: zcorpan)
- # [14:03] * Joins: annevk (~annevk@EM1-112-8-149.pool.e-mobile.ne.jp)
- # [14:07] * Joins: zcorpan (~zcorpan@c-df9be355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [14:13] * Joins: Ms3ger (9dc13031@gateway/web/freenode/ip.157.193.48.49)
- # [14:14] <Ms3ger> smaug____: you called?
- # [14:15] <annevk> Ms3ger--
- # [14:15] <Ms3ger> Postfix, so it would still return Ms3ger
- # [14:16] * Joins: connrs (~connrs@212.159.122.160)
- # [14:16] <Ms3ger> (I should note that I stole that joke from someone in #jsapi)
- # [14:17] <smaug____> Ms3ger: just about the thing I asked from annevk5
- # [14:17] <smaug____> onfoo properties
- # [14:17] <smaug____> whether those are going to DOM[4/web/Core/Math.random()]
- # [14:18] <annevk> it's been argued they should be
- # [14:18] <Ms3ger> Hmm, DOMWeb
- # [14:18] <annevk> makes a lot of sense in Dutch
- # [14:18] * Joins: tantek (~tantek@cpe-74-73-189-229.nyc.res.rr.com)
- # [14:18] <annevk> so probably not a good name
- # [14:18] <Ms3ger> annevk++
- # [14:19] <Ms3ger> Anyway, not sure about the specific attributes
- # [14:19] <Ms3ger> It might be good to move the infrastructure to DOM4, though
- # [14:23] <smaug____> annevk: Ms3ger: I was just wondering the right component for http://www.w3.org/Bugs/Public/show_bug.cgi?id=14428 It could be DOM or HTML or WebIDL, I guess. I picked up the last one
- # [14:24] * Ms3ger is happy to let heycam figure out what to do
- # [14:24] <Ms3ger> Also, welcome back, heycam!
- # [14:25] * Ms3ger goes off again
- # [14:25] <Ms3ger> ttyl
- # [14:25] <annevk> yeah, I'm pretty happy for other people to figure out how event handlers should work before we include them
- # [14:26] * Quits: Ms3ger (9dc13031@gateway/web/freenode/ip.157.193.48.49)
- # [14:30] * Quits: mokush (~quassel@188.24.32.36) (Remote host closed the connection)
- # [14:38] * Joins: bezoar (~Adium@c-24-143-67-135.customer.broadstripe.net)
- # [14:41] * Quits: toyoshiAw (~toyoshim@yuri.twintail.org) (Remote host closed the connection)
- # [14:42] * Quits: smaug____ (~chatzilla@GZYYYMKCCLXXX.gprs.sl-laajakaista.fi) (Ping timeout: 256 seconds)
- # [14:42] * Joins: toyoshiAw (~toyoshim@yuri.twintail.org)
- # [14:44] * Quits: mpt (~mpt@canonical/mpt) (Excess Flood)
- # [14:44] * Joins: mpt (~mpt@nat/canonical/x-xiwrgazvptgkxklw)
- # [14:44] * Quits: mpt (~mpt@nat/canonical/x-xiwrgazvptgkxklw) (Changing host)
- # [14:44] * Joins: mpt (~mpt@canonical/mpt)
- # [14:56] * Quits: tantek (~tantek@cpe-74-73-189-229.nyc.res.rr.com) (Quit: tantek)
- # [14:59] * Joins: jdong_bot_ (~jdong_bot@117.79.233.191)
- # [15:03] * Joins: davidb_ (~davidb@66.207.208.98)
- # [15:04] * Quits: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net) (Quit: tomasf)
- # [15:12] * Joins: Telling (~unknown@shop3.diku.dk)
- # [15:15] * Joins: jarib (~jarib@109.74.192.179)
- # [15:15] * Quits: jarib (~jarib@109.74.192.179) (Changing host)
- # [15:15] * Joins: jarib (~jarib@unaffiliated/jarib)
- # [15:16] * Joins: MacTed (~Thud@63.119.36.36)
- # [15:21] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [15:21] * Joins: GlitchMr (~glitchmr@178-36-32-130.adsl.inetia.pl)
- # [15:24] * Joins: nimbupani (~divyam@219.64.117.145)
- # [15:24] * nimbupani is now known as divya
- # [15:25] * bga_ is now known as bga_|away
- # [15:34] * bga_|away is now known as bga_
- # [15:59] <jgraham> So, why can't I find the spec for innerHTML anymore?
- # [16:00] * Joins: erlehmann (~erlehmann@89.204.153.90)
- # [16:01] * Joins: agektmr (~Adium@p2156-ipbf5107marunouchi.tokyo.ocn.ne.jp)
- # [16:01] <annevk> you're not looking carefully? http://html5.org/specs/dom-parsing.html
- # [16:02] <jgraham> Oh you made a whole new spec for it. You know that will confuse the hell out of people, right?
- # [16:03] * Joins: tantek (~tantek@64.20.183.131)
- # [16:03] <annevk> you always predict doom
- # [16:03] <annevk> ;)
- # [16:19] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 256 seconds)
- # [16:23] * Joins: rimantas_ (~rimliu@93.93.57.193)
- # [16:24] * Quits: zcorpan (~zcorpan@c-df9be355.410-6-64736c14.cust.bredbandsbolaget.se) (*.net *.split)
- # [16:24] * Quits: jacobolus (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net) (*.net *.split)
- # [16:24] * Quits: rimantas (~rimliu@93.93.57.193) (*.net *.split)
- # [16:24] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (*.net *.split)
- # [16:24] * Quits: ukai (ukai@nat/google/x-xqrtxikemoruymqv) (*.net *.split)
- # [16:24] * Quits: hamaji (~hamaji@220.109.219.244) (*.net *.split)
- # [16:24] * Quits: Hixie (~ianh@trivini.no) (*.net *.split)
- # [16:24] * Quits: romainhuet (u2533@gateway/web/irccloud.com/x-kgagqzjfsstfntxa) (*.net *.split)
- # [16:24] * Quits: slightlyoff (u1768@gateway/web/irccloud.com/x-leutuazhgomfkzqq) (*.net *.split)
- # [16:24] * Quits: tmzt_ (~tmzt@adsl-69-208-11-149.dsl.akrnoh.ameritech.net) (*.net *.split)
- # [16:24] * Quits: benschwarz (u2121@gateway/web/irccloud.com/x-arvwvlkaudklrkjq) (*.net *.split)
- # [16:24] * Quits: silky (~silky@pool-74-108-142-22.nycmny.fios.verizon.net) (*.net *.split)
- # [16:24] * Quits: reggna (~reggna@godis.olf.sgsnet.se) (*.net *.split)
- # [16:24] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
- # [16:25] * Quits: gnarf (~gnarf@unaffiliated/gnarf) (Read error: Operation timed out)
- # [16:25] * Joins: smaug____ (~chatzilla@GZKMMCCXVI.gprs.sl-laajakaista.fi)
- # [16:27] * Joins: gnarf (~gnarf@unaffiliated/gnarf)
- # [16:27] * Joins: eric_carlson_ (~eric@2620:149:4:1b01:7900:9d3e:456a:930f)
- # [16:29] * Joins: romainhuet (u2533@gateway/web/irccloud.com/x-xaawzyktmislogqk)
- # [16:29] * Joins: slightlyoff (u1768@gateway/web/irccloud.com/x-rznqzxjmhdzvjphq)
- # [16:29] * Joins: zcorpan (~zcorpan@c-df9be355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [16:29] * Joins: jacobolus (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net)
- # [16:29] * Joins: ukai (ukai@nat/google/x-xqrtxikemoruymqv)
- # [16:29] * Joins: hamaji (~hamaji@220.109.219.244)
- # [16:29] * Joins: Hixie (~ianh@trivini.no)
- # [16:29] * Joins: silky (~silky@pool-74-108-142-22.nycmny.fios.verizon.net)
- # [16:29] * Joins: tmzt_ (~tmzt@adsl-69-208-11-149.dsl.akrnoh.ameritech.net)
- # [16:29] * Joins: reggna (~reggna@godis.olf.sgsnet.se)
- # [16:29] * Quits: smaug____ (~chatzilla@GZKMMCCXVI.gprs.sl-laajakaista.fi) (Read error: Connection reset by peer)
- # [16:31] * Joins: mpt (~mpt@nat/canonical/x-wewljrpndbkgtsvx)
- # [16:31] * Quits: mpt (~mpt@nat/canonical/x-wewljrpndbkgtsvx) (Changing host)
- # [16:31] * Joins: mpt (~mpt@canonical/mpt)
- # [16:31] * Quits: jdong_bot_ (~jdong_bot@117.79.233.191) (Remote host closed the connection)
- # [16:32] * Quits: Rik` (~Rik`@mozilla-paris-253-98.cnt.nerim.net) (Remote host closed the connection)
- # [16:32] * Joins: benschwarz (u2121@gateway/web/irccloud.com/x-teclrtecvsnkkrni)
- # [16:36] * Joins: timeless (u4015@gateway/web/irccloud.com/x-mgufbkeratirtixq)
- # [16:36] * Quits: timeless (u4015@gateway/web/irccloud.com/x-mgufbkeratirtixq) (Changing host)
- # [16:36] * Joins: timeless (u4015@firefox/developer/timeless)
- # [16:37] * Quits: bga_ (~bga@95-55-63-29.dynamic.avangarddsl.ru) (Ping timeout: 252 seconds)
- # [16:39] * Joins: bga_ (~bga@ppp78-37-248-65.pppoe.avangarddsl.ru)
- # [16:56] * Joins: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com)
- # [17:06] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Quit: Verlassend)
- # [17:07] * Quits: rtuin (~rtuin@213.125.175.250) (Quit: Leaving)
- # [17:08] * Joins: tmzt (~tmzt@adsl-69-208-11-149.dsl.akrnoh.ameritech.net)
- # [17:10] * Quits: tmzt_ (~tmzt@adsl-69-208-11-149.dsl.akrnoh.ameritech.net) (Ping timeout: 256 seconds)
- # [17:10] * Quits: jacobolus (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
- # [17:11] * Joins: jacobolus (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net)
- # [17:18] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [17:21] * Joins: Rik` (~Rik`@mozilla-paris-253-98.cnt.nerim.net)
- # [17:22] * Quits: ezoe (~ezoe@112-68-244-76f1.kyt1.eonet.ne.jp) (Ping timeout: 255 seconds)
- # [17:26] * Quits: tantek (~tantek@64.20.183.131) (Quit: tantek)
- # [17:27] * Joins: ZombieLoffe (ZombieLoff@unaffiliated/zombieloffe)
- # [17:27] * Quits: annevk (~annevk@EM1-112-8-149.pool.e-mobile.ne.jp) (Quit: annevk)
- # [17:29] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
- # [17:29] * Joins: alohci (~chatzilla@cpc2-lutn10-2-0-cust550.9-3.cable.virginmedia.com)
- # [17:29] * Quits: alohci (~chatzilla@cpc2-lutn10-2-0-cust550.9-3.cable.virginmedia.com) (Client Quit)
- # [17:36] <hsivonen> I wonder where this person gets his ideas about Mozilla http://news.ycombinator.com/item?id=3094880
- # [17:36] * Joins: tantek (~tantek@64.20.183.131)
- # [17:37] <bga_> open bytecode stantard is ok
- # [17:38] * Quits: Lachy (~Lachy@pat-tdc.opera.com) (Quit: Computer has gone to sleep.)
- # [17:39] <bga_> i remeber http://code.google.com/p/chromium/issues/detail?id=64290
- # [17:41] <jgraham> hsivonen: Cynicism untempered by reality?
- # [17:42] * dglazkov|away is now known as dglazkov
- # [17:42] * Joins: mdelaney (~mdelaney@c-71-202-44-225.hsd1.ca.comcast.net)
- # [17:42] <dglazkov> good morning, Whatwg!
- # [17:45] <divya> GOOD MORNING DGLAZKOV
- # [17:46] <dglazkov> all caps. Excellent choice.
- # [17:46] * Quits: dirkpennings (~Vuurbal@90-145-26-140.bbserv.nl) (Ping timeout: 260 seconds)
- # [17:46] <divya> i really put in the effort for the cause of html5
- # [17:47] <hsivonen> I wonder if I'm reading too much into Opera's PR language when I observe that they don't say "Flash" when they've added Flash support
- # [17:47] <hsivonen> it looks like an attempt to downplay Flash as something that users are aware of
- # [17:47] <timeless> hsivonen: are they bundling flash now?
- # [17:48] <hsivonen> timeless: no, but on desktop, they are automating installation at least on Windows, IIRC
- # [17:48] <hsivonen> timeless: this is about the latest Opera Mobile release, though, which added Flash support on Honeycomb
- # [17:49] <hsivonen> apparently the way Flash presents itself to NPAPI is different in Android 2.x and 3.x
- # [17:50] <timeless> sandboxing related perhaps?
- # [17:51] <hsivonen> dunno
- # [17:51] <hasather> hsivonen: the guy writing that blog post is not an Opera employee btw (but I think the blog is official)
- # [17:52] * Joins: rillian_ (~rillian@184.71.182.138)
- # [17:52] * Joins: eric_carlson__ (~eric@17.212.152.104)
- # [17:53] <jgraham> We get random strangers to write our PR stuff? :)
- # [17:53] <hasather> jgraham: neither random nor stranger I think, but yea... :D
- # [17:54] <beverloo> I agree that it's hard to see which posts are and which posts aren't official at Opera's
- # [17:54] <timeless> jgraham: nokia did
- # [17:54] <timeless> we had contractors responsible for the official nokia connections or whatever it was blog
- # [17:55] * Quits: eric_carlson_ (~eric@2620:149:4:1b01:7900:9d3e:456a:930f) (Ping timeout: 244 seconds)
- # [17:59] * Joins: Lachy (~Lachy@cm-84.215.59.50.getinternet.no)
- # [18:05] * Quits: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com) (Quit: hij1nx)
- # [18:06] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
- # [18:09] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [18:13] * Joins: ezoe (~ezoe@112-68-244-91f1.kyt1.eonet.ne.jp)
- # [18:17] <hsivonen> is the XHR error flag exposed to scripts?
- # [18:20] <hsivonen> looks like Gecko returns xhr.status == 0 for non-HTTP requests :-(
- # [18:23] * Joins: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [18:23] * Quits: astearns (~anonymous@c-50-132-63-33.hsd1.wa.comcast.net) (Quit: astearns)
- # [18:25] * bga_ is now known as bga_|away
- # [18:27] * Joins: astearns (~anonymous@50.132.63.33)
- # [18:29] <smaug____> Should http://www.whatwg.org/specs/web-apps/current-work/multipage/fetching-resources.html#fetch say something about caching
- # [18:30] * Joins: hasather_ (~hasather_@84.38.144.96)
- # [18:31] <smaug____> especially, in which case is loading from browser cache ok, and in which case it isn't
- # [18:31] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [18:34] <AryehGregor> What's the story with '? What's the newest browser that doesn't support it?
- # [18:35] <AryehGregor> IE6, at least?
- # [18:35] <AryehGregor> Apparently IE7 also?
- # [18:36] * AryehGregor uses ' instead
- # [18:36] * Quits: tantek (~tantek@64.20.183.131) (Quit: tantek)
- # [18:37] <AryehGregor> jgraham, I pushed the innerHTML change, with a single escaping function defined as you requested.
- # [18:37] * Quits: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Read error: Connection reset by peer)
- # [18:38] <AryehGregor> (am also looking at pushing other changes)
- # [18:38] * Joins: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [18:40] * Joins: tndH (~Rob@cpc16-seac19-2-0-cust234.7-2.cable.virginmedia.com)
- # [18:41] * Quits: rimantas_ (~rimliu@93.93.57.193) (Quit: Leaving)
- # [18:41] <gsnedders> hasather: What blog post?
- # [18:45] <gsnedders> Oh, that one.~
- # [18:45] * AryehGregor finds that 50% of total time in Chrome is in format_value now
- # [18:49] * Quits: Necrathex (~nectop@82-170-160-25.ip.telfort.nl) (Quit: Necrathex)
- # [18:49] * Quits: cygri (~cygri@wg1-nat.fwgal01.deri.ie) (Ping timeout: 248 seconds)
- # [18:50] * Quits: GlitchMr (~glitchmr@178-36-32-130.adsl.inetia.pl) (Read error: Connection reset by peer)
- # [18:51] * gsnedders is increasingly doubting the open-web nature of even the Dart to JS compiler.
- # [18:51] * Quits: mdelaney (~mdelaney@c-71-202-44-225.hsd1.ca.comcast.net) (Quit: mdelaney)
- # [18:52] <AryehGregor> Is it any worse than GWT?
- # [18:53] <gsnedders> At a high-level it appears better, but looking into it it seems worse.
- # [18:53] * Quits: astearns (~anonymous@50.132.63.33) (Quit: astearns)
- # [18:53] * AryehGregor hasn't looked into it
- # [18:53] * AryehGregor doubts the utility of "let's introduce yet another language", though
- # [18:54] <gsnedders> Oh, yeah. Sure. But it's really a bit too late for me to start bitching about that now…
- # [18:54] * bga_|away is now known as bga_
- # [18:55] * Joins: MikeSmith_ (~MikeSmith@EM114-48-154-96.pool.e-mobile.ne.jp)
- # [18:55] <gsnedders> AryehGregor: It avoids the browser sniffing, but is supported on fewer browsers, and without any given reason (or bug reports)…
- # [18:55] * Joins: tantek (~tantek@64.20.183.131)
- # [18:55] <AryehGregor> "supported on" meaning "actually works on" or "is tested on"?
- # [18:56] <gsnedders> I believe the latter. Though it makes me the doubt the former.
- # [18:56] <gsnedders> Testing is hardly that expensive.
- # [18:56] <AryehGregor> Testing is very expensive if you do enough of it.
- # [18:56] <AryehGregor> If there's no browser-sniffing of any kind, all browsers should be able to work just by making sure they follow what other browsers do, right?
- # [18:56] <gsnedders> For a company like Google, with the amount of resources already thrown at Dart, it's cheap.
- # [18:57] <AryehGregor> Even compared to the benefit, taking market shares into account?
- # [18:57] <gsnedders> AryehGregor: Except that at least the Dart website (haven't looked to see if that uses Dart though, FWIW) breaks if we fix DOM 3 Events compliance bug to move inline with Fx/WebKit.
- # [18:58] <gsnedders> AryehGregor: IE has a non-negilable marketshare. We have enough marketshare that they care about us enough in GWT.
- # [18:58] <gsnedders> And our JS impl really should be good enough that it should work fine.
- # [18:58] * Quits: MikeSmith (~MikeSmith@EM1-112-8-149.pool.e-mobile.ne.jp) (Ping timeout: 260 seconds)
- # [18:58] * MikeSmith_ is now known as MikeSmith
- # [18:58] <gsnedders> So the cost of supporting Carakan should be ~0.
- # [18:59] <gsnedders> Provided they actually follow ES5 in their impl and don't rely upon things where V8/SM intend on changing behaviour for it.
- # [19:00] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Quit: brb)
- # [19:00] <gsnedders> Same with Chakra, really.
- # [19:00] <gsnedders> Omitting the two JS engines that nowadays probably have the best support for ES5 is… odd.
- # [19:00] <gsnedders> To say the least.
- # [19:01] <AryehGregor> Well, supporting an extra browser is cheap if all your tests are automated.
- # [19:01] <gsnedders> And I'd hope they are.
- # [19:01] * Joins: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90)
- # [19:01] * Joins: GlitchMr (~glitchmr@178-36-32-130.adsl.inetia.pl)
- # [19:02] <AryehGregor> For a language converter, yeah.
- # [19:08] * Joins: KillerX (~anant@nat/mozilla/x-dshtyxsxthexkmou)
- # [19:12] <hsivonen> what's the deal with WebM support in Opera Mobile for Android? Earlier, I was told Opera Mobile supported WebM from 2.3 onwards
- # [19:13] <hsivonen> I just tested the latest release on Android 3.1 and it supported H.264 but not WebM
- # [19:15] * Joins: hij1nx (~hij1nx@207.239.107.3)
- # [19:17] * Quits: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com) (Quit: adactio)
- # [19:19] * Quits: tantek (~tantek@64.20.183.131) (Quit: tantek)
- # [19:20] <AryehGregor> Is it possible for window.parent to change?
- # [19:20] <gsnedders> hsivonen: I believe we just use the system video decoder, so whatever that supports.
- # [19:20] <AryehGregor> I mean, for the same script to see different values at different times?
- # [19:20] <AryehGregor> For the same window object?
- # [19:20] <timeless> AryehGregor: hrm
- # [19:21] <AryehGregor> I'd think it should be impossible, but I wanted to check.
- # [19:21] <timeless> if a browser implements a user friendly version of <pop-frame-out-as-window-out
- # [19:21] <timeless> but i don't think that exists anywhere
- # [19:21] * Joins: sicking (~chatzilla@206-15-76-122.static.twtelecom.net)
- # [19:22] <hsivonen> gsnedders: maybe I should remove the advice that Opera Mobile supports WebM on Android, then
- # [19:23] <hsivonen> gsnedders: because it sucks to tell people it does if it doesn't
- # [19:23] * Joins: dbaron (~dbaron@nat/mozilla/x-txplyaevgevcuoua)
- # [19:23] <gsnedders> hsivonen: We should support it.
- # [19:23] <hsivonen> at least Firefox supports it consistently even if performance is unusable
- # [19:23] * gsnedders has no Android 2.3.3+ device to test on
- # [19:24] * Quits: jacobolus (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [19:24] <AryehGregor> Is it worthwhile to support it if performance is unusable?
- # [19:25] <hsivonen> well, at least I should edit the page not to suggest Opera 11+ users to install Opera as a remedy to WebM non-support
- # [19:25] <AryehGregor> Isn't it better in that case to fall back to the next source, if any?
- # [19:25] <hsivonen> AryehGregor: unclear
- # [19:25] <hsivonen> hmm. which reminds me that I haven't tested it with layers acceleration
- # [19:25] * jernoble|afk is now known as jernoble
- # [19:26] <gsnedders> hsivonen: I saw someone saying Mobile 11.5 at least had better WebM perf than Firefox on some Android device.
- # [19:26] <timeless> gsnedders: do you have an n900?
- # [19:27] * timeless wonders which version Android is used for Nitdroid
- # [19:27] <gsnedders> timeless: No. HTC Legend.
- # [19:28] <hsivonen> the perf sucks even with layers acceleration enabled :-(
- # [19:29] <gsnedders> hsivonen: What device are you testing on, and on what Android version?
- # [19:29] <gsnedders> And what version of Mobile?
- # [19:30] <hsivonen> gsnedders: Samsung Galaxy Tab 10.1, Android 3.1 (latest build available), Opera Mobile 11.50 (the one released today)
- # [19:30] <dglazkov> AryehGregor: re window.parent, you should talk with dimich on #webkit about this. There's a thing called "magic iframe" in WebKit, which _may_ make window.parent change
- # [19:31] <AryehGregor> dglazkov, I suspect that for my use-case it's not the end of the world if it changes in crazy circumstances.
- # [19:31] <gsnedders> hsivonen: What page were you using for testing?
- # [19:31] <dglazkov> AryehGregor: k
- # [19:31] <hsivonen> gsnedders: http://webm.html5.org/
- # [19:31] * bga_ is now known as bga_|away
- # [19:31] <gsnedders> hsivonen: eh, we appear to have https://bugs.opera.com/wizard/mobile now, so can you just file a bug?
- # [19:31] <hsivonen> a friend on another channel reports that WebM doesn't work in GSII in Opera Mobile 11.x
- # [19:32] <hsivonen> gsnedders: ok
- # [19:32] * Quits: eric_carlson (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Disconnected by services)
- # [19:32] * eric_carlson__ is now known as eric_carlson
- # [19:32] <gsnedders> I'll make sure it gets attention, because that is /bad/ it doesn't work.
- # [19:34] <hsivonen> gsnedders: oh, the playback support is there. canPlayType is wrong
- # [19:34] <hsivonen> FAIL
- # [19:34] <gsnedders> hsivonen: That may be down to YouTube breaking if canPlayType is right, AIUI
- # [19:35] <gsnedders> (I wish I was joking)
- # [19:36] <hsivonen> even worse
- # [19:37] <hsivonen> gsnedders: ANDMEX-3236
- # [19:37] <gsnedders> "Enabling only webM audio for Android 2.3.3+ Video doesn't work well and causes Android media server to crash."
- # [19:38] <AryehGregor> Does anyone have any tips on how to speed up layout of a 40,000-row table?
- # [19:38] <gsnedders> So, uh, we seem to have it disabled because Android's WebM impl is unstable
- # [19:40] * Quits: KillerX (~anant@nat/mozilla/x-dshtyxsxthexkmou) (Read error: Connection reset by peer)
- # [19:40] * Joins: KillerX (~anant@2620:101:8003:200:81a9:37bc:99bf:f1a5)
- # [19:41] * Joins: cygri (~cygri@89.19.72.90)
- # [19:42] * Quits: Lachy (~Lachy@cm-84.215.59.50.getinternet.no) (Quit: Computer has gone to sleep.)
- # [19:45] * Joins: tantek (~tantek@64.20.183.131)
- # [19:48] * Joins: Areks (~kvirc@176.14.214.163)
- # [19:49] * Joins: ap_ (~ap@2620:149:4:1b01:7029:4eb8:c852:8e66)
- # [19:49] <gsnedders> Heheh, I like how in response to Dart people are again saying there should be a generic bytecode, "to avoid the cost of parsing", totally ignoring a large part of the cost is validating it, which will remain true for any bytecode.
- # [19:49] <gsnedders> The only real gain is a few fewer bytes to process, but the same number of tokens, pretty much…
- # [19:51] <gsnedders> AryehGregor: Also, Dart->JS compiler's output does UA sniff and blocks everything that isn't Chrome, Safari, or Firefox.
- # [19:51] <gsnedders> AryehGregor: They only talk about removing the UA block on IE9.
- # [19:51] <AryehGregor> Seriously? That's massively lame.
- # [19:51] <gsnedders> AryehGregor: So Opera is totally fucked.
- # [19:52] <AryehGregor> Along with every other minor browser that uses WebKit or whatever but happens not to look like one of the major browsers.
- # [19:52] * Joins: astearns (~anonymous@192.150.22.5)
- # [19:52] <AryehGregor> (although probably all of those pretend to be a major browser)
- # [19:53] <gsnedders> So Google care enough about us to give us however-many-million-dollars per year, but not enough to actually support us.
- # [19:53] <AryehGregor> It's independent people making different decisions.
- # [19:53] * Quits: Telling (~unknown@shop3.diku.dk) (Quit: ...)
- # [19:58] * Quits: cygri (~cygri@89.19.72.90) (Quit: cygri)
- # [19:59] * Quits: agektmr (~Adium@p2156-ipbf5107marunouchi.tokyo.ocn.ne.jp) (Quit: Leaving.)
- # [20:00] * Joins: rniwa (rniwa@nat/google/x-culdzresdxuullmz)
- # [20:00] * Quits: ezoe (~ezoe@112-68-244-91f1.kyt1.eonet.ne.jp) (Ping timeout: 255 seconds)
- # [20:01] <timeless> AryehGregor: um
- # [20:02] <AryehGregor> ?
- # [20:02] <timeless> i don't think we pretend to be a major browser
- # [20:02] * timeless seems to recall getting crappy content
- # [20:02] <AryehGregor> You probably just get broken content in sites that whitelist browsers, then.
- # [20:03] * bga_|away is now known as bga_
- # [20:04] <timeless> oh cute
- # [20:04] <timeless> we claim to be Safari :)
- # [20:04] <AryehGregor> So does Chrome, kind of.
- # [20:04] <AryehGregor> And Safari claims to be Mozilla, as does everyone else.
- # [20:04] <AryehGregor> UA strings are fun.
- # [20:04] <timeless> i thought Opera or IE stopped claiming to be Gecko
- # [20:05] <TabAtkins> annevk5 heycam|away: If HTMLDivElement is really ugly, but "new Div()" is probably too short, what about semi-namespacing? "new HTML.Div()"?
- # [20:05] <timeless> HTMLDivElement is really ugly
- # [20:05] <AryehGregor> It still claims to be Mozilla, right?
- # [20:05] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [20:05] <TabAtkins> I think that might be a good way to expose CSS value constructors in a short manner as well.
- # [20:06] * Quits: dbaron (~dbaron@nat/mozilla/x-txplyaevgevcuoua) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [20:08] <dglazkov> HTML.Div() sounds nice.
- # [20:08] <dglazkov> maybe html.Div()?
- # [20:08] * dglazkov breaks out his shed painting overalls
- # [20:08] <timeless> darn, ie9 still claims to be mozilla/5
- # [20:08] * timeless sobs
- # [20:09] * Quits: divya (~divyam@219.64.117.145) (Ping timeout: 252 seconds)
- # [20:10] * Joins: miketaylr (~miketaylr@24.42.93.245)
- # [20:11] * Joins: cygri (~cygri@89.19.72.90)
- # [20:12] * Quits: erlehmann (~erlehmann@89.204.153.90) (Quit: Ex-Chat)
- # [20:14] * Quits: miketaylr (~miketaylr@24.42.93.245) (Client Quit)
- # [20:15] * Joins: dave_levin (dave_levin@nat/google/x-zbburlhcwmxyomfv)
- # [20:17] <rniwa> who knows about microdata well?
- # [20:18] <AryehGregor> rniwa, well, Hixie designed it . . . but a bunch of other people here know about it too.
- # [20:18] <AryehGregor> If you ask your question, it will probably be answered.
- # [20:18] <rniwa> okay
- # [20:19] <rniwa> would an element with itemscope and itemtype considered to be an top-level item even if there are some item-scope element that refers to that element via itemref?
- # [20:22] * Quits: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi) (Ping timeout: 248 seconds)
- # [20:24] * Quits: rillian_ (~rillian@184.71.182.138) (Read error: Connection reset by peer)
- # [20:25] * Quits: myakura (~myakura@FL1-203-136-164-250.tky.mesh.ad.jp) (Remote host closed the connection)
- # [20:27] <cygri> rniwa: the spec says "An item is a top-level microdata item if its element does not have an itemprop attribute."
- # [20:28] <rniwa> cygri: on the other hand, it also says "Items that are not part of others are called top-level microdata items."
- # [20:28] <AryehGregor> The latter sounds non-normative.
- # [20:28] <cygri> note that itemref doesn't actually refer to items, despite its name. it just imports any property-value pairs on the target or its descendants
- # [20:28] <AryehGregor> Is it in a normative section?
- # [20:28] <rniwa> cygri: ah, that's good point.
- # [20:29] * Joins: Lachy (~Lachy@cm-84.215.59.50.getinternet.no)
- # [20:29] <rniwa> cygri: but what if we had an ancestor with itemscope?
- # [20:29] <cygri> yeah. it also sounds slighly wrong
- # [20:29] <rniwa> cygri: e.g. <div itemscope>hello<span itemscope itemtype="~~">
- # [20:29] <rniwa> I don't think span should be considered as the top-level microdata items in this case
- # [20:30] <rniwa> or maybe top-level isn't really top-level
- # [20:30] <cygri> according to the spec it is top-level
- # [20:30] <rniwa> huh...
- # [20:30] <rniwa> even if we had <div itemscope itemtype="~~">hello<span itemscope itemtype="~~"><b itemprop="~~"> ?
- # [20:30] <cygri> as AryehGregor said, the section you quoted is non-normative
- # [20:31] <rniwa> cygri: but in this case, div's item will contain b's content, right?
- # [20:31] <rniwa> cygri: so we'll have two top-level items in this case?
- # [20:32] * Joins: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi)
- # [20:34] * Joins: cygri_ (~cygri@109.79.250.164)
- # [20:34] <rniwa> cygri_: ?
- # [20:34] <cygri_> what?
- # [20:34] * Quits: GlitchMr (~glitchmr@178-36-32-130.adsl.inetia.pl) (Read error: Connection reset by peer)
- # [20:35] <rniwa> cygri: did you get my last question?
- # [20:35] <rniwa> cygri: if we had <div itemscope itemtype="~~">hello<span itemscope itemtype="~~"><b itemprop="~~">
- # [20:35] <rniwa> cygri: would we have two top-level items?
- # [20:35] * Quits: cygri (~cygri@89.19.72.90) (Ping timeout: 255 seconds)
- # [20:35] * cygri_ is now known as cygri
- # [20:35] * cygri is on a bus. internet not good
- # [20:36] <cygri> that looks like two top-level items to me
- # [20:36] <rniwa> cygri: ok, thanks
- # [20:36] <cygri> yw!
- # [20:45] * Quits: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi) (Ping timeout: 258 seconds)
- # [20:56] * Quits: tantek (~tantek@64.20.183.131) (Quit: tantek)
- # [20:57] * Joins: tantek (~tantek@64.20.183.131)
- # [20:58] * Quits: cygri (~cygri@109.79.250.164) (Quit: cygri)
- # [21:00] * Joins: mkanat (mkanat@nat/google/x-lrpljvozsmvdrden)
- # [21:07] * Joins: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi)
- # [21:09] * Joins: dbaron (~dbaron@nat/mozilla/x-xywnhhmgajjnwoxi)
- # [21:10] * Joins: cygri (~cygri@109.79.250.164)
- # [21:11] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [21:12] * Quits: tantek (~tantek@64.20.183.131) (Quit: tantek)
- # [21:15] * Joins: ojan (ojan@nat/google/x-cvaiowvzcqmcysjw)
- # [21:21] * Joins: jarek (~jarek@unaffiliated/jarek)
- # [21:22] * jernoble is now known as jernoble|afk
- # [21:23] * Joins: cygri_ (~cygri@89.19.73.208)
- # [21:25] * Quits: cygri (~cygri@109.79.250.164) (Ping timeout: 260 seconds)
- # [21:25] * cygri_ is now known as cygri
- # [21:29] * Joins: zdobersek (~zan@BSN-176-193-184.dial-up.dsl.siol.net)
- # [21:30] * Quits: jarek (~jarek@unaffiliated/jarek) (Ping timeout: 260 seconds)
- # [21:32] * Quits: sicking (~chatzilla@206-15-76-122.static.twtelecom.net) (Ping timeout: 252 seconds)
- # [21:35] * Joins: rillian_ (~rillian@184.71.182.138)
- # [21:37] * Joins: tomasf_ (~tomasf@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [21:39] * Joins: jamesr (jamesr@nat/google/x-lrwiujrawvzcvkom)
- # [21:39] <rniwa> AryehGregor: regarding the -webkit-user-modify, the most important users are AIR and Inspector
- # [21:40] <AryehGregor> What's AIR?
- # [21:40] <rniwa> AryehGregor: but I've seen some users in the public Web
- # [21:40] <rniwa> AryehGregor: Adobe's new Web authoring tool
- # [21:40] <rniwa> AryehGregor: http://www.adobe.com/products/air.html
- # [21:40] <AryehGregor> Hmm.
- # [21:40] <rniwa> AryehGregor: we can probably ask them to use contenteditable instead
- # [21:40] <AryehGregor> Well, I don't like all these features being exposed permanently with vendor prefixes, but I guess there are more important things to worry about.
- # [21:41] <rniwa> AryehGregor: well, at least we don't expose user-modify :)
- # [21:41] <rniwa> in fact, that's the whole point of vendor-prefixing it, right?
- # [21:41] <rniwa> so that we can kill the feature from the standard
- # [21:41] * Quits: tomasf_ (~tomasf@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Client Quit)
- # [21:41] <AryehGregor> Well, it's much better than non-vendor-prefixed, yes.
- # [21:41] <rniwa> without breaking the whole web
- # [21:44] * Quits: roc (~chatzilla@121.98.230.221) (Ping timeout: 244 seconds)
- # [21:46] * Quits: Timz (~Adium@86.89.174.199) (Quit: Leaving.)
- # [21:47] * Joins: Timz (~Adium@86.89.174.199)
- # [21:49] * Quits: ralphholzmann (~ralph@li76-151.members.linode.com) (Quit: WeeChat 0.3.5)
- # [21:51] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 258 seconds)
- # [21:51] <jgraham> Hixie: tables in email++
- # [21:51] * Quits: Timz (~Adium@86.89.174.199) (Ping timeout: 248 seconds)
- # [21:55] <Hixie> heh
- # [21:55] <Hixie> i'm sure i'll get told it's inaccessible
- # [21:55] <Hixie> or i would if it was in public-html
- # [21:56] <Hixie> you'd be surprised how often i got told that my ascii art sig was a travesty and an insult to accessibility tool users everywhere
- # [21:57] * Quits: zcorpan (~zcorpan@c-df9be355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
- # [21:57] <TabAtkins> Hixie: It would be less confusing to me if you didn't try to conflate the term "binding" and "component". We've been trying to distinguish the terms for ease of discussion such that "component" implies permanence and "binding" implies decoration.
- # [21:57] <Hixie> the terms mean the same thing, and have since 1997 or so
- # [21:57] <jgraham> I'm not surprised. It wouldn't be so funny if accessibility advocates hadn't been responsible for the most confusing, inaccessible email I have ever received on a standards mailing list
- # [21:57] <Hixie> jgraham: yeah, tell me about it
- # [21:58] <TabAtkins> Hixie: Which is why we've been trying to distinguish them. ^_^
- # [21:58] <Hixie> TabAtkins: trying to take terms that mean the same thing and distinguish them after more than 15 years of them meaning the same thing is pointless. use new terms. :-)
- # [21:58] <jgraham> TabAtkins: Those implications aren't at all clear from the names, so I wouldn't try that
- # [21:59] * Joins: tantek (~tantek@64.20.183.131)
- # [21:59] <Hixie> TabAtkins: "presentation transient binding" and "semantic API-defining binding", for instance
- # [21:59] <TabAtkins> Hixie: Those are horrible!
- # [21:59] <AryehGregor> They're long, is all.
- # [22:00] * Quits: tantek (~tantek@64.20.183.131) (Client Quit)
- # [22:00] <TabAtkins> That's what I said.
- # [22:00] <AryehGregor> You can kill either of the two modifiers on both.
- # [22:00] <Hixie> TabAtkins: (i wasn't even aware that there were two concepts until i suggested there were a few e-mails ago, btw, and i'd no idea that there was any attempt to redefine the terms until today)
- # [22:00] <TabAtkins> Hixie: No wonder you've been so confused, then. We've been talking solely about permanent bindings forever.
- # [22:01] * Joins: tantek (~tantek@64.20.183.131)
- # [22:01] <Hixie> TabAtkins: yeah stop that.
- # [22:01] <TabAtkins> What? Why?
- # [22:01] <Hixie> because the two problems have almost identical solution spaces and it is pointless to ignore one of the two problems when designing the solution
- # [22:01] <TabAtkins> But they dont'! They're so different!
- # [22:01] <Hixie> they're almost identical
- # [22:02] <Hixie> there's two differences
- # [22:02] <Hixie> see my most recent e-mail with the table
- # [22:02] <TabAtkins> One changes the prototype chain, exposes public API. One can be swapped on-and-off because it makes no lasting changes.
- # [22:02] <Hixie> that's it
- # [22:02] <Hixie> that's the changes
- # [22:02] <TabAtkins> "Two" differences underscores the magnitude of the differences.
- # [22:02] * Quits: bezoar (~Adium@c-24-143-67-135.customer.broadstripe.net) (Quit: Leaving.)
- # [22:02] <Hixie> i don't think you mean "underscores" but i agree with what you actually said, even if it's not what you meant :-)
- # [22:03] <TabAtkins> s/underscores/understates/
- # [22:03] <Hixie> the differences are nearly trivial. XBL2 could be adopted to separating them with barely a dozen edits.
- # [22:03] <TabAtkins> I... don't know how to respond to that, except by saying "No".
- # [22:04] <Hixie> let me know when you have a more coherent answer :-)
- # [22:04] <TabAtkins> "You're wrong"?
- # [22:04] <Hixie> maybe you can explain how?
- # [22:05] <TabAtkins> The ideal API for permanently changing something is a decent bit different from the ideal API for adding a swappable decorator.
- # [22:05] <Hixie> sure. One is is="foo" and the other is binding: foo;
- # [22:06] <Hixie> you're not suggesting that shadow trees would need to be defined differently, or that event handlers for one would look different than for the other, right?
- # [22:07] <TabAtkins> Shadow trees should use the same definition mechanism, obviously. Binding event listeners may look different. Exposing further API beyond that would definitely look different, since you can't do it at all in the decorator case.
- # [22:08] * Joins: smaug____ (~chatzilla@GYGKLI.gprs.sl-laajakaista.fi)
- # [22:08] * Quits: gavin__ (~gavin@people.mozilla.com) (Read error: Connection reset by peer)
- # [22:09] * Joins: gavin__ (~gavin@people.mozilla.com)
- # [22:11] * Joins: othermaciej (~mjs@17.245.89.211)
- # [22:12] * jernoble|afk is now known as jernoble
- # [22:13] * Joins: weinig (~weinig@17.212.155.112)
- # [22:15] * Joins: roc (~chatzilla@60.234.54.74)
- # [22:15] * Quits: cygri (~cygri@89.19.73.208) (Quit: cygri)
- # [22:16] <Hixie> TabAtkins: just excluding certain features in one case doesn't make it look different, just excludes certain features
- # [22:16] <Hixie> bbiab lunch
- # [22:19] * Joins: Telling (~unknown@109.57.161.96)
- # [22:24] * Quits: Telling (~unknown@109.57.161.96) (Quit: ...)
- # [22:30] * Quits: necolas (~necolas@5e0c0fc8.bb.sky.com) (Remote host closed the connection)
- # [22:30] * Quits: davidb_ (~davidb@66.207.208.98) (Quit: davidb_)
- # [22:30] * Joins: necolas (~necolas@5e0c0fc8.bb.sky.com)
- # [22:31] * Quits: necolas (~necolas@5e0c0fc8.bb.sky.com) (Read error: Connection reset by peer)
- # [22:31] * Joins: jacobolus (~jacobolus@c-71-198-169-213.hsd1.ca.comcast.net)
- # [22:32] * Joins: necolas (~necolas@5e0c0fc8.bb.sky.com)
- # [22:34] * Joins: espadrine (~thaddee_t@acces2299.res.insa-lyon.fr)
- # [22:35] * Quits: othermaciej (~mjs@17.245.89.211) (Quit: othermaciej)
- # [22:41] * Joins: rillian__ (~rillian@184.71.166.126)
- # [22:42] * Joins: othermaciej (~mjs@17.245.89.211)
- # [22:45] * Quits: rillian_ (~rillian@184.71.182.138) (Ping timeout: 276 seconds)
- # [22:46] * Joins: sicking (~chatzilla@206-15-76-122.static.twtelecom.net)
- # [22:51] * Quits: FlorianX1 (~Florian_S@p4FE2DC21.dip.t-dialin.net) (Quit: Leaving.)
- # [22:51] * Quits: jamesr (jamesr@nat/google/x-lrwiujrawvzcvkom) (Ping timeout: 240 seconds)
- # [22:51] * Quits: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi) (Ping timeout: 245 seconds)
- # [22:51] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 240 seconds)
- # [22:52] * Joins: jamesr (jamesr@nat/google/x-awxbpzvxagbpbudg)
- # [22:54] * Joins: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi)
- # [23:00] * Quits: MacTed (~Thud@63.119.36.36)
- # [23:02] * heycam|away is now known as heycam
- # [23:04] * Quits: dbaron (~dbaron@nat/mozilla/x-xywnhhmgajjnwoxi) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [23:08] * Joins: dbaron (~dbaron@nat/mozilla/x-gmbbdsccjzdtbycp)
- # [23:12] * AryehGregor ponders the philosophy of testing features that depend on one another
- # [23:12] <AryehGregor> If you can't test one feature because an unrelated feature is buggy or unsupported, should the test pass or fail?
- # [23:12] <AryehGregor> If it fails, you're putting a lot of weight on possibly minor bugs in features that other features happen to depend on.
- # [23:13] <AryehGregor> If it passes, that takes more effort to handle, and also you penalize browsers for fixing bugs in features that other features depend on (because their score can only go down).
- # [23:13] <AryehGregor> (for the dependent tests, that is)
- # [23:14] <gsnedders> It's a failure, because you've failed to run the test.
- # [23:14] <AryehGregor> I guess it should generally fail, unless there's some way to avoid the bug in the underlying feature.
- # [23:14] <gsnedders> Unless the test is simply not applicable.
- # [23:15] <AryehGregor> Well, if you can easily work around the underlying bug, I think you should.
- # [23:15] <AryehGregor> Like WebKit throws WrongDocumentError if you try to set a range's endpoint to a node that's in another document from the one you created the range in.
- # [23:15] * Quits: zdobersek (~zan@BSN-176-193-184.dial-up.dsl.siol.net) (Quit: Leaving.)
- # [23:16] <AryehGregor> So when creating ranges for tests, other than in setStart/setEnd tests, I make sure that I call createRange() on the ownerDocument of the intended endpoints.
- # [23:16] <AryehGregor> Otherwise that one minor bug would create zillions of spurious failures in unrelated features.
- # [23:17] <gsnedders> You can always have it as a separate prereq function, and group results into pass, fail, prereq failed
- # [23:17] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [23:18] <AryehGregor> That doesn't really solve the problem. It just obscures it.
- # [23:18] * AryehGregor discovers that the Range tests all seem to be broken, since no one adjusted the relative URLs to testharness.js
- # [23:18] * AryehGregor goes to fix
- # [23:22] * Quits: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
- # [23:23] * Quits: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
- # [23:24] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [23:24] <jgraham> AryehGregor: You should avoid unnecessarily depending on features that you aren't explicitly trying to test
- # [23:24] <AryehGregor> On the other hand, IE seemingly doesn't let you create Ranges whose boundary points don't descend from a Document.
- # [23:25] <jgraham> But you should always be conservative about handing out "pass"
- # [23:25] <AryehGregor> So if I have a test that starts by creating such a range, what am I supposed to do?
- # [23:25] <AryehGregor> In that case, I have to fail it.
- # [23:25] * Quits: dbaron (~dbaron@nat/mozilla/x-gmbbdsccjzdtbycp) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [23:25] <jgraham> AryehGregor: Yes. They have a bug. They will fix the bug and the test will pass
- # [23:26] <jgraham> there isn't a problem unless you are creating unnecessary dependencies
- # [23:26] * Quits: rillian__ (~rillian@184.71.166.126) (Ping timeout: 245 seconds)
- # [23:26] * Quits: Rik` (~Rik`@mozilla-paris-253-98.cnt.nerim.net) (Remote host closed the connection)
- # [23:27] <AryehGregor> Now, WebKit/Opera mangle ranges when you do addRange(), so the range that winds up in the actual selection might not have the same boundary points as the one you gave to addRange(). In that case, when testing collapseToStart(), do I just test that whatever range ends up there gets collapsed to the start? Or do I decide that's not really what I'm testing, if the range is substantially different from the one I put in, so I fail them?
- # [23:27] <jgraham> Judgement call
- # [23:27] <AryehGregor> What if they don't put any range in at all, so they wind up with a Selection that has no ranges? Do I just test that they throw an exception, or do I fail them because that has no relationship to what I'm supposed to be testing?
- # [23:27] * AryehGregor is ambivalent about this one
- # [23:28] * Quits: jamesr (jamesr@nat/google/x-awxbpzvxagbpbudg) (Ping timeout: 244 seconds)
- # [23:28] <jgraham> I think I would prefer to be a bit conservative and always check that you have the right range
- # [23:28] * AryehGregor thinks he'll let it slide if there winds up being some Range present, but not if there's no Range, because then you could pass all the tests if addRange() and collapseToStart() were both no-ops
- # [23:28] * Joins: jamesr (jamesr@nat/google/x-pnysjkratmxstbss)
- # [23:28] <AryehGregor> jgraham, that means WebKit fails almost every single test, even though its collapseToStart() implementation seems to be almost completely correct.
- # [23:29] <jgraham> AryehGregor: Well that doesn't seem ideal
- # [23:29] * Joins: dbaron (~dbaron@nat/mozilla/x-vdnqiggajyzrezav)
- # [23:29] <AryehGregor> (Opera fails every test anyway, because its Selection implementation is broken beyond comprehension)
- # [23:29] <jgraham> But maybe it will motivate them to fix the bug :)
- # [23:29] <gsnedders> AryehGregor: But if you can't construct an environment to test that in, then how do you know it's almost completely correct?
- # [23:30] <AryehGregor> gsnedders, because it does add a range, just not the one I specified. And then it collapses the range it did add correctly.
- # [23:31] * Quits: eighty4 (~eighty4@unaffiliated/eighty4) (Quit: ZNC - http://znc.sourceforge.net)
- # [23:31] <gsnedders> AryehGregor: Then should you not assert that it adds the range it does add correctly, regardless of what that is?
- # [23:31] <AryehGregor> gsnedders, yeah, that's what I'm doing.
- # [23:31] <gsnedders> Which means WebKit should pass?
- # [23:31] <AryehGregor> Yes.
- # [23:32] <gsnedders> Then I'm confused.
- # [23:34] * Joins: rillian_ (~rillian@184.71.166.126)
- # [23:34] <AryehGregor> Okay, so now Gecko passes everything because it's actually correct, Opera fails everything because it's actually completely broken, WebKit fails about half the tests because it doesn't add any range at all in some cases, and IE fails almost all the tests because it genuinely has a bug in collapseToStart/End.
- # [23:34] <AryehGregor> Seems good to me.
- # [23:35] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [23:36] * Quits: Areks (~kvirc@176.14.214.163) (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/)
- # [23:40] <gsnedders> Are we actually that broken? The fact we manage to work with most sites tends to suggest we're not /that/ broken.
- # [23:41] <AryehGregor> gsnedders, it could be some artifact of my test setup. I tend to find that addRange() routinely does nothing in Opera.
- # [23:41] <AryehGregor> So the selection remains empty.
- # [23:41] <AryehGregor> I suspect it has something to do with Opera deciding the range I give it isn't visible or something.
- # [23:42] <AryehGregor> Also, authors in real life commonly deal with user-created selections and don't use addRange at all.
- # [23:42] <AryehGregor> But obviously tests can't do that.
- # [23:42] <rniwa> AryehGregor: what is this range bug you're describing?
- # [23:42] <AryehGregor> rniwa, WebKit fails lots of Selection tests because addRange() doesn't add the same range it's given, it normalizes it. As we've discussed.
- # [23:43] <rniwa> AryehGregor: ah I see.
- # [23:43] <AryehGregor> gsnedders, http://dvcs.w3.org/hg/editing/raw-file/tip/selecttest/collapseToStartEnd.html
- # [23:44] <AryehGregor> rniwa, but there are two other tests here that fail for a different reason (not "Sanity check"), didn't look into it closely: http://dvcs.w3.org/hg/editing/raw-file/tip/selecttest/collapseToStartEnd.html
- # [23:44] * Joins: jdaggett (~jdaggett@y230056.dynamic.ppp.asahi-net.or.jp)
- # [23:51] <gsnedders> AryehGregor: Where's the spec, again?
- # [23:51] <AryehGregor> gsnedders, it's wandered around a bit, but is now part of the editing spec. http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#selections
- # [23:53] <gsnedders> AryehGregor: Okay, so addRange only does something if the range is not detached (in the DOM) and is collapsed.
- # [23:54] <AryehGregor> It only works if the range is collapsed?
- # [23:54] <AryehGregor> Wha?
- # [23:54] <AryehGregor> Not detached I understand, although it's not per spec.
- # [23:54] <AryehGregor> But collapsed?
- # [23:54] <AryehGregor> How are you supposed to create non-collapsed selections, then?
- # [23:54] <gsnedders> Don't ask me. I'm just reading the code. :)
- # [23:55] * Joins: AlvarL (~laigna@87-119-176-221.tll.elisa.ee)
- # [23:56] * Quits: AlvarL (~laigna@87-119-176-221.tll.elisa.ee) (Client Quit)
- # [23:56] <gsnedders> Do you have tests for isCollapsed? That may help…
- # [23:56] <AryehGregor> Well, if you can suggest a sane way to create non-collapsed selections, I'm willing to add the workaround to my selection tests.
- # [23:56] * heycam is now known as heycam|away
- # [23:56] * Quits: hasather_ (~hasather_@84.38.144.96) (Remote host closed the connection)
- # [23:57] <AryehGregor> I haven't tested isCollapsed yet, but if I did, it would consist of making a bunch of selections with addRange() and then checking isCollapsed, so it would still break in Opera.
- # [23:57] <AryehGregor> Also, Opera seems to not be adding even collapsed non-detached selections when I do addRange(), in my collapseToStart/End tests.
- # [23:58] <AryehGregor> All the nodes that are detached are named detached* in the test names, or foreign* for a foreign document, or xml* for a foreign XML document.
- # [23:59] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [23:59] * Joins: eighty4 (~eighty4@unaffiliated/eighty4)
- # Session Close: Wed Oct 12 00:00:00 2011
The end :)