02:17
<MikeSmith>
Hixie: does the spec anywhere actually state document-conformance requirements on what a valid e-mail address is a source document?
02:17
<MikeSmith>
unparsed document
02:18
<MikeSmith>
well, not unparsed exactly
02:18
<MikeSmith>
but you know what I mean
02:19
<MikeSmith>
that is, requirements for authors/documents as opposed to UA requirements
03:02
<MikeSmith>
good golly the e-mail address regexp twitter talk is still going
03:03
<MikeSmith>
that tweet should have stating things more precisely
03:03
<MikeSmith>
b
03:03
<MikeSmith>
but hard to do in a 140 characters
03:04
<MikeSmith>
especially when 70 of them are a regular expression patterm
03:06
<MikeSmith>
oh, paul_irish retweeted it just a little while ago
03:07
MikeSmith
checks to see if http://html5.org/tools/web-apps-tracker is surviving
03:10
<Hixie>
miketaylr: btw the best thing about that tweet is that it's wrong ;-)
03:10
<Hixie>
er
03:11
<Hixie>
s/miketaylr/MikeSmith/
03:11
<Hixie>
but i see he's left
03:11
<Hixie>
oh well
06:26
<paul_irish>
Yeah. realized that late, as well. :/ /me retracts retweet
06:27
<Hixie>
a stupid mistake on my part, sadly
06:27
<Hixie>
gerv pointed it out to me in e-mail
06:30
<abarth>
Hixie: quick question about https://bugs.webkit.org/show_bug.cgi?id=57185 . should we be firing the drop event in content editable? /me is looking through the spec now, but I thought you might know off the top of your head
06:30
<Hixie>
can't see why we wouldn't...
06:30
<Hixie>
though scripts might be disabled entirely?
06:30
<Hixie>
i forget what the state of that stuff is
06:31
<Hixie>
AryehGregor, do you know?
06:31
<abarth>
the bug claims the spec used to not fire the event
06:31
<abarth>
but IE and Firefox do
06:31
<rniwa>
abarth: I think the spec doesn't mention this case
06:32
<Hixie>
the spec is trying to copy IE, so if the spec really says that it,s a bug, especially if Firefox does it
06:32
<abarth>
ok
06:32
<Hixie>
if it doesn't say that an event doesn't fire, then the place where it says the event does fire would mean it does
06:32
<abarth>
thanks
06:32
<Hixie>
i'd ask the reporter for a spec citation
06:32
<rniwa>
Hixie: I think the spec is currently lacking that case
06:32
<Hixie>
the spec has a fallback for all cases, no?
06:32
<Hixie>
so it can't lack a case
06:32
<abarth>
that's pretty elliptical, but i'll assume you mean we should try to fix webkit to match IE and Firefox :)
06:33
<Hixie>
abarth: well we should fix everything to match, i don't really mind if it means fixing IE, webkit, firefox or the spec, or some combination thereof
06:34
<Hixie>
abarth: i'm just saying that if the spec says "in case 1 do X, otherwise do Y", then that means that in case 2, you do Y, even though case 2 isn't mentioned explicitly
06:35
<abarth>
understood. thanks
06:36
<rniwa>
oops, I think the spec does say we should fire drop event in this case
06:36
<Hixie>
oh?
06:36
<rniwa>
8.6.5
06:36
<rniwa>
Hixie, abarth: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dragevent
06:36
<Hixie>
that's a big section
06:36
<Hixie>
cite the text :-)
06:37
<Hixie>
quote the text, rather
06:37
<rniwa>
If the current drag operation is "none" (no drag operation), or, if the user ended the drag-and-drop operation by canceling it (e.g. by hitting the Escape key), or if the current target element is null, then the drag operation failed. Run these substeps:
06:37
<rniwa>
Otherwise, the drag operation might be a success; run these substeps:
06:38
<rniwa>
Let dropped be true.
06:38
<rniwa>
If the current target element is a DOM element, fire a DND event named drop at it; otherwise, use platform-specific conventions for indicating a drop.
06:38
<rniwa>
If the event is canceled, set the current drag operation to the value of the dropEffect attribute of the DragEvent object's dataTransfer object as it stood after the event dispatch finished.
06:38
<rniwa>
Otherwise, the event is not canceled; perform the event's default action, which depends on the exact target as follows:
06:38
<rniwa>
If the current target element is a text field (e.g. textarea, or an input element whose type attribute is in the Text state) or an editing host or editable element, and the drag data store item list has an item with the drag data item type string "text/plain" and the drag data item kind Plain Unicode string
06:38
<rniwa>
Insert the actual data of the first item in the drag data store item list to have a drag data item type string of "text/plain" and a drag data item kind that is Plain Unicode string into the text field or editing host or editable element in a manner consistent with platform-specific conventions (e.g. inserting it at the current mouse cursor position, or inserting it at the end of the field).
06:38
<rniwa>
Otherwise
06:38
<rniwa>
Reset the current drag operation to "none".
06:38
<rniwa>
abarth, Hixie: so drop event must fire immediately before we modify the text in the editable region
06:38
<Hixie>
i meant quote the specific text you think means something should happen with an editable element, not the whole thing :-P
06:38
<rniwa>
Hixie: this whole thing is relevant
06:38
<rniwa>
Hixie: unfortunately I didn't have a time to paraphrase the section
06:39
<Hixie>
i just needed something to find the place you needed using search :-)
06:39
<rniwa>
Hixie: actually, this just 4.1 :(
06:39
<rniwa>
there's also 4.2 & 4.3
06:40
<Hixie>
i don't see anything here that would stop us firing 'drop' in an editable element
06:40
<Hixie>
if anything, i only see stuff that would make us fire 'drop' more easily in an editable element than anywhere else
06:41
<rniwa>
Hixie: it doesn't say so
06:41
<Hixie>
because editable elements are special-cased to not need the event handler to explicitly cancel the events to receive the next one, etc
06:41
<rniwa>
Hixie: look at step 2 after "Otherwise, the drag operation might be a success; run these substeps:"
06:41
<Hixie>
right, that fires drop
06:41
<rniwa>
Hixie: yup
06:42
<Hixie>
before you get to anything that special cases content editable
06:42
<rniwa>
Hixie: yeah
06:42
<Hixie>
so... we would fire drop
06:42
<rniwa>
Hixie: so we need to drop even
06:42
<rniwa>
fire* drop event
06:42
<Hixie>
oh you're saying we _should_ drop the event
06:42
<Hixie>
ok
06:42
<Hixie>
i misunderstood
06:42
<Hixie>
yes, i agree we should fire the event
06:43
<Hixie>
the only reason we would need to _not_ fire it is if there was something that overrode the default behaviour here
06:43
<Hixie>
which there isn't
06:43
<rniwa>
yup
06:51
<MikeSmith>
paul_irish: btw, wasn't meaning to give you grief about the retweet
06:52
<MikeSmith>
I was just commenting on the fact that the twitter discussion about it seemed to have died down but then came back again
06:52
<MikeSmith>
and I realize that was happened after your retweet
06:53
<MikeSmith>
based on observing this I think I may adopt a best practice of not tweeting regular expressions
06:53
<MikeSmith>
not that I can think of another occasion where I'd want too anyway
06:55
<MikeSmith>
Hixie: about it being wrong, I actually kind of wondered about that when you first added it
06:55
<Hixie>
shoulda told me ;-)
06:55
<MikeSmith>
well, my faith in you is so solid that I never hesitated to question it :)
06:55
<Hixie>
boy is that misplaced faith :-P
06:57
<MikeSmith>
heh
06:58
<MikeSmith>
Hixie: did you see my earlier question
06:58
<MikeSmith>
http://krijnhoetmer.nl/irc-logs/whatwg/20120112#l-88
06:58
<Hixie>
you mean like for <input type=email value=...>?
06:59
<Hixie>
if so, "The value attribute, if specified and not empty, must have a value that is a single valid e-mail address." (for when multiple="" isn't set), and there's a similar line for when multiple="" is set
06:59
<Hixie>
"The value attribute, if specified, must have a value that is a valid e-mail address list."
06:59
<MikeSmith>
yeah
07:00
<MikeSmith>
but the spec also say the UA should change IDNs to punycode
07:00
<Hixie>
in user input, yeah
07:00
<MikeSmith>
IDN e-mail addresses
07:00
<MikeSmith>
ah
07:00
<MikeSmith>
yeah
07:00
<Hixie>
there's no current support for IDN in value=""
07:00
<MikeSmith>
yeah?
07:00
<MikeSmith>
why not?
07:00
<Hixie>
what's the use case? the value in the database would be punycoded
07:01
<Hixie>
since that's all the server will ever send
07:01
<Hixie>
er
07:01
<Hixie>
all the client
07:01
<Hixie>
will ever send
07:01
<Hixie>
to the server
07:01
<MikeSmith>
ah yeah
07:01
<MikeSmith>
man, I need to think better
07:01
<MikeSmith>
sorry for that
07:01
<Hixie>
join the club man
07:01
<MikeSmith>
heh
07:01
<Hixie>
we have t-shirts
07:02
<Hixie>
(they're probably misprinted)
07:02
<MikeSmith>
t-shirts?
07:02
<Hixie>
for our club of people who need to think better
07:04
<MikeSmith>
aha
07:04
<MikeSmith>
ah, misprinted
07:04
<MikeSmith>
yeah :)
07:06
<MikeSmith>
when thinking about stuff, I find it is sometimes optimal to talk with people in the physical world face-to-face
07:06
<MikeSmith>
which I sadly do much less than I should
07:07
<MikeSmith>
given that I spend whole stretches of time working at home and only stepping out to buy drink
07:08
<MikeSmith>
coworking thing would be nice but it's just obnoxiously expensive in tokyo
07:08
<Hixie>
i find things seem to make a lot of sense when i'm talking to someone face to face, and then i go home and think about it some more and realise everything we discussed is based on flawed assumptions and the whole thing was a waste of time :-P
07:08
<MikeSmith>
heh
07:08
<MikeSmith>
yeah, that too
07:08
<MikeSmith>
but it's more entertaining at least
07:35
<matjas>
how should characters outside the BMP be escaped in CSS? reading http://www.w3.org/TR/CSS21/syndata.html#characters makes it seem that U+1D306 could be written as `\1D306 ` or `\01D306`, but some browsers support escapes like `\D834\DF06 ` instead. Test case: http://jsfiddle.net/mathias/Hqk9T/
07:36
<matjas>
WebKit doesn’t support the regular syntax, e.g. "\1D306 " or "\01D306", but does support "\d834\df06 ". Opera supports both. Firefox only supports the regular syntax.
07:37
<matjas>
I’m not sure who’s right here. Does the CSS spec mention surrogate pairs anywhere?
07:39
<Hixie>
anyone got a chrome dev build handy?
07:39
<Hixie>
i want to know if http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1299 still crashes recent chromes (change the 10 to a 100 like it says in the comment)
07:41
<Hixie>
looks like in shipping chrome if you create more than 96 <audio> elements, the tab crashes
07:43
<matjas>
Hixie: doesn’t crash in Chrome 18.0.1003.1 canary on OS X
07:43
<Hixie>
ok good
07:43
<Hixie>
thanks
08:16
<matjas>
re: CSS escape sequences, I just filed https://bugs.webkit.org/show_bug.cgi?id=76152 and https://bugzilla.mozilla.org/show_bug.cgi?id=717529 — let me know if I’m missing something
09:07
<hsivonen>
does anyone happen to recall if IE supports loading document.open()ed docs from cache?
09:08
<hsivonen>
WebKit doesn't
12:13
<Velmont>
AryehGregor: An Opera devel has some patches for selection test suite. Where to send? Directly to you? Bug? public-html-testsuite?
12:19
<Ms2ger>
public-webapps-testsuite, I guess
12:39
<wilhelm>
jgraham: Fun. The bizarre insert-random-characters-bug has returned.
12:39
<jgraham>
wilhelm: Have you considered getting an exorcist?
12:40
<wilhelm>
There is one in the church I was attempted raised in, actually. I could talk to him.
12:41
<jgraham>
Strange thing for a ghost to do though, repeatedly pressing keys. I thought they were more into pottery.
12:42
<wilhelm>
Indeed.
15:06
<AryehGregor>
So now I have patches submitted in Mercurial format and have to figure out how to import them to git.
15:07
<AryehGregor>
hg-git fails with a mysterious error message, of course.
15:10
<jgraham>
(why do you need them in git format?)
15:10
<AryehGregor>
Because I maintain the repo in git, so I need to import the patches to git so I have them in my source repo.
15:10
<AryehGregor>
I convert the repo to hg for publication.
15:10
<AryehGregor>
Unfortunately, hg-git is extremely flaky, as it turns out.
15:11
<AryehGregor>
Clone works okay; push and pull tend to fail in my experience.
15:11
<AryehGregor>
So I got around pull not working by just re-cloning the git repo every time before pushing.
15:11
<AryehGregor>
But I guess I have to manually reformat the hg patch in lieu of getting hg push working.
15:12
<AryehGregor>
hg help git lists commands gclear, gexport, gimport, and git-cleanup, but they themselves have no help text. SIGH.
15:14
<AryehGregor>
Hmm.
15:15
AryehGregor
is very confused
15:20
<AryehGregor>
Okay, I finally managed to get it to work by a series of very confusing and annoying steps.
15:20
<AryehGregor>
I think I'll manually convert the patch to git format next time.
15:20
<AryehGregor>
And maybe update the spec saying that the preferred manner to submit updates is a pull request on github.
15:21
Philip`
wonders why git can't just import "patch"-compatible patches directly
15:21
<AryehGregor>
It can, but they don't have the authorship info, right?
15:22
Philip`
generally doesn't care about authorship info
15:23
AryehGregor
does when someone has taken the effort to submit a well-formed patch
15:40
<AryehGregor>
Hixie, so what I really want is one selection for every document that's returned by the .document property of some window, I think. Is that the same as "in a browsing context"?
15:40
AryehGregor
wants to clearly define this, because it seems browsers don't all agree
15:44
<AryehGregor>
Hmm.
15:44
<AryehGregor>
Maybe I should just say all Documents have a Selection.
15:44
<AryehGregor>
That seems to be how IE behaves.
15:44
<AryehGregor>
It's certainly simplest.
15:45
AryehGregor
wonders what happens if you addRange() a Range whose endpoints don't lie in the document . . .
15:47
<AryehGregor>
So should document.implementation.createHTMLDocument("").getSelection() return a) null (WebKit), b) the same Selection as document.getSelection() (Gecko/Opera), c) a different Selection (IE)?
15:47
<AryehGregor>
(c) is simplest . . .
15:49
<gsnedders>
Does that not imply that iframes can have a different selection to the parent?
15:50
<AryehGregor>
gsnedders, iframes definitely have a different selection from the parent, according to everyone AFAIK.
15:50
AryehGregor
double-check
15:50
AryehGregor
double-checks
15:51
<AryehGregor>
gsnedders, http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0D%0A%3Cp%3Eabc%3C%2Fp%3E%0D%0A%3Ciframe%3E%3C%2Fiframe%3E%0D%0A%3Cscript%3E%0D%0AgetSelection().selectAllChildren(document.querySelector(%22p%22))%3B%0D%0Aw(getSelection())%3B%0D%0Aw(document.querySelector(%22iframe%22).contentWindow.getSelection())%3B%0D%0A%3C%2Fscript%3E
15:51
<AryehGregor>
The question is whether documents that aren't the active document of any window also have their own selection.
15:53
<AryehGregor>
Previously I decided no, now I've changed my mind.
15:53
<AryehGregor>
Hmm.
15:53
<AryehGregor>
I think I'll ask the list.
16:09
<gsnedders>
Yay for Google+ browser sniffing. :\
17:11
<dglazkov>
good morning, Whatwg!
17:45
<sneethling>
hey all
17:45
<sneethling>
question regarding input type=date
17:46
<sneethling>
is there a way to specify the locale it should use or does it simply use the current locale? If so, does it choose the server locale or the user locale?
17:50
<Ms2ger>
user
18:23
<Ms2ger>
Go, WebKit
18:24
<Ms2ger>
(https://bugs.webkit.org/show_bug.cgi?id=76121)
18:55
<Ms2ger>
jgraham, did you have time to look at disabling output for testharness.js?
20:01
<AryehGregor>
Does anyone know why 2D transforms allow 2x3 matrices, but 3D transforms allow 4x4 instead of 3x4? What meaning does something like matrix3d(1,0,0,0, 0,1,0,0, 0,0,0,1, 0,0,1,0) have? It will map (0,0,z,1) to (0,0,1,z), which is (0,0,1/z,1)? That's not affine . . .
20:05
<hober>
AryehGregor: linalg makes my head hurt, but smfr or cmarrin in #webkit could answer...
20:05
<jamesr>
the bottom row is to map the homogeneous coordinate, not the z
20:05
<jamesr>
i can't remember why it's important...
20:05
<AryehGregor>
jamesr, I know, but isn't the homogeneous coordinate always supposed to be 1? I thought that was the point of homogeneous coordinates.
20:06
<AryehGregor>
What's the geometric significance of a homogeneous coordinate that's not 1?
20:06
<jamesr>
http://en.wikipedia.org/wiki/Transformation_matrix#Perspective_projection
20:07
<AryehGregor>
Oh, so basically you divide out by the last coordinate, just like in mathematics. And that's not affine, but it produces some other useful visual effect.
20:08
<jamesr>
it's all smoke and mirrors, but it ends up being very useful
20:08
<AryehGregor>
Okay, I'll take it on faith that it makes sense graphically.
20:09
<AryehGregor>
I assume that any point whose last component is 0 is just assumed not to exist graphically (the "point at infinity").
20:11
<jamesr>
i think it's done this way by convention, not out of pure mathematical necessity, but that does sound like the usual interpretation
20:12
<Philip`>
AryehGregor: Points at infinity are useful for e.g. representing the position of the sun in lighting equations
20:13
<AryehGregor>
Philip`, don't you want the sun to be in a particular direction? The point at infinity isn't in any particular direction in the formalism I'm familiar with.
20:13
<Ms2ger>
How many dimensions?
20:14
<AryehGregor>
Any number.
20:14
<Philip`>
AryehGregor: If the vector is (x,y,z,0) then it's in the same direction as (x,y,z,1) but infinitely far away
20:14
<AryehGregor>
(I learned all about homogeneous coordinate systems in an undergrad number theory research program)
20:14
<AryehGregor>
Philip`, oh, so you don't treat all vectors with last coordinate 0 as equivalent? Interesting.
20:14
<Ms2ger>
In projective geometry, we had lines at infinity as well
20:14
<AryehGregor>
Oh, right.
20:15
<AryehGregor>
I guess it's really just an n-2-manifold at infinity or something like that.
20:15
<AryehGregor>
I also got this paper out of the undergrad research: http://www.sciencedirect.com/science/article/pii/S0022314X11001788
20:15
<Ms2ger>
Sounds right
20:15
<AryehGregor>
But it's cool that there are applications to my job too.
20:16
<Ms2ger>
Or n-1
20:20
<AryehGregor>
Oh, yeah, that makes more sense. A hyperplane at infinity.
20:20
<AryehGregor>
So it's a point at infinity for the homogeneous line, which is really S^1.
20:20
<AryehGregor>
Or something.
20:21
<AryehGregor>
I guess I was thinking P^n was the one-point compactification of R^n or something? Well, whatever.
20:31
AryehGregor
discovers that testing that matrix entries are correct to within +-1.5 means that an entry of 1 instead of 0 or vice versa passes
20:31
<AryehGregor>
Who'd have thought?
23:13
<jamesr>
TabAtkins: yo, what's the status of http://dev.w3.org/csswg/css3-box/ compared to http://www.w3.org/TR/CSS2/visuren.html / http://www.w3.org/TR/CSS2/visudet.html for defining basic block / inline layout modes?
23:15
<jamesr>
does css3 box superscede 2.1 visres/visdet, or is it incomplete?
23:50
<ojan>
TabAtkins: qq...flex-align: stretch on parent, flex-item-align: auto on child. getcomputedstyle of flex-item-align on the child should return stretch or auto?
23:50
<ojan>
TabAtkins: and what spec covers this?
23:51
<ojan>
computed style continue to confound me
23:51
<ojan>
i guess this is covered by cssom
23:54
<jamesr>
ojan: http://dev.w3.org/csswg/cssom/#resolved-values
23:54
<jamesr>
since flex-align-item isn't in the magic list for getComputedStyle, it returns the computed value of that property
23:56
<ojan>
jamesr: yeah...i've read that before...but i don't see anything defining what "resolved value" and "computed value" actually are
23:56
<jamesr>
resolved value = computed value, except for that list of properties in which case resolved value = something else
23:56
<jamesr>
computed value = this guy: http://dev.w3.org/csswg/css3-cascade/#computed
23:57
<jamesr>
so basically after matching selectors and doing inheritance
23:58
<ojan>
jamesr++
23:58
<ojan>
thx
23:58
<jamesr>
i think it'd be auto in your case unless there's something that modifies it in some way due to inheritance
23:59
<ojan>
jamesr: yeah...it won't be auto. flex-align modifies it due to inheritance