| 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 |