| 07:30 | <asmodai> | Have to admit it has some nice ideas: http://blog.brackets.io/ |
| 07:38 | <annevk> | cool |
| 07:39 | <Velmont> | what is that? irc on phone doesnt make it easy to press hyperlinks :p |
| 07:39 | <asmodai> | Web-tech code editor with some nifty ideas |
| 07:39 | <asmodai> | open source project by Adobe |
| 07:41 | <Philip`> | Velmont: Sounds like you need a better IRC client - even irssi over SSH in ConnectBot lets you follow links :-) |
| 07:42 | <annevk> | hmm nobody pointed out this far that iconUrl needs to be resolved |
| 07:42 | <Velmont> | Philip`: using fingerterm with a remote irssi. running meego on nokia n9. |
| 07:43 | <Velmont> | i'm sure there is a way, just haven't found it yet |
| 07:43 | <Velmont> | ooh. found it now. its actually very well made. |
| 07:43 | <MikeSmith> | asmodai: I've been messing around with brackets for a few days. indeed pretty nice |
| 07:43 | <MikeSmith> | JS editor written in JS |
| 07:44 | <MikeSmith> | not unique in that regard I guess but the way they have done is different |
| 07:45 | <MikeSmith> | e.g., the fact that it exposes its own source code right in the UI so you can hack on it easily |
| 07:46 | <asmodai> | MikeSmith: Some of the ideas are very nice. I like the CSS part editing with the quick edit from HTML |
| 07:46 | <MikeSmith> | I didn't even see the CSS stuff yet I guess |
| 07:46 | <asmodai> | MikeSmith: Did you see the YouTube vid? |
| 07:47 | <Velmont> | oh, yes, looks nice. and livepreview in a real editor ftw. |
| 07:47 | <annevk> | also, MIT license |
| 07:47 | <MikeSmith> | I looked at parts of several youtube videos from Adobe people involved in the project |
| 07:47 | <annevk> | Adobe being awesome |
| 07:47 | <asmodai> | annevk: It can happen :) |
| 07:47 | <annevk> | I wonder who managed to steer Adobe in the right direction |
| 07:48 | <MikeSmith> | Adobe is kicking ass these days for sure |
| 07:48 | <Velmont> | so need to get that runn7ng in opera :] |
| 07:48 | <MikeSmith> | annevk: several people I bet, at the same time |
| 07:48 | <MikeSmith> | Mike Chambers for one |
| 07:49 | <MikeSmith> | Arno and Vincent Hardy for sure, and whatever manager they report to |
| 07:49 | <annevk> | but Vincent was hired after the fact |
| 07:49 | <asmodai> | annevk: Nice video that, I think, also touches on software usability: http://vimeo.com/25058185 :) |
| 07:49 | <asmodai> | (Dutch language) |
| 07:49 | <MikeSmith> | annevk: yeah but Arno's been there for a while I think |
| 07:50 | <annevk> | asmodai: nooit van "cow paths" gehoord zeker |
| 07:50 | <asmodai> | annevk: Ik kende alleen de Nederlandse term. :) |
| 07:51 | <annevk> | asmodai: olifantenpaadjes is echt een ding? |
| 07:52 | <annevk> | asmodai: had er niet eerder van gehoord |
| 07:52 | <asmodai> | annevk: Yep. :) |
| 07:52 | <annevk> | asmodai: wel van http://www.w3.org/TR/html-design-principles/#pave-the-cowpaths natuurlijk... |
| 07:52 | <annevk> | geinig wel |
| 07:54 | <MikeSmith> | annevk: I'm really glad you and Maciej took the time to put that doc together and get it published when you did |
| 07:54 | <asmodai> | annevk: Absolutely. But cool to see so many parallels. :) |
| 07:55 | <MikeSmith> | it is hard to imagine that document ever getting published as-is in the current group |
| 07:58 | <asmodai> | Too many discussions? |
| 08:00 | <asmodai> | Personally I always like background and guideline documents |
| 08:03 | <annevk> | MikeSmith: heh yeah |
| 08:04 | <MikeSmith> | we managed to get a lot of stuff done back in the day |
| 08:04 | <annevk> | MikeSmith: with the current regime you'd have to resort to undercover outfits like the WHATWG |
| 08:27 | <zcorpan> | Hixie: should we move document.domain to the obsolete section? |
| 08:32 | jgraham | is apparently behind the times, since he thought "IRC on phone" must be some kind of text<->speech bridge so you could listen to the conversations |
| 08:33 | <jgraham> | On the other hand I am so out of touch that I read "deprecated" when Hixie specs say "obsolete" |
| 08:36 | <Philip`> | Speech on a phone? You mean like the Skype app? |
| 08:37 | <Philip`> | It'll never catch on |
| 08:38 | <annevk> | using Skype all the time actually since the Phone app is broken again |
| 08:38 | <Ms2ger> | asmodai, elephants? |
| 08:38 | <annevk> | I have no idea why my iPhone keeps doing bullshit like that |
| 08:38 | <annevk> | but I'm out of warranty now |
| 08:41 | <Ms2ger> | Get a B2G phone ;) |
| 08:42 | <annevk> | I'm locked in the Apple ecosystem, need my iTunes |
| 08:48 | <asmodai> | Ms2ger: elephant paths, aka cowpaths |
| 08:48 | <asmodai> | Ewww, iTunes |
| 08:49 | <annevk> | actually small elephant paths |
| 08:49 | <annevk> | which makes no sense |
| 08:49 | <annevk> | because Dutch |
| 08:49 | <asmodai> | It does make sense in a way |
| 08:49 | <asmodai> | Elephants travel single file |
| 08:50 | <annevk> | they take down trees and everything |
| 08:51 | <asmodai> | Maybe we should unleash elephants on W3C meetings? |
| 08:52 | <Philip`> | Elephants are scared of mice, but mice are scared of snakes, so elephants travel in single file to make themselves look like an enormous snake |
| 08:52 | <annevk> | asmodai: in a Dutch way, just like Python :) |
| 08:53 | <asmodai> | I wonder why Adobe Air keeps insisting it needs to be installed when trying to install/update Balsamiq on Chrome. Firefox works as it should. Must be some plugin weirdness going on I guess. |
| 08:53 | <asmodai> | annevk: Heh |
| 09:17 | <MikeSmith> | does anybody know of particular sites that use keygen? |
| 09:41 | <MikeSmith> | Philip`: have you ever run a report on keygen? |
| 09:41 | <MikeSmith> | from your corpus of sites I mean |
| 09:51 | <Philip`> | MikeSmith: I vaguely remember looking and not finding anything interesting, though I'd expect anything interesting to be on e.g. bank login pages so I wouldn't see those anyway |
| 09:52 | <MikeSmith> | hmm true that I guess |
| 09:53 | <annevk> | there's a few banks, I think that's it |
| 10:01 | <Stevef_> | grepped top 10,000 home pages did not find keygen element |
| 10:17 | <MikeSmith> | Stevef_: thanks man |
| 10:17 | <MikeSmith> | I guess that's to be expected |
| 10:19 | <MikeSmith> | http://lists.w3.org/Archives/Public/public-whatwg-archive/ has turned out to be a nice way to look up history of stuff |
| 10:20 | <MikeSmith> | can use http://www.w3.org/Search/Mail/Public/advanced_search?type-index=public-whatwg-archive&index-type=t&resultsperpage=20&page=1&sortby=date and choose "Oldest message first" for the "Sort by" field |
| 10:35 | <zcorpan> | no keygens in web200904 either |
| 10:37 | <kennyluck> | wow |
| 10:39 | <zcorpan> | but i recall safari implemented keygen (and hence it was added to the spec) because some banks required either keygen or ActiveX |
| 10:50 | <AryehGregor> | It's amazing how much faster and less boring it is to annotate reftests if I don't also have to change all the style attributes to <style> elements. |
| 10:51 | <AryehGregor> | MikeSmith, BTW, it turns out that Peter is okay with me submitting preexisting tests that aren't formatted per guidelines, it was someone else who marked them Needs Work for stylistic reasons. |
| 10:51 | <MikeSmith> | oh really? |
| 10:51 | <MikeSmith> | so do I still need to talk with plh about it? |
| 10:51 | <AryehGregor> | MikeSmith, no, I don't think so. |
| 10:51 | <MikeSmith> | OK |
| 10:51 | <AryehGregor> | Thanks, though. |
| 10:51 | <MikeSmith> | OK |
| 10:51 | <MikeSmith> | thanks for letting me know |
| 10:52 | <AryehGregor> | Thanks for offering to help. |
| 10:52 | <AryehGregor> | Yeah, keygen is only used by a few sites, but they're important. Maciej once said that WebKit implemented it because it was either that or a whole array of MS-specific technologies, such as (IIRC) the Win32 API. |
| 10:53 | <AryehGregor> | Because it's not enough to support ActiveX, you have to support the binaries that are delivered using it . . . |
| 10:53 | <AryehGregor> | Too bad keygen is awful. |
| 10:53 | <MikeSmith> | yeah |
| 10:54 | <MikeSmith> | the problem is that, now that it's in the spec, people who don't know the history behind it now come across it and think that's it some shiny to do new things with |
| 10:55 | <MikeSmith> | (btw, I did actually already talk with plh about the CSS test requirements, and we were planning to talk about it on our weekly Interaction Domain call today. So I'll ask him to drop it from the agenda and hopefully we can actually end the meeting earlier.) |
| 11:00 | <zcorpan> | AryehGregor: yeah, i should have said ActiveX+win32 |
| 11:53 | <zcorpan> | https://bugzilla.mozilla.org/show_bug.cgi?id=248239#c49 what behavior do we want here? |
| 12:05 | <Ms2ger> | jgraham / zcorpan: any of you who feels like explaining http://dvcs.w3.org/hg/webapps/file/a38857de5129/Workers/tests/submissions/Opera/constructors/Worker/004.html to me? :) |
| 12:06 | <jgraham> | Well zcorpan wrote is so… |
| 12:06 | <jgraham> | Wait, what? |
| 12:07 | <zcorpan> | Ms2ger: sure. cross-origin URLs (except data: ) should throw |
| 12:07 | <jgraham> | Well it says that Velmont / odinho wrote it (whichever secret identity he is using today), so maybe I'm wrong |
| 12:08 | <jgraham> | Argh |
| 12:08 | <zcorpan> | uh, i'm pretty sure i wrote that test :-) |
| 12:08 | <jgraham> | No I just don't follow the hg output |
| 12:08 | <Ms2ger> | So 'unsupported:' is resolvable? |
| 12:08 | <jgraham> | I *was* quite sure that you wrote it too :p |
| 12:08 | <zcorpan> | Ms2ger: ask annevk :-) |
| 12:09 | <Ms2ger> | He's not here, dammit |
| 12:10 | <jgraham> | Really, putting "author Odin Hørthe Omdal <odinho⊙oc>" on the display of a file he never touched is just silly |
| 12:12 | <zcorpan> | Ms2ger: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1619 opera and firefox seem to resolve it (the space turns into %20) but chrome leaves the space (which maybe means it fails to resolve) |
| 12:13 | <zcorpan> | Ms2ger: but, depending on what the URL spec ends up saying, that might need to change to expect SyntaxError instead |
| 12:16 | <Ms2ger> | annevk! |
| 12:16 | <annevk> | hey man |
| 12:17 | <Ms2ger> | So, URLs :) |
| 12:17 | <annevk> | that is the plan |
| 12:17 | <Ms2ger> | And in particular, http://dvcs.w3.org/hg/webapps/file/a38857de5129/Workers/tests/submissions/Opera/constructors/Worker/004.html |
| 12:17 | <annevk> | but it's vacation and somehow I managed to stress myself already |
| 12:17 | annevk | looks |
| 12:18 | <annevk> | why would "http://www.example.invalid/" throw? |
| 12:18 | <annevk> | I'm not entirely familiar with new Worker() I guess |
| 12:19 | <Ms2ger> | Resolve the scriptURL argument relative to the entry script's base URL, when the method is invoked. |
| 12:19 | <Ms2ger> | If this fails, throw a SyntaxError exception. |
| 12:19 | <Ms2ger> | If the origin of the resulting absolute URL is not the same as the origin of the entry script, then throw a SecurityError exception. |
| 12:19 | <MikeSmith> | that test doesn't actually display anything |
| 12:20 | <Ms2ger> | MikeSmith, it uses an Opera-internal test harness |
| 12:20 | <Ms2ger> | Which I'm fixing |
| 12:20 | <MikeSmith> | ah OK |
| 12:20 | <annevk> | a origin checks |
| 12:20 | <annevk> | that makes sense |
| 12:21 | <annevk> | so I guess we haven't decided yet whether resolving can actually fail |
| 12:21 | <annevk> | I'm leaning towards yes |
| 12:21 | <annevk> | most browsers have a concept of invalid URLs |
| 12:21 | <Ms2ger> | Hmm, Gecko doesn't seem to throw much |
| 12:21 | <annevk> | all those exceptions for new Worker are origin-related no? |
| 12:21 | <annevk> | SecurityError is 18 |
| 12:22 | <annevk> | so not really about URLs |
| 12:22 | <Ms2ger> | Yeah |
| 12:22 | <Ms2ger> | Well, the question is if the resolving should already have failed before the origin check |
| 12:24 | <zcorpan> | annevk: the unclear case was "unsupported:" since it's not clear if that should resolve to begin with |
| 12:25 | <zcorpan> | annevk: if it doesn't resolve, it should throw SyntaxError; if it does resolve, it should throw SecurityError |
| 12:27 | <annevk> | I think it should resolve |
| 12:27 | <annevk> | it's a valid scheme so it's not a relative reference |
| 12:28 | <zcorpan> | ok. wfm! make sure the URL spec agrees :-) |
| 12:30 | <Ms2ger> | Now, the data: url |
| 12:32 | <annevk> | that becomes a sniffed text/plain resource I guess |
| 12:33 | <annevk> | we have made data URLs same-origin for XMLHttpRequest |
| 12:33 | <annevk> | not sure why Workers should be an exception |
| 12:33 | <annevk> | zcorpan: that's the plan |
| 12:34 | <Ms2ger> | So the spec is wrong? |
| 12:34 | <zcorpan> | Ms2ger: we gave spec feedback asking data: to be supported for workers. hixie said it seemed reasonable, but the spec hasn't changed, iirc |
| 12:34 | <AryehGregor> | How about we make them both throw the same so we don't have to care why it failed? :) |
| 12:35 | <zcorpan> | Ms2ger: we don't support data: for shared workers because it turned out different-origin pages suddenly could communicate if they both open the same data: shared worker, however that is fixable by remembering which origin opened the shared data: url |
| 12:35 | <Ms2ger> | Let's kill DOMException and only throw Error :) |
| 12:36 | <Ms2ger> | zcorpan, sounds like I'll have the test expect an exception, then :) |
| 12:36 | <zcorpan> | yeah i'm fine with making the test match what the spec currently says |
| 12:37 | <zcorpan> | but i still think we should change the spec, since data: urls can be useful :-) |
| 12:37 | <zcorpan> | Ms2ger: thanks for doing this btw |
| 12:37 | <Ms2ger> | Np |
| 12:38 | <Ms2ger> | It's more useful than arguing about signed / unsigned integers over in #developers :) |
| 12:38 | <zcorpan> | heh |
| 12:38 | <niloy> | can someone please tell me how the browser decides the encoding of responses over ajax ? |
| 12:39 | <Ms2ger> | Black magic |
| 12:39 | <niloy> | :( |
| 12:39 | <annevk> | niloy: do you mean XMLHttpRequest? |
| 12:39 | <niloy> | yes |
| 12:40 | <annevk> | niloy: what kind of attribute are you accessing? |
| 12:40 | <niloy> | JSON data |
| 12:40 | <annevk> | niloy: do you set responseType to "json"? |
| 12:40 | <Ms2ger> | http://dvcs.w3.org/hg/webapps/file/a38857de5129/Workers/tests/submissions/Opera/constructors/Worker/005.html |
| 12:40 | <niloy> | No, text data later parsed with JSON.parse |
| 12:40 | <annevk> | niloy: and then use response? or do you parse responseText? |
| 12:40 | <annevk> | k |
| 12:41 | <annevk> | niloy: it's described here: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#text-response-entity-body |
| 12:41 | <Ms2ger> | zcorpan, any particular reason to make that test both "#" as a URL and the properties of the global? |
| 12:41 | <niloy> | annevk, thanks |
| 12:44 | <zcorpan> | Ms2ger: "#" as the URL is the standard way of loading the worker script in this testsuite, ugly hack to make the worker script be in the same file |
| 12:44 | <zcorpan> | Ms2ger: it should work per spec! |
| 12:45 | <Ms2ger> | So should document.all ;) |
| 12:45 | <zcorpan> | i don't see how that's relevant here :-P |
| 12:46 | <Ms2ger> | This standard way hurts my eyes :) |
| 12:46 | <zcorpan> | sorry about that |
| 12:49 | <Ms2ger> | Actually... |
| 12:49 | <Ms2ger> | Should <!-- in JS work per spec? :) |
| 12:49 | <Ms2ger> | (ECMA spec, that is) |
| 12:49 | <zcorpan> | should work per http://mathias.html5.org/specs/web-ecmascript/ ! |
| 12:50 | <matjas> | not per ES |
| 12:51 | <Ms2ger> | Then why do you use //-->? :) |
| 12:52 | <zcorpan> | the interop with --> was not as good as with <!--. but probably not necessary |
| 12:52 | <zcorpan> | feel free to drop it :-) |
| 13:06 | <annevk> | smaug____: did you reach dougt? |
| 13:06 | <annevk> | MikeSmith: do you feel like waiting another week or should we just publish it next Thursday? |
| 13:09 | <MikeSmith> | annevk: I guess let's wait a week and have plenty of time to get it ready |
| 13:09 | <annevk> | cool cool cool |
| 13:14 | <MikeSmith> | kind of surprised there have not been any responses to the HTTP WG call for expressions of interest for HTTP2 |
| 13:14 | <MikeSmith> | http://trac.tools.ietf.org/wg/httpbis/trac/wiki/Http2CfI |
| 13:15 | <MikeSmith> | http://lists.w3.org/Archives/Public/ietf-http-wg/2012AprJun/0718.html |
| 13:23 | <annevk> | Ms2ger: any reason the key "script's base URL" would not work? |
| 13:23 | <annevk> | found it |
| 13:23 | <annevk> | lowercase yadayadayada |
| 13:27 | <smaug____> | annevk: not yet |
| 13:27 | <smaug____> | I did send email |
| 13:34 | <MikeSmith> | smaug____: wonder if Doug hangs out on #mobile |
| 13:34 | <MikeSmith> | on mozilla irc I mean |
| 13:36 | <smaug____> | MikeSmith: yes. I just ping'ed him |
| 13:37 | <MikeSmith> | k |
| 14:20 | <jgraham> | So, does anyone want to write me a browser extension that does inline find just on idl blocks? |
| 14:29 | <Philip`> | jgraham: How about one that lets you type in an XPath query to search for? |
| 14:29 | <jgraham> | Philip`: You so funny |
| 14:30 | <Ms2ger> | Funnier than you :) |
| 14:30 | <Philip`> | Something like https://addons.mozilla.org/en-US/firefox/addon/xpather/ with a suitable query looks like it should work |
| 14:31 | <jgraham> | Ms2ger: You've heard the expression "damned by faint praise"? |
| 14:31 | <Ms2ger> | :D |
| 15:04 | <zcorpan> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1621 http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1622 |
| 15:05 | <Ms2ger> | WorkerGlobalScope.ononline / WorkerGlobalScope.onoffline |
| 15:05 | <Ms2ger> | New? |
| 15:06 | <zcorpan> | Ms2ger: ononline and onoffline was added to the spec at some point |
| 15:07 | <Ms2ger> | Well, presumably it was :) |
| 15:07 | <zcorpan> | which was after the events were added to the spec |
| 15:10 | <Ms2ger> | Also, Chrome doesn't do btoa |
| 15:12 | <MikeSmith> | http://html9responsiveboilerstrapjs.com/ fun stuff |
| 15:13 | <Ms2ger> | \o/ |
| 15:13 | <Hixie> | zcorpan: data: for workers is on my todo list |
| 15:14 | <zcorpan> | Hixie: ah, ok |
| 15:16 | <Ms2ger> | Is the set of todo list entries before that uncountable? |
| 15:16 | <Hixie> | no |
| 15:16 | <Hixie> | but it's not small |
| 15:17 | <Hixie> | re keygen, iirc the bulk of the usage was on intranet sites when i last looked into it |
| 15:21 | <zcorpan> | Ms2ger: you ok with introducing a new quirk here? https://bugzilla.mozilla.org/show_bug.cgi?id=248239#c56 |
| 15:48 | <Ms2ger> | No |
| 15:48 | Ms2ger | goes and reads |
| 15:50 | <Ms2ger> | Talk to dbaron, please? |
| 16:00 | <annevk> | someone should figure out tables first |
| 16:01 | <annevk> | almost never makes sense in my experience to fix bits and pieces without understanding the complete picture |
| 17:25 | <zewt> | bleh, bit by unnecessary setTimeout delays again |
| 17:27 | <zewt> | now i have to try to remember if there were any hacks around that... |
| 17:29 | <jsbell> | ms2ger: thanks for the bug link re: "null" dicts. |
| 17:29 | <Ms2ger> | Np |
| 17:29 | <Ms2ger> | It's been that way all of a day, why didn't you know? ;) |
| 17:33 | <jsbell> | I swear I was looking at the "red" version of the spec when I typed my message; I blame caching. :) |
| 17:34 | <[tm]> | Hixie: thanks for info about keygen |
| 17:38 | <Ms2ger> | [tm], is there some way to get notified about changes to the WebIDL ED? |
| 17:39 | <[tm]> | Hixie: but the spec rightly should have a big disclaimer saying "don't actually use this for anything" |
| 17:40 | <[tm]> | Ms2ger: no but you can roll one yourself |
| 17:40 | <[tm]> | or i guess i can set something up for you |
| 17:41 | <Ms2ger> | I don't care, it's for bz :) |
| 17:41 | <[tm]> | if you big me enough about it |
| 17:41 | <[tm]> | ah |
| 17:42 | <[tm]> | well then i will definitely make something then :) |
| 17:42 | <[tm]> | bz deserves it for sure |
| 17:43 | <Ms2ger> | I need to remember that line ;) |
| 17:44 | <[tm]> | heh |
| 17:45 | [tm] | bows to the force for goodness in the universe that bz is |
| 17:50 | <[tm]> | Ms2ger: you are a similar force for goodness btw |
| 17:50 | <Ms2ger> | Me? Naah |
| 17:54 | <jwalden> | gsnedders: I have mail written, fwiw, doing a couple things first before I send it -- probably later this week |
| 17:56 | <Ms2ger> | /month/year/century |
| 18:26 | <[tm]> | Ms2ger: you fully deserve the love |
| 18:26 | Ms2ger | wonders how much [tm] had to drink |
| 18:27 | <n00lk0w> | why on earth is theh global draggable attribute enumerated? |
| 18:30 | <gsnedders> | jwalden: k, then I won't subvert you :P |
| 18:30 | <[tm]> | n00lk0w: no |
| 18:31 | <jwalden> | gsnedders: :-) it was suggested to me that it's harder to stop-energy a patch, so I'll probably do that |
| 18:31 | <[tm]> | maybe in order to match how it's actually implemented, maybe |
| 18:31 | <jwalden> | and maybe send mail after |
| 18:31 | <Ms2ger> | [tm], is draggable implemented? |
| 18:32 | <Hixie> | [tm]: that applies to a lot in the spec... |
| 18:33 | <gsnedders> | jwalden: Right, I'll almost certainly push change to Carakan this week regardless of what happens. Only possible change will be poisioning it so you can't get the setter. |
| 18:34 | gsnedders | had to back it out when he tried before, because he screwed up, and hasn't got around to fixing it till now |
| 18:40 | <n00lk0w> | Hixie: do you know why it's enumerated? |
| 18:40 | <n00lk0w> | <a href=/page draggable>alsdkfj</a> seems pretty intuitive to me |
| 18:40 | <Hixie> | hm? |
| 18:41 | <n00lk0w> | gramattically, it's indentical to the term "hidden" |
| 18:41 | <Hixie> | what is the question? |
| 18:41 | <n00lk0w> | it's an adjective describing an aspect of the element. |
| 18:41 | <n00lk0w> | ...why isn't the global @draggable attribute boolean? |
| 18:41 | <n00lk0w> | why does it require an explicitly declared value? |
| 18:41 | Hixie | looks |
| 18:42 | <n00lk0w> | seems entirely illogical to me. |
| 18:42 | <Hixie> | oh because it has three states |
| 18:42 | <n00lk0w> | http://developers.whatwg.org/dnd.html#the-draggable-attribute |
| 18:42 | <Hixie> | if it was a boolean there'd be no way to turn off dragging an image using the attribute, e.g. |
| 18:42 | <Hixie> | bbiab, lunch |
| 18:43 | <n00lk0w> | Hixie: right, but the auto statecould be declared indicated by the absence of that attribute. |
| 18:43 | <n00lk0w> | Hixie: can you elaborate a bit on the image scenario, please? |
| 18:44 | <Ms2ger> | <img> |
| 18:44 | <Ms2ger> | ^ you can drag that |
| 18:44 | <n00lk0w> | Ms2ger: and...? |
| 19:12 | <n00lk0w> | is there a way to declare the default "auto" value of draggable on a per-document basis? |
| 19:18 | <Hixie> | n00lk0w: it varies on a per-element basis |
| 19:33 | <Hixie> | heycam|away: is there some special phrasing i should use to invoke a callback object that might be null? |
| 19:53 | <n00lk0w> | Hixie: then what is the point of the auto value? |
| 19:53 | <n00lk0w> | Hixie: also, can you explain your earlier image dragging scenario? |
| 19:55 | <Hixie> | n00lk0w: on a page that doesn't have any script or anything, you can drag an image and a link, but you can't drag a div. |
| 19:56 | <Hixie> | n00lk0w: right? |
| 20:06 | <jgraham> | HTML pop quiz: <script>var a = window; document.open(); document.close(); setTimeout(function() {alert(a === window)}, x)</script> - what happens and does it depend on the value of x? |
| 20:06 | <n00lk0w> | Hixie: right. |
| 20:06 | <jgraham> | Where by "pop quiz" I mean "I know what some browsers do but I'm not sure I understand what's going on" |
| 20:09 | <eighty4> | jgraham: it gives me "true". Am I right on that at least? |
| 20:10 | <jgraham> | eighty4: Yes. |
| 20:11 | <eighty4> | jgraham: and what would be wrong with that? So not following :/ |
| 20:11 | <Hixie> | jgraham: Window gets replaced, but the WindowProxy does not, so it always alerts true. |
| 20:12 | <jgraham> | Hixie: Right, I think my example doesn't quite demonstrate the issue clearly |
| 20:12 | <Hixie> | n00lk0w: ok so that means the default value of "draggable" needs to be something that makes <img> be draggable and <div> not be draggable |
| 20:12 | <Hixie> | n00lk0w: so it can't be either "true" or "false" |
| 20:12 | <jgraham> | The question is, why does the timeout run at all? It is called on the *old* window object |
| 20:14 | <Hixie> | oh, interesting question |
| 20:16 | <Hixie> | jgraham: it should not fire |
| 20:16 | <Hixie> | jgraham: document.open() clears the timeouts list |
| 20:16 | <Hixie> | jgraham: so my original answer was wrong. it should not alert. |
| 20:17 | <jgraham> | Hixie: The timeout is set *after* document.open |
| 20:17 | <jgraham> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1624 |
| 20:17 | <Hixie> | oh |
| 20:17 | <Hixie> | well then where's the question? |
| 20:17 | <jgraham> | It seems the timeout is a function on the old window object but is called in the context of the new window object |
| 20:18 | <Hixie> | no no |
| 20:18 | <Hixie> | it's on the new Window object |
| 20:18 | <jgraham> | How? |
| 20:18 | <eighty4> | I'm so not following at all :/ Why would it not run? in what way is the settimeout related to you opening/closing a document? |
| 20:19 | <jgraham> | eighty4: opening/closing a document changes the window object for a new one, but doesn't change the global scope of the current script |
| 20:19 | <Hixie> | jgraham: "this" is the WindowProxy |
| 20:19 | <Hixie> | jgraham: not the Window |
| 20:19 | <jgraham> | So in general foo != window.foo |
| 20:19 | <Hixie> | foo === window.foo always |
| 20:19 | <Hixie> | unless "this" is something other than the WindowProxy of course |
| 20:20 | <Hixie> | or you're in a with()... |
| 20:20 | <Hixie> | because this.window === window === this |
| 20:20 | <jgraham> | When you say "always" what do you mean? If I set a property "a" on window window.a !== a |
| 20:20 | <Hixie> | ? |
| 20:21 | <Hixie> | assuming you're in the global scope, window.a === a |
| 20:21 | <Hixie> | unless you have variables i guess |
| 20:21 | <Hixie> | window.a === this.a |
| 20:21 | <jgraham> | Right, that's what I meant |
| 20:21 | <Hixie> | other than in a long set of complicated cases, my statement is always true. |
| 20:21 | <Hixie> | :-P |
| 20:22 | <Hixie> | "i'll come in a gain" |
| 20:22 | <Hixie> | again, even |
| 20:22 | <Hixie> | man i can't even type memes right |
| 20:22 | <jgraham> | Heh |
| 20:22 | <Hixie> | anyway my point is that "this" is the WindowProxy in your example |
| 20:22 | <jgraham> | OK, so you have a function setTimeout on the original Window object |
| 20:22 | <jgraham> | and you replace window |
| 20:23 | <jgraham> | and call the original function |
| 20:23 | <eighty4> | so you're saying that b = window; document.open(); b === window should return false? |
| 20:23 | <Hixie> | what? |
| 20:23 | <Hixie> | is the name setTimeout() relevant to the question? |
| 20:23 | <Hixie> | i.e. is this a question about JS or about setTimeout |
| 20:23 | <jgraham> | Not really |
| 20:24 | <n00lk0w> | Hixie: got it. thanks :P |
| 20:24 | <Hixie> | jgraham: i don't understand your question |
| 20:25 | <Hixie> | jgraham: but "window" and "this" at the global scope are both the same object, namely, the magic WindowProxy object. |
| 20:25 | <jgraham> | Well I guess setTimeout is relevant because it lets you run code later, after the current script |
| 20:26 | <Hixie> | try asking a new question |
| 20:26 | <jgraham> | Hixie: The point was that after document.open I would expect window.setTimeout !== setTimeout |
| 20:27 | <Hixie> | ah ok |
| 20:27 | <Hixie> | well that point is wrong |
| 20:27 | <jgraham> | Which seems to be true |
| 20:27 | <Hixie> | window.setTimeout === this.setTimeout because window === this. |
| 20:27 | <jgraham> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1625 says true in Gecko at least |
| 20:27 | <jgraham> | Yeah but this is not the global scope at that point |
| 20:27 | <Hixie> | what does "a" have to do with anything in that test? |
| 20:28 | <Hixie> | the setTimeout() callback's |this| is also the WindowProxy |
| 20:28 | <Hixie> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1626 |
| 20:28 | <Hixie> | the correct answers are "true" and "true" |
| 20:28 | <jgraham> | a is irrelevant, I should have deleted it |
| 20:29 | <Hixie> | k |
| 20:29 | <jgraham> | I don't see how the first is supposed to be "true" |
| 20:30 | <jgraham> | I assume the global scope isn't supposed to change under the unning script |
| 20:30 | <Hixie> | do you agree that "foo" is equivalent to "this.foo" in a function with no arguments, no variables, and no with statement? |
| 20:30 | <jgraham> | *running |
| 20:31 | <jgraham> | In pure ECMAScript I think that is true. A browser is not pure |
| 20:32 | <Hixie> | well if (foo !== this.foo) in a function with no arguments, no variables, and no with statement, i've no idea what it would be then |
| 20:33 | <Hixie> | if that statement is not true then my assumptions are flawed and i cannot draw any conclusions |
| 20:33 | <jgraham> | Well it's not true in Gecko at least |
| 20:33 | <jgraham> | According to your test |
| 20:33 | <Hixie> | gecko is buggy. |
| 20:34 | <jgraham> | Perhaps |
| 20:35 | <smaug____> | jgraham: in which case foo !== this.foo ? |
| 20:35 | <smaug____> | ah, I see |
| 20:35 | <Hixie> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1628 |
| 20:36 | <Hixie> | <script>onload = function() { document.open(); document.close(); foo = {}; w(this.foo === foo); }</script> |
| 20:36 | <smaug____> | I wonder if the spec is buggy |
| 20:36 | <Hixie> | i don't understand how foo = {}; w(this.foo === foo); can print false. |
| 20:36 | <smaug____> | this points to the old window |
| 20:36 | <Hixie> | this points to the WindowProxy |
| 20:37 | <smaug____> | it points to the this of the load event listener |
| 20:37 | <jgraham> | I should note that WebKit cheats with document.open; it doesn't replace the window object at all |
| 20:37 | <Hixie> | oh, hm, the this of hte load event... |
| 20:37 | <Hixie> | interesting |
| 20:37 | <Hixie> | but still, whether it's the this of the load event or not |
| 20:37 | <Hixie> | i don't understand how foo = {}; w(this.foo === foo); can print false |
| 20:38 | <Hixie> | surely "foo" is equivalent to "this.foo" |
| 20:38 | <Hixie> | in that code |
| 20:38 | <smaug____> | why ? |
| 20:38 | <smaug____> | hmm |
| 20:38 | <Hixie> | oh wait... |
| 20:38 | <Hixie> | this is that thing the ES group refuses to spec |
| 20:38 | <Hixie> | isn't it |
| 20:38 | <smaug____> | foo would be set to the current global, no? |
| 20:38 | <Hixie> | that the global scope doesn't equal the global |
| 20:38 | <Hixie> | er |
| 20:38 | <Hixie> | that the global scope doesn't equal the this |
| 20:39 | <jgraham> | It depends if this is a pointer to the window or the global scope |
| 20:39 | <smaug____> | in load event listener 'this is pointer to the window |
| 20:40 | <Hixie> | riiiight |
| 20:40 | <Hixie> | "If the script's global object is a Window object, then in JavaScript, the ThisBinding of the global execution context for this script must be the Window object's WindowProxy object, rather than the global object." |
| 20:40 | <Hixie> | that's the problem |
| 20:40 | <Hixie> | ok |
| 20:41 | <Hixie> | jgraham: ok so i agree that you are calling setTimeout on the old Window object. The timeout still runs, because it's callback is associated with the Document, which is still active. |
| 20:41 | <Hixie> | jgraham: and it always alerts true, because "a" and "window" are both the WindowProxy |
| 20:41 | <jgraham> | And when it runs, what does it get as the this object, or the window object? |
| 20:41 | <Hixie> | s/it's/its/ |
| 20:42 | <Hixie> | that's defined in the setTimeout() section, it gets the WindowProxy as its "this" |
| 20:43 | <Hixie> | and as its global scope it gets the original Window object |
| 20:43 | <jgraham> | That makes sense I guess |
| 20:43 | <jgraham> | Yes, that has to be true |
| 20:43 | <jgraham> | Changing the ES scope chain under the script would be unusually evil |
| 20:44 | <jgraham> | even for the web |
| 20:44 | <Hixie> | so http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=1626 should print false, and true |
| 20:44 | <Hixie> | so webkit is buggy |
| 20:44 | <Hixie> | (as you said above) |
| 20:45 | <jgraham> | Great, that makes more sense now :) |
| 20:45 | <jgraham> | Thanks! |
| 20:45 | <smaug____> | (webkit doesn't really do anything with document.open. no new window, no session history etc) |
| 20:48 | <jgraham> | Time to listen to some Jeeves and Wooster on the radio, I think |
| 20:48 | <jgraham> | Oh except the next episode is not up yet |
| 20:48 | <jgraham> | tears before bedtime |
| 21:02 | <zewt> | down with hard to read fixed-width-font tracker |
| 21:02 | <Hixie> | tracker...? |
| 21:03 | <zewt> | bug tracker? |
| 21:07 | <Hixie> | bugzilla? |
| 21:07 | <Hixie> | what's hard to read about bugzilla? |
| 21:08 | Hixie | uses fixed width text for pretty much everything... irc, email, emacs, bugs... |
| 21:37 | <jamesr> | i wonder if there's research on the relative reading speed of fixed vs propotional fonts for programmers who stare at fixed-width fonts all day |
| 21:37 | <jamesr> | maybe it's different from genpop |
| 21:38 | <Hixie> | heh |
| 21:38 | <Hixie> | maybe |
| 21:57 | <yuhong> | Do you know win32k user-mode callbacks poses similar problems to DOM mutation events? |
| 21:57 | <yuhong> | http://www.mista.nu/research/mandt-win32k-paper.pdf |
| 22:12 | <zewt> | can we hang up apple in the Worst Web Page Hall of Fame |
| 22:13 | <zewt> | download links that only work with javascript, which 403 if you try to copy the underlying redirect without carefully copying over cookies |
| 22:13 | <zewt> | which means I can't download xcode, since I can only download large files with wget on a remote server |
| 22:14 | <zewt> | time to futz with setting cookie headers manually |
| 23:11 | <ojan> | ok...i give up...who do i contact at w3c about delayed mail delivery? |
| 23:11 | <ojan> | tried finding a contact on w3.org and giving up on that |
| 23:12 | <ojan> | a number of us have been getting delays of days on www-style and public-webapps mail for the past few weeks |
| 23:12 | <ojan> | i figure someone here can point me at the right people |
| 23:12 | <ojan> | shepazu: ^^^ maybe you know? |
| 23:37 | <heycam> | Hixie, if you have a nullable callback type? no, I don't have any special term that means "call this if it's not null". |
| 23:38 | <TabAtkins_> | heycam: That's called Maybe. |
| 23:39 | <heycam> | Hey I just met you, and this is crazy, but I'm a callback, so call me Maybe? |
| 23:40 | <TabAtkins_> | That's such a weird meme. |
| 23:41 | <heycam> | take lines from popular song => change them to something slightly funny that rhymes with the original |
| 23:50 | <zewt> | bleh if i can't find a way to disable address bar completion completely in chrome, it's time to stop using it ... way too disruptive |