00:17
<apowers313>
does `bikeshed watch` watch more than one file at a time? or just the first .bs file it finds?
01:32
<MikeSmith>
TabAtkins: ⬆
09:32
<smaug>
hmm, setting an enum attribute to a non-valid value doesn't throw?
09:37
<smaug>
had very much forgotten that
09:54
<tobie>
annevk, Domenic: I remeber reading a quite detailed proposal of internal slots somewhere. Can't seem to find it. Either of you have a pointer? I'd like to tackle that soonish.
09:55
<tobie>
I know there's this: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27354 but there was some more recent thinking somehwere
12:42
<Domenic>
tobie: I don't remember any proposal. I do think this is an area where it'd be good to write up and debate something before starting on the work.
12:52
<tobie>
Domenic: absolutely
12:53
<Domenic>
One issue I wonder about is whether internal slots should have types
12:54
<Ms2ger>
Yes, definitely
12:54
<Domenic>
Sometimes it's useful, but sometimes you want to store something conceptual in them
12:54
<Domenic>
And since Web IDL types are "really" type conversions, it's not clear it makes sense to convert twice
12:56
<Domenic>
so for example a URL record https://url.spec.whatwg.org/#concept-url is not a Web IDL type
12:57
<Domenic>
So https://html.spec.whatwg.org/#concept-hyperlink-url would not be representable as a slot if we said slots must have types
12:57
<Domenic>
Similarly https://drafts.csswg.org/cssom/#associated-css-style-sheet
12:58
<Domenic>
Maybe just a strong convention of `// a <a href="...">CSS style sheet</a>` would make sense
13:00
<tobie>
Domenic: same kinds of questions here. I was wondering if it would also make sense to allow infra data structures in there.
13:01
<Domenic>
Yeah that's another common case
13:02
<Domenic>
My intuition is that typing them in any formal way would not work out
13:02
<Domenic>
Or at least would make them less useful/used. And thus be confusing: "oh, no, you meant the informal concept of internal slot, not the formal one which is only used sometimes because of these restrictions."
13:03
<Domenic>
I guess maybe if everything converted to infra it might work
13:03
<Domenic>
E.g. URL and CSS style sheet would become whatever we name https://github.com/whatwg/infra/issues/21
13:04
<tobie>
Well, there a cases where you want to hold on to a webidl type, though.
13:04
<tobie>
Eg a promise, an instance of something related, etc.
13:05
<JakeA>
Domenic: I posted concerns at https://github.com/eslint/eslint/pull/7563#issuecomment-266733140
13:09
<Domenic>
tobie: yes, but there's no single type system that encompasses Web IDL types + vague spec types. So I think `// a <a href="..."><code>Document</code></a>` would suffice for the Web IDL cases
13:10
<Domenic>
You can always hold Web IDL type instances without a formal type declaration documenting it. Use actual comments for documentation.
13:10
<tobie>
Yeah. This was to your point really.
13:10
<Domenic>
JakeA: I thought it was opt-in already
13:12
<JakeA>
Domenic: huh, http://eslint.org/docs/rules/no-await-in-loop#when-not-to-use-it makes it sound opt-out. Investigating…
13:13
<Domenic>
JakeA: http://eslint.org/docs/rules/
13:13
<JakeA>
Domenic: ah, you're right
14:03
<tobie>
Domenic: not sure if my use case is uncommon, but I'd also need the equivalent of class-level slots (static slots?)
14:03
<Domenic>
tobie: that seems bad; just put them on Window then
14:05
<tobie>
Domenic: well, they're *really* class-level. E.g.: different instances of the Gyroscope class have a different frequency requirements at which to poll the underlying HW sensor.
14:06
<Domenic>
tobie: I'm confused, instance-level or class-level?
14:06
<Domenic>
Every class exists exactly once per Window instance so tying to Window makes more sense.
14:06
<Domenic>
That doesn't sound like a slot though, more like a constant
14:07
<tobie>
Domenic: at the class level, we look at all of the requested frequencies, pick the largest one, and use that one to determine at what freq to poll the sensor
14:07
<tobie>
Domenic: that value is revisited every time a new Gyro instance starts or stops listening to the sensor
14:08
<Domenic>
tobie: this sounds really confusing to me, so maybe needs to be part of the writeup. I maintain that anything class/static should go on Window instead, but it sounds like this has something to do with instances instead, so I am just confused.
14:13
<tobie>
Domenic: yeah--the sensor model is quite complex because there are multiple layers in between the JS and the underlying HW which are different per OS and HW.
14:14
<tobie>
Domenic: I also did a poor job of explaining it above.
14:15
howdoi
would wait to see finger print scanning, biometrics, SMS and contacts access from web
14:16
<tobie>
Domenic: Basically you have one HW sensor (e.g. a gyroscope), but you can create lots of instances of the gyroscope class which can all require a different polling frequency of the HW sensor. The HW sensor is then polled at the highest one of those.
14:17
<tobie>
Domenic: whenever you start or stop one of those gyroscope instance, you change the underlying HW polling frequency accordingly.
14:17
<Domenic>
OK. So you need some kind of map stored on Window, of which one entry is Gyroscope -> highest polling frequency?
14:17
<tobie>
Domenic: basically, yes. I hold on to all created instances.
14:17
<Domenic>
Seems like a GC nightmare, but I'm probably not understanding fully :)
14:18
<tobie>
Domenic: hopefully the latter.
14:18
<tobie>
:)
14:26
<tobie>
Domenic: regardless of these potential GC issues, I could just store the HW polling frequency value instead, but that would still a class-level slot.
14:26
<tobie>
Domenic: you'd just stick those on window?
14:26
<Domenic>
yeah
14:27
<tobie>
What about the naming collision?
14:27
<Domenic>
Add a prefix if you're worried about it
14:27
<Domenic>
Seems better than inventing a new parallel concept with different semantics
14:28
<tobie>
Well, don't we already have static attributes and constants?
14:28
<Domenic>
yep, which are paralllel concepts with different semantics from instance attributes
14:29
<Domenic>
(or rather, prototype attributes)
14:32
<tobie>
Domenic: to be clear, I have no idea whether my particular use case is common or not. If it isn't, there no point in working out a dedicated solution for it.
14:37
<tobie>
Domenic: how would you handle flags? Turn them into booleans?
14:38
<Domenic>
Leaving them as flags seems fine?
14:40
<tobie>
Domenic: if instance.[[flag]] is set, then ... ?
14:41
<Domenic>
Yeah seems fine
14:44
<tobie>
Domenic: k
16:06
<Ms2ger>
Domenic, you asked whether they should have types, not WebIDL types
16:07
<Domenic>
Ms2ger: I was kind of assuming inventing a new type system was not a project anyone wanted to take on
16:07
<Ms2ger>
You'd be surprised...
16:08
<Ms2ger>
However, I'm not sure if we'd be inventing a new type system; all we need is a link to a BS definition, really
17:27
<innovati>
Hi all!
17:28
<innovati>
I've been working on a few ideas related to CSS that I think would help with writing HTML and building websites - is this the right spot to get feedback and discuss ideas?
17:47
<TabAtkins>
tobie: Re "why are non-exported DFNs still displayed in the Terms defined by this specification section?", because they're still terms defined by the specification, just ones intended for internal use. Still useful to have them in the index.
17:48
<TabAtkins>
apowers313: Re "does `bikeshed watch` watch more than one file at a time? or just the first .bs file it finds?" The documentation should be clear on this <https://tabatkins.github.io/bikeshed/#cli-watch>;
17:50
<TabAtkins>
JakeA: We're not currently tracking all *links* in Shepherd, tho that's possible (and desired by me).
17:53
<JakeA>
TabAtkins: good to know!
17:54
<annevk>
tobie: I was sorta hoping for consolidated types across IDL and Infra, but a good first step might be to start defining slots without being explicit about that
17:54
<annevk>
tobie: or only being explicit about that part in prose
18:39
<astearns>
innovati: probably better to start at https://discourse.wicg.io/ - see if anyone's working on something similar, first
18:41
<innovati>
I'm on there, and one of the ideas seems to have fizzled out, the other has some activity but I'm not sure how to keep the ball rolling!
22:22
<tantek>
annevk: I'm not seeing the OWFa licensing text in some recent WHATWG spec updates - did those get removed?
22:22
<tantek>
e.g. I know https://dom.spec.whatwg.org/ used to have it at the top - where did it go?
22:22
<tantek>
also I'm getting a cert error on https://domparsing.spec.whatwg.org/
22:23
<tantek>
yes, at some point OWFa got dropped from all of these specs: https://wiki.mozilla.org/Standards/license#WHATWG
22:24
<tantek>
that seems like a pretty major regression
22:24
<tantek>
CC0 is still there at the bottom of the document, but that's not enough
22:24
<annevk>
tantek: I remember we discussed that when it was done
22:24
<tantek>
I have no memory of any discussion of dropping OWFa
22:25
<tantek>
I would have strongly objected
22:25
<annevk>
tantek: the problem with OWFa is that we didn't actually have signed forms
22:25
<tantek>
after we had Mozilla's lawyers even provide/approve specific language to dual license CC0 OWFa
22:26
<annevk>
tantek: I see, file an issue? I can look at that when I'm back
22:26
<tantek>
that wording was done in such a way not to need separate signatures. that with every commit it was re-acknowledged
22:26
<tantek>
ok
22:26
<tantek>
on any particular spec?
22:26
<tantek>
because it looks like a spec-wide issue
22:27
<tantek>
the desired language (and markup) is here: https://wiki.mozilla.org/Standards/license#Markup (has been stable for years)
22:31
<tobie>
TabAtkins: re: ECMAScript throw, it turns out that non "ES throw" has a for="exception" attribute.
22:31
<tobie>
TabAtkins: today it seems you can omit it, as it's the only dfn called "throw" in the whole spec.
22:33
<tobie>
TabAtkins: if I move [=es throw|throw=] to [=ECMAScript/throw=], will folks referencing [=exception/throw=] need to move from [=throw=] to [=exception/throw=]?
22:33
<tobie>
TabAtkins: or does what you explained in PR#250 work for that case too?
22:33
<TabAtkins>
That's exactly the case I described in #250, I think.
22:36
<tobie>
TabAtkins: yeah, that's sort of the conclusion I came to as I was writing the last sentence down.
22:36
<TabAtkins>
hehehe
22:37
<tobie>
I wish the mental model I have of DFNs actually matched the one you've implemented.
22:37
<TabAtkins>
It's the same model, basically, as @font-face vs 'font-family'. Which is to say, slightly confusing for people until they finally "get" it.
22:38
<tobie>
yeah--"finally'"s been taking a while, here.