00:28
<roc>
hsivonen: epic blog post! Thanks a lot
00:37
<jamesr>
mpilgrim: try unmatched surrogate pairs
00:37
<jamesr>
mpilgrim: and other non-valid utf16
00:38
<jamesr>
ah that was already suggested
00:38
<jamesr>
high ascii can also sometimes be trouble
00:39
<zewt>
because there's no such thing? :P
00:39
<jamesr>
extended ascii?
00:39
<jamesr>
whatever it's called
00:42
<zewt>
"high ascii" is what people tended to call "some 8-bit character set" back before people knew what character sets were--in javascript I'm not sure what it would mean (since strings are wide, not 8-bit)
01:16
<jamesr>
zewt: i mean any characters in the 128..255 range
01:17
<Hixie>
should i spec what happens to the cursor and selection when you reset a text input or textarea's value?
01:17
<Hixie>
and if so, should i spec a particular behaviour, or should i say it's a platform-specific reset?
01:22
<Hixie>
can someone on windows load up some browsers, go to http://software.hixie.ch/utilities/js/live-dom-viewer/ click "download", quickly click on the "1234567" text in the text box under "Rendered view", and then tell me what happens to the text selection and cursor position after two seconds?
01:22
<Hixie>
on mac, all the browsers i've been able to test move the cursor to the end and remove the selection (if any)
01:22
<Hixie>
if anyone is on a non-mac non-windows os that would be useful too
01:23
<Hixie>
(i changed it to 5 seconds)
01:26
<zewt>
holy gross, abp does some nasty stuff to the DOM in chrome
01:26
<zewt>
https://zewt.org/~glenn/erk.png ... heh
01:28
<zewt>
does the same for me in FF4/O11 in Windows (both of them leave the cursor at the end but scroll the text all the way to the left, which is pretty strange)
01:28
<zewt>
(same as what you described)
01:29
<Hixie>
cool, thanks
01:29
<zewt>
same in chrome 12 (after turning off that mess)
01:29
<Hixie>
any chance of testing IE?
01:29
<Hixie>
that's the one i haven't tested on any platform yet
01:29
<zewt>
need to load a VM, will take a minute
01:30
<Hixie>
you need a VM to load IE on windows? what kind of weird setup do you have over there :-)
01:30
<zewt>
xp64
01:31
<zewt>
ie9 only supports versions of windows which require lots of memory to run, which makes them fantastically wasteful in VMs
01:31
<Hixie>
funky
01:31
<zewt>
xp runs in half a gig; i need like a gig and a half for win7
01:31
<Hixie>
jeez
01:32
<zewt>
same
01:33
<Hixie>
cool, thanks
01:33
<Hixie>
i guess i'll just spec it
01:34
<zewt>
pretty oddball that they all mismatch the scroll position and the cursor
01:35
<Hixie>
yeah that's what makes me thing it might be needed for interop somehow and why it needs speccing
01:36
<Hixie>
if you've still got some browsers up can you try it again? i changed it to a textarea
01:36
<Hixie>
looks like it's the same on mac
01:39
<Hixie>
woot, i am now up to march in dealing with feedback of a non-feature-request nature
01:39
<zewt>
uh, ie9 seems to be caching the old one through reloads
01:40
<Hixie>
weird
01:40
<zewt>
same in the others, but i'm still seeing type=text in ie9
01:40
<Hixie>
if you have sent feedback (not counting feedback asking for new features, but including bugs) that you send before march, and i haven't replied to it, please let me know
01:41
<zewt>
gah chrome's "copy text in the address bar you didn't ask for" thing drives me crazy (tried to copy the hostname to tcpdump and I got a http:// prefix that I didn't ask for)
01:41
<Hixie>
yeah man that drives me batty
01:41
<zewt>
software trying to be more clever than it actually is
01:41
<Hixie>
ok, i'm outta here
01:41
<Hixie>
bbl
01:41
<zewt>
later
01:43
<zewt>
same in IE9
03:07
<karlcow>
http://insidesearch.blogspot.com/2011/06/authorship-markup-and-web-search.html
04:06
<mpilgrim>
Philip`: good call. it took me 2 hours, but i finally found a place in webkit's indexeddb implementation that fails on "\ufffe"
04:22
<yuhong>
I submitted and posted some comments on "CSS 2.1 becomes W3C Recommendation"/
04:22
<yuhong>
http://slashdot.org/~yuhong
05:42
<Hixie>
what's with bjoern quoting my name? weird
05:44
<jamesr>
as in "Ian Hickson"?
05:44
<Hixie>
as in "Hixie"
05:45
<jamesr>
the so-called "Hixie" says
05:45
<Hixie>
pretty much
05:55
<zewt>
i've been tempted to put "timeless" in quotes in several mails, heh
05:59
<jamesr>
so "Hixie", "timeless", and "fantasai" walk into a bar...
06:40
<paul_irish>
anyone have a rough idea when innerHTML began to be specified?
06:43
<paul_irish>
which.. i imagine just means the general parsing algo
06:44
<Hixie>
2008? 2009?
06:44
<Hixie>
2009 i think
06:44
<Hixie>
it was in january, whatever year it was
06:45
<paul_irish>
k. good enough for me. i can work with that. thx
06:49
<zcorpan>
http://www.whatwg.org/specs/web-apps/2007-10-26/#innerhtml0
06:49
<paul_irish>
:D
06:49
<Hixie>
holy cow, that's far before what i expected
06:49
<zcorpan>
it wasn't specified in http://www.whatwg.org/specs/web-apps/2006-01-01/ so sometime between those dates
06:49
<Hixie>
must have been 2007 that we specified the parser then
06:49
<Hixie>
wow
06:49
<Hixie>
time flies
06:50
<paul_irish>
yeah.. http://blog.whatwg.org/2007/03 is when html5lib 0.9 came out
06:50
<Hixie>
can anyone think of any reason i shouldn't specify window.status as a readonly replaceable property on Window that always returns the empty string?
06:52
<zcorpan>
do sites expect empty string (rather than undefined)?
06:52
<Hixie>
every browser seems to return empty string
06:52
<Hixie>
and i know i've written code that broke because i forgot that window.status existed
06:52
<zcorpan>
ah
06:53
<zcorpan>
is it repleaceable in browsers too?
06:53
<Hixie>
i thought it was, and it is in chrome, but it appears not to be in firefox
06:53
<Hixie>
firefox seems to always return '' regardless
06:53
<zcorpan>
i guess replaceable makes sense
06:54
<Hixie>
wait
06:54
<Hixie>
i'm wrong
06:54
<Hixie>
window.status = {}; window.status returns the _string_ "[object Object]"
06:55
<Hixie>
in chrome & opera
06:55
<zcorpan>
yeah
06:56
<zcorpan>
which means there's a setter i guess
06:57
<zcorpan>
opera seems to allow sites to set the status by default (but has a pref to disable it)
06:59
<zcorpan>
http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-08
07:00
<Hixie>
anyone got IE to test with? I don't have IE at home
07:02
<zcorpan>
hold on
07:02
<Hixie>
what's the latest version of web notifications? the editor's draft seems to be more outdated than the TR/ page?
07:03
<zcorpan>
Hixie: ie9 seems to always return the empty string
07:03
<Hixie>
k
07:04
<zcorpan>
unless i do var status
07:04
<Hixie>
sure, var is another issue altogether
07:04
<Hixie>
but it doesn't throw?
07:04
<Hixie>
so i guess a setter that does nothing is the way to go
07:04
<zcorpan>
doesn't throw
07:05
<zcorpan>
same in ie quirks
07:05
<zcorpan>
and ie7compat
07:05
<Hixie>
yeah if gecko and ie match we're good here
07:30
<Hixie>
huh
07:30
Hixie
notices a revert request that he'd somehow missed
07:31
<Hixie>
good thing i happened to browse the archives
07:31
Hixie
tries to work out what he's supposed to be reverting
07:33
<Hixie>
aha, something to make validators not catch inaccessible content
07:33
<Hixie>
the mind boggles
07:38
<zcorpan>
what's accessible is an opinion
07:53
<danbri>
foolip, when I paste entire source of http://schema.org/TVSeries into http://foolip.org/microdatajs/live/ then try the tabs, the entire page goes blank
07:53
<danbri>
(though there doesn't actually seem to be any MD in it)
07:54
<danbri>
... if I cut from <div id="mainContent"> and below, the UI still works and I see { "items": [] }
07:56
<jgraham>
Hixie: I think the TR page probably is the latest web notifications draft. That spec seems to have stalled
07:57
<Hixie>
ah
07:58
<jgraham>
Also, isn't timeless' name just "tim eless"? That would rather seem to exclude him from a "three people who go by pseudonyms walk into a bar" joke
07:59
<Hixie>
um, no
07:59
<jgraham>
Oh
07:59
<Hixie>
his name is josh soref :-)
07:59
<jgraham>
Ah. Well he's back in the joke then
07:59
<jgraham>
Dunno where I got the other idea from
08:00
<zcorpan>
hsivonen: is ==date-or-time-content== used anywhere? http://wiki.whatwg.org/wiki/MicrosyntaxDescriptions
08:00
<jgraham>
(especially since I recognise his real name now you mention it)
08:02
<zcorpan>
hsivonen: also what's with the claims that the formats differ from the spec?
08:06
<hsivonen>
zcorpan: looks like it's dead code
08:06
<hsivonen>
zcorpan: there used to be some element (<time>?) that accepted date or times in element content
08:06
<Hixie>
yeah <time> did that for aw hile
08:07
<Hixie>
<meter> and <progress> also had similar magic with numbers
08:13
<zcorpan>
removed it
08:13
<zcorpan>
that page still needs stuff filled in
08:24
<hsivonen>
zcorpan: thanks
08:34
<jamesr>
Hixie: i don't thikn we should have args in HTML spec
08:34
<jamesr>
it's not interoperable
08:35
<Hixie>
really?
08:35
<Hixie>
who doesn't do it?
08:36
<jamesr>
IEs don't, iirc
08:36
<jamesr>
and mozilla provides another argument
08:36
<jamesr>
to the callback
08:36
<Hixie>
well if it's just IE then they can get with the programme
08:36
<jamesr>
before the user specified argument(s)
08:36
<Hixie>
really?
08:37
<jamesr>
https://developer.mozilla.org/En/Window.setTimeout
08:37
<jamesr>
see "lateness"
08:37
<Hixie>
window.setTimeout(function(a,b,c) { alert('a=' + a + '\nb=' + b + '\nc=' + c) }, 1000, 1, 2, 3);
08:37
<Hixie>
...alerts "a=1 b=2 c=3"
08:37
<Hixie>
in firefox
08:37
<jamesr>
what's arguments.length?
08:38
<Hixie>
and opera
08:38
<Hixie>
and chrome
08:38
<Hixie>
seems interoperable to me!
08:39
<Hixie>
3 in opera and chrome, 4 in firefox
08:39
<jamesr>
so they stick it after the user-supplied args?
08:39
<Hixie>
yup
08:40
<zcorpan>
should we implement lateness in opera and chrome?
08:41
<jamesr>
why? can't you do it yourself in script?
08:41
<zcorpan>
i guess the script could do new Date yeah
08:41
<jamesr>
grab date.now() when setting, grab it when the callback runs, subtract the delay you specified...
08:41
<Hixie>
i have heard pretty much zero authoring interest in this argument
08:41
<Hixie>
to the point that i never had even heard of it :-)
08:42
<Hixie>
jamesr: that doesn't work if the machine was suspended in between
08:42
<jamesr>
well nobody uses arguments
08:42
<Hixie>
i use them all the time :-)
08:42
<jamesr>
Hixie: depends on how the implementation handles that
08:42
<jamesr>
nobody who authors and has to care about IE does :)
08:42
<Hixie>
does the monotonic clock from web perf increment when timeouts don't?
08:42
<Hixie>
people who care about IE don't use a _lot_ of the stuff in this spec
08:42
<jamesr>
the monotonic clock from web perf isn't actually specified
08:42
<zcorpan>
jamesr: you could use lateness without using arguments
08:42
<jamesr>
so nobody knows wtf it does
08:43
<Hixie>
well ok then
08:43
<Hixie>
someone should get on that
08:43
<Hixie>
:-P
08:43
Hixie
calls "not it"
08:43
<jamesr>
yeah it's just microsoft guys
08:43
<jamesr>
who keep bothering me to put a "implementations should not ..." section into a normative section
08:43
<jamesr>
i explained that wouldn't mean anything and their response was "we're fine with that"
08:44
<zewt>
normative shoulds make me want to hit things
08:44
<zewt>
at least, after dealing with the XMPP specs where half the spec is shoulds
08:44
<Hixie>
jamesr: well hopefully you don't have an actual "should" in a non-normative section
08:45
<jamesr>
i haven't put the sentence anywhere cos it's a dumb requirement
08:45
<jamesr>
it'll end up being implementation advice in a note
08:45
<Hixie>
aah
08:45
<Hixie>
push back against bad ideas
08:45
<Hixie>
don't give in!
08:46
<Hixie>
ok i should go sleep
08:46
<Hixie>
nn
08:47
<KevinMarks>
is a normative Should a passive aggressive spec?
08:49
<jamesr>
i can see that you are satisfying the minimum required requirements of this standard, but do you really want to just be a minimally compliant implementation?
08:49
<jamesr>
Stan over there is meeting 37 individual requirements...
09:31
<kost-bebix>
Good morning everyone! So can anyone please review me with speed testing of making HTMLTokenizer a new-style object?
09:32
<kost-bebix>
code: http://paste.pocoo.org/show/402862/
09:32
<kost-bebix>
file index.html: http://www.whatwg.org/specs/web-apps/current-work/ (it's big)
09:33
<kost-bebix>
results are ~40 seconds everywhere (old-style, new-style, pypy)
09:33
<kost-bebix>
so maybe my code is wrong or what
09:43
<jgraham>
kost-bebix: In general I am happy to make new-style classes. Unless it makes a huge difference weird version-specific-CPython-specific performance hacks at the expense of best practices seem wrong
09:44
jgraham
afk for a bit
09:57
<kost-bebix>
jgraham: 40 seconds for new-style vs 37 sec. for old-style
09:58
<kost-bebix>
jgraham: but for new-style I will write topic about "how to make safe wysiwyg ckeditor with html5lib" and won't be a shame to show it's code))
09:59
<kost-bebix>
jgraham: also, what about fixing html5lib in default? It's currently broken a bit. Should I investigate that or could you please do that?
09:59
<gsnedders>
jgraham: Broken in what way?
10:00
<gsnedders>
kost-bebix even
10:00
<kost-bebix>
gsnedders: even?
10:00
<gsnedders>
kost-bebix: Broken in what way?
10:00
<kost-bebix>
oh, sorry, those 40 and 37 secs were for pypy, whong virtualenv))
10:01
<kost-bebix>
gsnedders: something like this http://paste.pocoo.org/show/402835/
10:01
<kost-bebix>
gsnedders: but even not for tests
10:03
<kost-bebix>
gsnedders: here's fresh error http://paste.pocoo.org/show/403315/ for this test-code
10:11
<kost-bebix>
gsnedders: so will you look at that please?
10:13
<gsnedders>
kost-bebix: Maybe.
10:13
gsnedders
is rather busy at the moment
10:13
<kost-bebix>
oh, ok
10:14
<gsnedders>
The soonest I'm likely to do anything is while travelling next Wednesday.
10:14
<kost-bebix>
ok, I'll look at that
10:20
<mhausenblas>
any microdata people around?
10:21
mhausenblas
might benefit from your help re https://github.com/mhausenblas/schema-org-rdf/blob/master/tools/schema-mr-gateway/microdata-parser.py
10:21
<mhausenblas>
(using edsu's MD parser https://github.com/edsu/microdata)
10:22
<kost-bebix>
ok, seems I fixed that
10:22
<kost-bebix>
how do I do pull request in google code?)
10:22
<kost-bebix>
http://code.google.com/r/kost88-html5lib-fixes/source/checkout
10:23
<jgraham>
kost-bebix: No idea.
10:23
<kost-bebix>
jgraham: maybe I should just send patches?
10:23
<mhausenblas>
kost-bebix good question (re pull request in Google code) - if you find out pls let me know as well ;)
10:23
<jgraham>
kost-bebix: That should work
10:24
<jgraham>
If the patches look good you can benefit from our hippie commit-access policy
10:24
<kost-bebix>
jgraham: http://paste.pocoo.org/show/403324/
10:25
<kost-bebix>
jgraham: I should run tests now, I guess
10:25
<kost-bebix>
to make sure nothing is broken)
10:26
<kost-bebix>
jgraham: fail) super(HTMLTokenizer, self).__init__(object) should be fixed to super(HTMLTokenizer, self).__init__()
10:26
<mhausenblas>
jgraham, you're not into MD, are you?
10:27
<jgraham>
kost-bebix: Attaching patches to a bug is best I guess
10:27
<jgraham>
mhausenblas: A little, but possibly not enough to review code and do real work at the same time :)
10:28
<mhausenblas>
he he, fair enough
10:28
<kost-bebix>
jgraham: ok, I'll go and create issues for that
10:28
mhausenblas
trying to figure on his own - would be cool to learn what chaps to ask around here ...
10:29
<gsnedders>
I'd say I could look, but then jgraham would probably start finding more work for me. :)
10:31
<mhausenblas>
gsnedders, please look :P
10:31
<mhausenblas>
srsly, got a sec, gsnedders?
10:31
mhausenblas
won't tell jgraham
10:31
<gsnedders>
Disclaimer: it's been a while since I've looked at MD closely
10:31
<mhausenblas>
he he, fair enough - same for me ;)
10:32
<mhausenblas>
so, in https://github.com/mhausenblas/schema-org-rdf/blob/master/tools/schema-mr-gateway/microdata-parser.py I'm trying to dump the items
10:32
<mhausenblas>
now, what I don't really get is the cascading
10:33
<mhausenblas>
that is, how items can have other nested items
10:33
mhausenblas
should maybe read the spec more closely? ... but I'm a slacker, hence
10:34
<gsnedders>
mhausenblas: The other item is defined by the nesting, pretty much, IIRC
10:34
<mhausenblas>
yes, that I get - but what is the relationship? ;)
10:34
<mhausenblas>
or is there none
10:34
<mhausenblas>
you see what I'm trying to understand?
10:35
<mhausenblas>
I have (in my own weird pretty print style):
10:35
<mhausenblas>
ITEM (http://example.org/event123) of type (http://schema.org/Event)
10:35
<mhausenblas>
and
10:37
<mhausenblas>
ITEM (anonymous) of type (http://schema.org/AggregateOffer)
10:37
<mhausenblas>
how is http://example.org/event123 related to the second item?
10:37
<gsnedders>
Depends upon the itemprop
10:37
mhausenblas
bangs head on desk
10:37
<mhausenblas>
sure thing - it's 'offers'
10:37
<mhausenblas>
sry for the stupid question
10:37
<mhausenblas>
there you go - you did help me gsnedders ;)
10:37
<mhausenblas>
case close - let's move on
10:37
<gsnedders>
I KNOW STUFF.
10:37
<mhausenblas>
thx, over and out
10:37
<gsnedders>
:D
10:37
<mhausenblas>
well, that I wouldn't say, but ...
10:37
<mhausenblas>
you're a nice guy, at last ;)
10:38
<kost-bebix>
that's for broken default: http://code.google.com/p/html5lib/issues/detail?id=184
10:38
<zcorpan>
gsnedders is just making stuff up
10:38
<mhausenblas>
btw, as I have some 3 more min for chit chatting - how's it going, gsnedders - still up in Scandinavia or what are you after these days?
10:38
<gsnedders>
zcorpan: Pretty much. But if it makes people think I know stuff…
10:39
<gsnedders>
mhausenblas: Studying in Glasgow, working remotely for Opera still (though part-time now)
10:39
<mhausenblas>
right
10:39
<mhausenblas>
well, sounds good - KUTGW!
10:41
<zcorpan>
KUTGSAWYAD
10:43
<kost-bebix>
http://code.google.com/p/html5lib/issues/detail?id=185 for new-style HTMLTokenizer
10:43
<kost-bebix>
god, bitbucket + pull requests would be so much easier))
10:44
<gsnedders>
zcorpan: ?
10:55
<karlcow>
KITTY
11:09
<jgraham>
zcorpan: What's accessible might well be a measurable quantity. But no one much seems interested in doing the measurements
11:09
jgraham
just saw that in the logs
11:22
<karlcow>
https://github.com/edsu/microdata/blob/master/microdata.py
11:29
<karlcow>
http://go-to-hellman.blogspot.com/2011/06/our-metadata-overlords-and-that.html
13:40
<smaug____>
http://www.w3.org/2004/04/webapps-cdf-ws/papers/opera.html from Mozilla and Opera is still surprisingly valid
13:40
<hsivonen>
krijnh: is back. watch you tongue, folks :-)
13:41
<smaug____>
hsivonen: my link was public :)
13:41
<roc>
when you've got W3C leadership insisting they never did anything wrong, then clearly lessons from past mistakes have not been learned, and that reduces trust
13:41
<karlcow>
hsivonen: taboo? in your own illusions :) That's the point of such an organization. Organizations which tie people who are likely minded are sects, not fora for discussing, debating, etc.
13:42
<karlcow>
roc: someone is a member of TAG and someone can't have different ideas ? One neuron brain? Role vs personal opinions.
13:42
<karlcow>
my goodness… sectarism.
13:42
<hsivonen>
karlcow: I have a feeling I got frowns when I last talked about disjoint communities but [citation-needed] and I don't remember what the context was
13:44
<roc>
karlcow: so you think it's a good thing to have people on the TAG who are wrong about important issues. OK. I don't.
13:45
<roc>
he's not just wrong about opinions or strategy, he's wrong about facts, as smaug pointed out
13:46
<karlcow>
I think it is a good thing to have people with diverse opinions. I do not think there is only one side of a story. I think people can have a role and opinions (it is called compromise). [not saying that I agree with him, but that is totally unrelated to his tag position]
13:49
<jgraham>
Diverse opinions can be good. Being in denial of facts isn't
13:52
<karlcow>
Will one day computing engineers be human… really. It mesmerizes me as something strange. We are all of us humans. yes we lie, we are emotional, have notions of truth, recollection of memories. etc. He might be wrong, he might be right, etc. That's part of the game. Now putting him, his role and the organization in a single entity is quite frightening. it's why I say sectarism. Ministry of thoughts.
13:52
<karlcow>
anyway, reality catches me up. I have a meeting.
14:42
<Workshiva>
karlcow: As the saying goes, you're allowed your own opinions but you are not allowed your own facts
14:43
<Workshiva>
... and I was one screen away from the bottom of the conversation
15:06
<karlcow>
Workshiva: people have different recollections. Basically people do not see the same facts because of their own moral values, history, memory recollections, etc. Once again not taking side here.
15:08
<hsivonen>
karlcow: I think you are taking relativism pretty far
15:08
<Workshiva>
Misremembering something doesn't change what actually happened...
15:08
<karlcow>
hsivonen: possibly.
15:09
<jgraham>
Wander too far down this path and you end up with holocaust deniers and all sorts of nastiness
15:09
jgraham
wonders if that implicity invokes Godwin
15:09
<karlcow>
we reached godwin
15:09
<Workshiva>
scientologists :P
15:09
<Workshiva>
What is true is what you, yourself, decide is true for you.
15:10
<karlcow>
Workshiva: it's how science is working. Collectively aggreeing on a framework and working in that framework to make assertions.
15:11
<karlcow>
newton, simple relativity, general relativiy, etc.
15:11
<karlcow>
when the model doesn't work to answer the questions we have to solve, we change the model.
15:12
<jgraham>
I think there is a great deal that is interesting about the philosophy of Science but I'm not sure I get any of it from that statement
15:12
<Workshiva>
karlcow: The difference is that science describes reality, it doesn't define it
15:12
karlcow
has to admit he is influenced by Kuhn
15:13
<karlcow>
Worshiva: yup agreed whatever reality is ;)
15:14
<karlcow>
I was referring to this Kuhn http://en.wikipedia.org/wiki/Thomas_Kuhn
15:15
<Workshiva>
I didn't know there were other famous Kuhns
15:16
<Workshiva>
Anyhoo
15:16
<karlcow>
http://en.wikipedia.org/wiki/Kuhn
15:17
<asmodai>
cute: http://www.touchtrigonometry.org/
15:17
<Workshiva>
A Nobel Prize winner, I guess that counts as famous
15:18
<karlcow>
asmodai: nice!
15:35
<asmodai>
You see the flash dumping happening all over
15:35
<asmodai>
interesting to see the uptake
18:00
<Hixie>
is marcos around?
18:01
<Hixie>
ah, he's in #webapps
18:48
<jcranmer>
out of curiosity
18:48
<Hixie>
yes?
18:48
<jcranmer>
if I do <a>foo<span>bar</a>baz</span>
18:48
<jcranmer>
what happens?
18:48
<Hixie>
per spec?
18:49
<jcranmer>
<!DOCTYPE html>, so yes
18:49
<Hixie>
the doctype doesn't affect this i think
18:49
<Hixie>
http://software.hixie.ch/utilities/js/live-dom-viewer/?%20%3Ca%3Efoo%3Cspan%3Ebar%3C%2Fa%3Ebaz%3C%2Fspan%3E
18:49
<Hixie>
test it in webkit or firefox, they implement the spec
18:49
<jcranmer>
i.e., do both bar and baz get styled with the span and foo and bar get the link?
18:50
<Hixie>
the resulting document has one <span> and it contains just "bar"
18:50
<Hixie>
note that <a> is particularly special here
18:50
<Hixie>
and you'll get different results if you replace it with <b>, for example
18:51
<Hixie>
also different results if you replace the <span> with <div>, say
18:51
<zcorpan>
Hixie: there's no difference between <a> and <b> here
18:51
<jcranmer>
damn
18:52
<Hixie>
oh right, <a>'s specialness is when you nest <a>s
18:52
<zcorpan>
jcranmer: http://www.whatwg.org/specs/web-apps/current-work/complete/the-end.html#an-introduction-to-error-handling-and-strange-cases-in-the-parser
18:52
<Hixie>
you'll get different results if you change <a> to <Span> and <Span> to <div>?
18:52
<jcranmer>
oh well
18:53
<jcranmer>
well, I need the <a> to stay an <a>
18:53
<Hixie>
anyway my point is just that that general pattern can give various results depending on the element in question
18:53
<Hixie>
what's the context of your question?
18:53
<jcranmer>
basically, I'm trying to refactor this code2html utility I'm writing
18:54
<jcranmer>
so I get syntax highlighting as regions and link objects also as regions
18:54
<Hixie>
ah
18:54
<jcranmer>
I'm not sure I care about partially overlapping syntax highlighting/linkificaiton
18:54
<Hixie>
yeah you definitely don't want to rely on weird parsing behaviours here
18:55
<Hixie>
they're invalid for a reason :-)
18:55
<jcranmer>
since that would be somebody's bug
18:55
<Hixie>
the best bet when doing docs with two overlapping ranges is to wrap one set of ranges normally, and then do the second set at the fine-grained level by rewrapping just the text nodes for the second set
18:56
<jcranmer>
but links can be entirely within sytanx regions (i.e., an http in a comment) or syntax regions can be entirely within links (i.e., quallified namespaces)
18:56
<Hixie>
e.g. if you have hel(lo[ pret)ty wor]ld
18:56
<jcranmer>
I'm not sure I have a case where a link and syntax region partially overlap...
18:56
<Hixie>
you'd do "hel<span>lo pret</span> world" first
18:56
<Hixie>
and then (using <b>s for the sake of clarity:
18:57
<Hixie>
"hel<span>lo<b> pret</b></span><b> wor</b>ld" second
18:57
<jcranmer>
I've noticed s/span/b/g changes the resulting dom to do the logically right thing for my use case
18:57
<Hixie>
if you have more than two sets of ranges, you're best off just dealing with ranges individually, as in:
18:58
<Hixie>
"hel<span class="a">lo</span><span class="a b"> pret</span><span class="b"> wor</span>ld"
18:58
<Hixie>
hth
18:58
<jcranmer>
I was just wondering if the corner cases would have worked even if I didn't look for them
19:30
<scor>
is there a way to have multiple tokens in an @itemtype? @itemprop seems to allow it, @itemtype doesn't it seems...
19:48
<Hixie>
scor: what would it mean?
19:48
<Hixie>
scor: or rather, how would you know which vocabulary's terms you were using?
20:05
<mpilgrim>
ok, i have a bunch of IndexedDB properties that are defined "readonly" per their WebIDL
20:05
<mpilgrim>
what should happen when I try to set those properties from JavaScript?
20:05
<zcorpan>
mpilgrim: my favorite
20:05
<mpilgrim>
"An object that implements the interface on which a read only attribute is defined will not allow assignment to that attribute. It is language binding specific whether assignment is simply disallowed by the language, ignored or an exception is thrown."
20:05
<Ms2ger>
Fail silently, and throw in strict mode
20:05
<zcorpan>
what Ms2ger said
20:05
<mpilgrim>
which browsers support strict mode?
20:05
<Ms2ger>
Fx
20:06
<Ms2ger>
Chrome too, I think?
20:06
<gsnedders>
Chrome doesn't
20:06
<gsnedders>
WebKit nightlies do
20:06
<gsnedders>
IE10 Preview does
20:07
<mpilgrim>
wow, chrome is behind IE in something?
20:07
<mpilgrim>
we live in interesting times
20:07
<mpilgrim>
i have a webkit nightly
20:07
<mpilgrim>
how would I check for strict mode?
20:08
<Ms2ger>
<script>"use strict"; try { global = "" } catch(e) { // In strict mode }</script>
20:08
<gsnedders>
or function is_strict() { return !this; }
20:08
<gsnedders>
Uh, with "use strict";
20:09
Ms2ger
never understood that
20:09
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1024
20:09
<gsnedders>
Ms2ger: calling a function as foo() passes the global object as the this argument in non-strict, and null in strict mode.
20:10
<Ms2ger>
So, Chrome fails your test and passes mine, apparently
20:11
<zcorpan>
you mean chrome has a half implementation of a feature? how surprising
20:11
gsnedders
facepalms
20:11
<Ms2ger>
Also, passe zcorpan's
20:11
<Ms2ger>
+s
20:13
<Ms2ger>
Speaking of strict mode, should "onload = function() {..}" be allowed?
20:13
<gsnedders>
Ms2ger: onload should already be defined, so it's not a new variable reference.
20:14
<gsnedders>
Ms2ger: (i.e., "onload" is already a defined variable)
20:14
<zcorpan>
another editor will save websockets
20:14
<Ms2ger>
Then I seem to recall Chrome being wrong
20:15
<zcorpan>
gsnedders: onload is a property, not a variable, right?
20:15
<gsnedders>
zcorpan: It's a property on the global object
20:16
<gsnedders>
zcorpan: variables just define properties on the global object in the global scope
20:19
<scor>
Hixie: imagine I want to say that a item is both an Article and a NewsArticle (using schema.org as example here)
20:21
<TabAtkins_>
mpilgrim: We're implementing Strict, we just haven't gotten it quite shippable yet.
20:22
<mpilgrim>
yeah, that's fine
20:23
<mpilgrim>
i'll make do with non-strict mode
20:23
<mpilgrim>
so the proper behavior in non-strict mode is to fail silently when setting a readonly property?
20:23
<zcorpan>
TabAtkins: i hope the impl is complete when it ships
20:24
<Ms2ger>
Yes
20:24
<mpilgrim>
ok, i can test that
20:24
<mpilgrim>
thanks
20:24
<gsnedders>
readonly? That *so* ES3. [[Writable]]: false.
20:24
<gsnedders>
:P
20:25
<Ms2ger>
It's rather WebIDL ;)
20:25
<zcorpan>
Ms2ger: webidl doesn't have readonly properties!
20:25
<Ms2ger>
It has attributes
20:26
<gsnedders>
WebIDL doesn't define how to fail when setting it, though. That depends upon the language binding, which defines it by reference to ECMA262.
20:49
<Hixie>
scor: aren't all NewsArticles Articles?
20:49
<scor>
Hixie: yes, in this case it's true, but imagine they were not
20:50
<Hixie>
can you give an example that actually represents the case you're thinking of? :-)
20:50
<scor>
or imagine a consumer expect Article, and the page uses NewsArticle
20:50
<Hixie>
fix the consumer. or the page.
20:50
<scor>
and the consumer is not smart enough to infer that they are the same type
20:51
<Hixie>
it's not a matter of being smart, it's a matter of how the vocabularies are defined
20:51
<Hixie>
if NewsArticle says that it's an Article, it's an Article
20:51
<scor>
ok, maybe a different example where you would want to use totally different vocabularies
20:51
<Hixie>
and the consumer should implement the spec
20:51
<Hixie>
can you give a concrete example? it's hard to argue hypotheticals
20:51
<scor>
Hixie: where would it say that NewsArticle is also Article?
20:51
<scor>
in the vocabulary?
20:51
<Hixie>
in the spec for NewsArticle
20:51
<scor>
oh, it's possible to model such relationships?
20:52
<scor>
note that I would not want to hard code this logic in my app, but rather use what ever hierarchy is defined in the vocab
20:52
<Hixie>
You just write, in the spec, "User agents must treat all items that are NewsArticles as also being Articles"
20:52
<Hixie>
or whatever it is you want to say
20:53
<scor>
Hixie: ok, but I write this in HTML, how do I write this in a format that my app can understand
20:54
<scor>
ok, here is an example taken from the spec for @itemprop: <h1 itemprop="name http://example.com/fn">Hedral</h1>;
20:54
<Hixie>
how do you mean?
20:54
<Hixie>
what's your app?
20:54
<Hixie>
i'm confused
20:55
<Hixie>
the app has to implement these vocabularies, right? so wherever you implement the vocabulary, you make it support the spec that defines the vocab
20:55
<scor>
could I write <h1 itemprop="http://vocab.org/TypeA http://example.com/SomeTypeB">;
20:55
<Hixie>
not per the current spec, no
20:55
<scor>
sorry let me rewrite the ex.
20:55
<Hixie>
but i don't know why you would want to do that
20:55
<Hixie>
or what it would mean
20:55
<Hixie>
(processing-wise)
20:55
<scor>
<div itemtype="http://vocab.org/TypeA http://example.com/SomeTypeB">;
20:56
<scor>
(ignore the hierarchy thing for a min ;) )
20:56
<scor>
only look at the last example
20:56
<Hixie>
ok
20:57
<scor>
I defined two type, e.g. this could be for two different vocabulary, schema.org and Facebook for the second
20:57
<scor>
does that make more sense
20:57
<Hixie>
what doesn't make sense is why you would make one item be two things
20:57
<Hixie>
it would be like having one element be both a <p> and an <ol>
20:58
<scor>
well, because Facebook and schema.org will not expect/understand the same types
20:58
<scor>
they each expect to find their own type
20:58
<Hixie>
so have two items
20:58
<scor>
otherwise they ignore you
20:58
<Hixie>
if you make them the same item, how would you know what the properties meant?
20:58
<Hixie>
say you had:
20:58
<scor>
but I do not want to repeat HTML content!
20:59
<Hixie>
<div itemscope itemtype="http://example.com/school http://example.com/socioeconomic">; <span itemprop=class>A</span> </div>
20:59
<Hixie>
and suppose the http://example.com/school vocabulary defines itemprop=class as defining the name of a classroom
20:59
<Hixie>
and http://example.com/socioeconomic defines itemprop=class as defining the name of a socioeconomic level (poor, rich, etc)
20:59
<Hixie>
what does the page mean?
21:01
<scor>
well, you would not use that ambigious token in itemprop, but the full URLs instead
21:02
<scor>
note you would be dealing with two different domain names
21:03
<scor>
let me wip up the complete example
21:04
<scor>
let's use this one:
21:04
<scor>
<div itemscope itemtype="http://schema.org/School http://facebook.com/School">;
21:04
<scor>
<span itemprop="http://schema.org/classname http://facebook.com/class">A</span>;
21:04
<scor>
</div>
21:05
<scor>
Hixie: now, @itemprop is valid I believe, but is @itemtype valid like that?
21:05
<Hixie>
you're not answering the question... what if the two vocabularies both defined "class", and you use it? you can't just say "don't do that". We have to define what it means if someone does it anyway.
21:05
<scor>
I agree, so the @itemtype is limited to one for avoiding that problem, right?
21:05
<scor>
one token
21:09
<Hixie>
yes
21:12
<scor>
thanks Hixie, that's what I wanted to know - sorry for the somewhat lengthy/confusing questions :)
21:12
<zcorpan>
anyone know how filesaver is supposed to work? surely the user has to choose a folder at some point? http://forums.whatwg.org/bb3/viewtopic.php?f=3&t=4650
21:15
<zcorpan>
scor: you can do http://foolip.org/microdatajs/live/?html=%3Cdiv%20itemscope%20itemtype%3D%22http%3A%2F%2Fschema.org%2FSchool%22%20itemref%3Da%3E%3C%2Fdiv%3E%0A%3Cdiv%20itemscope%20itemtype%3D%22http%3A%2F%2Ffacebook.com%2FSchool%22%20itemref%3Da%3E%3C%2Fdiv%3E%0A%3Cspan%20id%3Da%20itemprop%3D%22http%3A%2F%2Fschema.org%2Fclassname%20http%3A%2F%2Ffacebook.com%2Fclass%22%3EA%3C%2Fspan%3E
21:16
<scor>
zcorpan: oh, thanks! looks like complicated markup though, but I guess that's the only way
21:17
<zcorpan>
though i guess the vocabularies wouldn't allow itemprops from other vocabularies like that
21:17
<scor>
zcorpan: why not?
21:17
<scor>
are they required to exist at all anyway?
21:18
<zcorpan>
well they could allow it, but i think in general vocabularies would ban anything "unknown"
21:18
<scor>
afaik, you could even make up your own property names
21:18
<scor>
zcorpan: interesting, but the document would still validate at the HTML5 level right?
21:18
<zcorpan>
yeah
21:19
<scor>
it's just if whatever application checks that all property name exist and refuse to work if it does not find the property in the vocab
21:19
<scor>
but there is no built validation like that
21:19
<scor>
in HTML5 microdata parsing
21:21
<zcorpan>
foolip: feature request: save feature for short urls :)
21:21
<scor>
lol
22:49
<roc>
foolip: ping?