| 07:36 | <MikeSmith> | botie, inform annevk https://lost-contact.mit.edu/afs/cern.ch/w3.org/www/Consortium/Agreement/Full.html "Ownership of Copyrights and Patents" & "Licenses" |
| 07:36 | <botie> | will do |
| 09:50 | <darobin> | I thought I had seen a page on the wiki listing the conventions for ID names (e.g. for DOM stuff) but I can't seem to find it |
| 09:50 | <darobin> | did I dream it or just failing at search? |
| 09:51 | <darobin> | there's an incoming patch for much better WebIDL support in ReSpec and I'd like to use the opportunity to completely align with the convention; having a page to point the guy to would help |
| 09:52 | <darobin> | ah, found it |
| 09:55 | <Ms2ger> | Good |
| 11:01 | <zcorpan> | is it defined when :active starts and stops applying relative to events like mousedown, mouseup, click ? |
| 11:03 | <zcorpan> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/3341 :-/ |
| 11:13 | <Ms2ger> | zcorpan, that sounds like a job for... D3E |
| 11:13 | Ms2ger | cackles |
| 11:33 | <zcorpan> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/3342 does what i expect in firefox but in my other test case it says 'false' for both events. can't figure out what the difference is |
| 11:44 | <botie> | annevk, at 2014-12-18 07:36 UTC, MikeSmith said: https://lost-contact.mit.edu/afs/cern.ch/w3.org/www/Consortium/Agreement/Full.html "Ownership of Copyrights and Patents" & "Licenses" |
| 12:37 | <zcorpan> | i kind of got stuck here. https://critic.hoppipolla.co.uk/r/3537 |
| 12:37 | <zcorpan> | possibly i've made a stupid mistake and i don't see it |
| 13:13 | <zcorpan> | oh. i think i found it. e.preventDefault cancels :active from applying! |
| 16:45 | <gsnedders> | so jgraham, are we still trying to maintain a linear history in html5lib-python? because up till now we basically have. |
| 16:46 | <gsnedders> | even though it doesn't integrate well with github's PRs |
| 16:46 | <jgraham> | gsnedders: I think we should give up on that :( |
| 16:47 | <jgraham> | There are so many PRs that just need to be merged |
| 16:47 | <gsnedders> | jgraham: my problem is I don't like merging stuff till we have tests "passing" again |
| 16:48 | <gsnedders> | because it just becomes way more time consuming checking for regressions |
| 16:49 | <jgraham> | gsnedders: So last I saw the PR for adding an ignore list had "don't merge this" on it |
| 16:49 | <gsnedders> | jgraham: because of the questions in the thread |
| 16:52 | <gsnedders> | jgraham: i.e., how do we handle failing tests involving lone surrogates |
| 16:52 | <gsnedders> | jgraham: the other option is to just fix the bug and worry about this another time :P |
| 16:55 | <jgraham> | gsnedders: I am happy with that option |
| 16:56 | <gsnedders> | I'll /try/ and get something done this evening. This may well not happen. |
| 19:28 | <Hixie> | annevk: you around? what's the story on intents these days? |
| 20:15 | <annevk> | Hixie: no real story |
| 20:16 | <annevk> | Hixie: we have some ideas, but limited bandwidth to experiment |
| 20:16 | <annevk> | Hixie: it seems like service worker to service worker communication will come first, perhaps that'll provide some way to let sites figure out client-side cooperation |
| 20:17 | <annevk> | Hixie: although that doesn't give you the decentralized stuff of course |
| 20:17 | <annevk> | ato: that's not just the case for Error's prototype |
| 20:18 | <annevk> | ato: all prototypes are global-bound |
| 20:18 | <annevk> | ato: (re tweet) |
| 20:19 | <ato> | annevk: RIght, I was trying to figure out why err instanceof Error was acting weird across chrome- and content contexts in XPCOM. |
| 20:24 | <annevk> | ato: you should also know that Gecko has a non-standard implementation of instanceof for "DOM" objects |
| 20:24 | <annevk> | ato: (unless that was put into IDL) |
| 20:24 | <annevk> | ato: Gecko's instanceof for "DOM" objects doesn't care about the window the object belongs to |
| 20:27 | <ato> | Interesting. |
| 20:31 | <roc> | annevk: I believe that's in the spec |
| 20:32 | <roc> | heycam definitely told me it's in the spec :-) |
| 20:32 | <annevk> | http://heycam.github.io/webidl/#es-interface-hasinstance |
| 20:32 | <annevk> | I'm not a fan, we already moved stuff from "DOM" to ES, this would break whenever we do that |
| 20:33 | <annevk> | E.g. this will break for promises in Gecko |
| 20:35 | <annevk> | https://twitter.com/arslancb/status/545674463530844161 foolip? |
| 20:36 | <roc> | is it really the case that, e.g., there is one Array prototype per window so that [] created in one window is not an instanceof Array in another window? |
| 20:37 | <annevk> | roc: afaik, yes |
| 20:37 | <roc> | if so, that's broken and needs to be fixed in ES |
| 20:38 | <annevk> | roc: Allen is not too interested :-( |
| 20:38 | <roc> | sucks to be him |
| 20:38 | <annevk> | heh |
| 20:39 | <annevk> | I doubt we could actually make them the same at this point |
| 20:39 | <roc> | why? |
| 20:41 | <Domenic> | wow, no, that is a super-importnat property of ES |
| 20:41 | <Domenic> | programmers depend on it a lot |
| 20:42 | <Domenic> | it's extremely useful to be able to mutate the prototype in one window and have it not affect another |
| 20:42 | <Domenic> | i was just doing that this morning in fact |
| 20:43 | <TabAtkins> | Yup, I've done it before too. |
| 20:43 | <TabAtkins> | Lets you lift the magic attached to some objects, like arrays, without polluting the "normal" array. |
| 20:43 | <TabAtkins> | Because subclassing doesn't work. |
| 20:47 | <roc> | well |
| 20:47 | <roc> | the behavior of instanceof is the important thing here |
| 20:48 | <roc> | we don't actually need the prototype objects to be the same |
| 20:54 | <Domenic> | ... that is literally the definition of instanceof |
| 20:54 | <annevk> | Domenic: it has a hook now so objects can define instanceof to behave however they wish |
| 20:54 | <Domenic> | sure. let's say: that is literally the definition of instanceof that JS developers expect. |
| 20:55 | <roc> | unfortunately developers also expect an <img> to be an instanceof HTMLImageElement |
| 20:55 | <Domenic> | nah, not if it comes from another frame |
| 20:56 | <Domenic> | then it should be instanceof otherFrame.contentWindow.HTMLImageElement |
| 20:56 | <roc> | no-one expects that |
| 20:56 | <roc> | except a few standards gurus |
| 20:56 | <Domenic> | instanceof is not a nominal type test |
| 20:56 | <Domenic> | if you want the name just use tagName |
| 20:56 | <Domenic> | or .constructor.name or similar |
| 20:58 | <roc> | http://stackoverflow.com/questions/1760492/how-can-i-tell-if-a-javascript-object-is-an-image-or-a-canvas |
| 21:14 | <Hixie> | annevk: if i have someone who wants to contribute, where should i point them to? (for intents) |
| 21:39 | <annevk> | Hixie: I guess the WHATWG list and that thread on sharing is all there is thus far |
| 21:39 | <annevk> | Hixie: and the WHATWG wiki page on sharing |
| 21:39 | <Hixie> | k |
| 23:06 | <jgraham> | Domenic: [citation needed] on "that's what js developers expect". testharness.js has at least two places which say "we want to use instanceof here but can't because we don't know which window the object is from" |
| 23:06 | <TabAtkins> | Read "what js developers expect" as "what [sufficiently enough that we can't break backwards compat] js developers expect".. |
| 23:06 | <jgraham> | I believe that at least one of those was previously a bug |
| 23:08 | <jgraham> | TabAtkins: "this is an unfortunate legacy behaviour we can't change" is totally different from "that's what developers expect". |
| 23:08 | <TabAtkins> | Well, I've come to expect it, at least. |
| 23:09 | <jgraham> | Sure but you have also come to expect document.all. It doesn't mean it's a great ideea |
| 23:21 | <Hixie> | http://w3c.github.io/web-animations/ has some messed up MathML stuff |
| 23:21 | <Hixie> | search for <{ |
| 23:22 | <birtles> | Hixie: I'll look into it |
| 23:22 | <birtles> | ... but I blame bikeshed already :) |
| 23:25 | <birtles> | TabAtkins: was there a recent change to bikeshed's handling of mathml? |
| 23:25 | <TabAtkins> | Shouldn't have been. |
| 23:25 | <birtles> | my local copy of bikeshed works fine but tip seems to be broken |
| 23:25 | <TabAtkins> | BUT WHO KNOWS |
| 23:25 | <TabAtkins> | (I didn't do anything on purpose.) |
| 23:26 | <TabAtkins> | Ahahaha, I know what happened. |
| 23:26 | <TabAtkins> | I wrote a custom serializer, and lxml's handling of namespaces is hilariously bad. I'll file an issue and deal with this asap. |
| 23:26 | <birtles> | TabAtkins: thanks! |
| 23:27 | <Hixie> | oh man, lxml |
| 23:27 | <Hixie> | lxml is one of the reasons i dumped anolis :-) |
| 23:29 | <MikeSmith> | in the python world I'm not sure what practical alternative there is to lxml |
| 23:30 | <TabAtkins> | There really isn't, particularly since I use CSSSelect. :( |
| 23:31 | <MikeSmith> | yeah whatever other python things there might be, I think they have worse problems |
| 23:31 | <Hixie> | yeah, i dumped python for that same reason |
| 23:31 | <MikeSmith> | baby meet bathwater |
| 23:32 | <MikeSmith> | python has the advantage of being something a lot of other people have some familiarity with already |
| 23:33 | <MikeSmith> | and anyway in my experience at least lxml just works pretty well overall. It's got some quirks but again in my experience at least it's not a giant hardship to work around them |
| 23:34 | <MikeSmith> | I say all this as somebody who's neither really fond of lxml nor python myself |
| 23:35 | MikeSmith | goes back to fixing problems with a broken python script for web-platform-tests... |
| 23:44 | <MikeSmith> | does chown -r not follow symlinks? |
| 23:45 | <Hixie> | probably depends on -h ? |
| 23:45 | <Hixie> | dunno |
| 23:47 | <MikeSmith> | k |
| 23:48 | <MikeSmith> | hmm yeah it seems for sure it doesn't |
| 23:48 | <MikeSmith> | looking the man page and the docs for the -h and -H args |
| 23:49 | <MikeSmith> | even with -H, "If the -R option is specified, symbolic links on the command line are followed. (Symbolic links encountered in the tree traversal are not followed.) |
| 23:49 | <Domenic> | any ideas how to do *:not(.example *) in a browser that doesn't support complex selectors inside not? |
| 23:49 | <Hixie> | MikeSmith: ah well there you go |
| 23:50 | <Hixie> | Domenic: you want to match all elements that aren't a child of .example? |
| 23:50 | <Domenic> | Hixie: yep |
| 23:50 | <Hixie> | Domenic: :not(.example) > *, :not(.example) > * * |
| 23:50 | <Hixie> | hm, though that won't work |
| 23:51 | <Hixie> | for descendants |
| 23:51 | <TabAtkins> | No, can't do it without more constrained tree. |
| 23:51 | <TabAtkins> | (So that you can explicitly knock everything else out.) |
| 23:51 | <TabAtkins> | And even then it's terrible. |
| 23:51 | <Hixie> | Domenic: wait, i don't understand what you want here. |
| 23:51 | <Hixie> | Domenic: if you just want "not child of .example", then ":not(.example) > *" |
| 23:51 | <TabAtkins> | All element that aren't inside of a .example. |
| 23:52 | <Hixie> | is that what :not(.example *) does? |
| 23:52 | <Hixie> | so it's like the equivalent of my :not(:matches(.example #)) ? |
| 23:52 | <Domenic> | I think :not(.example) * might work |
| 23:52 | <Domenic> | So basically I have this CSS reset `* { box-sizing: border-box; margin: 0; padding: 0; }` |
| 23:53 | <Domenic> | but I noticed it was also affecting my examples |
| 23:53 | <Domenic> | which is bad |
| 23:53 | <TabAtkins> | Domenic: Nope. That selector <.example><foo><div> |
| 23:53 | <Hixie> | ":not(.example) *" will match... what TabAtkins said |
| 23:53 | <TabAtkins> | Rather, that selects the <div> there. |
| 23:53 | <Domenic> | ah |
| 23:53 | <TabAtkins> | Hell, it'll match <.example><div> as long as <.example> has an ancestor. |
| 23:53 | <Hixie> | the old fashioned way to do this is: |
| 23:53 | <Hixie> | * { ... } |
| 23:53 | <Hixie> | .example * { ... } |
| 23:53 | <Domenic> | also its specificity is way higher than * so that's causing my own problems |
| 23:53 | <Domenic> | yeah |
| 23:53 | <TabAtkins> | It'll only rule out elements which have .example as *all* their ancestors. |
| 23:54 | <Domenic> | Hixie: yeah I tried that but I can't get the margin/padding to go back to their "defaults" |
| 23:54 | <Hixie> | well you can hard-code the defaults |
| 23:54 | <Hixie> | 40px for blockquote margin-left, etc |
| 23:55 | <Domenic> | it may be time to just do a targeted margin: 0/padding: 0 on all the things I am using |
| 23:55 | <Domenic> | Wish Chrome supported complex :not's |
| 23:57 | <Domenic> | While I'm hear does anyone know what's the deal with `-webkit-margin-before` and friends? |
| 23:57 | <TabAtkins> | what about them? |
| 23:58 | <Domenic> | what do they even do, why do they need nonstandard properties |
| 23:58 | <TabAtkins> | They're like margin-left, but logical directions rather than physical., |
| 23:58 | <TabAtkins> | And they're non-standard because we haven't defined logical margins yet. |
| 23:58 | <Domenic> | logical = related to right-to-left/left-to-right? |
| 23:58 | <heycam> | TabAtkins, if you could do that soon it would be good :-) |
| 23:58 | <TabAtkins> | Yes, direction and writing-mode. |
| 23:58 | <heycam> | I'm fixing up our logical properties right now |
| 23:58 | <TabAtkins> | heycam: Yeah, fantasai and I intend to. :/ |
| 23:59 | <Domenic> | cool, thanks |
| 23:59 | <heycam> | TabAtkins, one thing that's not clear from the various mailing list postings is whether logical properties are exposed on a computed style object |