14:19
<nox>
annevk: https://github.com/whatwg/dom/pull/121#issuecomment-160642738
14:21
<annevk>
nox: 1) thank you 2) I have nitpicks; I would prefer first declaring the variable and then moving the if statement to where you have "Otherwise" now; and the variables in the note need to be marked up as such
14:22
<annevk>
nox: also, you need to adjust step 14 to account for this new variable
14:22
<nox>
Oh right forgot that part.
14:23
<annevk>
nox: the reason for the first nit is that it seems cleaner to only use "let" once
14:23
<nox>
annevk: I had written this amend and checked it out of place when I thought smaug____ was wrong. :(
14:23
<nox>
annevk: Ok.
14:23
<annevk>
HTML sometimes uses the if X, let Y, otherwise let Y style and it always seems kinda sketchy to me
14:23
<nox>
annevk: I prefer two lets because that means no mutation, but I get your point.
14:26
<nox>
annevk: Amended.
14:30
<annevk>
nox: thank you, looks good, smaug____?
14:32
<smaug____>
what should I look at?
14:34
<smaug____>
perhaps https://github.com/nox/dom/commit/3daeba1bd04a2c8db09020ffa2a25828fba52416
14:34
<smaug____>
is it defined what "empty list" means?
14:34
<smaug____>
(just don't see from this context)
14:35
<nox>
smaug____: I suppose:
14:35
<nox>
<li><p>Let <var>event path</var> be a static ordered list of all <var>target</var>'s <a>ancestors</a> in <a>tree order</a>, if <var>target</var> is <a>participating</a> in a <a>tree</a>, and the empty list otherwise.
14:35
<nox>
It's already used elsewhere.
14:35
<Ms2ger>
"let document be the Document most recently associated with that Window object."
14:35
<smaug____>
k
14:37
<smaug____>
Ms2ger: ?
14:38
<Ms2ger>
Wondering if that's supposed to be anything more complex than window.document
14:39
<Ms2ger>
Defined as "The document IDL attribute must return the Window object's newest Document object.", where "the Window object's newest Document object" is a link to "Each Document in a browsing context is associated with a Window object."
14:39
<nox>
Ms2ger: Document.write?
14:39
<nox>
Ah misread your wondering. :)
14:39
<nox>
Thought you were saying it must be the most complex thing ever.
14:39
<Ms2ger>
No, jdm's event handler compilation stuff
14:41
<annevk>
nox: I think removedNodes should be set to null initially
14:41
<annevk>
oh no
14:42
<annevk>
never mind, I'm being silly
14:42
<annevk>
smaug____: "empty list" is about as detailed as we go typically
14:44
<nox>
annevk: Mmh, that's not as silly as it seems.
14:44
<nox>
annevk: "If removedNodes is given, set record’s removedNodes to removedNodes,"
14:44
<nox>
annevk: I feel like it shouldn't be set at all, and it's kinda a PITA to define that.
14:45
<annevk>
nox: I think empty list and not present ends up meaning the same thing though
14:46
<annevk>
nox: I guess technically the specification says "empty NodeList"
14:46
<annevk>
hmm
14:46
<nox>
annevk: Semantically yes, but it's not the same for the mutation record, AFAICT.
14:47
<annevk>
nox: why not?
14:48
<nox>
annevk: That's not what Firefox does, at the very least.
14:49
<nox>
annevk: Never mind, it doesn't matter you are right.
14:58
<annevk>
nox: if you could rebase I'll merge this as is, seems good enough
15:06
<nox>
annevk: Done.
15:08
<bblfish_>
I put up a web cryptography question on stack exchange http://stackoverflow.com/questions/33971634/how-can-one-distinguish-js-opaque-objects
15:08
<nox>
annevk: https://github.com/w3c/web-platform-tests/pull/2379 That too? :)
15:10
<annevk>
nox: merged
15:10
<nox>
annevk: Cool.
15:10
<annevk>
(both)
15:57
<bblfish_>
@annevk did I get the defaults right for RequestInit in https://github.com/bblfish/scala-js-dom/blob/FetchAPI/src/main/scala/org/scalajs/dom/experimental/Fetch.scala#L69 ?
15:58
<bblfish_>
I am not sure that is the right way to do things yet ...
15:58
<annevk>
bblfish_: as I told you before, I don't really know scala
15:58
<annevk>
bblfish: also, some of the defaults depend on the specifics of the constructor algorithm so you can't really declare them upfront
15:59
<annevk>
bblfish: if you could, the IDL dictionary would have included them
15:59
<wanderview>
annevk: if you have time before leaving for PTO, can you comment on this issue? https://code.google.com/p/chromium/issues/detail?id=559447
15:59
<bblfish>
ah.
15:59
<wanderview>
unless its already been discussed in github issues (I haven't read that mail yet)
15:59
<wanderview>
(also, its weird that you don't show up in the members list for the channel)
16:00
<bblfish>
yes, it's really complicated to work out what the right way to build the constructor is
16:00
<annevk>
bblfish: well, just follow the list of steps
16:00
<annevk>
wanderview: hmmmmm
16:00
<bblfish>
they are really long :-/
16:01
<annevk>
wanderview: so, the whole skip service worker flag seems like a distraction
16:01
<annevk>
wanderview: the way this should work is that "navigate" does a fetch without following redirects
16:01
<bblfish>
yes, I kind of noticed. It depends a lot on what options you select. Perhaps a table of things that don't go together would help
16:02
<annevk>
wanderview: if it gets a redirect it creates a new request from that redirect and does it exactly like the first one, this may go to the same service worker, or not, depending on the URL
16:02
<wanderview>
annevk: I think the html spec navigate spec needs to clarify if it creates a new Request for each redirect follow
16:02
<wanderview>
annevk: it does? where does it say that?
16:02
<wanderview>
all I could find was the vague "handle redirects"
16:02
<bblfish>
btw. in that method declaration the thing after the = is the default value.
16:02
<annevk>
wanderview: well, it's not exactly a new request, it uses the response and the original request to create a new request, but that isn't really defined
16:03
<wanderview>
annevk: ok... but does the not-really-defined process clear the skip-service-worker flag on the original request?
16:03
<annevk>
wanderview: I have no idea about the skip-service-worker flag business
16:04
<annevk>
wanderview: where does that even get set?
16:04
<wanderview>
annevk: HTTP Fetch step 4
16:04
<wanderview>
annevk: step 4.2
16:04
<bblfish>
I could create a number of constructors, one where one of the options is hardwired, and the other options are left open to help the user work out what he can chooose.... But would probably require a very very very careful study of that spec.
16:06
<annevk>
wanderview: so that only gets set if the service worker didn't give a reply
16:06
<annevk>
wanderview: if the service worker returns a redirect, response cannot be null, can it?
16:06
<wanderview>
annevk: exactly... didn't give a reply is the case we care about
16:06
<annevk>
wanderview: okay, catching up here :-)
16:07
<wanderview>
annevk: if the SW doesn't give a reply... should the navigate still check further service workers for interception?
16:07
<wanderview>
on redirect
16:07
<wanderview>
np... its confusing
16:07
<annevk>
so yeah, I guess we should only set it when redirect mode is "follow"
16:08
<annevk>
and of course, we should define the (request, redirectResponse) -> request thingie at some point...
16:08
<annevk>
so navigation can use that
16:08
<annevk>
wanderview: does that make sense? I have to go now, but I'll check back in a couple of hours
16:09
<Ms2ger>
annevk, r? https://github.com/whatwg/html/pull/365
16:09
<wanderview>
annevk: it does, but I guess I'm curious if it applies only to navigates... I'll write a spec issue
16:09
<annevk>
Ms2ger: better ask someone else
16:10
<annevk>
wanderview: well, navigate is the only place that doesn't follow redirects automatically
16:10
<annevk>
wanderview: anyway, my suggestion is to special case "redirect mode" rather than "navigate", as we did elsewhere
16:10
<Ms2ger>
someone else: r? https://github.com/whatwg/html/pull/365
16:10
<annevk>
wanderview: (step 3.3 of the same algorithm)
16:11
<wanderview>
annevk: ok, thanks
16:11
<Domenic>
annevk: how are you not the perfect person to review that?
16:13
<Ms2ger>
I even dropped the period
16:13
<annevk>
time
16:13
wanderview
can't tab-complete Domenic's name either...
16:13
<Domenic>
grumble grumble now I have to go re-learn the difference between listener and callback and other fun things...
16:14
<Ms2ger>
Domenic, afaict, listener was renamed to callback in DOM
16:14
<Ms2ger>
Domenic, if that's wrong, I'll revert that bit
16:14
<Domenic>
Ms2ger: "An event listener consists of a type, callback, and capture." (And in a second sentence following it, a removed flag.)
16:16
<Domenic>
Ms2ger: so I think your change is correct...
16:16
<Domenic>
reviewing
16:20
<Ms2ger>
Domenic, looks like I was right on renaming, and HTML was way behind the times: https://github.com/whatwg/dom/commit/e89fef9c0d80688736bbea2527047862eba238f6
16:23
<Domenic>
Having "event listener" and "event handler" and the callback function itself be different objects is ... special? Putting on my author hat the only reaction I can imagine is a massive WAT.
16:32
<Ms2ger>
Domenic, re-review? :)
16:35
<Domenic>
Ms2ger: all done! \o/
16:35
<Domenic>
that wasn't as bad as I feared
17:00
<annevk>
Domenic: I can do it next week most likely, oh, you did it, good
17:21
<annevk>
Domenic: why does https://github.com/heycam/webidl/pull/13 not handle {1:2,3:4} as input?
17:47
<Domenic>
annevk: why would it? objects are not iterable
17:47
<Domenic>
annevk: new Map({ 1: 2, 3: 4}) does not work.
18:03
<annevk>
Domenic: it seems kind of annoying to not have that work though
18:03
<annevk>
Domenic: for headers especially
18:03
<Domenic>
annevk: it makes sense for Map where keys are arbitrary objects. For headers, sure, you would want to dispatch on whether @@iterator is present
18:04
<annevk>
okay, coupled with not doing subclassing perhaps we can go IDL all the way then for now...
18:05
<Domenic>
"Let iterator be Get(argument, @@iterator). If iterator is undefined, run algorithm for extracting from an object. Otherwise, run initializing objects from iterables"
18:41
<Hixie_>
i have contacted dreamhost regarding the downtime
18:52
<bblfish>
Ok I think I found a good way to do the defaults: I leave it up to the browser :-)
18:53
<bblfish>
Mh I wonder if the client can capture more details when there is an exception due to a broken server certificate.
18:53
<bblfish>
That would be very useful to report this to the user.
21:55
<Domenic>
Can anyone help me write some basic cross-origin web platform tests? jgraham?
21:56
<Domenic>
I am guessing based on https://github.com/w3c/web-platform-tests/blob/master/cors/origin.htm there is a global CROSSDOMAIN variable that just points to the same files?
21:57
<Domenic>
oh nope that's in https://github.com/w3c/web-platform-tests/blob/master/cors/support.js
22:05
<Domenic>
Hmm support.js gives a syntax error for those {{ports[http][0]}} lines
22:05
<Domenic>
(I am use ./serve)
22:34
<jgraham_>
Domenic: So the trick is that there's two ways to enable template substitutions
22:34
<jgraham_>
You can either name the file foo.sub.ext or include it with ?pipe=sub
22:34
<jgraham_>
s/include/access/
22:35
<Domenic>
Ahh
22:35
<jgraham_>
So generally the foo.sub.ext is more obvious to others
22:36
<Domenic>
Hmm not working. support.sub.js?
22:37
<Domenic>
?pipe=sub works though
22:39
<jgraham_>
I mean that actually has to be the filename on disk
22:39
<Domenic>
Oh I see
22:39
<jgraham_>
The query string works if it isn't the filename
22:40
<Domenic>
Well I'm reusing /cors/support.js so I will just keep using ?pipe=sub
22:55
<jgraham>
OK