03:12
<annevk>
Domenic: was also thinking of allowing Error to be cloned per JakeA's request since aklein doesn't think that is problematic
03:12
<annevk>
Domenic: if you remove the slot it would be though, but I suppose that is unlikely now
03:16
<Domenic>
Seems reasonable. I should probably just close that PR.
03:27
<MikeSmith>
rniwa: it’s really nice to see the implementation coming together and the wrinkles getting ironed out
03:28
<MikeSmith>
and the iteration back into spec discussion that falls out from the implementation work
03:34
<rniwa>
MikeSmith: indeed.
05:48
<annevk>
Hmm cloning Error and friends is a little trickier than I thought
05:51
<annevk>
I suspect browsers actually have more branding on them than just [[ErrorData]]
10:17
<annevk>
nox: what setup does Servo have for https://github.com/whatwg/dom/issues/34?
10:21
<zcorpan>
https://html.spec.whatwg.org/#attr-translate - does this mean Text node children or Text node descendants?
10:23
<annevk>
zcorpan: children
10:23
<annevk>
zcorpan: it inherits
10:23
<zcorpan>
ah
10:55
<MikeSmith>
I had meant to make time to look at the “allow <link> in body for external resource links” change before it landed, as far as the document-conformance part at least
10:56
<MikeSmith>
need to figure out how to make more time for stuff going forward
10:56
<MikeSmith>
anyway it seems like zcorpan looked at that part in detail and if so then I’m confident
10:57
<MikeSmith>
now I need to update the checker
11:02
<MikeSmith>
well
11:04
<MikeSmith>
one thing I notice is that we ended up with no (informative) list in one place in the spec that says, The attributes that are body-ok are pingback, prefetch, and stylesheet.
11:05
<MikeSmith>
the lack of that seems suboptimal for author/developer readers
11:05
<MikeSmith>
because we are forcing them to look at the spec text of every single rel value themselves to figure out which ones are body-ok
11:06
<MikeSmith>
it at least could be flagged in the table just after https://html.spec.whatwg.org/multipage/semantics.html#body-ok
11:07
<MikeSmith>
zcorpan:
11:07
<MikeSmith>
zcorpan: ⬆
11:07
<MikeSmith>
if you agree, I’ll raise a follow-up PR that adds it
11:08
<zcorpan>
MikeSmith: good idea
11:08
<zcorpan>
new column i guess
11:08
<MikeSmith>
hai
11:08
<MikeSmith>
yeah
11:25
<MikeSmith>
hmm that change also
11:26
<MikeSmith>
* that change also muddied up the relationship of the 「Thus, rel="next" is the same as rel="NEXT".」example to the spec text that previously had immediately preceded it
11:26
<MikeSmith>
will correct that too
11:46
<zcorpan>
MikeSmith: oops. i should be checking the output more carefully
11:48
<MikeSmith>
no biggy
11:50
<MikeSmith>
I’m not too keen on the vagueness of “Certain keywords are said to be”, so will futz that part too
11:52
<MikeSmith>
which is going to end up maybe with a bit belt-and-suspenders redudancy but I think it will still be better for readers
11:52
<MikeSmith>
more clear
12:02
<zcorpan>
MikeSmith: note that other specs can define keywords too, and say that those are body-ok (e.g. preload)
12:03
<MikeSmith>
zcorpan: well, so we should say that too then
12:04
<MikeSmith>
instead of leaving it unstated
12:04
<MikeSmith>
because the current spec text says nothing about that as far as I can see
12:04
MikeSmith
re-reads to see if he missed something
12:06
<zcorpan>
4.6.6.17 Other link types needs to mention body-ok
12:07
MikeSmith
looks there
12:08
<MikeSmith>
hmm yeah
12:08
<MikeSmith>
this is becoming a bit of a thread-pulling thing
12:09
<MikeSmith>
because that means the microformats wiki also needs to be updated
12:11
<MikeSmith>
zcorpan: right? I mean a column needs to be added to the tables there
12:13
<zcorpan>
MikeSmith: it depends. could say that it's the responsibility of the Specification to talk about body-ok if it wants it allowed in the body, it doesn't need to be in the wiki
12:13
<MikeSmith>
yeah
12:13
<MikeSmith>
you’re right
12:14
<MikeSmith>
that’s better
12:23
<nox>
annevk: I implemented an UnbindingContext.
12:23
<nox>
For the removing steps that are called recursively.
12:25
<nox>
annevk: You don't explain why you want to call them on ancestors though.
12:36
<annevk>
nox: I don't
12:36
<annevk>
nox: but insertion steps isn't yet called on descendants
12:36
<nox>
annevk: Ok, misunderstood what it was about.
12:36
nox
annevk: Sounds like a bug indeed.
12:37
<nox>
annevk: Wait, you sure?
12:37
<nox>
annevk: https://dom.spec.whatwg.org/#concept-node-insert-ext Step 6?
12:37
<annevk>
nox: how does that include descendants?
12:37
<nox>
Oh right, never mind.
12:37
<nox>
Just woke up. :P
12:38
<annevk>
Also, that the removing steps are passed oldPreviousSibling doesn't match any browser and that we pass oldParent is weird, because for most descendants it'll be an ancestor, not a parent
12:38
<annevk>
I guess I'll just go with oldAncestor
12:38
<nox>
annevk: We discussed that.
12:39
<nox>
We discussed that last year, when I implemented that crap in Servo.
12:39
<annevk>
I know we did, this issue is old
12:39
<nox>
annevk: I wanted two kind of hooks, and someone here convinced me that we could just distinguish parent from ancestor by checking whether the child's parent is oldParent.
12:39
<nox>
annevk: Want me to link Servo's code?
12:40
<annevk>
nox: sure, doesn't hurt
12:40
<annevk>
nox: I believe Chrome has distinct calls for parent change and ancestor change, but I'm not sure we need that in the spec
12:41
<nox>
annevk: Mmmh, we don't, but it might make some prose a bit weirder.
12:41
<nox>
"If child's parent isn't oldParent, abort these steps" or things like that.
12:41
<nox>
annevk: Every time I look at our implementation of DOM, some step numbers changed. :(
12:42
<annevk>
Yeah, maybe, but we could abstract things too with prose if it get unwieldy
12:42
<annevk>
nox: what can I say, the web evolves
12:42
<nox>
:D
12:42
<annevk>
nox: also, I think you might be responsible for most recent changes there
12:43
<annevk>
Oooh, maybe zcorpan is
12:43
<zcorpan>
did i break something?
12:44
<nox>
annevk: We recursively call insertion and removing steps on all descendants,
12:44
<nox>
annevk: and for removing, here is the data passed around: https://github.com/servo/servo/blob/master/components/script/dom/node.rs#L2471-L2482
12:44
<annevk>
zcorpan: you might have broken where comments in Servo point to
12:44
<annevk>
zcorpan: sorry for pinging
12:44
<nox>
annevk: We cache the index of the removed node and whatnot because we piggy-back this loop to update DOM ranges.
12:44
<zcorpan>
ah
12:44
<nox>
annevk, zcorpan: Oh well, that's an E-Easy issue for newcomers, maybe I should thank zcorpan. ;)
12:45
<annevk>
nox: curious that you pass the oldPreviousSibling
12:45
<annevk>
nox: browsers don't
12:45
<nox>
annevk: We do use it for some reason, let me find where again.
12:45
<nox>
annevk: The stec want it, no?
12:45
<nox>
spec* wtf
12:45
<annevk>
I don't want it if browsers don't have it
12:45
<nox>
annevk: Oh yeah,
12:46
<nox>
annevk: UnbindContext::index needs it.
12:46
<nox>
annevk: https://github.com/servo/servo/blob/master/components/script/dom/node.rs#L2503
12:46
<nox>
annevk: I didn't want to compute the index if nothing needed it.
12:49
<nox>
annevk: That there is the old previous sibling is not public in the API of UnbindContext btw,
12:49
<nox>
annevk: so feel free to nuke it away, even Servo doesn't care.
12:50
<annevk>
Good times
12:50
<annevk>
The reason this comes up now by the way is that this will get more complicated with shadow DOM
12:51
<annevk>
Because then we don't just include descendants, but also any shadow trees hosted by any descendants, etc.
12:54
<nox>
annevk: I see.
12:56
<nox>
annevk: Just realised Document.all is still going on.
12:56
<annevk>
24/7 entertainment
12:58
<nox>
annevk: Especially given we are all over the world. :D
12:58
<nox>
It really gets 24/7 comments.
13:09
<annevk>
Sigh, bikeshed again changes random shit in the output
13:09
<annevk>
It's getting to the point where I just avoid editing bikeshed specs
13:13
<JakeA>
Would love bikeshed to switch to node, I think it'd be easier to contribute then. Never been able to get bikeshed running locally, kept rabbit-holeing on dependencies that wouldn't install
13:19
<annevk>
It's such a non-deterministic piece of crap ugh
13:20
<annevk>
I was hoping to make some progress on DOM but it's no fun if the tools fall apart
13:22
<annevk>
I think I actually might be better off with Anolis
13:22
<annevk>
bikeshed has been nothing but pain and all the promised features of auto-linking are in a constant state of broken
13:33
<nox>
JakeA: I don't see what switching to Node brings.
13:33
<nox>
JakeA: That still means dependencies to install.
13:34
<nox>
annevk: What was used before bikeshed?
13:34
<annevk>
Anolis
13:34
<nox>
annevk: And why does it break stuff all the time?
13:34
<JakeA>
nox: in my experience it's way simpler. Node & npm install easily, then it's just npm install
13:35
<JakeA>
nox: compare that to https://github.com/tabatkins/bikeshed/blob/master/docs/install.md
13:35
<annevk>
nox: I have no idea, presumably because Tab keeps landing changes without verifying that they don't change existing outputs
13:35
<nox>
JakeA: Didn't encounter any problem with building Bikeshed, and given what I hear about npm…
13:35
<JakeA>
I don't know what you hear
13:35
<annevk>
nox: you can review https://github.com/whatwg/dom/pull/184 though
13:36
<nox>
JakeA: Same experience as you with bikeshed-as-Python-tool, mostly.
13:36
<nox>
annevk: Filed a ticket on bikeshed btw?
13:36
<annevk>
yeah, see PR
13:37
<nox>
annevk: Can we really say the descendant of an inserted node is an inserted node?
13:37
<JakeA>
nox: where are you hearing that from?
13:37
<annevk>
yes
13:37
<nox>
JakeA: Frustrated people on the IRC.
13:38
<nox>
annevk: Not renaming the newNode in the loop?
13:38
<JakeA>
The complaints I hear about NPM are speed rather than complexities around having to install a load of global dependencies with sudo
13:38
<JakeA>
I can't remember the last time I had to do that with npm
13:38
<annevk>
nox: I guess we could rename that node
13:39
<jgraham>
JakeA: TabAtkins' instructions are crazy. Install python stuff into virtualenvs not globally
13:40
<jgraham>
But my experience is that everyone likes the package manager they are used to
13:40
<annevk>
JakeA: would happily switch to something node-based
13:40
<jgraham>
To me "we should rewrite X because it's not in javascript" is terrible reasoning
13:40
<JakeA>
jgraham: ahh, maybe it is just an instructions thing. If memory serves I was getting tripped up on the macports stuff.
13:41
<jgraham>
Yeah, I wouldn't write the instructions like that
13:41
<nox>
jgraham: Same.
13:41
<annevk>
jgraham: the reasoning is more that it'd be maintained by JakeA and not TabAtkins
13:42
JakeA
runs away
13:42
<annevk>
ECMAScript has something node-based too
13:42
<JakeA>
But if the tool is for a web developer audience, writing it in web technologies seems better for a comunity
13:42
<annevk>
https://github.com/bterlson/ecmarkup
13:43
<JakeA>
for the community*
13:43
<jgraham>
If your answer was "we should Go from N tools to N-1 tools", that seems reasonable. If it's
13:43
<jgraham>
"we should go from N tools to N+1 tools" that's less reasonable
13:43
<Ms2ger>
Rust :)
13:43
<nox>
Says the guy who doesn't want to see codegen in Rust. :P
13:44
<jgraham>
I was going to say, write it in Rust, ship a binary that doesn't require any installation, and encourage web developers to broaden their skillset to contribute :)
13:44
<nox>
That being said,
13:44
<jgraham>
I guess Hixie would say the same but s/Rust/FreePascal/
13:44
<jgraham>
;)
13:44
<nox>
we do have a working HTML parser and that would be a good test.
13:45
<nox>
(Test as in "is that useful outside of Servo and its author's own projects".)
13:47
<jgraham>
nox: It also requires some rather large amount of free time to get it working :)
13:47
<jgraham>
(a useful spec generator, I mean)
13:47
<nox>
True. :)
13:48
<annevk>
Maybe gsnedders wants to do it again
13:49
<Ms2ger>
I know I don't
13:51
<annevk>
ecmarkup is prolly the best bet
13:52
<annevk>
although I haven't really tested its speed
13:56
<nox>
If I had that free time, I would rather rewrite our WebIDL parser in Rust.
13:56
<nox>
I don't have that free time.
15:23
<dbkaplun>
Is there some relation between whatwg and ecma262?
15:23
<Ms2ger>
Yes, Domenic :)
15:25
<dbkaplun>
Does WhatWG as a group have any influence over the JS spec or is it just Domenic?
15:27
<Ms2ger>
Not more than the sum of the people that make it up
15:28
<TabAtkins>
annevk: Woah, what in the actual fuck is going on with the <p> stuff. I haven't touched that area in ages.
15:29
<annevk>
Hope you can excuse the vented frustration earlier
15:30
<Ms2ger>
(Please don't move back to anolis)
15:30
<TabAtkins>
Totally. (Tho it's interesting that you're the only person I've heard such complaints from.)
15:32
<annevk>
Maybe nobody else actually looks at what's being generated?
15:32
<TabAtkins>
That's mostly true, yeah.
15:32
<annevk>
That's how the CSS WG operates, no?
15:34
<astearns>
fantasai complains about the output, but then just fixes things manually
15:35
<annevk>
Oh my
15:38
<nox>
Occasionally-venting-to-people-who-know-you-are-just-frustrated FTW.
15:42
<TabAtkins>
Luckily, most of her complaints are with the data source - a bunch of specs haven't been published in a while, and so she can't get good linking into the TR versions.
15:43
<TabAtkins>
(I just went thru a bug of hers with about a dozen complaints - one I'd already fixed, one I filed a new bug for, and the rest were just specs with bad or old markup.)
15:43
<TabAtkins>
annevk: Yo, I can't reproduce your <p> bug. Those two paragraphs seem to gen just fine to me.
15:44
<annevk>
TabAtkins: you don't get a gigantic diff?
15:45
annevk
wonders what is going on then
15:45
<TabAtkins>
No, if I freshly gen the master branch, there's just a few points. The biblio index part has a decent diff because I stopped generating useless self-links there.
15:45
<TabAtkins>
But otherwise it's just two constructors that the new widlparser code recognizes have optional args.
15:49
<TabAtkins>
annevk: Oh, *now* I see a problem. I had to apply one of the changes in your branch.
15:49
<TabAtkins>
There must be something fucked up with comment handling.
15:50
<annevk>
I see, I think there's other comments
15:50
<TabAtkins>
Yeah, I'm confused. Let me fiddle with this.
15:50
<TabAtkins>
(This is almost certainly not a recent problem, fwiw - I haven't touched the relevant parts of the code in a while. This is something old you're the first to hit.)
15:51
<annevk>
TabAtkins: oh wow, <script> element to script element does wonders
15:51
<Ms2ger>
Ha
15:51
<annevk>
TabAtkins: what is going on there?
15:51
<annevk>
I'll do script element for now then
15:52
<TabAtkins>
Ah, yeah, that's the problem. Just figured it out myself.
15:52
<TabAtkins>
That's... interesting.
15:54
<annevk>
Are you parsing HTML with a regexp?
15:55
<TabAtkins>
Oh god no.
15:55
<TabAtkins>
I *am* parsing *Markdown* with a regex, which happens before the HTML parser has a chance to run.
15:56
<jgraham>
Now you have two problems?
15:56
<TabAtkins>
And my check for "am I entering a block that shouldn't have any processing done to it" is naive and just checks for the existence of <script>/<pre>/<style> start tags on the line.
15:56
<TabAtkins>
So it misfires on that comment line, and then the rest of your document stops being markdown-processed because you don't have a stray </script> anywhere. ^_^
15:57
<TabAtkins>
So you don't get paragraphs anymore.
15:57
<annevk>
I have no response
15:58
<TabAtkins>
Hey, Markdown is crazy pants and there's no official parser.
15:58
<TabAtkins>
(And I couldn't use one anyway, because the interaction of indented code blocks and html nesting is crazypants and would fuck everything up. Indented code blocks are a misfeature.)
15:59
<TabAtkins>
So anyway, I'll file a bug on myself and figure out how to deal with comments.
15:59
<TabAtkins>
For now, yeah, just don't put a literal "<script>" (or <pre> or <style> or <xmp>) inside of a comment.
16:00
<jgraham>
It does feel like the solution to "format X can't be parsed" might be "don't use format X"
16:00
<TabAtkins>
Tell that to everyone who loves Markdown (including me).
16:02
<annevk>
ecmarkup handles Markdown inclusion better I think
16:02
<annevk>
And has linking extensions on top that make it quite neat
16:03
<TabAtkins>
Ooh, hadn't heard of the linking extensions.
16:04
<annevk>
Stuff like "1. Let _x_ be ? SomeAbstractOperation(_y_)." links the operation
16:04
<annevk>
It's quite nice and makes ECMAScript one of the better formatted specifications out there
16:04
<annevk>
Platform is kind of a jungle compared to that
16:05
<nox>
Markdown has a specification now, no?
16:06
<annevk>
Not according to its inventor
16:06
<TabAtkins>
nox: Yeah, commonmark, but it still contains indented code blocks, which interact *terribly* with "let's mix lots of raw HTML into it too".
16:06
<nox>
Disregard inventor. :P
16:06
<TabAtkins>
Nobody cares what gruber thinks about it, since he refuses to "spec" anything further than "whatever bullshit perl I vomited into this file, bugs and all".
16:07
<nox>
I don't get his train of thought.
16:07
<annevk>
Given that every application of it requires slightly different extensions, he doesn't seem so wrong really
16:08
<annevk>
It's highly contextual
16:08
<nox>
Talking about contextual things,
16:08
<nox>
if someone is sad to have done too much bikeshed today,
16:08
<nox>
here is a photo of my cats thinking they are Legos. https://usercontent.irccloud-cdn.com/file/xRr4n7J1/1457096736.JPG
16:09
<nox>
It's important to have cats when doing spec editing.
16:10
<jgraham>
So there's something to eat your body if it all becomes too much and you lose the will to live?
16:10
<nox>
jgraham: So that if all is Hell, at least you have cats to pet.
16:11
<TabAtkins>
Hm, I was thinking I could do a preprocessing step to remove comments first (and restore them afterwards), but that won't help if you do <div title="hahaha here's a <script> tag fukker">.
16:11
<TabAtkins>
So maybe I'll just make the "I'm starting a block" check more restrictive, and require those tags to be the first non-WS content on their line. This has a chance of breaking things, tho.
16:20
<TabAtkins>
Okay, added a comment to the Breaking Changes Notification Thread, we'll see if anything shakes out.
16:20
<TabAtkins>
Thanks for finding the bug, annevk. ^_^
16:21
<annevk>
I hope you checked that fix on a couple of specs
16:42
<TabAtkins>
I haven't made the fix yet.
16:42
<TabAtkins>
Wont' for a couple days at least.
16:52
<Ms2ger>
TabAtkins, is http://www.adambarth.com/papers/2009/barth-caballero-song.pdf in the references database bikeshed uses, and how can I get it made so?
16:52
<TabAtkins>
specref.org is the place you want to check
16:53
<TabAtkins>
And it looks like no.
16:53
<Ms2ger>
Can I add it in a spec-local way?
16:54
<Ms2ger>
TabAtkins, ^
16:55
<TabAtkins>
Yeah, with a <pre class=biblio> block. https://github.com/tabatkins/bikeshed/blob/master/docs/definitions-autolinks.md#bibliography, look at the first code-block in that section for an example.
16:55
<TabAtkins>
And I can get it into SpecRef no problem, I have commit rights now.
16:56
<TabAtkins>
Oh gosh I need to update some of the text in that documentation section.
16:59
<Ms2ger>
https://github.com/whatwg/mimesniff/pull/6
16:59
Ms2ger
poofs
17:04
<TabAtkins>
That... is a remarkably small diff for a Bikeshed move.
17:14
<annevk>
It's not done it seems
17:14
annevk
hopes Ms2ger coordinates with padenot
19:37
<gsnedders>
annevk: I have no interest in writing a spec generator, really. Maybe a touch of interest in trying to see if I can get it elegantly done with loop fusion. Maybe once the next PyPy and lxml releases come out see how much work is involved in getting bikeshed running there
19:38
<TabAtkins>
Iirc, I'm only stuck on Python 2 to make plinss's life easier, because Shepherd has some py2-only dependencies (involving Mercurial, I think).
19:39
<gsnedders>
TabAtkins: pypy is pretty much py2-only
19:39
<gsnedders>
but so much quicker
19:39
<TabAtkins>
Oh, cool.
19:39
<TabAtkins>
I'd love quicker! Free perf gains are always nice.
19:39
<gsnedders>
There *is* PyPy3k, but it's several releases behind CPython
19:40
<gsnedders>
Also it's slower than PyPy, because all the work on it has been about getting it complete rather than fast
19:43
<TabAtkins>
(Some clever applications of loop fusion would probably be good - a significant part of Bikeshed's runtime is running selectors, and a single double-size selector run once is much less expensive than two selectors run separately.)
19:53
<gsnedders>
TabAtkins: right, this was true in Anolis too, essentially. It's also why we really want to move to PyPy, a lot of the overhead of running selectors is interpreter overhead rather than anything inherently CPU expensive
19:54
<gsnedders>
TabAtkins: but it's why I'm really curious about Haskell for this, given loop fusion is pretty easy to achieve where needed, in part because of the purity
21:12
<aklein>
Domenic, annevk: so remember how I said it was fine to check enumerability as you go in structured clone?
21:12
<aklein>
I now think that's wrong
21:12
<Domenic>
aklein: you mean how I thought it was fine to trigger multiple proxy traps since proxies are disallowed? Or something else?
21:12
<aklein>
Domenic: not because of proxies
21:13
<aklein>
the issue is, which set of properties should we loop over?
21:13
<aklein>
the way the spec does it, we loop over all the own keys
21:13
<aklein>
and then interleave checks for enumerability with calls to [[Get]]
21:13
<Domenic>
ah, i see!
21:14
<aklein>
neither WebKit or Blink
21:14
<aklein>
do that
21:14
<aklein>
(they both check for enumerability up front)
21:14
<Domenic>
aklein: want to file it, or shall i?
21:15
<aklein>
Domenic: if you wouldn't mind....
21:15
<aklein>
I assume you're fine with checking enumerability before triggering any possible side effects?
21:15
<aklein>
(especially given it matches implementations :)
21:17
<Domenic>
aklein: yeah that sounds totally fine, I think the current spec is just doing that because it was easy to spec/matched some existing ES prose.
21:17
<Domenic>
The old spec said something like "for each own enumerable property" so this is kind of a regression
21:20
<Domenic>
aklein: wait, how is this observable again? concrete example?
21:20
<Domenic>
a throwing non-enumerable getter won't be triggered. a throwing enumerable getter will be. seems the same as before, assuming no proxies.
21:35
<nox>
annevk: Are pseudo-elements supposed to be handled in DOM's Element.matches?
21:35
<nox>
As per the spec currently, they are.
21:36
<nox>
Cc SimonSapin.
21:36
<nox>
http://logs.glob.uno/?c=mozilla%23servo#c379296
21:37
<SimonSapin>
specifically https://drafts.csswg.org/selectors-4/#evaluate-a-selector "APIs using this algorithm […] may optionally provide […] which pseudo-elements are allowed to show up in the match list, if any. If not specified, this defaults to allowing all pseudo-elements."
21:50
<SimonSapin>
nox: https://github.com/whatwg/dom/issues/185
21:50
<nox>
Cool.
21:56
<aklein>
Domenic: a getter that deletes another propety
21:56
<aklein>
property
21:57
<aklein>
Domenic: see, e.g., https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/postmessage-clone.js&l=142
21:57
<aklein>
er
21:58
<aklein>
in this case it'd be a getter that changes the enumerable-ness of another property
21:58
<aklein>
but you get the idea
22:01
<Domenic>
aklein: perfect, thanks
22:03
<aklein>
Domenic: existing implementations do seem to check for the existence of a property during the loop anyway, though it'd be awesome if we didn't have to do that
22:03
<Domenic>
aklein: oh i see, wow so many proxy traps being triggered
22:04
<aklein>
not really proxy related, just the existence of getters
22:05
<Domenic>
i guess i meant if we did allow proxies this isn't anywhere near how you would write the algorithm in order to minimize trap-triggering
22:18
<aklein>
Domenic: indeed :)
23:24
<nox>
Can anyone tell me if selectors4 still forbid nested :matches()? I remember it used to in the past but can't find it again in https://drafts.csswg.org/selectors/#matches. Did that change recently?
23:25
<nox>
TabAtkins: ^
23:30
<TabAtkins>
nox: Doesn't look like the requirements there anymore, so consider it gone.
23:30
<TabAtkins>
Certainly isn't a *recent* change, tho.
23:31
<nox>
Ah. :(
23:32
<TabAtkins>
Why :( ?
23:33
<nox>
Because I'm trying to support :matches and :not in a way that lets me compute the specificity in a clever way and it made things more difficult.