| 00:46 | <Lachy> | Hixie, in web workers, this sentence is grammatically incorrect: "The origin and effective script origin of scripts running in workers are both the origin of the absolute URL given by the value of the URL attribute of the worker's WindowWorker object." |
| 00:47 | <Lachy> | it says "are both", but then it only mentions one thing |
| 00:48 | <Hixie> | in english, verbs are conjugated relative to the subject, not the object |
| 00:48 | <Lachy> | what? |
| 00:49 | <Hixie> | two apples are a pear |
| 00:49 | <Hixie> | not two apples is a pear |
| 00:49 | <Hixie> | similarly, an apple is two pears |
| 00:49 | <Hixie> | not an apple are two pears |
| 00:50 | <Lachy> | my problem is with the word both, not the word are |
| 00:50 | <SadEagle> | May I suggest "Both the origin and effective script origin of scripts running in workers are the absolute URL given by the value of the URL attribute of the worker's WindowWorker object." |
| 00:50 | <Hixie> | the word both in that sentence is also relating to the subjects |
| 00:50 | <Hixie> | a and b are both letters |
| 00:50 | <Lachy> | then SadEagle's suggestion makes more sense |
| 00:51 | <SadEagle> | Yeah, but that's a syntactic ambiguity. My mind parsed is the same as Lachy's. |
| 00:51 | <Hixie> | fair enough |
| 00:51 | <Hixie> | changed |
| 00:52 | <SadEagle> | Hixie: may I abuse you to clarify the definition of CSS2.1's clip property? |
| 00:52 | <Hixie> | you can try but i make no promises of knowing the answer |
| 00:53 | <SadEagle> | It just seems to be defined to be off top-right corner for RTL direction, and everyone seems to implement to alway sbe off the top-left corner... Unless direction:rtl somehow reversed the meaning of left and right borders... |
| 00:53 | <Hixie> | i have no idea how it is supposd to interact with directionality |
| 00:54 | <SadEagle> | fair enough, thanks for your time :-) |
| 01:06 | <Hixie> | ok sicking has convinced me to remove Window from workers |
| 01:06 | <Hixie> | what should we call the global object? |
| 01:18 | <Philip`> | Linuk |
| 01:25 | <Hixie> | he suggested WorkerGlobalScope, with that object only containing two members, "self" pointing to itself, and "utils" pointing to a separate object with APIs |
| 01:25 | <Hixie> | so you'd do utils.openDatabase() etc |
| 01:26 | <Hixie> | not sure if you'd need to do |new utils.XMLHttpRequest()| or if we'd still have constructors in the global scope |
| 01:26 | <Hixie> | he vanished before i could ask |
| 01:29 | <Lachy> | Hixie, in step 6 of "When a script invokes the import(url) method...", it says "or gets prematurely aborted by the "kill a worker" algorithm below." - s/below/above/ |
| 01:30 | <Hixie> | thx |
| 01:38 | <Lachy> | Hixie, is URL_MISMATCH_ERR a new exception code that you invented for this, or is it defined somewhere other than DOM3Core? |
| 01:38 | <Hixie> | invented |
| 01:38 | <Lachy> | ok |
| 01:39 | <Lachy> | I guess that's the reason for the "Code 19" issue after it |
| 01:39 | <Hixie> | it's on the list in the wiki :-) |
| 01:39 | <Lachy> | which page? |
| 01:40 | <Hixie> | exception codes |
| 01:42 | <Lachy> | oh, nice. SECURITY_ERR is useful. |
| 01:42 | <Lachy> | but there doesn't appear to be any response to your proposal for it on public-webapi |
| 01:45 | <Hixie> | we so need someone to own DOM Core and actually write the spec |
| 01:47 | <Lachy> | is there anyone in webapps who's supposed to be working on it? |
| 01:47 | <Lachy> | or is zcorpan still intending to write DOM5 one day? |
| 01:47 | <Hixie> | dunno |
| 01:49 | <Lachy> | ok. well, if no-ones working on it by the time I get Selectors API to CR, then I might pick it up. |
| 01:50 | <Lachy> | also, I might have to incorporate :context/:scope directly into Selectors API. I got no response from the CSSWG saying whether or not the proposal has been accepted or rejected, and it really needs to get done before browsers ship with selectors api |
| 01:51 | <Lachy> | I should probably wait till anne gets back, since hes our csswg rep |
| 01:56 | <Hixie> | i've found that just doing things and letting people know is an effective incentive for them to get their act together |
| 01:56 | <Hixie> | ask for forgiveness, not permission, and all :-) |
| 01:59 | <jcranmer> | hmm, that's the first and, to date, only discussion I've participated in on the W3C mailing list |
| 02:01 | <jcranmer> | (debate over whether or not scoping stylesheets should refer to rerooting the selection tree or merely limiting the possible set of nodes to match) |
| 02:03 | <Lachy> | jcranmer, looks like you've participated in 2 other threads as well |
| 02:04 | <Lachy> | with just one message each, though |
| 02:04 | <jcranmer> | I made a response and didn't follow up |
| 02:04 | <jcranmer> | that doesn't count in my book |
| 02:04 | <Lachy> | ok, so participation requires at least 2 posts per thread? |
| 02:04 | <jcranmer> | well, maybe the later one counts |
| 02:05 | <jcranmer> | since I did rebutt a point |
| 02:05 | <jcranmer> | the other one was "oh, we've already done that, look here:" |
| 02:05 | <Lachy> | I like people who contribute once, say what they need and leave. It makes reading the thread so much easier and non-repetitive |
| 02:06 | <jcranmer> | I guess I prefer my discussions... back-and-forth |
| 02:06 | <jcranmer> | so long as both sides are understanding each other |
| 02:06 | <jcranmer> | if not, it's only a giant shouting match |
| 02:06 | <Lachy> | Hixie, the workers spec would be a lot easier for me to comprehend if the unwritten tutorial section was actually written demonstrated how the API was intended to be used |
| 02:07 | <Hixie> | yeah i intend to write that section tonight |
| 02:07 | <Lachy> | oh good. Then I should have waited a day before reviewing the spec :-) |
| 02:07 | <Hixie> | heh |
| 02:07 | <Hixie> | i just checked in big changes |
| 02:08 | <Lachy> | well, I aint reading it again yet it was hard enough the first time |
| 02:08 | <Hixie> | hah |
| 02:16 | <Hixie> | hmmmm |
| 02:17 | <Hixie> | one way to solve the problem that was being discussed the other day is to make the first port that a worker receives be automatically assigned to a variable in the global scope |
| 02:17 | <Hixie> | that way you can never hit the case where you GC straight away |
| 02:20 | <Hixie> | ports could also be simplified by having them queue events until such time as someone enables them manually |
| 06:59 | <hsivonen> | Hixie: ARIA has aria-hidden=true for irrelevant='' |
| 07:27 | <hsivonen> | I just realized I broke my promise not to use SVG in hypothetical examples. |
| 07:52 | <Hixie> | hsivonen: aria-hidden="" isn't accessible, as i understand it (since it doesn't do anything except for ATs) |
| 07:54 | <hsivonen> | Hixie: you are supposed to use it together with *[aria-hidden="true"] { display:none; } |
| 07:55 | <hsivonen> | Hixie: doesn't work with non-CSS non-AT UAs, though. |
| 07:55 | <hsivonen> | unless those UAs start triggering on ARIA |
| 07:56 | <Hixie> | CSS is optional, anything that relies on CSS is not accessible almost by definition :-) |
| 07:56 | <Hixie> | isn't triggering on ARIA specifically counter to ARIA? |
| 07:57 | <hsivonen> | Hixie: yes and yes |
| 07:57 | <hsivonen> | are there contemporary UAs that support JS but not CSS? |
| 09:01 | <Hixie> | heycam: can't we have some flag on the interface that says that HasProperty returns true for anything that NamedGetter would find, or something? |
| 09:01 | <Hixie> | i don't want to have to spec this all over the place if i can help it :-) |
| 09:02 | <heycam> | Hixie, but it's more than that. Object.prototype.hasOwnProperty() returns true, too. |
| 09:02 | <heycam> | so they're real properties |
| 09:02 | <Hixie> | ok, well then a flag that says that then |
| 09:02 | <Hixie> | (i have no idea what that means :-) ) |
| 09:02 | Hixie | looks up hasOwnProperty |
| 09:02 | <heycam> | so, ecma-262 defines Object.prototype.hasOwnProperty as just returning true if the object has such a property |
| 09:03 | <Hixie> | so we can define an interface attribute says specifies that the object has, in addition, properties for each of the things that namedgetter would return, or something |
| 09:03 | <Hixie> | or, alternatively: |
| 09:04 | <Hixie> | define a spec "hook" that i can refer to which automatically defines all of NameGetter, IndexGetter, etc |
| 09:04 | <heycam> | yeah i think a spec hook sounds better |
| 09:04 | <Hixie> | e.g. so that I can just write: |
| 09:05 | <Hixie> | "The BlaBla interface is a _Magical Land of Fairies_ in which the properties are the list of blablas, and for which the _Magical Fairy Setter Operation_ is foobarbaz." |
| 09:05 | <Hixie> | or whatever |
| 09:05 | <Hixie> | (not sure exactly what i would need to hook up each time) |
| 09:06 | <heycam> | i think you just need to define a set of (name, value) pairs, and call the hook with that |
| 09:06 | <Hixie> | or alternatively, have an attribute to enable this magic, and then say that the prose must define the _List Of Pixies_ and the _Pixie Getting_ and _Pixie Setting_ operations |
| 09:06 | <heycam> | yeah |
| 09:06 | <Hixie> | i think i need a list and an operation for setting, since that's usually non-trivial on my end |
| 09:06 | <Hixie> | and maybe deleting, if we decide we are ever going to support 'delete foo' |
| 09:07 | heycam | enqueues |
| 09:08 | <heycam> | will it be anything more than 'nodes in the document that match these criteria'? |
| 09:08 | <heycam> | anyway, bbl |
| 09:09 | <Hixie> | probably |
| 09:09 | <Hixie> | (e.g. localStorage) |
| 09:52 | <Hixie> | does anyone have an example of some mathematical sequence that would be useful to calculate, is simple to code, but which takes a disproportionally high amount of processor time to calculate? |
| 09:52 | <Philip`> | Prime numbers? |
| 09:52 | <Hixie> | and for which numbers can be obtained one after the other as computation continues? |
| 09:53 | <webben> | hsivonen: I think http://www.webbie.org.uk/ might be an example. |
| 09:53 | <Hixie> | prime numbers could work |
| 09:53 | <webben> | (it's a weird customization of IE used with Thunder: http://www.screenreader.net/ ) |
| 09:53 | <webben> | hsivonen: (example of "contemporary UAs that support JS but not CSS" that is) |
| 09:54 | <Philip`> | http://www.research.att.com/~njas/sequences/ has a lot of sequences |
| 09:54 | <othermaciej> | Hixie: what counts as "disproportionately high"? |
| 09:54 | <webben> | hsivonen: also http://edbrowse.sourceforge.net/ though I'm not sure how actively developed that is. |
| 09:54 | <othermaciej> | the naiive way to code fibonacci is pretty slow |
| 09:54 | <Hixie> | othermaciej: like, something which would take a minute to give 10 numbers |
| 09:54 | <othermaciej> | ackerman is inherently slow |
| 09:55 | <Hixie> | i'm gonna try a very naive prime number search |
| 09:55 | <Hixie> | and see if that's slow enough for a worker demo |
| 09:55 | <othermaciej> | that won't take a minute to give 10 numbers |
| 09:55 | <Hixie> | it might if i start it high enough :-) |
| 09:55 | <othermaciej> | calling ack() with large-ish parameters would though |
| 09:55 | <Philip`> | There's no non-naive algorithm that will take a minute to give 10 numbers |
| 09:56 | <Philip`> | because you could rewrite it as "function f() { return [ 12376, 9162, 649, ... ] }" |
| 09:56 | <Philip`> | which is a less naive algorithm |
| 09:56 | <Philip`> | so I suppose you'll have to use some artificial pointless example instead |
| 09:57 | <othermaciej> | you can pass in a parameter asking what number |
| 09:57 | <othermaciej> | to ensure a lookup table would have to be impractically large |
| 09:58 | <othermaciej> | numerically estimating a definite integral might be slow enough |
| 09:58 | <othermaciej> | given the right integrand |
| 10:02 | Hixie | has just written the world's simplest yet the world's most advanced prime number search program ever |
| 10:02 | <Hixie> | so simple it's 13 lines of JS, so complex it won't work in any Web browser today! |
| 10:02 | <Hixie> | http://www.whatwg.org/demos/workers/compuation/ |
| 10:03 | <Hixie> | renamed to http://www.whatwg.org/demos/workers/primes/ |
| 10:06 | <hendry> | Hixie: doesn't work for me. first time i've seen syntax like var worker = createWorker('worker.js'); |
| 10:06 | <Philip`> | You should only loop up to i <= Math.sqrt(n) else it's unnecessarily inefficient |
| 10:07 | <Hixie> | Philip`: might that not distract from the point of the code? |
| 10:07 | <Hixie> | hendry: that's how advanced it is |
| 10:07 | <Hixie> | Philip`: (fixed) |
| 10:08 | <Philip`> | It would distract me less than the obvious easily-fixable inefficiency would :-) |
| 10:08 | <Hixie> | :-) |
| 10:11 | <Philip`> | Obviously the next step is to develop a multithreaded general number field sieve in JS |
| 10:12 | <Hixie> | if that would make a good example, please do so, i can fill in the worker-related bits |
| 10:12 | <mcarter> | Hixie, well, the chicken/egg question is answered -- real people are writing real code with calls to createWorker. so what are the browser vendors waiting for? |
| 10:12 | <jacobolus> | Philip`: because otherwise this is super-efficient code! |
| 10:12 | <Hixie> | mcarter: :-P |
| 10:13 | <jacobolus> | mcarter: you should tell them |
| 10:13 | <Philip`> | Hixie: I wasn't being serious :-p |
| 10:14 | <Hixie> | Philip`: aww :-( |
| 10:14 | <Philip`> | A C++ version at http://factor-by-gnfs.cvs.sourceforge.net/factor-by-gnfs/gnfs/ looks non-trivial |
| 10:14 | <mcarter> | jacobolus, if they don't know now, they should know on their own in the morning. At least some of them. |
| 10:14 | <iarwain> | Sorry for this off-topic question: What IRC logging software does this channel use? |
| 10:14 | <jacobolus> | why in the morning? |
| 10:14 | <Hixie> | iarwain: krijnh rolledh is own, i believe |
| 10:15 | <iarwain> | Hixie: oh, ok. Thanks. |
| 10:30 | <Hixie> | http://www.whatwg.org/specs/web-workers/current-work/#tutorial |
| 10:30 | <Hixie> | first example |
| 10:30 | <Hixie> | is the style ok? |
| 10:32 | Lachy | is reading it now |
| 10:32 | <hsivonen> | webben: thanks. the first one of those two while a UA is not a browser, it seems |
| 10:33 | <webben> | hsivonen: Not sure quite what distinction you're drawing? |
| 10:33 | <webben> | what's the difference between using it and IE itself in that sense? |
| 10:35 | <hsivonen> | webben: oops. I skipped the word "browser" and saw "Accessible RSS news reader" |
| 10:36 | <hsivonen> | webben: it's for the blind, though, so it presumably is OK for it to key its presentation off ARIA |
| 10:37 | <webben> | hsivonen: It uses Trident so it's conceivably possible it would apply display:none; by not displaying that text; one would have to test that (or email the dev) to confirm I guess. |
| 10:37 | <Lachy> | Hixie, the port variable isn't mentioned anywhere else in the spec, AFAICS |
| 10:37 | <webben> | hsivonen: Yeah, I guess it will get ARIA with IE8. |
| 10:39 | <Hixie> | Lachy: fixed |
| 10:41 | <hsivonen> | webben: anyway, it seems that Hixie's "not accessible" scenario needs a visual UA that cannot be considered constituting AT in any way that doesn't support CSS and that supports scripting the DOM with JS |
| 10:42 | <Hixie> | e.g. firefox (with styles disabled) |
| 10:43 | <webben> | hmm ... "cannot be considered constituting AT" seems a rather high bar to set (especially since, as Hixie mentioned, rejecting publisher CSS can itself be an accessibility feature) |
| 10:44 | <webben> | I wonder if there's mobile browser that does that though. |
| 10:44 | <Hixie> | links also supports JS, as i understand it |
| 10:44 | <webben> | links doesn't (I /think/) ; but ELinks sort of does. |
| 10:45 | <hsivonen> | that must have been fun to hack in considering the level of documentation in the Links codebase |
| 10:45 | <webben> | but ELinks also supports CSS. |
| 10:45 | <Lachy> | Hixie, where is the MessagePort interface defined? Did it get renamed to something else? |
| 10:45 | <Hixie> | also, ARIA, if i'm not mistaken, is only supposed to be used to expose things to the system accessibility apis, it's not supposed to be natively interpreted by the UA. (but i'm not sure i really follow aria's goals and requirements) |
| 10:45 | <Hixie> | (so i could be wrong) |
| 10:45 | <Hixie> | Lachy: html5 |
| 10:45 | <hsivonen> | is ELinks a rewrite or does it actually build on the original Links? |
| 10:46 | hsivonen | one considered hacking on Links as a weekend project and gave up after seeing the source |
| 10:46 | <webben> | Hixie: Not sure that's right actually. |
| 10:46 | <hsivonen> | s/one/once/ |
| 10:46 | <webben> | hsivonen: dunno; ask in #elinks ;) ... I have a vague memory it's a partial rewrite. |
| 10:52 | <Lachy> | Hixie, why is the port property added seperately, instead of being defined in the interface and just set accordingly? |
| 10:53 | <Hixie> | because webidl doesn't yet have the concept of replaceable properties, and i want authors to be able to delete it or replace it or whatever, since it indirectly controls the lifetime of the worker |
| 10:53 | <Lachy> | ok |
| 11:07 | <Lachy> | hsivonen, given the new alt text requirements, how are you intending to adjust your validator? Will it now raise an error when alt is missing? |
| 11:27 | <hsivonen> | Lachy: I'm going to wait until accessibility advocates come back from vacation and the PFWG responds to the petitions of PFWG participants petitioning the PFWG as HTML WG participants and then Hixie responding to the response. |
| 11:31 | <Hixie> | can someone look over http://www.whatwg.org/demos/workers/stocks/ and tell me (a) what parts need explaining and (b) what parts have errors? The intro to this is at http://www.whatwg.org/specs/web-workers/current-work/#a-worker0 |
| 11:31 | <gDashiva> | hsivonen: It's a bit disheartening when it sinks in that you're not even joking :) |
| 11:33 | <gDashiva> | Hixie: for..in on an array is kinda meh |
| 11:34 | <Hixie> | fixed |
| 11:34 | <gDashiva> | Not setting button.type that I can see |
| 11:35 | <gDashiva> | li.appendChild(a) should probably be (button)? |
| 11:35 | <Hixie> | doesn't it default to 'button'? |
| 11:35 | <Hixie> | oops, yes |
| 11:35 | <gDashiva> | Hixie: only in IE :) |
| 11:36 | <Hixie> | fixed and fixed |
| 11:37 | <Philip`> | I guess you might miss the first messages sent from the workers, since onmessage isn't set until a later script block after creating them |
| 11:37 | <Philip`> | which sounds suboptimal |
| 11:37 | <Hixie> | the messages are queued until you set onmessage (or call .start() on the port) |
| 11:38 | <Philip`> | Oh, okay |
| 11:39 | <Hixie> | though actually in this case it makes no difference since the workers don't send data until it is requested |
| 11:39 | <Hixie> | oh actually, no, you're right, it would make a difference |
| 11:39 | <Hixie> | since we postMessage() first |
| 11:39 | <Hixie> | nm |
| 11:39 | <Hixie> | but anyway, not a problem |
| 11:39 | <Hixie> | i'll comment on that in the prose |
| 11:40 | <gDashiva> | If stock.cgi is slow (or just slow net), you'll get time shift on the ticker timer |
| 11:40 | <Philip`> | http://www.whatwg.org/demos/workers/stocks/io.js tries to uses async XHR but returns the responseText without waiting for the response |
| 11:40 | gDashiva | shakes fist at Philip` |
| 11:40 | <gDashiva> | I was gonna say that now :) |
| 11:40 | <Hixie> | time shift? |
| 11:40 | <Hixie> | oh, "true" is async? oops |
| 11:40 | <Hixie> | man who makes APIs with optional arguments that default to true |
| 11:40 | <gDashiva> | Hixie: You'll get updates at 10s, 20s+delay, 30s+2xdelay, etc |
| 11:41 | <Hixie> | gDashiva: that's ok, better than overloading the server :-) |
| 11:41 | <Hixie> | Philip`: fixed, thanks |
| 11:41 | <gDashiva> | kk |
| 11:42 | <Philip`> | http://www.whatwg.org/demos/workers/stocks/ticker.js puts a semicolon after the function statement, which is inconsistent with the rest of the code |
| 11:42 | <gDashiva> | No, it's an assignment |
| 11:42 | <Hixie> | oops fixed, thanks |
| 11:42 | <Hixie> | he means the first one |
| 11:42 | <gDashiva> | Oh, my bad |
| 11:44 | <gDashiva> | Now we just need a script to fake createWorker :) |
| 11:45 | <Philip`> | If there's a temporary network error then an exception will be thrown out of get(), and the ticker will permanently silently stop updating |
| 11:46 | <Hixie> | reload io.js |
| 11:46 | <Hixie> | does that work? |
| 11:47 | <Philip`> | I think so |
| 11:56 | <gDashiva> | 500 when you access search.cgi without a query :) |
| 11:58 | <Philip`> | 500 when you access it with a query, too |
| 11:58 | <Philip`> | Oh, no, it worked this time |
| 11:58 | <Hixie> | just finished writing them |
| 11:59 | <Philip`> | http://www.whatwg.org/demos/workers/stocks/search.cgi?%00 gives a peculiar error message |
| 11:59 | <Hixie> | heh |
| 12:00 | <Hixie> | appears to be an apache bug |
| 12:00 | <Hixie> | works ok at the command line |
| 12:00 | <zcorpan> | Hixie: isn't it try/catch, not try/except (in io.js)? |
| 12:00 | <Philip`> | Why does http://www.whatwg.org/demos/workers/stocks/search.cgi?GO return BGLH? |
| 12:01 | <Hixie> | because it matches "Goodger", which has stock ticker BGLH |
| 12:01 | <Hixie> | zcorpan: fixing |
| 12:01 | <Philip`> | Oh |
| 12:01 | <Hixie> | search with a blank string to see all the symbols it knows |
| 12:02 | <Hixie> | there's no way to determine what labels it is matching them against though |
| 12:02 | <Hixie> | short of a brute force attack |
| 12:02 | hsivonen | learns that the participant list of some W3C WGs is visible to Members only |
| 12:03 | <Philip`> | It seems kind of bad that http://www.whatwg.org/demos/workers/stocks/search.cgi?%47 doesn't work |
| 12:03 | <zcorpan> | http://www.whatwg.org/demos/workers/stocks/search.cgi?%00 gives 503 |
| 12:04 | <Philip`> | zcorpan: Old :-p |
| 12:04 | <zcorpan> | oh |
| 12:04 | <Hixie> | Philip`: for %xx -- eh, whatever :-) |
| 12:11 | <hsivonen> | I wonder which ones are most common: unquoted, double-quoted or single-quoted attributes |
| 12:11 | <hsivonen> | my guess is double-quoted |
| 12:11 | <Philip`> | Double-quoted, then single-quoted, then unquoted |
| 12:12 | <hsivonen> | Philip`: thanks |
| 12:12 | <Philip`> | or maybe not |
| 12:12 | <Philip`> | s/maybe// |
| 12:14 | <Philip`> | http://canvex.lazyilluminati.com/misc/statestats.txt - state transitions from some collection of documents: BeforeAttributeValueState -> AttributeValueDoubleQuotedState: 1505620 BeforeAttributeValueState -> AttributeValueUnquotedState: 137469 BeforeAttributeValueState -> AttributeValueSingleQuotedState: 50487 |
| 12:14 | <Philip`> | Argh, why does irssi forget to paste newlines? |
| 12:14 | <Philip`> | BeforeAttributeValueState -> AttributeValueDoubleQuotedState: 1505620 |
| 12:14 | <Philip`> | BeforeAttributeValueState -> AttributeValueUnquotedState: 137469 |
| 12:14 | <Philip`> | BeforeAttributeValueState -> AttributeValueSingleQuotedState: 50487 |
| 12:14 | <Philip`> | suggests double-quoted is most popular by far, and single-quoted is least |
| 12:15 | <hsivonen> | Philip`: thanks |
| 12:15 | <Philip`> | but I wouldn't necessarily recommend trusting me |
| 12:16 | <zcorpan> | Hixie: it would be nice with a close button on the spec updates box which makes the box disappear and not appear again until there's a later revision again |
| 12:16 | <Hixie> | remind me in a couple of days |
| 12:16 | <Hixie> | or just hit reload :-) |
| 12:17 | <zcorpan> | i've reloaded but it still says "You are reading r2025 but the latest revision is r2026" |
| 12:19 | <hsivonen> | It's fun how document published by Dublin Core Metadata Initiative start excessive visible metadata labeling |
| 12:20 | <hsivonen> | I would never have guessed that "Using Dublin Core" was the title if it hadn't "Title: " in front of it |
| 12:21 | <Hixie> | zcorpan: your browser is caching something |
| 12:23 | <Hixie> | ok, workers spec is stable for another 12 hours. bed time. |
| 12:30 | <zcorpan> | oh, 12h, maybe that'll be enough time to implement it |
| 12:32 | <hsivonen> | I wonder if HTML5 should define a mapping to Dublin Core from HTML5 and HTTP 1.1 native data |
| 13:08 | <Lachy> | hsivonen, why? Does anyone actually do anything useful with Dublin Core? |
| 13:09 | <hsivonen> | Lachy: DC is all the rage for archivists |
| 13:09 | <hsivonen> | Lachy: DC has useful parts like title |
| 13:10 | <hsivonen> | Lachy: DC also has utterly bogus parts like date |
| 13:10 | <hsivonen> | (date isn't a field. it's a datatype) |
| 13:11 | <hsivonen> | Lachy: (I'm not a big metadata believer. Participation in two goverment metadata projects made me a non-believer.) |
| 13:11 | <hsivonen> | government even |
| 13:12 | <hsivonen> | Lachy: we could define the obvious. |
| 13:12 | <Lachy> | I like metadata when it actually serves a useful purpose for users. Like embedding track title, artist and album cover art, etc. in music, videos. |
| 13:12 | <hsivonen> | like: <title> is the DC title |
| 13:12 | <hsivonen> | HTTP Content-Type is the DC format |
| 13:13 | <Lachy> | I just found most of the DC metadata was largely useless for documents on the web |
| 13:13 | <Lachy> | ok, mappings like those could work |
| 13:13 | <hsivonen> | Lachy: of course it is. there's always more value in writing software that looks at <title> than in writing software that look for DC.Title in meta |
| 14:01 | <gDashiva> | Anyone know the rationale for not allowing html entities in innerHTML on XHTML? |
| 14:02 | <annevk> | innerHTML simply uses an XML parser in that case without anything special |
| 14:03 | <gDashiva> | Yes, but why? |
| 14:04 | <annevk> | to not complicate things require support for things that are optional |
| 14:04 | <annevk> | or require* |
| 14:05 | <gDashiva> | Yet another roadblock to using xhtml |
| 14:07 | <Lachy> | gDashiva, how is missing entity refs a roadblock to using XHTML? |
| 14:08 | <Lachy> | they're not necessary. You can always use the numeric referece or JavaScript's \u#### syntax |
| 14:08 | <gDashiva> | Because innerHTML stops working where it used to work |
| 14:09 | <Lachy> | did any browser ever support entity refs in innerHTML for XHTML? |
| 14:09 | <gDashiva> | Opera does |
| 14:09 | <gDashiva> | I haven't tested safari |
| 14:09 | <Lachy> | even without the XHTML DOCTYPE in the document? |
| 14:10 | <gDashiva> | Yes |
| 14:11 | <gDashiva> | But if there's no doctype, it will error on entities in the initial markup |
| 14:13 | <takkaria> | why can't .innerHTML in XHTML use the html5 parser? |
| 14:14 | <hsivonen> | takkaria: Namespaces and tag inference |
| 14:15 | <annevk> | gDashiva, Opera doesn't use an XML parser for innerHTML afaict |
| 15:02 | gsnedders | is tempted to do some Pingback testing when he gets back home |
| 15:40 | <zcorpan> | http://simon.html5.org/test/html/dom/interfaces/HTMLElement/HTMLMediaElement/src/003.htm seems to freeze firefox |
| 15:42 | <Philip`> | Is it intentional that it claims to be testing "absent src=''" but actually has <source src="#">? |
| 15:46 | <mpilgrim> | Hixie: for class=note, class=issue screenreader problem -- try putting <span class="type">note</span> before each line, then hide it offscreen with span.type{display:block;position:absolute;top:-500px;width:1px;height:1px} |
| 15:47 | <mpilgrim> | jaws should read it but it won't show up in visual browsers |
| 15:47 | <mpilgrim> | adapted from http://code.google.com/p/doctype/wiki/ArticleAccessibility11 |
| 15:48 | <mpilgrim> | hmm, that page needs a link back to webaim's skiplinks article |
| 15:51 | <Philip`> | http://krijnhoetmer.nl/irc-logs/whatwg/20080805#l-32 |
| 15:52 | <mpilgrim> | well, great minds think alike |
| 15:52 | <zcorpan> | Philip`: yeah |
| 15:52 | <zcorpan> | Philip`: it doesn't have src on the <video>/<audio> element |
| 15:53 | <Philip`> | zcorpan: Oh, right |
| 16:09 | <csarven> | HTML5 appears to discontinue rel=section? In HTML4 @rel=section "Refers to a document serving as a section in a collection of documents." http://www.w3.org/TR/html401/types.html#type-links -- Would you say this is sort of talking about the common navigation items that lead to main sections of the site? |
| 16:10 | <jcranmer> | "JS and Flash must have the capacity to be slow... CSS... does not have to be slow" |
| 16:45 | <gsnedders> | Hixie: DuplicateTermException: dom-messageport-close (i.e., multiple dfns of it) |
| 16:52 | <annevk> | Hixie also made like 150 revisions |
| 17:01 | <gsnedders> | Hmm. |
| 17:01 | <gsnedders> | I still can't see why onreadystatechange isn't being called :\ |
| 17:06 | gsnedders | plays around with null bytes in HTTP headers |
| 17:28 | <gsnedders> | readystatechange isn't called when async=false in Gecko, as far as I can see |
| 17:29 | <gsnedders> | annevk: you have any idea? |
| 17:29 | <gDashiva> | gsnedders: It's a rather meaningless venture |
| 17:29 | <gsnedders> | gDashiva: Like life itself. |
| 17:29 | <gDashiva> | By the time the event can be handled, the entire request is finished |
| 17:30 | <gsnedders> | gDashiva: It works in Saf and Op and IE! |
| 17:32 | <annevk> | it's a bug |
| 19:45 | <takkaria> | the guy who's posting to whatwg in an aggressive tone about javascript seem to be an <term ns="http://diveintomark.org/archives/2004/08/16/specs">asshole</term> |
| 19:45 | <takkaria> | judging by his website, anyway |
| 20:06 | <zcorpan> | hah, i was just thinking "hmm, nothing has happened on the whatwg blog for a while" and when i take a look, markp has posted a "This week in HTML 5" that hasn't yet reached my feed reader |
| 20:06 | <hsivonen> | now that Troy McLure is blogging about the new alt, I wonder if there will be comments |
| 20:09 | <Hixie> | hey, mpilgrim++ |
| 20:09 | <Hixie> | i hope he does do that regularly! |
| 20:10 | <zcorpan> | hsivonen: pointer? |
| 20:10 | <annevk> | zcorpan, it's a reference to markp I believe |
| 20:11 | <zcorpan> | ah |
| 20:12 | <hsivonen> | http://blog.whatwg.org/omit-alt#comment-7771 |
| 20:12 | <hsivonen> | (should be McClure) |
| 20:14 | <hsivonen> | I feel that Namespaces have hurt me personally |
| 20:15 | <hsivonen> | perhaps I should blog about what proportion of lines of code in my XML serializer is devoted to prefix allocation |
| 20:15 | <zcorpan> | can something obvious be done in xml5 to make it better? |
| 20:16 | <hsivonen> | zcorpan: not as far as I can tell |
| 20:20 | <hober> | how, err, eloquent: http://blog.whatwg.org/omit-alt#comment-8380 |
| 20:22 | <Hixie> | i was going to edit it, but wordpress doesn't let me |
| 20:22 | <Hixie> | oh well |
| 20:27 | <Hixie> | ok i added a 'close' button, for whoever was asking for that |
| 20:28 | <annevk> | what did you want to do with the "fucker" comment? |
| 20:28 | annevk | can edit it |
| 20:28 | <Hixie> | nah it's ok |
| 20:29 | <Hixie> | i was going to change it to be very polite formal english and then leave a comment saying "edited for language" |
| 20:29 | <Hixie> | but it's a year old, who cares |
| 20:29 | <zcorpan> | Hixie: thanks! |
| 20:29 | <annevk> | fair enough |
| 20:29 | <Hixie> | for reference, how do you edit comments? |
| 20:32 | <zcorpan> | Hixie: though, it pops up again after 30s |
| 20:33 | <Hixie> | oh |
| 20:33 | <Hixie> | heh |
| 20:35 | zcorpan | wonders if the script could be made to work on the multipage version too, other than the first page |
| 20:36 | <Hixie> | man you people are never happy |
| 20:36 | <Hixie> | it probably could, speak to philip :-) |
| 20:37 | <zcorpan> | :) |
| 20:37 | <zcorpan> | Hixie: if you don't do anything, there's nothing to complain about :P |
| 20:38 | <zcorpan> | Hixie: when you do things there are always things that can be improved :) |
| 20:38 | <Hixie> | i'd complain if i did nothing :-P |
| 20:38 | <Hixie> | ok what simple demo can i do for shared workers |
| 20:38 | <Hixie> | i'm thinking maybe a party line demo |
| 20:41 | <annevk> | Hixie, log in, hit the edit button next to the comment |
| 20:41 | <gsnedders> | Hixie: DuplicateTermException: dom-messageport-close (i.e., multiple dfns of it) |
| 20:42 | <Hixie> | annevk: i didn't see an edit button |
| 20:44 | <annevk> | Hixie, next to the date? |
| 20:44 | <annevk> | (it's a link, not a button; sorry) |
| 20:44 | <Hixie> | oh yeah! |
| 20:48 | <zcorpan> | didn't the spec have "Big Issue:" markers before? |
| 20:48 | <zcorpan> | i seem to remember Lachy implemented them |
| 20:56 | <Hixie> | zcorpan: yes, went away when i wrote the annotation stuff |
| 20:57 | <Hixie> | sam just said it wasn't productive to address feedback on proposals |
| 20:57 | <Hixie> | that's... an interesting opinion |
| 20:58 | <hsivonen> | RDFa would be more importable to HTML5 if it used full URIs instead of CURIEs |
| 20:58 | <hsivonen> | that would remove the Namespace dependency and the qnames-in-content anti-pattern |
| 20:59 | <zcorpan> | hsivonen: i've been told that CURIEs don't depend on namespaces |
| 20:59 | <hsivonen> | zcorpan: how so? |
| 21:01 | <zcorpan> | wait let me dig it up |
| 21:09 | <zcorpan> | hmm can't find it in email, but i remember someone (rich?) saying that the xmlns mechanism is just one way to do CURIEs, you could equally well use any other mechanism like <meta> tags or other attributes |
| 21:10 | <zcorpan> | which left me even more confused |
| 21:10 | <hsivonen> | zcorpan: ah. no you need a mapping scope even if it isn't established by xmlns |
| 21:10 | <hsivonen> | zcorpan: it seems that you'd still get all the problems of mapping scopes |
| 21:11 | <zcorpan> | yes |
| 21:11 | <hsivonen> | Hixie: have you considered supporting RDFa with full URIs instead of CURIEs? |
| 21:13 | <zcorpan> | i don't understand what problem curies is trying to solve |
| 21:13 | <hsivonen> | zcorpan: they try the solve the problem of URIs being too long to be used as convenient identifiers |
| 21:14 | <hsivonen> | having the cake and eating it too |
| 21:14 | <zcorpan> | well apparently they weren't good enough for aria implementors :) |
| 21:15 | <zcorpan> | aria implementors wanted strings, not URIs |
| 21:15 | <Lachy> | Hixie, can you add one more link the spec update UI, pointing to: "http://html5.org/tools/web-apps-tracker?from=" + current_revision |
| 21:15 | <hsivonen> | I can't blame ARIA implementors for that |
| 21:15 | <Hixie> | hsivonen: to solve what problem? |
| 21:16 | <Hixie> | Lachy: :-P |
| 21:16 | <hsivonen> | Hixie: the problem of overlaying RDF-mappable metadata onto HTML with object literals as visible metadata without tantek's approval |
| 21:17 | <Hixie> | is that a rael problem? |
| 21:17 | <Hixie> | real, even |
| 21:17 | <hsivonen> | I don't know. |
| 21:18 | Hixie | moves on |
| 21:20 | <zcorpan> | i wonder if i should write a script that handles CURIEs correctly, just to see how ugly it gets |
| 21:21 | <hsivonen> | zcorpan: with which XML API? |
| 21:21 | <zcorpan> | hsivonen: no with javascript |
| 21:21 | <hsivonen> | zcorpan: I read DOM as the API :-) |
| 21:22 | <zcorpan> | fair enough :) |
| 21:22 | <hsivonen> | zcorpan: is it even *possible* to handle CURIEs correctly if the DOM tree has undergone arbitrary scripted mutations? |
| 21:22 | <hsivonen> | unless you do some bookkeeping before any mutations take place |
| 21:22 | <zcorpan> | well i didn't intend it to be performant |
| 21:23 | <hsivonen> | I mean bookkeeping like traversing the DOM tree and storing a snapshot of the namespace mapping scope locally at each element node before mutations |
| 21:25 | <Hixie> | Lachy: i added the link but it doesn't work, because the html5.org page is out of date (?) |
| 21:26 | <zcorpan> | Hixie: web-apps-tracker just tracks source, not whatwg-header |
| 21:26 | <Hixie> | oh, right, ok |
| 21:26 | <Hixie> | that would explain it |
| 21:26 | <Hixie> | so it'll work for the next revs :-) |
| 21:33 | <Lachy> | Hixie, thanks |
| 21:34 | <Lachy> | did someone else moderate the 2 comments in the blog's moderation queue already? I got mail about them being there, but they're gone now. |
| 21:37 | <hsivonen> | http://dubinko.info/blog/2008/07/28/erdf-11-proposal-discussion/ |
| 21:37 | <hsivonen> | A new profile string of: |
| 21:37 | <hsivonen> | "http://purl.org/NET/erdf11/profile" |
| 21:54 | <Lachy> | does eRDF prefixed class names with fixed prefixes, or with prefixes bound to a URI, like xmlns? |
| 21:55 | <hsivonen> | Lachy: bound to URI |
| 21:55 | <hsivonen> | in head |
| 21:56 | <Lachy> | ok. how unfortunate. |
| 21:57 | <Lachy> | it seems like using defined prefixes like foaf.depicts and cc.license would be sufficient |
| 21:57 | <hsivonen> | Lachy: how would that work for less known RDF vocabularies |
| 21:57 | <hsivonen> | ? |
| 21:58 | <hsivonen> | assuming you want to be able to map to RDF |
| 21:58 | <jgraham> | But Lachy what it I wanted to use cc.licese to represent the license plate of my clasic car ?!! |
| 21:58 | <hober> | heh |
| 21:59 | jgraham | wonders who the end users consuming all this RDF are |
| 21:59 | <hsivonen> | how about eRDF5: like eRDF but with full URIs? |
| 22:00 | <Lachy> | hsivonen, jgraham, it would require communication with the community to settle on a prefix for a common vocabulary |
| 22:01 | <hsivonen> | jgraham: feed RDF into Naked Objects and you get generated UIs: http://www.nakedobjects.org/tutorial/index.shtml |
| 22:01 | <Lachy> | jgraham, the RDF model seems to be built mostly with publishing metadata in mind, rather than actually making use of what's published |
| 22:02 | <Lachy> | I'm yet to see any killer app for RDF metadata, unlike the many that exist for microformats |
| 22:03 | <hsivonen> | I haven't seen a killer app for microformats |
| 22:03 | <Lachy> | hsivonen, I've seen people extracting hcard information and storing it in a user's address book |
| 22:04 | <Lachy> | there was a tool somewhere that, given a URL to a page with hcard, would spit out a vcard file |
| 22:04 | <hsivonen> | Lachy: I'd call that an application but not a killer one |
| 22:05 | <Lachy> | there's also various calendar webapps. |
| 22:05 | <Lachy> | hsivonen, perhaps not, it's more than I've seen for RDF |
| 22:06 | <Lachy> | we might start seeing more soon. Firefox 3 has built in support for microformats, exposed through some extension api, so extension developers can make use of it |
| 22:16 | Hixie | agrees with hsivonen |
| 22:17 | <Hixie> | the future of microformat type data as far as i can tell lies in heuristic analysers like those that detect addresses in e-mails in yahoo mail or google mail |
| 22:17 | <Hixie> | data that isn't explicitly structured, which the computer determines is of a particular type |
| 22:18 | <Hixie> | certainly so far we as a race have had better luck convincing computers to detect data than we have had convincing humans to mark it up |
| 22:19 | <roc> | depends on the data |
| 22:20 | <roc> | we haven't been successful at getting computers to extract programs from text, for example |
| 22:20 | <Hixie> | sure. i'm talking primarily about the kind of data a microformat or RDF would be used for. |
| 22:21 | <Hixie> | for things for which we typically use a whole format, e.g. documents, programs, images, etc, users seem willing to write data in a semi-structured way (usually using tools, though not always) |
| 22:27 | <othermaciej> | when it comes to user interface, even a fairly low rate of false-positive detection can be extremely irritating if it has a visible result |
| 22:27 | <Hixie> | indeed |
| 22:27 | <othermaciej> | thus, microformats are valuable as a higher-confidence indicator of particular structured data, perhaps trustworthy enough to decorate the UI |
| 22:28 | <othermaciej> | so far no one has turned this into a good UI |
| 22:28 | <Hixie> | so far it seems you get a better rate of detection if you rely on heuristics than if you rely on authors getting their semantics right |
| 22:28 | <othermaciej> | but it doesn't seem impossible |
| 22:28 | <othermaciej> | and many web sites have decent chunks of interesting microformat data |
| 22:28 | <othermaciej> | well, if microformats lead to a user-visible effect authors will be more likely to get them right |
| 22:28 | <hsivonen> | virtually all data detection in Mail.app is false positives |
| 22:29 | <Hixie> | othermaciej: <title> has a relatively high rate of bogus contents, to the point where google has to run heuristics on the contents of <title> to determine whether to show that or something else |
| 22:30 | <Hixie> | i guess maybe the right approach is more of a hybrid approach |
| 22:30 | <hsivonen> | Hixie: dc:title to rescue! |
| 22:30 | <othermaciej> | lol |
| 22:30 | <Hixie> | with the semantics being somewhat broad (e.g. <title>, as opposed to RDF triples) and the heuristics start from those hints and work from there |
| 22:30 | <Hixie> | s/start/starting/ |
| 22:49 | <Lachy> | wow, the Aurora concept browser is horribly cluttered. http://labs.mozilla.com/2008/08/introducing-the-concept-series-call-for-participation/ (see the first video on that page) |
| 22:50 | <Lachy> | http://www.pcpro.co.uk/news/216897/mozilla-reveals-the-firefox-of-the-future.html |
| 22:51 | <Lachy> | it has some nice hypothetical features in it though, not sure how implementable they are though. But the UI is so bad, it makes it unusable even if they could be implemented |
| 22:53 | <Hixie> | the idea of concept browsers isn't the ui, it's the features :-) |
| 22:56 | <roc> | "Firefox of the future"? I don't think so :-) |
| 22:56 | <Lachy> | I realise, that, but they should try to focus on presenting the features, instead of destroying the whole idea with over engineered and flashy UI |
| 22:57 | <Hixie> | to be honest i had too much trouble with the "scenario"-type presentation to actually see the ui |
| 22:57 | <Hixie> | i don't understand why people always waffle so much instead of just saying their piece and shutting up |
| 22:57 | <Hixie> | (though i'm sure i waffle sometimes too) |
| 22:59 | <roc> | the fact is, bling sells |
| 23:00 | <Lachy> | the second video with the history search feature is ok. Being able to search and filter history by both keywords and approximately when I visited a page is something I've wanted for a long time |
| 23:01 | <Hixie> | i've been telling people that search browsers should have full-text-search through history of all pages ever viewed (and no expiring ever) for some time |
| 23:01 | <Hixie> | the number of times i want to search for something i saw recently but can't find any more is mindboggling |
| 23:02 | <Lachy> | sometimes, i visit a page, close it and then want to return to it a couple of hours later. But then just searching for keywords doesn't help when I have about 6 months of browsing history |
| 23:02 | <Lachy> | I set my history expiration to 999 days |
| 23:02 | <roc> | you need good heuristics for searching all that data though |
| 23:03 | <roc> | I hate to be parochial, but FF3's urlbar search is better than Opera's for that reason, even though it indexes less data |
| 23:04 | <Lachy> | my opera profile isn't kept around long enough for me to have a decent history, since I'm always testing with internal builds. So I can't really comment on the quality of Opera's history search |
| 23:05 | <Lachy> | I use Firefox for personal stuff and opera for testing, to keep things separate |
| 23:05 | <roc> | you can't use the same opera profile across different internal builds? |
| 23:06 | <aboodman> | hello playmobil |
| 23:06 | <roc> | My Opera upgrades seem to preserve my profile just fine |
| 23:06 | <Lachy> | I can, but internal builds have so many bugs, I like to keep a more stable profile for everyday use separate from the testing profile. |
| 23:06 | <playmobil> | Hey there aboodman! |
| 23:06 | <Lachy> | also, running 2 separate instances of Opera, even with separate profiles, is confusing |
| 23:06 | Hixie | commits another workers example |
| 23:07 | <Hixie> | the longest one so far |
| 23:07 | <Hixie> | can't wait for people to implement workers so i can test these things! |
| 23:07 | <aboodman> | that reminds me |
| 23:07 | <aboodman> | Hixie: I had an idea for the gc issue |
| 23:08 | <Lachy> | Hixie, is the google gears team intending to update that to use this API to provide support in existing browsers? |
| 23:08 | <Hixie> | a lot of the gc stuff got simplified away last night |
| 23:08 | <Hixie> | but go ahead |
| 23:08 | <aboodman> | I wanted to write it up but you had too many responses to m yfeedback and I got distracted |
| 23:08 | <Hixie> | Lachy: no idea, ask aboodman :-) |
| 23:08 | <aboodman> | Lachy: no idea, ask playmobil |
| 23:08 | <Lachy> | LOL |
| 23:09 | <aboodman> | Hixie: your latest idea I think still doesn't work consistently |
| 23:09 | <aboodman> | if gmail opens a named worker on instance 1, then instance 2 |
| 23:09 | <aboodman> | then the user closes instance 1 |
| 23:09 | <aboodman> | then the behavior of xhr is different than if he had closed instance 2 first |
| 23:09 | <aboodman> | i fully admit this is a crazy edge case, but it irritates me that its inconsistent |
| 23:10 | <Hixie> | only if gmail doesn't keep a reference to instance 2 |
| 23:10 | <Hixie> | but yes |
| 23:10 | <Hixie> | i agree |
| 23:10 | <Hixie> | so |
| 23:10 | <aboodman> | what if instead, the list of things that i suggested keeps the worker live, but... |
| 23:10 | <Hixie> | i was thinking of not including the 'port' global for shared workers |
| 23:11 | <Hixie> | which would make it consistent, though bring back the odd behaviour for shared workers |
| 23:11 | <aboodman> | i don't like the port global anyway |
| 23:11 | <Hixie> | it makes the code so much easier, check out the examples |
| 23:11 | <Hixie> | but what was your idea? |
| 23:11 | <aboodman> | once all pages that ever had a MessagePort that refers to a worker unload, the worker is killed |
| 23:12 | <aboodman> | does that make sense at all? |
| 23:12 | <Hixie> | so basically make the lifetime be the maximum lifetime that it could have today, and prevent it from ever shutting down automatically before that? |
| 23:13 | <Hixie> | sure, i could buy that |
| 23:13 | <aboodman> | basically, workers are ref counted by the messages pending to them, and the messageports that are live, and the script running in them. this is what you have today. |
| 23:14 | <Lachy> | without the port global, what would be used instead of port.postMessage()? |
| 23:14 | <Hixie> | Lachy: see the example i just added |
| 23:14 | <aboodman> | additionally, things like httprequests that are pending can keep the worker alive past the point where it has no more references, but only if a page is alive that ever had a mesasgeport for that worker. |
| 23:14 | <Hixie> | oh, ok |
| 23:14 | <Hixie> | yeah i could buy that |
| 23:15 | <Hixie> | shall i go ahead and make those changes? |
| 23:15 | <aboodman> | i think it is better than what is there now |
| 23:16 | <Hixie> | agreed |
| 23:16 | <Lachy> | oh, ok. So listening for onconnect and getting a reference to the port from there. |
| 23:19 | <aboodman> | Hixie: you say that MessagePort implements EventTarget, but I don't see it in the interface description |
| 23:19 | <aboodman> | is there some convention that I am missing? |
| 23:20 | <Hixie> | search for "eventtarget" |
| 23:20 | <Hixie> | oops, i made the wrong object implement it |
| 23:20 | <Hixie> | my bad |
| 23:20 | <Hixie> | let me fix that |
| 23:20 | <Hixie> | as soon as i've done this lifetime change |
| 23:24 | <aboodman> | and as long as I have you |
| 23:24 | <aboodman> | utils-- |
| 23:24 | <aboodman> | i will send mail with all this too |
| 23:25 | <Hixie> | utils was sicking's idea, basically he said we shouldn'e be poluting the global scope with new features over time as it will cause clashes |
| 23:25 | <Hixie> | (a lesson to learn from Window) |
| 23:25 | <Hixie> | hey so what happens if you have a Window |
| 23:25 | <Hixie> | and it creates a worker |
| 23:26 | <Hixie> | and that worker creates a worker |
| 23:26 | <Hixie> | and the nested worker then starts an XHR |
| 23:26 | <Hixie> | and everyone drops their references so all the ports get GC'ed |
| 23:28 | <aboodman> | so first of all, I think workers count as 'asynchronous things' |
| 23:28 | <aboodman> | (we need a better word) |
| 23:28 | <aboodman> | so a nested worker could keep its parent alive same as an xhr |
| 23:29 | <Hixie> | so if a worker creates a worker, those two workers can never die until the window is closed? |
| 23:29 | <Hixie> | that seems bad |
| 23:29 | <aboodman> | no they can die |
| 23:29 | <aboodman> | if they aren't doing anything and no ports or mesages reference them |
| 23:29 | <Hixie> | this is going to be the most complicated set of conditions i have ever written |
| 23:29 | Hixie | flexes his wrists |
| 23:29 | <aboodman> | agree |
| 23:30 | <aboodman> | stop me if it won't work, it's just an idea |
| 23:31 | <aboodman> | i haven't thought through nested workers |
| 23:31 | <aboodman> | nested workers are another thing i could live without |
| 23:31 | <Hixie> | i see no reason why it shouldn't work, it'll just be a bitch to write in english |
| 23:31 | <Hixie> | but that's what i do |
| 23:31 | <Hixie> | :-) |
| 23:31 | <roc> | I haven't really been paying attention, but how about saying that closing a window stops all workers it owns; any other early termination is just an optimization only |
| 23:31 | <roc> | *and* provide a method for transferring ownership explicitly |
| 23:31 | <Hixie> | roc: workers can be shared between windows, like XHR objects and so on |
| 23:31 | <Hixie> | oh |
| 23:31 | <Hixie> | hm |
| 23:32 | <Hixie> | that seems like it's pushing the complexity on the author |
| 23:32 | <roc> | complicated constraints are also complexity for the author |
| 23:32 | <Hixie> | not necessarily |
| 23:35 | <roc> | your call. Just thought I'd mention it as an option |
| 23:35 | <aboodman> | ideally, the issue of when workers shut down doesn't come up |
| 23:35 | <aboodman> | they just sort of do the right thing |
| 23:35 | <aboodman> | from an author's point of view |
| 23:36 | <aboodman> | and all the complexity is pushed onto UA developers |
| 23:38 | <roc> | of course, that's always the goal for every feature |
| 23:38 | <roc> | another tradeoff to keep in mind is that you don't want to create mysterious worker leaks |
| 23:42 | <aboodman> | yep |
| 23:42 | <aboodman> | i think my proposal achieves both of these (no mysterious leaks and 'does the right thing') |
| 23:42 | <aboodman> | complexity is another issue |
| 23:45 | <Hixie> | aboodman: ok http://www.whatwg.org/specs/web-workers/current-work/#the-workers |
| 23:45 | <Hixie> | text with a green underline is a reference to the main html5 spec |
| 23:46 | <Hixie> | i haven't set up cross-references cross-spec yet |
| 23:46 | <Hixie> | i got rid of the "front line" stuff too |
| 23:48 | <Hixie> | aboodman: fixed the eventtarget thing |
| 23:48 | <aboodman> | looking |
| 23:49 | <aboodman> | i just sanity tested the lifetime idea with michaeln |
| 23:49 | <aboodman> | he said it seemed reasonable |
| 23:49 | <aboodman> | i am not sure about nested worker |
| 23:49 | <aboodman> | do we really need workers creating workers? |
| 23:49 | <Hixie> | sure, why not? |
| 23:49 | <Hixie> | seems a bit weird to disallow it |
| 23:50 | <Hixie> | especially since you can always just create a worker and pass the channel port to the worker |
| 23:50 | <aboodman> | http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#messageport0 |
| 23:50 | <Hixie> | so it's not like you'd remove complexity by not allowing it |
| 23:50 | <aboodman> | i still don't see it |
| 23:50 | <Hixie> | oh MessagePort! |
| 23:50 | <Hixie> | i thought you meant WorkerGlobalScope |
| 23:50 | <aboodman> | same question for both |
| 23:52 | <Hixie> | hm yes, MessagePort isn't right |
| 23:52 | Hixie | fixes |
| 23:53 | <Hixie> | fixed, see just below the idl |
| 23:53 | <aboodman> | what should i look for in the worker document about lifetime |
| 23:53 | <Hixie> | http://www.whatwg.org/specs/web-workers/current-work/#the-workers |
| 23:54 | <Hixie> | section "2.4 The worker's ports |
| 23:54 | <Hixie> | " |
| 23:54 | <Hixie> | and then search for "Closing orphan workers" which uses those erms |
| 23:54 | <Hixie> | terms |
| 23:55 | <aboodman> | sorry , but I still see nothing about 'EventTarget' near 'interface MessagePort' |
| 23:56 | <aboodman> | dang, now i see it |
| 23:56 | <aboodman> | so, why don't these IDL files use " : EventTarget" ? |
| 23:56 | <aboodman> | that would be more clear |
| 23:56 | <Hixie> | they don't inherit from EventTarget |
| 23:57 | <aboodman> | err... |
| 23:57 | <Hixie> | it's just that that one object implements several interfaces |
| 23:57 | <aboodman> | why not say that MessagePort inherits EventTarget |
| 23:58 | <Hixie> | why would you say that? what about all the other interfaces that it might implement one day? |
| 23:58 | <Hixie> | e.g. the way Document implements Document, HTMLDocument, SVGDocument, EventTarget, etc |
| 23:58 | <Hixie> | Document inherits from Node |
| 23:58 | <Hixie> | because a Document is-a Node |
| 23:59 | <aboodman> | i see your question |
| 23:59 | <aboodman> | in many languages there is a way to say "implements" |
| 23:59 | <aboodman> | i'm requesting this for WebIDL |
| 23:59 | <Hixie> | that might be useful, yes |
| 23:59 | <Hixie> | we'd also need the opposite, "is implemented by" |
| 23:59 | <Hixie> | i requested both of these some time ago i believe :-) |