00:02
<TabAtkins>
Hixie: Thinks like &nbsp; arent' defined for general XML, right?
00:04
<Hixie>
right, only 5 are
00:04
<Hixie>
lt gt amp apos quot
00:04
<Hixie>
but if you use the magical dtd string you can use the others
00:04
<Hixie>
at least in xhtml uas
00:09
<TabAtkins>
Hixie: Yeah, theoretically, though general XML processors don't really process the external subset.
00:14
<AryehGregor>
TabAtkins, actually, often they do, by downloading it from w3.org.
00:14
<AryehGregor>
IIRC, when I wrote a Python program using some built-in XML processor it did that.
03:39
<MikeSmith>
I see File API tests at http://samples.msdn.microsoft.com/ietestcenter/#fileapi but not in dvcs.w3.org yet
03:40
<MikeSmith>
wonder if I'm looking in the wrong place
06:13
<Hixie>
man, <audio> on Mac Chrome 16 is a disaster
06:13
<Hixie>
it skips, it loads slowly even from the cache, it crashes...
06:28
<MikeSmith>
Hixie: that's because they not using Native HTML5
06:29
<MikeSmith>
Hixie: seriously you find it works worse than in other browsers?
06:29
<Hixie>
worse than firefox, anyway
06:31
<MikeSmith>
was it better for and regressed?
06:31
<Hixie>
dunno
06:31
<Hixie>
haven't tried it til now
06:32
<Hixie>
i'm just creating a few dozen <audio>s and whenever i need the particular sound, i set currentTime=0 and call play()
06:32
<Hixie>
the web audio api would be a better fit, if it was more mature
06:37
<MikeSmith>
in other news I see the sync XHR changes have broken the Web
06:38
<MikeSmith>
https://bugzilla.mozilla.org/show_bug.cgi?id=716765
07:13
<cyclicflux>
Good Evening All!!!
07:13
<cyclicflux>
I had a quick question. I was wondering if there were a good free dyndns alternative for just basic domain registration with dynamic ip(dhcp). I was using Dyndns first, however it appears that they recently just changed their overall policies, and service packaging. Thus, no longer offering the free-option.Any thoughts??
07:13
<cyclicflux>
They now only have a 1-month free trial and then one must pay, this is just for personal use, and is used by 15 different people or so at max.
07:13
<cyclicflux>
Its not like it needs to be the premo premo caviar of premium DNS accounts and dynamic domain name hosting, with unlimited access/etc... Just something simple
08:06
<MikeSmith>
man http://wiki.whatwg.org/wiki/MetaExtensions has certainly blossomed into something beautiful
10:12
<hsivonen>
and there's a new antipattern: http://groups.google.com/group/mozilla.dev.platform/msg/6dd73a0716af9d43
10:13
<hsivonen>
'For instance, today the news is about "www.cuttherope.ie". Which, after you play a few
10:13
<hsivonen>
levels, says: "To play this [level], come back in Internet Explorer 9 and pin the game to your taksbar!".'
10:13
<Ms2ger>
Well, it's an IE promotional site, what'd you expect?
10:15
<hsivonen>
Ms2ger: based on previous behavior of Web developers, I fully expect bsmedberg's concern to be warranted
10:15
<Ms2ger>
Yeah
10:15
<jgraham>
It's just keeping up with the Jonses. Or in this case Chromeses
10:15
<hsivonen>
Ms2ger: that is, if you let Web apps query if they are pinned/installed, they will refuse to function or they will be annoying if you don't install/pin
10:16
<Ms2ger>
Indeed
10:16
<hsivonen>
jgraham: so far, the Chrome anti-pattern I've seen is the old 90s pattern "only works in Chrome"
10:17
<hsivonen>
jgraham: I haven't seen "this free app won't work when navigated to normally. you have to install it via Chrome Web Store"
10:17
<hsivonen>
jgraham: though I'd be entirely unsurprised if such a case already existed
10:18
<jgraham>
I thought I had seen things that had to be installed via the web store
10:18
<jgraham>
But I might be wrong
10:18
<hsivonen>
jgraham: ok. maybe I just haven't been following closely enough
11:31
<roc>
Hixie: I think the optimal API for playing a bunch of preloaded sounds is to have a bunch of <audio preload> elements, then do audioElem.cloneNode().play(). it's super-simple and can be implemented very efficiently.
13:09
<niloy>
is there a standard on form serializing?
13:10
<Ms2ger>
HTML
13:19
<niloy>
Ms2ger, I searched for "html form serializing standard", but cant find any good link
13:19
<Ms2ger>
http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#application/x-www-form-urlencoded-encoding-algorithm?
13:21
<niloy>
Ms2ger, thanks!
13:26
<niloy>
Ms2ger, the decision to intepret name values with [] as array is non standard?
13:27
<Ms2ger>
Might be
13:28
<niloy>
okay
13:30
<Philip`>
In Perl's CGI modules, the interpretation depends on whether you access the parameter in scalar context or list context, rather than on the name of the parameter
13:31
<Philip`>
(That seems more sensible since the data types are determined by the code, not by potentially user-controlled strings)
13:31
<niloy>
okay, so this is server dependent, wanted to confirm that
13:31
<Philip`>
(although some people might consider context-dependent functions to be an unsensible idea in general)
13:42
<jgraham>
Philip`: No, really?
13:48
<Philip`>
jgraham: Yeah, some people are narrow-minded like that and don't appreciate intuitive natural-language features being used in programming languages
13:50
<Ms2ger>
dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */
13:50
<Ms2ger>
It's good to see the W3C cares about Opera
13:50
<Ms2ger>
(http://www.w3.org/StyleSheets/TR/W3C-ED.css)
13:51
<Philip`>
Then they hack around their limitation by copying the context into the function name, so users have to remember twice as many function names (querySelector vs querySelectorAll etc) and have a greater chance of accidentally putting a list into a scalar variable or vice versa
14:04
<jgraham>
Philip`: I think holding up W3C specs as examples of API design is just trolling :)
14:11
<Philip`>
jgraham: Same problem in e.g. Python's cgi API, where you can use getvalue() (where if you forget to check isinstance and "a curious user appends another user=foo pair to the query string, then the script would crash") or getfirst() or getlist()
14:12
<Philip`>
since it's impossible to have a single function that automatically returns the data type you're expecting
14:32
<wilhelm>
AryehGregor: I see you have a draft spec of innerText. Is the one from February 2011 the most recent one available?
14:34
<smaug____>
or is the innerText nowadays in parsing spec? Ms2ger ?
15:00
<jgraham>
Philip`: If the alternative is that I have to learn three different behaviours for each function and closely inspect the context each time to work out which one it will use, I think I prefer the option that makes things explicit :)
15:04
<AryehGregor>
wilhelm, sounds right, but be aware of the large quantities of discussion about it. Basically I specced innerText as textContent plus minimal munging for compat, based on what I was told about Opera's implementation. IE and WebKit both have ludicrously complicated implementations which are probably hopeless to spec.
15:06
<AryehGregor>
innerText didn't make it into some spec like HTML?
15:06
AryehGregor
looks
15:06
<Philip`>
jgraham: Only two behaviours (scalar vs list context), and distinguishing "$name = $cgi->param('name')" from "@names = $cgi->param('name')" doesn't take hugely close inspection :-)
15:06
<AryehGregor>
https://www.w3.org/Bugs/Public/show_bug.cgi?id=13145
15:07
<Philip`>
although when someone writes "$num_names = () = $cgi->param('name')" you would be justified in choosing to vigorously educate them
15:07
<wilhelm>
AryehGregor: The reason for why I'm asking is that WebDriver is being specced now. This API has a feature that allows one to get the text of any element. We're not sure what's the more sensible approach – deferring to browsers, just using innerHTML or define an algorithm for doing it in the WebDriver layer.
15:07
<AryehGregor>
Hixie closed it REMIND.
15:07
<wilhelm>
Thanks for the link. (c:
15:07
<jgraham>
wilhelm: What do you mean "text"?
15:07
<AryehGregor>
wilhelm, the most sensible approach is to use either textContent or innerHTML. innerText has zero interop. There is no usable plaintext-conversion algorithm specced anywhere in the web platform; different browsers do it entirely differently.
15:08
<jgraham>
Or, what AryehGregor said
15:09
<AryehGregor>
All browsers have one that they use for Selection.prototype.toString, but it's not even remotely interoperable.
15:09
<jgraham>
The only obvious problem with textContent is that it doesn't know about alt text
15:09
<AryehGregor>
As far as I can tell, in at least some browsers it's not even a DOM-based function, it depends on the layout layer somehow.
15:09
<Philip`>
Most authors don't know about alt text either so that's okay
15:09
<AryehGregor>
WebKit's does scary stuff like respecting text-transform.
15:09
<AryehGregor>
jgraham, there are lots of other problems. For instance, <p>foo</p><p>bar</p> -> "foobar" instead of "foo\nbar".
15:10
<AryehGregor>
And <span>foo\nbar</span> -> "foo\nbar" instead of "foo bar".
15:10
<jgraham>
AryehGregor: That isn't obviously a problem for wilhelm's use case
15:10
<AryehGregor>
That's just the tip of the iceberg.
15:10
AryehGregor
has no idea what wilhelm's use-case actually is
15:10
<jgraham>
AryehGregor: It is presumably mainly for checking that some subtree contains some pre-known text
15:11
<wilhelm>
Yes, what jgraham said. The use case is fuzzy.
15:11
<AryehGregor>
Then innerHTML or textContent is what I'd recommend.
15:11
jgraham
would strongly recommend textContent
15:11
wilhelm
looks up textContent.
15:11
<jgraham>
Unless there is really a need for anything more complex
15:12
wilhelm
defers to dawagner.
15:12
<dawagner>
AryehGregor: We have a javascript implementation which basically does exactly what's spec'd in http://aryeh.name/spec/innertext/innertext.html because it's the exact behaviour we want in webdriver; "what a user sees"
15:13
<AryehGregor>
dawagner, well, okay, but it's only a vague approximation of what the user sees. If my spec was useful to you, though, that's nice.
15:13
<AryehGregor>
But I wouldn't add anything like that to an actual spec.
15:13
<AryehGregor>
There are just way too many heuristics involved.
15:14
<dawagner>
As in, you wouldn't bother trying to specify what innerText does, or you wouldn't try to specify something which acted similarly to innerText but made no references to innerText itself?
15:18
<AryehGregor>
dawagner, the latter. Or if I did that it would be with extreme caution. It's impossible to get it actually right -- just think about foo<span style=float:left>bar</span>baz, say. Or try absolute or relative positioning. HTML is just a richer medium than plaintext.
15:19
<AryehGregor>
So if you try to get elaborate, you have to draw the line somewhere, and it's very hard to say where a good place to draw the line is.
15:19
<dawagner>
Ok :) Thanks for the advice
15:19
<AryehGregor>
You can always do a bit better.
15:19
<AryehGregor>
So this is something that's maybe best left to JS libraries, which don't have such strict compat requirements.
15:20
<AryehGregor>
So they can afford to incrementally improve their algorithms over time.
15:21
<Philip`>
textContentAsRenderedByElinksWithAddedCSSSupport
15:23
<wilhelm>
AryehGregor: Here's the spec in question, by the way: https://dvcs.w3.org/hg/webdriver/raw-file/515b648d58ff/webdriver-spec.html
15:23
<wilhelm>
A very, very early draft.
15:23
<AryehGregor>
k.
15:24
<wilhelm>
Somewhat interoperable implementations already exist. So it's a matter of speccing the running code in a not-too-insane way. (c:
15:24
<dawagner>
And the implementing code: https://code.google.com/p/selenium/source/browse/trunk/javascript/atoms/dom.js#689
15:25
<dawagner>
(Which is really quite inefficient)
15:31
<Ms2ger>
The plan for innerText is still to ignore it and hope it goes away
15:32
<smaug____>
Ms2ger: oh.
15:32
<smaug____>
Ms2ger: have we added warning to remove it ?
15:32
<smaug____>
hmm
15:32
<Ms2ger>
We don't support it
15:32
<smaug____>
ah, right :)
15:32
<smaug____>
good !
15:32
<smaug____>
wilhelm: ^
15:32
<AryehGregor>
Ms2ger, I still think you should at least support a bare-bones version like I've suggested.
15:33
<AryehGregor>
Similar to Opera.
15:33
<Ms2ger>
"we", now ;)
15:33
<AryehGregor>
Bah.
15:33
<AryehGregor>
I'm still not a Gecko developer.
15:33
<smaug____>
Why should support for innerText be added anywhere ?
15:33
<AryehGregor>
smaug____, because some pages depend on it. I've found East Asian sites that are buggy on Firefox (and only Firefox) because they assume innerText support.
15:33
<jgraham>
AryehGregor: You get paid and Ms2ger doesn't (I think), though
15:33
<AryehGregor>
I posted that on the bug.
15:34
<AryehGregor>
jgraham, he still has more say in Gecko development than I do.
15:34
<AryehGregor>
I'm not actually paid to do Gecko development anyway, at least not primarily.
15:34
<jgraham>
Yeah, but they own your soul more than his :)
15:34
<smaug____>
AryehGregor: you could be :p
15:35
<AryehGregor>
smaug____, I expect I'll do some.
15:35
<wilhelm>
smaug____: Right. So deferring to innerText for Gecko is a no-go anyway, then.
15:36
<AryehGregor>
wilhelm, you could defer to Selection.prototype.toString, which everyone implements in some form.
15:37
<AryehGregor>
In WebKit it's basically the same as innerText, in everything else it's different (but similar idea to IE/WebKit innerText).
15:37
<wilhelm>
Interesting.
15:38
<dawagner>
AryehGregor: Alas we're looking for something which is well defined to be the same, rather than something which is defined everywhere
15:38
<AryehGregor>
However, I still recommend treating all this stuff as a minefield and staying as far away as possible.
15:39
<AryehGregor>
dawagner, then your options are either textContent, or innerHTML, or make something up.
15:39
<AryehGregor>
(innerHTML is actually not interoperable right now, but there is a spec and Gecko and WebKit mostly follow it)
15:39
<dawagner>
We've made something up :) It doesn't strictly speaking have to be "correct", but we care about well defined and universal, which our javascript is
15:39
<AryehGregor>
(although there are bugs, like <xmp> in Gecko)
15:39
<dawagner>
(It would be nice if the browsers provided all of those properties, but hey, they're browsers, we're used to that!)
15:40
<AryehGregor>
(I love <xmp>, it messes so many things up because no one thinks about it)
16:33
<dglazkov>
good morning, Whatwg!
16:35
<Ms2ger>
Good afternoon, dglazkov
16:35
<dglazkov>
and what wonderful afternoon it is
16:37
<dglazkov>
TabAtkins is giggling in his cube.
16:38
<Ms2ger>
tmi
17:08
<dglazkov>
btw, I wrote a shadow DOM example/recipe that's also a bit of Big Bang Theory fanfic: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/samples/contacts-widget.html
17:20
<ksweeney>
this is a really great example dglazkov!
17:21
<dglazkov>
ksweeney: yay!
17:21
<jgraham>
dglazkov: I await the gloriuos future where all people with advanced science degrees are reduced to solving dull enterprise problems :)
17:22
<dglazkov>
jgraham: :D I worry we have already arrived.
17:25
<jgraham>
Well I guess that's a bit unfair. Howard only has a masters in Engineering :)
17:25
<jgraham>
Unrelatedly, it is a nice example
17:27
<dglazkov>
First time I ever (I think) used ins and del in markup.
17:28
<jgraham>
Things that upset me today: developers who think that I want to install node.js and run some build process to use their library
17:29
<dglazkov>
heh. node.js as make?
17:30
<jgraham>
Oh, wait, I think I found a download link. Hint: if there is an esy solution and a really-fucking-complex solution, you should probably make the easy one more obvious than the other one
17:31
<jgraham>
At least I already have make installed
17:31
<jgraham>
and I am likely to find the right version of make in my package manager
17:31
<jgraham>
Rather than finding that I can only install version 0.4 but this script needs 0.6 so I have to build from source
18:00
<AryehGregor>
So it looks like 3D transforms are only supported in IE10, which is only supported on Windows 8 Developer Preview, which I can't readily install on my Windows VM. So I guess I'm testing 3D Transforms only in Gecko and WebKit.
18:12
<Velmont>
AryehGregor: I have the same problem only for other technologies.
18:56
<Hixie>
roc: (re <audio>.cloneNode().play()) that's more or less what i do, and in mac chrome 16 it is not pretty
18:56
<Hixie>
roc: i haven't tested more recent builds yet
18:56
<Hixie>
roc: firefox seemed to work fine
18:56
<Hixie>
roc: (though firefox's lack of <input type=range> support is actually a bigger blocker for me on this particular project)
18:58
<TabAtkins>
Hixie: Agreed. Most demos I do use range inputs, and it's always bad in FF, annoyingly.
18:59
<Hixie>
last i checked there was some work on it
18:59
<Hixie>
in the meantime i just use the fallback and type in hte numbers manually :-)
18:59
<Hixie>
but that isn't very usable
19:00
<Ms2ger>
Yeah, volkmar is working on device stuff now :/
19:00
<Ms2ger>
If anybody wants to get a job finishing his work... :)
20:20
<AryehGregor>
So let me get this straight: a browsing context has a bunch of history entries associated with it, and each of those usually has one Document and one Window?
20:21
<AryehGregor>
So really I want one Selection per Window or Document, not per browsing context?
20:21
<AryehGregor>
(since if you navigate the document, the next page has a different Selection associated with it)
20:29
<AryehGregor>
getSelection() !== getSelection() in Opera. :(
20:30
<Hixie>
AryehGregor: one Selection per Document sounds right. maybe one per Window.
20:30
<Hixie>
AryehGregor: there's almost but not quite a 1:1 mapping of window to document
20:31
<AryehGregor>
Hixie, I saw the note in the spec. document.open() should produce a new Selection object, apparently.
20:31
<Hixie>
and not quite a 1:1 mapping of document to what the user will think of as a document
20:31
<Hixie>
yeah that's probably the right thing
20:31
<Hixie>
so 1 Selection per Document, reset at document.open()
20:32
<AryehGregor>
How should I reset at document.open()? Hook into unloading document cleanup steps, or is there a better way?
20:32
<Ms2ger>
Hixie still resets Selection somewhere, I think
20:32
<Ms2ger>
Don't remember where exactly
20:32
<Hixie>
it's implied in the document.open algorithm
20:32
<Hixie>
i'd just mention it in a note
20:34
<volkmar>
Ms2ger, Hixie: there hasn't been any work on range unfortunately
20:34
<Hixie>
yeah, spec says "Replace the Document's singleton objects with new instances of those objects."
20:34
<Hixie>
and then says "This includes ... objects defined by other specifications, like Selection"
20:35
<AryehGregor>
Oh, okay.
20:35
<Hixie>
AryehGregor: probably no need to be more explicit, just define what happens when a Selection object instance is created
20:35
<Hixie>
and you should be good
20:39
<roc>
AryehGregor: I thought you could try 3D transforms in IE10 PP which runs on Windows7
20:40
<AryehGregor>
roc, do you know where to get such a copy of IE10PP? I only found ones that run on Windows 8.
20:40
<roc>
no
20:41
<roc>
hmm, looks like you're right
20:41
<roc>
ulltra lame
20:41
<AryehGregor>
There used to be one that ran on Windows 7.
20:41
<AryehGregor>
But it vanished off the face of the Internet, as far as I can tell.
20:42
<AryehGregor>
Hixie, but document.implementation.createHTMLDocument("") or such doesn't create a separate selection, so not every document has its own selection.
20:42
<AryehGregor>
What's the right terminology here?
20:43
<Ms2ger>
There's a concept of static(?) documents in Gecko, IIRC
20:44
<Hixie>
AryehGregor: right, only Documents that are in browsing contexts
20:45
<AryehGregor>
"in a browsing context" is the right term? Is that defined somewhere?
20:45
<Hixie>
AryehGregor: there's probably better terminology, check the History section maybe
20:45
<Hixie>
(i can check in ~5 min)
20:46
<AryehGregor>
Thanks.
20:47
<Hixie>
looks like i just say "Document in a browsing context"
20:50
<Hixie>
or "if the Document is in a browsing context"
21:07
<gavinc>
I fear to ask, does there exist a grammar for the relative part of an IRI/URI/URL/Thingy?
21:07
<gavinc>
The on in RFC3987 doesn't really decompose into just the relative part well
21:47
<pablof>
is window.onpopstate(e) { e.state === history.state; } supposed to hold true?
21:48
<pablof>
bah, that's not actually what i mean, but in any case, is a deserialization of a history state supposed to be always the same everywhere?
21:49
<TabAtkins>
You mean, is a state supposed to be equal to itself?
21:49
<TabAtkins>
I would suspect so, but I'm not sure.
21:49
<pablof>
see https://bugs.webkit.org/show_bug.cgi?id=76035#c7
21:49
<roc>
AryehGregor: if a Windows developer preview would be useful for your work (and I think it would), talk to your manager (Jet?) and ask him if you can expense whatever it is you need (hardware, MSDN, whatever it is)... tell him I said it was a good idea :-)
22:32
<Hixie>
pablof: commented
22:34
<pablof>
thanks