04:23 | <Hixie> | fantastic. i have a pile of code a mile high and it finds one obscure canvas performance bug in webkit and one obscure canvas clearRect(?) bug in gecko. |
04:23 | <Hixie> | and i basically have no way to make minimised test cases for them. |
04:23 | <Hixie> | sigh. |
04:24 | <shetech> | gotta love obscure finds. |
05:45 | <Hixie> | nice. webkit has a huge slowdown bug with clip() _and_ doesn't support the last argument to fillText(). |
05:46 | <Hixie> | so basically there's no easy way to clip user-provided text in webkit |
05:46 | <Hixie> | meanwhile, gecko has some crazy bug with clearRect() where it's not actually clearing the whole rect, unless i first call fillRect() on the whole canvas, then it works fine... |
06:35 | <Hixie> | i'm all for experimental implementations of css features getting prefixes |
06:35 | <Hixie> | but when EVERYONE implements the feature, can we move on already? |
06:35 | <Hixie> | https://developer.mozilla.org/en/CSS/-moz-linear-gradient#Cross-browser_gradients is just ridiculous. |
06:36 | <zewt> | on the other hand, everyone's probably afraid of being That Guy that releases something unprefixed and ends up preventing some fix or another... |
07:02 | <Hixie> | zewt: imho, the experimental prefixes should only be used with experimental features, not specced things. |
07:02 | <Hixie> | zewt: the problem is the csswg iterate for far too long instead of freezing fast like we do with the html spec |
07:03 | <Hixie> | they probably end up with more well-thought-out APIs eventually |
07:03 | <Hixie> | but in the meantime, we have to suffer through years of silliness :-) |
07:04 | <Hixie> | in other news, webkit has much prettier 'inset' and 'outset' border colours than firefox and opera |
07:04 | <zewt> | well, i've seen plenty of complaining on the lists about releasing APIs unprefixed too soon |
07:06 | <zewt> | with the way specs are developed these days, it might be worth clarifying somehow when the editor considers a spec stable enough for unprefixed implementations |
07:06 | <zewt> | seems like that's very fuzzy currently |
07:07 | <zewt> | the websocket thread a week ago comes to mind |
07:07 | <Hixie> | websocket had the worst of both worlds |
07:07 | <Hixie> | it didn't have prefixes, _and_ it wasn't fast-freeze |
07:07 | <Hixie> | the ietf really screwed that one over |
07:08 | <zewt> | i remember grumbling about blobs during the blob.slice thread, though to me the blob api seemed stable enough by then that it's hard to blame people for not prefixing it |
08:09 | <janv_> | hixie: I think textContent should be changed to text in "4.11.5.4 Using the option element to define a command" |
11:51 | <jgraham> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1098 <-- anyone want to explain the behaviour of that in Gecko/WebKit to me? |
11:53 | <zcorpan> | jgraham: the "2" script is async? |
11:54 | <jgraham> | Hmm was this the big thread a while ago? |
11:55 | jgraham | concludes that hsivonen should not be allowed to take vacation :) |
11:55 | <zcorpan> | the thread with LABjs? |
11:56 | <jgraham> | Yeah |
11:57 | <zcorpan> | i think gecko had the same behavior for this case before that thread, that appendChilded scripts with src are async |
11:57 | <jgraham> | I thought it was the other way around, that WebKit had this behaviour first and gecko copied it. But maybe I am wrong |
11:57 | <zcorpan> | could be |
11:58 | <jgraham> | Either way it doesn't seem to match the spec afaict |
11:58 | <jgraham> | But I could easilly be missing something |
11:59 | <jgraham> | Hmm, maybe the force-async flag is relevant |
12:01 | <Ms2ger> | Yes, it would be |
12:05 | <jgraham> | So it would fall into the 5th clause of step 15 of the "prepare a script" algorithm. It's not really clear to me why there would be a big difference between the 4th and 5th clauses here though |
12:07 | <jgraham> | (the difference seems to be that the 4th clause ensures the relative order of appendChild inserted scripts, but the 5th does not) |
12:07 | <jgraham> | +external |
12:08 | <Ms2ger> | That's what @async means, no |
12:08 | <Ms2ger> | ? |
12:09 | <zcorpan> | it wouldn't make any difference for this case since there's only one appendChilded script, right? |
12:09 | <jgraham> | Right. But if one didn't have force-async set in this case, you might expect the appendChilded script to execute before the following parser-inserted script |
12:10 | <Ms2ger> | Expect based on what? |
12:10 | <Ms2ger> | Locig? See the topic :) |
12:10 | <Ms2ger> | Locig, really? |
12:11 | Ms2ger | blames his keyboard |
12:11 | <jgraham> | Expect based on the idea that people want a way to control the order of script execution |
12:12 | <matjas> | .async = false |
12:12 | <Ms2ger> | And not block the parser |
12:12 | <jgraham> | Well you can have one or the other |
12:13 | <jgraham> | Setting .async to false doesn't seem to have an effect |
12:13 | <jgraham> | Similarly clearing the force-async flag doesn't seem to have an effect in this case |
12:13 | <jgraham> | (it appears that setting and unsetting the async content attribute will do that) |
13:06 | <matjas> | jgraham: IIRC setting .async = false on a dynamically inserted script makes sure that the source order is respected as far as dynamically inserted scripts go |
13:07 | <jgraham> | matjas: Possibly. If that is the case I am missing the spec text that ensures it |
13:07 | <Ms2ger> | But not relative to parser-inserted scripts |
13:08 | <matjas> | Ms2ger: exactly |
13:08 | <matjas> | jgraham: http://hsivonen.iki.fi/script-execution/ |
13:09 | <jgraham> | Oh, yeah, sorry I misread you |
13:11 | <MikeSmith> | cool to see janv_ working on the HTML5 context-menu feature |
13:11 | <MikeSmith> | http://hg.mozilla.org/mozilla-central/rev/561821863607 |
13:14 | <jgraham> | matjas: Yeah, I have read that blog entry before, but this kind of thing is easy to not fully understand until you actually need to solve a problem |
13:14 | <jgraham> | At least for me |
13:14 | <matjas> | MikeSmith: what’s with the `data://www.mozilla.org/favicon.ico`? |
13:14 | <MikeSmith> | hmm |
13:14 | <MikeSmith> | matjas: no idea |
13:16 | <Ms2ger> | Just something invalid to test error handling? |
13:17 | <matjas> | Ms2ger: ah, duh |
13:23 | matjas | would’ve used data:lolwut |
13:23 | <MikeSmith> | heh |
13:24 | <Ms2ger> | lolwut |
13:25 | <MikeSmith> | so I wonder how well Google Swiffy works |
13:26 | <MikeSmith> | http://swiffy.googlelabs.com/faq.html says "Swiffy supports most of the features in Flash 5" but does that mean you can take most Flash 5 content and generate usable output from it? |
13:27 | <MikeSmith> | being able to author with Flash dev tools and generate Web-platform output is a pretty powerful thing, if it actually works |
13:29 | <robman> | wouldn't being able to author using the Web-platform to generate Web-platform be even betterer MikeSmith? 8) |
13:30 | <MikeSmith> | robman: no, not necessarily |
13:30 | <MikeSmith> | not at all, really |
13:31 | <robman> | really...i hate having to run windows/macosx to run adobe tools |
13:31 | <MikeSmith> | I hate using windows/macosx to do anything |
13:31 | <MikeSmith> | linux too |
13:32 | <MikeSmith> | OSes suck |
13:32 | <MikeSmith> | all of them |
13:32 | <jgraham> | MikeSmith: Presumably the flash tools will produce output that is no better than flash in many ways |
13:32 | <robman> | 8) |
13:32 | <robman> | MikeSmith - well you got me there |
13:33 | <MikeSmith> | jgraham: well, the point is the tools make things much easier for devs, they are very good tools in terms of the usability, user-friendliness, ease-of-use or however you want to term it |
13:34 | <jgraham> | Having nice tools is of course good |
13:34 | <jgraham> | But I imagine it will be easy to produce content that is inaccessible to search engines, screenreaders, etc. and hard to do the reverse |
13:34 | <MikeSmith> | in comparison as far as similar tools for producing Web-platform output natively, we are at the level of caveman rubbing sticks together to make fire |
13:35 | <MikeSmith> | jgraham: yeah, point taken |
13:35 | <MikeSmith> | the platform is full of tradeoffs |
13:35 | robman | like fire |
13:35 | robman | grunts |
13:35 | <MikeSmith> | heh |
13:36 | MikeSmith | is reminded of the "Fire bad!" scene in Young Frankenstein |
13:36 | <robman> | 8) |
13:38 | <MikeSmith> | "Ladies and gentlemen of the jury, I'm just a caveman. I fell on some ice and later got thawed out by some of your scientists. Your platform frightens and confuses me" |
16:07 | <zcorpan> | Ms2ger: you read www-archive? |
16:07 | <Ms2ger> | I skim it sometimes |
16:07 | <zcorpan> | i saw an email from björn with tests for XMLSerializer/DOMParser |
16:09 | <Ms2ger> | Saw those |
16:10 | <Ms2ger> | Those are somewhere near the bottom of my todo list |
16:10 | <zcorpan> | k |
16:50 | <cryptopsy> | is there a printable reference for html5 on whatwg.org ? |
16:51 | <Ms2ger> | cryptopsy, whatwg.org/html has a link hidden in the header, IIRC |
16:52 | <cryptopsy> | news, specs, demo, charter ... |
16:53 | <Ms2ger> | Did you miss the /html? |
16:54 | <Ms2ger> | PDF print versions: |
16:54 | <Ms2ger> | A4: http://www.whatwg.org/specs/web-apps/current-work/html-a4.pdf |
16:54 | <Ms2ger> | Letter: http://www.whatwg.org/specs/web-apps/current-work/html-letter.pdf |
16:55 | <cryptopsy> | how did you find that? |
16:56 | <Philip`> | By going to http://whatwg.org/html then reading it, I expect :-) |
16:56 | <Ms2ger> | And knowing where it was |
16:56 | <Philip`> | I suppose that helps too |
16:59 | <jgraham> | cryptopsy: Basically there are three stages: 1) Become a Hixie fanboi and hang on his every edit b) Get asked question about the spec c) Use knowledge gained from a) to answer b) and so impress girls/boys (depending on preference) |
16:59 | <cryptopsy> | i looked at the header for whatwg.org |
17:00 | <cryptopsy> | jgraham: i'm new to webdev, don't the html people publish a reference or spec for people to base on? |
17:00 | <cryptopsy> | thanks |
17:00 | <cryptopsy> | Ms2ger: ^ |
17:00 | <jgraham> | cryptopsy: Base what on? |
17:01 | <Ms2ger> | whatwg.org/html |
17:01 | <cryptopsy> | some sort of document that lists all the possible tags and their usage, like how LaTeX has? |
17:01 | <jgraham> | The spec is big and complex and user unfriendly because browsers are big and complex and their codebases are unfriendly |
17:01 | <cryptopsy> | jgraham: where is this spec? i need those additional details |
17:01 | <zewt> | friendly enough to me |
17:01 | <cryptopsy> | zewt: now you're just teasing me .. |
17:01 | <zewt> | perhaps in part due to years of reading specs from ietf and friends |
17:01 | <jgraham> | And the spec is designed to allow different big unfriendly browsers to get on without having an all out war and destroying all the little people |
17:02 | <jgraham> | cryptopsy: But for authors all the complexity isn't usually needed |
17:02 | <zewt> | jgraham: depends heavily on what part of the system you're looking at, though |
17:02 | <zewt> | some parts are easier to understand clearly from the spec than other docs |
17:02 | <jgraham> | There is a stylesheet you can apply that will remove implementation requirments from the spec |
17:03 | <dglazkov> | good morning, Whatwg! |
17:03 | <jgraham> | Or you can look at http://dev.w3.org/html5/markup/ |
17:03 | <zewt> | in one limited slice of the planet, i suppose |
17:04 | <cryptopsy> | jgraham: true |
17:04 | <jgraham> | zewt: "i'm new to webdev" does suggest that the finer points of how to schedule scripts might be a few orders of magnitude too complex at this stage |
17:05 | <cryptopsy> | not new to browsers and encoding though |
17:05 | <zewt> | someone new to web development probably wants any 101 documentation and some code to squint at, anyway |
17:05 | <cryptopsy> | im not using this to make a blog or post pictures of cats and my 95 year old grandmother |
17:05 | <zewt> | poor cats/grandmothers |
17:06 | <cryptopsy> | so where's this super detailed doc at? |
17:07 | <zewt> | i'm not sure we know what you're asking for |
17:08 | <zewt> | if you want a list of tags, jgraham's link gives that |
17:11 | <zewt> | the actual spec for html elements is at http://www.whatwg.org/specs/web-apps/current-work/complete/#auto-toc-4 |
17:13 | <zewt> | the stuff in there is really not all that scary, IMO |
17:13 | <Ms2ger> | zewt, that section does include many of the finer points of script timing ;) |
17:14 | <zewt> | as with any detailed documentation, you do have to recognize when to skip a section you don't care about :) |
18:06 | <TabAtkins> | telnet towel.blinkenlights.nl |
18:06 | <TabAtkins> | do it now |
18:06 | <TabAtkins> | NOW |
18:37 | <hober> | classic |
20:12 | <Hixie> | janv_: agreed; can you file a bug or send e-mail? (filing a bug is really easy; just use the little text field in the bottom right of the spec) |
20:27 | <jarek> | Hi |
20:28 | <Ms2ger> | Evening |
20:28 | <jarek> | Let's say there is an iframe that is 1000px wide and that was scaled down with CSS3 transforms by half with '-webkit-transform: scale(0.5)' |
20:28 | <jarek> | should the media queries inside the iframe assume that its width is 1000px or 500px? |
20:29 | <jarek> | on Safari they assume that the width is 500px, on Chrome they assume 500px |
20:29 | <jarek> | no, I mean the opposite |
20:30 | <jarek> | On Chrome scalling an iframe does not change the behavior of media queries |
20:30 | <jarek> | is this a bug? |
20:31 | <jarek> | s/ on Safari they assume that the width is 500px, on Chrome they assume 500px/ on Safari they assume that the width is 500px, on Chrome they assume 1000px |
20:32 | <espadrine> | The spec states that in a <script> with a src="", the content of <script>...</script> can only be comments. |
20:32 | <espadrine> | Is this implemented in major browsers? |
20:32 | <Philip`> | espadrine: That is purely an authoring conformance requirement, it doesn't affect browsers |
20:33 | <Philip`> | (Browsers don't run the content of the script element at all, regardless of what's in there, if it has a src attribute) |
20:34 | <espadrine> | Philip`: ok. Makes sense. |
20:34 | <Philip`> | (The requirement is there as a way of warning authors when they think they've written script code that will get executed but won't) |
20:34 | <espadrine> | Do you still get it through script.text though? |
20:34 | <Philip`> | (without making loads of existing pages that put comments inside scripts non-conforming) |
20:34 | <Ms2ger> | Yep |
20:35 | <smaug____> | hmm, probably too late to change message channels :( |
20:36 | <espadrine> | ok |
20:36 | <smaug____> | though, they are not yet implemented everywhere, so web doesn't really depend on them |
21:06 | <zcorpan> | smaug____: what would you want to change with message channels? |
21:08 | <smaug____> | still reviewing all the stuff, but I think I'd like to remove MessageChannel :) |
21:09 | <smaug____> | I guess it would be quite hard to convince others to do that. |
21:10 | <zcorpan> | why remove? |
21:10 | <smaug____> | there is no real use for it |
21:12 | <zcorpan> | hmm |
21:12 | <smaug____> | I'd rather do something like var newPort = otherWindow.createPort("portName"); newPort.postMessage("foobardata"); |
21:18 | <smaug____> | the whole port transfer is quite awkward |
21:18 | <zcorpan> | yeah i must say i get confused by the ports thingies |
21:19 | <zcorpan> | but i don't know what a better api would be |
21:19 | <zcorpan> | i look forward to your conclusions and proposals |
21:19 | <smaug____> | well, just create a new port and the other end could get "connect" event which had .port as a property |
21:31 | <smaug____> | Hixie: ping |
21:54 | <Hixie> | smaug____: pong |
21:55 | <smaug____> | Hixie: what is the use case for MessageChannel? |
21:55 | <smaug____> | why not just create ports on both sides |
21:55 | <Hixie> | both sides of what? |
21:55 | <Hixie> | the use case is the capabilities model. bascially the ability to send someone an API endpoint. |
21:55 | <smaug____> | but why? |
21:56 | <Hixie> | why what? |
21:56 | <smaug____> | why you need the ability to send API endpoint |
21:56 | <smaug____> | why couldn't you just create end point on both sides |
21:56 | <Hixie> | both sides of what?? |
21:56 | <smaug____> | say, you have two windows... |
21:57 | <smaug____> | var port = otherWindow.createPort("name-of-the-port"); // this would cause "connect" event in the otherWindow |
21:57 | <smaug____> | similar could work with workers |
21:57 | <Hixie> | you don't know how you've got on the other end, that's the whole point |
21:57 | <Hixie> | say you are providing an API to, I dunno, add someone to a contact list |
21:58 | <Hixie> | say you're a webmail app |
21:58 | <Hixie> | and you have a contact list |
21:58 | <Hixie> | and the contact list has an API, and one of the operations is "add someone to the contact list" |
21:58 | <smaug____> | and? |
21:58 | <Hixie> | if another part of the app wants to add someone to the contact list, they could get the local contacts API object, and then ask it to add to the contac tlist |
21:59 | <Hixie> | but what if the contact list wants to be implemented in another thread? |
21:59 | <Hixie> | now the contact API has to proxy everything though |
21:59 | <Hixie> | what if it's in another domain? now you have to proxy through to an iframe and then from there to the worker, etc |
22:00 | <Hixie> | now say that the contact list wants to grant the original user of this API the right to delete the user they added, but no other |
22:00 | <Hixie> | how would you do it? |
22:00 | <Hixie> | with message channels, you can do all this trivially. |
22:00 | <Hixie> | there's no need to proxy anything -- the messages just end up at the right end point |
22:00 | <smaug____> | ah, you want to move the port first via window level postMessage and then post it to a worker? |
22:01 | <Hixie> | there's no need to worry about permissions, you just give back a port and then whoever has that port can just delete that one contact. |
22:01 | <Hixie> | etc. |
22:01 | <Hixie> | for example, yeah |
22:01 | <Hixie> | this is just a specific example of the capabilities programming model |
22:01 | <Hixie> | it's like functional programming, it's just a style |
22:01 | <Hixie> | i mean it's like saying "what's the use case for functions being first-class objects" |
22:01 | <Hixie> | or "what's the use case for object-orientated programming" |
22:02 | <smaug____> | it is just quite awkward |
22:02 | <Hixie> | it's just another tool |
22:03 | <Hixie> | (a very powerful one, much like oop and lambdas) |
22:03 | <Hixie> | how is it awkward? |
22:03 | <smaug____> | when for common cases creating ports could be enough |
22:03 | <smaug____> | no need to transfer anything |
22:03 | <Hixie> | ? |
22:03 | <smaug____> | but ok, what you explained is something which isn't clear when reading the drafts |
22:04 | <Hixie> | yeah the drafts assume you know this programming style and that you'll recognise it :-) |
22:04 | <Hixie> | i should probably have an intro section that explains it or something |
22:04 | <Hixie> | but i'm not good at explaining it |
22:04 | <smaug____> | Also, "objects listed in transfer have already been transfered once before, then throw a DATA_CLONE_ERR exception and abort these steps" is easy to misread |
22:05 | <smaug____> | since I wasn't sure whether one can re-transfer a port |
22:05 | <Hixie> | that refers to the objects, not the underlying port, but yeah, i see what you mean |
22:06 | <smaug____> | I still don't see the need to MessageChannel |
22:06 | <smaug____> | for |
22:06 | <smaug____> | If one could create ports using createPort or such |
22:06 | <Hixie> | createPort === MessageChannel |
22:06 | <smaug____> | very much so |
22:06 | <Hixie> | MessageChannel is nothing but a port constructor |
22:07 | <smaug____> | and a bit strange one |
22:07 | <smaug____> | since I the idea is that the other port is sent to somewhere |
22:07 | <Hixie> | are you familiar with unix socket programming? |
22:07 | <smaug____> | yes |
22:07 | <Hixie> | think of ports as pipes. |
22:07 | <Hixie> | or rather, sockets |
22:08 | <Hixie> | when you create a pipe (two sockets) you get both end points |
22:08 | <smaug____> | sure |
22:08 | <Hixie> | in exactly the way MessageChannel gives you two ports |
22:08 | <Hixie> | this is just trying to bring that programming model to JS authors |
22:08 | <smaug____> | but why do you need both ends |
22:08 | <smaug____> | when you're going to use one end in one context and the other some other context |
22:11 | <Hixie> | i don't understand the question |
22:11 | <smaug____> | MessageChannel creates two ports in the same context |
22:11 | <smaug____> | and then usually, I assume, the other port is sent to otherWindow or worker or whatever |
22:11 | <smaug____> | right? |
22:11 | <Hixie> | it can be, doesn't have to be |
22:11 | <smaug____> | but that is the basic use case, right? |
22:11 | <Hixie> | just like when you create a pipe you often pass one socket to somewhere else |
22:12 | <smaug____> | Why couldn't you just call otherWindow.createPort() which would create one end in the executing context and one port in otherWindow |
22:12 | <smaug____> | if you really want to, you could call window.createPort() |
22:12 | <Hixie> | so you'd have otherWindow.createPort, worker.createPort, port.createPort, etc? |
22:12 | <smaug____> | yes |
22:13 | <Hixie> | that would be like having Object.addFunction, Array.addFunction, String.addFunction, etc, instead of having a Function constructor |
22:13 | <Hixie> | i mean i guess it's fine, but it's certainly not what i would describe as neat orthogonal api design |
22:13 | <smaug____> | that would be like having addEventListener in all the EventTarget objects |
22:14 | <Hixie> | no, addEventListener() doesn't create anything |
22:15 | <smaug____> | actually, window, worker and port should all inherit, if possible, some comment base interface |
22:15 | <smaug____> | s/comment/common/ |
22:15 | <Hixie> | well they all inherit from EventTarget now so that's not an option anymore |
22:15 | <smaug____> | you could add something between eventtarget and the current interface :) |
22:15 | <Hixie> | anyway sometimes you just want a standalone message channel because you're goign to be passing it to a callback |
22:16 | <Hixie> | the fact that you're going to send the port to someone else is not something you should need to care about when you're creating the port |
22:16 | <Hixie> | the port itself is just a capability endpoint |
22:16 | <Hixie> | you might keep it in your context, or you might not |
22:16 | <Hixie> | that's besides the point |
22:17 | <zewt> | passing them around with structured clone also means you're passing them around with an existing communications interface, rather than defining a separate event |
22:18 | <smaug____> | I thought the point is to create communication channels between different "contexts" |
22:18 | <zewt> | eg. so you can receive a message { type: "email", target: "user⊙ec", portForThisInterface: aMessagePort } |
22:19 | <Hixie> | smaug____: no, the point is to create a capability token. |
22:19 | <smaug____> | huh |
22:19 | <Hixie> | smaug____: it just so happens that many times, this will be used in a different context, because in the same context you could get the same effect with a simple function reference |
22:19 | <smaug____> | anyway, as of now, I don't think we have plans to implement MessageChannels |
22:20 | <Hixie> | the capability programming people will be sad |
22:23 | <smaug____> | and, for the common case createPort would make more sense |
22:23 | <Hixie> | common case of what? |
22:23 | <zewt> | smaug: not really |
22:23 | <smaug____> | that you want to enable communication between two different contexts |
22:23 | <Hixie> | no |
22:23 | <Hixie> | capability tokens aren't about communicating between different contexts |
22:24 | <zewt> | it'd separate port creation from other messages, so if you want to create a port with other information attached to it (a description of the port so the other side knows what to do with it), you'd end up duplicating messaging functionality |
22:24 | <Hixie> | any more than object orientated programming is about, say, allocating memory. or function dispatch. |
22:24 | <Hixie> | they're related, but that's no the point of the feature. |
22:24 | <smaug____> | in practice port is all about communication, like sockets |
22:25 | <Hixie> | i would imagine that most people writing code that creates capability tokens have the code creating the token quite separate from the communication bootstrapping code |
22:29 | smaug____ | disagrees, but knew that trying get rid of MessageChannel would be hard :) |
22:29 | <Hixie> | you didn't even know what capability tokens were an hour ago, i don't think you have much credibility in terms of opinions on how caps programming is done :-P |
22:30 | <smaug____> | that is not the point |
22:30 | <smaug____> | the point is to have easy to use APIs for web devs |
22:33 | <Hixie> | i'm sure we can all agree on that point |
22:39 | <Hixie> | if anyone has opinions on http://www.w3.org/Bugs/Public/show_bug.cgi?id=12306 it would be helpful if you could put them in the bug. Right now I'm leaning towards leaving the MUST in, which makes a lot of <canvas>-based apps non-conforming currently (especially games). |
22:41 | <Hixie> | hober: any chance we can get the csswg to use bugzilla? |
22:43 | <jgraham> | Hixie: I think that bug is angels on the head os a pin stuff that will have no effect on any part of the real world. So I wouldn't spend any time on it |
22:43 | <jgraham> | I also agree that having to pass around message ports seems weirdly cumbersome, but it does sound quite powerful |
22:46 | <Hixie> | unless you're using their power, you're really not going to need to send them over at all, as far as i can tell. for example workers create them implicitly. |
22:46 | <jgraham> | (it might alos be nice if the spec used the word "connected" rather than "entangled" since afaict that is the concept that you are expressing) |
22:46 | <Hixie> | i try to use different words so that you can more easily search for them |
22:46 | <Hixie> | "connect" is used for far too many concepts already |
22:47 | <jgraham> | In this case it sounds like you chose a difficult sounding word at random from a physcs textbook :) |
22:47 | <jgraham> | "Coupled" would have worked too |
22:47 | <jgraham> | Anyway it is not important |
22:48 | <jgraham> | There was already some big debate about the order of arguments in 3 argument postMessage wasn't there? |
22:49 | <Hixie> | well "entangled" in the quantum sense does rather describe what's going on here |
22:49 | <jgraham> | So it would be unwise of me to say that the current spec seems very strange |
22:49 | <Hixie> | i do not recall one way or the other |
22:49 | <Hixie> | if it's implemented i don't intend to change it |
22:50 | <jgraham> | Sure. |
22:50 | <jgraham> | I have no idea if this is implemented |
22:50 | <jgraham> | Presumably it is webkit-only if it is |
22:51 | <Hixie> | what's the order and what do you want it to do? |
22:52 | <jgraham> | (quantum entanglement seems rather different because the entangled parts resolve into different states as needed to preserve physical invariants. Whereas here the ports presumably have the same information on both ends) |
22:53 | <jgraham> | I just mean taht postMessage(message, ports, targetOrigin) seems inconsistent with postMessage(message, targetOrigin) |
22:53 | <jgraham> | I would expect the additional argument to be last |
22:54 | <Hixie> | ah well the other way to look at it is postMessage() has two forms, (message) and (message, transferrables), and Window just adds an argument on the end of those |
22:54 | <jgraham> | (also entanglement suggests there is some kind of randomness which I assume there is not) |
22:54 | <Hixie> | depends which postMessage() you think of as canonical :-) |
22:54 | <Hixie> | yeah entanglement certainly isn't an exact metaphor |
22:56 | <zcorpan> | jgraham: we implement all arguments to postMessage |
22:56 | <jgraham> | Well I don't find it as easy to view so the current spec makes sense and I would expect people to get it wrong more often this way around. But I don't feel strongly enough to dpend time advocating changing it or anything |
22:57 | <jgraham> | zcorpan: Oh, we implement the message channels stuff? |
22:57 | <zcorpan> | yes |
22:57 | <jgraham> | Well I guess I should stop complaining about it now then ;) |
22:57 | <Philip`> | Hixie: About the canvas bug: I guess it depends on whether you think training authors to ignore non-machine-checkable conformance requirements is a problem, or if that's already a lost cause and so the spec might as well give some idealistic vision instead |
22:57 | <zcorpan> | since 10.60 |
22:57 | <jgraham> | Ah, I thought we had just got workers, not the other stuff too |
22:58 | <zewt> | (i already pretty much ignore those "requirements"; they frankly seem rather nonsense to me) |
22:58 | <zewt> | (that one being a solid example of why) |
22:58 | <zcorpan> | it was implemented at the same time as workers |
22:58 | <jgraham> | Yeah, makes sense |
22:58 | <Hixie> | Philip`: yeah |
22:58 | <zewt> | (speaking as a random author :) |
22:58 | <jgraham> | (it still wouldn't be a big pain to change the argument order if it really helped. I can't image much depends on this yet) |
22:59 | <jgraham> | *imagine |
22:59 | <jgraham> | (But liek I say I really don't care all that much) |
22:59 | <zcorpan> | jgraham: we asked for the spec to change to the order it has now :) |
23:00 | <jgraham> | zcorpan: Well that was silly :p |
23:00 | <jgraham> | zcorpan: You mean you did? Why? |
23:00 | <zcorpan> | jgraham: makes sense to have the optional argument last |
23:01 | <Hixie> | hey, wait, yeah, what are you saying jgraham |
23:01 | <Hixie> | the order isn't what you said it was |
23:01 | <Hixie> | the order you described is what i would expect |
23:01 | <Hixie> | but yeah, we changed it |
23:02 | smaug____ | needs to tests message channels and ports in Opera, since Webkit is too buggy |
23:02 | <Hixie> | smaug____: file bugs :-) |
23:02 | <jgraham> | Oh, in that case obviously zcorpan is an eminently sensible individual with good taste |
23:02 | <smaug____> | I'll file a bug to remove MessageChannel :p |
23:02 | <jgraham> | and I am probably tired enough to not notice when I am reading an old draft |
23:02 | <jgraham> | :) |
23:02 | <jgraham> | I think this suggests that sleep might be a good thing |
23:03 | <Hixie> | in oher news, what is with chrome stripping off a leading "javascript:" when i post a url into the url bar |
23:03 | <Hixie> | damn silly computers trying to stop me hurting myself |
23:03 | <zewt> | your browser knows best! |
23:03 | <zcorpan> | jgraham: actually it was sof and tarquin who pushed for changing the order, but i guess i did the emailing to public lists |
23:04 | <zcorpan> | smaug____: opera should be compliant as far as i know |
23:04 | <smaug____> | Hixie: I think other browsers are doing similar silly things. In FF there is at least some hidden pref to get back reasonable javascript: handling |
23:04 | <zcorpan> | lemme know if you find bugs :) |
23:04 | <jgraham> | zcorpan: Ah, well obviously Opera is full of people with good taste (as long as you define good taste as "agree with me" :) ) |
23:05 | <zewt> | doesn't everyone? |
23:05 | <jgraham> | Hixie: A few scams on facebook and this is what happens :( |
23:07 | <zewt> | if they turn into "open the javascript console and paste this", will browsers start removing javascript consoles? heh |
23:08 | <Hixie> | "type in the following C code and compile it, then run it with sudo" |
23:08 | <zcorpan> | yeah try that on facebook |
23:09 | <Hixie> | (i guess that explains the way iOS prevents the user from having access to the machine) |
23:09 | <zewt> | well, mobile devices are as interested in protecting the carrier from the user than the user from the internet |
23:14 | <zcorpan> | maybe webidl can add a way to annotate an attribute so that it gets enumberable:false |
23:16 | <smaug____> | zcorpan: Opera seems to work well. The API is still bizarre |
23:16 | <zcorpan> | http://dev.w3.org/2006/webapi/WebIDL/ needs more google juice (compared to TR/) |
23:17 | <zcorpan> | smaug____: agree it's a bit confusing |
23:17 | <zcorpan> | smaug____: not convinced we should change it |
23:24 | zcorpan | -> sleep |