00:00
<smaug____>
(just wondering, since I don't how that works)
00:00
<aklein>
smaug____: there's no hard-and-fast rule, I'd say.
00:01
<Hixie>
hmmm
00:01
<smaug____>
aklein: I started to think about this when the DRM proposal was posted... I could imagine some developers are against it and some aren't
00:02
<Hixie>
drawing text _to_ a path isn't that useful if you can't fiddle with the path more than just adding stuff...
00:02
<smaug____>
though, perhaps DRM will go to Chrome only, if even there
00:03
<annevk>
smaug____: you okay with removing that readystatechange event?
00:04
<annevk>
smaug____: see public-webapps archive
00:04
<smaug____>
annevk: from where?
00:04
<annevk>
smaug____: the one that doesn't change state and is dispatched at the beginning of the send() method
00:04
<Velmont>
XHR baby
00:04
<annevk>
smaug____: doesn't signal change
00:04
<annevk>
hot
00:05
<smaug____>
annevk: I need to look at bugzilla
00:06
<zewt>
my condolences
00:06
<smaug____>
I think it has been used for something
00:08
<TabAtkins>
Hixie: The addHitRegion sketch looks okay.
00:08
<TabAtkins>
Hixie: Why distinguish between elements and ids? Can't you just discriminate by type already, and fuse the two together?
00:08
<TabAtkins>
(I'm assuming that one would never use an Element as an id for their object.)
00:09
<annevk>
smaug____: please do
00:12
<smaug____>
annevk: can't find anything right now
00:12
<annevk>
k
00:13
<annevk>
if you find something let the list know
00:13
<annevk>
I think I'll make the change soonish
00:14
<smaug____>
annevk: ah, so the first event is dispatched in open()
00:15
<smaug____>
horrible API
00:15
<annevk>
yes
00:15
<annevk>
open changes from UNSENT to OPEN
00:15
<smaug____>
well, ok
00:16
<smaug____>
would be good to get feedback from MS
00:37
<Hixie>
TabAtkins: yeah, that's not a bad idea
00:38
<Hixie>
TabAtkins: hmm
00:38
<Hixie>
TabAtkins: what would you call the field?
00:43
<TabAtkins>
Hmm...
00:43
<TabAtkins>
refersTo
00:46
<Hixie>
actually, given the various weird ways these things interact, i think it's fine to have two fields
00:47
<Hixie>
it's not like merging those two would make it magically nicer
00:47
<Hixie>
it'd still be a mess of interdependencies
00:48
<TabAtkins>
I suppose, it just means you have to deal with the results when people specify both of them.
00:49
<TabAtkins>
Alternately, why can't someone specify both of them?
00:49
<TabAtkins>
Getting both a target and a hitid or whatever on the mouseevent?
00:49
<TabAtkins>
This might be useful if you've got an object backing some fancy behavior on your input.
00:50
<Hixie>
if you give an element, i'm thinking i should redirect the events to the element
00:50
<Hixie>
or at least duplicate events to the element
00:50
<Hixie>
if i duplicate i guess you can have an id also
00:51
<Hixie>
but there's plenty of other nonsensical combinations
00:51
<Hixie>
e.g. an element and a label, or an element and a role
00:51
<Hixie>
or a parentid that doens't exist, or a parentid and an element, or parentid and no role...
00:53
<TabAtkins>
Ooh, here's a use-case. You want to do a text input with a button in it for bringing up a unique input helper, sorta like how type=date is handled in some places.
00:53
<TabAtkins>
You want the button to have a parentid pointing to the input.
00:53
<TabAtkins>
So you need to give the input's hittesting zone an id.
00:53
<TabAtkins>
Or else pass an Element as a parentid.
01:05
<Hixie>
you lost me at "text input" :-)
01:05
<Hixie>
but yes
01:05
<Hixie>
you have a good point
01:05
<Hixie>
not sure how the ATs would handle that...
01:21
<Hixie>
http://wiki.whatwg.org/wiki/Canvas#Path_primitives
01:29
<Hixie>
i wonder how to modify fillText() and strokeText() to make it easier to find text on canvas
01:30
<Hixie>
at first glance adding an ARIA role argument seems obvious, but in practice there's never really an appropriate role for that kind of thing
01:30
<Hixie>
adding a boolean argument "yes make this text into a region implicitly" seems a bit non-intuitive
01:30
<Hixie>
but that's the behaviour one really wants
01:30
<TabAtkins>
Also: boolean args are the devil.
01:30
<Hixie>
that's what i mean by non-intuitive
01:30
<TabAtkins>
Just add an options object. YOU KNOW YOU WANT TO.
01:30
<Hixie>
(or do boolean args have other problems?)
01:31
<TabAtkins>
An anonymous bool floating around in your call signature is unreadable.
01:31
<TabAtkins>
That's the only problem.
01:31
<TabAtkins>
Also, optional args are usually the devil.
01:31
<Hixie>
fillText('April', 230, 55, { generateImplicitRegion: true })
01:31
<Hixie>
...seems like a non-starter to me
01:31
<TabAtkins>
Except for the name, sure.
01:32
<zewt>
nothin' wrong with boolean arguments :)
01:32
<zewt>
(was: re: we've had that discussion)
01:32
<TabAtkins>
That sentence was typed before your last sentence. Treat it as the opposite if you want to read it in the provided context.
01:32
<Hixie>
zewt: tell that to the initMouseEvent() method
01:32
<Hixie>
TabAtkins: heh
01:32
<Hixie>
maybe the default should be to generate a region, and so you'd have to say:
01:32
<zewt>
Hixie: that has nothing to do with booleans; foo(0, 1, 0, 0, 1, 0, 1) is just as unreadable
01:33
<Hixie>
fillText('April', 230, 55, { generateImplicitRegion: false })
01:33
<Hixie>
zewt: yeah series of numeric arguments are equally bad
01:33
<zewt>
or nullables
01:33
<TabAtkins>
zewt: Yes. But virtually anyting else is at least *somewhat* more likely to imply a context than a bool.
01:34
<TabAtkins>
Hixie: That would meant that J. Clueless Coder generates a ton of regions for their manual text shadow. That okay?
01:34
<Hixie>
...to continue my train of thought: then it doesn't matter if it's ugly
01:34
<Hixie>
TabAtkins: unclear
01:34
<Hixie>
TabAtkins: i'm guessing it's suboptimal, certainly
01:34
<Hixie>
TabAtkins: might be better than nothing
01:34
<TabAtkins>
Probably. I suspect the vast majority of text is okay for this.
01:34
<Hixie>
TabAtkins: if they exactly overlap then the regions would get obliterated by each other
01:35
<TabAtkins>
They won't, in general - the point of a text-shadow is that you can see pixels of it around the text.
01:35
<Hixie>
one thing that would be weird with this is that it means AT users get more data than visual users in cases where lots of text is drawn almost overlapping
01:35
<Hixie>
since AT users could read even the overlapped text
01:35
<TabAtkins>
That seems like a good problem to have.
01:35
<Hixie>
yeah i'm certainly not crying about it
01:36
<Hixie>
just an interesting effect to consider
01:36
<TabAtkins>
Maybe 'decorative' for the argument name?
01:36
<Hixie>
probably about as clear as "generateImpliedRegion", and certainly cleaner...
01:37
<TabAtkins>
It's easy to explain it, and to use it religiously without knowing its intent.
01:38
<TabAtkins>
Which is a good property for this kind of thing, I think.
01:40
<Hixie>
how do you mean "use it religiously without knowing its intent"?
01:40
<Hixie>
i kinda expect that whatever we call it, 50% of usage will be wrong
01:40
<Hixie>
but that's better than 100% of usage being inaccessible
01:40
<TabAtkins>
You don't need to know a damned thing about AT and clickable regions to understand what someone means when they say "use it on text that's purely decorative, not meant to be read".
01:41
<TabAtkins>
As opposed to generateImplicitRegion, where you must first understand what a region is, why one may be generated implicitly, and in what case you want to suppress that.
01:42
<zewt>
("text that isn't meant to be read" is sort of a tricky concept, heh)
01:42
<zewt>
eula
01:42
<TabAtkins>
zewt: Heh, yeah. But with a simple example like text-shadow, I think it's obvious what's meant.
01:42
<TabAtkins>
Or, like, drawing lots of text on a background just as a visual effect.
01:47
<Hixie>
TabAtkins: yeah that's fair enough
01:48
<Hixie>
ok bbl
01:48
<TabAtkins>
Also, I couldn't come up with an equally simple/short way to say the opposite in an option name.
02:41
<MikeSmith>
jgraham: dunno if you around, but about the security issue of pywebsocket being able to run arbitrary python code, that's only true of the standalone.py thing, as far as I can see
02:42
<MikeSmith>
because it uses CGIHTTPServer
02:46
<MikeSmith>
but what I have installed on w3c-test.org is run through Apache+mod_python
03:13
<nattokirai>
TabAtkins: just sent comments on your wording of the vars syntax issue
03:30
<w2xq>
New to the IRC, I understand from the Web site this is an alternative to W3C and a living version of HTML5. I'd like to ask a question on coding on a very simple Web site I use for bookmarks. How does one now "float:right" (from the old align) an image? Is ... style="width:88px;height:31px;float:right" src=... alt="..."> the correct syntax? TIA.
03:31
<StoneCypher>
did you try it
03:31
<w2xq>
yes, and it works, but I'm not sure if that is the correct format.
03:32
<w2xq>
Just trying to make my template complete.
03:34
<w2xq>
w2xq.com, StoneCypher.
03:34
<StoneCypher>
honestly
03:34
<StoneCypher>
if you can't even look up how a property is written
03:34
<StoneCypher>
prolly not the time to be making re-usable templates
03:36
<w2xq>
I have looked it up, numerous places, but I guess I haven't found the right site to answer the questions. I first started coding in 1993, but haven't kept up after closing my p/t biz in 1998.
03:36
<StoneCypher>
cool story.
03:36
<StoneCypher>
try the css documentation
03:37
<StoneCypher>
20 years should be enough to pick up on where to look, honestly
03:37
<karlcow>
w2xq: correct syntax.
03:37
<w2xq>
bought/been reading "CSS3" by Teague.
03:37
<w2xq>
Thank you karlcow.
03:37
<StoneCypher>
no you haven't.
03:37
<karlcow>
StoneCypher: no need to be arrogant, just ignore if you don't think you want to answer.
03:38
StoneCypher
sighs
03:38
<StoneCypher>
okay
03:38
<w2xq>
Stonecypher, sorry to insult you, just trying to get back up to reasonable speed.
03:38
<StoneCypher>
no you aren't
03:38
<StoneCypher>
but karlcow the enforcer is here to sling insults
03:38
<StoneCypher>
so have fun
03:38
<w2xq>
<sigh>
03:39
<StoneCypher>
"I've been reading this book on physics. What's a particle again? I need to work on my full matter simulation. Don't be arrogant, just ignore me"
03:41
<w2xq>
Thanks again karlcow. gn
03:42
<karlcow>
nn
06:42
<hsivonen>
Is this used in a surprising way or is this just very incomplete? https://github.com/h5bp/html5please-api/blob/master/agents.json
06:45
<MikeSmith>
hsivonen: divya would be the one to ask I suppose
06:47
<zcorpan>
op_mini and op_mob seem to have their sniffers swapped
07:11
<zcorpan>
Hixie: call it ariaHidden:true
07:11
<Hixie>
interesting idea
07:50
<jgraham>
MikeSmith: In that case, it sounds excellent
07:50
<MikeSmith>
jgraham: hey
07:51
<MikeSmith>
one caveat is that it's not actually in Debian testing yet, so hasn't gone through Debian security review
07:51
<MikeSmith>
but there are no open Debian bugs around it
07:52
<jgraham>
I see. I could only find one documented exploit on the web, and that seemed to be fixed
07:52
<MikeSmith>
OK
07:52
<MikeSmith>
I think the Jetty version I have installed now is more likely to have security bugs than that python stuff
07:52
<MikeSmith>
the only version of Jetty packaged for Debian is version 6 something
07:53
<MikeSmith>
I think it's more than a year old
07:53
<MikeSmith>
maybe two years old
07:53
<MikeSmith>
and doesn't have WebSocket support at all, let alone any up to date with the current protocol spec
07:55
<MikeSmith>
so I had to install 7.6 from a .deb at http://repo2.maven.org/maven2/org/mortbay/jetty/dist/jetty-deb/
07:55
<zcorpan>
i hate it when this happens. https://github.com/h5bp/html5please-api/issues/53
07:55
<zcorpan>
how does github even manage to get *that*?
07:56
<MikeSmith>
zcorpan: ?
07:56
<zcorpan>
what i wrote was:
07:56
<MikeSmith>
what you did?
07:56
<zcorpan>
"html": "&shy;<style>....... <\/style><div class=\"caniuse\">...."
07:56
<zcorpan>
This is invalid HTML. Why the &shy;? Since the next thing is a block box, it doesn't do anything anyway.
07:56
<zcorpan>
It should be more like:
07:56
<zcorpan>
"html": "<div class=\"caniuse\"><style scoped>....... <\/style>...."
07:57
<jgraham>
In unrelated questions about github, how do they think that swallowing the / key for their own search is acceptable?
07:57
<MikeSmith>
zcorpan: weird
07:57
<zcorpan>
github--
07:57
<MikeSmith>
jgraham: ah they will get flamed for that
07:58
<jgraham>
MikeSmith: Thanks for doing all the hard work for the WebSockets stuff btw
07:58
<Philip`>
jgraham: Maybe they thought "Google Code's issue tracker already intercepts '/' and irritates Opera users hugely, why shouldn't we do the same"
07:58
<MikeSmith>
Alexis was doing that with the control-f key on caniuse.com but he finally changed it. which, glad he did because it was fucking annoying
07:59
<jgraham>
Philip`: It's not just opera, it's also Firefox
07:59
Philip`
has always used Ctrl+F when using Firefox, for some unknown reason
08:00
<jgraham>
In fact Opera is a little better because you can use . instead. Although it is annoying to have to remember to switch of course
08:00
<MikeSmith>
jgraham: didn't do much so far. though Jetty install was a PITA due to the fact that the init.d script is installs runs Jetty as root by default and the hooks it provides for making it it run as another user doesn't actually work
08:02
<MikeSmith>
so btw, I'm starting jetty on w3c-test.org like this: "sudo su -m -c /etc/init.d/jetty jetty"
08:02
<MikeSmith>
so I hope that's not as bad as running it as root
08:02
<zcorpan>
is there a trick to make github not scramble my comments in the future? like a [noparse] tag or [don'tfuckeverythingupsothisfuckerisn'tdiscouragedfromfilingfurtherbugs]
08:04
<zcorpan>
maybe i should just always use krijn as a proxy
08:05
<jgraham>
That miht not be very reliable if krijn stops hosting the logs in a few months
08:05
<zcorpan>
oh, i was hoping the domain would be moved to another machine
08:06
<jgraham>
In this specific case you could just hound Divya directly and mercilessly until she fixes the issue
08:08
<Philip`>
zcorpan: Seems to work better if you indent code by four spaces (at least when testing on http://github.github.com/github-flavored-markdown/preview.html)
08:09
<zcorpan>
Philip`: thanks. i guess i should write a userjs that indents all my lines on github
08:09
<Philip`>
Oh, just noticed that page is deprecated, so don't trust it
08:26
<krijn>
zcorpan: that is the case
08:27
<krijn>
jgraham: I'm not going to stop hosting them
08:28
<krijn>
Small chance I'll not be able to add new ones, but the old archives will be up for as long as I can. Also talking to annevk5 about backups and a new service. No worries!
08:29
<zcorpan>
krijn: cool!
08:35
<jgraham>
krijn: Good good :)
08:51
<MikeSmith>
hsivonen: has there been no change in status on the licensing of the IANA language-subtags and charset registries?
08:51
<MikeSmith>
hmm, or actually, maybe there doesn't need to be
09:02
<charlvn>
krijn: let me know if i can do something to help out, i have plenty free time on my hands at the moment
09:02
<krijn>
Hey charlvn!
09:02
<krijn>
You're also still around :)
09:02
<charlvn>
krijn: i'm a hard bastard to get rid of :P
09:02
<krijn>
:D
09:03
<krijn>
Didn't I take it over from you like 5 years ago?
09:03
<charlvn>
krijn: yes that's correct! i used to host the logs on a server that was running below my desk - we had public ips on every box at the office
09:03
<charlvn>
krijn: then i left the company and that's why you took it over if i remember correctly
09:04
<krijn>
Yeah
09:04
<krijn>
Now I'm having the same problem ;)
09:04
<charlvn>
heh!
09:04
<krijn>
Way too much of the internet is running on home servers!
09:04
<charlvn>
i'm finishing with my current job tomorrow and then starting with my new job at the UT on thursday
09:05
<charlvn>
there we also have a public ip on every machine
09:05
<charlvn>
but i have a linux box at hetzner as well (running irssi+screen to do this irc) so i can use that
09:05
<krijn>
So far it looks like our internet connection is moving with us, so I'll just move the server and go on with it
09:06
<Philip`>
We should stop letting random individuals run servers, and get someone trusted like Google to host the whole internet
09:06
<charlvn>
right Philip` :P
09:07
<krijn>
Heh
09:07
<hsivonen>
hmm. html5.validator.nu is down...
09:17
<hsivonen>
and it's back now
09:18
jgraham
is started to wonder if hsivonen has been replaced by a bot
09:23
<hsivonen>
jgraham: there's a bot that watches html5.validator.nu and sends me an SMS when it seems to have crashed
10:33
<hsivonen>
Hixie: can you make a forward-lookings statement about <iframe sandbox> to respond to bz's question in https://bugzilla.mozilla.org/show_bug.cgi?id=729030#c1
10:34
<hsivonen>
why does https://github.com/h5bp/html5please-api/blob/master/agents.json match on lower-cased UA strings?
10:35
<hsivonen>
if lower-casing makes you match more stuff, aren't you just adding false positives?
10:42
<zcorpan>
can one of the dom editors make the "This box is non-normative. Implementation requirements are given below this box." styling less obnoxious? (copy the styling from html spec)
10:44
<zcorpan>
it currently looks like XXX WE HAVE AN UNRESOLVED ISSUE RIGHT HERE WE HAVE NO IDEA WHAT TO DO IF YOU HAVE ANY IDEAS WE'RE ALL EARS KTHXBYE
10:45
<zcorpan>
they also seem to need some more top padding to not make the text overlap
11:05
<craigbarnes>
Hey, has anyone ever suggested standardising something similar to what apple-touch-icon does?
11:06
<hsivonen>
craigbarnes: yes. rel=icon sizes='...'. already in the spec!
11:06
<craigbarnes>
hsivonen: oh awesome, thanks
11:07
<craigbarnes>
I tried searching but I guess not well enough
12:42
<woef>
Is it okay to be overwhelmed when reading the Web Components document?
12:44
<zcorpan>
sure. you just need to read it a few times more. then in random order, following any xrefs. then backwards at least once.
12:46
<woef>
Hehe.
12:47
<kennyluck>
Is that specific to Web Components? It seems to apply to all specifications.
12:47
<woef>
The thing with Web Components though is that it's hard to image its full impact.
12:48
<woef>
You can practically do a lot of the back-end implementations using that.
12:50
<woef>
I can define all the product html in a custom element, stuff all the product info in an array and assemble both on client side.
12:52
<woef>
Or am I talking jibberish?
13:13
<hsivonen>
ouch. the async livemark stuff rotted my bookmark import patch
13:41
<scott_gonzalez>
If I'm using html5lib to validate HTML documents, does it matter which tree builder is used?
13:45
<jgraham>
If you are using html5lib to validate html documents you are doing something wrong
13:46
<jgraham>
I thought we removed all the validation bits apart from parse errors
13:46
<jgraham>
If you only care about parse errors, it doesn't matter much, no
14:11
<MikeSmith>
does anybody recall if there was ever a bug raised to propose the capture attribute on input@type=file?
14:12
<scott_gonzalez>
jgraham: Is there a better tool to use for a CLI validator?
14:12
<scott_gonzalez>
I looked into the code for validator.w3. but it looks like it's specifically for CGI.
14:26
<hsivonen>
scott_gonzalez: the first person to want a CLI validator hard enough writes a CLI wrapper for validator.nu
14:26
<hsivonen>
scott_gonzalez: there's already a CLI tool that sends the data to a Web service instance of validator.nu
14:27
<scott_gonzalez>
hsivonen: I looked at that too, but only briefly.
14:27
<hsivonen>
a local CLI wrapper for validator.nu being a mock servlet container that talks with local streams instead of HTTP
14:35
<scott_gonzalez>
hsivonen: Would I only need the validator repo in that case? https://bitbucket.org/validator/validator
14:40
<MikeSmith>
hsivonen: the mock-servlet approach is pretty much exactly what some members of the W3C systems team are looking at implementing
14:46
<scott_gonzalez>
MikeSmith: Do you have a timeline for that?
14:46
<MikeSmith>
scott_gonzalez: no, I don't
14:46
<MikeSmith>
it's pretty clear how to do it
14:47
<MikeSmith>
I mean, pretty clear from looking at the code
14:47
<MikeSmith>
if you want to work on it yourself I would be glad to help
14:47
<MikeSmith>
I don't think any of the systems team have started working on it
14:48
<scott_gonzalez>
Thanks, I'll let you know if we decide to do this.
14:49
<scott_gonzalez>
I'm trying to find a way to validate all of the demo and test files for jQuery UI.
14:49
<scott_gonzalez>
We don't generally have java developers though :-/
14:51
<scott_gonzalez>
This probably doesn't help: https://bitbucket.org/validator/validator/src/6315b45b4827/sample/html5check.py#cl-149
14:52
<scott_gonzalez>
I guess that's just a sample page though, and we wouldn't need to handle any of that redirect logic anyway.
14:56
<MikeSmith>
scott_gonzalez: I think that html5check.py script is just using the REST interface to the service
14:57
<MikeSmith>
so it still requires you to have the service up and listening on some por
14:58
<MikeSmith>
but it would still get you what you need
14:58
<MikeSmith>
actually, you don't really even need a script for this
14:58
<MikeSmith>
you can use curl or whatever
14:59
<scott_gonzalez>
I'd prefer if we could avoid HTTP.
14:59
<MikeSmith>
well
14:59
<MikeSmith>
why?
14:59
<MikeSmith>
the service is pretty easy to build and install and run
15:00
<MikeSmith>
if you prefer to not use HTTP, then it would help to have some Java developers :)
15:00
<scott_gonzalez>
Honestly, I'd prefer if there was no install process. I'm not sure if we'll get there though, after looking at the existing tools.
15:01
<MikeSmith>
you can use the service from the command line with zero-install on your client side
15:01
<MikeSmith>
you just use the REST interface to http://validator.nu remotly
15:01
<scott_gonzalez>
I'd prefer something that works offline.
15:01
<scott_gonzalez>
There will probably be a lot of overhead using REST too.
15:03
<MikeSmith>
curl -s -F laxtype=yes -F parser=html5 -F level=error -F out=gnu -F doc=@SOME_DOCUMENT.html http://validator.nu
15:04
<MikeSmith>
scott_gonzalez: it would not be a large amount of work for a competent Java programmer to write a wrapper along the lines hsivonen described
15:04
<MikeSmith>
I know I could do it myself and I'm not even a competent Java programmer
15:06
<MikeSmith>
the wrapper passes a request object to that code and gets a response object back
15:06
<MikeSmith>
which looks like an HTTP response
15:07
<MikeSmith>
and the wrapper code just examines that response object and takes out what it needs and spits out the appropriate stuff to standard out
15:54
<MikeSmith>
https://github.com/scrooloose/syntastic/blob/master/syntax_checkers/html.vim#L40
16:40
<dglazkov>
good morning, Whatwg!
16:46
<annevk>
good afternoon dglazkov
16:48
<bga>
http://omploader.org/vY3cydQ/ie.png http://omploader.org/vY3cydA/chrome.PNG
16:51
<ksweeney>
not loading
17:33
<annevk>
arv: MikeSmith is maintaining the URL spec now
17:33
<annevk>
arv: not sure if he's cc'd to that bug
17:33
<annevk>
arv: my network is to slow to load the bug
17:33
<annevk>
too*
17:33
<arv>
annevk: I'll add him
18:15
<kennyluck>
"I stumble across the RDF work in W3C. I was wondering if that make sense for WebKit."
18:18
<annevk>
trolling like it's '99
18:19
<annevk>
oh haha
18:19
<annevk>
someone actually posted that to webkit-dev
18:19
<annevk>
good times
18:20
<bga>
http://paul.kinlan.me/we-need-to-kill-off-the-localstorage-api
18:21
<annevk>
what is it with all the premature strikes?
18:21
<annevk>
cf. deprecate registerProtocolHandler() & friend
18:21
<annevk>
s
18:23
<annevk>
Indexed DB works in no browser without prefix yet... Saying to use caution with localStorage okay, but you cannot really avoid it at this point...
18:29
<miketaylr>
let's just kill the whole thing while we're at it
18:29
<miketaylr>
adios web, it's been fun
18:37
<kennyluck>
Yeah, HTML5 features are so useless. Let's work on speccing pixel rounding in CSS.
18:46
<TabAtkins>
Hixie: fantasai and I are discussing the CSSElementMap, and think that there's no good reason to make it specific to CSS. Any objection to renaming it ElementMap and just making it a generic additional way for elements to match id selectors?
18:50
<annevk>
kennyluck: someone should
18:51
smaug____
switches on angryness filter and tries to read public-html
19:24
<Hixie>
TabAtkins: i don't have a strong opinion on it, but note that we _just_ decided to once and for all ensure Element nodes would only ever have one ID
19:24
<Hixie>
TabAtkins: so i recommend looping in some DOM Core people first and seeing how angry they get, and basing your decision on that :-)
19:24
<othermaciej>
TabAtkins: what's CSSElementMap?
19:25
<annevk>
that feature always seemed a bit ugly to me
19:25
<annevk>
othermaciej: http://www.whatwg.org/specs/web-apps/current-work/#dom-document-csselementmap
19:26
<annevk>
TabAtkins: making it generic, would that affect getElementById()?
19:27
<othermaciej>
is there an email or other reference that explains the use case for this?
19:29
<annevk>
I think there might be on the WHATWG list
19:29
<annevk>
I never really looked into it much, hoping it would go away
19:29
<TabAtkins>
annevk: No opinion. If it affects querySelector, though, it should probably affect gEBID too.
19:30
<annevk>
that seems very silly
19:30
<Hixie>
annevk: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16142
19:30
<annevk>
i mean, those are very much perf-sensitive
19:30
<Hixie>
annevk: (see my comment)
19:30
<annevk>
Hixie: will try to load...
19:30
<annevk>
network here is good times
19:30
<annevk>
skiing is way better :)
19:30
<Hixie>
ah ok let me paste it here
19:31
<Hixie>
oh right you're skiing
19:31
<Hixie>
dude
19:31
<Hixie>
get on the slope
19:31
<Hixie>
:-P
19:31
<TabAtkins>
heading to lunch, will be back to discuss shortly
19:31
<Hixie>
annevk: no rush, don't worry about it
19:31
<othermaciej>
ah, I see, otherwise element() can't reference elements that are not in the document
19:32
<annevk>
Hixie: no worries, it's dark now, we're about to get some food
19:32
<Hixie>
on another note, i think 'decorative:true' is probably better than 'ariaHidden:true'
19:32
<Hixie>
upon reflection
19:34
<annevk>
Hixie: ah, I'll look into making such an algorithm later this week
19:34
<annevk>
Hixie: just got the email, bug still loading :)
19:38
<annevk>
smaug____: not going to make DOM depend on HTML
19:40
<smaug____>
ah
19:40
<smaug____>
I don't want MutationObservers to html spec
19:41
<annevk>
HTML is just going to contain "invoke observers" or some such
19:41
<annevk>
and DOM will contain a non-normative pointer to that
19:44
<Hixie>
hey hey hey! with this addHitRegion() thing on canvas we can have the UA automatically set the cursor based on where over the image you are!
19:44
<Hixie>
sweet
19:45
<annevk>
because the cursor is not there?
19:46
<Hixie>
because we already have regions, and i can just add 'cursor' to the dictionary
19:46
<Hixie>
from the canvas feedback: "An advantage canvas has over SVG is that it shares the same DOM and keyboard navigation model as HTML."
19:47
Hixie
wonders if the commenter is confused or if i'm just misunderstanding
19:54
<Hixie>
TabAtkins: heh, just saw glazou's reply. i guess css specs had better stop refering to RFCs...
19:55
<annevk>
SVG might have defined some kind of keyboard navigation at some point
20:03
<hsivonen>
https://twitter.com/#!/robert_sinclair/status/174583309203013634
20:04
<hsivonen>
Hixie: thanks for responding on the frame disabling bug
20:21
<TabAtkins>
What's a term I can use to refer to the "standard" fragment syntax, where it refers to the id of an element in the document?
20:21
<TabAtkins>
I'm trying to generically define that if that syntax is used but there is no element with the given id in the document, it's an invalid image.
20:21
<TabAtkins>
(And thus triggers fallback for image().)
20:23
<annevk>
I don't think such a thing exists
20:23
<annevk>
you could maybe look at what HTML has for usemap="" and adapt that
20:27
<TabAtkins>
On further review, it looks like I don't need to handle this case explicitly, though I do need to file a bug on SVG.
20:52
<smaug____>
rniwa: just curious, if you move input element in DOM, do you think undo/redo should still contain the data it contained in the original place in DOM
20:52
<smaug____>
or can we reset undo/redo
20:52
<smaug____>
(I think not, but I don't know what webkit does)
20:53
<smaug____>
(haven't tested anything yet)
21:22
<rniwa>
smaug____: you mean undo/redo inside the input element?
21:22
<rniwa>
smaug____: or undo/redo of input.value?
21:23
<smaug____>
rniwa: yes
21:23
<rniwa>
smaug____: yes... which?
21:23
<smaug____>
inside input element
21:23
<rniwa>
smaug____: I think so
21:23
<rniwa>
smaug____: isn't what browsers do today?
21:23
<rniwa>
isn't that*
21:24
<smaug____>
looks like so
21:25
<smaug____>
I'm just debugging a gmail leak
21:25
<rniwa>
smaug____: I think that's also what the spec implices
21:25
<rniwa>
implies*
21:25
<smaug____>
where something keeps stuff alive, and since there is also input and textarea elements with huge transaction lists, plenty of stuff is kept in memory
21:26
<smaug____>
rniwa: btw does chrome have some tools to check what all objects are kept alive
21:26
<smaug____>
js objects and dom nodes etc
21:27
<rniwa>
smaug____: developer time -> memory profiler?
21:28
<rniwa>
I mean
21:28
<rniwa>
"
21:28
<rniwa>
"Profiles" and heap snapshot
21:28
<cboyle>
anyone using http://www.iwebinspector.com with xcode 4.3 & lion?
21:28
<cboyle>
or could point me in the direction of someone who does
21:28
<smaug____>
can't see anything like that
21:29
<smaug____>
I might have just checked whether the gmail leak shows up in chrome too...
21:30
<rniwa>
smaug____: so... you open the developer tools
21:30
<rniwa>
smaug____: and then go to Profiles tab
21:30
<rniwa>
click the eye-mark
21:30
<smaug____>
I may have old chrome
21:30
<smaug____>
indeed
21:30
<rniwa>
smaug____: and then it'll give you a snapshot
21:30
<smaug____>
latest chrome doesn't run on this machine
21:30
<rniwa>
smaug____: oh oops :(
21:30
<rniwa>
smaug____: which machine?
21:31
<smaug____>
64bit Fedora 15
21:31
<smaug____>
don't recall now what the problem is...
21:32
<rniwa>
smaug____: huh... odd.
21:32
<rniwa>
smaug____: I think we normally support Fedora
21:32
<rniwa>
smaug____: /highfives another fedora user
21:32
rniwa
highfives*
21:33
<rniwa>
although i use ubuntu on my work machine these days :\
21:33
<smaug____>
:)
21:33
<smaug____>
I've been using Redhat since 5.0
21:33
<rniwa>
oh well, only once a month or less...
21:33
<rniwa>
smaug____: that's about the time I started using I think...
21:33
<rniwa>
maybe it was 6
21:34
<rniwa>
yeah I think it was 6
21:43
<TabAtkins>
othermaciej: As well, I believe CSSElementMap was introduced during a feature-freeze for HTML, so it's only in the WHATWG copy. Do you see any problem with throwing it into the HTMLWG copy?
21:44
<othermaciej>
TabAtkins: probably not but I can't always predict what would be controversial
21:44
<TabAtkins>
Yeah, of course. Was just checking for Process-related hangups.
21:44
<othermaciej>
TabAtkins: you can reduce risk of drama by filing a bug and sending mail to the group about it, to reduce risk of anyone bitching after the fact
21:44
<TabAtkins>
Pretty sure there's already a bug about it.
21:45
<TabAtkins>
From when Hixie first added it.
21:51
<TabAtkins>
Ah, no, I only requested it in an email to WHATWG.
21:51
<TabAtkins>
I'll file a bug I guess.
21:52
TabAtkins
is sad we don't get emails for all bugs anymore.
21:53
<TabAtkins>
Hixie: Should I file the bug in the "HTML5 spec" component or "LC1 HTML5 spec"?
21:54
<annevk>
HTML5 spec
21:54
<Hixie>
i ignore the component entirely
21:55
<annevk>
if you do HTML5 spec there'll be an email and satisfy what othermaciej mentioned above
21:55
<othermaciej>
I forgot about bugmail
21:56
<Hixie>
does anyone know if svg defines how you parse errorneous d="" attributes for paths?
21:56
<Hixie>
i can't find it defined anywhere
21:56
<annevk>
in SVG 1.1 you are not allowed to display the SVG
21:57
<annevk>
</trollmode>
21:57
<Hixie>
i wonder how to define this without having to respecify everything
21:57
<Hixie>
(this = a method on canvas that takes a d="" specification)
21:58
<annevk>
Hixie: by filing a bug on SVG and making sure it gets fixed
21:58
<annevk>
Hixie: sounds like something they need to fix anyway and they can probably give you an answer as to what the interface will be a little quicker
21:59
<Hixie>
i didn't mean the parsing, though that's another issue
21:59
<Hixie>
i meant just in general, how do i make the canvas path be manipulated
21:59
<annevk>
ooh
21:59
<annevk>
hmm yeah dunno
21:59
<Hixie>
shepazu: yt?
22:00
<shepazu>
Hixie: on phone… gimme a few, please
22:00
<Hixie>
shepazu: np
22:00
<Hixie>
wonder what to call it
22:00
<Hixie>
"path" is a big ambiguous
22:00
<Hixie>
"svg path" is wrong, since this would be making it a non-svg path as well
22:00
<Hixie>
"addPathByDescription" is a bit long
22:01
<Hixie>
addPathData() ?
22:01
<Hixie>
annevk: ah, it does define it actually. if the path doesn't match the bnf, then the path is treated as empty.
22:02
<karlcow>
tracePath?
22:02
<Hixie>
sounds like it would mean the same as stroke()
22:02
<karlcow>
indeed
22:02
<Hixie>
which does something quite differnet :-)
22:03
<annevk>
just addPath(string) ?
22:03
<karlcow>
maybe littleThumbling
22:03
<Hixie>
annevk: addPath() sounds like it describes what addFile() does
22:03
<Hixie>
er
22:03
<Hixie>
addFill
22:04
<Hixie>
which i only called addFill() rather than addPath() because i also needed to add addStroke()
22:04
<annevk>
so what is the context for this method?
22:04
<annevk>
could it be new Path(string) ?
22:04
<Hixie>
same as .rect() or .moveTo()
22:04
<Hixie>
except it does everything in the path description
22:04
<annevk>
k
22:05
<karlcow>
ah no no annevk. It is Path(addressbook) :p
22:05
<annevk>
.addToPath ?
22:05
<Hixie>
.addWhatToPath? :-)
22:05
<Hixie>
addPathData() is fine, i think
22:05
<Hixie>
the d="" values are called "path data" in scg
22:05
<Hixie>
svg
22:06
<annevk>
k
22:13
<Hixie>
heycam|away: yt?
22:14
<shepazu>
Hixie: ok, what's up?
22:14
<Hixie>
shepazu: i've gotten requests for adding a mechanism to add paths to canvas using the svg path data syntax
22:15
<Hixie>
shepazu: i was wondering if you had any advice on how best i could do that without duplicating lots of requirements
22:16
<shepazu>
Hixie: happy to help, but not sure what you mean by duplicating requirements
22:16
<aklein>
annevk: per Hixie's comment on the microtask bug, sounds like we need some description of delivery in DOM4; is that something you can handle or shall I write something up?
22:17
<Hixie>
shepazu: well the easiest way to do it is just to not refer to svg but "reimplement" the parsing and drawing rules in the html spec, but referring to arguments and canvas subpaths rather than attributes and svg paths
22:17
<Hixie>
shepazu: but clearly that's suboptimal, because they might get out of sync, etc
22:18
<shepazu>
Hixie: would it help if SVG2 included some specific mapping/algos?
22:18
<shepazu>
fwiw, I've done this in script pretty trivially
22:18
<Hixie>
shepazu: depends on the timeframe, but yeah, that might be good
22:18
<shepazu>
Hixie: we could put a priority on it
22:18
<annevk>
aklein: if you can scribble some thoughts in the bug on adding a list of MutationObservers I can do the rest I think
22:19
<Hixie>
shepazu: that woudl be cool. should i write something up and send it to www-svg when i have a better idea what would be needed from this end?
22:19
<annevk>
aklein: I can probably do it either way, but there's more chance of it being right in one go if you add some insight
22:19
<shepazu>
Hixie: I'm juggling 17 cats right now, but if you were to write a short but detailed summary email to www-svg, I can make sure we talk about it on Thursday and write it up ASAP
22:19
<shepazu>
lol
22:19
<shepazu>
yes
22:20
<shepazu>
thanks
22:20
<Hixie>
shepazu: awesome, will do
22:20
<Hixie>
shepazu: no, thank you!
22:20
<shepazu>
Hixie: I'm pretty sure there's a lot of interest in the SVG WG to do something like this
22:20
<Hixie>
cool
22:22
<aklein>
annevk: may have to wait till next week, I'm shepherding the webkit -> chromium merge this week, but I'd be happy to add more on the bug if I get some free cycles
22:23
<Hixie>
annevk: do you know what i'm supposed to do instead of having an attribute with type double[]?
22:23
<Hixie>
annevk: i want you to be able to set it via path.lineDash = [0,1,2,3]
22:23
<annevk>
aklein: k, I might get to it first then at the end of this week
22:24
<annevk>
Hixie: what's wrong with using double[]?
22:24
<Hixie>
i thought we weren't supposed to have attributes that returned arrays
22:25
<annevk>
no such attributes are fine
22:25
<annevk>
afaik
22:25
<Hixie>
oh
22:25
<Hixie>
what was it i wasn't supposed to do with array then?
22:25
<annevk>
you can not return sequences I think
22:26
<annevk>
ooh wait, maybe that is wrong because arrays can be mutated
22:26
<annevk>
hmm
22:26
<annevk>
sorry
22:28
<Hixie>
maybe i should just use explicit methods for getting and setting
22:28
<annevk>
it does seem way nicer to just set it to an array
22:28
<annevk>
that's what we should have done for fillStyle instead of CSS colors in retrospect I think
22:29
<annevk>
heycam: ^^
22:30
<heycam>
Hixie, shepazu, +1 to avoiding duplicating (and probably ending up with slightly different) path objects etc.!
22:30
<Hixie>
heycam: if i have an attribute that takes an array (path.lineDash = [0,1,2,3]) what type should i give it, assuming double[] is not a good answer?
22:31
<heycam>
Hixie, yeah sequence<T> means JS array, and you can't have attributes of that type. T[] means a special object that behaves like an object with index getters/getters and has a .length property
22:31
<heycam>
Hixie, hmm
22:31
<Hixie>
(or is double[] a good answer?)
22:32
<heycam>
Hixie, double[] would work -- its behaviour would be that you can assign a JS array, and that would be converted to an IDL array type.
22:32
<heycam>
but
22:32
<heycam>
it would mean that when you get the attribute again, it returns that platform array object, and not the JS array object you passed in
22:32
<heycam>
presumably the path object will never modify the array that is assigned there?
22:33
<Hixie>
correct
22:33
<Hixie>
but i also don't want the js author to be able to modify a random other array he created and have it change the path dash pattern
22:33
<heycam>
ah, interesting
22:33
<Hixie>
so i think what you describe is the behaviour i want?
22:34
<Hixie>
of course i might be wrong to want that behaviour :-)
22:34
<Hixie>
maybe i should just use a setter/getter?
22:34
<heycam>
it would do. it might be surprising that a different object (and not a JS Array) would be returned from getting the property.
22:34
<heycam>
a getter/setter might be clearer...
22:34
<Hixie>
k
22:34
<annevk>
what kind of array would be returned then?
22:35
<heycam>
getter and setter could both take sequence<double>
22:35
<heycam>
then you get a JS Array object returned
22:35
<annevk>
getter/setter seems somewhat ugly for JavaScript
22:35
<heycam>
and not the same one you put in
22:35
<heycam>
annevk, yeah I kind of agree...
22:35
<annevk>
why can't we return a JS array?
22:36
<heycam>
annevk, you mean from a double[] attribute?
22:36
Philip`
gets surprised when things like path.lineDash[1]=2 don't work
22:36
<heycam>
Philip`, yeah that's the reason sequence<T> isn't allowed as the type of an attribute
22:36
<annevk>
yes
22:37
<heycam>
annevk, well because double[] means this platform array object. in most cases you want the DOM object to respond to changes to the array(-like) object, or to dynamically expose array elements
22:37
<heycam>
annevk, and you can't do that with a regular JS Array
22:39
<annevk>
oh you cannot observe changes to it or something? okay
22:39
<heycam>
returning a JS Array from a function I think makes it clearer that if you modified it it's not necessarily going to cause the DOM object to do anything
22:39
<heycam>
yeah
22:39
<annevk>
I still think the path.lineDash attribute idea makes sense
22:39
heycam
wonders if there should be a write-only lineDash property :)
22:39
<annevk>
you will just iterate over the values
22:40
<heycam>
annevk, yeah… it would look weird if you need to use a function to set that, but a property for everything else
22:40
<annevk>
and maybe assign an array to it
22:40
<annevk>
especially if it has some default value most use will just be lineDash[x] = y
22:41
<heycam>
yeah if you don't declare the platform array object that it returns read only or fixed length, then that should work too
22:41
<heycam>
and since it inherits from Array.prototype, even path.lineDash.push(10) will work
22:42
<Hixie>
yeah but then why would lineDash = a; a[0] = 2; not work
22:42
<heycam>
it's just that (path.lineDash = someArray) != someArray… :)
22:42
<Hixie>
unless someArray was previously a lineDash value
22:42
<heycam>
Hixie, because the "a" there is a JS Array, and the type of value lineDash returns is a platform array object
22:42
<Hixie>
it's very confusing
22:43
<heycam>
I agree it might be too confusing
22:43
<heycam>
but you said yourself you don't want the JS array to change and to affect the path
22:43
<Hixie>
if i changed my mind on that would there be a way to support it?
22:44
<heycam>
not as nicely as you might like. what you could do is define the attribute to be of type "object", and then explain in prose what to do when you have a JS Array object in tehre
22:45
<Hixie>
yikes
22:46
<Hixie>
i think setLineDash() and getLineDash() are sounding better by the minute
22:46
<Hixie>
getLineDash() can even return a mutable double[], and setLineDash() can just be defined to always clone its argument
22:46
<Hixie>
so you can do getLineDash()[1] = 2
22:46
<Hixie>
or whatnot
22:47
<heycam>
yeah -- that would be just like an attribute of type double[], but maybe more understandable in terms of what's happening with the objects
22:48
<annevk>
so new WebSocket takes DOMString[]
22:49
<annevk>
maybe that should be sequence instead?
22:49
<heycam>
annevk, yeah, I tend to use sequence<> in those cases because it's clearer a copy is going to be made
22:49
<heycam>
but if it's just use as an argument, the behaviour will be the same
22:49
<annevk>
oh
22:49
<heycam>
the only differences is
22:49
<heycam>
*difference
22:50
<heycam>
if you can possible get DOMString[] objects elsewhere
22:50
<heycam>
which I guess you might be able to here!
22:50
<heycam>
you might want to write your prose so you don't save a reference to that platform array object
22:50
<annevk>
there are some proposals
22:50
<heycam>
(if you happened to word it that way)
22:50
<heycam>
yeah I saw
22:50
<heycam>
+1 for that
22:51
<annevk>
I still like the lineDash attribute better for consistency
22:51
<annevk>
I sort of think we'll reuse that pattern at some point
22:52
<annevk>
consistency with fillStyle, miterLimit etc. that is
22:52
<heycam>
it might be worth thinking about a type -- maybe even call it Array! -- in IDL that means just a reference to a JS Array
22:52
<Hixie>
annevk: except it's not really consistent with those
22:52
<Hixie>
annevk: if it clones on setting
22:52
<heycam>
but that you're responsible for describing when the values get read out of it
22:52
<Hixie>
annevk: but returns a reference
22:53
<Hixie>
abarth: yt?
22:55
<annevk>
Hixie: it seems somewhat unlikely many people will make that observation though unless they look at the specifics
22:55
<annevk>
though if we really think that's a bad pattern we should add something to Web IDL...
22:56
<Hixie>
abarth: if i want to encrypt something over the wire (say, video), is the best option AES256? I'm looking for something cryptographically sound, with low CPU requirements to decode, low memory requirements to decode, that can be done in streaming mode; i don't need integrity checking or authentication
22:59
<Hixie>
also not worried about side-channel attacks over the wire (e.g. in particular discovering the file size is not an issue)
23:43
<Hixie>
Philip`: other than compatibility, can you think of any reason why we shouldn't treat zero-length subpaths as points that get a line cap on either end? (for lineCap of round and square; butt would still not show anything)
23:45
<Philip`>
Hixie: What would be the orientation of square caps?
23:47
<Hixie>
interesting question
23:48
<Hixie>
i guess we'd just define it as x-axis aligned, pre-transformation
23:48
<Philip`>
That sounds arbitrary
23:48
<Hixie>
completely so
23:49
<Hixie>
http://home.comcast.net/~urbanjost/canvas/vogle4.html is a page asking for this
23:52
<Hixie>
wow, svg has a _lot_ of prose for text along a path
23:53
<Hixie>
i'll have to study this closer to see how much of this i actually need
23:53
<Hixie>
my naive impression is that this is not as complicated a problem as the svg text suggests...
23:56
<astearns>
no idea how SVG compares, but the text-on-path implementations I've worked on were both crazily complicated