| 02:06 | <annevk> | TabAtkins: CSS needs to define somewhere "origin of style sheet" (which is the origin of the document that included the style sheet) |
| 02:06 | <annevk> | TabAtkins: then CSS Fonts and such can just use that |
| 02:16 | <annevk> | zcorpan: your "Sync cssom specs" commit to xref broke stuff |
| 02:16 | <annevk> | zcorpan: e.g. it doesn't seem like there's separate references for the getclientrects methods anymore |
| 06:16 | <TabAtkins> | annevk: kk, can do. Looks like Cascade might be the best place to put it. |
| 06:16 | <TabAtkins> | Since it defined @import |
| 06:19 | <hsivonen> | what are the normal working hours for #sysreq? Boston office hours on weekdays? |
| 06:23 | <TabAtkins> | Likely. |
| 06:34 | <annevk> | hsivonen: also France |
| 06:52 | <TabAtkins> | annevk: Thoughts on issue 2 at <http://dev.w3.org/csswg/css-syntax/#the-input-byte-stream>? |
| 07:03 | <annevk> | TabAtkins: fwiw, TC39 crowd dislikes CSSVariablesDeclaration-type interfaces |
| 07:04 | <annevk> | TabAtkins: because of Object.prototype |
| 07:04 | annevk | looks at issue 2 |
| 07:05 | <annevk> | TabAtkins: I think hsivonen might have a better informed opinion on that |
| 07:06 | <annevk> | TabAtkins: it's not entirely clear to me that restriction would make things safer |
| 07:28 | <annevk> | Hmm, serialization of arbitrary CSS token streams as required by CSS Variables also seems interesting |
| 07:47 | <Ms2ger> | annevk, I think that's all, then. Want to fix the other bug too? :) |
| 08:09 | <annevk> | Ms2ger: that one requires more thinking from what I remember |
| 08:09 | <jgraham> | heycam seems to be suck in some superposition of states |
| 08:10 | <annevk> | In other news, http://lists.w3.org/Archives/Public/public-texttracks/2013May/0016.html makes me sad. "it might inform a discussion of TTML profiles" is like a double red flag. |
| 08:10 | <annevk> | TTML is bad. Profiles also bad. Combined, ... |
| 08:13 | <annevk> | jgraham: he's here |
| 08:14 | <jgraham> | Wavefunction must have collapsed |
| 08:24 | <ambv> | jgraham: I got some feedback during the conference. First of all, it seems people expect html5lib to provide a custom tree format. I directed them towards bs4 for a straightforward querying API. |
| 08:24 | <annevk> | Ms2ger: so yeah, the idea was that HTML would invoke the "set parser" |
| 08:24 | <annevk> | Ms2ger: e.g. "Either when an element is created that has a class attribute or when an element's class attribute is set to a value other than the empty string, set the element's classes to the new value, parsed." is what DOM uses itself |
| 08:25 | <annevk> | Ms2ger: if that is missing anything or is not convenient enough, that'd be good to know |
| 08:27 | <jgraham> | ambv: Interesting. I mean that doesn't make much sense, but I see why people would think that |
| 08:27 | <jgraham> | Because it's traditional for libs to tightly couple parsing and representation |
| 08:28 | <ambv> | yes, I share your view that it's great to have those decoupled. |
| 08:28 | <ambv> | jgraham: Another thing, it seems we're currently very slow compared to other parsers and this makes for some poor PR, aka FUD. |
| 08:28 | <ambv> | So increasing performance would be a good target for post-1.0 releases. |
| 08:54 | <jgraham> | ambv: Well it's no secret that we're slow. Not sure it's possible to squeeze that much more performance out of pure python |
| 08:54 | <jgraham> | Or at least, we have spent non-trivial effort benchmarking it in the past |
| 08:55 | <jgraham> | Reading through one character at a time just isn't very efficient. But that's needed for a compliant implementation. |
| 08:56 | <jgraham> | Really I think the effort would be better spent on writing a C implementation in libxml2 |
| 08:56 | <jgraham> | Then lxml.html would be fast and non-sucky |
| 08:56 | <ambv> | We can at least work with the PyPy guys to make it JIT compile better. |
| 08:56 | <jgraham> | Yeah, that makes sense |
| 08:57 | <jgraham> | Especially since lxml on PyPy doesn't seem to work so well |
| 08:57 | <ambv> | Currently for huge documents it's 5x faster than CPython but for typical documents it's 2x … slower. |
| 08:58 | <ambv> | jgraham: lxml still is 30x faster than html5lib on PyPy ;) but I guess there's much potential in improving html5lib performance. it would be big news for both html5lib and PyPy if we got the performance on par with lxml. |
| 08:58 | <ambv> | jgraham: https://github.com/ambv/html5lib-microbench |
| 08:58 | <SimonSapin> | jgraham: in libxml2, do you mean incremental conformance improvements on the existing parser, or a brand new implementation? |
| 09:00 | <jgraham> | SimonSapin: Yes :p |
| 09:00 | <SimonSapin> | jgraham: yes to which? |
| 09:01 | <jgraham> | One of those. It was a non-exclusive or, right? ;) |
| 09:01 | <jgraham> | I haven't looked at the existing parser well enough to know if "incremental improvements" are likely to end up with something conformant |
| 09:02 | <SimonSapin> | I had in mind, which do you think would be the way to go? |
| 09:02 | <jgraham> | If they would, that would be the low risk option, but my general feeling is that unless you started with the right architecture you won't end up with something conformant |
| 09:03 | <jgraham> | And so far only WebKit were close to having the right architecture |
| 09:03 | <jgraham> | and taht was because the spec was based on more on webkit than on anyone else |
| 09:09 | Ms2ger | kicks his connection |
| 09:10 | <Ms2ger> | annevk, do we have a bug on Hixie to invoke the set parser, then? |
| 09:52 | <annevk> | marcosc: you don't want "Call resolver's reject(value) method with error as value argument."; you want to call the internal resolve algorithm |
| 09:53 | <annevk> | Ms2ger: that could be that bug I suppose |
| 09:53 | <Ms2ger> | wfm |
| 09:53 | <annevk> | Ms2ger: bit slow today |
| 09:54 | <marcosc> | annevk: makes sense |
| 09:54 | <marcosc> | (I din't write the text, fwiw) |
| 09:54 | <annevk> | marcosc: k |
| 09:55 | <annevk> | marcosc: also needs to say something about running the remaining steps asynchronously and not terminating when you return |
| 09:55 | <annevk> | marcosc: looks okay otherwise |
| 09:55 | <marcosc> | annevk: thanks :) |
| 09:56 | <marcosc> | annevk: will update the corresponding bug on the sysapps repo |
| 10:41 | <zcorpan> | TabAtkins: "When errors occur in CSS, the parser attempts to recover gracefully, throwing away only the minimum amount of content before returning to parsing as normal." isn't quite true. for instance, a broken selector throws away the entire ruleset rather than just the selector |
| 10:43 | <zcorpan> | or maybe i misunderstood. it talks about the parser, while throwing away rulesets happens later |
| 10:44 | <ambv> | jgraham: http://pypi-externals.caremad.io/help/what/ |
| 10:48 | <jgraham> | ambv: Context? |
| 10:49 | <ambv> | jgraham: distutils is very very very slow when it scrapes websites to find downloadable links. Disable this functionality by explicitly listing that we only publish packages on PyPI |
| 10:49 | <ambv> | this makes downloading packages significantly faster |
| 10:53 | <gsnedders> | ambv: Yeah, I saw that a few days ago. |
| 10:53 | <gsnedders> | ambv: But I thought it was in setup.py that changed the metadata, not just on PyPI |
| 10:54 | <ambv> | gsnedders: the newest distribute and setuptools are smarter than that but the default is still spurious scraping unless you opt-in on PyPI to the faster method |
| 10:56 | <gsnedders> | ambv: Does this have to be done per-version? |
| 10:56 | <gsnedders> | Le sigh. |
| 10:57 | <gsnedders> | No, doing it once seems enough. |
| 10:57 | <gsnedders> | Well, okay. |
| 11:08 | <ambv> | :-) |
| 13:20 | <zcorpan> | TabAtkins: isn't the specced bad-url behavior bad for future compat if we want to add expressions in url()? |
| 15:40 | <TabAtkins> | zcorpan: I don't think we ever can. |
| 15:40 | <Ms2ger> | Apparently document.all.tags has been broken in Gecko since Fx3.0 |
| 15:41 | <miketaylr> | :'( |
| 15:41 | <miketaylr> | quit breaking my sweet dhtml site guys |
| 15:42 | <Ms2ger> | Should tell sicking :) |
| 16:09 | <TabAtkins> | annevk: Can you explain what the Object.prototype problem is? Keys set on Object.prototype showing up as non-own properties on all objects? I don't know why that's a problem for this kind of interface, or what I could do about it. |
| 16:09 | <TabAtkins> | annevk: Maybe expose it as a JS Map? |
| 16:10 | <TabAtkins> | annevk: Also, Syntax + CSSOM mandate how to serialize arbitrary token streams. |
| 16:10 | <TabAtkins> | (Or rather, will, once CSSOM finishes serialization stuff.) |
| 16:12 | <TabAtkins> | zcorpan: Text about error-recovery is of course approximate and non-normative. But throwing away "just the selector" on a ruleset wouldn't help much - you'd be left with a ruleset with no selector, which doesn't match anything. |
| 16:13 | <TabAtkins> | But anyway, I have compat constraints to operate under with error recovery. |
| 16:14 | <Ms2ger> | TabAtkins, I think the point was about |foo, #broken# { ... }| not applying anything to foo |
| 16:15 | <TabAtkins> | Hm, exposing Variables as a JS Map seems like a much better idea anyway. Wonder why I didn't think about that? |
| 16:15 | <TabAtkins> | Ms2ger: Ah, perhaps. That was unclear. Regardless, we know that was a mistake, but not one we can fix. |
| 16:15 | <TabAtkins> | ;_; |
| 16:16 | <TabAtkins> | heycam|away|away: Your username is weird. Also, there any IDL magic necessary to make something be a JS Map? |
| 16:17 | <Ms2ger> | TabAtkins, you guys might want to drop document.all.tags too |
| 16:51 | <dglazkov> | good morning, Whatwg! |
| 16:51 | <TabAtkins> | Ms2ger: I'll send an email. |
| 16:51 | <Ms2ger> | Ta |
| 16:52 | <TabAtkins> | Ms2ger: Got a bug or something I can ref? |
| 17:55 | <GPHemsley> | ICYMI: The Open Source (read: GitHub) Report Card: http://osrc.dfm.io/ |
| 17:58 | <jgraham> | "It seems—from their activity streams—that jgraham and w3c are probably friends" |
| 17:58 | <jgraham> | Hmm |
| 17:58 | <Ms2ger> | Ha |
| 17:59 | <Ms2ger> | TabAtkins, er, thought I'd replied: https://bugzilla.mozilla.org/show_bug.cgi?id=874084 |
| 18:00 | <Ms2ger> | "Ms2ger is a trend setting Javascripter" |
| 18:00 | <Ms2ger> | Well, that sure is news to me |
| 18:01 | <jgraham> | Maybe writing testharness.js is a trend? |
| 18:01 | <jgraham> | +tests |
| 18:01 | <Ms2ger> | Still one you set, then |
| 18:02 | <Ms2ger> | Also, apparently I do my work at 3am |
| 18:02 | <jgraham> | Yeah, I'm not convinced by its timezone corrections (and neither is it, to be fair) |
| 18:03 | <GPHemsley> | It's kinda revealing about how much work one does on GitHub vs. off it |
| 18:04 | <GPHemsley> | like, GitHub has no idea about my PHP stuff because it's not really on GitHub |
| 18:04 | <GPHemsley> | (and GitHub thinks mimesniff is Tcl, for some reason) |
| 18:07 | Ms2ger | kicks document.all some more |
| 18:08 | <jgraham> | Violence is the last refuge of the incompetent |
| 18:08 | <jgraham> | On the other hand document.all deserves it |
| 18:08 | <jgraham> | So please continue |
| 18:09 | <Ms2ger> | document.all["2"] |
| 18:09 | <Ms2ger> | What gives? |
| 18:09 | <Ms2ger> | How about ("2"), item("2"), namedItem("2")? |
| 18:12 | <Ms2ger> | The answer is obvious |
| 18:12 | <Ms2ger> | "depends on the browser" |
| 18:14 | <jgraham> | wwied? |
| 18:14 | <jgraham> | Or really wdied? |
| 18:15 | <Ms2ger> | ? |
| 18:15 | <jgraham> | what does IE do? |
| 18:16 | <Ms2ger> | Ah |
| 18:17 | <Ms2ger> | getElementsByTagName("*")[2] for [], () and item(), and the thing with name "2" for namedItem() |
| 18:19 | <Ms2ger> | Oh wait |
| 18:19 | Ms2ger | should look at the right lines |
| 18:20 | <Ms2ger> | getElementsByTagName("*")[2] for [] and (), and the thing with name "2" for item() and namedItem() |
| 18:24 | <jgraham> | Ah, so presto got it "right" then |
| 18:24 | <jgraham> | No surprise there :) |