| 02:09 | <TabAtkins> | Hixie: You tried to send the email to anne's old address. |
| 03:11 | <Hixie> | TabAtkins: d'oh |
| 08:11 | <odinho> | MikeSmith: Yo! :D Sorry to jump on you, but it'd be ace to have everything (PHP) in http://w3c-test.org/webappsec/tests/cors/submitted/opera/staging/resources/ reviewed. |
| 08:11 | <MikeSmith> | odinho: looking now |
| 08:11 | <odinho> | I'm also going to move stuff some more later sadly. To the approved folder hopefully soon, but people in webappsec are worried about all the failures :P (but they don't know the reason) |
| 08:12 | <MikeSmith> | heh |
| 08:13 | <odinho> | MikeSmith: Preemtive thanks :D (afk 1h now) |
| 08:13 | <MikeSmith> | hai |
| 08:56 | <asmodai> | Why do so many website designers suck at making their login forms support auto-fill in? |
| 08:58 | <odinho> | ...? I haven't had that problem. Maybe the implementation of your browser isn't as magical as it could be? :P |
| 09:04 | <asmodai> | odinho: Haha, well, Chrome is generally pretty decent in that regard. :) |
| 09:05 | <asmodai> | But I do encounter quite a few sites that fail, station.sony.com is a good one |
| 09:10 | <odinho> | asmodai: Oh my... Stupid Sony-site says INCOMPATIBLE BROWSER when I go to the log in-page with Opera. |
| 09:11 | <odinho> | They definately suck. |
| 09:11 | <asmodai> | odinho: haha, see?! |
| 09:11 | <asmodai> | :D |
| 09:12 | <odinho> | asmodai: But Opera does save the password for it at least (when I got away the warning). |
| 09:12 | <jgraham> | odinho: File a bug? Well I expect there already is one, but at least check |
| 09:13 | <asmodai> | odinho: I go through planetside2.com to https://auth.station.sony.com/login?theme=ps2&locale=en_US&service=http%3A%2F%2Fwww.planetside2.com%2Fj_acegi_cas_security_check |
| 09:13 | <asmodai> | and that login section on the right hand side never saves the login info for Chrome |
| 09:13 | <asmodai> | Opera did work for that, you say? |
| 09:13 | <odinho> | Funny thing is that they have background: url(some-file.gif) transparent; on that box. And some-file is 404. ... So, result? Gray text against a gray faded background, damn hard to read. |
| 09:14 | <odinho> | asmodai: Yep, it saves it. |
| 09:14 | <odinho> | asmodai: Even from planetside. |
| 09:14 | <asmodai> | Then I wonder just wtf Chrome isn't picking up on it |
| 09:15 | <odinho> | Anywayz, I have a question MikeSmith, I can't for the life of me understand how the PHP-files behave on w3c-test.org. Is there some sort of CORS-apache config thing going on? |
| 09:15 | <odinho> | MikeSmith: curl -i -X OPTIONS -H "Origin: http://test.com" -H "Access-Control-RequesMethod: GET" "http://w3c-test.org/webappsec/tests/cors/submitted/opera/staging/resources/preflight.php?ident=test" |
| 09:16 | <odinho> | MikeSmith: It doesn't like getting the OPTIONS header. It just instantly replies with "Allow: OPTIONS,GET,HEAD,POST" -- which is not valid (it should be Access-Control-Allow-Methods), and not something I remember writing :-) |
| 09:17 | <MikeSmith> | no idea man |
| 09:17 | <MikeSmith> | I am PHP-averse |
| 09:18 | <odinho> | Hmm. Looks to be something apache does :-) At least it doesn't happen on Opera Apache (our test server), nor my local nginx. And I'm sure I didn't ever write that line. |
| 09:18 | <MikeSmith> | I had my fill of PHP this year when plh made me work on adding features to the CSS test-framework UI code |
| 09:18 | <odinho> | MikeSmith: Is there shell accounts I can use to muck around? |
| 09:18 | <MikeSmith> | ok if it's an Apache thing I can work on fixing it |
| 09:18 | <MikeSmith> | odinho: no there are not shell accounts |
| 09:18 | <odinho> | MikeSmith: I suspect the server setup though... But you never know with PHP. :P |
| 09:19 | <MikeSmith> | that machine is behind a W3C-internal firewall |
| 09:19 | <MikeSmith> | if it's an Apache-only problem I'm much more enthusiastic about trying to fix it |
| 09:20 | <MikeSmith> | i can check stuff on the server if you point me to what to check |
| 09:20 | <MikeSmith> | other thing is, you can write server-side code in python |
| 09:20 | <odinho> | Will have to do some research first. Looking at it now. |
| 09:20 | <odinho> | That would be nice. |
| 09:21 | <odinho> | But how? |
| 09:22 | <odinho> | MikeSmith: Ah, I'd start with grep -R "OPTIONS" /etc/apache2/ btw. Just to see if it is defining anything. |
| 09:22 | <MikeSmith> | hai |
| 09:22 | <MikeSmith> | will try that right now |
| 09:23 | <MikeSmith> | $ sudo grep -R "OPTIONS" /etc/apache2/ |
| 09:23 | <MikeSmith> | /etc/apache2/mods-available/userdir.conf: <Limit GET POST OPTIONS> |
| 09:23 | <MikeSmith> | /etc/apache2/mods-available/userdir.conf: <LimitExcept GET POST OPTIONS> |
| 09:24 | <MikeSmith> | that's all |
| 09:24 | <odinho> | Hmm. Okay. :-/ So not that then. |
| 09:27 | <odinho> | MikeSmith: Is it mod-php or fcgi or something else? |
| 09:27 | <MikeSmith> | umm |
| 09:27 | <MikeSmith> | not sure |
| 09:27 | <MikeSmith> | lemme check |
| 09:28 | <odinho> | https://issues.apache.org/bugzilla/show_bug.cgi?id=15242 << was a similar issue earlier. But that one should at least be fixed. |
| 09:28 | <odinho> | This patch will add "ScriptTrapOptions (on|off)" directive, which |
| 09:28 | <odinho> | allows user to control whether CGI script will handle OPTIONS request |
| 09:28 | <odinho> | or not. |
| 09:29 | <odinho> | Oh, that's old. They just removed the entire check, so no configuring necessary. |
| 09:29 | <MikeSmith> | I see a mods-enabled/php5_cgi.conf |
| 09:30 | <MikeSmith> | and a mods-enabled/php5filter.conf too |
| 09:30 | <odinho> | oh, filter, that sounds bad :P *googling* |
| 09:31 | <odinho> | Nah, doesnt' seem that related on first look :] |
| 09:32 | <odinho> | Might be some PHP problems anyway then. Because it doesn't reply about any allowance when I use it for other files. |
| 09:33 | <odinho> | But those files won't go through the apache php configuration machinery either, so... |
| 09:35 | <darobin> | mmmmm |
| 09:35 | <darobin> | can you turn on NPH for PHP? |
| 09:35 | <darobin> | I'm having dim memories resurfacing from the Good Old Days of CGI |
| 09:38 | <MikeSmith> | 2012-11-21 02:10:10.745:WARN::/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/%uff0e%uff0e/etc/passwd: java.lang.NumberFormatException: uf |
| 09:38 | <annevk> | TabAtkins: Hixie: didn't get an email other than public stuff... |
| 09:42 | <odinho> | darobin: Never knew of this estoric NPH stuff. But seems some people last talked about it in 2004. And I think W3C would have to use a real, old CGI for PHP with Apache. And I guess noone does that (?) |
| 09:43 | <darobin> | odinho: NPH was all the rage back when it was the only way of implementing some neat tricks ;) but yeah, I can't dig up anything useful that's recent |
| 09:44 | <darobin> | modern web dev stuff should normally be able to handle anything without that |
| 09:45 | <odinho> | Yeah, -- but you see that something before my PHP script is handling this request: curl -i -X OPTIONS -H "Origin: http://test.com" -H "Access-Control-RequesMethod: GET" "http://w3c-test.org/webappsec/tests/cors/submitted/opera/staging/resources/preflight.php?ident=test" |
| 09:45 | <odinho> | darobin: Testing with Opera's apache and my nginx, it does the expected thing. |
| 09:46 | <darobin> | maybe this could help? http://httpd.apache.org/docs/2.2/mod/mod_actions.html#script |
| 09:46 | <odinho> | Hmm. Since it's CORS, I could just temporarily put the PHP on my own server and update the paths were it asks for stuff. To show webappsec that the tests are working. :P |
| 09:46 | <odinho> | darobin: MikeSmith grepped for OPTIONS, there was nothing suspicious. |
| 09:48 | <darobin> | odinho: indeed, your script is never even called |
| 09:49 | <annevk> | isn't that because the PHP isn't vetted yet? |
| 09:49 | <odinho> | annevk: It is, -- if it wasn't it wouldn't show up on the server at all. :-) |
| 09:50 | <annevk> | odinho: oh :/ |
| 09:51 | <darobin> | nah, the PHP replies correctly to GET, HEAD, POST |
| 09:52 | <darobin> | odinho: if you use a crappy method name like FOO do you get a 501 in your setups that work? |
| 09:52 | <darobin> | because here I get HTTP/1.1 501 Method Not Implemented |
| 09:52 | <darobin> | which may be a lead |
| 09:54 | <MikeSmith> | I have to drop off for a while |
| 09:55 | <MikeSmith> | but if you get it figured out I'll be back on later and can fix it on the server then |
| 09:58 | <odinho> | darobin: That gives me HTTP/1.1 200 OK |
| 09:58 | <odinho> | darobin: the "FOO" |
| 09:59 | <odinho> | darobin: So you're very right. We probably have some extra setup that says "send whatever through" |
| 09:59 | <darobin> | really? weirder and weirder! |
| 09:59 | <darobin> | it would be good to figure out what |
| 09:59 | <darobin> | alternatively, it might be that the W3C setup has a <Limit> directive of some sort |
| 10:01 | <odinho> | Yeah, whatever sending that 501 might very well be it. Some security/restricted setup. |
| 10:01 | <odinho> | Is there a proxy in front of the apache? The firewall tm mentioned? |
| 10:02 | <darobin> | mmmm, no, the firewall is for ssh access |
| 10:02 | <darobin> | I reckon there must be a LimitExcept in there |
| 10:02 | <darobin> | or might be |
| 10:03 | <darobin> | since that will return a 501 for disallowed methods |
| 10:03 | <odinho> | LimitExcept would've shown OPTIONS in the grep probably though. :/ |
| 10:03 | <odinho> | Can PHP have such a stop? |
| 10:04 | <odinho> | ( http://test.s0.no/w3c-tests/webappsec/tests/cors/submitted/opera/staging/preflight-cache.htm ) <- how it should work, green. :] |
| 10:05 | <odinho> | curl -i -X FOO -H "Origin: http://test.com" -H "Access-Control-Request-Method: GET" "http://test.s0.no/w3c-tests/webappsec/tests/cors/submitted/opera/staging/resources/preflight.php?ident=test" |
| 10:06 | <darobin> | damn, I can't seem to recall the login I'm supposed to use to access that machine :( |
| 10:06 | <darobin> | we'll have to wait for Mike to return I'm afraid |
| 10:07 | <darobin> | odinho: no, you grepped for OPTIONS. But <LimitExcept GET POST PUT> would exclude OPTIONS |
| 10:07 | <darobin> | and not match in grep |
| 10:07 | <odinho> | darobin: Ah. Yeah, that does make some sense. :-) |
| 10:08 | <odinho> | Hopefully it's that :D *waiting* |
| 10:08 | <darobin> | interesting: PUT returns 405 Method Not Allowed while FOO gives 501 Method Not Implemented |
| 10:19 | <[tm]> | I'll be back on in 15 minutes |
| 10:19 | <[tm]> | or so |
| 10:20 | <[tm]> | darobin: but we should try too get your ssh acceds to that server working also |
| 10:40 | <odinho> | annevk, abarth: Reading http://fetch.spec.whatwg.org/#resource-sharing-check -- it says Note: The above algo also functions when ascii origin == "null". That does in fact mean a browser should allow ACA-Origin: null when it sent Origin: null, right? |
| 10:40 | <abarth> | yes |
| 10:40 | <odinho> | I've been double checking it too much now, and wonder why WebKit doesn't follow that. So either test is wrong, or webkit is. |
| 10:41 | <abarth> | its entirely possible that webkit and the spec disagree |
| 10:41 | <odinho> | Okay, nice. |
| 10:41 | <odinho> | abarth: Origin spec didn't say anything specific about that, but anne's note was at least helpful (though I didn't see it at first :P) |
| 10:42 | <abarth> | its a CORS issue, not an origin issue |
| 10:42 | <odinho> | abarth: Yea, but step 3 defers the origin spec :P --> If the value of Access-Control-Allow-Origin is not a case-sensitive match for the value of the Origin header as defined by its specification, return fail and terminate this algorithm. |
| 10:43 | <abarth> | I'd have to look into the details to give you a definitive answer |
| 10:44 | <odinho> | But okay, that part of the test should be correct then. The failing vendors can (and will) probably do an extra thorough spec check, and report any test errors. |
| 10:44 | <odinho> | Because it LGTM :D |
| 10:48 | <zcorpan> | saying Access-Control-Allow-Origin: null is almost like saying Access-Control-Allow-Origin: * |
| 10:48 | <odinho> | zcorpan: It'll fail much more often ;-) |
| 10:48 | <zcorpan> | but * only works if omit credentials is set |
| 10:49 | <zcorpan> | odinho: but i think any origin can set up something that gets null as origin |
| 10:49 | <odinho> | Hmm. Doing a redirect, and getting "null" would be a possible way to walk around that credentials not allowed for *. |
| 10:50 | <zcorpan> | maybe null should be banned? |
| 10:50 | <odinho> | zcorpan: Why? |
| 10:52 | <zcorpan> | because it seems like a security hole |
| 10:52 | <odinho> | Maybe the credentials stuff. -- But how would it be a security hole if else? |
| 10:53 | <zcorpan> | the person who sets null might not realize that it gives access to anyone |
| 10:54 | <odinho> | I think noone will do that. "Only allow people who have been redirected, or people who are in a privacy sensitive area" |
| 10:54 | <zcorpan> | i don't follow |
| 10:55 | <zcorpan> | noone will use null? |
| 10:55 | <odinho> | It's nice because header("aca-origin: $_SERVER[Origin]") will actually work with redirects too then. |
| 10:56 | <odinho> | zcorpan: Noone will hardcode null. :-) |
| 10:57 | <odinho> | Either they care about who they allow (so they'll have a list), or they don't and use * or just returns whatever the client sent in Origin. |
| 10:57 | <zcorpan> | maybe |
| 10:58 | <annevk> | zcorpan: null is for credentialed search from an untrusted widget |
| 10:59 | <darobin> | [tm]: as far as I can tell it's looking like my public key is no longer on the test machine |
| 10:59 | <darobin> | at least, I can't make any other sense of the trace |
| 10:59 | <MikeSmith> | darobin: OK will check on that |
| 10:59 | <MikeSmith> | btw /etc/apache2/mods-available/userdir.conf: <LimitExcept GET POST OPTIONS> |
| 11:00 | <darobin> | MikeSmith: is that the only match for LimitExcept? |
| 11:00 | <MikeSmith> | yeah that's the only instance of "LimitExcept" in /etc/apache2/ |
| 11:00 | <darobin> | well, that's not it then |
| 11:00 | <darobin> | (unless someone had fun with a .htaccess) |
| 11:00 | <annevk> | but you want to nuke that too |
| 11:01 | <annevk> | because e.g. XHR needs far more than that |
| 11:01 | <annevk> | XHR needs wildcard basically |
| 11:01 | <darobin> | annevk: you mean the LimitExcept? it's in the userdir config, I doubt it affects anything |
| 11:01 | <annevk> | oh |
| 11:01 | <darobin> | in fact, I really hope it only affects ~user stuff — I reckon we could just disable the whole module as we're not using it |
| 11:04 | <annevk> | this is why I dislike Apache for testing (actually for my own site as well) |
| 11:04 | <annevk> | there's too much magic and taking control |
| 11:05 | <darobin> | yeah, I stopped using Apache, it's just too clunky |
| 11:06 | <darobin> | for testing stuff I really like using Node because it practically does nothing for you |
| 11:08 | <annevk> | yeah, in the end you just want raw byte access with maybe a few methods for convenience that output the boilerplate stuff (and even that you want to be able to mess around with, e.g. sending HTTP/2.0 or some such) |
| 11:31 | <jgraham> | FWIW I think we are going to need to write a server specifically for testing so that Mozilla and Google can run tests on their infrastructure |
| 11:31 | <jgraham> | I imagine this would have some way to allow tests to specify handlers that override specific bits of the test |
| 11:31 | <jgraham> | er, the response, on a per-test basis |
| 11:32 | <jgraham> | Or the handling in general |
| 11:39 | <odinho> | Yes yes yes! jgraham for president!!!111 :D |
| 11:42 | <darobin> | jgraham: yeah, that matches other mumbles I've heard |
| 12:04 | <annevk> | I thought jgraham was going to be the new King Arthur? |
| 12:05 | <annevk> | hmm... maybe that is the President |
| 12:05 | <darobin> | it's President For Life Arthur these days |
| 12:05 | darobin | sighs |
| 12:06 | <darobin> | I don't know if paving the cowpaths is the right thing to do for accessibility, but the advice for alt attributes that's in HTML5 is really not paving the cowpaths at all |
| 12:06 | <darobin> | as far as I can tell, using it that way is not even a minority practice |
| 12:07 | <annevk> | can you do time zone conversion in JavaScript easily? |
| 12:07 | <annevk> | volkmar: ^^ |
| 12:08 | <annevk> | volkmar: I think selecting in local time and having it converted to UTC is useful, but if that's trivial both server and client-side... |
| 12:08 | <darobin> | you need a library to do that |
| 12:09 | <darobin> | the core Date is TZ ignorant |
| 12:09 | <annevk> | ew |
| 12:09 | <darobin> | though IIRC TC39 has been adding stuff for that |
| 12:09 | <annevk> | sounds like datetime-utc or datetime-global is kinda useful then |
| 12:09 | <darobin> | not sure what the status of that is though |
| 12:10 | <darobin> | anything that does the right thing with TZs is probably good, people get it wrong all the fucking time |
| 12:11 | <annevk> | so earlier today I wrote an IPv6 serialization algorithm in English |
| 12:11 | <darobin> | if we're changing the datetime names we might as well look at taking the I18N folks' feedback on them as well |
| 12:11 | <annevk> | this was not exactly what I had in mind when starting to work on URLs |
| 12:12 | <darobin> | are you surprised that it's taken you to all sorts of wrong places? |
| 12:13 | <annevk> | I guess I'm most annoyed with IDNA, because it seems I can't actually solve that by myself |
| 12:15 | <annevk> | btw, is it me or is there some productivity dip again? |
| 12:15 | <annevk> | like a few times a year everything gets way quieter |
| 12:16 | <odinho> | annevk: You should make some graphs, man. |
| 12:17 | <darobin> | the most avid users of alt seem to be porn sites |
| 12:17 | <darobin> | but remarkably they use it wrong both according to HTML5 and WCAG |
| 12:17 | <zcorpan> | alt="You don't want to know" |
| 12:18 | <darobin> | in fact given the length of their alts I get the impression that porn site really would rather use longdesc |
| 12:18 | <darobin> | I guess size matters to them |
| 12:18 | <darobin> | annevk: this is Thanksgiving week... |
| 12:18 | <darobin> | no one in the US is doing fuck all |
| 12:18 | <volkmar> | annevk: you can do .toString() and .toUTCString() |
| 12:19 | <volkmar> | annevk: IOW, you can know the user's time in his/her tz and the time in UTC |
| 12:19 | <volkmar> | no real need for any conversion I would say |
| 12:20 | <annevk> | volkmar: math on strings seems annoying |
| 12:20 | <annevk> | darobin: ah yeah, I guess they're doing something over there then after all :-) |
| 12:24 | <annevk> | so if you refine by date on w3.markmail.org for the last year and half or so TabAtkins turns out to be the Big Spammer |
| 12:24 | <annevk> | since inception though it's still Hixie followed by jreschke |
| 12:25 | <volkmar> | annevk: you need to parse the string on the server anyway |
| 12:25 | <annevk> | volkmar: why would there be a server? |
| 12:25 | <annevk> | volkmar: e.g. a timezone app could be pretty much client-side |
| 12:26 | <volkmar> | annevk: if there is no server, the Date object has everything you need |
| 12:26 | <volkmar> | annevk: you can get the date in UTC |
| 12:28 | <annevk> | hmm yeah looks like darobin was wrong |
| 12:29 | <annevk> | well, maybe darobin meant conversion to some other timezone |
| 12:29 | <darobin> | annevk: ? |
| 12:29 | <volkmar> | annevk: never trust French people ;) |
| 12:29 | <annevk> | volkmar: except when they live elsewhere? |
| 12:29 | <darobin> | ah, you asked about TZ conversions — not about dumping out to UTC |
| 12:30 | <darobin> | you can always get the UTC date :) |
| 12:30 | <darobin> | except when they're also Australian! |
| 12:30 | <volkmar> | darobin: as soon as you have the UTC date, it's quite easy to do TZ conversions |
| 12:30 | <darobin> | HAHAHAHAHAHAHA |
| 12:30 | <darobin> | look ma, the funny man over there said date handling is easy! |
| 12:30 | annevk | get some popcorn |
| 12:30 | <annevk> | gets damnit |
| 12:31 | <darobin> | but it's true that if all you care about is getting a UTC datetime, then you're fine |
| 12:31 | <annevk> | volkmar: guess I'm fine with dropping -local then |
| 12:31 | <volkmar> | annevk: you mean, dropping -local and have datetime returning a Date with TZ info? |
| 12:31 | <annevk> | yeah |
| 12:31 | <volkmar> | \o/ |
| 12:32 | annevk | goes back to IPv6 serialization |
| 13:45 | <darobin> | Marcos for TAG! |
| 14:37 | <Stevef> | darobin:having look at the alt text data, is the red/italic the alt text? |
| 14:38 | <darobin> | Stevef: yes, sorry, should've spent a little more time polishing the explanation |
| 14:38 | <Stevef> | np i assumed so |
| 14:41 | <Stevef> | darobin: what is immedaitely obvious form smaller data set is that many many alts are duplicates of text that is contiguous with the <img> |
| 14:42 | <darobin> | Stevef: yes, that happens a lot |
| 14:42 | <darobin> | in fact it's probably relatively easy to autodetect |
| 14:42 | <darobin> | in all of those cases it violates both WCAG and HTML5 |
| 14:43 | <Stevef> | yes |
| 14:43 | <darobin> | I guess that there could be heuristics to usefully manipulate the accessibility tree in such cases |
| 14:44 | <Stevef> | that would be something done on the AT side I think, for example, some AT do not announce duplicate text (via user setting) |
| 14:45 | <darobin> | yup yup |
| 14:46 | <darobin> | but the part that I'm interested in here is that I could only spot very few cases that follow the HTML5 advice, whereas a bunch more do follow WCAG |
| 14:48 | <Stevef> | right |
| 14:50 | <Stevef> | well that could be due to the fact that advice on writing alt text generally and historically comes from accessibility resources and guidelines such as WCAG, so if they do do it 'right' they are going to do it 'right' as per WCAG |
| 14:51 | <darobin> | Stevef: actually I think that's more deeply ingrained than that |
| 14:51 | <darobin> | most web devs haven't read the WCAG details, they're only going on "you should provide some description in alt" |
| 14:51 | <darobin> | and the reflex there seems to be "put a description of the image" not "put something that flows with the surrounding text" |
| 14:52 | <darobin> | it certainly matches my personal experience |
| 14:53 | <Stevef> | darobin: sure, but note the WCAG advice is both "put a description of the image" or "put something that flows with the surrounding text" depending on the context |
| 14:53 | <darobin> | yes, I know, but far less so than in HTML5 |
| 14:54 | <darobin> | I get the impression people only use flowing when it's in a link |
| 14:54 | <darobin> | which seems right |
| 14:58 | <Stevef> | yeah |
| 15:25 | <Lachy> | annevk, I started migrating selectors api 2 into the DOM spec. See branch here for early draft. https://github.com/lachlanhunt/dom/tree/selectorsapi |
| 15:26 | <Lachy> | also, I did what jgraham said re the W3C fork and rebasing. I now have it working, so you shouldn't ever need to accept those changes I submitted yesterday. I just didn't know how to do that before. |
| 15:53 | <annevk> | Lachy: okay |
| 15:57 | <odinho> | darobin, d'ya know the ports the w3c-test.org is listening for HTTPS? (except :443) |
| 15:57 | <darobin> | lemme check |
| 15:58 | <odinho> | (I couldn't find any on http://www.w3.org/wiki/Testing/Requirements ) -- so maybe it doesn't exist. |
| 15:58 | <darobin> | odinho: it takes a little while for ssh to echo my chars back at me, so this could be a little slow... |
| 15:58 | <odinho> | Then I should really remove that test, not like I expect it to break :P |
| 15:58 | <odinho> | darobin: mosh, just sayin' |
| 15:59 | <darobin> | yeah, I been meaning to try that for a while |
| 15:59 | <darobin> | odinho: it looks like we only have 443 |
| 16:00 | <odinho> | I did, when in France ;-) |
| 16:00 | <odinho> | darobin: Okay. Think I'll just remove those tests then. Red isn't a nice colour in tests. |
| 16:00 | <darobin> | odinho: I can open another port |
| 16:00 | <darobin> | which would you like? |
| 16:00 | <darobin> | 442? |
| 16:00 | <darobin> | 4430? |
| 16:01 | <darobin> | odinho: ^^ |
| 16:02 | <odinho> | darobin: At Opera we've done 8443 (and 8080), so basically +8000 for anything. -- Since you have 80 81 82 83, maybe 443 444 would be the correct way? :P |
| 16:03 | <darobin> | 444 it is then |
| 16:03 | <darobin> | I hope I don't cock this up |
| 16:03 | <odinho> | ^_^ |
| 16:04 | <darobin> | I've noticed people make fun of you when you crash the server on the same day you get root access |
| 16:11 | <annevk> | aah Lachy left |
| 16:12 | <darobin> | aaaaaand crash the server I did |
| 16:12 | <darobin> | thankfully not long enough for it to matter |
| 16:15 | <darobin> | odinho: ok, I can't use 8443 because that's taken by Jetty |
| 16:15 | <darobin> | and for other ports I need to poke a hole in iptables |
| 16:16 | <darobin> | I don't want to do that without taking to Mike because I'm unsure of what the security policy is on that box |
| 16:16 | <darobin> | the server currently listens on 444 but the firewall is blocking it |
| 16:51 | <odinho> | darobin: thank you although you're gone. |
| 16:59 | <annevk> | armchairing with bz |
| 16:59 | <annevk> | good times |
| 17:08 | <annevk> | can't wait to get back to http://html5.org/temp/unicorn.svg |
| 17:10 | <miketaylr> | amazing |
| 17:13 | <annevk> | odinho: the different protocol stuff, is that http/https? |
| 17:14 | <annevk> | odinho: and which direction? from http to https or vice versa? |
| 17:16 | <marcosc> | hmmmm... so, for img@srcset, if I have '<img src="foo" srcset="bar x1">' it's not clear (to me) how to pick between them from the algorithm. |
| 17:16 | <marcosc> | argh, make that 1x |
| 17:16 | <odinho> | annevk: Different protocol what? Different protocol and different port, was some tests I removed. |
| 17:17 | <odinho> | (both at the same time) |
| 17:17 | <marcosc> | argh. that effin x1 vs x1 keeps getting me. |
| 17:17 | <annevk> | whoa |
| 17:17 | <annevk> | why do so many browsers fail Disallow origin: http://www1.test.s0.no# ? |
| 17:17 | <annevk> | odinho: oh |
| 17:18 | <odinho> | annevk: The # is probably stripped somewhere in the engines. |
| 17:18 | <annevk> | that's some weird shit |
| 17:19 | <odinho> | It's working for not-remote though. Which I thought a bit weird. |
| 17:19 | <annevk> | afaik HTTP doesn't treat # magically |
| 17:19 | <odinho> | So maybe it's postmessage that's munging it. ... Or it shouldn't do that. |
| 17:19 | <annevk> | that does not-remote mean? |
| 17:19 | <odinho> | There's two tests, origin.htm, and remote-origin.htm |
| 17:19 | <annevk> | miketaylr: my plan is to put that behind about:unicorn |
| 17:20 | <odinho> | they do the same, only remote-origin opens up an iframe on a different origin where it postMessage some stuff for that iframe to XHR. |
| 17:20 | <odinho> | I made it kinda fast, maybe I did something wacky. |
| 17:25 | <annevk> | how are you passing the origin around? |
| 17:26 | <annevk> | odinho: oh, maybe the # doesn't arrive on the server in some browsers because they strip it from the request? |
| 17:27 | <odinho> | annevk: source -> http://test.s0.no/w3c-tests/webappsec/tests/cors/submitted/opera/staging/remote-origin.htm |
| 17:28 | <odinho> | annevk: With less junk -> http://test.s0.no/w3c-tests/webappsec/tests/cors/submitted/opera/staging/anne-panne.htm |
| 17:29 | <odinho> | Hm, it is not sent with in Opera, no. That's strange because it is when I don't do the remote thingy. |
| 17:30 | <annevk> | I suspect encodeURIComponent(real_origin) |
| 17:30 | <marcosc> | Hixie (or hober), when you are around: if I have '<img src="foo" srcset="bar x1">' it's not clear (to me) how to pick between them from the algorithm (I probably missed something). Any guidance would be appreciated. |
| 17:31 | <annevk> | hmm no |
| 17:31 | <annevk> | that's not different from the original |
| 17:32 | <odinho> | decodeURIComponent(e.data.url) then? Lets see |
| 17:32 | <annevk> | yeah |
| 17:32 | <annevk> | I was just there :) |
| 17:32 | <annevk> | the iframe looks like the culprit |
| 17:33 | <annevk> | http://xhr.spec.whatwg.org/#the-open()-method requires the fragment to be dropped |
| 17:33 | <annevk> | maybe Chrome does not do that? would be a bug in Chrome |
| 17:34 | <odinho> | Wat? But ... howcome it works f ... f... Hmmmm.... AHA |
| 17:35 | <annevk> | I doubt howcome knows about this |
| 17:37 | <odinho> | ^_^ I think I can add an extra encodeURIComponent to it, and it'll work better. Or I can remove the decode on the other side. Probably best to remove the decode, it shouldn't be there as far as I can see. |
| 17:38 | <marcosc> | Hixie, hober, never mind. Found it :) |
| 17:39 | <odinho> | annevk: Like totally fixed lots of errors. No more red in Opera for remote-origin. |
| 17:40 | <annevk> | odinho: awesome |
| 17:40 | <odinho> | ( http://test.s0.no/w3c-tests/webappsec/tests/cors/submitted/opera/staging/remote-origin.htm ) |
| 19:27 | <annevk> | hmm, there's also http://wiki.whatwg.org/wiki/FormData |
| 19:27 | <annevk> | kinda sad we use append there instead of add() |
| 19:28 | <annevk> | TabAtkins_: how do you feel about calling it append() instead of add()? |
| 19:29 | <annevk> | hmm, and for URLQuery, how do you get the names? |
| 19:29 | <annevk> | (the difference between FormData and URLQuery is that FormData is like multipart/form-data and URLQuery is like application/x-www-form-urlencoded |
| 19:30 | <annevk> | ; i.e. one supports Blob and the other doesn't) |
| 20:12 | <zewt> | my favorite gmail thing: pasting a URL, editing the URL, and having it be sent with an automagically-generated link to the original link |
| 20:17 | <annevk> | arv: nice work on the exception stuff |
| 20:17 | <jwalden> | exceptionally good work, is what I think annevk meant to say :-) |
| 20:18 | <Ms2ger> | jwalden, you're the worst |
| 20:18 | <annevk> | jwalden: I am reserving that for when WebKit is DOM-compliant :) |
| 20:19 | <jwalden> | Ms2ger: only if you say I'm a brat |
| 20:19 | <arv> | annevk: thanks |
| 20:23 | <annevk> | matjas: seems your spec is up now btw on /specs/ |
| 20:26 | <annevk> | arv: I've talked to sicking btw about adding something like promises to the platform |
| 20:26 | <annevk> | arv: not sure if that's up your alley, but if you have input/suggestions that would be appreciated |
| 20:28 | <arv> | annevk: Talk to Alex Russel, he is also trying to do this |
| 20:28 | <Hixie> | where should a cue that is left-aligned, given an x-position of 50%, and a width of 100%, end up? |
| 20:29 | <arv> | annevk: I want promises but at this point there are too many cooks for me to add anything but +1 to that discussion |
| 20:29 | <Hixie> | at x=50%, widht width=50%? |
| 20:29 | <Hixie> | or at x=0%, with width=100%? |
| 20:29 | <annevk> | arv: fair enough, if people are working on this maybe I should just sit back and relax |
| 20:29 | <annevk> | (and bitch about IDNA) |
| 20:30 | <annevk> | Hixie: is this like background-position or position:absolute? |
| 20:30 | <annevk> | Hixie: or is that what you're asking? :) |
| 20:30 | <arv> | annevk: I think slightlyoff is planning to get it in through some crypto API |
| 20:31 | <annevk> | arv: wut? |
| 20:31 | <arv> | annevk: Promises |
| 20:31 | <annevk> | yeah I understand, not sure I understand the strategy |
| 20:31 | <arv> | annevk: it is a new api that is async |
| 20:31 | <annevk> | my idea was to figure out what we want from the API and then add it to every asynchronous object we have |
| 20:33 | <annevk> | xhr.promise.fail()/succeed()/then() or some such |
| 20:33 | <annevk> | new async stuff could return promise directly |
| 20:39 | <annevk> | "Tell CSS about WG consensus on case folding" |
| 20:39 | <annevk> | hmm |
| 20:40 | <annevk> | -- http://lists.w3.org/Archives/Public/www-international/2012OctDec/0076.html |
| 20:41 | <Hixie> | annevk: it's like neither, but i'm asking |
| 20:42 | <annevk> | Hixie: what do existing formats do? |
| 20:43 | <SimonSapin> | annevk: is that "tell csswg about i18n wg’s consensus"? What is the said consensus? |
| 20:43 | <annevk> | SimonSapin: it sounds like the consensus is not ASCII case-insensitive, which I think is what it should be |
| 20:44 | <Hixie> | annevk: not clear |
| 20:45 | <SimonSapin> | oh I see, "case folding" is i18n’s anwser to the question of "what kind case insensitivity" |
| 20:45 | <Hixie> | align:left position:50% width:100% => seems to me it should be treated the same as align:left position:50% width:50% |
| 20:45 | <Hixie> | but |
| 20:46 | <Hixie> | align:left position:100% width:50% => seems to me it should be treated the same as align:left position:50% width:50% also |
| 20:46 | <Hixie> | and i can't work out how to make both of those happen, so one has to lose |
| 20:46 | <Hixie> | probably the second |
| 20:46 | <Hixie> | but shrinking to width:0% doesn't make sense either... |
| 20:46 | <annevk> | Hixie: why not if pos+width > 100% ignore pos? |
| 20:47 | <zewt> | SimonSapin: case folding is how you do unicode case-insensitivity (as opposed to "convert to lowercase", which is subtly different) |
| 20:47 | <annevk> | case folding is also a way complex operation for where something simple is sufficient |
| 20:48 | <Hixie> | annevk: because default width is 100% so that would mean position doesn't work unless you change the width also, every time |
| 20:48 | <zewt> | annevk: sure, it's nonsense when you're only comparing ascii |
| 20:48 | <zewt> | heh, come to think of it I don't even know what String.toLowerCase actually does |
| 20:49 | <annevk> | Hixie: so ignore width instead then I suppose... |
| 20:49 | <zewt> | there's toLowerCase and toLocaleLowerCase, but "lowercase" basically by definition has to be based on some locale |
| 20:49 | <annevk> | Hixie: which you already concluded |
| 20:49 | <zewt> | maybe just "toLowerCase = lowercase based on en_US, toLocaleLowerCase = based on the user's locale"? dunno |
| 20:49 | <annevk> | zewt: there's a locale-independent algo I think |
| 20:49 | <zewt> | annevk: that's what case folding is |
| 20:49 | <Hixie> | annevk: yeah but then align:left position:100% never does what the author wants. maybe that's ok. |
| 20:50 | <zewt> | is there anywhere it actually matters, aside from stupid turkish dotless I? |
| 20:50 | <annevk> | Hixie: what do you want there? |
| 20:50 | <Hixie> | annevk: hell if i know |
| 20:51 | <annevk> | Hixie: but even though we don't know what X wants, it doesn't do what X wants? |
| 20:51 | <zewt> | or is that just the only one that affects the ASCII set |
| 20:51 | <annevk> | zewt: there's a lot of cases |
| 20:51 | <zewt> | that's probably what it is |
| 20:58 | <Hixie> | annevk: i can argue multiple interpretations as reasonable |
| 20:58 | <Hixie> | another case is align:middle size:25% |
| 20:59 | <Hixie> | should that be in the middle, or on the left? |
| 20:59 | <Hixie> | maybe the default position should depend on the alignment... |
| 21:01 | <Hixie> | please comment on https://www.w3.org/Bugs/Public/show_bug.cgi?id=20037 if you have opinions regarding webvtt positioning |
| 21:01 | <Hixie> | lunch, bbl |
| 21:34 | <annevk> | TabAtkins_: why is it Map.size rather than Map.length? |
| 21:39 | <jwalden> | maps aren't vectors; they don't have a length |
| 21:40 | <jwalden> | does HashMap.length make any sense? |
| 21:40 | <zewt> | "length" in apis usually means "the number of things in the container", it's not restricted to linear things like strings and arrays |
| 21:41 | <jwalden> | I don't think that's universally true, and to the extent it's true in those cases, it's a bad name |
| 21:41 | <zewt> | eg. python uses len() for all kinds of containers, it doesn't make you remember different names (which also makes duck typing work much better) |
| 21:42 | <zewt> | everyone understands it, so i think the name is fine |
| 21:42 | <zewt> | it could be "elephants" as long as it was understood :) |
| 21:42 | <annevk> | yeah, that's certainly how I've come to view length, thus far I haven't seen a different name for it |
| 21:42 | <zewt> | size would be fine too but we've already got "length" |
| 21:43 | <SimonSapin> | btw, what is .length for a sparse JS array? The number of defined items or the greatest index + 1? |
| 21:44 | <heycam> | the latter |
| 21:45 | <zewt> | does javascript even have actual sparse arrays, other than setting up an object-with-array-semantics by hand? |
| 21:45 | <SimonSapin> | zewt: isn’t that an implementation detail? |
| 21:47 | <zewt> | i'm not talking about implementation, i'm asking if there are any interfaces or APIs or syntaxes that actually let you create a sparse array, other than assigning to an object directly |
| 21:47 | <jwalden> | arrays *are* objects |
| 21:47 | <heycam> | you can do [10,20,,,,,,40] |
| 21:47 | <zewt> | yes, we're not JS 101 here :) |
| 21:47 | <jwalden> | there's no such thing as a sparse array at all |
| 21:47 | <jwalden> | just arrays |
| 21:47 | <jwalden> | sometimes which might be missing properties below their length |
| 21:47 | <SimonSapin> | that’s what I meant by sparse |
| 21:48 | <jwalden> | also people don't use "sparse" in the same sense in all cases |
| 21:48 | <jwalden> | it's just not a very precise term |
| 21:48 | <zewt> | jwalden: heycam's syntax definitely gives a sparse array |
| 21:48 | <zewt> | not a terribly useful one (if you want a sparse array, usually you want millions of missing items, not a few), but just the same |
| 21:49 | <jwalden> | zewt: in the engines I'm aware of, I believe that gets optimized to use vector-like storage, which engine implementers don't consider to be a sparse case |
| 21:49 | <heycam> | zewt, you can also start off with [] and then just assign to the index properties you want |
| 21:49 | <jwalden> | zewt: which illustrates the problems of using the term "sparse" |
| 21:49 | <zewt> | jwalden: that much *is* an implementation detail |
| 21:50 | <jwalden> | zewt: there is no definition for the term "sparse", so it's meaningless to ask whether JS exposes them |
| 21:50 | <heycam> | jwalden, do you know if you do `var a = []; a[2**30] = 1` will it not allocate a chunk of memory? |
| 21:50 | <annevk> | and wherein heycam returns and I ask him to add https://www.w3.org/Bugs/Public/show_bug.cgi?id=18547 to his list (unless Ms2ger gets to it first) |
| 21:50 | <zewt> | in JS terms, i'd consider a sparse array to simply be one with array semantics, but where one of the indexes below .length doesn't exist in the object |
| 21:50 | <heycam> | annevk, so added. |
| 21:50 | <jwalden> | well, if that's your definition, new Array(17) |
| 21:51 | <zewt> | whether or how it's actually optimized based on that being the implementation detail part, of course |
| 21:51 | <Ms2ger> | heycam gets to do that :) |
| 21:52 | <jwalden> | heycam: it depends on the engine; most will probably use something similar to non-array, non-typedarray property storage for it, which allocates memory sometimes (but not necessarily always) |
| 21:52 | <zewt> | i guess the other way to view sparse arrays is as the actual physical in-memory data structure (but that isn't very interesting at a level like JS) |
| 21:52 | <jwalden> | questions about what memory gets allocated are inherently un-answerable without qualifying to a specific engine, mostly |
| 21:52 | <zewt> | well, not that exactly (it doesn't define something specific like a binary tree) |
| 23:49 | <Hixie> | so... cross-origin seamless |
| 23:49 | <Hixie> | do we always want the following on any seamless case?: |
| 23:50 | <Hixie> | - links opening in the parent browsing context, not the nested one |
| 23:50 | <Hixie> | - shrink wrapping |
| 23:50 | <Hixie> | - media queries acting as if the bc was the parent, not the iframe |
| 23:51 | <Hixie> | - borders disable by default |
| 23:51 | <Hixie> | - speech media should not announce the iframe as separate |
| 23:52 | <Hixie> | if so, are the only things we _don't_ want to propagate the styles, and the events (not yet specced anyway)? |