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 "&hellip;" get escaped when I serialize. so it become "&amp;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 &hellip;. 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...