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