02:34 | <TabAtkins> | roc: Thank you for reviving the CSSOM sizing thread! |
06:38 | <hsivonen> | hooray. W3C list search form now uses HTML5 form features |
06:49 | <MikeSmith> | hsivonen: oh, cool |
06:49 | MikeSmith | didn't know |
06:49 | <MikeSmith> | hsivonen: was there an announcement somewhere? |
06:49 | <MikeSmith> | or you just noticed when you went to use it? |
06:50 | <hsivonen> | MikeSmith: I just noticed when using it |
06:50 | <MikeSmith> | ok |
09:03 | <annevk> | oh that's pretty cool, it uses <datalist> |
09:03 | <woef> | "and that is, in principle, independently distributable or reusable, e.g. in syndication." |
09:03 | <woef> | (article spec) |
09:04 | <woef> | reusable as in "reusable in different sites than your own"? |
11:19 | <MikeSmith> | hsivonen: that surrogate-pair validator bug might be a dupe of one already reported |
11:20 | <MikeSmith> | I vaguely recall something |
11:20 | <MikeSmith> | oh |
11:20 | <MikeSmith> | or maybe not |
11:20 | <MikeSmith> | I don't remember seeing the "Unmatched low surrogate" error message |
12:59 | <MikeSmith> | latest gsnedders tweet is solid gold |
12:59 | <MikeSmith> | but it reminds me that it seems like he's not been saying much here lately |
13:00 | <MikeSmith> | so maybe he's finally got his priorities right |
13:02 | <gsnedders> | MikeSmith: I'm on holiday. |
13:02 | <MikeSmith> | ah |
13:02 | <MikeSmith> | well, keep that holiday going as long as you can |
13:02 | <gsnedders> | MikeSmith: And when I've not been, I've been deeper and deeper in ES land |
13:02 | <MikeSmith> | for your own sake |
13:02 | <MikeSmith> | ah |
13:02 | <MikeSmith> | well, condolensences |
13:03 | <MikeSmith> | I had hoped that you were deeper into... something else |
13:53 | <annevk> | maybe we should just do away with boundary points? |
13:53 | <annevk> | and call out start node / start offset / end node / end offset out explicitly |
15:32 | <AryehGregor> | Wow, this looks really cool in Firefox 8.0a2: http://aryeh.name/tmp/editing/conformancetest/runtest.html |
15:32 | <AryehGregor> | You actually see all the tests run. |
15:32 | <AryehGregor> | For some reason, I'm not sure why. |
15:32 | <AryehGregor> | It probably makes it take longer. It didn't used to do that. |
15:33 | <annevk> | that's some tests right there :) |
15:34 | <annevk> | AryehGregor, while you are here, I hope very much you will review my changes to Ranges at some point |
15:34 | <AryehGregor> | I definitely will. |
15:34 | <AryehGregor> | What changes have you made so far? |
15:35 | <annevk> | I guess the major changes have been integrating mutation handling into concept-CD-replace, concept-node-insert, and concept-node-remove |
15:35 | <annevk> | still have to do splitText |
15:35 | <annevk> | I also renamed some concepts |
15:35 | <AryehGregor> | Sounds great. |
15:35 | <AryehGregor> | I'll take a look soon, maybe today. |
15:36 | <AryehGregor> | jgraham, is there some way to suppress the "expected true got false" message? Sometimes it's useless and/or confusing. |
15:37 | <gsnedders> | AryehGregor: How is it useless/confusing? |
15:37 | <AryehGregor> | gsnedders, Body has extra attributes! Element node <body bgcolor="#00FFFF"> with 20 children expected 0 got 1 |
15:37 | <AryehGregor> | Or: Body has extra attributes! Element node <body bgcolor="#00FFFF"> with 20 children expected true got false |
15:37 | <AryehGregor> | "Expected true got false" is almost always useless, if not confusing. |
15:38 | <AryehGregor> | I want something like just: Body has extra attributes! <body bgcolor="#00FFFF"> |
15:38 | <gsnedders> | AryehGregor: How are you computing the value you call assertTrue with? |
15:38 | <AryehGregor> | The "Element node" and "with 20 children" aren't the harness' fault, but "expected X got Y" is. |
15:38 | <AryehGregor> | gsnedders, originally I did assert_equals(document.body.attributes.length, 0, ...). |
15:39 | <AryehGregor> | Thus "expected 0 got 1". |
15:39 | <AryehGregor> | But that's not helpful at all. |
15:39 | <zcorpan> | why is it not helpful? |
15:39 | <gsnedders> | AryehGregor: I'd much rather know how many attributes it was finding. |
15:39 | <zewt> | ... isn't that "1"? |
15:39 | <AryehGregor> | What does it help? I already print the actual <body> element with the attributes. |
15:39 | <gsnedders> | AryehGregor: Just telling me that it doesn't have the expected value doesnt' help me. |
15:40 | <zewt> | er, read lines backwards |
15:40 | <AryehGregor> | Did you miss the part where it prints out '<body bgcolor="#00FFFF">'? |
15:40 | <gsnedders> | AryehGregor: Then I have to count them, if there are many. |
15:40 | <AryehGregor> | Why should you care? There are supposed to be zero. |
15:40 | <gsnedders> | AryehGregor: I didn't know that was what you got and not the input. |
15:40 | <AryehGregor> | No, it was the erroneous output. |
15:40 | <AryehGregor> | It should be clear from context if you understand what the test is doing. |
15:40 | <AryehGregor> | The point is, I'm writing the tests and I want to control the failure messages. |
15:41 | <AryehGregor> | Often the expected/got thing is useful, but sometimes not. |
15:41 | <AryehGregor> | "expected true got false" is almost never useful, in particular. |
15:41 | <zewt> | if you only care about whether something matches what you expect, and not the particulars of the values, wouldn't you want (in most harnesses, don't know this one in particular) assert_true(length == 0, ...)? |
15:41 | gsnedders | would rather have the output from the harness, always |
15:41 | <AryehGregor> | That produces "expected true got false". |
15:41 | <AryehGregor> | zewt, ^^ |
15:42 | <AryehGregor> | gsnedders, I wouldn't object if it actually meant something in context. But it doesn't say what the *expressions* for the actual and expected values are. |
15:42 | <zewt> | that's a separate issue than assert_equals showing it, though. |
15:42 | <gsnedders> | Because then I don't have to dig through the test code to see if there's places I have to add extra debug code to work out why it fails that would be given by the normal output. |
15:42 | <AryehGregor> | I'm just asking for some way to suppress it. |
15:42 | <zewt> | does seem useless for assert_true/false, since it's never adding any new info |
15:42 | <AryehGregor> | gsnedders, this is actively misleading: Body has extra attributes! Element node <body bgcolor="#00FFFF"> with 20 children expected 0 got 1 |
15:42 | <AryehGregor> | The context makes it seem like the number is related to the number of children. |
15:43 | <gsnedders> | AryehGregor: Then there should be some sort of comma or something. Just because it's unclear in the current form doesn't make the right solution be removing it entirely. |
15:43 | <AryehGregor> | gsnedders, do you think "expected true got false" is ever useful? |
15:44 | <AryehGregor> | When does that ever add any info at all? |
15:44 | <gsnedders> | AryehGregor: It tells me it's probably not a test with any simple-to-debug assertion. |
15:44 | <AryehGregor> | Or maybe the assertion message can be written clearly enough that the harness output is sometimes superfluous? |
15:46 | <gsnedders> | AryehGregor: I'd only be happy with that if I could guarantee everyone writing tests wrote good testse. |
15:47 | <AryehGregor> | If they don't, the expected/actual values won't help anyway, because you have no idea what they mean if they're just numbers or true/false. |
15:47 | <AryehGregor> | You have to rely on the custom test message to tell you that no matter what. |
15:50 | <jgraham> | It's not always "expected true, got false", it could, for example, be expected true, got "" |
15:50 | <AryehGregor> | Okay, that's a good point. |
15:50 | <jgraham> | But no, you can't customise |
15:50 | <jgraham> | And it would be non-trivial to allow it |
15:51 | <jgraham> | Well I guess you could add more parameters to every assert function |
15:51 | <gsnedders> | (Of course, if assertTrue is called with something just with ===, then that can't happen, but if we're just doing that you shouldn't be using assertTrue) |
15:51 | <woef> | "Tired developers use the word “non-trivial,” or some variation thereof, a lot more than energized developers." |
15:51 | <woef> | ;) |
15:51 | <jgraham> | I am tired |
15:52 | <gsnedders> | Thankfully, jgraham isn't a developer. |
15:52 | <jgraham> | I have been on the train for 6 hours |
15:52 | <gsnedders> | jgraham: Leaving at 7am? |
15:52 | <jgraham> | No, I'm not insane and tired |
15:52 | <jgraham> | Just tired |
15:52 | <gsnedders> | jgraham: So you had more than just one change? Or have the train times changed? |
15:52 | <jgraham> | 2 changes |
15:53 | <gsnedders> | Why do I know those train times off the top of my head? |
15:54 | <jgraham> | Because you have done the journey before? |
15:54 | <gsnedders> | Far too often. |
15:54 | <jgraham> | AryehGregor: Anyway, I guess one could allow a format string or something to customize the assert message, but I don't think it is actually harmful to print them always |
15:55 | <jgraham> | s/them/the full message/ |
15:55 | <AryehGregor> | jgraham, it's just distracting, but it's not a big deal. |
15:55 | <AryehGregor> | Did you ever look at why my reflection tests are now not working in your harness? |
15:55 | <jgraham> | No, I have been a bit swamped. But I am aware that I still have to do it. So I will! |
15:58 | <jgraham> | (that wasn't a promise to do it right now, btw) |
15:58 | <jgraham> | (but I am aware that it needs to be looked at. I expect this week sometime to be realistic) |
16:00 | <annevk> | AryehGregor, I'm trying to read http://www.w3.org/Bugs/Public/show_bug.cgi?id=14035#c3 |
16:00 | <annevk> | AryehGregor, for the case where parent is null |
16:00 | <annevk> | AryehGregor, what should range's start node be? |
16:03 | <annevk> | guess it has to be oldNode |
16:09 | <timeless> | AryehGregor: grr, your /tmp/ thing hung my browser |
16:09 | <AryehGregor> | timeless, what browser? |
16:09 | <AryehGregor> | annevk, if oldNode is detached, then either both the range's start/end have to be oldNode, or neither can be. If neither is, then of course the range won't mutate when you splitText() it. |
16:13 | <annevk> | AryehGregor, for the second bullet point, does that have an implied start offset is smaller than offset in it? |
16:13 | <timeless> | Nightly |
16:13 | <timeless> | gsnedders: which trains are these? |
16:14 | <AryehGregor> | annevk, the four cases are steps in an algorithm being run in order. If the start offset was >= offset, you'd already have hit the first case, and the start/end node would no longer be old node. |
16:14 | <timeless> | AryehGregor: afaict, you manage to hang the browser for 10s |
16:14 | <timeless> | without triggering a slow script dialog |
16:14 | <AryehGregor> | This was relatively explicit in the original text. |
16:14 | <timeless> | but in some cases you manage to trigger the OS <frozen app> feature |
16:14 | <AryehGregor> | timeless, it's more like upwards of a minute for me. |
16:14 | <timeless> | well err |
16:14 | <AryehGregor> | Yeah, this kind of test stinks if you use a browser like Firefox that doesn't have process-per-tab. |
16:15 | <AryehGregor> | Good thing I use Chrome for browsing and Firefox only for testing. |
16:15 | <timeless> | could you try *not* hanging the browser for more than 3s at a time? :) |
16:15 | <annevk> | AryehGregor, thanks AryehGregor |
16:15 | <AryehGregor> | (this is one of the biggest reasons I use Chrome, in fact) |
16:15 | <AryehGregor> | timeless, how do you suggest doing that? |
16:15 | <timeless> | setTimeout? :) |
16:15 | <annevk> | AryehGregor, fwiw, I'm splitting the four steps into two sets of two as the method returns after parent is null |
16:15 | <timeless> | Time elapsed: 0:12.515 min. |
16:16 | <timeless> | so my math of 10s isn't too far off |
16:16 | <timeless> | 5393 Pass 2853 Fail |
16:16 | <timeless> | are those numbers more or less correct? |
16:16 | <AryehGregor> | Yes. |
16:16 | <AryehGregor> | annevk, fine by me. |
16:16 | <AryehGregor> | timeless, half the tests should be almost sure to pass, because they're just setup/sanity checks at this point. |
16:16 | <timeless> | fwiw your error message in that case sucks too |
16:16 | <timeless> | assert_equals: Body element must have no attributes, but doesn't: <body bgcolor="#00FFFF"> expected 0 but got 1 |
16:17 | <AryehGregor> | What's wrong with it? |
16:17 | <timeless> | it should say: |
16:17 | <timeless> | assert_equals: Body element must have no attributes (<body>), but instead it has: <body bgcolor="#00FFFF"> expected 0 but got 1 |
16:17 | <timeless> | has/is |
16:18 | <AryehGregor> | I could change it, but I think it's clear enough. |
16:18 | timeless | really doesn't think it's clear enough |
16:18 | <timeless> | `doesn't` is confusing |
16:18 | <timeless> | compare: |
16:18 | <timeless> | assert_equals: Wrapper div must have only one attribute (contenteditable=""), but has more: <div contenteditable="" style="background-color: rgb(0, 255, 255);"> expected 1 but got 2 |
16:19 | AryehGregor | adjusts |
16:19 | <AryehGregor> | Would "Body element must have no attributes, but has more: " be better? |
16:19 | <timeless> | assert_true: Setup failed, cannot proceed expected true got false |
16:19 | <timeless> | technically yes |
16:20 | <timeless> | generally for short strings, having comparable strings is better than pure prose |
16:20 | <timeless> | i can easily compare <body> and <body foo=bar> |
16:21 | <timeless> | anyway, the setup failed stuff is unfortuante\ |
16:21 | <timeless> | s/ant/nat/ |
16:21 | <AryehGregor> | timeless, okay, try now. |
16:21 | <timeless> | it sounds like it expected setup to fail |
16:22 | <AryehGregor> | What about it is unfortunate? I don't like the "expected true got false" part, but jgraham and gsnedders think it should stay. |
16:22 | <AryehGregor> | It should be phrased as a requirement, like "Setup must pass if further tests are to proceed" or such? |
16:22 | <timeless> | yeah it looks better |
16:22 | <timeless> | AryehGregor: yes |
16:23 | <timeless> | possibly "Setup must return true if ..." |
16:23 | <timeless> | that works well with "expected true got false" |
16:23 | <AryehGregor> | I think the "expected true got false" thing is just useless and should go away. |
16:23 | <AryehGregor> | But the harness doesn't allow it. |
16:23 | timeless | nods |
16:23 | <timeless> | i'd side with you if it would make a difference |
16:23 | <AryehGregor> | jgraham, ^^ |
16:23 | <AryehGregor> | How about: "Setup and sanity checks must pass for further tests to make sense" |
16:23 | <timeless> | given that you've already tried that one, i'm just offering two suggestions for the rest |
16:24 | <AryehGregor> | (with "expected true, but got false" added, of course) |
16:24 | <AryehGregor> | Or maybe ". . . for further tests to be executed". |
16:24 | <timeless> | that mostly works, one could s/pass/pass (return true)/ |
16:24 | <timeless> | `executed` and `make sense` are very different |
16:24 | <timeless> | one implies the tests will not run |
16:24 | <AryehGregor> | Except setup doesn't return true, the true/false thing is an artifact of the current test harness that I hope goes away sometime. |
16:24 | <AryehGregor> | They won't. |
16:24 | <timeless> | the other implies they will run and return garbage |
16:25 | <AryehGregor> | "Setup and sanity checks must pass for further tests to be executed on this input" |
16:25 | <timeless> | ok |
16:26 | <AryehGregor> | Okay, how about now? |
16:26 | timeless | waits for browser to unfreeze irc client.. |
16:26 | <timeless> | grr |
16:27 | <timeless> | does your web page break ctrl-home intentionally? |
16:27 | <timeless> | (or is that just Nightly being silly? |
16:28 | <AryehGregor> | What does Ctrl-Home do? |
16:28 | <timeless> | "take me to top of document" typically |
16:31 | <AryehGregor> | Doesn't Home do the same, if you aren't in something editable? |
16:31 | <timeless_xchat> | and can you make your test not cause ie9 x64 to try to use >5gb of vm/2gb of ram? |
16:31 | <timeless_xchat> | it's bad for my ears |
16:31 | <AryehGregor> | I haven't tested much in IE yet. |
16:32 | <timeless_xchat> | (computer is still spinning disk to deal w/ swap) |
16:32 | timeless_xchat | waves goodbye to timeless |
16:33 | <timeless_xchat> | ... and i thought your denial of cpu cycles in Nightly was bad |
16:33 | <AryehGregor> | It's not just a conformance test, it's a benchmark! |
16:33 | <AryehGregor> | Kind of like loading HTML5. |
16:33 | <timeless_xchat> | your denial of ram + any cycles due to memory exhaustion in ie is worse |
16:34 | <timeless_xchat> | have you seen stress.html? |
16:34 | <AryehGregor> | Nope. |
16:34 | timeless_xchat | finally gets the irc dialog saying the session died |
16:34 | <zewt> | one might argue that a browser letting a page chew so much memory as to affect the user's system is itself a problem :P |
16:35 | <timeless_xchat> | it's vaguely nsfw |
16:35 | <timeless_xchat> | http://timeless.justdave.net/stress/stress.html |
16:35 | <timeless_xchat> | historically it was not safe for unix boxes |
16:35 | <timeless_xchat> | they tended to die |
16:36 | <AryehGregor> | I've visited webpages that crashed X. |
16:36 | <timeless_xchat> | (actually, to be fair it also triggered bluescreens) |
16:36 | <timeless_xchat> | but the fbsd panic was more amusing |
16:37 | <timeless_xchat> | it also has killed a bunch of phones ... |
16:37 | <timeless_xchat> | zewt: one might |
16:37 | <timeless_xchat> | but... |
16:37 | <timeless_xchat> | consider that page |
16:37 | <timeless_xchat> | what would you want to have happen? |
16:38 | <timeless_xchat> | obviously having your os panic is less than ideal... |
16:38 | <timeless_xchat> | and certainly having your window manager die or commit suicide isn't much better |
16:39 | <annevk> | AryehGregor, shall I add you as editor of DOM4? |
16:39 | <AryehGregor> | annevk, sure, go ahead. |
16:41 | <timeless_xchat> | aryehgregor : one good thing about ie |
16:41 | <timeless_xchat> | i can suspend the runaway process |
16:42 | <timeless_xchat> | and i can still use the urlbar |
16:42 | <annevk> | wait, AryehGregor, are you a member of the WebApps WG? |
16:42 | <AryehGregor> | annevk, yes. |
16:42 | <AryehGregor> | At least, last I checked. |
16:42 | <AryehGregor> | Pretty sure I represent Google there. |
16:42 | <timeless_xchat> | did you rejoin? |
16:43 | <AryehGregor> | timeless_xchat, in Chrome you can just close the tab like regular if it goes haywire. |
16:43 | <AryehGregor> | Rejoin? |
16:43 | <timeless_xchat> | (did they recharter recently? ) |
16:43 | <annevk> | AryehGregor, okay |
16:43 | <AryehGregor> | http://www.w3.org/2000/09/dbwg/details?group=42538&public=1&gs=1& |
16:43 | <AryehGregor> | Gregor, Aryeh |
16:43 | <AryehGregor> | (good standing) |
16:43 | <AryehGregor> | Google, Inc. |
16:44 | <timeless_xchat> | anyway, ctrl-home/ctrl-end work in ie |
16:44 | <timeless_xchat> | i think for editing related systems, home/end on windows are linear |
16:44 | <timeless_xchat> | and ctrl- changes them to document orientation |
16:45 | <AryehGregor> | Basically, yeah. |
16:45 | <timeless_xchat> | in things that aren't editing, both should behave the same |
16:45 | <AryehGregor> | More precisely, it changes them to top/bottom instead of line-start/line-end. |
16:45 | <AryehGregor> | Sounds right. |
16:45 | <timeless_xchat> | well |
16:45 | <timeless_xchat> | i don't know if windows supports any btt languages :) |
16:46 | <timeless_xchat> | ok, ctrl- home/end work fine in Nightly on news.google.com |
16:46 | <timeless_xchat> | so somehow your page breaks them |
16:49 | <AryehGregor> | Okay, I really need more RAM for this machine |
16:49 | <AryehGregor> | . |
16:49 | <timeless_xchat> | heh |
16:49 | <timeless_xchat> | how much do you have? |
16:49 | <AryehGregor> | 3G. |
16:49 | <zcorpan> | AryehGregor: thanks for the piece of sanity regarding dom core vs dom3events |
16:49 | <AryehGregor> | No, 4G. |
16:49 | <AryehGregor> | zcorpan, any time. |
16:51 | <AryehGregor> | Hmm, should I upgrade to 6G for $22 or 8G for $55? |
16:52 | <AryehGregor> | I'll only be using this computer for a few more months, so I think I'll just buy another 2G. Should be fine. |
16:53 | <zewt> | ... has google's main search box been, uh, stupid for anyone else lately? |
16:54 | <zewt> | several times i've moved the cursor (home, ctrl-left), started typing, and after 1-2 keystrokes the cursor jumps back to the end of the input, so whatever I'm typing gets split |
16:54 | <annevk> | renamed to DOM4 |
16:54 | <Philip`> | I've had that several times (in Opera) |
16:54 | <zewt> | (ff6) |
16:54 | <annevk> | Ms2ger, should we rename domcore.js to dom.js etc.? |
16:55 | <Ms2ger> | .html? |
16:55 | <zcorpan> | annevk: why is node.contains(node) true? was it implemented that way? |
16:55 | <Ms2ger> | zcorpan, yes |
16:55 | <zcorpan> | ok |
16:55 | <dglazkov> | good morning, Whatwg! |
16:55 | <Ms2ger> | zcorpan, a bug was filed on Gecko already |
16:55 | <Philip`> | zewt: It seems like it's moving focus to the end of the input box on onload or something close to that |
16:55 | <annevk> | Ms2ger, only effect will be required search/replace for spec=domcore to spec=dom |
16:55 | <zewt> | seems like they've become very loose with the google search page ... extremely annoying, being probably the most used form on the internet |
16:55 | <Ms2ger> | Oh |
16:55 | <Philip`> | regardless of whether you've started typing already |
16:56 | <annevk> | Ms2ger, no need to rename that html file |
16:56 | <annevk> | shorter name for dom would be nice though |
16:56 | <Ms2ger> | Just add an alias, don't care about the name of the file |
16:56 | <jgraham> | timeless_xchat, AryehGregor: Verying the number of TCs depending on whether ome pass or fail is evil |
16:56 | <jgraham> | *Varying |
16:56 | <zewt> | also, many times it seems like it's ignoring form submission--i'll load the top-level search page, type something, hit enter, wait ... and nothing happens. heh |
16:56 | <jgraham> | *some |
16:56 | <Philip`> | Maybe their stats say it reduces the mean serch time by 0.05 seconds so it's worth the inconvenience for weird users, though |
16:57 | <AryehGregor> | jgraham, that's why I'm not. I'm just having all subsequent ones fail automatically without doing anything. |
16:57 | <jgraham> | That's fine |
16:57 | <Philip`> | s/serch/search/ |
16:57 | <jgraham> | I probably didn't read the backscroll carefully enough |
16:57 | <zewt> | it doesn't focus the search box by default, though |
16:57 | <jgraham> | you all talk too much |
16:57 | <jgraham> | ;) |
16:57 | <zewt> | and it doesn't seem to modify the input-box-selected behavior, either |
16:58 | <zewt> | Showing results for sdfsdf. Search instead for sdfdf. |
16:58 | <zewt> | that may be the best autocorrect i've ever seen |
16:58 | <oal> | Hey, is it possible, or will it be possible to create "outside border radius" with css, like this http://upload.wikimedia.org/wikipedia/en/9/93/Opera11favicon.png |
16:58 | <oal> | So that corners are rounded outwards |
16:59 | <oal> | Like in the bottom of the tabs in the screenshot |
17:00 | <zcorpan> | TabAtkins: ^ |
17:11 | <annevk> | WebKit has Range.expand() AryehGregor |
17:11 | <AryehGregor> | annevk, WebKit has loads of junk that they threw on Range and Selection. |
17:11 | <AryehGregor> | Some might be worth taking, like modify(), but some is useless and they should remove it, like setBaseAndExtent(). |
17:12 | <annevk> | That's on Selection |
17:12 | <AryehGregor> | Well, yes. |
17:12 | <AryehGregor> | In that case. |
17:12 | <AryehGregor> | Maybe they put less junk on Range, I didn't look closely. |
17:12 | <AryehGregor> | But there's definitely stuff they should drop support for and that shouldn't be specced. |
17:13 | <annevk> | Only Range.expand() and constants for comparePoint are currently not in the specification |
17:14 | <annevk> | Also the constants they have for comparePoint do not match the return values in the specification... |
17:20 | <oal> | This describes what I want to do if anyone's interested. http://orderedlist.com/blog/articles/flared-borders-with-css/ |
17:23 | <zcorpan> | oal: it seems like a reasonable thing to be able to do without jumping through hoops. try sending an email to www-style |
17:24 | <oal> | I'm not really much into mailing lists and stuff. Where is it? |
17:25 | <oal> | Do I simply send an email to www-style⊙wo describing the issue? |
17:25 | <jgraham> | Pretty much |
17:26 | <zewt> | might be subscriber-only |
17:26 | <timeless_xchat> | jgraham: i don't disagree wrt varying |
17:26 | <zcorpan> | zewt: don't think it is |
17:26 | <timeless_xchat> | but i was merely asking about meaning of text |
17:27 | <zcorpan> | at least i recall having successfully sent emails to www-style without being subscribed |
17:27 | <timeless_xchat> | implications are someone else's problem |
17:27 | <oal> | How detailed should the mail be? I'll ask if that feature is planned, and show the opera screenshot and the link to the "hack"? |
17:27 | <timeless_xchat> | aryehgregor : sounds like your message is wrong then, but i lost scrollback |
17:27 | <AryehGregor> | timeless_xchat, which message? |
17:28 | <timeless_xchat> | sorry, lunch |
17:34 | <oal> | Ok, mail sent to the mailing list ;) |
17:42 | <smaug____> | Why does http://mozilla.pettay.fi/moztests/nestedclick.html open only one tab in webkit and opera |
17:42 | <smaug____> | it should open two, but apparently some page relies on it to open only one |
17:46 | <zewt> | i don't think browsers should ever allow opening more than one tab or window in a single event |
17:46 | <zewt> | just evil |
18:03 | <Ms2ger> | annevk5, hmm, doesn't Google get a link? :) |
18:04 | <smaug____> | oh, hmm, webkit doesn't have click() in anchor elements |
18:09 | <smaug____> | ok, then question to someone from Opera. Why does http://mozilla.pettay.fi/moztests/nestedclick.html open only one tab |
18:15 | <zcorpan> | we prevent recursion in click() |
18:15 | <zcorpan> | it's in the spec |
18:15 | <zcorpan> | who from opera btw? :) |
18:16 | <zcorpan> | oh, to someone from opera |
18:16 | zcorpan | read from someone from opera |
18:17 | <smaug____> | zcorpan: nothing to do with recursion |
18:17 | <smaug____> | gecko prevent recursion too |
18:17 | <smaug____> | zcorpan: there is the click() and user initiated click to <a> |
18:17 | <smaug____> | why opera handles only one |
18:19 | <zcorpan> | ah, i see. not sure |
18:19 | <gsnedders> | smaug____: We block script clicks on a elements, I think |
18:19 | <gsnedders> | (But don't ask me, I'm on holiday.) |
18:20 | <zewt> | (on non-cancelled clicks only, i'd imagine?) |
18:20 | <gsnedders> | zewt: (see my previous line) |
18:20 | <zewt> | (you're not the only one on irc) |
18:20 | <zewt> | :P |
18:21 | <smaug____> | gsnedders: clicking a click event manually to <a> does trigger the link in Opera |
18:22 | <gsnedders> | My thought was wrong, then, obviously. |
18:22 | <zcorpan> | is opera's behavior more web compatible or less web compatible? |
18:23 | <zewt> | the only time i'd ever expect pages to both activate a link and open a window would be for ads anyway, heh |
18:28 | <zcorpan> | smaug____: i guess we set the "click in progress" flag to true for regular clicks |
18:28 | <smaug____> | ah, that is perhaps it |
18:28 | <smaug____> | not per spec, but that would explain the behavior |
18:29 | <smaug____> | IE seems to have something similar |
18:29 | <zcorpan> | maybe we should put it in the spec |
18:29 | <smaug____> | right |
18:38 | <timeless_xchat> | heycam: any idea why marcos references you by First Last instead of F. Last in widgets-apis ? |
18:39 | <Ms2ger> | annevk5, are we planning to publish at TR/dom? |
18:40 | <zcorpan> | timeless_xchat: does he use anolis? |
18:42 | timeless_xchat | shrugs |
18:42 | <gsnedders> | zcorpan: Yes. |
18:42 | <zcorpan> | that'd explain it |
18:44 | <Ms2ger> | Why? |
18:45 | <Ms2ger> | His references are literally in the source |
18:46 | <zcorpan> | oh |
18:51 | <Hixie> | gah, i always need to test IE when I don't have it |
18:52 | <Hixie> | i need to work out when IE fires readystatechange in the situation where a <script> is created in one task, then inserted into the document before the preload starts |
18:52 | <Ms2ger> | Ask khuey in #developers ;) |
18:53 | <Hixie> | i'll just test it in a few hours when I have access to IE |
18:53 | <Hixie> | i'm not sure i'm sure what i want to test exactly |
18:53 | <zewt> | carry a 64gb usb thumbdrive with a VM around with you :P |
18:54 | <Hixie> | hmmmm maybe this doesn't matter so much actually |
18:54 | <Hixie> | inserting an external script from script is never sync, right? |
19:00 | <Hixie> | ok i think the actual question i need an answer for is about what happens if after you create a script with a "src" attribute, you then change it before readystatechange fires |
19:00 | <Hixie> | or what happens if you change it after it's fired... |
19:00 | <Hixie> | man it's not surprising IE's behaviour here is inconsistent |
19:01 | <Hixie> | so many edge cases |
19:01 | <Hixie> | cullenfluffyjenn: hey dude, sup |
19:01 | <cullenfluffyjenn> | Hi - finally got back from vacation and trying to remember what all this stuff I am working on actually is. |
19:01 | <Hixie> | hah, same here |
19:08 | <Hixie> | bbiab |
19:10 | <timeless> | AryehGregor: your web page has a scary growth curve in ie9 |
19:10 | <AryehGregor> | timeless, which one, and what do you mean by growth curve? |
19:10 | <AryehGregor> | Am I causing a memory leak? |
19:10 | <timeless> | my guess is a leak and an infinite loop |
19:10 | <timeless> | ooh |
19:11 | <timeless> | Time elapsed: 1:11.259 min. |
19:11 | <timeless> | it finished? |
19:11 | <timeless> | Summary Found 3 tests 3 Fail |
19:11 | <timeless> | it's only using 700mb of ram |
19:11 | <AryehGregor> | Whee. |
19:11 | <AryehGregor> | I'll look at that. |
19:11 | <AryehGregor> | Haven't really tested in IE yet. |
19:11 | <timeless> | this is after it was restarted once |
19:11 | <timeless> | Fail [["delete",""],["inserttext","a"]] "<blockquote><font color=blue>[foo]</font></blockquote>" checks for modifications to non-editable content assert_equals: Setup and execCommand() must not throw an exception expected null but got object "Error: Invalid argument." Fail [["delete",""],["inserttext","a"]] "<blockquote><font color=blue>[foo]</font></blockquote>" compare innerHTML assert_equals: Setup and execCommand() must not throw a |
19:12 | <timeless> | anyway, um |
19:12 | <timeless> | if you could have a timer which checks to see if the system responds w/in say 3 mins |
19:12 | <timeless> | if it doesn't, your page should stop testing |
19:13 | <timeless> | and ask the user to set a new value and mark failed for everything past that point |
19:13 | <timeless> | 3 mins = a way to detect if the system is paging to death |
19:13 | timeless | leaves |
19:13 | <AryehGregor> | I wouldn't be surprised if it takes more than three minutes to run. |
19:25 | Ms2ger | will be away from tomorrow until the 15th |
19:25 | AryehGregor | waves |
19:26 | <AryehGregor> | Yikes, I really need more RAM here. |
19:28 | zcorpan | realizes that everything that's ever sent to public-html-announce is telecon minutes, which he couldn't care less about, and so unsubscribes |
19:28 | <AryehGregor> | Summary |
19:28 | <AryehGregor> | Found 57836 tests |
19:28 | <AryehGregor> | There we go. This is starting to look something more like a typical test suite I'd write. :) |
19:29 | <zcorpan> | you don't need more ram, you just need to spend a week profiling and optimizing |
19:30 | <AryehGregor> | 406,936k memory used by the Chrome tab with the conformance tests open. |
19:30 | <Philip`> | You should compress your RAM, so you can store twice as much in it |
19:30 | <AryehGregor> | Philip`, recent Linux kernels can do that! |
19:31 | <Philip`> | Even without any fancy technology, I guess you could set up a RAM disk then put a compressing filesystem on it then put a swap file on that |
19:31 | <AryehGregor> | I'm not swapping, at least. |
19:31 | <AryehGregor> | Hmm. The data.js for the tests is over a megabyte. |
19:32 | <AryehGregor> | I guess that's not a major contributor, though. |
19:32 | <AryehGregor> | . . . I really should have bought 4G of RAM instead of 2G. |
19:32 | AryehGregor | checks if he can change the order |
19:35 | <Philip`> | Could you just order another 2GB? |
19:35 | <Philip`> | or do you have insufficient sockets? |
19:37 | <AryehGregor> | Only one free DIMM. |
19:38 | <AryehGregor> | It seems like I can cancel it, though. Just waiting for the confirmation that it went through before placing the new order. |
19:39 | <AryehGregor> | There we go, order changed. |
19:39 | AryehGregor | now begins to regret that he got only 8G of RAM for his new laptop |
19:40 | <rniwa> | AryehGregor: you can always add more! |
19:41 | <Philip`> | They should make external RAM with a USB connection |
19:44 | <jcranmer> | . . . |
19:44 | <jcranmer> | I really like having my memory bandwidth in 10's of MB/s |
19:45 | <jcranmer> | at that speed, you're really looking at a SSD |
20:10 | <kennyluck> | annevk5, is there a page for the list of features you mentioned in http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-September/033065.html ? |
20:13 | <Ms2ger> | kennyluck, most are in the spec source |
20:13 | <annevk> | Ms2ger, I just copied what other specifications had for Google |
20:13 | <Ms2ger> | K |
20:13 | <annevk> | Ms2ger, feel free to change it |
20:14 | <annevk> | as for /tr/dom/ seemed nice to me |
20:14 | <kennyluck> | Ms2ger, thanks for the info. |
20:15 | <Ms2ger> | WFM, but you'll probably need to bug staff about that |
20:17 | <annevk> | Ms2ger, yeah, when we publish |
20:17 | <Ms2ger> | And if you're publishing next week, you get to do it :) |
20:20 | <annevk> | I noticed you have some break thingie starting tomorrow |
20:20 | <annevk> | Have fun |
20:21 | <Ms2ger> | Ta |
20:25 | <annevk> | kennyluck, in the source of the spec? |
20:27 | <Hixie> | good god IE is messed up |
20:28 | <Ms2ger> | Hixie, welcome to 2002 :) |
20:29 | <Hixie> | for <script></script>, the end readyState is 'loading' |
20:29 | <Hixie> | for <script>x</script>, the end readyState is 'complete' |
20:29 | <Hixie> | for <script src="x"></script>, the end readyState is 'loaded' |
20:30 | <Hixie> | also in IE the 'load' and 'readystatechange' events on script execution are async, not sync like in the spec or gecko |
20:32 | <timeless> | AryehGregor: it isn't about how long it takes to run |
20:32 | <timeless> | it's about how late a timer fires |
20:32 | <Hixie> | this is giving me a headache |
20:32 | <timeless> | if you ask it to fire in 2minutes and it's a minute late, there's a problem |
20:33 | <timeless> | basically, as long as you break your test into small pieces, and as long as your other timer can fire with limited latency relative to its expected firing deadline, things are ok |
20:33 | <timeless> | but if you split things up and it doesn't fire close enough to on schedule, then it's probably paging to death |
20:33 | <AryehGregor> | Could be. |
20:34 | <kennyluck> | annevk, I don't see path objects listed anywhere in the source of http://dev.w3.org/html5/2dcontext/ (and http://www.whatwg.org/specs/web-apps/current-work/ ) |
20:34 | timeless | needs to write a demo of that and get people to deploy it |
20:36 | <Philip`> | kennyluck: I think it's a shared mental list, not one that's been written down explicitly |
20:39 | <kennyluck> | ok |
20:42 | <Ms2ger> | $ grep v2 source | wc -l |
20:42 | <Ms2ger> | 138 |
20:43 | <TabAtkins> | oal: You can do corners like that currently by properly styling and positioning ::before and ::after. It's an interesting idea to keep in mind for the border-radius-style property when we develop it, though |
20:43 | <Ms2ger> | <!-- v2: fix this somehow --> |
20:44 | <timeless> | Ms2ger: you never have <!-- v2: ... --> <!-- v2: ... --> ? :) |
20:44 | <timeless> | Ms2ger: also, you might try `grep -c v2 source` |
20:45 | <Ms2ger> | Pff |
20:45 | <zewt> | sounds like an option added by someone who doesn't "get" unix |
20:45 | <zewt> | "we need to combine TWO programs to do this?!" |
20:45 | <Ms2ger> | Exactly |
20:45 | <timeless> | zewt: yeah, it's a gnuism iirc :) |
20:45 | <Ms2ger> | That's what pipes are for |
20:45 | <timeless> | have you met busybox? :) |
20:45 | <zewt> | might be useful for wildcard greps if it shows per-file |
20:45 | <Ms2ger> | (-c is specified by POSIX.) |
20:46 | <Ms2ger> | Says manpage |
20:46 | <Philip`> | I think canvas in on like v7 now, not v2 |
20:46 | <Philip`> | *is on |
20:46 | <Ms2ger> | <!-- v6: Drawing text along a given path --> |
20:46 | <Ms2ger> | <!-- v6: Adding text to a path --> |
20:52 | <annevk> | kennyluck, seems Path objects are not explicitly listed |
20:53 | <annevk> | some path related stuff is |
20:58 | <kennyluck> | annevk, that matches what I figured. |
21:00 | <Hixie> | http://www.w3.org/Bugs/Public/show_bug.cgi?id=9236 |
21:01 | <MikeSmith> | baby steps |
21:01 | <Ms2ger> | see diff given below |
21:01 | <Ms2ger> | That's what stood out to me :) |
21:02 | <MikeSmith> | heh |
21:09 | <Hixie> | heh |
21:09 | <Hixie> | oops |
21:22 | <AryehGregor> | Ugh. This table takes two and a half minutes to lay out in Gecko. |
21:23 | <AryehGregor> | It has 56,000ish rows, but still . . . |
21:23 | <AryehGregor> | That's really excessive. |
21:23 | <AryehGregor> | Chrome does much better. |
21:29 | <TabAtkins> | Gecko does a pretty decent job of doing things "right", which means quadratic behavior. I think we cheat more in Chrome. |
21:29 | <Ms2ger> | Sounds like what Chrome would do |
21:29 | <TabAtkins> | Fucking cheaters. |
21:30 | <Ms2ger> | Yeah, no kidding |
21:30 | <Ms2ger> | If only we had Chrome people around... |
21:31 | <TabAtkins> | Yeah, too bad. |
21:31 | <AryehGregor> | TabAtkins, the table layout is fixed, I think. |
21:31 | AryehGregor | double-checks |
21:31 | <TabAtkins> | AryehGregor: Oh, then that *should* be relatively fast. |
21:32 | <TabAtkins> | Not quadratic in the size of the table, at least. |
21:33 | <AryehGregor> | table-layout is fixed, yep. |
21:33 | <TabAtkins> | File a bug on Firefox then, I guess. |
21:35 | <oal> | TabAtkins: Yes, it can be done, but I would definitely like to see it as a part of border-radius. :) |
21:37 | <TabAtkins> | oal: Yeah, like I said, it sounds interesting. It has potentially interesting effects on geometry. I suppose it's supposed to have no geometric effect, so the elements can overlap more easily. |
21:41 | <Ms2ger> | TabAtkins, flexbox seems to be missing references |
21:41 | <TabAtkins> | Oh yeah? |
21:41 | <Ms2ger> | Oh, I guess it doesn't refer to any |
21:41 | <timeless_xchat> | heh |
21:41 | <TabAtkins> | Indeed. I need to make a pass through and decide what to reference. |
21:55 | <annevk> | http://fosspatents.blogspot.com/2011/09/shocker-for-android-oems-google.html |
22:02 | <AryehGregor> | Android development has always been a sad story. |
22:02 | <AryehGregor> | Too bad it can't be more like Chrome. |
22:02 | <AryehGregor> | (ium) |
22:03 | <AryehGregor> | Random entertaining link: http://i.imgur.com/mgf1i.png |
22:03 | <AryehGregor> | Sad but so true. |
22:22 | <paul_irish> | <section hidden style="display:block;">What happens?</section> |
22:22 | <TabAtkins> | It's visible and display:block. |
22:23 | <Philip`> | The semantics police will arrest you |
22:23 | <paul_irish> | its hidden's specificity essentially one less than an inline style? |
22:23 | <AryehGregor> | There's just a UA rule [hidden] { display: none }. |
22:23 | <AryehGregor> | Nothing special. |
22:23 | <TabAtkins> | @hidden is implemented via a "[hidden] { display: none; }" rule in the UA stylesheet, basically. |
22:23 | <AryehGregor> | Works the same as i { font-style: italic } or such. |
22:23 | <paul_irish> | o right. dur |
22:23 | <TabAtkins> | And UA rules are below author rules. |
22:24 | <annevk> | http://www.whatwg.org/C#hidden-elements |
22:25 | <TabAtkins> | It's potentially a good idea to add "[hidden] { display: none !important; }" to your author stylesheet, to avoid accidentally overriding it. |
22:25 | <danbeam> | TabAtkins: +1 |
22:25 | <AryehGregor> | Could we add !important to the UA stylesheet? |
22:25 | <AryehGregor> | Then only !important author rules would override it, right? |
22:25 | <TabAtkins> | AryehGregor: UA !important rules dont' officially exist. |
22:25 | <Dashiva> | But then how will you override it in your awesome application with a reason to show them? |
22:25 | <Philip`> | Then we could add !veryimportant to the UA stylesheet |
22:25 | <TabAtkins> | They are used, though, and they're above all other rules. |
22:26 | <AryehGregor> | Oh, I see. |
22:26 | <paul_irish> | i believe there was an !important UA style that was just lobbied to be removed successfully |
22:26 | <Dashiva> | Philip`: No, !important-important |
22:26 | <AryehGregor> | There are only user and author important declarations. |
22:26 | <AryehGregor> | Not UA important. |
22:26 | <AryehGregor> | Oh well. |
22:26 | <Philip`> | !impooooortant gives you level-5 importancy |
22:26 | <danbeam> | I interpretted "User agents should not render elements that have the hidden attribute specified." as not being overridable (easily) |
22:27 | <danbeam> | (or unintentionally with CSS) |
22:27 | <Dashiva> | Maybe require a password |
22:27 | <danbeam> | :| |
22:27 | <roc> | I do hate the "!" syntax for important |
22:27 | <Dashiva> | Agreed |
22:30 | <danbeam> | very popular reset mechanisms will mess this up, btw, https://github.com/murtaugh/HTML5-Reset/blob/master/_/css/style.css#L25 |
22:30 | <danbeam> | http://jsfiddle.net/danbeam/MrEjL/ |
22:36 | <Ms2ger> | Well, reset style sheets just say "I think I know what I'm doing" |
22:36 | <Ms2ger> | That's usually wrong, but people still use them |
22:37 | <Dashiva> | Maybe we need to offer a better way |
22:37 | <Dashiva> | <html -x-minimal-ua-stylesheet |
22:38 | <danbeam> | I'm just going to try to add [hidden] { display: none !important; } to the resets, then |
22:39 | <TabAtkins> | paul_irish: Maybe add ^^^ to HTML5 Boilerplate? |
22:40 | <paul_irish> | https://github.com/paulirish/html5-boilerplate/blob/master/css/style.css#L21 |
22:40 | <paul_irish> | just sans important |
22:40 | <danbeam> | paul_irish: that might make a big diff. |
22:40 | <paul_irish> | especially as its at the top of the file and specificity means it'll lose. |
22:41 | <TabAtkins> | paul_irish: That'll be overriden by a ".foo { display:block; }". |
22:41 | <paul_irish> | roger that. |
22:41 | <paul_irish> | we'll do it right |
22:42 | <Ms2ger> | AryehGregor, re "We'd need some way of serializing a DOM perfectly", maybe you can reuse the HTML parsing test stuff |
22:42 | <AryehGregor> | Ms2ger, it's possible. On the other hand, it might make more sense to just call normalize() in a few key places so everything really serializes as-is. |
22:46 | <Hixie> | the specificity of the [hidden] thing is annoying, but on the other hand i've several times had need to implement [hidden] using something other than display:none |
22:47 | <paul_irish> | we've been using the combo `display: none !important; visibility: hidden;` to successfully hide the content from screenreaders as well |
22:52 | <gsnedders> | AryehGregor: serializing it perfectly? i.e., serializing such that parse(serialize(foo)) == foo? |
23:01 | <zewt> | Hixie: sorry that that <script> thread rambled off so long, heh |
23:16 | <AryehGregor> | gsnedders, yes, that's what I'm looking for, but it's okay if it doesn't work for all DOMs. In particular, I already consider it a serious bug if my editing algorithms produce any DOM that doesn't round-trip through text/html serialization, modulo normalization. |
23:29 | <AryehGregor> | . . . I've looked for about a minute and can't find any way to delete a document in Google Docs. |
23:29 | <AryehGregor> | Oh, there it is. |
23:29 | <AryehGregor> | Tiny drop-down "Actions" under the opaque title "Move to bin". |
23:31 | <zewt> | "bin"? |
23:31 | <zewt> | a bin is where you store things, not discard them. heh |
23:32 | <Hixie> | not in british english, at least |
23:32 | <Hixie> | the bin in the trash |
23:33 | <AryehGregor> | "Garbage bin" is a common phrase. |
23:33 | <zewt> | does google not have any UI QC to make sure they're not using confusing dialected language? heh |
23:33 | <zewt> | yeah, but that's a much more specific phrase |
23:39 | <Hixie> | anyone interested in writing a book about html5? i've someone here asking for names. |
23:43 | <TabAtkins> | AryehGregor: Yours must be set to British English. Mine definitely says "Move to Trash" |
23:44 | <zewt> | (why did "Delete" go out of style) |
23:44 | <benschwarz> | Because software companies like apple love to over use metaphours |
23:44 | <zewt> | works for gmail, which i suspect has more UI design time put into it than gdocs |
23:45 | <benschwarz> | gmail are clever enough to call it a 'bin' or 'trash' based on where you are… |
23:45 | <zewt> | but the delete button in gmail is simply "delete" |
23:46 | <zewt> | that also just seems more likely to cause confusion--better off just saying "Deleted items" and be consistent |
23:46 | <benschwarz> | maybe I actually mean apple then—it does it with my gmail account on my iphone :) |
23:51 | <AryehGregor> | TabAtkins, odd. |
23:52 | <AryehGregor> | So it is. |
23:52 | <AryehGregor> | I wonder how that happened. |
23:52 | <AryehGregor> | You'd think Google would know my native language by this point. |
23:53 | <Philip`> | zewt: I'd assume the argument would be that people will think "delete" is permanent, and will accidentally delete stuff and be unhappy, whereas the "trash" metaphor makes them realise there's somewhere they can look to pull it back out |
23:54 | Philip` | has no idea how much metaphors actually matter in reality |
23:57 | <zewt> | philip: but gmail does call "move to trash" "delete", so the gmail UI team apparently thinks it's okay, at least |
23:58 | <Philip`> | Maybe they just ran out of space on their buttons |
23:59 | <zewt> | probably most users never touch deleted items anyway and just don't care |
23:59 | <zewt> | and people advanced enough to care are advanced enough to not get confused over that |
23:59 | <zewt> | wishful thinking, maybe |