| 00:08 | <astearns> | is it that there's 'no DRM' or that they're not 'adding to the HTML5 spec'? I think their claim is that they're only adding data to the element |
| 00:09 | <TabAtkins_> | They're adding mechanisms whose sole purpose is enabling DRM within the browser to operate. |
| 00:11 | <astearns> | yes, but I think they're trying to convince (us? themselves?) that they're isolating DRM from HTML and the user agent |
| 00:11 | <TabAtkins_> | I don't understand the distinction you're claiming they're trying to draw. |
| 00:11 | <annevk> | so far my plans for sleeping earlier |
| 00:14 | smaug____ | is trying to get to bed before 4 am |
| 00:14 | <smaug____> | trying |
| 00:14 | <annevk> | mine is sleeping by 12AM |
| 00:14 | <Hixie> | you're somewhat behind :-) |
| 00:15 | <Hixie> | unless you're not in CET anymore |
| 00:15 | <annevk> | still am :( |
| 00:15 | <Hixie> | hehe |
| 00:15 | <annevk> | going now, read then sleep :) nn |
| 00:16 | <Hixie> | nn |
| 00:25 | MikeSmith | looks around for Ms2ger |
| 01:10 | <kennyluck> | huh, I love http://gavinsharp.com/irc/whatwg.html |
| 01:12 | <TabAtkins_> | kennyluck: Hey! I gotta lot of responses to CSS3 Images stuff you need to accept or reject! |
| 01:12 | <kennyluck> | TabAtkins_, I accept them all. |
| 01:13 | <TabAtkins_> | Cool, I'll add a minutes link to the issues list once it shows up. |
| 01:16 | <kennyluck> | (Honestly I have no idea what the process is. Perhaps I shouldn't have played Last Call games.) |
| 01:17 | <TabAtkins_> | It's easy. I just need to get an explicit "accept" or "reject" to every response I make to an LC issue. |
| 01:17 | <TabAtkins_> | (Or note that I couldn't get one.) |
| 01:18 | <TabAtkins_> | Then TimBL reviews the ones where the commenter didn't agree with me, and either accepts my resolutions or sends it back. |
| 01:18 | <kennyluck> | TabAtkins, is there a process that allows me to flag automatic "accept"? |
| 01:19 | <kennyluck> | flag myself as accepting anything, I mean. |
| 01:19 | <TabAtkins_> | I suppose you could just say that you accept any resolution (you just wanted to make a comment) in the initial email. |
| 01:19 | <TabAtkins_> | But it's not a big deal. |
| 01:26 | <jamesr__> | annevk, plh fixed the domcore->dom4 refs in the requestAnimationFrame spec |
| 01:27 | <jamesr__> | annevk, he also 'fixed' all the html references to point to w3.org/TR/html5/ |
| 01:33 | <MikeSmith> | so Ms2ger pinged me a few hours back to say "seems like the automatic reporting went into an infinite loop" about the following http://w3c-test.org/framework/details/dom4-Ms2ger-submissions/Document-getElementById.html/engine/gecko/ |
| 01:33 | <MikeSmith> | but I must be missing something |
| 01:34 | <MikeSmith> | because I don't see anything there that indicates any infinite loop is occurring |
| 01:35 | <MikeSmith> | maybe it was some transient problem that happened while I was jacking around with the backend and he just noticed it then but it's gone now |
| 01:39 | <MikeSmith> | AryehGregor: you working on CSS some these days? |
| 01:40 | <MikeSmith> | ah, Transforms |
| 01:40 | <MikeSmith> | cool |
| 04:14 | <MikeSmith> | sweet |
| 04:14 | <MikeSmith> | just now got websockets support working on w3c-test.org |
| 05:11 | <Hixie> | i need a less charged name that "specially focusable" |
| 05:11 | <Hixie> | something that doesn't imply that the element is focusable |
| 05:12 | <Hixie> | but which makes sense to use in the definition of "focusable" |
| 05:12 | <Hixie> | a "focus candidate" maybe |
| 05:16 | <Hixie> | "has its tabindex focus flag set" it is. |
| 06:50 | <MikeSmith> | how do I completely unset a particular apache directive? |
| 06:51 | <MikeSmith> | or set it back to the default? |
| 07:04 | <Hixie> | MikeSmith: depends on the directive |
| 07:04 | <MikeSmith> | Hixie: OK |
| 07:04 | <MikeSmith> | I was hoping there was just an "Unset" or whatever |
| 07:04 | <MikeSmith> | but I can see there's not |
| 07:04 | <Hixie> | i'm not aware of one |
| 07:04 | <Hixie> | for some it wouldn't make sense |
| 07:04 | <MikeSmith> | OK |
| 07:04 | <Hixie> | think of apache configs as an imperative language |
| 07:04 | <MikeSmith> | ah |
| 07:04 | <MikeSmith> | OK |
| 07:05 | <MikeSmith> | well, the one in particular I want to change is RequestReadTimeout |
| 07:05 | <MikeSmith> | for WebSocket testing |
| 07:05 | <Hixie> | no idea |
| 07:05 | <MikeSmith> | because the Debian defaults for that at least are too low |
| 07:05 | <MikeSmith> | OK |
| 08:31 | <Ms2ger> | MikeSmith, pong |
| 08:32 | <MikeSmith> | Ms2ger: hey |
| 08:32 | <MikeSmith> | are you still seeing that problem you reported yesterday? |
| 08:33 | <Ms2ger> | Let's try |
| 09:10 | <asmodai> | Buddy of mine who works on web frameworks: What break is that Chrome tries to find the /favicon.ico for the debugger which in Flask's case will invalidate the preserved local context. |
| 09:38 | <annevk> | jamesr__: "fixed" indeed |
| 09:42 | <jgraham> | MikeSmith: Is pywebsocket considered safe to put on public-facing servers these days? Last time I heard, it wasn't |
| 09:45 | <zcorpan> | http://code.google.com/p/pywebsocket/source/browse/trunk/src/mod_pywebsocket/standalone.py#87 |
| 09:45 | <annevk> | jamesr__: draft looks good though, didn't really spot any obvious mistakes, although more globals is too bad |
| 09:46 | <zcorpan> | not sure if that applies when using pywebsocket as an apache module rather than using standalone |
| 09:47 | <annevk> | jamesr__: any reason it doesn't just use partial Window btw? |
| 09:47 | <annevk> | jamesr__: in the IDL? |
| 09:47 | <annevk> | (this is about http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html fwiw) |
| 09:53 | <annevk> | links to the June 2010 draft of HTML |
| 09:53 | <annevk> | oh yes, dated references are some much better |
| 09:53 | <annevk> | o_O |
| 09:56 | <jgraham> | Oh wow |
| 10:28 | <[tm]> | jgraham: I'm using out through the Apache module |
| 10:28 | <[tm]> | using it |
| 10:29 | <[tm]> | installed frm Debian package |
| 10:30 | <jgraham> | Does that make it impossible to inject code? |
| 10:30 | <[tm]> | i didn't see any security bugs against the Debian package but will check when i get back |
| 10:31 | <silentimp> | Hi all. Is there any way to monitor changes inside DOM node, or change of some elements property (height for example)? In ie7+ and normal browsers. |
| 10:33 | <[tm]> | jgraham: i am happy to install whatever better alternatives there might be |
| 10:35 | <jgraham> | [tm]: I am not aware of what alternatives exist that meet all the requirements |
| 10:39 | <zcorpan> | silentimp: "ie7+ and normal browsers"? i think the answer to that is "no". if you change that to a different set of browsers, the answer is "mutation listeners", but those are going away and are being replaced by "mutation observers" (which isn't implemented yet, i think) |
| 10:39 | <zcorpan> | that's just for dom changes, not style changes |
| 10:40 | <zcorpan> | i'm not aware of style mutation observers or anything like that |
| 10:41 | <zcorpan> | although some browsers might have events for when reflow or repaint happens |
| 10:41 | <[tm]> | jgraham: http://www.tavendo.de/autobahn/ maybe |
| 10:42 | <[tm]> | https://github.com/oberstet/Autobahn |
| 10:43 | <silentimp> | mutation listeners implemented in ff,chrome and opera as far as i know. Not sure about safari. Is there any way but timers to emulate this events in IE? |
| 10:45 | <silentimp> | reflow and repaint is happen much more often then changes in specific node. so timer is better, am i right? |
| 10:45 | <annevk> | mutation events are implemented, but are going away |
| 10:45 | <annevk> | mutation observers is only implemented in Chrome |
| 10:45 | <annevk> | and only in a dev/beta build |
| 10:46 | <[tm]> | http://en.m.wikipedia.org/wiki/Comparison_of_WebSocket_implementations |
| 10:47 | <Ms2ger> | MikeSmith, yeah, can't reproduce the infinite loop either |
| 10:47 | <silentimp> | oh. so I think timer is best decision for the moment any way |
| 10:47 | <jgraham> | [tm]: The hardest requirement is "allows arbitary bits on the wire" |
| 10:47 | <jgraham> | We have to be able to create invalid responses |
| 10:47 | <jgraham> | But there's no good reason a server should let you do that |
| 10:47 | <jgraham> | So it might be hard to find an existing project that meets our needs |
| 10:48 | <jgraham> | (pywebsocket does do that, but seems to be insecure-by-design and not just to people writing tests) |
| 10:48 | <jgraham> | I kind of assume we will need custom code |
| 10:49 | <Ms2ger> | I believe Mozilla uses pywebsocket as well |
| 10:51 | <jgraham> | I think everyone uses it internally |
| 10:52 | <jgraham> | Which means it would be really nice to use it directly |
| 10:52 | <jgraham> | But it would also be really nice if people can't run arbitary commands on w3c-test.org |
| 10:53 | <Ms2ger> | Require review, like with php files? |
| 10:55 | <jgraham> | Well given the comment it's not clear that's safe enough |
| 10:58 | <jgraham> | I can't find the rationale for the comment htough |
| 11:01 | <zcorpan> | MikeSmith, hsivonen: in v.nu, when the image report is shown, you could check for width="" and height="" constraints because you know the intrinsic dimensions |
| 11:02 | <zcorpan> | would only work with js, though |
| 11:02 | <zcorpan> | and would probably take focus away from alt="" |
| 11:03 | <zcorpan> | maybe would be better to check this in a conformance checker that's integrated with devtools in a browser |
| 11:31 | <asmodai> | Crap, where is this ff memleak coming from |
| 11:31 | <hsivonen> | zcorpan: I suppose that would be doable |
| 11:31 | <hsivonen> | asmodai: extensions are the usual suspects these days |
| 11:32 | <asmodai> | hsivonen: Ghostery maybe? |
| 11:32 | <asmodai> | it's the only one I added in recent days |
| 11:32 | <asmodai> | Got to be it, as I was quite stable before that, mmm |
| 11:35 | <hsivonen> | asmodai: sounds believable |
| 11:36 | <hsivonen> | asmodai: this maybe? https://bugzilla.mozilla.org/show_bug.cgi?id=718375 |
| 11:36 | <asmodai> | oh hey |
| 11:40 | <asmodai> | ~50% in memory because of JavaScript XD |
| 11:40 | <asmodai> | on my ff instance |
| 11:42 | <asmodai> | hsivonen: could very well be that that is what I am running into. |
| 11:45 | <annevk> | I argued https://www.w3.org/Bugs/Public/show_bug.cgi?id=16074 for a while |
| 11:45 | <annevk> | did not really get anywhere |
| 11:51 | <hsivonen> | annevk: seen https://svn.tools.ietf.org/svn/wg/appsawg/draft-ietf-appsawg-mime-default-charset/latest/draft-ietf-appsawg-mime-default-charset.html ? |
| 11:53 | <annevk> | I heard something was going on |
| 11:53 | <annevk> | looks wrong |
| 11:53 | <annevk> | 'pecify that the "charset" parameter is not used for the defined subtype, because the charset information is transported inside the payload (as in "text/xml")' |
| 11:53 | <annevk> | text/xml definitely uses the charset parameter |
| 11:55 | <annevk> | and it continues |
| 11:55 | <annevk> | ' specifically including "text/html" and "text/xml", SHOULD NOT specify the use of a "charset" parameter, nor any default value, in order to avoid conflicting interpretations should the charset parameter value and the value specified in the payload disagree' |
| 11:55 | <hsivonen> | annevk: yeah, it sure looks wrong |
| 11:55 | <hsivonen> | also "The default charset parameter value for text/plain is unchanged from [RFC2046] and remains as "US-ASCII"." |
| 11:55 | <annevk> | mwaha ' The default charset parameter value for text/plain is unchanged from [RFC2046] and remains as "US-ASCII".' |
| 11:55 | <annevk> | yeah |
| 11:56 | <hsivonen> | now I need to figure out where to send feedback to |
| 11:56 | <hsivonen> | apps-discuss |
| 11:56 | <hsivonen> | another list to subscribe to |
| 11:57 | <annevk> | thanks, I don't want to subscribe to another list really |
| 12:10 | <annevk> | Ms2ger: you really prefer the interface callback stuff? |
| 12:10 | <Ms2ger> | I prefer interoperability, and we're not getting that with callbacks |
| 12:11 | <annevk> | sure we are |
| 12:11 | <annevk> | sometimes Microsoft does not play ball short term, but long term it works out |
| 12:11 | <annevk> | if some people at Mozilla do the same, it won't really work out any different |
| 12:12 | <Ms2ger> | Anyway, there is no good reason to make the platform less consistent here |
| 12:12 | <annevk> | the platform is already inconsistent |
| 12:13 | <annevk> | here |
| 12:13 | <annevk> | and there are good reasons |
| 12:13 | <annevk> | see the long public-script-coord thread |
| 12:20 | <hsivonen> | annevk: is there a summary that explains what problem is solved by changing JS strings to be indexed by UTF-32 code unit? |
| 12:22 | <annevk> | I think it's basically about better dealing with all the new code points |
| 12:22 | <annevk> | without libraries having to take special care |
| 12:22 | <hsivonen> | maybe I should read that thread and reply |
| 12:23 | <annevk> | a lot of the thread is terminology confusion |
| 12:23 | <hsivonen> | indexing by UTF-32 code unit is generally a false goal |
| 12:23 | <annevk> | and a few interesting questions about what to do with surrogate code points and such |
| 12:23 | <annevk> | I sure hope it's not going to get stored as utf-32 |
| 12:23 | <hsivonen> | since you still have to consider runs of more than one code unit to split strings on grapheme cluster boundaries |
| 12:23 | <hsivonen> | and people care about grapheme clusters |
| 12:24 | <annevk> | ah yeah, combining code points... |
| 12:24 | <Philip`> | Does any programming language have a widely-agreed-to-be-good approach to strings yet? |
| 12:25 | <hsivonen> | Philip`: probably not. I think UTF-8 plus standards library that doesn't suck for manipulating UTF-8 would be good. |
| 12:26 | Philip` | remembers seeing a preference towards forbidding random access of Unicode strings, and only allowing iteration (which means you can easily store as UTF-8 and can provide iteration over grapheme clusters or whatever) |
| 12:26 | <jgraham> | I think people generally choose either speed of certain operations or correctness in all cases, and the people who need one always see the other as broken |
| 12:27 | <Philip`> | (and adding a separate type for byte/character arrays with random access) |
| 12:27 | <jgraham> | So it's hard to construct a system that has uoniversal agreement |
| 12:27 | <jgraham> | *universal |
| 12:27 | <hsivonen> | Philip`: yeah, it's generally a non-goal to be able to index into strings |
| 12:28 | <hsivonen> | jgraham: I think there's a tendency towards what superficially looks like correctness, but real correctness is always harder |
| 12:28 | <jgraham> | Harder and slower |
| 12:28 | <hsivonen> | jgraham: e.g. indexing by Unicode character superficially looks like correctness but doesn't buy you much of interest |
| 12:29 | <annevk> | you can handle emoji better |
| 12:29 | <jgraham> | Basically I think most languages strike a balance between speed and correctness that make them look broken to everyone |
| 12:30 | <Philip`> | Android seems to be trying to force C++ code to stop using wchar_t strings (presumably in favour of UTF-8 encoded char strings), by providing minimal broken support for wchar_t |
| 12:30 | <hsivonen> | all-ascii identifiers are easy in any UTF and prose is hard in any UTF |
| 12:30 | <Philip`> | (which is a bit annoying when you have lots of code that uses lots of wchar_t strings) |
| 12:30 | <annevk> | but yeah sometimes I do have the feeling TC39 is just trying to design the perfect language |
| 12:30 | <hsivonen> | wchar_t is full of FAIL |
| 12:31 | <Philip`> | wchar_t gives you the problems of UTF-32, and the problems of UTF-16, and the additional problem of not knowing whether you're using UTF-32 or UTF-16 |
| 12:33 | <zcorpan> | sounds like html's definition of "unicode code point" |
| 12:34 | <crocket> | What should I use between <br> and <br/> for HTML documents? |
| 12:35 | <annevk> | either is fine |
| 12:35 | <Philip`> | crocket: Whichever you find most aesthetically pleasing |
| 12:36 | <hsivonen> | what's the term for MIME payload that I should use so that the IETF folk see I have the right shibboleth and don't laugh at me? "entity body"? |
| 12:37 | <annevk> | yeah |
| 12:37 | <crocket> | Do HTML parsers convert <br/> to <br>? |
| 12:37 | <annevk> | headers + entity body is what goes in a request/response |
| 12:37 | <annevk> | crocket: they just ignore the / |
| 12:37 | <hsivonen> | annevk: for HTTP. but RFC 2046 talks about message body. |
| 12:37 | <annevk> | crocket: so <br> is slightly better as there's less cruft |
| 12:38 | <annevk> | hsivonen: there's some conversion between the two, hmm |
| 12:38 | <hsivonen> | annevk: but I guess I prefer HTTP terminology over email terminology as a political statement |
| 12:38 | <zcorpan> | hsivonen: do the bjoern approach, use several terms and put them in square quotes |
| 12:38 | <gsnedders> | hsivonen: Yet the instant you want JS you need to index into code-units, and if you're moving stuff between JS and the DOM, then you don't want to convert all the time. |
| 12:38 | <hsivonen> | zcorpan: s/square/scare/ ? |
| 12:38 | <annevk> | hsivonen: http://tools.ietf.org/html/rfc2616#section-4.3 |
| 12:39 | <zcorpan> | square? dunno how i managed to type that |
| 12:39 | <hsivonen> | annevk: ok. so I mean entity-body |
| 12:39 | <hsivonen> | annevk: thanks |
| 12:39 | <annevk> | hsivonen: entity body is raw octets, message body is raw bytes decoded per transfer-encoding |
| 12:39 | <annevk> | np |
| 12:44 | <wilhelm> | … Speaking of vendor prefixes: http://googlewebmastercentral.blogspot.com/2012/01/making-form-filling-faster-easier-and.html |
| 12:46 | <crocket> | Does HTML5 parsers remove / from <br/>, too? |
| 12:46 | <crocket> | Does -> Do |
| 12:47 | <Philip`> | crocket: Yes (effectively) - they act exactly the same with or without the "/" |
| 12:48 | <crocket> | I wish HTML was a subset of XML. |
| 12:48 | <hsivonen> | wilhelm: at least x- is less harmful that engine-specific prefixes |
| 12:49 | <Philip`> | crocket: Unfortunately that battle was lost before XML even existed |
| 12:49 | <crocket> | How do I use libxml with HTML documents, then? |
| 12:49 | <crocket> | or lxml |
| 12:51 | <Philip`> | In Python, if you want to correctly parse random web pages (not ones where you can carefully control them to be non-erroneous or XML-compatible), I think the only option is html5lib |
| 12:51 | <jgraham> | crocket: html5lib or lxml.html, depending on your preference for correctness vs speed |
| 12:51 | <Philip`> | (html5lib can give an lxml-compatible tree object) |
| 12:52 | <crocket> | html5lib. |
| 12:52 | <Philip`> | (...if I'm not getting confused) |
| 12:53 | <jgraham> | (you're not) |
| 12:53 | <jgraham> | (unless you are confused about something else) |
| 12:53 | <Philip`> | (I am confused about many other things) |
| 12:53 | <crocket> | What do C/C++ have instead of html5lib? |
| 12:54 | <jgraham> | Web browsers |
| 12:54 | <crocket> | I need a library. |
| 12:54 | jgraham | isn't sure there is a general purpose spec-complaint HTML parsing library written in C(++) |
| 12:54 | <Philip`> | What happened with Hubbub? |
| 12:54 | <jgraham> | That is not deeply tied to a browser |
| 12:55 | <crocket> | I don't need a browser. |
| 12:55 | <wilhelm> | hsivonen: True. |
| 12:55 | <jgraham> | I think hubbub is unmaintained, but I am not sure |
| 12:56 | <crocket> | The last commit was 13 months ago, so it's unmaintained. |
| 12:56 | <Philip`> | crocket: Could you use an external tool that parses as HTML5 and outputs in a more easily parseable format (like XML) that you can then read into C/C++? |
| 12:56 | <crocket> | Philip`: That's a weird way to do things. |
| 12:56 | <Philip`> | If so, the validator.nu parser (in Java) is probably best, since it's both correct and fast (unlike anything available to Python or easily available to C/C++) |
| 12:57 | <crocket> | validator.nu? |
| 12:57 | <jgraham> | crocket: Depending on how much you need it you could eiterh pick up maintainance of hubbub, make the validator.nu C++ convertor emit non-gecko-specific code, or rip the parser out of WebKit. |
| 12:58 | <crocket> | That's a shame. |
| 12:58 | <Philip`> | http://about.validator.nu/htmlparser/ |
| 12:58 | <crocket> | C/C++ doesn't have a portable library. |
| 12:58 | <jgraham> | It is a shame |
| 12:59 | <crocket> | I think java has a built-in HTML library. |
| 12:59 | <Philip`> | If it does, it won't be correct |
| 13:01 | <crocket> | I think python is the best nowadays. |
| 13:01 | <crocket> | For processing documents, python is pretty good. |
| 13:01 | <crocket> | Is html5lib as good as validator.nu parser? |
| 13:02 | <Philip`> | html5lib is probably something like 100x slower than the validator.nu parser, but on the plus side it doesn't involve Java |
| 13:02 | <crocket> | I know how to code java programs. |
| 13:02 | <Philip`> | They're both almost entirely correct HTML5 parser implementations |
| 13:02 | <crocket> | Philip`: Did you test both? |
| 13:03 | <smaug____> | I think hsivonen or someone had ideas to have libxml2 like API for validator.nu's parser |
| 13:03 | <Philip`> | crocket: They both use the same fairly-extensive test suite |
| 13:03 | <crocket> | How come is validator.nu parser a lot faster? |
| 13:04 | <Philip`> | Because Python is a lot slower than Java |
| 13:04 | <crocket> | How about C? |
| 13:04 | <crocket> | Java is a lot slower than C. |
| 13:04 | <Philip`> | C should be about as fast as Java |
| 13:04 | <crocket> | Java programs are usually heavy. |
| 13:05 | <crocket> | Think of playing "mass effect 2" written in java. |
| 13:06 | <Philip`> | I don't think there's much difference for this kind of algorithm - Java JITs work well, and the bottlenecks are probably mostly in memory allocation (where Java could be faster) and string manipulation |
| 13:06 | <hsivonen> | where's the concept of an origin considered to be defined these days? |
| 13:07 | <hsivonen> | ah. http://tools.ietf.org/html/rfc6454 |
| 13:09 | <zcorpan> | yep. it's the rfc that precedes the websocket protocol |
| 13:10 | <crocket> | Philip`: Why do you prefer python to java, then? |
| 13:12 | <Philip`> | crocket: Usually I don't care about execution speed that much (html5lib still only takes a few seconds per megabyte, if I remember correctly), and Python takes less effort to write and to run |
| 13:14 | <crocket> | Philip`: There are java 3D games for your information. |
| 13:15 | <crocket> | With java, you can make a true platform-independent games. |
| 13:18 | <Philip`> | I don't think I've ever disputed that :-) |
| 13:19 | <hsivonen> | Hixie: how come step 8 under http://www.whatwg.org/specs/web-apps/current-work/#determining-the-character-encoding says UTF-8 for some locales? did you verify that that makes sense or did you just copy whatever Mozilla localizers did? |
| 13:25 | <hsivonen> | ok. email to apps-discuss sent. not in their Web archive yet. |
| 13:27 | <hsivonen> | aargh. If my From and Sender don't match, apps-discuss wants Sender to be subscribed |
| 13:27 | <kennyluck> | At least interesting enough zh-TW FF uses UTF-8 as default but the spec matches IE. |
| 13:32 | <kennyluck> | hsivonen, an interesting example of the problem that changing to UTF-32 would solve is, for example, WebKit doesn't display a text run if it starts with a surrogate code point. This could happen if authors use a naive algorithm to do, say, ellipsis in the middle of a text run. |
| 13:32 | <kennyluck> | Having said that, this is a WebKit bug so I am not too convinced... |
| 13:33 | <hsivonen> | kennyluck: they they'd get an ellipsis in the middle of a base character and diacritics the next time |
| 13:33 | <hsivonen> | sigh. did ietf blackhole my email. still not in the archive after replying to the confirmation |
| 13:35 | <kennyluck> | hsivonen, that is at least better than the whole text run disappearing. |
| 13:35 | <kennyluck> | I think. |
| 13:40 | <kennyluck> | In any case the internal storage of a JS string probably wouldn't be affected much by this. For example, Python3.3 does provide a UTF-32 string API but whether the string is stored as 1, 2 or 4 bytes per code point depends on the maximum code value appearing in that string, which is quite clever. |
| 13:42 | <hsivonen> | kennyluck: Gecko does the 1 vs. 2 vs. 4 thing for DOM text nodes |
| 13:42 | <annevk> | hsivonen: nice email! |
| 13:42 | <kennyluck> | hsivonen, I thought it only does 1 vs. 2? |
| 13:42 | <annevk> | should really write a new RFC 2046 |
| 13:43 | <hsivonen> | kennyluck: so when you've got a huge text node in a script element and the author puts his/her non-ASCII name in a comment, the memory footprint of the node doubles |
| 13:43 | <hsivonen> | kennyluck: well, a surrogate pair takes 4 bytes :-) |
| 13:43 | <hsivonen> | annevk: thanks. if it only reached the IETF folks |
| 13:43 | <kennyluck> | hsivonen, oh, but in Python3.3, that's a real 4 bytes for each code point. |
| 13:43 | <kennyluck> | if there's any non-BMP in that string. |
| 13:44 | <hsivonen> | s/non-ASCII/non-ISO-8859-1/ above |
| 13:48 | <zcorpan> | hsivonen: resend it to www-archive |
| 13:50 | <hsivonen> | zcorpan: now it's on apps-discuss! http://www.ietf.org/mail-archive/web/apps-discuss/current/msg04347.html |
| 14:34 | hsivonen | wonders why https://lists.w3.org/Archives/Member/w3c-css-wg/2012JanMar/0150.html isn't on www-style |
| 14:35 | <AryehGregor> | Does anyone know why WebIDL allows float/double to have values like NaN, Infinity, etc.? That seems undesirable. |
| 14:36 | AryehGregor | will file a bug if no one answers in the time it takes him to file it |
| 14:36 | <jgraham> | Why not? ECMAScript allows those values |
| 14:37 | <AryehGregor> | The WebIDL uses of float/double I can think of don't want them. |
| 14:37 | <AryehGregor> | Like currentTime, or CSSMatrix. |
| 14:37 | <jgraham> | But that seems very interface-specific |
| 14:38 | <AryehGregor> | If existing users don't want them, they shouldn't be allowed, or should only be allowed if you opt in with an extended attribute. |
| 14:38 | <jgraham> | It seems bad to disallow those values in any interface just because they don't make sense in some |
| 14:38 | <AryehGregor> | If some interfaces want them and some don't, there should be different types, or extended attributes. |
| 14:38 | <annevk> | jgraham: i think it's the other way around though |
| 14:38 | <annevk> | jgraham: they only make sense in some |
| 14:38 | <jgraham> | Or it could just say in prose |
| 14:39 | <annevk> | and often it's just attributes that return a number and therefore never need them either |
| 14:39 | <jgraham> | It seems bizzare to me taht if you pass in a variable that happens to be NaN, it would change e.g. overload resolution |
| 14:40 | <zcorpan> | wasn't overload going to be dropped? |
| 14:41 | <annevk> | yes it was |
| 14:41 | <annevk> | or is |
| 14:43 | <jgraham> | Hmm, so how is that going to work? There are interfaces that depend on it, surely? |
| 14:43 | <annevk> | apparently not |
| 14:46 | <jgraham> | I am obviously behind. Stuff like CanvasRenderingContext2D::createPattern |
| 14:46 | <zewt> | it'd make sense for NaN/INF to be "converted" to 0 (in the same sense as a type conversion) unless some flag is present (akin to nullable) ... but that's not what actually happens in many places, at least in the HTML spec |
| 14:47 | <AryehGregor> | AFAICT, the HTML spec mostly just doesn't define what to do. |
| 14:47 | <hsivonen> | I wonder how Opera developers feel about Pepper |
| 14:47 | <zewt> | Except where otherwise specified, for the 2D context interface, any method call with a numeric argument whose value is infinite or a NaN value must be ignored. |
| 14:47 | <jgraham> | Oh, that uses "or" |
| 14:47 | <AryehGregor> | jgraham, they use union types now. |
| 14:47 | <hsivonen> | Opera even joined the Open Screen Project and this is what they get |
| 14:48 | <zewt> | converting to 0 seems more in line with how other functions work when you pass a "wrong" type; just convert it and keep going |
| 14:48 | <jgraham> | Hmm |
| 14:48 | <smaug____> | open screen project ? maybe internet knows what that is |
| 14:48 | <zewt> | anyway, off to work |
| 14:49 | <hsivonen> | smaug____: It's Adobe's Flash Player porting and bundling program |
| 14:49 | <smaug____> | uh |
| 14:49 | <smaug____> | "open" |
| 14:55 | <AryehGregor> | zewt, setting a float/double attribute to something will already throw in any case where ToNumber() throws, which includes at least the case where you pass an object and ToPrimitive() throws. E.g., video.currentTime = {} already throws TypeError per spec. |
| 14:55 | <annevk> | AryehGregor: oh, long / long long / octet cannot be Infinity and such? |
| 14:55 | <AryehGregor> | annevk, no. |
| 14:55 | AryehGregor | looks what happens |
| 14:56 | <AryehGregor> | annevk, it seems like in that case it gets set to +0. |
| 14:58 | <tomasf> | 2 |
| 15:06 | <crocket> | How can I declare a valid XHTML5 document with a doctype tag? |
| 15:06 | <crocket> | Can an XHTML5 document conform to "XHTML 1.0 Strict DTD"? |
| 15:07 | <zcorpan> | crocket: why do you care about DTD at all? |
| 15:07 | <crocket> | DTD is important. |
| 15:07 | <Philip`> | DTD isn't important |
| 15:09 | <Philip`> | (HTML5's XML serialisation allows you to use any doctype, or none, as you wish) |
| 15:09 | <zcorpan> | crocket: http://about.validator.nu/#faq ("What’s wrong with DTDs?") |
| 15:09 | <zcorpan> | hsivonen: would be nice if all the headings had ids ^ |
| 15:10 | <Philip`> | (though if you're transmitting it as text/html then it's not really the XML serialisation, and you need to use one of http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#obsolete-permitted-doctype-string ) |
| 15:10 | <Philip`> | (which does allow 1.0 Strict) |
| 15:11 | <zcorpan> | hsivonen: or at least the dtd heading, since i wanted to link to it now :-) |
| 15:16 | <crocket> | Philip`: I guess <!DOCTYPE html> would do. |
| 15:16 | StoneCypher | is not a fan of using the html5 doctype before standardization |
| 15:17 | <AryehGregor> | REC != "standardization" |
| 15:20 | <StoneCypher> | well |
| 15:20 | <StoneCypher> | those recommendations are called standards |
| 15:20 | <StoneCypher> | eg the html4 standard |
| 15:20 | <StoneCypher> | no? |
| 15:20 | <Ms2ger> | No |
| 15:20 | <StoneCypher> | oh. |
| 15:20 | <Ms2ger> | The W3C doesn't publish standards |
| 15:20 | <StoneCypher> | is that just inappropriate common slang? |
| 15:22 | <AryehGregor> | It doesn't use the term "standard" officially, it uses "Recommendation". |
| 15:22 | <StoneCypher> | k |
| 15:23 | <Ms2ger> | Anyway, HTML5 is more mature than HTML4 |
| 15:23 | <StoneCypher> | most of its modules are still being haggled about |
| 15:23 | <StoneCypher> | even sorta-straightforward stuff |
| 15:24 | <StoneCypher> | although, the recommendation piece that (i think annevk?) showed me yesterday, which is basically what other languages call inheritance for css (think LESS,) makes me *super* happy |
| 15:24 | <Philip`> | That's better than the situation with HTML4, where it was blatantly wrong and people were just resigned to it never being fixed |
| 15:25 | <StoneCypher> | that's a valid point |
| 15:25 | <StoneCypher> | i guess what i am reacting poorly to is the possibility - in a few cases, the likelihood - that the recommendation i'm writing towards will change |
| 15:26 | <Ms2ger> | Aww, I missed an XML conversation |
| 15:26 | <jgraham> | "09:22 < Ms2ger> The W3C doesn't publish standards" - in that case they probably shouldn't have a heading "standards" at the top of their homepage |
| 15:26 | <Ms2ger> | You go tell them that |
| 15:26 | <Ms2ger> | I am no longer surprised by hypocrisy at the W3C |
| 15:27 | <jgraham> | I thought the "we don't publish standards" thing was a vauge fear of being sued by ISO or someone |
| 15:27 | <Philip`> | StoneCypher: It doesn't really matter what stan... uh, recommendation you're writing towards - it just matters what web browsers are implementing, and whether they're backward-compatible with the content you've already published |
| 15:27 | <Philip`> | StoneCypher: (assuming your goal is for your sites to not break in future browsers) |
| 15:29 | <Ms2ger> | AryehGregor, HTML requires throwing for non-finite doubles somewhere up front |
| 15:29 | <Ms2ger> | Except for canvas2d, which silently ignores |
| 15:29 | <AryehGregor> | Ms2ger, really? |
| 15:29 | AryehGregor | looks |
| 15:29 | <Ms2ger> | jgraham, we can apparently disambiguate on argument count only |
| 15:30 | <Ms2ger> | AryehGregor, 2.2.2 Dependencies under WebIDL |
| 15:30 | <AryehGregor> | Oh. |
| 15:30 | <AryehGregor> | How confusing. |
| 15:33 | <Philip`> | These hidden sentences that have arbitrary influences on arbitrary parts of the rest of the spec are almost as intuitive as COME FROM |
| 15:33 | <zcorpan> | iirc the spec required throwing before for everything, but some browsers did ignore instead for canvas, and then some pages depended on not throwing for canvas, so the spec changed for canvas |
| 15:35 | <Ms2ger> | Gecko used to throw for most of canvas IIRC |
| 15:35 | <Ms2ger> | Blame Philip` for getting that changed :) |
| 15:35 | <Philip`> | I blame Hixie for accepting my suggestions |
| 15:35 | <smaug____> | (throwing was the sane behavior, but I didn't care enough to file spec bugs) |
| 15:36 | <AryehGregor> | Since when is the web platform supposed to be sane? |
| 15:36 | <smaug____> | there can be some corner cases when it is sane |
| 15:37 | <Philip`> | I think it was an attempt to handle edge cases (like scaling by 1/x for small x) relatively gracefully, where throwing an exception is considered non-graceful because it usually clobbers the entire script |
| 15:38 | <zcorpan> | Hixie: if you fasttrack https://www.w3.org/Bugs/Public/show_bug.cgi?id=14929 i'll give you a cookie. :-) |
| 15:38 | <AryehGregor> | Scaling by 1/x for small x will have discontinuous behavior near 0 no matter what you do. |
| 15:40 | <Ms2ger> | zcorpan, fwiw, I've found that attaching a patch + reminder by private email works quite well :) |
| 15:41 | <Ms2ger> | "If the unprefixed property is used widely enough that changing its syntax would be a problem, then ipso facto we should be very reluctant to change its syntax." |
| 15:41 | <Ms2ger> | Ha. Ha. Ha. |
| 15:56 | <hsivonen> | Ms2ger: seems like a reasonable statement. (the one you quoted) |
| 15:56 | <Ms2ger> | Yeah |
| 15:56 | <Ms2ger> | I'm a little cynical about the CSSWG |
| 16:13 | <StoneCypher> | Philip`: nah, i'm a c++ programmer. I need standards compliance, even if it's moot. It's who I am. |
| 16:23 | Philip` | doesn't see C++ as a great place for caring hugely about standards compliance, given how much is left undefined or implementation-defined or is defined wrongly or is too hard for any human to comprehend, and how most real programs rely on non-standard features |
| 16:26 | <StoneCypher> | Philip`: kay |
| 16:26 | <StoneCypher> | Philip`: very little is actually undefined, though |
| 16:27 | <StoneCypher> | Philip`: it's just that what's undefined is well defined, which is not usually the case in weaker languages |
| 16:28 | <Ms2ger> | Has casting to smaller-width integers been defined yet? |
| 16:28 | <Philip`> | Some fairly critical stuff is(/was until very recently) undefined, like the memory model when you have multiple threads |
| 16:29 | <Philip`> | Ms2ger: I think that's always been defined for unsigned ints, but not for signed if the result overflows |
| 16:30 | <Ms2ger> | Hmm, I thought the opposite |
| 16:30 | <Philip`> | They don't want to require something that's infeasible on ones' complement architectures |
| 16:33 | <Philip`> | s/ones'/one's/ (I got distracted by Wikipedia's needlessly pedantic linguistic choice) |
| 16:33 | <kennyluck> | it's defined for unsigned ints last I check. |
| 16:41 | <MikeSmith> | zcorpan, if you can raise a bugzilla.validator.nu bug for that, that'd be great |
| 16:41 | <MikeSmith> | (about the image report) |
| 16:51 | <AryehGregor> | At least with C++, differences between compilers are only relevant once, when you compile. Once you compile in a given compiler and test it, it will work the same forevermore regardless of C++. |
| 16:52 | <AryehGregor> | With web stuff, you can test your web page in all major browsers at the time you write it, and it might work just fine, and then it still might not work in future browsers if behavior changes. |
| 16:52 | <AryehGregor> | Which is why undefined behavior is more acceptable for C++ than the web. |
| 16:52 | <StoneCypher> | Ms2ger: downcasting has been well defined since BCPL |
| 16:52 | <AryehGregor> | jgraham, are you planning on ever accepting my pull request? |
| 16:52 | <StoneCypher> | Ms2ger: any downcast which is correctly masked succeeds |
| 16:52 | <AryehGregor> | Okay, let me rephrase that more politely: |
| 16:52 | <AryehGregor> | jgraham, do you have a timeline in mind for accepting my pull request? |
| 16:53 | AryehGregor | always try to be more polite than he is |
| 16:53 | <Ms2ger> | Which pull request? If it's to testharness.js, just push to dvcs.w3.org/hg/resources/ |
| 16:53 | <AryehGregor> | Ms2ger, he asked me to submit a pull request on github instead of just pushing it. |
| 16:53 | <Philip`> | AryehGregor: Except if you're dynamically linking with libstdc++, which might change in the future |
| 16:54 | <AryehGregor> | If he doesn't respond for long enough, I guess I'll just push the updates myself. |
| 16:54 | <jgraham> | AryehGregor: Please do what Ms2ger says |
| 16:54 | <AryehGregor> | jgraham, okay. So should I not submit pull requests in the future, or what? |
| 16:54 | <AryehGregor> | (I added a second commit to the pull request, in case you didn't notice.) |
| 16:54 | <jgraham> | I haven't got the sync between git and hg worked out properly yet |
| 16:54 | <AryehGregor> | (Should I push that too?) |
| 16:56 | <jgraham> | AryehGregor: Yes, that change looks fine |
| 16:56 | <jgraham> | AryehGregor: Dunno why I didn't get mail about it |
| 16:57 | <jgraham> | If I set up the necessary bits to sync github and hg I think pull requests are still the best way to work, because a crappy code review system is better than no code review system |
| 16:58 | <AryehGregor> | github's code review doesn't seem too bad at first glance. |
| 16:58 | <AryehGregor> | Got to be better than Bugzilla. |
| 16:59 | <jgraham> | Well yeah, but so is amputating your own leg with a rusty spoon. |
| 16:59 | <AryehGregor> | Mozilla still uses it. :( |
| 16:59 | <Ms2ger> | Splinter isn't too bad |
| 16:59 | <jgraham> | I seriously have no idea how Mozilla manage it |
| 17:00 | <jgraham> | But maybe everyone is using the tools that present a UI on top of the broken model |
| 17:00 | <jgraham> | That makes it suck less |
| 17:02 | <AryehGregor> | Pretty much. |
| 17:09 | <Ms2ger> | What broken model? |
| 17:10 | <jgraham> | Posting diff output to bug reports |
| 17:10 | <Ms2ger> | That makes a lot of sense |
| 17:10 | <jgraham> | Not to me |
| 17:11 | <Ms2ger> | Why not? You're writing patches to a repository, so that's your output |
| 17:13 | <jgraham> | No, commits in a repository are your output. Why not work with those, and all the advanced tools you have for managing them? |
| 17:26 | <Ms2ger> | AryehGregor, congratulations, I guess :) |
| 17:26 | <AryehGregor> | Ms2ger, . . . on what? |
| 17:27 | <Ms2ger> | The CSSWG likes you |
| 17:28 | <AryehGregor> | It does? I didn't notice. |
| 17:28 | <Ms2ger> | http://krijnhoetmer.nl/irc-logs/css/20120222#l-375 |
| 17:28 | <AryehGregor> | Hurrah. |
| 17:28 | <AryehGregor> | It only took, what, upwards of a month? |
| 17:29 | <StoneCypher> | oh neat |
| 17:29 | <astearns> | we're now talking about transform-origin and perspective-origin |
| 17:29 | <Ms2ger> | But the bureacrazy needs that time! |
| 17:30 | <AryehGregor> | Oh, you're going to talk about using hg for specs. |
| 17:30 | <AryehGregor> | Yay. |
| 17:30 | <Ms2ger> | One repo for all specs, apparently |
| 17:30 | <AryehGregor> | That's okay with me. |
| 17:31 | <AryehGregor> | I wish it were easier to merge and split repos. |
| 17:31 | <AryehGregor> | No VCS seems to have managed that yet. |
| 17:31 | <AryehGregor> | Seems like a natural extension of the concept of a DVCS. |
| 17:31 | <AryehGregor> | You should be able to merge two repositories, where the merge commit puts one of them in a subdirectory of the other. |
| 17:32 | <Ms2ger> | I think you can do that somehow in hg |
| 17:32 | <AryehGregor> | Splitting is naturally handled anyway, I guess, by just deleting the irrelevant files in two different copies. |
| 17:32 | <AryehGregor> | Although re-merging won't be nice in that case. |
| 17:32 | <Philip`> | Presumably moving them into a subdirectory that wouldn't preserve the commit IDs (because changing the paths will change the commit content) |
| 17:33 | <Ms2ger> | You would move all the files into a subdir in one of the repos before merging |
| 17:34 | <Philip`> | Oh, I suppose that might work |
| 17:35 | <Philip`> | Can you simply pull from an unrelated repository into a second one, and then do a merge of the heads? |
| 17:35 | <Ms2ger> | Yes |
| 17:35 | <Ms2ger> | Though you have to say so loudly |
| 17:35 | <Philip`> | "hg PULL"? |
| 17:35 | <Ms2ger> | hg pull -f, IIRC |
| 17:50 | <AryehGregor> | Interesting. |
| 18:51 | <MikeSmith> | smaug____: validator.nu/mozilla HTML parser code does expose an API |
| 18:51 | <MikeSmith> | a la libxml2 or whatever |
| 18:51 | <MikeSmith> | for java apps at least |
| 18:51 | <smaug____> | MikeSmith: I was thinking API for C/C++ |
| 18:53 | <jamesr__> | annevk, partial didn't exist when i wrote the IDL |
| 18:53 | <jamesr__> | annevk, i'll update the references to the most recent thing i can find on w3, but i'll have to leave those as links to w3 and w3c staff might go in and make them more retarded later on |
| 18:53 | <MikeSmith> | smaug____: ah OK, yeah, that would be nice to have |
| 19:05 | <pablof> | I'm a bit confused with some wording, halp? |
| 19:05 | Philip` | sees http://blogs.adobe.com/flashplayer/2012/02/adobe-and-google-partnering-for-flash-player-on-linux.html and now understands hsivonen's earlier reference to Pepper |
| 19:05 | <pablof> | When content whose URL has the same origin as the iframe element's Document fails to load (e.g. […]), then the user agent must queue a task to fire a simple event named error at the element instead. |
| 19:05 | <pablof> | what exactly are the origins involved in the same origin check there? |
| 19:06 | <pablof> | Who is "content" referring to? |
| 19:06 | <Ms2ger> | iframe src=foo |
| 19:06 | <Ms2ger> | content refers to foo |
| 19:08 | <pablof> | Ms2ger: i see, thanks! |
| 19:17 | <jamesr__> | Philip`, gtk3 transition is another factor w.r.t. flash linux (gtk3's an ABI change, npapi flash depends on gtk2) |
| 19:29 | <roc> | wow, that is really antisocial |
| 19:31 | <MikeSmith> | roc: ? |
| 19:31 | <roc> | tying Linux Flash > 11.2 to a huge pile of Chrome-only APIs |
| 19:33 | <AryehGregor> | Fortunately, Flash is progressively less relevant anyway. |
| 19:33 | <AryehGregor> | Still, though . . . |
| 19:35 | <roc> | indeed, maybe support for Flash > 11.2 will never become important to users |
| 19:36 | <AryehGregor> | So the CSSWG has finally decided to move from CVS to hg, but it probably won't happen for months. Oh well. |
| 19:36 | <AryehGregor> | I guess I have to learn how to use CVS after all. |
| 19:36 | <roc> | you have led a protected existence |
| 19:36 | <AryehGregor> | :( |
| 19:39 | <roc> | hmm, my first read through the Adobe announcement missed the just-as-important fact that Adobe won't offer a Flash download other than bundled with Chrome |
| 19:39 | <smaug____> | roc: oh, I must have missed that |
| 19:39 | <smaug____> | Google must be paying quite a bit to Adobe |
| 19:40 | <roc> | so presumably as well as Firefox and Opera getting shafted, so do all other open-source browsers, including Chromium! |
| 19:50 | <Hixie> | where do i point someone who wants to work on test suites for html? |
| 19:52 | <roc> | jamesr__: FWIW I don't see any issues with supporting GTK3-based plugins in NPAPI. There might be a little work around the edges but the API dependencies on GTK2 are minimal |
| 19:52 | <Ms2ger> | Hixie, dvcs.w3.org/hg/html |
| 19:53 | <jgraham> | Hixie: public-html-testsuite |
| 19:53 | <Ms2ger> | And |
| 19:53 | <Ms2ger> | http://www.w3.org/html/wg/wiki/Testing/Submission/ |
| 19:53 | <jgraham> | Or here ofc :) |
| 19:53 | <Hixie> | k, thanks guys |
| 19:53 | <jgraham> | Depends what "wants to work" means, really :) |
| 19:54 | <Ms2ger> | "At this time we are creating tests based on HTML5 'Features'. " |
| 19:54 | Ms2ger | wonders what that means |
| 19:54 | <jgraham> | The scare quoutes? |
| 19:54 | <jgraham> | Probably if you s/'Features'/bugs/ it will all make sense |
| 19:58 | <jamesr__> | roc, npapi flash today has dependencies on the ABI of gtk2, so it won't do anything on gtk3 systems. i imagine this could be fixed by some amount of work on the plugin author's side |
| 19:58 | <jamesr__> | i don't know how much work it is |
| 20:01 | <roc> | porting from GTK2 to GTK3 isn't that hard, judging by the patches that port Firefox ... especially since Flash isn't even affected by theming-related changes ... but OK |
| 20:11 | <Hixie> | ok i did the bug zcorpan wanted |
| 20:24 | <charlvn> | Hixie: now make zcorpan buy you a cookie... and make sure it isn't a flash cookie :P |
| 21:09 | <jgraham> | I have to stop reading about pepper, it is just too unpleasant |
| 21:10 | <MikeSmith> | jgraham: heh |
| 21:11 | <MikeSmith> | among the many lessons we have learned over the last 15 years: plugins in whatever form are ultimately a very bad idea |
| 21:11 | <Ms2ger> | Multipage dead? |
| 21:11 | <Ms2ger> | http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element |
| 21:12 | <Philip`> | Not my fault |
| 21:13 | <MikeSmith> | Ms2ger: http://dev.w3.org/html5/spec/the-canvas-element.html#the-canvas-element is working afaict |
| 21:13 | <Ms2ger> | Bah, w3 |
| 21:14 | <smaug____> | MikeSmith: indeed, which is why it is surprising that one browser vendor is actively developing a plugin API. |
| 21:16 | <MikeSmith> | yeah |
| 21:17 | <MikeSmith> | dunno what to say about that |
| 21:26 | <annevk> | jamesr: cool |
| 21:28 | <annevk> | Ms2ger: it's only one API |
| 21:28 | <annevk> | Ms2ger: no big deal |
| 21:29 | AryehGregor | is very sad that even with 16G of RAM, Gecko source code doesn't stay in the OS page cache for long |
| 21:29 | AryehGregor | shakes fist at Linux kernel |
| 21:42 | <jgraham> | AryehGregor: Pretty sure there will be a setting you can tweak to change that behaviour. And if you do, in three years, you might have figured out how to boot your system again! |
| 21:42 | AryehGregor | has considered just running cat on it all every once in a while from a cron job, with ionice set to idle |
| 22:14 | <pablof> | my brain is having a slow day today, trying again, in [[ When content whose URL has the same origin as the iframe element's Document fails to load (e.g. […]), then the user agent must queue a task to fire a simple event named error at the element instead.]], i'm still not sure i understand which origins are involved. |
| 22:14 | <pablof> | is it the iframe.src and iframe.contentDocument.URL, so to speak? or is it the iframe and the parent document? |
| 22:16 | <annevk> | no |
| 22:16 | <annevk> | it's iframe and it's owner Document |
| 22:17 | <annevk> | that could be a little clearer |
| 22:17 | <annevk> | though that suggests that if content fails to load in cross-origin scenarios nothing is dispatched at all |
| 22:17 | <annevk> | not sure that's what it is intended |
| 22:21 | <pablof> | what follies is it trying to prevent? |
| 22:22 | <annevk> | presumably detecting intranets |
| 22:22 | <annevk> | but you could do the same with XHR so I'm not sure it's preventing anything |
| 22:29 | <pablof> | annevk: how so? xhr throws different errors if there's a problem loading vs. security? |
| 22:44 | <Hixie> | aaaaaaanneeeeeeeeeeeeeeeeeeee |
| 22:44 | <Hixie> | (annevk: ping) |
| 22:46 | <pablof> | might need to turn this one on, http://i.imgur.com/LGawg.jpg |
| 22:49 | <annevk> | Hixie: que? |
| 22:50 | <Hixie> | annevk: your server sent me an incomplete zip |
| 22:51 | <Hixie> | annevk: aside from the obvious thing, namely making it so that the zip is always complete, it would be good to either not notify my side if the zip somehow is incomplete, or at least, to give me a way to determine if it is complete |
| 22:51 | <Hixie> | annevk: so i can skip it if it's not |
| 22:53 | <annevk> | Hixie: oh |
| 22:53 | <annevk> | file too big? |
| 22:53 | <Hixie> | it's happened before |
| 22:53 | <Hixie> | doesn't always happen |
| 22:54 | <Hixie> | hmm |
| 22:55 | <annevk> | I run zip and then wget |
| 22:55 | <annevk> | if you some advice for other commands I can run inbetween |
| 22:55 | <Hixie> | i'm guessing the problem is before zip |
| 22:55 | <Hixie> | probably anolis being killed by the kernel or something |
| 22:55 | <annevk> | before zip there's the spec-splitter |
| 22:55 | <annevk> | which I currently run twice |
| 22:55 | <Hixie> | or spec splitter yeah |
| 22:56 | <Hixie> | maybe you could make the spec splitter output a checkpoint file at the end, and then verify that it's there |
| 22:56 | <annevk> | but maybe I can drop the first copy |
| 22:56 | <Hixie> | why twice? |
| 22:56 | <Hixie> | so it looks like the a11y people think we should somehow expose text drawn into canvas so that it can be selected and cursored-through |
| 22:57 | <Hixie> | i have absolutely no idea how we could do that |
| 22:57 | <Hixie> | (short of using svg) |
| 22:57 | <annevk> | by reimplementing everything! |
| 22:58 | <Hixie> | annevk: my guess is that however many copies you have, the one that is used for whatwg.org is sometimes getting killed early by the kernel |
| 22:58 | <Hixie> | annevk: i would recommend the checkpoint file idea so you could at least detect that case easily |
| 22:59 | <Hixie> | something else that might be going on is that i might be calling you again while you're running |
| 22:59 | <Hixie> | maybe detect that somehow and abort if tere's already a running instance? |
| 23:00 | <annevk> | I don't know nearly enough shell script to take care of that |
| 23:00 | <annevk> | btw |
| 23:00 | <annevk> | the fragment-links.js file is generated by the spec-splitter script |
| 23:01 | <annevk> | so I should probably start including it again... |
| 23:01 | <Hixie> | it's link-fixup.js that you're not including |
| 23:01 | <Hixie> | it uses fragment-links.js |
| 23:01 | <Hixie> | which i thought you _were_ including |
| 23:02 | <Hixie> | (does it output that file last? if it does, i can use that as the checkpoint file and you don't need to do anything) |
| 23:03 | <annevk> | I am including it |
| 23:03 | <annevk> | it outputs that file last |
| 23:03 | <Hixie> | k |
| 23:04 | <annevk> | I made spec-splitter generate a single copy now |
| 23:04 | <annevk> | not spec-splitter, the shell script |
| 23:04 | <annevk> | commented the other out |
| 23:04 | <Hixie> | k |
| 23:04 | <annevk> | we'll see how it goes |
| 23:04 | <Hixie> | i made my side check for that file and not replace the online copy if it's absent |
| 23:09 | <pablof> | i thought imagemaps might in fashion again for the canvas thing, no? :P |
| 23:09 | <pablof> | *might be |
| 23:11 | <annevk> | oh god |
| 23:12 | <annevk> | pablof: xhr will just give an error event |
| 23:12 | <annevk> | pablof: including for cross-origin requests |
| 23:23 | <Hixie> | so basically one of the a11y requests for canvas boils down to "make find in page work for text drawn to canvas" |
| 23:27 | <pablof> | annevk: back to the iframe.onerror thing, "it's iframe and it's owner Document", i'm still confused... |
| 23:29 | <annevk> | confused about what? |
| 23:29 | <annevk> | might be better to ask Hixie about it |
| 23:29 | <annevk> | i'm planning to sleep |
| 23:32 | <pablof> | about what origins are supposed to be the same |
| 23:32 | <Hixie> | pablof: what's the question? |
| 23:33 | <pablof> | Hixie: [[ When content whose URL has the same origin as the iframe element's Document fails to load (e.g. […]), then the user agent must queue a task to fire a simple event named error at the element instead.]] |
| 23:34 | <Hixie> | yes? |
| 23:34 | <annevk> | pablof: it's the origin of the URL of the iframe and the origin of its owner Document afaict |
| 23:35 | <Hixie> | i really can't see any sane way that we could make "find in page" work for text drawn to canvas... |
| 23:35 | <Hixie> | hmmmmmm |
| 23:36 | <Hixie> | one of the design concepts for canvas is the idea that it has no backing DOM, and that if you need a backing DOM you should be using SVG |
| 23:36 | <bga> | http://www.paulgraham.com/hundred.html |
| 23:49 | <Hixie> | we could have the fillText()/strokeText() methods somehow keep track of which pixels they drew to, and remember the text at those pixels, until such time as the canvas is blown away by a clearRect()... |
| 23:50 | <Hixie> | but that seems like it would be shockingly expensive and wouldn't even work if you were drawImage()ing stuff with text |
| 23:50 | <Hixie> | e.g. canvas to canvas |
| 23:50 | <Hixie> | unless you somehow propagated the information along... |
| 23:53 | <Philip`> | http://simonsarris.com/blog/322-canvas-drawtext-considered-harmful - "Instead of calling drawText() to redraw my text objects each frame, I would instead create a new canvas (one never added to the DOM) for every single text object, and call drawText() on each object only once, drawing the text to its personal canvas. Then, every time I wanted to (re)draw that text object, I would call drawImage() on my real canvas, passing in the object’s ... |
| 23:53 | <Philip`> | ... personal canvas, instead of using drawText()." |
| 23:53 | <Philip`> | Sounds like copying text between canvases won't be especially rare, so a solution that doesn't work in that case is not a very good solution |
| 23:54 | <Philip`> | (A solution that does work in that case is likely to be far worse for many other reasons, of course) |
| 23:59 | <Philip`> | I'd have thought a better way to approach a11y is to consider that the canvas is a presentation of some internal application-specific data structure (i.e. whatever data the JS uses to decide what to render), and so there should be a decent way to expose that application-specific data to external a11y tools without the significant complexity of converting it all into a DOM |