| 00:41 | <MikeSmith> | TabAtkins: the XML-disallows-<-in-attr-values things causes problems in Bikeshed? |
| 00:41 | <MikeSmith> | or somewhere else? |
| 00:41 | <TabAtkins> | No, it causes problems in *my head* because I was editting WebIDL's index.xml file and wtf |
| 00:42 | <MikeSmith> | ah |
| 00:42 | <TabAtkins> | Bikeshed doesn't go anywhere near XML. |
| 00:42 | <MikeSmith> | count me relieved |
| 05:42 | <annevk> | krijn: hey sorry, I totally forget, going to set up irc-logs.html5.org now |
| 05:42 | <annevk> | forgot, even |
| 05:43 | <krijn> | Thanks! Haven't had time myself either though |
| 05:44 | <annevk> | krijn: okay, it's added to your account, might take a couple minutes |
| 05:44 | <annevk> | krijn: you'll have to add HSTS headers yourself btw |
| 06:56 | <annevk> | hsivonen: we got some PRs formalizing the HTML parser language; is that something you have time for to look through? |
| 06:56 | <annevk> | hsivonen: https://github.com/whatwg/html/pull/993 and https://github.com/whatwg/html/pull/994 |
| 06:57 | <annevk> | nox: might also be of interest to you? Forgot if you wrote an HTML parser or not |
| 06:58 | <nox> | annevk: I maintain h5e with SimonSapin. |
| 07:20 | <gsnedders> | annevk: yay |
| 07:20 | gsnedders | remembers writing to the mailing list about this ages ago |
| 08:18 | <mkwst> | Domenic: I assume you're sleeping, right? :) |
| 08:19 | <annevk> | mkwst: if this is about the PR, I can probably do the final review |
| 08:19 | <mkwst> | annevk: It's about CSP hooks for ECMAScript. |
| 08:19 | <mkwst> | https://github.com/whatwg/html/issues/271#issuecomment-198084014 |
| 08:20 | <annevk> | mkwst: something unclear? |
| 08:21 | <mkwst> | I just don't know the relationship between HTML concepts and ECMAScript concepts. |
| 08:21 | <mkwst> | Is a "realm" a settings object? |
| 08:21 | <mkwst> | Or a global object? |
| 08:21 | <annevk> | mkwst: they're 1:1 |
| 08:21 | <annevk> | mkwst: those are also 1:1 |
| 08:22 | <annevk> | mkwst: https://html.spec.whatwg.org/multipage/webappapis.html#global-object |
| 08:24 | <mkwst> | The way I read that, an environment settings object has a realm. I'm missing the way to get from a realm to its settings object. |
| 08:24 | <mkwst> | Does a realm have a "relevant settings object" or something similar? |
| 08:24 | <mkwst> | Oh. `[[HostDefined]]`? |
| 08:27 | <annevk> | mkwst: yeah |
| 08:27 | <annevk> | mkwst: I recommend using the terms HTML defines, in this case, "the Realm's settings object" |
| 08:27 | <mkwst> | Yup. I see that now. Thanks for the link! |
| 08:34 | <mkwst> | annevk: If you have a second for another n00b ECMA question: |
| 08:35 | <annevk> | mkwst: sure |
| 08:35 | <mkwst> | Given spec text like "Perform ? HostEnsureCanCompileStrings(the current Realm Record, evalRealm).", what is the expected implementation? |
| 08:35 | <mkwst> | return abruptly" |
| 08:35 | <mkwst> | ? |
| 08:35 | <mkwst> | return normally with some value? |
| 08:36 | <annevk> | mkwst: that means you can throw or just return |
| 08:36 | <annevk> | mkwst: if you throw it'll stop at that step basically |
| 08:36 | <annevk> | mkwst: and rethrow the exception |
| 08:37 | <annevk> | mkwst: if you return it'll proceed to the next step |
| 08:37 | <mkwst> | Ok. I think I understand, thanks! |
| 08:38 | <annevk> | If forbidden, then throw a ... exception. |
| 08:38 | <annevk> | Otherwise, then return. |
| 08:38 | <annevk> | That could also be just "Return." I suppose |
| 08:39 | <annevk> | More bikeshed, you don't need the second step, just the throw step |
| 09:00 | <zcorpan> | is it weird for unsigned long to be nullable? (input.selectionStart) |
| 09:07 | <mkwst> | annevk: Is https://github.com/w3c/webappsec-csp/pull/66 more or less reasonable? If so, I'll put together an HTML patch that wires up an implementation of HostEnsureCanCompileStrings to the new method defined in CSP. |
| 09:07 | <annevk> | zcorpan: a bit, cannot just return 0? |
| 09:08 | <zcorpan> | annevk: that doesn't distinguish it from when it applies. -1 maybe? |
| 09:08 | <annevk> | mkwst: I think you can omit step 3 |
| 09:08 | <annevk> | mkwst: normally is not really a thing |
| 09:08 | <mkwst> | Ok. The language in ECMA262 made it sound like a thing. |
| 09:09 | <mkwst> | I'll whip up an HTML patch, then. Thanks. |
| 09:09 | <annevk> | mkwst: a normal completion is, but don't think that's needed hete |
| 09:10 | <annevk> | here |
| 09:10 | <annevk> | zcorpan: that would not be unsigned |
| 09:10 | <zcorpan> | annevk: right so i'd change it to long |
| 09:11 | <zcorpan> | maybe long long while at it? |
| 09:11 | <annevk> | zcorpan: not sure if it matters enough to change types for, can't developers use the type attribute instead? |
| 09:12 | <zcorpan> | annevk: changing the type seems trivial that can be changed at the same time as not throwing an exception on getting |
| 09:14 | <annevk> | I guess it'd be best to discuss with an implementer |
| 09:15 | <annevk> | Seems unnecessary to me, but I don't care strongly |
| 09:18 | <Ms2ger> | zcorpan, -1 is a horrible sentinel value, though |
| 09:21 | <zcorpan> | there's also that setting it forwards to setSelectionRange whose arguments are unsigned long |
| 12:42 | <Domenic> | -1 is used as a sentinel for HTMLProgressElement |
| 12:42 | <Domenic> | A React dev recently contacted me about cases where there's a lack of mutable property <-> attribute correspondence; I think <progress> is one of them |
| 12:43 | <Domenic> | I told him to put together a list and post an issue so hopefully we'll get an exhaustive list soon |
| 12:43 | <Domenic> | Maybe that is what this is discussing I dunno I went to IRC first after waking up instead of email |
| 16:28 | <Domenic> | TabAtkins: no link type for pseudo-classes it seems? just use dfn? that's what selectors4 seems to do |
| 16:28 | <TabAtkins> | Domenic: They're type=selector. Bikeshed has some CSS-specific type-detection if there's no type manually specified. |
| 16:28 | <TabAtkins> | (In other words, the rule "a dfn without a type is automatically type=dfn" is not *strictly* true.) |
| 16:29 | <TabAtkins> | (This is well-documented in the <dfn> docs, tho.) |
| 16:30 | <Domenic> | TabAtkins: ok. When I try to add an external anchor that is type: selector, and reference it using '':defined'', it links but doesn't get the fancy curly quotes around it |
| 16:31 | <TabAtkins> | Those come from the stylesheet; they're generated content. |
| 16:32 | <TabAtkins> | Y'all's stylesheet doesn't add it. |
| 16:32 | <Domenic> | ah ok cool |
| 16:33 | <Domenic> | annevk: do you prefer markdown style lists in DOM, or <li><p>, or <li>? Omit closing tags I assume, if the latter? |
| 16:34 | <annevk> | Domenic: <li><p>, it's a bit inconsistent now though |
| 16:34 | <Domenic> | annevk: sounds good |
| 16:34 | <annevk> | Domenic: it's pretty much the same style as HTML, except I keep inline elements unwrapped |
| 16:35 | <Domenic> | annevk: "unwrapped"? |
| 16:35 | <annevk> | Domenic: and I omit closing tags, though sometimes not since I'm getting used to editing HTML... |
| 16:35 | <annevk> | Domenic: without newlines inside |
| 16:35 | <Domenic> | hmm ok |
| 16:35 | <annevk> | Domenic: makes it much easier to search for important terms if you don't have to use \s+ all the time |
| 16:35 | <Domenic> | yeah fair |
| 16:44 | <Domenic> | TabAtkins: is there a way for anchors to provide alternate linking texts? https://github.com/tabatkins/bikeshed/blob/master/docs/definitions-autolinks.md#providing-custom-definitions seems to imply no |
| 16:47 | <annevk> | Hmm, so the reason service workers exposing client closure is okay, is because they don't use message ports: https://lists.w3.org/Archives/Public/public-whatwg-archive/2013Oct/0004.html |
| 16:48 | <annevk> | MessagePort is both super nice and super nasty |
| 16:48 | <TabAtkins> | Domenic: Provide multiple text: values under a single url:. |
| 16:48 | <Domenic> | TabAtkins: ah right of course, thanks |
| 17:25 | <Domenic> | annevk: hmm, cloning purposefully doesn't go through append an attribute, i.e. purposefully doesn't trigger mutation observers or similar? I wonder if it should trigger attributeChangedCallback... |
| 17:25 | <Domenic> | it seems like it should |
| 17:40 | <annevk> | Domenic: are you sure that's purposeful? |
| 17:40 | <Domenic> | annevk: not sure. Will probably be a thing to investigate after we finish this initial PR |
| 17:41 | <Domenic> | I guess it might not be observable currently |
| 17:41 | <Domenic> | since you can't run code during cloning |
| 17:41 | <Domenic> | so you can't set up a mutation observer or mutation event listener on the new element |
| 17:42 | <annevk> | I think Hixie_ did at some point have feedback that it needed to be atomic |
| 17:42 | <annevk> | As if the new element had all the attributes at once, just like the parser, but I've never really been able to figure out why |
| 17:45 | <Domenic> | annevk: OK I think it's just a wording bug actually. It says "Append copyAttribute to copy’s attribute list." But "Append" links to "append an attribute" which does the list-appending itself, plus the mutation record stuff |
| 17:45 | <Domenic> | So I'll just remove "'s attribute lits" |
| 17:46 | <Hixie_> | there's elements that do different things when their attributes are set vs when they are created |
| 17:46 | <Hixie_> | e.g. look at the crazy shit form elements do |
| 17:46 | <annevk> | Hixie_: ah, okay, I'll study those at some point |
| 17:47 | <Hixie_> | or img, e.g. consider what happens if you set src then set srcset then set crossorigin |
| 17:47 | <Hixie_> | vs setting them all at once |
| 17:47 | <Hixie_> | maybe img defers the load enough that it's not an issue |
| 17:47 | <Hixie_> | but in principle you see what i mean |
| 17:47 | <Hixie_> | i forget the details of which ones do it which way |
| 17:48 | <annevk> | Yeah, it's understandable and browsers do have an "allAttributesSetCallback" |
| 17:48 | <annevk> | So they can have created weirdness |
| 18:12 | <wanderview> | Domenic: annevk: does each document loaded in a window get a new environment settings object? so if doc 1 navigates to doc 2 in the same window, they get separate environment settings objects? |
| 18:13 | <annevk> | wanderview: no |
| 18:13 | <annevk> | wanderview: settings objects are 1:1 with globals |
| 18:14 | <wanderview> | and globals aren't created for each document? |
| 18:14 | <Domenic> | wanderview: I recently tried to clarify those things a bit: https://html.spec.whatwg.org/multipage/webappapis.html#global-object |
| 18:14 | <Domenic> | wanderview: globals are not 1:1 with documents, per the second note at https://html.spec.whatwg.org/multipage/browsers.html#browsing-context |
| 18:14 | <annevk> | wanderview: they mostly are, maybe you meant something else with window? Browsing context? |
| 18:16 | <wanderview> | I guess I am wondering if doc 1 navigates to doc 2 within a window... do you get a new browsing context |
| 18:16 | <wanderview> | the spec seems to say "if the browser is configured to" do that, then yes |
| 18:16 | <Domenic> | yeah, unless doc1 was the initial about:blank document |
| 18:16 | <Domenic> | oh wait |
| 18:17 | <Domenic> | you said browsing context not global |
| 18:17 | <Domenic> | so browsing context basically represents "a tab" |
| 18:17 | <Domenic> | it lives for a long time |
| 18:17 | <Domenic> | it's what things like session history and such are associated with |
| 18:17 | <wanderview> | well I really care about global... but I thought you said global was 1:1 to browsing context |
| 18:17 | <Domenic> | ah, no, sorry if we gave you that impression |
| 18:18 | <Domenic> | the answer to "do you get a new global" is "yes, except for the initial about:blank navigation" |
| 18:18 | <wanderview> | maybe I should just ask my real question |
| 18:18 | <wanderview> | this part of the SW spec: https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#dfn-service-worker-client-id |
| 18:18 | <wanderview> | says to create a new unique value when the environment settings objects is created |
| 18:18 | <jwalden> | "Although typically objects cannot be accessed across origins, the web platform would not be true to itself if it did not have some legacy exceptions to that rule that the web depends upon." lol |
| 18:18 | <wanderview> | wtf does that mean for a window where you are navigating between documents |
| 18:19 | <Domenic> | wanderview: it means that on navigation, unless it is navigation from the initial about:blank, a new unique value/environment settings object will be created |
| 18:19 | <wanderview> | ok |
| 18:19 | <wanderview> | Domenic: thanks! |
| 18:19 | <Domenic> | \o/ |
| 18:20 | <Domenic> | i personally put the point at which i learned about the non-1:1ness of windows and documents as the point where my life started down a very different path |
| 18:21 | <wanderview> | Domenic: like the movie Pi? |
| 18:22 | <Domenic> | hmm, haven't seen that one |
| 18:25 | <wanderview> | http://www.imdb.com/title/tt0138704/?ref_=fn_al_tt_1 |
| 18:34 | <jwalden> | "Although WindowProxy is named as a "proxy", it does not do polymorphic dispatch on its target's internal methods as a real proxy would, due to a desire to reuse machinery between WindowProxy and Location objects. As long as the Window object remains an ordinary object this is unobservable and can be implemented either way." |
| 18:34 | <jwalden> | annevk: ^ what exactly is meant by "proxy" and "real proxy" and "as a real proxy would"? |
| 18:36 | <annevk> | jwalden: a "real" proxy supposedly would invoke _O_.[[GetPrototypeOf]] |
| 18:36 | <annevk> | jwalden: we use OrdinaryGetPrototypeOf(_O_) |
| 18:36 | <annevk> | jwalden: so code can be reused between WindowProxy and Location |
| 18:36 | <jwalden> | annevk: what is _O_ there? |
| 18:36 | <annevk> | jwalden: an object |
| 18:37 | <jwalden> | annevk: I'm still confused |
| 18:38 | <jwalden> | annevk: WindowProxy is an exotic object, and it has custom [[GetPrototypeOf]] and other internal method definitions: right, or wrong? |
| 18:38 | <annevk> | jwalden: it matters when the object being proxied is exotic, but since Window is not, it doesn't |
| 18:38 | <annevk> | jwalden: that's correct |
| 18:39 | <annevk> | jwalden: so sometimes WindowProxy invokes Ordinary* methods with the Window object, rather than invoking the [[*]] methods on the Window object |
| 18:39 | <annevk> | jwalden: because that allows WindowProxy and Location to share code |
| 18:40 | <annevk> | jwalden: I'd be happy to improve that sentence if you have suggestions btw, though file an issue at https://github.com/whatwg/html as I won't get to it now |
| 18:40 | <jwalden> | annevk: for my immediate purpose, simply knowing [[GetPrototypeOf]] isn't the ordinary definition is enough |
| 18:41 | <jwalden> | annevk: but I might take you up on that later, 'cause jorendorff and I are a bit confuzzled by the language as it is right now |
| 18:41 | <jwalden> | annevk: although bz is edumacating me on this as we speak, if I switch back to that IRC-tab |
| 18:41 | <jwalden> | so who knows whether anything *really* truly should be changed |
| 18:41 | <jwalden> | maybe |
| 18:41 | <annevk> | jwalden: the quote you gave is a note, so maybe just ignore that and see if the rest makes sense |
| 18:41 | <annevk> | jwalden: I do think Gecko as is has some bugs |
| 18:42 | <annevk> | jwalden: though I don't recall which |
| 18:43 | <jwalden> | I guess in my particular case, the global's immutable prototype chain means my particular question-to-answer is only a perf difference and nothing more |
| 18:43 | <jwalden> | (what I'm doing, is implementing Object.setPrototypeOf's aborting its loop to check for prototype chains, when an object with non-ordinary [[GetPrototypeOf]] is encountered) |
| 18:44 | <jwalden> | (but you can't have a cycle because of the immutability, so saying ordinary/not here just means you either abort the loop early, or you keep looping through the last several things on the chain) |
| 18:44 | <annevk> | is there an abstract operation defined for non-ordinary? |
| 18:44 | <annevk> | sounds a little magical |
| 18:45 | <jwalden> | annevk: basically this is all step 8c(i) in https://tc39.github.io/ecma262/#sec-ordinarysetprototypeof |
| 18:45 | <annevk> | also, if that's the same-origin issue leaking cross-origin stuff I didn't really follow that |
| 18:45 | <jwalden> | annevk: there isn't an abstract operation; there probably should be, but there isn't |
| 18:45 | <jwalden> | SpiderMonkey's going to implement it as an abstract operation, for sure |
| 18:46 | <annevk> | oh wow, some actual prose |
| 18:46 | <annevk> | interesting primitive |
| 18:46 | <jwalden> | annevk: the idea is objects without proxies on their prototype chains, will never have cyclic prototypes |
| 18:47 | <jwalden> | annevk: but once you can have a proxy on the chain, the potential for cycles (that can't be simply legislated away) is unavoidable |
| 18:47 | <jwalden> | var obj; var p = new Proxy({}, { getPrototypeOf() { return obj; } }); obj = Object.create(p); |
| 18:48 | <jwalden> | obj's prototype is |p|, |p|'s prototype when observed is |obj|, and you can't really prevent it any good way |
| 18:48 | <jwalden> | so non-cyclic is only enforced when the "ordinary" [[GetPrototypeOf]] is the only thing in sight |
| 20:23 | <rniwa> | Domenic: yt? |
| 20:25 | <Domenic> | rniwa: kinda, a meeting starts in 3 minutes |
| 20:26 | <rniwa> | Domenic: I commented on https://github.com/whatwg/dom/pull/204 |
| 20:26 | <rniwa> | Domenic: merging custom elements / shadow DOM into DOM / HTML will make it impossible for me to follow |
| 20:27 | <rniwa> | Domenic: can we at least update the existing doc to up to the point where we agreed yesterday? |
| 20:27 | <Domenic> | rniwa: why is that? custom elements is basically baked. (i agree on shadow dom) |
| 20:28 | <rniwa> | Domenic: not really. |
| 20:28 | <rniwa> | Domenic: we don't want type extensions |
| 20:28 | <Domenic> | rniwa: only updates left are the extended attribute thing, and patching the specs seems better than maintaining a giant list |
| 20:28 | <Domenic> | rniwa: sure, but you agreed that it's in the spec |
| 20:28 | <rniwa> | Domenic: we didn't. |
| 20:28 | <Domenic> | rniwa: you can ignore them just as well in dom/html as you can in custom elements |
| 20:29 | <rniwa> | Domenic: anyway, more practical matter is that it's going to be a lot harder to figure out what has changed since the last meeting |
| 20:29 | <Domenic> | rniwa: nothing has changed. |
| 20:29 | <rniwa> | Domenic: I mean last F2F |
| 20:29 | <Domenic> | rniwa: compare the custom elements spec to the DOM/HTML specs. |
| 20:29 | <rniwa> | Domenic: this whole bureaucracy between W3C and WHATWG is uttrly insane |
| 20:30 | <rniwa> | Domenic: I'm saying that's a lot harder because everything has moved around :( |
| 20:30 | <Domenic> | rniwa: I don't think this is about what organization. I think this is about upstreaming vs. maintaining a separate document full of monkeypatches. |
| 20:30 | <Domenic> | rniwa: sure, but it moved around when it was all in one document anyway |
| 20:30 | <rniwa> | Domenic: and I'm saying that we should maintain a separate document for now |
| 20:31 | <rniwa> | Domenic: otherwise, I don't think I can meaningfully give further feedback on the API |
| 20:31 | <rniwa> | Domenic: in any reasonable timeframe |
| 20:31 | <Domenic> | rniwa: OK, well, I am not interested in maintaining that document, especially since it's just an index of "please insert this sentence in this part of the other spec" |
| 20:31 | <Domenic> | gtg meeting, bbiab |
| 20:55 | <Domenic> | rniwa: back. I really don't think this is a big deal. What are your concrete concerns with putting things in the specs they're monkeypatching, instead of maintaining a monkeypatch document? |
| 20:55 | <Domenic> | rniwa: I agree that shadow DOM needs more time to bake, but custom elements is in good shape. |
| 20:55 | <rniwa> | Domenic: I'd like to see all the things related to custom elements in one place so that I can update the implementation in WebKit |
| 20:56 | <rniwa> | Domenic: if the thing you're working got merged, it's probably faster for me to just start from scratch than to try to update things. |
| 20:56 | <rniwa> | Domenic: because I'm going to miss something somewhere |
| 20:57 | <rniwa> | Domenic: or maybe I can find some colleague of mine who can figure that out. |
| 20:57 | <rniwa> | Domenic: but I'm really done dealing with all these W3C/WHATWG shenanigans |
| 20:57 | <Domenic> | rniwa: maybe it would help to note that https://rawgit.com/w3c/webcomponents/15a203c8393aef0df7223ab1d43406aa11a7e71e/spec/custom/index.html is still available. The only differences in the "upstream" patches are typo fixes and editorial stuff |
| 20:57 | <Domenic> | rniwa: you can follow any further revisions as they land (but as I said, I don't anticipate many) |
| 20:58 | <Domenic> | rniwa: again, I don't think this is about organizations. If we landed these in the DOM4/HTML5.1 forks it wouldn't change the nature of your complaint |
| 20:58 | <rniwa> | Domenic: and I'd object to that change. |
| 20:59 | <Domenic> | rniwa: I'm still trying to understand why. Because you're going to miss something somewhere? But how, since there's no changes to miss in the initial important, and subsequent changes are obvious commits in the commit history? |
| 20:59 | <Domenic> | rniwa: would it be helpful if we prefixed all custom elements related commits with "Custom elements:"? |
| 20:59 | <Domenic> | rniwa: I'd even be willing to email you every time I made such a commit if you're really concerned. |
| 20:59 | <rniwa> | Domenic: well, the thing is, I'm not going to look at every single commit |
| 21:00 | <rniwa> | Domenic: I'm going to look at the spec. |
| 21:00 | <Domenic> | rniwa: oh ok, great, then what's the issue? |
| 21:00 | <rniwa> | Domenic: but now the spec will be scattered across multiple places in DOM |
| 21:00 | <rniwa> | Domenic: and it's going to be the impossible for me to figure out which concepts, steps, and algorithms are relevant for custom elements |
| 21:01 | <Domenic> | rniwa: I think I have just the thing you for |
| 21:01 | <Domenic> | *for you |
| 21:01 | <Domenic> | one sec |
| 21:01 | <Domenic> | rniwa: http://services.w3.org/htmldiff?doc1=https%3A%2F%2Fdom.spec.whatwg.org%2F&doc2=https%3A%2F%2Fraw.githubusercontent.com%2Fwhatwg%2Fdom%2Fcustom-elements%2Fdom.html perfect |
| 21:02 | <Domenic> | rniwa: same "all the patches are obvious" experience as before, one spec instead of monkeypatches. |
| 21:04 | <rniwa> | Domenic: well, but this diff is going to include all other DOM spec changes in the future, no? |
| 21:05 | <Domenic> | rniwa: nope! it's pegged to the custom elements changes. |
| 21:07 | <rniwa> | Domenic: so it'll show and only show all future custom elements changes? |
| 21:07 | <Domenic> | rniwa: yep! |
| 21:08 | <rniwa> | Domenic: oh, cool. this is great! |
| 21:08 | <Domenic> | yay \o/ |
| 21:08 | <Domenic> | i'll try to work on something similar for html, will be a bit tricky given htmldiff fails on singlepage but we can make it work |
| 21:09 | <Domenic> | easy first pass is just maintain a list of links to a few multipage diffs |
| 21:10 | <rniwa> | Domenic: yeah, diff on multi-page urls will be just fine |
| 21:11 | <rniwa> | Domenic: did we fix the problem that cross-section linking doesn't work in multi-page docs? |
| 21:12 | <Domenic> | rniwa: I made a slight correction to the diff URL to make it keep working after merge. I added the updated URL to https://github.com/whatwg/dom/wiki. |
| 21:12 | <Domenic> | rniwa: cross-section linking works, but the dfn popups do not work yet :( |
| 21:14 | <rniwa> | Domenic: that popup is what I was talking about |
| 21:15 | <Domenic> | rniwa: yeah :(. it's high priority on the tooling to-fix list, MikeSmith was looking into it a bit. |
| 21:16 | <MikeSmith> | ears burning |
| 21:16 | <MikeSmith> | ah |
| 21:16 | <MikeSmith> | yeah need to step back and re-think that really |
| 21:19 | <MikeSmith> | and I implemented cross-document linking for those popups previously, years ago, in the python splitter we were using at the time |
| 21:19 | <hober> | R.I.P. Anolis |
| 21:19 | <MikeSmith> | heh |
| 21:20 | <MikeSmith> | it worked then, what I made, but it increased the build time by 20 times or more |
| 21:20 | <hober> | :) |
| 21:20 | <MikeSmith> | so I think we really need to have something that doesn’t make a massive hit to build time |
| 21:22 | <Domenic> | hmm |
| 21:22 | <MikeSmith> | this would be a great project for a code contributor who wanted to help out with the effort |
| 21:22 | <Domenic> | ^ that sounds like a great way for something to not get done, sadly |
| 21:23 | <Domenic> | i would be ok with increased build times if you could turn off multipage generation during development |
| 21:23 | <MikeSmith> | OK yeah |
| 21:25 | <MikeSmith> | given how fast the build is and how carefully Hixie_ designed it to be that way, I would feel really bad about going in their and just tanking it naively |
| 21:26 | <MikeSmith> | anyway I need to make time to try it myself, to see if what I imagine might work |
| 21:28 | <MikeSmith> | I think users would be OK with a popup for a particular term taking some time to generate on the client side the first time they want to look at the refs for that term, if it gets cached on the client side after that |
| 21:29 | <MikeSmith> | I think a typical use case is that users only look at a few terms, but they look at those again and again |
| 21:30 | <MikeSmith> | at least that is the usage pattern I follow when I am trying to figure out something or trace something around the spec when I am using the popups to walk through it |
| 21:32 | <MikeSmith> | in other news I see we may be headed for some drama when getting the shadow-dom and custom-elements stuff folded into HTML and the DOM spec where it seems like everybody agrees they should end up |
| 21:33 | <MikeSmith> | well the people who care about getting it specified in the right way at least, instead of keeping the spec separate for non-technical reasons |
| 21:35 | <MikeSmith> | by which I don’t mean rniwa because I can totally understand his POV on this as an implementor |
| 21:36 | <MikeSmith> | rniwa: but if you think it’s premature to be moving those back to the HTML and DOM specs now, when would you imagine it would time? what would need to change before it was time for them to quit being separate monkeypatch specs |
| 21:38 | <rniwa> | MikeSmith: well, it looks like the diff Domenic sent me suffices my needs |
| 21:38 | <MikeSmith> | oh OK |
| 21:38 | <MikeSmith> | well I was just looking at your comment at https://github.com/whatwg/dom/pull/204#issuecomment-206545194 |
| 21:38 | <rniwa> | MikeSmith: my concern with monolithical spec is really about having to understand/read everything even if you're interested in a super small subset of it |
| 21:38 | <MikeSmith> | so you are saying you have changed your mind after chatting with Domenic |
| 21:38 | <MikeSmith> | OK |
| 21:39 | <rniwa> | MikeSmith: ya |
| 21:39 | <rniwa> | MikeSmith: not so much that I changed my mind. It's more that there was a solution to the problem I had |
| 21:39 | <hober> | rniwa: maybe drop a comment on that pull request to reflect that? |
| 21:39 | <rniwa> | MikeSmith: I would be still opposed if we didn't have http://services.w3.org/htmldiff?doc1=https%3A%2F%2Fdom.spec.whatwg.org%2F&doc2=https%3A%2F%2Fraw.githubusercontent.com%2Fwhatwg%2Fdom%2Fcustom-elements%2Fdom.html |
| 21:39 | <MikeSmith> | k |
| 21:39 | <rniwa> | MikeSmith: just done that |
| 21:39 | <rniwa> | hober: ^ |
| 21:39 | <hober> | sweet |
| 21:39 | <hober> | thanks |
| 21:40 | <MikeSmith> | cool, thanks |
| 21:40 | <rniwa> | MikeSmith: I don't think making readers of the spec wait longer for the sake of shorter build time is a good tradeoff though |
| 21:41 | <rniwa> | MikeSmith: since most people are readers |
| 21:41 | <rniwa> | MikeSmith: we can probably build the cross-reference index separately asynchronously though |
| 21:41 | <MikeSmith> | bingo |
| 21:42 | <MikeSmith> | and yeah it is bad to make readers take the performance hit |
| 21:42 | <MikeSmith> | performance is a PITA |
| 21:42 | <MikeSmith> | Moore’s Law and such just need to move faster :) |
| 21:43 | <rniwa> | MikeSmith: soon, people will be complaining about how HTML5 spec won't load fast enough in their contact lenses LOL |
| 21:43 | <MikeSmith> | hahah |
| 21:45 | <MikeSmith> | honestly another concern any time I attempt a major coding project is just the fear of being laughed at and pointed at by y’all when you see the naiveté of my code |
| 21:47 | <Domenic> | aww <3 |
| 21:47 | <Domenic> | MikeSmith: FWIW the things I've seen you do with Bash have me in awe, or maybe a little terror. |
| 21:49 | <MikeSmith> | heh |
| 21:50 | <MikeSmith> | the secret to coding in bash is that you have to either pretend you’re under the influence of psychoactive chemicals, or to actually be under the influence of psychoactive chemicals |
| 21:51 | <MikeSmith> | or to just be psychotic |
| 21:52 | <hober> | MikeSmith: https://gottsusa.files.wordpress.com/2015/04/img_1364-bison-and-sign.jpg |
| 21:54 | <TabAtkins> | MikeSmith: Bikeshed was literally my intro "let's teach myself Python!" project. |
| 21:54 | <TabAtkins> | My skills have obviously gone up a ton in the process, but naive code is never a problem. ^_^ |
| 21:59 | <rniwa> | Domenic, annevk, hayato: fyi, anttik is implementing the correct display: contents semantics for slot element in https://bugs.webkit.org/show_bug.cgi?id=149439 |
| 22:00 | <Domenic> | rniwa: pretty exciting :) |
| 22:02 | <TabAtkins> | +1 |
| 22:04 | <MikeSmith> | hober: hey I think I have actually met those bison during some of my trips, back in my Tatanka Yotanka days. I think the reason they don’t want them doing psychoactive substances is that they start to talk some crazy talk and you can only understand it if you also are tripping |
| 22:04 | <MikeSmith> | TabAtkins: Bikeshed is a pretty impressive first Python project |
| 22:05 | <TabAtkins> | It was less impressive originally. Also, I'm a pretty good coder in general, and Python's not too dissimilar from JS, so a lot of my style knowledge could transfer over. |
| 22:09 | <MikeSmith> | TabAtkins: so I think you would love Free Pascal coding and I have just the project that would get you an opportunity for fun :) Free Pascal is pretty much just like Python and JS except for the places where it is not |
| 22:09 | <TabAtkins> | Noooope |
| 22:09 | <MikeSmith> | heh |
| 22:40 | <hober> | pascal was my second high level programming language, after basic |
| 22:48 | <TabAtkins> | I went TI-83 Basic => C++ => Java => Lisp => JS => Python |
| 22:48 | <TabAtkins> | Now I accidentally have a good working knowledge of Haskell due to reading papers. |
| 22:48 | <TabAtkins> | Oh sorry, PHP between Lisp and JS there. |
| 22:57 | <TabAtkins> | What's the name for the list of elements you can tab thru? |
| 23:00 | <jsbell> | TabAtkins: "control group" ? |
| 23:00 | <TabAtkins> | I'm just going for "tabbing through the document's focusable elements" |
| 23:01 | <jsbell> | "Each focusable area belongs to a single control group..." |
| 23:10 | <rniwa> | hayato: yt? |