00:20
<rniwa>
Domenic: I don't understand your comment on https://www.w3.org/Bugs/Public/show_bug.cgi?id=28544 at all
00:20
<rniwa>
Domenic: import { myClass } from 'mymodule';
00:20
<rniwa>
var a = new myClass;
00:20
<rniwa>
Domenic: wouldn't result in a ReferenceError of any sort
00:22
<caitp->
my understanding is that module imports are resolved before evaluation starts
00:22
<caitp->
too lazy to confirm
00:23
<caitp->
tdz of some sort i'm sure, but still
00:27
<rniwa>
caitp-: Right.
00:27
<rniwa>
caitp-: the fact it blows up in the case of a circular dependency is an orthogonal issue
00:27
<caitp->
iirc there's language to solve that, too
00:28
<caitp->
at the very least direct circular imports are ignored
00:30
<caitp->
oh, s/ignored/throws a syntax error
00:32
<rniwa>
caitp-: I think we did solve that issue by throwing ReferenceError
00:32
<caitp->
yes, ResolveExport returns null, and in response all callers throw a SyntaxError
00:33
<caitp->
so, maybe not quite as nice
00:36
<rniwa>
caitp-: well, circular dependency usually implies a programming error though
00:36
<rniwa>
so that might be okay
00:36
<rniwa>
although there are legitimate use cases...
00:41
<caitp->
in any case it's not a reference error or type error to touch an import "before it's loaded", because you can't (with the exception of dynamic module imports)
06:12
<zcorpan>
TabAtkins: can't omit </p> there, as it happens
07:04
<zcorpan>
TabAtkins: help http://dev.w3.org/csswg/bikeshed/cssom-view/
07:06
<zcorpan>
TabAtkins: also when i remove open() from Ignored Terms i get this:
07:06
<zcorpan>
WARNING: Multiple possible 'idl' refs for 'open()'.
07:06
<zcorpan>
Arbitrarily chose the one in html.
07:06
<zcorpan>
If this is wrong, insert one of the following lines into a <pre class=link-defaults> block:
07:06
<zcorpan>
spec:html; type:method; for:Window; text:open()
07:06
<zcorpan>
spec:html; type:method; for:Window; text:open()
12:33
<MikeSmith>
/win/win 2
12:57
<ondras>
win-win!
16:14
<TabAtkins>
zcorpan: Specs that aren't Bikeshedded sometimes define things twice, and I don't know how to avoid that. That's why it was in Ignored Terms. ^_^
16:15
<darobin>
mmmmm
16:15
<darobin>
maybe this should be in the pubrules validator
16:15
<darobin>
don't define thing twice
16:16
<darobin>
the tool could do a lot more linting
16:17
<TabAtkins>
darobin: That would be nice! In this case, though, it's HTML, which I don't think is really PubRules checked. ^_^
16:17
TabAtkins
wonders if he should just make Bikeshed ignore it when it ends up with two identical definitions, and just silently choose one for you.
16:17
<darobin>
TabAtkins: well, if it's a part that is kept on the W3C side it gets pubrules checked every time it changes :)
16:18
<darobin>
and we could add support for linting WHATWG specs to specberus
16:18
<TabAtkins>
spec:html refers to WHATWG, yeah.
16:19
<TabAtkins>
zcorpan: I'll fix the stacktrace, though.
16:30
<annevk>
Apple's feedback reads pretty well to me
16:30
<annevk>
smaug____: you read it?
16:33
<smaug____>
annevk: well...
16:34
<smaug____>
it feels odd that you effectively say from outside the component where your child nodes should be distributed
16:34
<smaug____>
that hasn't been the idea with XBL and such
16:35
<smaug____>
but perhaps the slots + imperative API is enough
16:35
<annevk>
oh that bit, yeah, I'm not a 100% sold on slots yet, though I kind of like it
16:36
<annevk>
seems somewhat nice to have an opinionated public API contract
16:42
<Domenic>
It worries me that it means shadow DOM isn't useful for explaining <details> or <select> or similar.
16:45
<smaug____>
shadow DOM (or shadow + custom) isn't enough to explain various behaviors of native elements
16:45
<smaug____>
but the slots approach does seem to take us even farther(sp?) away
16:47
<smaug____>
long ago when there was xforms (yes yes, I know) addon for Firefox, XBL, which has roughly the same capabilities as shadow dom + custom, wasn't enough to implement the new elements.
16:47
<smaug____>
XTF + XBL was enough
16:47
<smaug____>
XBL was used mainly as a presentation layer, and XTF was the lower level thing
16:48
<smaug____>
but XTF was so low level, that only privileged scripts could use it to implement new stuff
16:50
<Domenic>
For sure, it isn't enough, it's part of the puzzle. Or at least it would be, if we didn't have this slots thing.
18:47
<hober>
MikeSmith dglazkov: dumb github question. How do I get write access to the w3c/webcomponents.wiki repo (i'm trying to add a wiki page)
18:47
<MikeSmith>
hober: I have to add you
18:48
<hober>
MikeSmith dglazkov: normally i'd send a pull request but github doesn't do pull requests for gh wikis
18:48
<MikeSmith>
because of asshatted github ACLs setup
18:48
<MikeSmith>
yeah
18:48
<hober>
MikeSmith: ahh ok
18:48
<hober>
MikeSmith: thanks
18:49
<trevnorris>
Domenic: would there be some es6 class magic that would allow an inherited static method change a property on the inherited class? probably doesn't make sense. i'll write up some code.
18:50
<MikeSmith>
hober: you should be good to go now
18:50
<hober>
awesome, it worked. thanks!
18:51
<othermaciej>
MikeSmith: can I be added to so I can edit what hober just uploaded?
18:51
<othermaciej>
MikeSmith: I have a github account as “othermaciej”
18:54
<trevnorris>
Domenic: here's using both 5 and 6. https://gist.github.com/trevnorris/e3144f66dfa0aac6ff27
18:57
<MikeSmith>
othermaciej: hai, just added you
18:58
<othermaciej>
MikeSmith: thanks
19:01
<trevnorris>
Domenic: actually, can es6 classes have static members that aren't methods?
19:16
<Domenic>
trevnorris: sure, MyClass.x = "whatever" (or use static get/static set for accessors)
19:17
<trevnorris>
Domenic: though that really gimps "use strong" for v8.
19:17
<Domenic>
Yes well if you wanna program in JS program in JS if you wanna program in a V8 dialect program in that
19:17
<Domenic>
trevnorris: the two things in your gist look equivalent
19:18
<trevnorris>
Domenic: I just updated the es6 example with a more full implementation to show the required code duplication.
19:18
<Domenic>
Note that `this` inside static methods is the class itself
19:18
<trevnorris>
Domenic: even if it's inherited?
19:19
<trevnorris>
FREAK YES!
19:19
<Domenic>
None of the stuff you just added to that gist is necessary
19:20
<trevnorris>
awesome. so I can use this._onreadable inside the static method and the inheritance will work.
19:20
<Domenic>
Yep yep. ES6 classes do class-side inheritance
19:20
<trevnorris>
okay. i'm actually a little excited for es6 class syntax (still hate the class keyword since it's technically prototype, but whatever)
19:22
<trevnorris>
sweet, sweet. extends even makes sure to extend the static stuff after the fact. alright. this is legitimately good sugar. :)
19:23
<Domenic>
In ES5 terms, Derived.__proto__ = Base in addition to Derived.prototype.__proto__ = Base.prototype
19:23
<Domenic>
Haha yay :)
19:29
<gsnedders>
jgraham: do you have thoughts on how Reviewable compares with Critic?
19:29
<gsnedders>
Domenic: __proto__ isn't an ES5 term! *hides*
19:32
<trevnorris>
Domenic: hm. was getting ahead of myself and didn't think through the implementation impact. e.g. https://gist.github.com/trevnorris/e3144f66dfa0aac6ff27#file-inheritence-stuff-es6-js
19:33
<trevnorris>
Domenic: how do I get the _onreadable value from the specific class calling the constructor in Readable?
19:34
<trevnorris>
because it is changing the value on the inherited class properly, but not sure how to get it from the Readable constructor().
19:53
<trevnorris>
Domenic: nm. got it figured out. didn't know you could reference this.constructor.
21:10
<jgraham>
gsnedders: They managed to make the UI even more confusing
21:11
<gsnedders>
jgraham: impressive.
21:12
<gsnedders>
jgraham: sounds like it integrates better with GH, though
21:31
<MikeSmith>
does anybody ever try to run blame on the HTML spec
21:31
<MikeSmith>
nm
21:31
<MikeSmith>
was just taking a lot longer than I remembered it taking
21:51
<trevnorris>
Domenic: is there a spec somewhere for "new.target" within a class constructor?
22:04
<caitp>
trevnorris, what do you mean?
22:05
<trevnorris>
caitp: posted something on the "use strong" mailing list and someone told me that you can't use "this.constructor" in a constructor() callback. instead should use "new.target"
22:05
<trevnorris>
caitp: never heard of it before.
22:05
<caitp>
it's a new thing
22:05
<caitp>
as of like january, iirc
22:05
<trevnorris>
ah, okay. is there a spec out for it, or has it just been discussed?
22:05
<caitp>
if "new.target" is undefined, it means that the function was not called with `new`
22:06
<caitp>
yeah, it's all in the ES spec --- search for [[NewTarget]]
22:06
<trevnorris>
thanks.
22:06
<caitp>
if it's not undefined, it's the target constructor (eg, the one which was the operand of `new`)
22:13
<gsnedders>
MikeSmith: yes
22:39
<jgraham>
gsnedders: Yes, the github integration is better in the sense that rebases are more seamless and it seems to not randomly fail to sync occasionally
22:39
<jsbell>
uh, so idlharness requires ES6 arrow functions now?
22:39
<jgraham>
jsbell: That's a bug, fixes welcome
22:39
<jgraham>
I thought someone already fixed it but apparently not
22:40
<jgraham>
(people have been using them in Mozilla code for years, so it's easy to forget they don't work everywhere yet)
22:45
<jsbell>
jgraham: https://critic.hoppipolla.co.uk/r/4777
22:45
<jsbell>
"works on my machine"
22:49
<jgraham>
jsbell: r+ and merged
22:51
<jsbell>
jgraham: yay
22:51
<jgraham>
jsbell: Thanks for the fix and sorry for the inconvenience
22:54
<jsbell>
np; now to figure out if I should add allow_uncaught_exception sprinkles to some tests...
23:48
<TabAtkins>
zcorpan: Okay, stacktrace fixed. That one was tricky!