09:55 | <annevk> | Chrome also opens data:text/xml,<?xml version="1.9"?><script xmlns="http://www.w3.org/1999/xhtml">alert(1)</script> so whether it supports XML 1.1 or XML 1.0 5th Edition is a bit unclear |
09:56 | <jgraham> | Maybe it jsut doesn't care that much since XML is a minor use case |
09:57 | <annevk> | No it fails on 2.0 |
09:58 | <annevk> | If I do data:text/xml,<?xml version="1.1"?><script%85xmlns="http://www.w3.org/1999/xhtml">alert(1)</script> however I get "warning on line 1 at column 19: Unsupported version '1.1'" |
10:47 | <SimonSapin> | annevk: https://github.com/lifthrasiir/rust-encoding |
10:47 | <annevk> | lucky you |
10:48 | <SimonSapin> | no "streaming" api though |
10:48 | <annevk> | oh really? |
10:48 | <annevk> | that's kinda essential |
10:48 | <SimonSapin> | yeah |
10:59 | <annevk> | Apparently Dan Connolly considers XML 1.1 to be killed: http://visitmix.com/opinions/web-standards-gone-wild Too bad they didn't mark it as such so we get still harassed about it in bug reports. |
11:12 | <famicom`> | does anyone know whwere i can find an authoritative spec of html5 |
11:12 | <famicom`> | normative only please |
11:13 | <annevk> | famicom`: http://whatwg.org/C |
11:14 | <famicom`> | is there something without all the samples |
11:15 | <annevk> | famicom`: no, but you could execute some script or use CSS that hides them pretty easily... |
11:15 | <famicom`> | what element rules should i apply then |
11:15 | <famicom`> | good call btw |
11:16 | <famicom`> | i found an xsd for html5 by MSFT but it lists put as a html method |
11:16 | <famicom`> | is this valid for form submission? |
11:18 | <SimonSapin> | http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#attr-fs-method says no |
11:19 | <annevk> | famicom`: .example { display:none } .note { display:none } |
11:20 | <annevk> | famicom`: would go a long way |
11:20 | <famicom`> | thanks :) |
11:26 | <famicom`> | are there any differences with the dom interface and the html5 spec? |
11:30 | <annevk> | famicom`: what do you mean? |
11:31 | <famicom`> | honestly, i need a clear and concise spec |
11:31 | <famicom`> | http://www.w3.org/TR/html4/strict.dtd |
11:31 | <famicom`> | i miss those "( |
11:33 | <annevk> | famicom`: that's from a time when we didn't really explain what was going on |
11:33 | <Ms2ger> | Their incompleteness and inaccuracy? |
11:33 | <famicom`> | no, their what's the term |
11:34 | <famicom`> | conciseness? |
11:34 | <annevk> | famicom`: they were concise because they were incomplete and inaccurate and full of holes |
11:34 | <annevk> | famicom`: if you prefer that, it's better to not read a standard, but a tutorial of sorts |
11:35 | <famicom`> | and you are? |
11:35 | <annevk> | Anne? |
11:35 | <famicom`> | of? |
11:35 | <annevk> | of? |
11:35 | <famicom`> | im not following you, what is wrong with a dtd or xsd schema definitinon for that matter |
11:36 | <famicom`> | i understand that html is an evolving language |
11:36 | <famicom`> | but we have no guidelines of what is "correct" |
11:36 | <famicom`> | apart from implementation |
11:37 | <annevk> | famicom`: reading http://hsivonen.iki.fi/thesis/html5-conformance-checker.xhtml might give you an idea of issues with schema languages |
11:37 | <annevk> | famicom`: actually we do, the specification covers what is correct, in English |
11:37 | <famicom`> | sorry |
11:38 | <jgraham> | I believe annevk is Anne of Kestern |
11:38 | <famicom`> | so there isnt a single machine parsable deifinition around |
11:39 | <famicom`> | hyey anne |
11:39 | <famicom`> | nederlander? |
11:40 | <famicom`> | ah ik zie het nu |
11:40 | <famicom`> | respect \o/ |
11:40 | <famicom`> | i read this guys blogs before |
11:43 | <famicom`> | anne is your main focuss purely markup languages? |
12:39 | <annevk> | famicom`: currently URLs and platform APIs |
12:40 | <jgraham> | odinho: thanks |
13:17 | <annevk> | Are there places in the platform that take domain names but not "[IPv6]" notation? |
13:36 | <matjas> | var dummy = document.createElement('iframe'); dummy.src = 'http://google.com/©';; console.log(dummy.src); |
13:36 | <matjas> | "http://google.com/%C2%A9" in Blink |
13:38 | <annevk> | Found another bug in https://tools.ietf.org/html/rfc6454 Apparently it uses IDNA 2008. |
13:38 | <matjas> | oh no, bad example |
13:38 | <annevk> | matjas: not sure what you mean by that :) |
13:38 | <matjas> | annevk: i was talking about something else, but gave a bad example |
13:39 | <matjas> | in some browsers, a special symbol in the TLD part of the hostname gets normalized to its URL-encoded equivalent |
13:39 | <matjas> | in Firefox that is not the case |
13:40 | <annevk> | TLD is not special per any spec |
13:41 | <matjas> | var dummy = document.createElement('iframe'); dummy.src = 'http://google.com℁';; console.log(dummy.src); |
13:41 | <matjas> | → "http://google.coma/s" in WebKit/Blink |
13:41 | <matjas> | no wait, just in WebKit |
13:41 | <matjas> | in Blink it’s "http://google.coma%2Fs/" |
13:42 | <matjas> | Firefox acts as WebKit |
13:43 | <annevk> | That makes a surprising amount of sense, but is actually bad... |
13:43 | <matjas> | what behavior makes the most sense? |
13:44 | <matjas> | btw in old Opera 12 it’s option 3: "http://google.xn--com-cg1a/" |
13:45 | <annevk> | WebKit / Gecko only apply Unicode normalization. I guess Chrome then filters out certain bad code points via percent escaping. But since percent escaping doesn't make sense anymore at that point, it might be better to fail parsing the URL... |
13:45 | <matjas> | yeah, pretty weird |
13:46 | <annevk> | The normalization is what IDNA 2003 requires. But I suspect this code point is not from Unicode 3.2 |
13:46 | <matjas> | http://codepoints.net/U+2101 added in Unicode v1.1 |
13:46 | <Ms2ger> | "We present JSCert, a mechanised specification of ECMAScript 5 in the Coq proof assistant, and JSRef, a reference interpreter for JavaScript extracted from Coq to OCaml." |
13:48 | <annevk> | matjas: okay, then maybe the mapping is not from Unicode 3.2 |
13:49 | <matjas> | ah, gotcha |
13:49 | <annevk> | matjas: cannot find 2101 in http://tools.ietf.org/html/rfc3454 |
13:54 | <annevk> | Should I be scared by http://lxr.mozilla.org/mozilla-central/source/netwerk/dns/nsIIDNService.idl#19 citing https://tools.ietf.org/html/draft-ietf-idn-idna-06 rather than a final specification? |
13:55 | <Domenic_> | those draft URLs are the worst |
13:55 | <Domenic_> | i had people filing bugs on my oauth2 library based on multi-year-old drafts |
13:57 | <annevk> | Seems http://lxr.mozilla.org/mozilla-central/source/netwerk/dns/nsIDNService.cpp cites final (2003) RFCs it seems. Guess nobody updated the .idl... |
14:21 | <SimonSapin> | annevk: https://github.com/lifthrasiir/rust-encoding actually does have a streaming API, just not in the readme |
14:21 | <matjas> | for the record, I filed https://code.google.com/p/chromium/issues/detail?id=273712 |
14:22 | <SimonSapin> | It also tries to mimic the spec’s TextEncoder and TextDecoder APIs, which I think is not a great idea for non-JavaScript |
14:22 | <annevk> | SimonSapin: yeah, seems bad |
14:22 | <annevk> | SimonSapin: also seems bad to add extensions such as "ascii" |
14:23 | <SimonSapin> | well, it’s implemented, but not associated with any string label |
14:23 | <annevk> | matjas: fwiw, I'm not entirely sure what the correct behavior is, but what Gecko does is bad too as when you'd serialize and then parse the URL again you'd get a different result |
14:26 | <aleray> | hi, I would like to implement typogrify/smartypants like filters using html5lib. I don't really like their approach with regex and I would like to implement more rules (for french typography). I was thinking about taking the existing htmlserializer and adding my own filters in there. DO you think it is a good idea? Any advices regarding this? |
14:27 | <jgraham> | That sounds quite reasonable |
14:27 | <jgraham> | Although I don't really know what those other things do |
14:33 | <aleray> | jgraham, should I modify directly the htmlserializer? Or should it be a "Filter"? |
14:36 | <annevk> | matjas: it seems like 2101 changed between http://www.unicode.org/Public/3.2-Update/DerivedNormalizationProps-3.2.0.txt and http://www.unicode.org/Public/UNIDATA/DerivedNormalizationProps.txt :/ |
14:38 | <jgraham> | aleray: Making a filter seems to be more sensible |
14:39 | <aleray> | jgraham, nice thanks. I will try this |
15:00 | <aleray> | jgraham, trying this simple example: http://dpaste.com/1344361/ I get an error: TypeError: unhashable type |
15:01 | <aleray> | any idea? |
15:03 | <jgraham> | aleray: I haven't looked at the code for too long to answer off the top of my head. Can you paste the full tb? |
15:03 | <aleray> | jgraham, yes |
15:03 | <aleray> | jgraham, http://dpaste.com/1344363/ |
15:07 | <jgraham> | It appears to be getting something other than a string for an attribute name |
15:09 | <jgraham> | But I don't know why it should see an attribute at all |
15:16 | <aleray> | jgraham, the value of token is "{u'namespace': u'http://www.w3.org/1999/xhtml';, u'type': u'StartTag', u'name': u'p', u'data': {}}" |
15:16 | <aleray> | if it helps |
15:22 | <jgraham> | aleray: Oh |
15:22 | <jgraham> | It looks like the sanitiser is expecting the attributes to be a list |
15:22 | <jgraham> | I wonder if this ever worked or if gsnedders changed it recently |
15:23 | <aleray> | jgraham, in my case it what just to test out the filter thing... I don't plan to use the sanitizer filter. |
15:24 | <aleray> | but I guess it might be useful for other people |
15:24 | <gsnedders> | jgraham: Ages ago. |
15:24 | <gsnedders> | aleray: That is https://github.com/html5lib/html5lib-python/issues/72 no? |
15:25 | <gsnedders> | Or rather it is caused by that. |
15:25 | <gsnedders> | aleray: Look at any other filter. :) |
15:25 | <gsnedders> | aleray: The rest work, AFAIK. |
15:27 | <aleray> | OK, so another question: I have written the following: http://dpaste.com/1344381/. It works, but the & of "…" get escaped when I serialize. so it become "&hellip;" |
15:27 | <aleray> | can I avoid it? |
15:27 | <gsnedders> | aleray: You want to use the Unicode character \u2026 |
15:28 | <aleray> | gsnedders, thanks |
15:28 | <gsnedders> | aleray: Instead of using the character reference. The serializer will deal with escaping things as character references as needed. |
15:28 | <aleray> | gsnedders, euh? |
15:28 | <aleray> | didn't get it |
15:29 | jgraham | wonders what the objection to dropping the tokenizer sanitizer mixin was |
15:29 | <jgraham> | (I was possibly the one that objected) |
15:29 | <jgraham> | (apart from the fact that people are using it) |
15:30 | <gsnedders> | aleray: The filters have no concept of character references like …. They merely have runs of characters. The serializer will convert the characters to character references if needed. |
15:30 | <gsnedders> | jgraham: It's going for 1.0. |
15:30 | <gsnedders> | jgraham: And the tokenizer-parser distinction is becoming an internal API. |
15:31 | <jgraham> | Like it was in the beginning you mean :) |
15:31 | <aleray> | thank you both, I need to look further at it but your advices were useful |
15:31 | <jgraham> | I think that's quite sensible |
15:32 | <gsnedders> | jgraham: Also, pip now installs 0.95 again, because it now ignores pre-release versions by default. |
15:33 | <jgraham> | calling it 1.0b was probably a mistake |
15:33 | <jgraham> | It could have been 0.99 |
15:33 | <jgraham> | (I would support re-releasing it as 0.99) |
15:33 | <jgraham> | And just keep adding 9s :) |
15:36 | <gsnedders> | :) |
15:38 | <gsnedders> | jgraham: https://github.com/html5lib/html5lib-python/pull/93 is the only API change I want to make for 1.0 |
15:39 | <gsnedders> | jgraham: And then fix saniziter and then I think we can call it 1.0 |
15:39 | <Ms2ger> | But it's not finished! |
15:39 | <gsnedders> | It never will be. |
15:39 | <jgraham> | gsnedders: I think "remove the tokenizer sanitizer" counts as an API change :) |
15:56 | <jgraham> | Oh happy span time, github is down again |
15:56 | <jgraham> | *spam |
15:56 | <SimonSapin> | yay centralization. status.github.com "Major service outage." |
15:57 | <jgraham> | Although happy span time seems almost on-topic for the channel |
16:03 | <annevk> | Hmm. File.lastModifiedDate is a Date object too |
16:22 | <annevk> | RFC3454 is beautiful... Section 5 states that remaining subsections are non-normative. Section 6 states "The characters in section 5.8 MUST be prohibited." |
16:30 | <zewt> | heh i implemented some stringprep profile at some point ... typical rfc nightmare |
16:33 | <annevk> | So yeah... I'm wondering what to do here. Just reference IDNA 2003 and override the Unicode version... Or define loads of it locally... |
16:48 | <dglazkov> | good morning, Whatwg! |
17:03 | Ms2ger | found https://twitter.com/t/status/368053711794634752 funny |
17:11 | <tantek> | Ms2ger did you get that today is the 227th day of the year? |
17:11 | <Ms2ger> | Yeah, I know you use that format |
17:11 | <Ms2ger> | I found the juxtaposition with the comic denouncing it funny |
17:43 | <Hixie> | famicom`: a machine-readable version of the spec would just be the source code for a browser |
17:50 | <Domenic_> | So where does one get Anolis these days |
17:50 | <Ms2ger> | bitbucket |
17:50 | <Domenic_> | so i have to install hg, fun times |
17:51 | <Domenic_> | the setup instructions at http://hg.gsnedders.com/anolis/raw-file/1.0/README.html are accurate still, despite the new repo location? |
17:53 | <Ms2ger> | Should be pretty much the same, yes |
17:53 | <Ms2ger> | Or http://pythonhosted.org/anolis/ |
17:54 | <Ms2ger> | Oh, you can probably also use pip or whatever |
19:51 | <zcorpan> | <base href=about:blank> isn't something i've considered before |
19:52 | <zcorpan> | seems it's ignored in blink |
19:53 | <zcorpan> | not ignored in gecko but gecko doesn't like resolving to about:blank, or something, at least clicking the link here does nothing http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2461 |
20:13 | <zcorpan> | i wonder if we can change setProperty(value) without the priority argument to just change the value and not the priority |
20:14 | <zcorpan> | it seems a bit unexpected that it unsets !important |
20:22 | <TabAtkins> | zcorpan: I'll bet we could. |
20:22 | <TabAtkins> | zcorpan: I'm betting most applications don't realize they're unsetting !important, and that for nearly all, it doesn't actually matter. |
20:23 | <zcorpan> | yeah. and when it does matter, it means that the new value doesn't get applied, which seems like a bug in the code |
20:24 | <TabAtkins> | Right. |
20:25 | <zcorpan> | suggested that on the list |
20:25 | <zcorpan> | i'm not supposed to be working today :-P |
20:32 | <Domenic_> | darobin: respec.js is *so good* |
20:48 | <Hixie> | man, i really should fix the stack of open elements to not grow downwards |
20:48 | <Hixie> | that's such a dumb thing |
20:57 | <TabAtkins> | Heh. |
21:07 | <darobin> | Domenic_: glad you like it :) It needs a good overhaul though. I'll probably be giving it a good scrubbing at the end of the month (notably IDL and docs) |
21:07 | <Domenic_> | darobin: ya docs would be the most helpful, i discovered most things i needed by looking through the source and the templates |
21:08 | <darobin> | ouch, sorry to hear that |
21:08 | <Domenic_> | darobin: so far the undocumented features i used include class="issue" and overrideCopyright |
21:08 | <darobin> | there's http://dev.w3.org/2009/dap/ReSpec.js/documentation.html but it's outdated |
21:08 | <darobin> | I have a week cordoned off just to work on the docs |
21:09 | <darobin> | I'm off to bed now, but if you have suggestions feel free to file issues, I'll be happy to take them |
21:09 | <Domenic_> | awesome, will do! |
22:12 | <heycam> | TabAtkins, Chrome implements CSS Variables, right? |
22:12 | <heycam> | TabAtkins, I can't seem to find how to turn it on or get it to work |
22:12 | <TabAtkins> | Yes, but prefixed and behind a flag. ;_; |
22:12 | <TabAtkins> | I think it's in "Experimental CSS Features" |
22:13 | <heycam> | TabAtkins, mayb e Enable experimental Web Platform features? |
22:13 | <TabAtkins> | Sure, maybe. |
22:13 | <heycam> | can't find Experimental CSS Features in about:flags |
22:13 | <heycam> | TabAtkins, that did it, thanks :) |
22:14 | <heycam> | (works without a prefix though, so that's good) |
22:15 | <TabAtkins> | Oh, we changed it! Nice! |
22:28 | <zcorpan> | hmm, webkit/blink impl of setProperty(prop, val, '') doesn't unset !important, instead it does nothing if prop is currently important |
22:30 | <zcorpan> | you have to call removeProperty first if you want to remove the important |
22:33 | <zcorpan> | IE10 does that as well |
22:42 | <Hixie> | man, nsAttrAndChildArray is not deeply documented |
22:42 | <Hixie> | at least, not as far as i can find |
22:52 | <TabAtkins> | zcorpan: "Does nothing" meaning the call is silently ignored? |
22:53 | <zcorpan> | TabAtkins: yes |
22:53 | <TabAtkins> | Interesting. |
22:53 | <zcorpan> | TabAtkins: i guess conceptually like a declarative not-important decl |
22:54 | <zcorpan> | which might be desirable |
22:54 | <TabAtkins> | I can't think of a way in which it would be desirable. ^_^ |
22:56 | <zcorpan> | let's say you write your css and you want something to *not* change style because of some js library that changes styles of things, so you put !important |
23:33 | <annevk> | If people could reply to my IDNA email (you know who), that'd be great... I think for now I'll go with referencing IDNA 2003 and overriding the Unicode version as well as making it crystal clear IDNA 2008 did not obsolete IDNA 2003 for the purposes of the URL Standard... |