17:46 | <AryehGregor> | Is there a good way to test [[Configurable]]? |
17:46 | <AryehGregor> | Just delete and see if it works? |
17:46 | <_bga> | getOPD? |
17:47 | <AryehGregor> | Oh, awesome. |
17:47 | <AryehGregor> | Thanks! |
17:48 | <AryehGregor> | I guess if that returns the right thing but it doesn't behave right, that's more of an ES bug than a WebIDL bug. |
18:01 | <_bga> | AryehGregor http://pastie.org/2857719 |
18:05 | <AryehGregor> | Only IE9 ever passes my new shiny assert_interface(). |
18:05 | <AryehGregor> | Go IE. |
18:06 | <AryehGregor> | Gecko doesn't have Node.prototype.constructor. |
18:07 | <AryehGregor> | Node.prototype is enumerable and configurable in Opera, and should be neither. |
18:07 | <AryehGregor> | In WebKit, window.Node is not writable but is enumerable, while it should be writable but not enumerable. And String(Node) is wrong. |
18:10 | <Ms2ger> | AryehGregor, can you also try it on NodeList? |
18:11 | AryehGregor | tries |
18:12 | <AryehGregor> | Ms2ger, works. |
18:12 | <AryehGregor> | I mean, it passes everything. |
18:12 | <Ms2ger> | Excellent |
18:54 | <AryehGregor> | What's an example of a static operation that's actually used in real life? I don't find any in DOM4, and the only one I find in HTML is URL.createObjectURL. |
18:59 | <Ms2ger> | IDB |
18:59 | <Ms2ger> | Those are the only two |
19:03 | <AryehGregor> | jgraham, I submitted another testharness.js patch: http://www.w3.org/Bugs/Public/show_bug.cgi?id=14814 |
19:30 | <heycam> | AryehGregor, also you can test Object.getOwnPropertyDescriptor(obj, propname).configurable |
19:31 | <Ms2ger> | heycam, yes, that's what _bga said |
19:32 | <heycam> | Ms2ger, I'd have realised that if I'd read just one line further, I suppose :) |
19:32 | <Ms2ger> | :) |
21:37 | <gsnedders> | AryehGregor: getOPD often returns bogus things for host objects in general. |
21:38 | <Ms2ger> | Well, then that's an excellent thing to test |
21:38 | <gsnedders> | A WebIDL mapping issue rather than a per-interface issue in general, though |
21:38 | <gsnedders> | And I'm not sure WebIDL actually requires it to be correct |
21:39 | <heycam> | hopefully it does |
21:40 | <gsnedders> | I have some draft email somewhere about things that WebIDL fails to specify. |
21:40 | <gsnedders> | I know what your intention is, heycam :) |
21:40 | <Ms2ger> | Send it, dammit :) |
21:40 | <heycam> | gsnedders, yes please send :) |
21:43 | <gsnedders> | Oh, no, it's fixed now anyway |
21:44 | <Ms2ger> | :) |
21:46 | <heycam> | yay |
22:21 | <annevk> | heh |
22:22 | <annevk> | HTML5 new featured by WSJ: http://online.wsj.com/article/SB10001424052970203537304577030033160849296.html |
22:22 | <Ms2ger> | "Implementations that use ECMAScript to implement the APIs defined in this specification must implement them in a manner consistent with the ECMAScript Bindings defined in the Web IDL specification" |
22:22 | <Ms2ger> | Does that mean C++ implementations are free to do whatever? |
22:22 | <annevk> | I hope so |
22:23 | <heycam> | "implement" there is a bit iffy |
22:23 | <heycam> | it's not the implementation of the DOM needing to be js |
22:23 | <annevk> | we should definitely not make requirements on other languages I think |
22:23 | <heycam> | it should be saying if the APIs are exposed to JS |
22:23 | <heycam> | or something |
22:24 | <annevk> | heycam: any chance we can get unions in? |
22:24 | <annevk> | heycam: if not, I think I'm just going to use them when I get back to editing DOM4 |
22:24 | <heycam> | ha |
22:24 | <annevk> | heycam: much like Hixie's has been using non-existing features |
22:24 | <heycam> | I think they make sense |
22:25 | <heycam> | dunno if it is worth trying to drop all the overload stuff just in favour of unions |
22:25 | <Ms2ger> | Btw, cabal, please review the mouse lock spec |
22:25 | <heycam> | might be possible |
22:25 | <annevk> | Ms2ger: place a pointer in |
22:25 | <annevk> | though I'm going to try to sleep shortly |
22:25 | <Ms2ger> | http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html |
22:25 | <annevk> | still adjusting after the flight :( |
22:26 | <annevk> | heycam: there's definitely some overlap |
22:26 | <Ms2ger> | Hmm, sleeping... |
22:26 | <annevk> | heycam: though the append() stuff you cannot really do with overloading because of the varargs |
22:27 | <annevk> | allowing append(Comment, Text) does not work with append(Comment...); append(Text...) afaict |
22:28 | <annevk> | via this new "Activity" feature of twitter I find out that people "favorite" tweets a lot |
22:28 | <heycam> | annevk, yeah that wouldn't allow append(aComment, aComment, aText, aComment) |
23:16 | <annevk> | so much for sleeping before midnight :) |
23:17 | <annevk> | http://imgur.com/K7D7Y hehe |
23:17 | <gsnedders> | jgraham: tokenizer.py:184(entitiesStartingWith) is a huge bottleneck in html5lib/PyPy, accounting for a 1/6th of complete.html parse-time. |
23:17 | <gsnedders> | Guess we should move over to using a trie. |
23:17 | <gsnedders> | I mean, we could cache it, but that seems hacky, and will just end up using way more memory than doing it properly. |
23:19 | <Philip`> | Alternatively, hardcode the entities lt/gt/amp/quot because they're a vast majority of all occurrences |
23:19 | <Philip`> | (and fall back to a slower search if it's none of them) |
23:20 | <Philip`> | (Also, look at data to verify the hypothesis that those entities are the vast majority) |
23:29 | <gsnedders> | Philip`: Doesn't help seeming it's scanned one-character-at-a-time |
23:32 | <Philip`> | See if first char is l/g/a/q; if so, see if self.stream.char() is t/t/m/u; etc; then when it falls off the fast path, send the whole list of characters to the slower lookup code |
23:33 | <Philip`> | Might avoid the cost of doing a load of expensive dictionary lookups (as with a trie) for the common cases |
23:35 | <gsnedders> | Seems to be the slowest thing in Python 2.7.2 too |