| 00:02 | <TabAtkins> | Hixie: Thinks like 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 |