| 00:08 | <rniwa> | dcheng: yt? |
| 00:08 | <rniwa> | Domenic: yt? |
| 01:42 | <rniwa> | MikeSmith: could you add @ehsan to https://github.com/whatwg/html> |
| 01:43 | <rniwa> | MikeSmith: he's a Gecko contributor |
| 02:12 | <MikeSmith> | rniwa: added with read access |
| 03:31 | <luxio> | why so many people idling here? |
| 06:30 | <annevk> | luxio: lots of people trying to get rid of their sense of logic |
| 07:53 | <tobie> | TimothyGu: isn't document.all awesome!? |
| 07:59 | <annevk> | Hmm I just noticed that Bikeshed puts <script> elements way late in the document |
| 07:59 | <annevk> | How do you get them in <head>? |
| 07:59 | <annevk> | And how would you do the same for a <style>? |
| 08:16 | <tobie> | annevk: iirc BS puts all <style> elements in <head>. |
| 08:17 | <tobie> | annevk: no idea about <script> |
| 09:52 | <foolip> | zcorpan: https://drafts.fxtf.org/geometry/ or https://drafts.fxtf.org/geometry-1/? |
| 09:52 | <foolip> | zcorpan: only the latter has DOMRectList, but is an uglier URL |
| 09:53 | <zcorpan> | foolip: huh. they're supposed to be identical |
| 09:53 | <foolip> | zcorpan: a deploy problem perhaps? |
| 09:55 | <zcorpan> | took a guess and pinged plinss |
| 09:55 | <zcorpan> | thanks |
| 09:55 | <foolip> | zcorpan: so linking to the one without the version should be the right thing? |
| 09:56 | <zcorpan> | foolip: yeah, in general, but in web-platform-tests the linter will whine about versionless spec links under css/ |
| 09:56 | <zcorpan> | iirc |
| 09:56 | <foolip> | zcorpan: that's fine, those aren't URLs, just reviewing URL fixes in Blink's IDL files now |
| 09:58 | <TimothyGu> | tobie: totally |
| 10:44 | <annevk> | TimothyGu: https://github.com/w3c/web-platform-tests/pull/6890 |
| 10:45 | <TimothyGu> | woo hoo! |
| 10:46 | <annevk> | I guess I'll start filing some browser bugs too on the base64 bits that don't interoperate |
| 11:30 | <tobie> | TimothyGu: looking at your latest change. You seem to understand the difference between an Object Type with a [[Call]] internal method and ECMAScript Function Objects. TBH, I don't. Care to enlighten me (or someone else for that matter). |
| 11:56 | <tobie> | Domenic, annevk: ^ |
| 12:28 | <annevk> | tobie: oh sorry, missed that |
| 12:29 | <tobie> | annevk: np |
| 12:29 | <annevk> | tobie: I'm not really sure on the difference |
| 12:29 | <tobie> | annevk: :( |
| 12:29 | <annevk> | tobie: do functions have [] accessors? |
| 12:30 | <tobie> | annevk: oh; *that*. I have no idea. |
| 12:30 | <annevk> | tobie: I vaguely recall some types having (), some [], and weird ones having both |
| 12:31 | <annevk> | tobie: so object with call seems like one of those weird ones on the face of it, but I'd have to look into it more to be sure |
| 12:31 | <tobie> | annevk: what I'm trying to figure out is what do we mean when we say Function object |
| 12:32 | <annevk> | tobie: it doesn't mean alert(Function)? |
| 12:33 | <tobie> | annevk: related to https://github.com/heycam/webidl/pull/405#issuecomment-322244133 |
| 12:33 | <tobie> | annevk: no. That would be "the Function object"? |
| 12:35 | <annevk> | tobie: hmm, a built-in function object is like a normal JavaScript function that's provided by the browser somehow |
| 12:35 | <annevk> | tobie: I think the most important bit is that the implementation is hidden |
| 12:35 | <annevk> | tobie: and defined by a spec |
| 12:36 | <tobie> | annevk: so we have the notion of built-in down, that's fine. |
| 12:36 | <tobie> | annevk: the issue is around the non built-in ones. |
| 12:38 | <annevk> | tobie: I think what is called "function object" in that PR just refers to all JavaScript functions, with built-in ones being a subset |
| 12:40 | <tobie> | annevk: I want venn diagrams of all the things. |
| 12:42 | <annevk> | tobie: pretty sure that would hang your computer |
| 12:43 | <zcorpan> | MikeSmith: WDYT about the bugs about <script>/<template> in the content model? Leave the spec as is or change it as I suggested back then? |
| 12:44 | <tobie> | annevk: that PR is changing a bunch of "<emu-val>Function</emu-val> object" to "function object" and linking to https://tc39.github.io/ecma262/#sec-object-internal-methods-and-internal-slots |
| 12:45 | <tobie> | annevk: maybe we should link it to https://tc39.github.io/ecma262/#sec-terms-and-definitions-function instead? |
| 12:46 | <tobie> | annevk: tbh I'm having a hard time figuring out how the ES spec is structured. |
| 12:59 | <annevk> | tobie: the section the PR refers to has the <dfn> it seems like: "A function object is an object that supports the [[Call]] internal method." |
| 13:00 | <tobie> | annevk: agreed. Is that what we mean by "<emu-val>Function</emu-val> object" is my question, I suppose. |
| 13:01 | <annevk> | tobie: I think uppercase Function is likely to refer to global.Function |
| 13:02 | <tobie> | annevk: I don't think that's what it was doing in the WebIDL spec. |
| 13:03 | <annevk> | tobie: not sure then, perhaps conventions changed between ES5 and ES6? |
| 13:03 | <annevk> | tobie: a lot of IDL is aligned with ES5 language |
| 13:06 | <tobie> | annevk: I know. :( |
| 13:08 | <annevk> | tobie: looking at https://es5.github.io/ it seems that ES was sloppy before ES6 |
| 13:09 | <annevk> | tobie: that has stuff like "built-in Function object" |
| 13:09 | <annevk> | tobie: so IDL likely inherited a lot of that |
| 13:09 | <tobie> | \o/ |
| 13:13 | <TimothyGu> | tobie: here's what I figured out |
| 13:13 | <Domenic> | tobie: "ECMAScript Function object" is https://tc39.github.io/ecma262/#sec-ecmascript-function-objects . It is a function derived from ECMAScript source text written down by a developer. |
| 13:13 | <TimothyGu> | ^^ that :) |
| 13:14 | <Domenic> | lol sorry ^_^ |
| 13:15 | <TimothyGu> | I did try to make the distinctions between "function object" and "built-in function object" very clear, though there are some instances I'm not too sure what to link |
| 13:15 | <tobie> | Right--so Object type with [[Call]] is a superset whose elements are built-ins and ES function objects? |
| 13:15 | <TimothyGu> | yes |
| 13:15 | <Domenic> | The set also includes non-function objects who just happen to have [[Call]] |
| 13:16 | <Domenic> | Like proxies, for example |
| 13:16 | <TimothyGu> | also bound function exotic objects, proxies |
| 13:16 | <TimothyGu> | e.g. for https://heycam.github.io/webidl/#es-map-size |
| 13:16 | <Domenic> | And probably legacy-caller platform objects |
| 13:17 | <Domenic> | built-in function objects have a specific [[Call]]: https://tc39.github.io/ecma262/#sec-built-in-function-objects |
| 13:17 | <TimothyGu> | I wrote "map size getter is a [=built-in function object=]" but below I kept "The value of the [=function object=]’s “length” property" |
| 13:17 | <TimothyGu> | felt writing "built-in function object" for the second case felt a bit redundant |
| 13:17 | <tobie> | What about https://tc39.github.io/ecma262/#sec-terms-and-definitions-function? |
| 13:18 | <TimothyGu> | tobie: it's too vague IMO |
| 13:18 | <TimothyGu> | generally that section is full of vague definitions that will be defined in detail later |
| 13:19 | <tobie> | TimothyGu: sure. But aren't we precisely aiming for vagueness here? |
| 13:20 | <tobie> | TimothyGu: I mean it seems that by "function object" we sort of mean all the callable things |
| 13:20 | <TimothyGu> | well, "object with [[Call]]" is similarly broad but more precise than "member of the Object type that may be invoked as a subroutine" |
| 13:21 | <tobie> | TimothyGu: agreed. It's just ES spec doesn't really let you link to this. |
| 13:21 | <tobie> | TimothyGu: which is a common issues with the ES spec. |
| 13:21 | <TimothyGu> | yeah, that's unfortunate |
| 13:21 | <tobie> | TimothyGu: agreed. |
| 13:22 | <tobie> | So, now that everyone has provided greater context, I'm with you that "object with [[Call]]" is what we'd like to link to. |
| 13:22 | <tobie> | TimothyGu: I'm not sure how to best do that, tbh. |
| 13:23 | <tobie> | TimothyGu: I guess it depends who the intended audience of that linking is. |
| 13:23 | <TimothyGu> | we can ask tc39 to put an id there |
| 13:25 | <tobie> | TimothyGu: around here: https://tc39.github.io/ecma262/#_ref_40 ? |
| 13:26 | <tobie> | "A function object is an object that supports the [[Call]] internal method." |
| 13:26 | <TimothyGu> | yes, specifically for "function object" |
| 13:26 | <tobie> | Right, just like one of our DFNs |
| 13:26 | <TimothyGu> | yep |
| 13:26 | <tobie> | WFM. |
| 13:27 | <TimothyGu> | they have a system to do that too, e.g. https://tc39.github.io/ecma262/#global-object |
| 13:28 | <tobie> | oh, neat. |
| 13:28 | <tobie> | I'll send a PR. |
| 13:29 | <TimothyGu> | tobie: do you have an opinion on the question I posed earlier, whether to use "built-in function object" for both cases or "built-in" for the first one and just "function object" for the second? |
| 13:30 | <TimothyGu> | TimothyGu | e.g. for https://heycam.github.io/webidl/#es-map-size |
| 13:30 | <tobie> | TimothyGu: maybe not link it the second time at all? |
| 13:31 | <TimothyGu> | it's not really the linking I'm worried about but what to write |
| 13:32 | <TimothyGu> | Domenic: do you know where "length" property for built-in functions are defined in ES? |
| 13:33 | <Domenic> | Yes, there's a clause... |
| 13:34 | <TimothyGu> | I mean, I can find the one for normal ECMAScript functions but not built-in ones... |
| 13:34 | <TimothyGu> | the one for ES functions is https://tc39.github.io/ecma262/#sec-functioninitialize |
| 13:35 | <Domenic> | No, there's something that says "look at the headings"... |
| 13:35 | <Domenic> | Every built-in function object, including constructors, has a length property whose value is an integer. Unless otherwise specified, this value is equal to the largest number of named arguments shown in the subclause headings for the function description. Optional parameters (which are indicated with brackets: [ ]) or rest parameters (which are shown using the form «...name») are not included in the default argument |
| 13:35 | <Domenic> | count. |
| 13:35 | <TimothyGu> | ah found it: https://tc39.github.io/ecma262/#sec-ecmascript-standard-built-in-objects |
| 13:35 | <tobie> | Isn't there a way to use a more imperative style here? Similar to the last steps of https://heycam.github.io/webidl/#named-constructors |
| 13:38 | <TimothyGu> | We don't use CreateBuiltinFunction at all for functions defined in the IDL spec, we should probably fix that first |
| 13:38 | <TimothyGu> | we do for IDL operations though |
| 13:38 | <Ms2ger> | There's a bug about that, I think |
| 13:38 | <TimothyGu> | ... there's a bug about everything... |
| 13:43 | <tobie> | :D :-/ |
| 13:44 | <gsnedders> | Domenic: that clause is always so hard to find |
| 13:45 | <annevk> | TimothyGu: kudos for multiple ;base64 occurrences |
| 13:47 | <TimothyGu> | 👍 |
| 14:08 | <annevk> | Domenic: I'm getting a lot of failures from Travis that are fixed after a couple restarts |
| 14:08 | <annevk> | Domenic: 'The command "curl --remote-name --fail https://resources.whatwg.org/build/deploy.sh && bash ./deploy.sh" exited with 1.' |
| 14:09 | <Domenic> | annevk: hmm so that could be a problem with the deploy script since maybe we are hiding errors? But I suspect it means resources.whatwg.org is flaky. |
| 14:09 | <annevk> | Domenic: and it always seems to be the fetching that fails |
| 14:09 | <Domenic> | Yeah OK. So, more dreamhost problems. |
| 14:10 | <annevk> | Domenic: maybe they're rate-limiting Travis? |
| 14:10 | <Domenic> | Seems unlikely... we don't deploy that often. I think I hit the various specs myself more often than Travis does. |
| 14:10 | <Domenic> | Maybe there's something in the logs though, indeed. |
| 14:12 | <Domenic> | annevk: so I'd kind of like to avoid iso-...-decode since iso-... doesn't define mappings for various bytes |
| 14:12 | <Domenic> | annevk: I liked "numeric" because it's "take the number of the byte and turn it into the number of the codepoint" |
| 14:14 | <annevk> | Domenic: wait what? it doesn't? |
| 14:14 | <annevk> | Domenic: source? http://ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT |
| 14:14 | <Domenic> | ftp://std.dkuug.dk/JTC1/sc2/wg3/docs/n411.pdf is missing several ranges |
| 14:15 | <Domenic> | Interesting! |
| 14:15 | <Domenic> | https://en.wikipedia.org/wiki/ISO/IEC_8859-1#Codepage_layout matches the pdf |
| 14:16 | <Domenic> | So it looks like Unicode has a different definition of iso-8859-1 than ISO does |
| 14:16 | <gsnedders> | One of them keeps 0x80–0x9F undefined, IIRC? |
| 14:16 | <annevk> | Okay, the commonly understood meaning is that those are mapped as I understand it, although it's hard to test in browsers |
| 14:16 | <Domenic> | And 0x00-0x20 |
| 14:17 | <Domenic> | (Also 0x7F) |
| 14:17 | <Domenic> | I don't feel like there is any "common meaning" here :). Besides maybe windows-1252 :) |
| 14:17 | <annevk> | Domenic: "string convert" and "byte sequence convert"? |
| 14:17 | <Domenic> | I think that works for me |
| 14:17 | <Domenic> | I'd kind of like to use "encode"/"decode" but those are OK-ish |
| 14:18 | <annevk> | Domenic: isomorphic encode/decode? |
| 14:19 | <Domenic> | oooh |
| 14:19 | <Domenic> | that works for me. |
| 14:20 | <annevk> | cool |
| 14:26 | <annevk> | Domenic: can https://github.com/whatwg/infra/pull/145 land? |
| 14:27 | <Domenic> | annevk: I'll do one more pass |
| 16:23 | <gsnedders> | the jsDoc docs are… pretty bad, for a documentation project |
| 16:24 | <tantek> | gsnedders, are they also, by any chance, js;dr? |
| 16:25 | <gsnedders> | tantek: no, they aren't, AFAICT |
| 16:25 | <tantek> | well that's a relief at least |
| 16:33 | <nox> | Domenic: Ain't that a case of IANA ISO-8859-1 vs ISO/CEI 8859-1? |
| 16:34 | <annevk> | Domenic: resources.whatwg.org does seem super reliable to me though |
| 16:35 | <annevk> | nox: don't think so |
| 16:36 | <nox> | annevk: AFAIK the ISO/CEI one doesn't define mappings for all the bytes. |
| 16:36 | <annevk> | nox: IANA's references don't either |
| 16:37 | <Domenic> | annevk: I approved and then realized https://github.com/whatwg/infra/pull/146#issuecomment-322519502 sorry |
| 16:37 | <nox> | annevk: You sure? |
| 16:38 | <nox> | "ISO-8859-1 is the IANA preferred name for this standard when supplemented with the C0 and C1 control codes from ISO/IEC 6429 (see below for HTML5 exception). IBM calls it Code page 819 or CP819. The following other aliases are registered for ISO-8859-1: iso-ir-100, csISOLatin1, latin1, l1, IBM819. Oracle calls it WE8ISO8859P1." |
| 16:41 | <annevk> | nox: I'm not sure where that quote is from, but the references on https://www.iana.org/assignments/character-sets/character-sets.xhtml (both ISO and the RFC) don't seem to define those areas |
| 16:41 | <nox> | https://tools.ietf.org/html/rfc1345 lists ISO-8859-1 with mappings for all bytes AFAIK, but maybe I miscounted. |
| 16:41 | <annevk> | Domenic: no worries |
| 16:42 | <annevk> | nox: oh I guess it does at the end, hmm |
| 16:42 | <annevk> | nox: oh well, IANA charsets is obsoleted too so best to avoid |
| 16:43 | <nox> | I've way more often saw the ISO-8859-1 version with the 256 code points, |
| 16:43 | <nox> | than the ISO/IEC 8859-1 one with the subset of them. |
| 16:45 | <gsnedders> | the only time I see the one without the controls is when people are claiming Windows-1252 is a compliant implementation of ISO-8859-1, just giving meaning to undefined bytes |
| 16:46 | <annevk> | Domenic: should we update that note though? |
| 16:46 | <annevk> | Domenic: it's still the best advice for getting a byte sequence out of a string |
| 16:46 | <annevk> | Domenic: isomorphic encode is mostly for legacy stuff |
| 16:47 | <Domenic> | annevk: I think we should update it, even if we keep recommending UTF-8. It's just weird to see that note and then two lines down see "here's a procedure for going from strings to byte sequences" |
| 16:50 | <annevk> | Domenic: two lines down is the other procedure, but okay |
| 16:51 | <Domenic> | annevk: lgtm |
| 16:59 | <annevk> | Domenic: I really don't understand what's wrong with the build process, resources.whatwg.org responds perfectly here |
| 16:59 | <annevk> | Domenic: oh right, if it's rate-limiting by DreamHost that would be it |
| 16:59 | <Domenic> | Hmm OK, maybe a Travis-specific thing then. Maybe we can add more debugging to the script somehow |
| 18:58 | <rniwa> | annevk: drag & drop is a bean bag of bugs and interoperability nightmare :( |
| 19:19 | <annevk> | rniwa: that's UI events |
| 19:19 | <rniwa> | annevk: well, not just that but dataTransfer behavior is really inconsistent |
| 19:19 | <annevk> | rniwa: one day I want to dig in, but I keep waiting and hoping someone else does it |
| 20:19 | <Domenic> | annevk: shall we merge https://github.com/whatwg/html/pull/2869 ? |
| 20:25 | <TabAtkins> | @annevk As noted by tobie, Bikeshed auto-moves all <style> elements into the <head> automatically, because it's guaranteed to not be a behavior change. But I can't guarantee that for <script>s; you might be depending on relative ordering, or for a <script> to execute after a particular element was parsed into the DOM, and moving would break it. |
| 20:25 | <TabAtkins> | Are these your own <script> elements you're having a problem with, or something that Bikeshed is generating? |