00:15
<heycam>
TabAtkins, thanks, fixed the broken links
00:18
<TabAtkins>
zcorpan: No, that example shouldn't be valid. That falls into the "we know declaratively that it'll stamp something out there" case.
00:19
<TabAtkins>
I think in those cases, the content model should just be strictly transparent?
06:51
<gsnedders>
http://slashdot.org/comments.pl?sid=3912831&threshold=-1&commentsort=0&mode=nested&pid=44127847 — dbaron's desk isn't a good response to that, is it? :P
08:14
<zcorpan>
hmm, the only case-sensitive css properties are variables, right?
08:14
<zcorpan>
and they are exposed in a separate interface, so i can pretend that all properties are insensitive
08:18
<SimonSapin>
zcorpan: yes
08:18
<zcorpan>
thanks
08:19
<SimonSapin>
if we add anything case-sensitive in the future, it will be because it’s author-defined and thus probably in a separate interface like variables
08:20
<zcorpan>
are properties normalized to lowercase somewhere?
08:21
Ms2ger
waves hands
08:26
MikeSmith
wonders if Ms2ger is waving his own hands, or somebody else's hands
08:26
<Ms2ger>
MikeSmith, yours
08:27
<MikeSmith>
damn that's where they went
09:33
<annevk>
FWIW, I started patching https://github.com/annevk/url again
09:35
<annevk>
I hope to get a bit further this time around and work on the test suite through my own JavaScript implementation of the specification. I realize that makes me the single point of failure for three pieces that really ought to be done by separate people, but nobody else seems to care about fixing URLs... Which is surprising in my mind, but I'm sure there's a reasonable explanation.
09:36
<annevk>
The other goal, as mentioned already, is to make parsing idempotent. That we lost that property is bad and we should claim it back.
11:35
<matjas>
annevk++
11:51
<SimonSapin>
zcorpan: implementations probably normalize to lower-case at some point, but not sure what you mean
11:51
<zcorpan>
SimonSapin: i mean in the specs, if i can assume that they are lowercase for the purpose of CSSOM
11:52
<SimonSapin>
I seem to recall "If there is a property that is a ASCII case-insensitive match for the parameter, …" text in CSSOM
11:54
<zcorpan>
yeah, i've just changed it to fold to lowercase and do a case-sensitive compare. i added "A supported CSS property must be in its lowercase form for the purpose of comparisons this specification."
11:55
<zcorpan>
seems like a saner model to store them in lowercase
11:56
<Ms2ger>
Or as an enum
11:56
<SimonSapin>
implementation can do string interning or something, the spec shouldn’t have to be aware of that
11:57
<zcorpan>
sure, i mean model for the spec
11:58
<zcorpan>
either the spec preserves case in its "declarations" and does case-insensitive compares last minute, or it folds stuff to lowercase at the start and does case-sensitive comparisons
11:58
<zcorpan>
i prefer the latter
11:58
<SimonSapin>
you still need to fold parameters to the various methods
11:58
<zcorpan>
yep
14:06
<SimonSapin>
what does the html5lib serializer do with attribute order?
14:07
<SimonSapin>
I’m getting a huge diff in the generated version of css-syntax because I get a different attribute order than TabAtkins
14:24
<zcorpan>
i think that might have changed relatively recently in html5lib
14:25
<zcorpan>
so make sure you have the same version, i guess
14:25
<SimonSapin>
I hope it’s deterministic, within a html5lib version
14:26
<zcorpan>
probably is
14:26
<zcorpan>
though i haven't looked at the code, but i've never noticed them changing for me :-)
14:26
<SimonSapin>
TabAtkins: are you using 1.0b2 for what’s is the CSSWG repo?
14:48
<GPHemsley>
SimonSapin: Attribute order in html5lib is a recent issue that we had with anolis. Basically, if the tree builder doesn't maintain attribute order, it's non-deterministic. (gsnedders could probably explain more.)
14:50
<SimonSapin>
GPHemsley: Tab’s processor is using lxml I think
14:50
<SimonSapin>
couldn’t we sort on output?
14:59
<dglazkov>
good morning, Whatwg!
15:02
<gsnedders>
SimonSapin: It's whatever order the tree API stores it in, basically. Which in lxml's case is explicitly undefined.
15:02
<gsnedders>
SimonSapin: So there's no guarantee of stability.
15:03
<SimonSapin>
that sucks
15:03
<gsnedders>
SimonSapin: There's a alphabetical_attributes=True|False option on the serializer which will reorder all attributes into alphabetical order
15:03
<SimonSapin>
ah, I guess that’s what I want
15:03
<SimonSapin>
what does anolis do?
15:04
<gsnedders>
SimonSapin: We can't blindingly reorder it, otherwise people who want things to roundtrip without changing order, using a tree API that preserves order, are screwed over by us reordering it.
15:04
<SimonSapin>
yeah, I understand why it’s not the default
15:04
<gsnedders>
Blame fantasai for screaming at me to change it for years. :P
15:05
<gsnedders>
But yeah, we're now as deterministic as the underlying storage. Which makes sense, really.
15:08
<SimonSapin>
so what tree builders preserve the order?
15:08
<gsnedders>
lxml does currently, although it's explicitly defined as being undefined.
15:09
<SimonSapin>
ew
15:09
<gsnedders>
Blame fantasai.
15:09
<gsnedders>
Her fault.
15:09
<SimonSapin>
for lxml?
15:09
<gsnedders>
No, for wanting the behaviour in html5lib despite the underlying behaviour being undefined
15:10
<SimonSapin>
the alternative being always sorting?
15:10
<gsnedders>
Ja.
15:10
<SimonSapin>
ok
15:10
<gsnedders>
This is what we previously did
15:10
<SimonSapin>
if the option to sort is still there, that’s fine
15:10
<SimonSapin>
I’m ranting at lxml
15:11
<gsnedders>
I think the problem for Stefan is that libxml2 has it as undefined, so he can't guarantee anything that doesn't.
15:11
<SimonSapin>
so I’m ranting at libxml2
15:11
<gsnedders>
Eventually we'll find out where you're really ranting :P
15:12
<SimonSapin>
hehe
15:13
Ms2ger
wants a useful tree api in python at some point
15:14
<SimonSapin>
Ms2ger: define useful
15:15
<Ms2ger>
One that preserves order for attributes and doesn't do .tail, say
15:15
<SimonSapin>
I’m considering making a new tree api for cssselect (or its successor)
15:15
<SimonSapin>
so text nodes instead?
15:15
<Ms2ger>
Yeah
15:15
<SimonSapin>
why?
15:16
<Ms2ger>
Say you have <a>x<b>y</b>z</a>
15:16
<Ms2ger>
How do you remove the b element?
15:16
<SimonSapin>
you have to append b.tail to a.text, which is annoying
15:17
<Ms2ger>
Right
15:17
<Ms2ger>
And how do you do it if a.text is None?
15:17
<SimonSapin>
more annoyance
15:18
<SimonSapin>
although (a.text or '') is not so bad
16:40
<TabAtkins>
SimonSapin: No, I'm using 0.95, because that's what version it was on when I last pulled.
16:41
<TabAtkins>
SimonSapin: I'm fine with doing alphabetical_attributes if that's supported on my version, too.
16:43
<TabAtkins>
SimonSapin: Also, I'd appreciate a new tree API that doesn't require me to fuck around with .tail.
16:43
<TabAtkins>
I understand the reasons for lxml's design, but that doesn't make it any less annoying for editing HTML.
16:49
<SimonSapin>
TabAtkins: do you want to stay on 0.95? lxml’s undefined-but-happens-to-preserve-order with html5lib 1.0 is probably good enough
16:50
<TabAtkins>
SimonSapin: Assuming that alphabetic_attributes works in .95, I don't see why we shouldn't just impose a deterministic ordering on attributes.
16:50
<SimonSapin>
I only care about getting the same output on different systems with the same input
16:51
<TabAtkins>
Right.
16:51
<SimonSapin>
why stay with 0.95, though ?
16:51
<TabAtkins>
Because that means I don't have to try and figure out why pip upgrade was failing?
16:52
<SimonSapin>
oh :p
16:59
<SimonSapin>
TabAtkins: just use sudo it’ll be fine ;)
17:00
<TabAtkins>
...yeah, that was probably my issue.
17:00
<SimonSapin>
actually
17:00
<SimonSapin>
sudo pip uninstall stuff
17:00
<SimonSapin>
then pip install --user
17:00
<SimonSapin>
should be saner
17:01
<TabAtkins>
Cool, done.
17:01
<TabAtkins>
Where did this get dropped into?
17:02
<SimonSapin>
~/.local
17:04
<SimonSapin>
TabAtkins: ok. Pull css-syntax, regenerate and see if the output changes
17:05
<TabAtkins>
It did, yes.
17:05
<SimonSapin>
:/
17:06
<TabAtkins>
All attribute order churn, yeah.
17:06
<SimonSapin>
on 1.0b2 ?
17:06
<TabAtkins>
So, I'm not seeing an alphabetical option in htmlserializer
17:06
<TabAtkins>
Yeah.
18:01
<TabAtkins>
SimonSapin: Do you see an alphabetic attribute option in html5lib? Or is it supposed to be in lxml or something?
18:56
<Hixie_>
ok all that remains is element definition prose, and examples
19:19
<annevk>
Hixie_: I guess you noticed already it'll be commit 8000?
19:27
<Hixie_>
annevk: indeed
19:27
<Hixie_>
annevk: that's one reason i'm doing it as a big checkin :-)
19:27
<Hixie_>
(lamest reason ever)
19:27
<Hixie_>
(also, not the main reason)
19:28
<Hixie_>
(but it did stop me from making a typo fix separately first)
19:34
<tantek>
Hixie, that is pretty lame. You're not a numerologist.
19:34
<tantek>
besides, base 10? I mean c'mon. ;)
19:39
<TabAtkins>
tantek: Back-compat forces us to use base 10.
20:15
<JimJibber>
Anyone know why The dizzie rascal set on the stage version is blanked, but the same set is on the BBC 3 stream?
20:56
<Hixie_>
TabAtkins: oh i have no superstitions, it's just to make it easier to remember which checkin was 8000 :-)
21:41
<Hixie_>
hey does cloneNode() default to true or not?
21:41
<Hixie_>
spec says true, chrome seems to say false?
21:47
<Hixie_>
http://www.whatwg.org/specs/web-apps/current-work/#the-template-element
22:18
<gsnedders>
TabAtkins: html5lib 1.0b2 has a alphabetical_attribute option on html5lib.serialize and html5lib.serializer.HTMLSerializer
22:45
<Hixie_>
rafaelw: https://www.w3.org/Bugs/Public/show_bug.cgi?id=17930 http://html5.org/tools/web-apps-tracker?from=7999&to=8000
22:46
<rafaelw>
Excellent. On my todo list to review.
22:46
<rafaelw>
Thanks
22:47
<Hixie_>
cool
22:55
<TabAtkins>
gsnedders: Ah, I'm looking at the google code repo, and it's not showing it. I presume your repo is elsewhere now.
22:57
<gsnedders>
TabAtkins: As Google Code says on the home page, in massive letters, we have moved.
22:58
<TabAtkins>
If I were to click to the homepage, rather than reading the page I landed at which showed the exact class I was interested in, I'd have seen that. ^_^
23:02
<gsnedders>
I should totally get around to booking hotel in SF. But that means decided when I'm going there (from San Jose). Decisions, man, decisions!
23:03
<gsnedders>
I guess it probably depends on who wants to meet up down around there.
23:03
<Hixie_>
so the next thing to fix is the parser's assumption in the html section that we're not in a foreign section (or that if we are, that the tokens it's generating are going to match html nodes, not foreign ones)
23:07
<TabAtkins>
gsnedders: Anyway, thanks for adding the option. Using it now.