00:23
<MikeSmith>
annevk, Domenic so, one interesting part of http://www.publickey1.jp/blog/15/html5whatwgw3c_tpac_2015.html is that it translates the statement Travis made at the TPAC Future of HTML session where he said that the Edge team references/refers to the WHATWG HTML spec when doing their work
00:23
<MikeSmith>
but it also says a bit more than what was actually minuted there
00:24
<MikeSmith>
it actually also says, "...so, the Edge team wishes the WHATWG had a patent policy"
00:25
<Domenic>
*very* interesting
00:26
<MikeSmith>
incidentally, just prior to all that, it mentions that there is a WHATWG CG but that it's not active, so therefore Microsoft isn't participating in it
00:28
<jgraham>
I'm pretty sure Travis did say that, even though it's not minuted, FWIW
00:28
<MikeSmith>
ok
00:29
<MikeSmith>
yeah Niino-san probably took very detailed notes
00:29
<MikeSmith>
he'ss a very careful guy
00:29
<MikeSmith>
(they guy who wrote that)
00:30
<MikeSmith>
and he's very widely read by a lot of people in the tech world here in Japan
00:30
<jgraham>
I particularly like Google translate rendering what I assume is "unconference format" as "Anne conference format"
00:31
<MikeSmith>
haha
00:31
<MikeSmith>
Google Translate is near totally worthless for translating Japanese
00:31
<MikeSmith>
in my experience
00:32
<MikeSmith>
anyway, just after that part it says, "So, because of the patent-policy issue and also because the WHATWG doesn't follow a consensus process, work on HTML at the W3C will continue
00:32
<jgraham>
Well… comapred to it being totally unintelligible, this is better. Obviously less good than actually understanding the Japanese though
00:33
<MikeSmith>
yeah
00:33
<MikeSmith>
so the next-to-last part mentions modularization and also says that some parts of the HTML spec that aren't needed can be dropped
00:34
<MikeSmith>
oh
00:35
<MikeSmith>
actually it doesn't say "some parts of the HTML spec that aren't needed" but more precisely it says, "some parts of HTML that don't need to be maintained"
00:36
<MikeSmith>
anyway, I guess by far the most interesting bit of the whole thing is that part that says "the Edge team wishes the WHATWG had a patent policy"
00:39
<jv_>
Just read HTML5 by Jeremy Keith and this IRC was referenced in the back of the book. Greetings.
00:40
<boogyman>
jv_: welcome
00:40
<MikeSmith>
jv_: howdy
00:41
<MikeSmith>
pretty cool that the channel is feature on a book cover
00:41
<MikeSmith>
even if it's just the back cover
00:41
<MikeSmith>
Jeremy++
08:34
annevk
wonders where smaug does not have sufficient access to GitHub stuff
08:35
<annevk>
MikeSmith: that is a pretty interesting read
08:35
<annevk>
MikeSmith: guess I left that session just when things got interesting
08:36
<annevk>
MikeSmith: the first thirty or so minutes were just a lot of words for "uhm, what should we do"
08:36
<annevk>
Which as someone pointed out to me, isn't that different from how those sessions have been going for the past decade or so
08:58
<yoav_>
annevk: Do you think we should wait on https://github.com/whatwg/dom/issues/119 in order to move forward with the feature detection outlines in https://github.com/whatwg/dom/pull/114 ?
08:58
<annevk>
yoav_: nah
08:58
<yoav_>
cool, that's what I thought
08:59
<yoav_>
I'll prepare a separate PR with `supported()`
09:02
<zcorpan>
have we decided on A vs B vs C?
09:04
<zcorpan>
i think i prefer A because it leaves classList alone and makes it obvious how to feature-check for something moving from like-classList to like-relList
09:05
<zcorpan>
i can take a stab at merging the DOMTokenLists
09:06
<yoav_>
zcorpan: I have no particular preference there, as I don't think it will make much of a difference
09:07
<yoav_>
It's something that developers shouldn't do, as it tell them nothing
09:16
<yoav>
zcorpan: how are mutual DOM/HTML spec changes done?
09:17
<zcorpan>
yoav: PR both i guess?
09:17
<yoav>
OK
09:20
<zcorpan>
in httparchive i only see http://www.gstatic.com/caja/5678/es53-taming-frame.opt.js?debug=1 containing "DOMSettableTokenList.prototype" but it was actually "TameDOMSettableTokenList.prototype"
09:26
<yoav>
so, it should be safe to simply add `value` to DOMTokenList?
09:27
<yoav>
zcorpan: or should we keep the prototype around?
09:29
<zcorpan>
i think we don't need DOMSettableTokenList around. but there is a possibility of course that pages set prototype.value on DOMTokenList and assume it does not affect DOMSettableTokenList. unlikely though
09:29
<yoav>
yeah, I agree that it's unlikely
09:32
<zcorpan>
all i can find is classList polyfills
09:37
<zcorpan>
annevk: "Yes, the names {{DOMTokenList}} and {{DOMSettableTokenList}}are unfortunate legacy mishaps." does this note still apply if they are merged?
09:50
<annevk>
zcorpan: yes
09:50
<annevk>
zcorpan: they're ordered sets, lists can contain duplicates
09:51
<zcorpan>
ok, it wasn't clear to me what the note was referring to
09:52
<zcorpan>
hmm my bikeshed isn't curling the ' in <var>options</var>'
09:53
<annevk>
zcorpan: update?
09:54
<zcorpan>
annevk: yeah just did. looks like it fixed it
10:05
<annevk>
zcorpan: ta
10:22
<zcorpan>
yoav: ok i've PR-ed dom and html now
11:11
<yoav>
zcorpan: cool!
12:22
<nox>
annevk: Is it well-known that replaceChild is badly-specified?
12:23
<philipj>
smaug____: with the removal of SVGSVGElement.currentView/useCurrentView, do you envision some other stuff also being ripped out, like #svgView(...)?
12:23
<philipj>
davve` is poking at this
12:25
<annevk>
nox: not to me
12:25
<nox>
annevk: if node == child, how do we remove child once node was adopted?
12:26
<smaug____>
philipj: hmm
12:27
<annevk>
nox: I guess it needs a non-null parent check, good find
12:27
<nox>
annevk: I think we can just adopt only if node != child.
12:27
<smaug____>
philipj: ask heycam?
12:27
<annevk>
nox: fair
12:27
<annevk>
nox: do you want to patch or shall I?
12:28
<nox>
annevk: Anyway, just tried that in Servo and WPT now timeouts even if I make a dummy test suite with 0 tests. :) Will look into it and make a patch in the end. :)
12:28
nox
is slowly driven insane by this.
12:28
<annevk>
nox: interesting
12:29
<annevk>
nox: (not the part about you going insane)
12:29
<nox>
annevk: Servo just doesn't mutate anything in the tree if node == child.
12:29
<nox>
It took me two days to realise that was why the range tests related to replaceChild were failing.
12:29
<nox>
So I remove that shortcut, and Servo now panics, trying to remove 'child' which doesn't have a parent anymore.
12:29
<smaug____>
curious, (I wasn't aware of https://wicg.github.io/BackgroundSync/spec/ so started to think this) is there some comprehensive test suite for service workers, or will we end up with very different kinds of service workers in different UAs when new features are being added
12:30
<nox>
So I conditionally adopt 'node' only if it is different than 'child', and now everything timeouts.
12:30
nox
cries.
12:30
<smaug____>
last time I tried to do something with SW it was hard because blink implemented features Foo from the spec and Gecko features Bar
12:31
<annevk>
smaug____: I think WPT has tests
12:31
<smaug____>
luckily the spec has some redundancy (duplicated stuff) and FooBar worked in my case
12:31
<annevk>
smaug____: btw, yesterday you mentioned not being able to edit the title on a GitHub issue, where did that happen? I might be able to give you the relevant permissions (if that is indeed the problem)
12:32
<annevk>
nox: :-(
12:32
<smaug____>
it was webperf, but I think it was some network issue
12:32
<smaug____>
I closed that bug and just opened a new one
12:32
<annevk>
Oh, don't really control that, MikeSmith can probably give you permissions there
12:36
<smaug____>
oh, now I recall, I should file yet another bug. Resource hints spec doesn't hint what dns-prefetch should actually do
12:36
<smaug____>
all it says "The dns-prefetch relation is used to indicate an origin"
12:37
<smaug____>
oh, hmm, maybe it is fine after all
12:38
<annevk>
I've been working with Ilya on getting some of Resource Hints better defined
12:38
<annevk>
Haven't really looked at everything, but e.g., preconnect now hooks into primitives in Fetch
12:38
<smaug____>
preconnect case does talk about DNS lookup
12:39
<smaug____>
but dns-prefetch doesn't
12:40
<annevk>
Oh yeah, the dns-prefetch definition is pretty vague
12:40
<annevk>
I wonder when you want to use dns-prefetch but not preconnect
12:43
<smaug____>
perhaps dns-prefetch more and earlier, and then preconnect when mouse is moved over some link or so
12:49
<MikeSmith>
smaug____: lemme know if I need to set you up with perms for something
12:50
<smaug____>
nah, it was probably me doing something silly
12:50
<MikeSmith>
k
12:51
<smaug____>
(or even more likely some network issues)
15:24
<nox>
annevk: http://logs.glob.uno/?c=mozilla%23servo#c307273 What do you think of this?
15:25
<nox>
annevk: Is that a spec bug, or an unfortunate thing we can't do anything about, and piggy-backing mutation observers to update childNodes was a bid idea?
15:26
<nox>
Mmmh wait, no never mind, that's still wrong.
15:30
<yoav>
annevk: Thoughts on https://github.com/w3c/preload/issues/37 ?
16:00
<annevk>
yoav: *sigh*
16:00
<annevk>
yoav: each time this thing comes up it takes me so long to wrap my head around all of it
16:01
<yoav>
I can relate :)
16:01
<annevk>
yoav: so "as" is parallel to "type" precisely because we don't want it to interfere with CSP
16:02
<annevk>
yoav: so I think CSP should just be connect-src
16:02
<annevk>
yoav: having said that, we should really define preload in terms of Fetch, including the preload store and such
16:02
<annevk>
yoav: has that already happened?
16:02
<yoav>
But then users need to define every domain/path twice
16:02
<annevk>
yoav: the last time I spoke with igrigorik that was the plan
16:04
<yoav>
I don't think that preload was already defined in terms of Fetch
16:04
<annevk>
yoav: okay, so if the preload store has a strong tie between the request url and the request type/as, perhaps you can use the "as" value for CSP
16:04
<annevk>
yoav: right, the plan was to define it in terms of Fetch, so it would be more clear what the various security properties would be and how we could keep things secure
16:04
<annevk>
nox: I'm going with "never mind", if you still want me to look, let me know!
16:05
<nox>
annevk: Never mind, but conditionally removing is wrong in replaceChild. The conditional operation if node != child should be the adoption.
16:05
<nox>
annevk: That's why my code crashed.
16:05
<annevk>
nox: okay, that's you suggested earlier today too, right?
16:05
<nox>
If you conditionally remove after adopting, mutation observers will see the original node being removed twice and added once. :)
16:06
<yoav>
annevk: I want to get mkwst's blessing, but I think setting the context based on type would be best, avoiding the user to redefine everything twice, while not creating CSP holes
16:06
<annevk>
yoav: for that the "preload store" needs to have a strong tie between things
16:07
<annevk>
yoav: I went over this with igrigorik a while back
16:08
<yoav>
annevk: OK. I think that the preload store is still in the "to be defined" stage
16:09
<annevk>
yoav: I summarized my position in the issue
16:09
<yoav>
annevk: Thanks! :)
16:10
<annevk>
nox: I'd appreciate a PR, but let me know if you want me to do it
16:10
<nox>
annevk: Will do.
16:10
<nox>
annevk: Too fixated on making my code work first. :)
16:10
<annevk>
fair
16:24
<Ms2ger>
Anyone know websockets?
16:25
<Ms2ger>
If a server sends malformed utf-8 in a text frame, what should the event's data attribute return?
16:26
<caitp>
s/malformed sequence/\uFFFD/?
16:26
<Ms2ger>
Eh
16:26
Ms2ger
files a wpt issue
16:26
<caitp>
i'm just guessing, I have no idea
16:27
<caitp>
I expect some implementations truncate the text, some replace with a ?, or \uFFFD, or something else?
16:27
<caitp>
never seen anyone really use it
16:27
<Ms2ger>
https://github.com/w3c/web-platform-tests/issues/2378
16:28
<smaug____>
https://tools.ietf.org/html/rfc6455#section-8.1
16:30
<smaug____>
Ms2ger: writing WebSocket impl for Servo?
16:31
<Ms2ger>
No, reviewing an API change in the library we use
16:32
<gsnedders>
line-height is the most stupidly defined CSS property ever <_<
16:32
<gsnedders>
(I realise I voice this on a near weekly basis. It keeps on biting.)
16:35
<smaug____>
igrigorik: do you have some good tools for testing Resource Hints implementations?
19:43
<smaug____>
anyone want to review a wpt testchange?
19:43
<smaug____>
MutationObserver stuff
20:39
<nox>
annevk: Mmmh. I still wonder whether it makes more sense to conditionally adopt `node` or to conditionally remove `child`. What do you think?
20:40
<nox>
If we conditionally adopt `node`, there should be a single mutation record queued, with addedNodes = removedNodes = [node].
20:41
<nox>
If we conditionally remove `child`, there should be two mutation records queued, the first with removedNodes = [node], the other with addedNodes = [child].
20:42
<annevk>
nox: what do implementations do?
20:42
<nox>
annevk: No clue.
20:43
<nox>
annevk: You're the expert. :P
20:43
<annevk>
nox: I'd probably write a test first
20:43
<annevk>
nox: but not now
20:43
<nox>
annevk: There are tests. :'(
20:43
<nox>
Well, for ranges.
20:43
<nox>
But there is a comment that makes me cry. Let me find it.
20:44
<annevk>
Hmm I gotta go, sorry, will look tomorrow
21:09
<nox>
annevk: Safari queues 0 records, Firefox 2, my patch 1.
21:10
<nox>
Sorry.
21:13
<caitp->
is that good or bad
21:13
<nox>
caitp-: Bad, I would say.
21:14
<caitp->
oh :(
21:14
<nox>
I think Safari returns early when replacing a child by itself (I wonder if it passes the related Range tests then).
21:14
<nox>
And Firefox queues a removal, and then a replacement of the removed thing by itself.
21:14
<nox>
So (you see the thing being removed twice.)
21:14
<nox>
I can't parenthesis.
21:36
<nox>
Chrome says 0 too. So that must be in WebKit.
21:37
<caitp->
i'm still not even sure what you're talking about
21:45
<nox>
caitp-: I'm talking about the behaviour of https://dom.spec.whatwg.org/#concept-node-replace with regard to the queued mutation records for all the mutations done by the algorithm.
21:45
<nox>
caitp-: That's for annevk's backlog. :)
21:46
<nox>
https://github.com/WebKit/webkit/blob/master/Source/WebCore/dom/ContainerNode.cpp#L399-L400 WebKit shortcuts everything if node == child, even the sanity check done the method, that definitely doesn't seem the way to go.
21:47
<caitp->
as usual, the answer is to do the wrong thing faster than anyone else
21:50
<nox>
caitp-: Ah ah.
23:20
<nox>
annevk: https://github.com/whatwg/dom/pull/121#issue-119109540