| 08:07 | <othermaciej> | hi folks |
| 08:13 | <annevk> | VPN works |
| 08:13 | <annevk> | after a while |
| 08:13 | <annevk> | not bad |
| 13:27 | <foolip> | is anyone in here at TPAC? Hixie? |
| 13:28 | Ms2ger | suspects at least kennyluck, othermaciej and homata_ |
| 13:30 | <othermaciej> | I am |
| 13:31 | <Moo^_^> | TPAC? |
| 13:33 | <karlcow> | W3C Technical Plenary - Advisory Committee |
| 13:33 | <karlcow> | Moo^_^: http://www.w3.org/2010/11/TPAC/ |
| 13:33 | <karlcow> | also http://search.twitter.com/search?q=%23tpac |
| 13:42 | <Moo^_^> | karlcow: thx |
| 13:56 | <annevk> | foolip, yeah |
| 13:56 | <annevk> | also those Ms2ger mentioned |
| 13:56 | <annevk> | Ms2ger, we can put ElementTraversal into Web DOM Core |
| 14:03 | hendry | is at TPAC |
| 14:04 | <annevk> | oh cool |
| 14:12 | <hsivonen> | Ms2ger: while you were away, I took the liberty to land one of your patches |
| 14:13 | <hsivonen> | Ms2ger: http://hg.mozilla.org/mozilla-central/rev/6aad432efa02 |
| 14:13 | <zcorpan> | annevk: why bother touching ElementTraversal? |
| 14:14 | <annevk> | it's like HTML5 takes in from HTML4 and DOM 2 HTML and some DOM 0 stuff |
| 14:15 | <annevk> | less specs for DOM Core is a good thing imo |
| 14:16 | <zcorpan> | html4 and dom2 were underspecified and broken |
| 14:16 | <zcorpan> | elementtraversal is fine afaik |
| 15:04 | <annevk> | zcorpan, sure |
| 15:05 | <othermaciej> | hi all |
| 15:11 | <necttocon> | Sup guys |
| 15:11 | <necttocon> | I was told to go here for questions etc |
| 15:11 | <necttocon> | so um |
| 15:11 | <necttocon> | maybe you guys have an idea why my rectangle is rotating around a circle, instead of rotating around the middle of the rectangle? |
| 15:12 | <foolip> | Does anyone know who the <video> developer(s) for Chrome are? |
| 15:12 | <annevk> | necttocon, URL or it didn't happen? |
| 15:12 | <Philip`> | necttocon: When you call rotate(), it rotates around the (0,0) point |
| 15:13 | <necttocon> | Philip` oh |
| 15:13 | <Philip`> | If you want to rotate around some arbitrary point (x,y), you have to do translate(-x, -y); rotate(a); translate(x, y); |
| 15:13 | <necttocon> | Wow |
| 15:13 | <necttocon> | Thanks Philip` |
| 15:13 | <necttocon> | Will try it out in a sec |
| 15:13 | <Philip`> | (unless the translates are the other way round) |
| 15:14 | <Philip`> | (I can never quite remember) |
| 15:14 | <zcorpan> | i think they're the other way around |
| 15:15 | <Philip`> | Trial-and-error is my usual approach to working out what the signs should be |
| 15:15 | <Philip`> | which works okay up to about four independent boolean variables |
| 15:15 | <necttocon> | Philip`: They should add it to the docs, or did I miss it? |
| 15:15 | <Philip`> | necttocon: Which docs? |
| 15:16 | <necttocon> | Philip`: specification |
| 15:16 | <necttocon> | Sorry, docs != specification |
| 15:17 | <Philip`> | I think it's not really the spec's job to teach readers about geometry and transformations and other standard computer-graphics things |
| 15:17 | <Philip`> | since that's a pretty large job and isn't specific to canvas |
| 15:18 | <Philip`> | so it's probably better to refer to some other document/book to understand the fundamental concepts like this |
| 15:19 | <necttocon> | Philip`: I've never worked with rotations/transformations so it's new to me that it always rotates around the (0,0) point |
| 15:22 | <Philip`> | http://en.wikipedia.org/wiki/Transformation_matrix#Rotation is what the spec means by "rotation transformation" |
| 15:22 | <Philip`> | but the matrix stuff isn't entirely intuitive if you've never seen it before :-) |
| 15:23 | <necttocon> | I never read formulas on wikipedia |
| 15:23 | <necttocon> | they scare me |
| 15:24 | <Philip`> | Any introduction to computer graphics should cover this, though I don't know any specific examples to recommend |
| 15:25 | <zcorpan> | "introduction to computer graphics" on google gives plenty of results :) |
| 20:05 | <Hixie> | abarth: dude, the http guy just used googlebot against you |
| 20:05 | <abarth> | omg |
| 20:05 | <Hixie> | oh you already replied to that one |
| 20:05 | <Hixie> | i'm surprised you didn't jump on it :-) |
| 20:05 | <AryehGregor> | Is there any simple standard JavaScript way to just say "load this script/stylesheet", without having to actually create a script or link element and put it somewhere in the DOM? |
| 20:06 | <AryehGregor> | There should be. It's a very common need. |
| 20:06 | <abarth> | whenever i interact with that working group, i'm tempted to start my own standards body |
| 20:07 | <Philip`> | AryehGregor: XHR + eval? |
| 20:07 | <AryehGregor> | :/ |
| 20:07 | <AryehGregor> | I was thinking something more like document.loadScript("http://..."); |
| 20:08 | <Hixie> | abarth: well, i replied to that e-mail too |
| 20:14 | <Ms2ger> | AryehGregor, write a spec and get it implemented? :) |
| 20:14 | <AryehGregor> | Ms2ger, maybe I could find an existing spec and try to get someone else to do it for me. :) |
| 20:21 | <AryehGregor> | I guess you'd want that to somehow translate into adding something to the DOM in a predictable place, since otherwise you couldn't remove it. |
| 20:22 | <Philip`> | What does it mean to remove a script? |
| 20:22 | <AryehGregor> | Well, say for styles. |
| 20:22 | <Philip`> | Ah, that seems like an independent thing |
| 20:22 | <AryehGregor> | Although, what happens if you do remove a <script>? |
| 20:22 | <AryehGregor> | Yes, in practice they're going to be quite different. |
| 20:22 | <Philip`> | Nothing, I think |
| 20:22 | <Hixie> | nothing interesting |
| 20:23 | <Hixie> | <script> is only interesting when you insert it into a doc |
| 20:23 | <Hixie> | after that it becomes boring |
| 20:23 | <abarth> | Hixie: using a dummy document for fragment parsing is causing performance problems. WebKit innerHTML is not 10x slower for trivial values. :( |
| 20:24 | <Hixie> | yeah i never expected anyone to actually implement it that way |
| 20:25 | <abarth> | i like the model. we'll figure out how to make it fast |
| 20:25 | <Hixie> | so long as you don't run scripts and fire no mutation events except the last one(s) at the end, as if it'd all been inserted at once, i think the effect is the same |
| 20:25 | <Hixie> | there might be some other subtlties |
| 20:25 | <smaug____> | abarth: did you accidentally fix webkit to not have the "optimization" for simple innerHTML values? |
| 20:25 | <smaug____> | (the optimization which is against the spec) |
| 20:26 | <abarth> | smaug____: possibly. there aren't any optimizations for innerHTML |
| 20:26 | <Hixie> | webkit used to do something dodgy with reusing a text node or something |
| 20:26 | <smaug____> | yeah, it at least used to reuse the text node in some cases |
| 20:26 | <abarth> | boo |
| 20:26 | <abarth> | that doesn't seem anywhere close to correct |
| 20:26 | <Hixie> | indeed |
| 20:26 | <Hixie> | fast though! |
| 20:27 | <smaug____> | fast, but no one else does that, IIRC |
| 20:27 | <smaug____> | since it doesn't make sense |
| 20:27 | <Hixie> | yeah |
| 20:27 | <smaug____> | IMO |
| 20:27 | <Hixie> | agreed |
| 20:27 | <Hixie> | that's why the spec doesn't allow it :-) |
| 20:27 | <abarth> | that case is tested in peacemaker |
| 20:28 | <abarth> | which is about the lamest benchmark suite i've ever seen |
| 20:28 | <abarth> | https://bugs.webkit.org/show_bug.cgi?id=48719 |
| 20:29 | <jamesr_> | peacekeeper is the worst browser benchmark out there |
| 20:29 | <Hixie> | you can still mostly do the optimisation if you just make sure that you don't do it if there are any references from JS to the text node |
| 20:29 | <jamesr_> | which is quite a feat |
| 20:29 | <Hixie> | (which there will almost never be) |
| 20:30 | <abarth> | that's true |
| 20:30 | <abarth> | a first step is to recognize the case and use a new text node |
| 20:30 | <abarth> | rather than constructing a whole new document |
| 20:34 | <AryehGregor> | So the standards-compliant way to add a stylesheet would be something like: var link = document.createElement("link"); link.rel = "stylesheet"; link.src = foo; document.appendChild(link); |
| 20:36 | <Ms2ger> | s/document.appendChild/document.head.appendChild/ |
| 20:36 | <AryehGregor> | What if document.head is null? |
| 20:36 | <Hixie> | then your document is not conforming html |
| 20:37 | <AryehGregor> | Yeah, I guess it would be pretty hard for that to happen. How could it be null by the time you get to executing script, in text/html? |
| 20:37 | <AryehGregor> | Isn't something going to auto-create the <head> at some point? |
| 20:38 | <Hixie> | <html onclick="something..." style="...."><!-- network pauses here, user clicks on document --> |
| 20:38 | <AryehGregor> | Aha, so it could fail in some cases where your document is conforming. |
| 20:38 | <Hixie> | true |
| 20:39 | <AryehGregor> | So using document is safer. Although technically HTML5 claims that it's non-conforming if you put the link element outside the head/body, the validator won't notice so no one will care. |
| 20:39 | <AryehGregor> | (besides, that seems like a bogus requirement anyway when it comes to script-inserted stuff) |
| 20:39 | <Hixie> | you won't be able to insert it outside the root element |
| 20:39 | <Hixie> | you'll get a HIERARCHY_ERR |
| 20:39 | <Hixie> | if you're going to all this effort, just create a <head> element :-) |
| 20:40 | <Hixie> | or do it in such a way that you can't run script before the <head> is seen |
| 20:40 | <Hixie> | i mean, a script could always just remove the <head> manually, to not have a <head> |
| 20:40 | <Hixie> | it's not clear to me what your use case is though |
| 20:42 | <romeo_> | I am looking at tokenization states. Are the cases supposed to be ordered in some way? |
| 20:44 | <romeo_> | E.g. the tag open state is not ordered numerically. |
| 20:44 | <romeo_> | It would be faster if small ascii letters was moved up before capital asciis. |
| 20:45 | <romeo_> | s/was/were/ |
| 20:45 | <Hixie> | it's theoretically ordered by unicode code point except that things that cause parse errors come last |
| 20:46 | <Hixie> | however i've not always been good about keeping that order consistent |
| 20:46 | <AryehGregor> | Hixie, it's very common to want to load stylesheets from script. Currently it's pretty awkward to do. |
| 20:46 | <Hixie> | AryehGregor: agreed |
| 20:48 | <AryehGregor> | So do you have any ideas for an API to make it nicer? |
| 20:48 | <Hixie> | document.addStyleSheet(url, [title], [alternate-p]); ? |
| 20:48 | <Hixie> | or document.addStyleSheet(url, [media], [title], [alternate-p]); ? |
| 20:49 | <Hixie> | anne might have something cooking along these lines as part of the CSSOM AltSS stuff |
| 20:49 | <romeo_> | Okay, thanks. |
| 20:53 | <abarth> | AryehGregor: document.head can also be null if you remove the head from the DOM |
| 21:26 | <Hixie> | how do i get a url from a File object these days? |
| 21:39 | <Hixie> | ok, dropzone is done |
| 21:43 | <Hixie> | abarth: his response makes no sense... "ok, so class A and class B of UAs might need to interoperate... but there are other classes (which i am not going to name) that don't need to interoperate" |
| 21:43 | <Hixie> | say what? |
| 21:43 | <Hixie> | you gotta wonder why these people are writing specs, some times |
| 21:44 | <abarth> | they seem to have some aesthetic thats important to them |
| 21:44 | <abarth> | which i haven't quite figured out yet |
| 21:44 | <hober> | what list is this on? httpbis? |
| 21:44 | <Hixie> | yeah |
| 21:45 | gsnedders | stopped reading that a while ago |
| 21:45 | <abarth> | his mail really makes no sense |
| 21:46 | <Hixie> | gsnedders: me too, but every now and then someone says something that hits one of my alarms, and i get to see it again :-) |
| 21:46 | <abarth> | he's arguing that the requested file name isn't part of the semantics of Content-Disposition: attachment; filename=foo |
| 21:47 | <Hixie> | i added HTTP to the list of specs we need to write, linking to his e-mail to show that the wg asked us to write it and we're not just doing it because of NIH syndrome |
| 22:29 | <JonathanNeal> | What do you guys think of http://forums.whatwg.org/viewtopic.php?p=5912&sid=995810a1b65454d366aee56fdc8f504a ? |
| 22:30 | <Hixie> | interesting idea |
| 22:33 | <JonathanNeal> | More modern websites would validate. I mean, sticking <script>s after <body> seems pretty normal practice to me. |
| 22:36 | <Hixie> | sticking <script> before or after </body> today has no effect (the browser moves them all before the </body> anyway), so there's no reason to do that today |
| 22:37 | <JonathanNeal> | I'm pretty sure it has an effect. Let me see... |
| 22:37 | <Hixie> | the parser essentially ignores </body> |
| 22:37 | <Hixie> | if it has an effect, that is significant news |
| 22:39 | <JonathanNeal> | I always thought the document was not accessible until it had </body>'d. |
| 22:39 | <Hixie> | good lord no |
| 22:39 | <Hixie> | the document can be accessible as soon as the browser wants it to be |
| 22:43 | <hober> | IE9 will support application/xhtml+xml |
| 22:43 | <JonathanNeal> | Thanks Hixie. |
| 22:44 | <AryehGregor> | JonathanNeal, that's disproven by just loading any particularly long page. You'll see that the top loads before the full page content has loaded. |
| 22:44 | <JonathanNeal> | Maybe it's just in older IEs |
| 22:44 | <JonathanNeal> | And I think too legacy or something stupid. |
| 22:44 | <Hixie> | IE does have weird behaviour in this space |
| 22:44 | <Hixie> | but even in IE you can disprove it if you run a script with an alert() half way through the page |
| 22:44 | <Hixie> | amongst other means |
| 22:46 | <JonathanNeal> | Sure, I guess I just couldn't access the document.body until it was done or something. |
| 22:48 | <AryehGregor> | You can access that as long as the opening tag has been parsed, it just won't contain its full contents. |
| 22:49 | <AryehGregor> | If you only want to run after the full document has been parsed, use onreadystatechange or whatever that new feature is called. |
| 23:01 | <Rik`> | DOMContentLoaded ? |
| 23:02 | <AryehGregor> | Sounds right. |
| 23:34 | <cardona507> | anyone know what % of html5 tests were submitted by microsoft? |
| 23:36 | <AryehGregor> | You can look yourself to get an idea: http://dvcs.w3.org/hg/html/file/662a167f802d/tests |
| 23:36 | <AryehGregor> | approved/ and submission/ are the relevant ones. |
| 23:36 | <AryehGregor> | Oh, approved/ doesn't say who submitted them. |
| 23:37 | <AryehGregor> | Well, submission/ does. |
| 23:37 | <cardona507> | thnx AryehGregor |