00:03 | <Philip`> | Hmm, is html5.org dead? |
00:06 | <Philip`> | http://canvex.lazyilluminati.com/misc/insertion_modes.svg (red = error transition; blue = non-error reprocess-as-if transition; black = non-error permanent transition) |
00:06 | <Philip`> | with only a small number of known bugs in there |
00:06 | <Hixie> | i love anne's comment on <canvas>: |
00:07 | <Hixie> | "The section should be more clear what it means by image. ..." |
00:07 | <Hixie> | which section? |
00:07 | <Hixie> | that's how the e-mail starts. which fricking section??? |
00:07 | <Philip`> | The canvas section? :-) |
00:08 | <Hixie> | that doesn't help much :-P |
00:08 | <Hixie> | maybe he means 3.14.11.3. Security with canvas elements |
00:08 | <Hixie> | i think i must have fixed this comment already |
00:10 | <Hixie> | maybe he means the origin section itself? |
00:11 | <Philip`> | (Aha, html5.org is back, hence http://philip.html5.org/misc/insertion-modes.svg ) |
00:12 | <Hixie> | safari fails at that image. |
00:12 | <Hixie> | hat's red? |
00:12 | <Hixie> | parse error? |
00:12 | <Hixie> | how abotu blue? |
00:12 | <Philip`> | red = error transition; blue = non-error reprocess-as-if transition; black = non-error permanent transition |
00:13 | <Hixie> | brb, intermission shift. |
00:32 | <Hixie> | Philip`: cool |
00:33 | <Hixie> | Philip`: looks like you have some missing. e.g. EOF in a number of the main phase cases |
00:33 | <Hixie> | in fact _BeforeHead has only one exiting arrow |
00:33 | <Hixie> | which seems unlikely |
00:34 | <Philip`> | EOF doesn't explicitly transition to any insertion mode, which is why it isn't shown |
00:34 | <Hixie> | ah ok |
00:35 | <Philip`> | It might do transitions while generating implied end tags, but those will be a subset of the transitions that are already shown |
00:35 | <Hixie> | the transitions for a single character "X" seem wrong |
00:35 | <Hixie> | initial phase -> root element -> _beforehead -> ? |
00:36 | <Philip`> | ...and it might do transitions when acting as if there were new start/end tags |
00:36 | <Hixie> | aaah |
00:36 | <Hixie> | you should show those too :-) |
00:37 | <Philip`> | In BeforeHead it does some internal magic (like pretending there's a <head>) and then performs the only possible transition to InHead |
00:38 | <Hixie> | makes sense |
00:38 | <Philip`> | Duplicate the "Start tag [head]" arrow and call it "Character not [...]" etc for each act-as-if-a-start-tag-named-head bit? |
00:40 | <Hixie> | or just put an asterisk next to the transitions that happen due to other cases |
00:40 | <Hixie> | labelled "* Also happens due to other tokens" or something |
00:40 | <Hixie> | or "* May be implied" |
00:44 | <Philip`> | http://philip.html5.org/misc/insertion-modes-2.svg handles act-as-if-start-tag |
00:46 | <Philip`> | Hmm, stack overflow if I try it with end tags |
00:49 | <Philip`> | ...because </p> can create a <p>, and <p> can create a </p> |
00:49 | <Philip`> | (in body) |
00:51 | <Hixie> | heh |
00:59 | <Philip`> | http://philip.html5.org/misc/insertion-modes-3.svg handles act-as-if-(start|end)-tag |
00:59 | <Philip`> | and is getting a little ugly :-( |
01:00 | <Philip`> | (It's intentional that <noscript> isn't handled, because I haven't translated that bit yet) |
01:01 | <Hixie> | i think my asterisk idea wins :-P |
01:02 | <Hixie> | found any errors in the spec yet? :-D |
01:02 | <othermaciej> | so the "please don't dereference these http URIs" post from the w3c made it to reddit |
01:02 | <Philip`> | If I added asterisks, I'd have to add some way to delete duplicates, and that would require lines of code :-( |
01:02 | <othermaciej> | I am amazed how many people support the concept of using http URIs as opaque identifiers not meant to be dereferenced |
01:02 | <Hixie> | i think we clearly should learn from this that using URIs for things that are opaque identifiers not meant to be dereferenced is dumb |
01:02 | <othermaciej> | barely a moment's thought given to whether that might be a dumb idea in the first place |
01:03 | <Hixie> | Philip`: heh |
01:04 | <Philip`> | You can just look at http://philip.html5.org/misc/insertion-modes.svg and imagine a "..., or may be implied" beside each transition |
01:07 | <Philip`> | Hixie: There's a few things that don't entirely seem sensible in there (so I've sent mail to public-html), but I haven't tried looking hard for errors yet :-) |
01:08 | Philip` | wants to create hundreds of thousands of test cases to see if all the parsers interoperate |
01:09 | <Hixie> | k |
01:17 | <tantek> | FWIW I'm quite firmly on the other side re: http URIs, in strong support of dereferenceable URLs (not a typo), e.g. for XMDP profiles. |
01:18 | <othermaciej> | a dereferencable URL for something meant to be dereferenced is fine |
01:18 | <othermaciej> | but an allegedly opaque identifier starting with "http:" and having the format of a URL is just dumb |
01:19 | <tantek> | IMHO a URI using the "http" protocol implies dereferencability. |
01:21 | <othermaciej> | that's certainly how it seems to most people |
01:22 | <Dashiva> | Any transfer protocol would be an odd choice for non-transfer, really |
01:24 | <Philip`> | <html xmlns="data:,w3.org XHTML"> - still a URI, still uses DNS for 'guaranteed' uniqueness and allows many distinct values for the same domain |
01:24 | <tantek> | agreed Dashiva. Any URI using a transfer protocol implies dereferenceability, and specs SHOULD NOT discourage dereferenceability of such URIs. |
01:25 | <tantek> | in fact, one might even say that specs which use URIs MUST NOT place additional such restrictions on the URIs, as that would be a layer violation. |
03:58 | <jruderman> | will <video> work well for streaming formats? |
03:58 | <jruderman> | such as real-time porn cams |
09:09 | <hsivonen> | the idea of using URIs as identifiers rather than locators ignores the main affordance of URIs |
09:10 | <hsivonen> | in that sense, we should have stayed with URLs and the URI thing was a mistake |
12:36 | <annevk> | Philip`, is your parser faster than the Java parser? |
12:37 | <Philip`> | annevk: My C++ tokeniser was faster than the Java tokeniser (at least in the particular case that I was testing) |
12:38 | <annevk> | you haven't converted the OCaml parser to C++ yet? |
12:40 | <Philip`> | No, and the tree constructor part doesn't quite work in OCaml yet either |
12:43 | <annevk> | k |
13:52 | <zcorpan_> | http://www.sitepoint.com/forums/showthread.php?t=531009 |
15:01 | met_ | just testing postMessage http://ejohn.org/apps/message/ |
15:01 | <gsnedders> | the spec gen truly is bizarre. |
15:01 | <met_> | anyone knows why it doesn't work in opera? |
15:01 | met_ | thougt Opera implemented postMessage already |
15:04 | <annevk> | Opera implemented it on document instead of window |
15:04 | <met_> | oh |
15:04 | <annevk> | (this is changing) |
15:04 | <met_> | ok, I have missed thaht |
15:16 | <gsnedders> | Hixie: playing around with various concepts I have for implementing the spec-gen clone, it's gonna be quick. really quick. |
15:16 | <gsnedders> | (and by playing around I mean playing around with a DOM tree of the HTML 5 spec, so a really large doc) |
15:58 | <annevk> | Hixie, in http://lists.w3.org/Archives/Public/www-archive/2008Jan/0078.html you said you changed test 43 but it seems that you did not do that |
19:23 | <Hixie> | annevk: as far as i can tell i did; what's not fixed? |
19:27 | <Philip`> | Hmm... Opera has a feature to import bookmarks from Firefox |
19:28 | <Philip`> | Firefox 3 stores bookmarks in an SQLite database |
19:28 | <Philip`> | Hence, Opera will have to include SQLite so that it can continue to import from Firefox |
19:28 | D2xSadEagle | can't say he blames FF people for using something like SQLite. |
19:28 | <D2xSadEagle> | though don't they always run only one process? Cheaters :p |
19:29 | <Philip`> | Since it already has to pay the code-size and integration cost of SQLite, it will cost approximately nothing extra to support client-side database storage in a way that's compatible with Firefox |
19:29 | <Philip`> | And so the world will be happy and interoperable, which is good |
19:30 | <Hixie> | it frightens me that Julian is arguing that servers don't assume that a missing Referer means that the request should be allowed |
19:30 | <Philip`> | (And any other browser that wants to attract Firefox users will have to offer a similar import feature, and so will have to have SQLite too) |
19:31 | <Dashiva> | Philip`: Well, that all assumes FF3 will be released before DNF :) |
19:32 | Hixie | wonders how to respond to someone who has such a feeble grasp of the realities of deployed content |
19:33 | <Philip`> | Hixie: If they do assume that, it should be easy to give some examples of open source code with that assumption |
19:34 | <Philip`> | It seems the much more common situation (mainly to avoid image hot-linking) is for servers to assume a non-missing different-origin Referer means the request should be denied |
19:34 | <Philip`> | (which isn't the same as assuming a missing Referer means the request should be trusted) |
19:35 | <Hixie> | right |
19:35 | <Philip`> | (because nothing particularly bad happens when someone hot-links an image and 1% of users don't send Referer and therefore don't get redirected to a rude message) |
19:36 | <Hixie> | feel free to point him to code doing this if you know of any |
19:36 | <Philip`> | I don't know of any |
19:36 | <Hixie> | yeah me either |
19:36 | <Hixie> | i just know it's very common :-) |
19:36 | <Philip`> | You're the one arguing that servers do make assumptions :-p |
19:37 | <hsivonen> | b.m.o at least used to block slashdot referers but allows no referer |
19:37 | <Philip`> | and arguing without evidence is not very convincing :-) |
19:37 | <webben> | What does Apache do by default? |
19:37 | <hsivonen> | webben: just logs the referer |
19:38 | <webben> | IIS? |
19:38 | <Hixie> | Philip`: indeed |
19:38 | <Dashiva> | Philip`: My image leech prevention script assumes a missing referer is local |
19:38 | <Hixie> | guess i'll have to do more research |
19:38 | <Dashiva> | It's not open source, though |
19:39 | <Hixie> | time to go to the rehearsal though |
19:39 | <Hixie> | bbl |
19:39 | <Philip`> | hsivonen: b.m.o isn't blocking certain referrers in order to avoid CSRF, so it's not really relevant to the argument about no-referrer pings being bad for security |
19:39 | <Philip`> | and the same for all the image leech prevention scripts |
19:40 | <hsivonen> | Philip`: using Referer for security purposes seems like a very brittle and RFC 2616-incompliant idea to me |
19:41 | <Philip`> | hsivonen: If we assumed people were sensible, then that would mean people wouldn't use Referer for security purposes, and so there's no danger in sending pings with no Referer |
19:42 | <hsivonen> | which one of Julian's messages are we talking about? |
19:42 | <Philip`> | I think the first paragraph of http://lists.w3.org/Archives/Public/public-html/2008Feb/0164.html |
19:49 | <Philip`> | http://google.com/codesearch?q=show:J2QBLfV3jjo:NRV5Vj3R4SI:1curwdNzfbk&cs_p=ftp://t3domains.de/pub/TYPO3-complete-package/current-version/yamlt3-V4.5.0.zip&cs_f=yamlt3/typo3/sysext/cms/tslib/class.tslib_fe.php#l2106 |
19:49 | <hsivonen> | hmm. using Referer as an anti-CSRF mechanism still seems like a very bad idea unless it is merely used as an optimization in a mechanism that actuallly works |
19:49 | <Philip`> | That's something that prevents email form submission if the Referer is wrong or missing |
19:53 | <tndH> | Philip`: lucky for them, fx3 exports its bookmarks to an html file on shutdown ;) |
19:55 | <Philip`> | http://google.com/codesearch?q=show:H3ulLINfCo0:QkWYPi2-xVM:o8NYFfBdVkY&cs_p=http://freshmeat.net/redir/punbb/46741/url_tgz/punbb-1.2.15.tar.gz&cs_f=punbb-1.2.15/upload/include/functions.php#l671 |
19:55 | <Philip`> | That also prevents things if Referer is wrong or missing |
20:00 | <Philip`> | http://google.com/codesearch?q=show:BILmTBaOV7w:J2LE5gqHQ64:eBTzqE7cT8s&cs_p=http://wphooks.flatearth.org&cs_f=hooks/check_admin_referer/-001#first |
20:00 | <Philip`> | There's another one |
20:00 | <Philip`> | So I still haven't seen one that thinks missing referer means the request can be trusted... |
20:03 | <Philip`> | tndH: Oh :-( |
20:04 | <Philip`> | http://google.com/codesearch?q=show:cFRMv4O2bGI:eriQ8VkTUd4:dQQ6OTNA-Bs&cs_p=https://svn.radicaldesigns.org/amp/trunk&cs_f=punbb/admin_options.php#l41 |
20:04 | <Philip`> | That also rejects missing referer |
20:06 | <Philip`> | http://google.com/codesearch?q=show:2v0x4p249hg:NM4BWguMEFY:lqNJFi-SHlc&cs_p=http://scoop.kuro5hin.org/dist/releases/scoop_1.1.7.tar.gz&cs_f=scoop-1.1.7/lib/Scoop/Admin.pm#l8 |
20:12 | <Philip`> | http://google.com/codesearch?q=show:aVoQhiwqoGk:-V6ZnWGm9lc:vBMeJnZMb1M&cs_p=http://www.dcscripts.com/localFTP/gdcf625.tar.gz&cs_f=./dcf625/cgi-bin/dcforum/dcboard.cgi#l344 |
20:13 | Philip` | gives up looking |
20:13 | <Philip`> | So, I still don't have any evidence that sending requests with a missing Referer is going to introduce security issues in existing software |
20:14 | <Philip`> | (though obviously I also don't have any evidence that it isn't) |
20:17 | <Philip`> | hsivonen: Do you know of some specific anti-CSRF mechanisms that do work? |
20:18 | Philip` | is currently unable to think of any |
20:21 | <Philip`> | http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cscript%3Evar%20xhr%3Dnew%20XMLHttpRequest()%3Bxhr.open(%27GET%27%2C%20%27https%3A%2F%2Fmail.google.com%2Fmail%2F%3Flogout%26hl%3Den-GB%27)%3Bxhr.send(null)%3C%2Fscript%3E |
20:21 | <Philip`> | In Firefox 3, that doesn't work very happily |
20:22 | <Philip`> | presumably because of the Access-Control stuff introducing new CSRF vulnerabilities |
20:23 | <Philip`> | annevk: Is that a known problem or a bug in Firefox or something? |
20:25 | <Philip`> | Oh, maybe not |
20:25 | <Philip`> | It's not anything new, because <script src="https://mail.google.com/mail/?logout&hl=en-GB"></script> has the same effect |
20:25 | <Philip`> | Is it a bug in Gmail, or is the web just fundamentally broken? |
20:25 | <zcorpan_> | hsivonen: apparently some people use transitional because the software they use emit stuff that only validates as transitional |
20:27 | <zcorpan_> | hsivonen: and so it might be worth to look into the default templates of popular CMSs and blogs and which errors they get when validating as html5 |
20:27 | <zcorpan_> | (but i guess the results would be pretty much the same as what you've already got) |
20:27 | <hsivonen> | zcorpan_: good idea |
20:28 | <hsivonen> | zcorpan_: altough the generated stuff in CMSs is harder to change than the templates, so it would be even more interesting to isolate the template parts somehow |
20:29 | <zcorpan_> | yeah |
20:34 | <hsivonen> | I see <a name> and target=_blank in what I think is the Blogger default |
20:35 | <hsivonen> | additionally, the blogger navbar has every presentational iframe attribute |
20:35 | <zcorpan_> | "SMF and WordPress both output target="_blank"." -- http://www.sitepoint.com/forums/showthread.php?p=3718885 |
20:36 | <hsivonen> | what's SMF? |
20:36 | <zcorpan_> | probably http://www.simplemachines.org/ |
20:36 | <hsivonen> | never heard |
20:37 | <zcorpan_> | i hadn't, either |
20:37 | <Philip`> | SMF seems to be fairly popular |
20:37 | <Philip`> | https://labs.mozilla.com/forum/ uses it |
20:40 | <hsivonen> | Can't validate that one with Validator.nu |
20:40 | <hsivonen> | the SSL cert is not supported by Sun JDK |
20:42 | <Philip`> | http://html5.validator.nu/?doc=http%3A%2F%2Fwww.simplemachines.org%2Fcommunity%2Findex.php looks unhappy |
20:42 | <hsivonen> | zcorpan_: WordPress default has profile at least: http://html5.validator.nu/?doc=http%3A%2F%2Fthemes.wordpress.net%2Ftestrun%2F |
20:43 | <Philip`> | and http://html5.validator.nu/?doc=http://www.cyberscoreforums.com/ (SMF 1.x, whereas the other one was 2.x) looks similar |
20:43 | <hsivonen> | ah. language="JavaScript" all over the place |
20:50 | <hsivonen> | Sun's certificate management docs aren't as obvious as I'd like :-( |
20:53 | <hsivonen> | I wonder if there's a way to ask HttpClient to accept any cert and only use TLS for encryption--not for verifying the idintity of the other party |
20:53 | <zcorpan_> | <link rel="help" href="http://www.cyberscoreforums.com/index.php?action=help" target="_blank" /> (from cyberscoreforums.com) |
21:32 | <zcorpan_> | wonder if we should allow <img with=0 height=0> |
21:32 | <zcorpan_> | er |
21:32 | <zcorpan_> | width |
21:37 | <annevk> | Philip`, Google doing actions on the user's behalf based on a GET request seems to be broken |
21:40 | <gsnedders> | annevk: seeming you said you'd explain to me anything I didn't get from the DOM specs, what does compareDocumentPosition() return? |
21:40 | <Philip`> | I suppose doing actions on a POST request would be broken too, because anyone could set up a form and submit it via JS |
21:41 | <Philip`> | so it's basically impossible to safely allow actions |
21:41 | <SadEagle> | gsnedders: it's an untranslatable string of curses in the direction of whoever thought up of this function |
21:41 | <gsnedders> | :D |
21:41 | <SadEagle> | Philip`: check out some stuff in http rfc about pipelining and idempotency, for extra fun. |
21:41 | <gsnedders> | at a really basic level, how can I tell if something occurs before something else? |
21:42 | <annevk> | yes |
21:42 | <annevk> | though not all browsers might support it |
21:43 | <annevk> | also, iirc it returns an integer that maps to some constant |
21:43 | <gsnedders> | oh yuk. |
21:43 | <SadEagle> | hmm, it's actually not so expensive to implement as I first thought. |
21:43 | <kig> | the usual solution to ajax api is to trust the browser to not leak cookies outside SOP and use the cookie secret for authenticating requests by adding the secret as a var to the post req |
21:43 | <SadEagle> | gsnedders: this seems to explain it: http://www.quirksmode.org/blog/archives/2006/01/contains_for_mo.html |
21:44 | <gsnedders> | SadEagle: thx |
21:44 | <kig> | s/usual/what i've been using/ |
21:45 | <SadEagle> | np |
21:45 | <SadEagle> | there is a separate section in DOM3 core explaining it too, just search for DocumentPosition... For some reason the method specs don't refer to it.. |
21:46 | <gsnedders> | that'll be why I didn't find it. |
21:46 | SadEagle | loves DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
21:46 | <gsnedders> | yeah, I just noticed that |
21:46 | <Philip`> | kig: Hmm, that sounds quite reasonable |
21:46 | <gsnedders> | SadEagle: sadly, too often order isn't defined in DOM |
21:48 | <SadEagle> | they have a disconnected flag, though |
21:48 | <annevk> | wow, someone should clean that up and remove that constant |
21:49 | <gsnedders> | DOM5! |
21:49 | <gsnedders> | next year of school will suck. No longer in Secondary 5 :( |
21:51 | <zcorpan_> | dom5 core is on my list of things to do... |
21:51 | <annevk> | Hixie, "input2.setAttribute("checked", "checked"); // sets defaultChecked, doesn't change actual state" does change the state in deployed browsers |
21:51 | <gsnedders> | zcorpan_: you can use me a test subject as someone who doesn't know much about DOM :P |
21:52 | <zcorpan_> | gsnedders: i don't follow |
21:53 | <gsnedders> | zcorpan_: To make sure DOM5 Core actually makes sense to those who don't know much about DOM |
21:53 | <zcorpan_> | gsnedders: ah |
21:53 | <zcorpan_> | gsnedders: not sure that should be a goal though |
21:53 | <SadEagle> | gsnedders: coincidentally, DOM* Core is probably the best-specified part of DOM. |
21:54 | <gsnedders> | SadEagle: I'm aware. |
21:54 | <Hixie> | annevk: oh, in the radio button tests. i thought you were talking about the checkbox tests. |
21:55 | SadEagle | wonders whether someone will be tackling saneification of DOM2 HTML... I guess some parts of WF2 overlap, though. |
21:55 | <gsnedders> | SadEagle: HTML 5 is, AFAIK |
21:55 | <zcorpan_> | yeah |
21:55 | <SadEagle> | poor Hixie :-) |
21:57 | <Hixie> | annevk: wow, that's a big bug in the spec. i'd better make sure i fix that in html5. |
21:58 | <annevk> | i doubt that's possible |
21:59 | <annevk> | HTML5 fixed most of DOM2 HTML |
21:59 | <Hixie> | i mean a big bug in the dom2 html spec |
22:00 | <annevk> | ok |
22:00 | <Hixie> | i haven't checked wf2 |
22:00 | Hixie | mails himself |
22:07 | <Hixie> | annevk: k, fixed the test |
22:09 | <annevk> | how can input1 still be checked? |
22:10 | <annevk> | .defaultChecked is exactly equivalent to setAttribute("checked", "checked") ... |
22:10 | <annevk> | or did you change other things, too? |
22:11 | <Hixie> | wait i thought you said that setting setAttribute("checked", "checked") was specifically _not_ equivalent to setting defaultChecked? |
22:11 | <Hixie> | so you're saying that setting defaultChecked also changes checked??? |
22:12 | <annevk> | yes |
22:12 | <annevk> | sorry for not being more specific initially |
22:13 | <annevk> | maybe I'm wrong |
22:16 | <Dashiva> | Wouldn't it be nice if there was a website that would screenshot a given page in IE6+7, FF2+3, Safari2+3 and Opera9.2+9.5 and display the results? |
22:16 | Hixie | puts it back to what it used to be |
22:16 | <Hixie> | Dashiva: there is |
22:16 | <Dashiva> | really? |
22:16 | <Dashiva> | And not a paid service? |
22:16 | <Hixie> | yes |
22:16 | <Hixie> | i forget the url |
22:16 | <Hixie> | but there are some |
22:16 | <Dashiva> | Hmm... guess it's google time |
22:17 | <annevk> | http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3Ex%3Cinput%20name%3Dradio%20type%3Dradio%3E%3Cinput%20name%3Dradio%20type%3Dradio%3E%3Cscript%3Evar%20i%20%3D%20document.getElementsByTagName(%22input%22)%3B%20i[0].defaultChecked%20%3D%20true%3B%20i[1].defaultChecked%20%3D%20true%20%3C%2Fscript%3E |
22:17 | <annevk> | Firefox seems inconsistent |
22:18 | <Hixie> | well i've put it back to what the spec says |
22:18 | <annevk> | but given how inconsistent Firefox is I'm not sure we can fix it |
22:22 | <Philip`> | Dashiva: http://browsershots.org/ ? |
22:22 | <Dashiva> | Yeah, looking at that now |
22:43 | <annevk> | Hixie, because of "iframe { float: left; height: 0; width: 0; }" some of the media query tests are invalid |
22:43 | <annevk> | specifically, y1, y2, y3, and y4 will not function as expected |
22:43 | <annevk> | (if I uncomment that CSS line the media query tests pass in Opera as expected) |
22:46 | <Hixie> | oh the media queries depend on the iframe dimensions? |
22:47 | <annevk> | y1, y2, y3, y4 test the width and height media features |
22:47 | <Hixie> | yes |
22:47 | <Hixie> | i didn't realise that those heights and widths were the viewport dimensions |
22:47 | <Hixie> | of the inner viewport |
22:48 | <annevk> | they are |
22:48 | <Hixie> | but indeed it is |
22:48 | <annevk> | you could change them to min-device-width etc. I suppose |
22:48 | <Hixie> | fixed |
22:50 | <Hixie> | there, let me know if that works |
22:50 | <annevk> | that works, but you should update the comment to say that the tests assume a 0x0 window |
22:50 | <annevk> | "// the next four assume that the window is bigger than 1em by 1em at the time the test is run" |
22:51 | <Hixie> | fixed |
22:51 | <annevk> | great |
22:52 | <Hixie> | that broke safari |
22:52 | <annevk> | bonus points |
22:52 | <annevk> | ;) |
22:54 | <salty-horse> | this may be old news. graphviz over canvas: http://www.ryandesign.com/canviz/ |
22:56 | Philip` | hadn't seen that before |
22:56 | <Philip`> | Looks like it works well :-) |
22:57 | <Philip`> | Is it possible for someone to enter their own dot files? |
22:58 | <salty-horse> | I just saw this link on graphviz.org :) |
23:03 | Philip` | fails to find any information about it other than https://mailman.research.att.com/pipermail/graphviz-interest/2007q3/004709.html |
23:05 | <Hixie> | Philip`: you've tested <canvas> the most, do you know if it's the case today that all <canvas> implementations create backing stores the same dimensions as the coordinate space? |
23:07 | <salty-horse> | Philip`, since the graphviz xdot output parsing is on the client-side, you already have all of the source code :) |
23:08 | <Philip`> | Hixie: I think WebKit might use a different scale if you some secret hidden OS X feature to change the UI scaling factor or something like that, but I've never tried that myself |
23:08 | <Philip`> | s/ / use / |
23:08 | <Hixie> | but other than that, they all just use the coordinate space? |
23:09 | <Hixie> | so if i have <canvas height=1 width=1> and canvas { height: 100%; width: 100%; } they all screw it up? |
23:09 | <annevk> | Firefox and Opera "do" |
23:10 | <Philip`> | The internal buffer is always independent of the size rendered on the screen |
23:10 | <annevk> | although in that case it's debatable what should happen as CSS stuff is just resizing after all the <canvas> stuff happened |
23:10 | <Philip`> | It wouldn't really make sense otherwise, given that you can change the rendered size easily |
23:10 | <Hixie> | i'm not saying the css stuff should control the buffer size |
23:10 | <Philip`> | (like by resizing the window if it's width:100%) |
23:10 | <Hixie> | i'm just asking if that would always make a 1x1 buffer |
23:11 | <Philip`> | I think in WebKit it would be (1*UI scaling factor)x(1*UI scaling factor), where UI scaling factor = 1 unless you're using developer tools to change it |
23:12 | <Hixie> | k |
23:12 | <Philip`> | (but I could be wrong :-) ) |
23:12 | <Hixie> | that seems sad |
23:12 | <roc> | we're always 1:1 |
23:12 | <Philip`> | Why? |
23:13 | <roc> | changing that would be pretty easy, but someone has to think about dynamic DPI changes |
23:13 | <Philip`> | s/^/Hixie: / |
23:14 | <Hixie> | Philip`: because it means that i can't pick a convenient coordinate space |
23:15 | <Philip`> | Not quite sure what you mean |
23:15 | <Hixie> | Philip`: i have to think about what my biggest likely rendering size (in terms of css pixels) will be |
23:15 | <Hixie> | instead of just saying "well i'll just work in the range 0..1" |
23:16 | <Philip`> | ctx.scale(canvas.width, canvas.height) would let you work in the range 0..1 |
23:16 | <Hixie> | true |
23:17 | <roc> | Hixie: someone has to think about that. The browser can't really know. |
23:17 | <Hixie> | the browser could just use big abcking stores |
23:18 | <roc> | if it didn't care about performance |
23:18 | <Hixie> | right |
23:18 | <roc> | it turns out we do care about performance |
23:18 | <Hixie> | that's a tradeoff each browser vendor can make |
23:18 | <annevk> | if the author wants hires they should just use a huge <canvas> |
23:18 | <annevk> | imo |
23:18 | <roc> | it's useful to be able to get information from authors. Some authors care about performance too |
23:19 | <annevk> | and then scale using CSS |
23:19 | <Philip`> | Do any authors not care about performance? |
23:20 | <Philip`> | <canvas> is always going to be slow, because people want hi-res full-screen canvases with millions of pixels, so performance is unlikely to ever become irrelevant |
23:23 | Philip` | likes to think of <canvas> as dynamic <img>, where you just say it's got w*h pixels and you can stick colour values in them, and tries not to think of <img src=x.svg> which breaks that model |
23:24 | <Philip`> | and anything more complex makes my head hurt |