| 07:20 | <rniwa> | annevk: I gotta tell you upgrading custom elements is a mess :( |
| 07:26 | <annevk> | rniwa: not surprised really |
| 07:30 | <rniwa> | annevk: I filed a whole bunch of issues on the github if you didn't see |
| 07:31 | <rniwa> | annevk: I think https://github.com/w3c/webcomponents/issues/421 is the most fatal one |
| 07:31 | <rniwa> | with https://github.com/w3c/webcomponents/issues/419 coming after that |
| 07:31 | <rniwa> | (along with https://github.com/w3c/webcomponents/issues/420) |
| 07:33 | <annevk> | I just had breakfast |
| 07:33 | <rniwa> | annevk: no worries, just FYI'ing |
| 07:34 | <annevk> | I'll get to them today |
| 12:05 | <Ms2ger> | zcorpan, heyo |
| 12:05 | <zcorpan> | hi |
| 12:05 | <Ms2ger> | If you feel like it at some point, https://github.com/w3c/csswg-test/pull/1060 and https://github.com/w3c/csswg-test/pull/1061 |
| 12:06 | <annevk> | Can someone tell me where it is defined that new WebSocket("wss://example.com:80/test", { protocols:"test" }) throws? |
| 12:10 | <Ms2ger> | > If any of the values in protocols occur more than once or otherwise fail to match the requirements for elements that comprise the value of Sec-WebSocket-Protocol fields as defined by the WebSocket protocol specification, then throw a SyntaxError exception and abort these steps. [WSP] |
| 12:10 | <Ms2ger> | I guess? |
| 12:11 | <Ms2ger> | No idea why |
| 12:13 | <annevk> | Except that [WSP] defines it to be any kind of random value |
| 12:13 | <annevk> | As long as it meets the token production |
| 12:14 | <zcorpan> | annevk: step 4 or 5 of http://heycam.github.io/webidl/#es-sequence maybe? |
| 12:14 | <zcorpan> | the idl is [Constructor(DOMString url, optional (DOMString or sequence<DOMString>) protocols), Exposed=(Window,Worker)] |
| 12:14 | <zcorpan> | not dictionary |
| 12:15 | <annevk> | oooh doh |
| 12:15 | <Ms2ger> | Doh |
| 12:15 | <annevk> | Thanks |
| 12:16 | <Ms2ger> | Also, time to merge WSP back into HTML? |
| 12:16 | <annevk> | Ms2ger: see https://github.com/whatwg/fetch/issues/235 for some kind of intermediate solution |
| 12:17 | <annevk> | Ms2ger: I suppose we could put the entire protocol in Fetch, but ... |
| 12:17 | <annevk> | I'm working on a "monkey patch" solution at the moment, that replaces most of the client handshake section so that it shares all logic with Fetch |
| 12:18 | <annevk> | Solving the HSTS, Mixed Content, cookie, upgrade insecure requests, etc. problems |
| 12:18 | <Ms2ger> | Sounds sensible |
| 12:39 | <ondras> | 8 |
| 12:39 | <ondras> | oops sorry |
| 12:51 | <zcorpan> | someone with Edge want to test https://github.com/whatwg/html/issues/823 ? |
| 14:55 | <smaug____> | annevk: I'm a bit lost with https://github.com/w3c/webcomponents/issues/362 |
| 14:55 | <annevk> | smaug____: shoot |
| 14:55 | <smaug____> | if the notification is only about inserted / removed from a document, why we need any params? |
| 14:56 | <smaug____> | ownerDocument should always tell the document, and ancestor is easy to find, especially if there is something like nodeRoot or such |
| 14:57 | <annevk> | smaug____: you're right about ownerDocument, that's easy enough |
| 14:57 | <annevk> | smaug____: there's node.rootNode now, but how does that help crossing shadow tree boundaries? |
| 14:58 | <smaug____> | so what is newAncestor about? |
| 14:58 | <smaug____> | in the node to which some other node was added as a child? |
| 14:58 | <smaug____> | s/in// |
| 14:59 | <annevk> | smaug____: "insertion steps" used to get passed "newParent", when we realized we needed to notify descendants too we made that "newAncestor" |
| 15:00 | <annevk> | smaug____: it's the parent of the node that had its parent node change |
| 15:00 | <annevk> | smaug____: same for oldAncestor in the "removing steps" |
| 15:00 | <annevk> | smaug____: there might not be a reason to pass either to script though, but I'm fairly certain UAs expose these internally |
| 15:00 | <smaug____> | do we need to notify descendants about the node to which the subtree was added? |
| 15:01 | <nox> | Yes. |
| 15:01 | <smaug____> | why? |
| 15:01 | <nox> | Because there are things that must be done only when you are a child of newAncestor, and some you need to do when you are unbound from the tree. |
| 15:01 | <annevk> | nox: note that this conversation is about the custom elements API, not the internal API, although I'm still uncertain why they need to be different |
| 15:02 | <smaug____> | Gecko doesn't tell to descendants to which node a subtree root was added |
| 15:02 | <annevk> | smaug____: and removal? |
| 15:03 | <nox> | annevk: Oh. I don't know anything abotu custom elements so I'll just shut up. |
| 15:04 | <smaug____> | annevk: same there. subtree root gets param that it has now null parent node, and descendants effectively are just notified that their ancestor chain has got shorter (something got removed from a parent) |
| 15:05 | <annevk> | smaug____: I see, so maybe I should change the internal API |
| 15:06 | <annevk> | smaug____: so that "insertion steps" only get passed newParent for the "root" and not the descendants |
| 15:06 | <annevk> | smaug____: and the same for "removing steps" |
| 15:06 | <annevk> | smaug____: that would still argue for sometimes passing newParent/oldParent to connected/disconnected, no? When they're root |
| 15:09 | <smaug____> | thinking |
| 15:10 | <smaug____> | maybe newAncestor isn't that bad. One can always check if parentNode == newAncestor and that means we're at the top of the subtree |
| 15:11 | <annevk> | smaug____: the main problem is that it could leak a closed shadow tree, as I pointed out there |
| 15:13 | <annevk> | Hmm, maybe not? If something closed has something open attached, is it still perceived as closed all the way down from the closed tree's host? |
| 15:14 | <annevk> | Well, that matters and it matters whether closed means just closed from where it is hosted or also closed from everything the closed thing hosts... |
| 15:16 | <smaug____> | what if closed (A) has something closed (B) attached. that should still work since B can see A. Closed-ness hides things only from top(root)-down |
| 15:18 | <annevk> | Yeah, I guess there's no problem then with closedness |
| 15:23 | <annevk> | smaug____: updated the issue with your feedback |
| 15:32 | <smaug____> | is there some easy way to make github's commenting area to work sanely when there are some <tags>s in the text? |
| 15:38 | <Domenic> | zcorpan: https://github.com/whatwg/html/issues/823 updated, Edge strips |
| 15:39 | <annevk> | smaug____: use ` and ` to escape code |
| 15:39 | <annevk> | smaug____: I meant, wrap code in ` |
| 15:41 | <zcorpan> | Domenic: thanks. so currently 3 vs 1 |
| 15:42 | <zcorpan> | Presto also strips |
| 15:52 | <zcorpan> | annevk: any opinion what the "trim" step should be called after dropping trimming? "parse"? "resolve"? |
| 15:58 | <zcorpan> | possibly this algorithm should be rewritten to not use GOTO, but don't want to do that today |
| 15:59 | <annevk> | zcorpan: Parse or maybe "URL" seem good |
| 16:00 | <zcorpan> | i'll go with parse. the string can contain "URL=" which could make URL confusing. |
| 16:02 | <Ms2ger> | zcorpan, https://github.com/w3c/csswg-test/pull/1061 seems ready to merge |
| 16:03 | <zcorpan> | Ms2ger: thx done |
| 16:03 | <Ms2ger> | Thank you |
| 17:00 | <zcorpan> | down to 0 *participating* notifications... good time to call it a day and work on my snatch |
| 18:02 | annevk | created a public TODO document: https://gist.github.com/annevk/4a7b51b8669c0dca4c53 |
| 18:03 | <annevk> | Not entirely sure yet whether that's useful, but if anyone has feedback, most welcome |
| 18:38 | <TabAtkins> | MikeSmith, annevk: I've found it useful to add explainer sections to some of my specs for complicated bits, giving some explanation and examples of common usage. Flex and Grid both have them, for example. Would probably be useful in Fetch. |
| 19:34 | <zcorpan> | TabAtkins: re https://github.com/whatwg/html/issues/807#issuecomment-193405543 it's (for not-gigantic files) simpler than that; just click "edit", it seamlessly creates a fork and a new branch and gives you a "make a PR" button |
| 19:34 | <TabAtkins> | Ah, indeed. |
| 20:42 | <Jasper> | I often see URIs on the web which contain Unicode characters in them, which is wrong. I know the typical thing to do is to UTF-8-encode them and then urlencode on the results, but is there any specification for that? |
| 20:42 | <Jasper> | Or is the behavior of Firefox, e.g. more complicated? |
| 20:56 | <annevk> | Jasper: https://url.spec.whatwg.org/ |
| 20:57 | <Jasper> | I thought I had a cursory look at that and didn't find anything |
| 20:57 | Jasper | looks closer |
| 20:58 | <annevk> | Jasper: what you mentioned is approximately what happens for path and query components |
| 20:59 | <annevk> | Jasper: host has IDNA handling, fragment might leave things as-is atm |
| 20:59 | <annevk> | Jasper: URL parser defines the details |