00:31
<annevk>
seems some people commented on the article while I was out :)
00:43
<Hixie>
?
02:57
<Hixie>
heycam: what do i need to set [PrototypeRoot] on?
02:57
<Hixie>
heycam: do i need it on things like HTMLCollection or MediaError?
02:57
<Hixie>
(things that i expect to have interface objects but that have no ancestors?)
02:59
<Hixie>
heycam: i'm not sure it makes sense to have
02:59
<Hixie>
[ImplementedOn=Node]
02:59
<Hixie>
interface EventTarget
02:59
<heycam>
things that have no ancestors, but which you expect will have descendants, and objects of which will also implement mixins
02:59
<Hixie>
...given that EventTarget is implemented on many other objects
02:59
<Hixie>
ah ok
02:59
<heycam>
Hixie, do you think it should be the other way around?
03:00
<Hixie>
i don't know that it can be either way around
03:00
<heycam>
mm
03:00
<Hixie>
spec wise, it happens both ways
03:00
<Hixie>
e.g. EventTarget was defined after Node but before XMLHttpRequest
03:00
<Hixie>
but it's implemented on both
03:00
<Hixie>
(my history might be wrong there but you get the idea)
03:01
<Hixie>
maybe it makes more sense to have something like PrototypeRoot
03:01
<Hixie>
"i expect to have things say that they are implemented on me"
03:02
<Hixie>
maybe in fact it can replace PrototypeRoot, since you can work out if it's a _Root_ by seeing if it is, well, a root.
03:02
<Hixie>
i may be talking nonsense.
03:04
<Hixie>
heycam: it appears i just set "NoInterfaceObject" on objects that i don't expect to have unique prototype objects or that i expect to have implemented on other objects
03:04
<Hixie>
(i also set it on interfaces that are to be implemented by the author)
03:04
<heycam>
it's not that they don't have unique prototype objects
03:04
<heycam>
just that they aren't exposed through a property on the window object
03:05
<heycam>
so it really just means "don't put that property on the window object"
03:05
<Hixie>
[ImplementedOn] basically means it doesn't have a unique prototype object, no?
03:07
<heycam>
er, lemme think a minute =)
03:07
<Hixie>
:-)
03:08
<heycam>
[ImplementedOn] would cause properties from that interface to be in the prototype chain on a special mixin prototype object, that gathers all of the mixins together
03:09
<heycam>
so yes, there wouldn't be a unique prototype object
03:09
<Hixie>
ok so for those objects, i currently (also) set NoInterfaceObject
03:09
<heycam>
ok, that makes sense, because you otherwise would think you're affecting the prototype when you're not
03:09
<heycam>
does any browser expose EventTarget.prototype?
03:10
<heycam>
and have it do what you might think it does?
03:10
<Hixie>
and i'm not sure that it's useful to set ImplementedOn= on them, since often those interfaces are implemented on multiple different objects, and that's why i have them as separate interfaces in the first place
03:10
<Hixie>
i have no idea
03:10
<Hixie>
right now i have no useful testable browsers in front of me
03:11
<heycam>
iirc, using [ImplementedOn] would cause fewer mixin prototype objects to exist
03:12
<Hixie>
well how do i say that NavigatorID is implemented on both HTML5's Navigator and Web Workers' Navigator?
03:13
<Hixie>
(especially given that i don't want to mention workers in html5)
03:13
<heycam>
yeah, that's a problem, i see
03:14
<heycam>
i don't know for sure if the current prototype chain stuff required by web idl is acceptable to everyone
03:14
<heycam>
assuming it is, and that there is a good reason to have mixin prototype objects that are distinct from the "host object mixin prototype objects"...
03:14
<heycam>
... then would it make sense to also have a [Implements]?
03:14
<heycam>
to indicate the reverse of [ImplementedOn]?
03:15
<heycam>
you know, you could just use inheritance
03:15
<Hixie>
it would make the idl blocks strangely organisation-biased
03:15
<Hixie>
i'd rather have a totally separate mechanism for declaring it outside of an interface
03:15
<Hixie>
e.g. the way that a multimethod is declared independently of either interface in languages that have multimethods
03:16
<Hixie>
(or just have it in prose)
03:16
<Hixie>
on a different note, is there say way to say "i just want this interface to literally be implemented by that other interface in certain cases"?
03:16
<heycam>
yeah, so the downside of declaring that in prose is that you wouldn't be able to just use a tool that parses the idl and generates appropriate prototype chain code
03:16
<Hixie>
e.g. WindowModal vs Window
03:17
<Hixie>
basically i want WindowModal to look exactly like Window, just with two additional attributes
03:17
<Hixie>
class name should be Window
03:17
<Hixie>
everything should look like it's a Window
03:17
<Hixie>
it just needs to have two additional attributes
03:17
<heycam>
hmm
03:17
<heycam>
no, there's no way of doing that currently
03:17
<Hixie>
there's never both a Window and a WindowModal
03:17
<Hixie>
basically the global object is one or the other
03:18
<heycam>
why not make WindowModal inherit from Window?
03:18
<heycam>
you don't want the prototypes set up that way?
03:18
<Hixie>
i don't want to expose the word WindowModal
03:18
<Hixie>
nor have any extra prototypes
03:18
<Hixie>
a similar but not identical case: i have to split the definition of HTMLDocument into two, for various reasons, defined in different specs (or different chapters, at least).
03:19
<Hixie>
how do i say that the two IDL blocks should be treated as the same IDL block split in two?
03:20
<heycam>
for the WindowModal thing, inheritance sounds like the right solution. if you don't want separate prototypes then i suppose something could be introduced to force it to be "flattened" into one, and to be able to control [[Class]].
03:21
<heycam>
that, or duplicate the interface and still have something that can control [[Class]]
03:21
<heycam>
for the two IDL blocks, is this for the bgColor stuff etc.?
03:22
<Hixie>
yeah
03:22
<MikeSmith>
doublec (or anybody): do you have a local copy of the OMS PDF you could post somewhere, at least temporarily?
03:22
<Hixie>
just mailed you these three topics as remineders
03:22
<Hixie>
i have to go eat
03:22
<MikeSmith>
http://www.openmediacommons.org/ doesn't seem to be responding
03:22
<heycam>
Hixie, ok thanks
03:24
<Hixie>
looks like i don't have any interfaces that should have PrototypeRoot, fwiw
03:24
<doublec>
MikeSmith, yep
03:24
<doublec>
I'll get the url
03:24
<heycam>
Hixie, yeah i'd expect them to be in the DOM specs
03:24
<Hixie>
EventTarget and Node seem like the only obvious ones
03:25
<doublec>
MikeSmith, http://www.bluishcoder.co.nz/OMS-video-v0.9.pdf
03:25
<heycam>
yeah
03:25
<heycam>
no..
03:25
<heycam>
EventTarget isn't a prototyperoot
03:25
<heycam>
Node is
03:25
<Hixie>
oh?
03:25
<Hixie>
oh
03:25
<Hixie>
right
03:25
<MikeSmith>
doublec: thanks very much
03:25
<heycam>
because you want EventTarget to be one of the mixins
03:25
<Hixie>
yeah
03:25
<Hixie>
i have things that then get implemented by EventTarget
03:25
<Hixie>
which confused me
03:26
<Hixie>
RemoteEventTarget is implemented by anything that implements EventTarget
03:26
<Hixie>
and right now has an ImplementedOn=EventTarget decorator
03:26
<Hixie>
hope that doesn't confuse WebIDL too much!
03:26
<heycam>
that.. makes sense doesn't it?
03:27
<Hixie>
i hope so, i haven't read that part of webidl carefully
03:27
<heycam>
[ImplementedOn=A] interface B; basically should just mean "if a host object implements A, then it also implements B."
03:27
<heycam>
perhaps i should write up at one point what's currently specced wrt prototype chains separately from Web IDL, so that the general idea can be reviewed more easily
03:28
<Hixie>
does it define where the mixins slide in on teh chain?
03:28
<heycam>
it's the most speculative part of the spec
03:28
<Hixie>
heh
03:28
<heycam>
yes it does
03:28
<Hixie>
ok
03:28
<Hixie>
then it should be fine
03:28
<heycam>
but it defines something that no browser currently implements =)
03:28
<Hixie>
yeah well
03:29
<Hixie>
right. going afk for food.
03:29
<heycam>
i'm probably a bit busy for web idl work over the next couple of weeks, so i'll probably not get to your requests until later
03:30
<Hixie>
k
03:47
<heycam>
btw i like the term "WebIDLize" :)
04:14
<BenMillard>
just saw this about "Updated Getter/Setter Syntax in IE8 RC 1" on the IE Blog: http://blogs.msdn.com/ie/archive/2009/01/13/responding-to-change-updated-getter-setter-syntax-in-ie8-rc-1.aspx
04:18
<BenMillard>
JSON compatibility, DOM prototypes, "embracing ECMAScript 3.1"
07:30
<hsivonen>
Is there an implementation of OMS Video? How does it compare to Theora?
07:38
<MikeSmith>
hsivonen: I don't think there are any implementations of OMS Video yet
07:38
<MikeSmith>
But I would suspect that Sun is working on some kind of reference implementation
07:39
<hsivonen>
ok.
07:39
<hsivonen>
anyway, great to see that IBM's patents on arithmetic coding have been expiring lately. OMS and Dirac both use arithmetic coding.
07:40
<hsivonen>
but I guess JPEGs will be Huffman coded forever due to backward compat anyway :-/
07:44
<hsivonen>
two new TAG participants: John Kemp (Nokia) and Larry Masinter (Adobe)
07:44
<MikeSmith>
yep
07:53
<MikeSmith>
hsivonen: btw, have you ever come across the "Element “html” from namespace “http://www.w3.org/1999/xhtml” not allowed in this context." errors for your test files tests/html5full-html/valid/002.xhtml and so on ?
07:53
<MikeSmith>
I'm trying to figure out if it's a local problem in my environment, or a known issue.
07:58
<hsivonen>
MikeSmith: I don't see that here.
07:58
<hsivonen>
But now I do see one unrelated test failure...
08:01
<MikeSmith>
hsivonen: hmm, maybe I should check out a fresh local copy and build from that
08:25
<Hixie>
heycam: can i put [Optional] in [NamedConstructor] decorators, or should I just list the overloads?
09:07
<hsivonen>
http://www.sans.org/top25errors/ contains errors relevant to the usual HTML/RSS/XML bozoness
09:07
Hixie
eyes http://trac.webkit.org/export/39885/trunk/LayoutTests/fast/forms/old-names.html suspiciously
09:08
<Hixie>
that looks uncanningly like a massive rathole of pain that i'm going to be forced down
09:10
<Hixie>
hsivonen: 3, 4, and 5 are all specific occurances of 2
09:10
<hsivonen>
Hixie: indeed.
09:11
<hsivonen>
Hixie: is there a reason why there's a separate parser pause flag instead of comparing script nesting to zero?
09:12
<Hixie>
yes
09:12
<Hixie>
you don't set it to true if the nesting is non-zero
09:12
<Hixie>
you only set it to true once you run into one of hte situations where you're waiting for a pending script, iirc
09:12
<Hixie>
and then it stays true until you wind back down to false
09:12
<Hixie>
er
09:13
<Hixie>
back down to zero
09:13
<hsivonen>
Hixie: is that something that's likely to stay or something that Opera and Apple asked you to rewrite?
09:13
<Hixie>
this doesn't have anything to do with the issue you are aluding to
09:13
<Hixie>
so likely to stay
09:14
<hsivonen>
Hixie: ok. thanks
09:14
<Hixie>
(the issue in question is to do with calling scripts in a document that isn't the active document, or in a document on which document.open() has been called)
09:14
<Hixie>
i.e. the bits that currently freeze the "script group".
09:15
<hsivonen>
ah
09:15
<hsivonen>
interestingly, Gecko has managed over ten years without the nested script counter
09:15
<hsivonen>
it was added sometime between October and mid-December last year
09:15
<Hixie>
how does it handle this case then?
09:15
<hsivonen>
Hixie: I don't know.
09:16
<Hixie>
heh
09:16
<hsivonen>
it now has a nested script counter for *some* purpose
09:16
<Hixie>
this can also be implemented by resetting the flag at the outer event loop or something like that
09:16
<Hixie>
kind of an implied counter
09:17
<Hixie>
i wonder if i can someone convince heycam that webidl should support this http://trac.webkit.org/export/39885/trunk/LayoutTests/fast/forms/old-names.html nonsense natively
09:25
<zcorpan>
https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=333905
09:25
zcorpan
ponders
09:26
<zcorpan>
vml is used to implement canvas and svg in ie with js
09:27
<zcorpan>
seems to work in the "rc1" build though
09:32
<hsivonen>
zcorpan: the connect.microsoft page seems to be secret
09:36
<zcorpan>
hsivonen: vml didn't work in ie8b1 in ie8 mode
09:36
<zcorpan>
only in ie7 mode
09:36
<annevk>
Hixie, DOMString <span title="dom-canvas-toDataURL">toDataURL</span>([Optional] in DOMString type, [Variadic] in any args); seems wrong
09:37
<annevk>
Hixie, because that would mean the [Variadic] could be the first argument as well which is not true
09:37
<Hixie>
your understanding of WebIDL is wrong
09:38
<annevk>
ok
09:39
<Hixie>
:-)
09:57
<heycam>
Hixie, you can use [Optional] in the [NamedConstructor]
09:57
<heycam>
use whichever you think looks nicer of that and the overloads
09:58
heycam
"o_O"s at the .../forms/old-names.html thing
09:59
<heycam>
Hixie, but you should be able to define that yourself just by stating which named properties exist at a given time
09:59
<annevk>
so [Optional] means omit this and all arguments following this?
09:59
<heycam>
annevk, yep
09:59
<heycam>
counterintuitive?
09:59
<Hixie>
heycam: k. i'll avoid the nested decorators for now. might change it later.
10:00
<Hixie>
heycam: oh i know i can define it myself. just hoping i can get out of it :-D
10:00
<heycam>
heh
10:00
<annevk>
heycam, seems fine, was slightly confused at first
10:00
<Hixie>
re [optional], i think it's the behavior we want, the name maybe could be better
10:00
<Hixie>
not sure what to suggest though
10:00
<heycam>
[ThisAndTheRestOfTheArgumentsCanBeOmitted]
10:04
<Philip`>
toDataURL(Optional [ in DOMString type, [Variadic] in any args ])
10:05
<annevk>
that might not be compatible with OMG IDL, but I dunno really
10:07
zcorpan
thinks [Optional] is fine
10:09
<Philip`>
Is compatibility with OMG IDL important?
10:09
<annevk>
Hixie, Web Workers twitter messages don't link to http://html5.org/tools/web-workers-tracker
10:12
<zcorpan>
Hixie: shouldn't open</span>([Optional] in DOMString type, in DOMString replace); be open</span>([Optional] in DOMString type, [Optional] in DOMString replace); ?
10:13
<Hixie>
annevk: what do they link to?
10:13
<Hixie>
zcorpan: which open is this?
10:14
<zcorpan>
+ <span>HTMLDocument</span> <span title="dom-document-open">open</span>([Optional] in DOMString type, in DOMString replace);
10:14
<annevk>
Hixie, they link to the Web Workers draft
10:17
<Hixie>
annevk: fixed (i'd commented out the right link since you hadn't set it up yet)
10:18
<Hixie>
you'll be glad to know that with Web Sockets I am just reusing HTML5's infrastructure (and extracing the docs straight out of the HTML5 source) so that there's no need for yet another tracker
10:19
annevk
wonders why the ECMAScript comittee decided to change getter/setter syntax; http://blogs.msdn.com/ie/archive/2009/01/13/responding-to-change-updated-getter-setter-syntax-in-ie8-rc-1.aspx seems like an interop disaster rather than being helpful, but maybe I'm missing something
10:19
<Hixie>
zcorpan: thanks fixed
10:19
<annevk>
Hixie, setting up trackers is easy now, just a one line file ;)
10:19
<Hixie>
heh
10:24
<heycam>
Philip`, it's likely much less important than i thought it would be at the outset
10:26
<zcorpan>
toDataURL([in DOMString type, *[in any args]])
10:27
<heycam>
that's compatible syntax, but less usefully compatible
10:29
<hsivonen>
It's interesting how Mozilla, Opera and Google can get away with shipping wrong-sized browser app icons for Vista and Windows 7
10:29
<hsivonen>
If someone tried to ship OS X apps with wrong-sized icons, users would reject such an app
10:31
<hsivonen>
also, installers still show an occasional Windows 3.1-era icon under Windows 7...
11:04
<hsivonen>
jgraham: html5lib-discuss google group has two spam files uploaded to it. They direct the browser to somewhere that is blocked as attack sites in Firefox.
11:13
<jgraham>
hsivonen: Fixed. Thanks
11:56
Hixie
adds another example of extension to the FAQ
12:07
<annevk>
can someone explain to me when you use "same origin" and when you use "non same origin"?
12:08
<annevk>
sorry
12:08
<zcorpan>
Hixie: http://validator.whatwg.org/ has the old name of hsivonen's service
12:08
<annevk>
when you use "same origin" and when you use "same-origin"
12:09
<Hixie>
you use "same origin" when "origin" is the last word in the phrase, and "same-origin" when that forms a single adjective form for another noun.
12:09
<Hixie>
so "this is the same origin" and "this is the same-origin policy"
12:09
<annevk>
great, thanks
12:10
<Hixie>
zcorpan: fixed
12:23
<annevk>
does the same apply to "server side"?
12:24
<annevk>
google says it does
12:35
<zcorpan>
Hixie: we're probably going to keep our pixelratio impl
12:42
<annevk>
shouldn't HTML5 say "in an ASCII case-... manner" rather than "in a ASCII case-... manner"?
12:42
<annevk>
i.e. an vs a
12:49
jgraham
gets confused when an email entitled "250 years of Robert Burns" turns out to be about the Scottish poet
13:04
<annevk>
hmm, finds "WebSocket is cross-origin." shouldn't cross-origin there have been without the dash?
13:04
<annevk>
having to edit a technical spec with terms that are not in common usage in English sucks
13:06
<annevk>
http://en.wikipedia.org/wiki/Same_origin_policy ...
13:07
<zcorpan>
i seem to remember chaals saying that there were no rules and people do it both ways
13:07
<annevk>
yeah, that might be correct
13:10
<annevk>
http://en.wikipedia.org/wiki/Hyphen#Compound_modifiers has advice
13:11
<hsivonen>
zcorpan: The Chicago Manual of Style has rules
13:11
<annevk>
it seems you can do it safely without for same origin and cross origin
13:11
<hsivonen>
albeit the rules have a weird thing
13:12
<hsivonen>
CMoS says it's Civil War–era rather than Civil War-era
13:12
<hsivonen>
en dash vs. hyphen
13:12
<annevk>
which would make the name of the spec "Cross Origin Resource Sharing"
13:12
<annevk>
yeah, Wikipedia has a bunch of that stuff too
13:13
<annevk>
which seems fine, since Cross does not modify Resource or Sharing in any way, right..?
13:13
<hsivonen>
I'd have written Cross-Origin Resource Sharing
13:13
<hsivonen>
but I don't have a specific rule to appeal to
13:14
<annevk>
i'd like to either consistently use a hyphen or consistently not or have a rule that says when to use it and when not
13:14
<annevk>
and have it somehow made clear when that rule applies and when not...
13:20
<annevk>
I'll do cross origin and same origin for now, point that out on the list when I've done my edits and ask for advice there so someone can bikeshed it and everyone can be happy
13:21
<annevk>
actually, never mind, it's going to be too much of a hassle
13:28
<BenMillard>
annevk2, "Cross Origin Resource Sharing" mean "Angry Origin Resource Sharing". :)
13:28
<annevk>
fair enough
13:28
<annevk>
I'm annevk again btw, not annevk2 :p
13:29
<BenMillard>
annevk, oops, legacy content problem
13:29
<annevk>
fortunately I'm more HTML than XML; maybe even more flexible, as I don't think <html2> means <html> in any user agent
13:30
<BenMillard>
fwiw, cross-threaded describes when a nut and bolt are misaligned, or the lid for a bottle
13:30
<BenMillard>
so there's a precedent for cross-something
13:32
<BenMillard>
cross-ply tyres have a structure which goes back and forth and is stacked up in layers
13:33
<Philip`>
There's cross-examining and cross-checking etc too
13:34
<BenMillard>
Philip`, oh yeah...I guess there's a whole class of cross-something compounds as a precedent for cross-origin.
13:34
<Philip`>
but those probably aren't relevant since they're not used as adjectives
13:36
<Philip`>
or maybe they're not relevant because the adjectival form (cross-examined etc) is a normal adjective prefixed by "cross-"
13:37
<Philip`>
whereas "origin" is never an adjective, so "cross-" is not just a modifier of that word; it's making a whole new word instead
13:38
<hsivonen>
this is going to be a major game-changer: http://arstechnica.com/news.ars/post/20090114-nokia-qt-lgpl-switch-huge-win-for-cross-platform-development.html
13:38
<annevk>
you guys should review my drafts for spelling :)
13:39
<Philip`>
annevk: What value would be added to your documents by having them spell-checked?
13:40
<Philip`>
(There's no point spending much effort being correct solely out of a desire to be correct :-) )
13:41
<Lachy_>
annevk, I don't really see the problem with the current name. Though I don't really care that much if it's renamed
13:41
<annevk>
k
13:42
<BenMillard>
annevk, you could use a spelling checker? (If your HTML editor doesn't do spell checking, you can copy-paste the text into a word processor, then correct the source from what the word processor finds.)
13:42
<annevk>
Philip`, less room for ambigiuity, as BenMillard pointed out
13:42
<annevk>
BenMillard, I suppose...
13:42
<BenMillard>
only worth doing that once it's pretty stable, though
13:42
<hsivonen>
are there any good open-source English grammar checkers?
13:44
<Philip`>
hsivonen: LGPL Qt sounds pretty nice - I couldn't find any alternatives to wxWidgets when writing a GUI for a not-quite-open-source project, so it's good if Qt is now usable in those situations
13:47
<hsivonen>
I wonder what the chances of getting a unified Linux desktop are now
13:48
<annevk>
well, with Android underway, having just one is not quite going to happen I think
13:48
<annevk>
though maybe Android will never be for desktop despite the rumors
13:49
<BenMillard>
hsivonen, some Googling reveals a couple of open source grammar checkers but both were 0.x rather than 1.x versions. Also found this rather pessimistic description about the lack of success in this area: http://faq.cooldictionary.com/english-grammar-checker.php
13:49
<Philip`>
hsivonen: Things seem to be moving in the opposite direction - I have Gtk applications, Qt3 applications and Qt4 applications
13:50
<hsivonen>
BenMillard: thanks
13:51
<hsivonen>
annevk: is Android's GUI toolkit on the Java layer on the one below?
13:51
Philip`
supposes it'd be easy to argue that grammar checkers destroy our language, by discouraging anyone from writing anything interesting and non-formulaic
13:51
<annevk>
on the (fake) Java layer
13:51
<annevk>
afaik
13:51
<hsivonen>
I see.
13:51
<annevk>
that was the "disadvantage" of it, all popular Linux apps wouldn't run on it
13:52
<annevk>
at least according to the articles I read; and given what they write about HTML5, I'm somewhat suspicious :p
13:52
<BenMillard>
lol
13:53
<BenMillard>
I'm getting used to the Google icon, but for some reason I keep thinking it's for organic milk or fruit juice or something of that ilk...maybe that's a good look to have captured.
13:53
<BenMillard>
those things are the epitomy of not being evil, after all
13:54
<BenMillard>
oh, maybe the reason is dark green along the bottom and bright blue along the top
13:54
<BenMillard>
I guess the red is like a sunset and the yellow like a corn field, too
13:55
<Lachy_>
BenMillard, I still hate the google icon. Though I find it funny that it looks like a slightly warped version of the AVG icon rotated 90˚ and the Windows icon rotated 180˚
13:55
annevk
likes it a lot more than the blue one
13:56
<annevk>
it's highly visible and different from other favicons
13:57
<Lachy_>
I preferred the blue g over the current icon, though liked their original one with the G in the box with coloured sides better
13:57
<Philip`>
The G in the box looks very old-fashioned to me
13:57
<BenMillard>
the new one has rounded corners! it's web 2.0!
13:58
<BenMillard>
the blue lowercase g was lame
13:59
<Lachy_>
the "Favicon Mobile" version of that was better http://4.bp.blogspot.com/_7ZYqYi4xigk/SEnKfGpULuI/AAAAAAAAApw/2AqOUkg2Dz0/s1600-h/favicon_family.jpg
13:59
<BenMillard>
Lachy, those are nice, but at 16x16 in Firefox 2 it was lame. :)
14:02
<Philip`>
They should use an animated GIF as the favicon
14:21
<annevk>
twitter has this expansion function for URLs but you still have to go through the shorter URL service after expanding...
14:59
<annevk>
the IE getter and setter stuff is completely different it seems
14:59
<annevk>
http://ajaxian.com/archives/next-ie-8-release-candidate-to-have-updated-gettersetter-support-and-dom-prototypes seems toally incompatible with http://ejohn.org/blog/javascript-getters-and-setters/
15:05
<Philip`>
"do we [...] pursue implementing the ECMAScript 3.1 getter/setter API for the DOM, or do we ship what we have [i.e. the de factor API that is mutually supported by several other major browsers and programming environments] and tackle the ECMAScript 3.1 API in a future release?
15:05
<Philip`>
"The answer really came down to what was best for the web developer; they need interoperability and by ensuring that we support getters/setters as outlined in ECMAScript 3.1, we help deliver that interoperability in the long-term."
15:05
<Philip`>
Web developers need interoperability, and so IE chooses to ship something that is different to what everyone else is shipping? Seems a strange notion of interoperability...
15:05
<annevk>
yeah
15:05
annevk
is planning to blog something to that effect
15:05
<annevk>
though it seems the ECMA-comittee is also to blame
15:06
<Philip`>
Presumably the origin of the strangeness is ECMAScript 3.1 adding the feature in a different way to what's implemented
15:07
<Philip`>
("This decision was made with the concurrence of all the major browser vendors including those who currently support the de facto getter/setter API.")
15:07
<Philip`>
(which doesn't make it seem less strange, though admittedly I have absolutely zero knowledge of the new API and how it differs and why any decisions were made)
15:12
<zcorpan>
it seems the ie8 examples use "getter" while other browsers use "get"
15:12
<annevk>
IE also has prop.getter and afaik there is no prop.get in other browsers
15:13
zcorpan
is pretty confused at this point, should probably do some actual testing instead of reading
15:16
<zcorpan>
javascript:foo={get test(){ return "foo"; }};alert(foo.test); doesn't work in ie8
15:17
<jgraham>
Do IE8 compatible examples fail to compile in other browsers or do they just not work?
15:18
<Philip`>
zcorpan: I don't see anything in any documentation that suggests that ought to work
15:20
<hsivonen>
http://intertwingly.net/blog/2008/12/15/Co-Chair-HTML-WG#c1231946437
15:20
<zcorpan>
Philip`: is it not correct es3.1?
15:20
hsivonen
thought the idea was to standardize the de facto syntax established in Gecko/Spidermonkey
15:21
<Philip`>
zcorpan: foo={}; Object.defineProperty(foo, "test", { getter: function() { return "foo" } }); alert(foo.test); is what the ES3.1 .doc linked from the IEBlog post appears to say
15:25
<rubys>
i really don't even know how to begin to respond to Michael Tomer.
15:28
<hsivonen>
rubys: the V.nu parser in svn now passes html5lib tests again
15:28
<Philip`>
You could say that his suggestion has been seen by members of the WG with implementation experience, and they do not believe it is a technically feasible approach
15:29
<rubys>
it apparently is possible, but being possible isn't the answer to the problem he sees.
15:34
<jgraham>
hsivonen: I belive the html5lib tests are out of date on some issues around heading parsing or something
15:34
<hsivonen>
jgraham: I fixed that today
15:34
<takkaria>
oh, yay, that means I can get hubbub back up-to-date with miminal work :)
15:34
<hsivonen>
jgraham: they were also out of date wrt. </form>
15:35
<jgraham>
hsivonen: Great.
15:36
jgraham
will fix that in html5lib soonish
15:38
<jgraham>
(I am sort of working on the MathML+SVG stuff at the moment for which I made some large changes to support the possibility of namespaces so I guess I should fix regressions from that first)
15:38
annevk
posted http://annevankesteren.nl/2009/01/gettters-setters
15:41
<gsnedders>
jgraham: Do we put HTML elements in the HTML namespace or not yeT?
15:41
<jgraham>
gsnedders: We don't do anything yet
15:41
<gsnedders>
:)
15:42
<jgraham>
But I am adding an option for whether or not to put HTML elements in the HTML NS because AFAIK things like etree can be pretty annoying to work with if you have namespcaes mixed in
15:42
<gsnedders>
Yeah, they can be
15:42
<gsnedders>
But in Anolis it'd be a lot nicer to just always have stuff in the HTML namespace to support both HTML and XHTML.
15:43
<rubys>
hsivonen: you probably already told me, but is there a way to kick off running v.nu against the html5lib tests?
15:43
<gsnedders>
Otherwise I need to duplicate tag names, with their un-namespaced form for HTML and their namespaced form for XHTML.
15:43
<jgraham>
gsnedders: Like I say I plan to support both with a option to HTMLParser()
15:44
<jgraham>
s/a/an/
15:44
gsnedders
was going to do that some time, but is unlikely to do it for several months, so is rather pleased that someone else cares enough to do it for him
15:44
<gsnedders>
:P
15:46
<jgraham>
Well at the moment I have no extra functionaility and a whole bunch of regressions (because I decided to pass the tokens from the tokenizer through the treebuilder rather than splitting up stuff at the start)
15:46
<jgraham>
(which means refactoring everything and may not even be a very good design)
15:48
<Philip`>
I hope it's not going to have any performance regressions :-)
15:48
<hsivonen>
Hixie: fwiw, it seems (form source; I didn't actually test) that Gecko treats the meta prescan charset as confident
15:48
<jgraham>
Philip`: I think it might :(
15:49
<Philip`>
jgraham: :'-(
15:49
<gsnedders>
Rewrite it in C!
15:50
<jgraham>
gsnedders: Since I can't say anything polite I won't say anything at all.
15:50
<gsnedders>
:P
15:50
<jgraham>
Wait...
15:52
<Philip`>
gsnedders: I think there is significant value in a pure-Python HTML5 parser
15:52
<Philip`>
e.g. you could use it on Google App Engine
15:53
<Philip`>
so I'd like the pure-Python html5lib to be as good (i.e. fast) as possible
15:53
<Philip`>
regardless of any chtml5lib that someone else might make
15:56
<gsnedders>
But it's still slow.
15:58
<Philip`>
gsnedders: It's slow in comparison to C/Java/etc, but it's fast in comparison to what html5lib would be like if there hadn't been any attempts to optimise it
15:58
<jgraham>
(it is *really* fast compared to the first version that passed the tests :) )
15:59
<Philip`>
and it's not terribly slow in comparison to other pure-Python angle-bracketed-markup parsers
16:09
<Philip`>
When people strike-through phrases in a kind of ironic way like "I think that's a<s>n incredibly stupid</s> very novel idea", what is the appropriate semantic element to use?
16:10
<Philip`>
(I'm sure I've asked this before but I can't remember any convincing answers...)
16:23
<jgraham>
Philip`: It sounds like you need EmotionML! Although you will first have to write your own emotion ontology that defines sarcasm. ANd then you will need to pick a numerical value for how sarcastic you were being (on a scale you get to define)
16:25
<jgraham>
And then you will have to convince Hixie that you have a valid use case for emotionML-in-HTML. I suggest proceeding by first construcing a EmotionML->RDF mapping and then lobbying for RDFa-in-HTML on the basis that you need to define just how sarcastic you are in a way that machines can understand
16:26
<Philip`>
But all I want is some stricken-though text :-(
16:27
<rubys>
<del>
16:27
<jgraham>
Philip`: If machines can't understand how sarcastic you are how can they respond appropriately, e.g. by presenting more sarcastic error messages to you? Won't someone think of the machines!
16:28
<Philip`>
rubys: That's for text which has been removed from the document, and in this case nothing has been removed - all the text has been there intentionally from the very beginning, and it would lose its meaning if anything was removed
16:28
<rubys>
"But all I want is some stricken-though text"
16:28
<rubys>
you can get that through css or through del. Apparently you want more.
16:29
<Philip`>
Well, I want it to be conforming HTML5 too
16:30
<Philip`>
(Actually I don't, but for the purposes of this IRC channel I'm pretending that I do)
16:30
<rubys>
<span style="text-decoration: line-through">
16:31
<Philip`>
Also I want it to be media-independent, so it can't rely on visual CSS
16:34
<rubys>
For someone who says "all I want is some stricken-though text", you certainly have a lot of requirements.
16:39
<Philip`>
I'm just <del>contradicting myself</del> treating them as basic, implicit requirements that underlie all HTML questions :-)
17:28
<exarkun>
Does html5lib parse this document correctly according to the spec? <title>hi<foo>bar</foo><body>hi</body>
17:39
<Philip`>
exarkun: Yes - <title> is RCDATA, so any tags except </title> are treated as plain text rather than as actual tags, so it's equivalent to <html><head><title>hi&lt;foo&gt;bar&lt;/foo&gt;&lt;body&gt;hi&lt;/body&gt;</title></head><body></body></html>
17:40
<exarkun>
So a missing </title> could eat a whole document
17:42
<Philip`>
exarkun: Yes
17:42
<Philip`>
exarkun: which seems to match IE and Opera
17:42
<Philip`>
exarkun: (though Firefox seems to re-parse the content if it reaches EOF without ever seeing a </title>)
17:43
<Philip`>
jgraham: Did you make changes that would have broken "echo 'test' | python parse.py -"? (It now dies with "IOError: [Errno 29] Illegal seek" inside detectBOM)
17:44
<Philip`>
jgraham: (and I'm sure it used to work at some point in the past)
17:44
<exarkun>
Philip`: Thanks for the info
20:02
<annevk>
so since it seems people are still confused with this I thought I'd blog about it, the technical issue with integrating RDFa is xmlns right, no others?
20:02
<annevk>
that is, xmlns in XML cannot be selected using [xmlns] where it can when you use it in HTML because XML puts it in a namespace and HTML does not
20:04
<annevk>
of course you could build an API on top of this that abstracts away the differences, dunno, but you'd kill namespaces in HTML in the process
20:05
<annevk>
http://www.schneier.com/blog/archives/2009/01/michael_chertof.html :)
20:42
<Hixie>
annevk: the only issue as far as i am concerned is that i don't know what it's for (there's been a couple of use cases presented, but so far nowhere near enough to justify all of RDF as a solution, IMHO)
20:53
<annevk>
oh, agreed
20:55
<annevk>
it seems worthwhile to point out anyway, so people might realize sending RDFa in text/html is harmful rather than just invalid
20:55
<annevk>
though maybe at this point it is too late anyways