00:01 | <boblet> | and browser support for :not is… :p |
00:02 | <boblet> | will attempt to rephrase more persuasively and email to the list. thanks for the feedback |
00:03 | <Hixie> | :-) |
00:03 | <Hixie> | isn't :not pretty widely supported by now? |
00:03 | <Hixie> | it was in like acid2 wasn't it? |
00:03 | <jamesr> | :not? no |
00:04 | <Hixie> | who on earth doesn't support it? |
00:04 | <Hixie> | i guess it was only acid3 |
00:06 | <jamesr> | :not() in css3-selectors is defined as only taking simple selectors, div.bq is not a simple selector |
00:06 | <jamesr> | dunno who supports non-simple selectors in :not() these days |
00:06 | <Hixie> | oh, right |
00:06 | <Hixie> | it'd just be :not(.bq) > blockquote { } |
01:20 | <Philip`> | Is Gmail now saying that every email sent by a Gmail user to the WHATWG list is phishing? |
01:20 | <Philip`> | (as a change from its old approach of saying every email from @google.com was phishing) |
01:24 | <zewt> | yeah i just started seeing that today |
01:24 | <zewt> | not every mails, but enough to be problematic |
01:24 | <zewt> | (every mails? english is hard) |
01:30 | <Philip`> | (every mail) |
01:30 | <Philip`> | (english are hard) |
01:31 | <Philip`> | ((Not the latter)) |
01:32 | <zewt> | (i was puzzling at what strange series of edits I must have made to land on "every mails", heh) |
01:33 | Philip` | realises he is half asleep, and should go the rest of the way |
01:33 | <jamesr> | it's pretty hyperactive |
01:34 | <jamesr> | i'm sure someone is tuning it |
01:34 | <zewt> | gmail suddenly started cramming way too much info in every from: section, too |
02:29 | <karlcow> | http://blog.stateless.co/post/6246070973/how-offline-web-apps-should-work |
03:05 | <roc> | karlcow: I believe a big problem with that proposal is that it doesn't allow for safe updates. How does a Web author ensure that if a user visits a new version of the Web app, manages to download half of the resources and then goes offline, they still have a usable version of the app for offline use? |
03:12 | <roc> | I'm a bit worried about the increasing use of Function attributes instead of real DOM event listeners |
03:12 | <karlcow> | roc: in which ways localStorage prevent a partial update? (question, because I do not know) |
03:13 | <roc> | localStorage a) sucked and b) is nothing to do with this really |
03:13 | <karlcow> | ooops |
03:13 | <roc> | the feature he's talking about is the HTML5 "appcache" |
03:13 | <karlcow> | I meant the appcache |
03:13 | <karlcow> | 23:22 here |
03:14 | <roc> | I was talking to you at 4am my time last night, so deal with it :-) |
03:14 | <karlcow> | heh |
03:14 | <karlcow> | but you are a roc(k) |
03:14 | <roc> | in my head, anyway |
03:14 | <roc> | appcache is specifically designed to ensure that you always get a consistent version |
03:14 | <roc> | it ensures that app resources are always loaded from the cache, not the network |
03:15 | <roc> | when the manifest changes, it reloads all the resources in the background, while servicing requests from the old version of the app |
03:15 | <karlcow> | I see |
03:15 | <roc> | when all the resources for the new version have downloaded, it atomically switches over |
03:15 | <roc> | that's one reason you need a manifest |
03:16 | <roc> | There may be ways to improve the appcache --- I'd be glad if there are --- but that guy hasn't quite thought through the problem enough |
03:22 | <karlcow> | hmm krijn server has hiccup |
03:45 | <karlcow> | http://ariya.blogspot.com/2011/06/your-webkit-port-is-special-just-like.html |
04:08 | <Hixie> | according to http://caniuse.com/#search=column css3 column support is pretty widespread |
04:08 | <Hixie> | but when i try to use it i find a bunch of stuff isn't implemented |
04:08 | <Hixie> | e.g. column-span |
04:08 | <Hixie> | what's the story? |
04:08 | <Hixie> | spec is fiction, or caniuse is fiction? |
04:09 | <benschwarz> | Hixie, I'm not sure. But even the 'best' support for css columns is pretty lax. Subtle differences between browsers makes it tricky to use too |
04:09 | <Hixie> | are there any rants about this online i could look at? |
04:12 | <benschwarz> | Hixie, nothing that comes to mind |
04:12 | <Hixie> | k |
04:13 | <benschwarz> | in actuality, I don't think a lot of people are using them right now |
04:13 | <benschwarz> | columns of text, for the most part, don't really work on screen. better in print |
04:20 | <MikeSmith> | Hixie: I think you have to use vendor prefixes for the column stuff still |
04:21 | <roc> | we don't support column-span |
04:21 | <roc> | and we require vendor prefix |
04:21 | <MikeSmith> | Hixie: e.g., http://platform.html5.org/style.css |
04:21 | <Hixie> | yeah caniuse mentions the prefix |
04:21 | <Hixie> | roc: is it planned? or is the spec in the weeds? |
04:21 | <roc> | the spec's OK |
04:22 | <roc> | we need to check our implementation |
04:22 | <Hixie> | k |
04:22 | <roc> | and implement column-span, which is not so easy |
04:22 | <Hixie> | talking of css specs, anyone know how realistic http://dev.w3.org/csswg/css3-background/ is? |
04:23 | <Hixie> | it looks quite... featureful |
04:25 | <roc> | it's mostly supported by most browsers |
04:32 | <karlcow> | the best support for columns is currently in opera, though with -o- |
04:33 | <Hixie> | in what sense is it better than webkit or gecko's support? |
04:33 | <Hixie> | it doesn't seem to support span either |
04:33 | <Hixie> | nor honour -o-column-width? |
04:34 | <Hixie> | what version should i be using? |
04:40 | <MikeSmith> | Opera seems to support span, afaict |
04:40 | <Hixie> | what version? |
04:40 | <Hixie> | i couldn't get it to work at all |
04:40 | <MikeSmith> | 11.11 and Opera.next |
04:41 | <Hixie> | i'm on 11.50 |
04:41 | <MikeSmith> | Hixie: I'm using it on http://platform.html5.org/ |
04:42 | <MikeSmith> | Opera also support break-* properties for columns |
04:43 | <MikeSmith> | e.g., break-inside: avoid and break-after: avoid |
04:43 | <Hixie> | what am i doing wrong? this works in webkit and gecko but not opera for me http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1053 |
04:43 | <Hixie> | i'm on mac, opera 11.50 |
04:43 | <MikeSmith> | Hixie: span works in my Opera 11.50 on Mac |
04:43 | MikeSmith | looks |
04:44 | <MikeSmith> | Hixie: just do column-count for Opera |
04:44 | <MikeSmith> | you don't need the vendor prefix |
04:45 | <Hixie> | oh i thought karl said i had to use -o- |
04:45 | <Hixie> | k |
04:45 | <Hixie> | ah, yes, that works |
04:45 | <MikeSmith> | cool |
04:47 | <Hixie> | wtf now i can't get -span to work in opera either |
04:47 | <Hixie> | yet it works in your doc |
04:48 | <Hixie> | hm, it works in this case |
04:49 | <Hixie> | weird |
04:50 | <Hixie> | it works if i use <h1> but not if i use <span>? |
04:50 | <Hixie> | ah, it only applies to block-level elements |
04:50 | <Hixie> | i assumed it made them block-level |
05:37 | <Hixie> | hm, webkit does -span as well |
05:45 | <zewt> | weirdo layout hack in gmail's mail index header, wonder when they started doing that ... looks really busted when you scroll around and it visibly changes modes |
07:17 | hsivonen | wonders what WOW-playing Opera users think of the download progress bar WOW quip |
07:33 | <zcorpan> | searching for "opera wow" on twitter didn't bring up much about WoW |
07:37 | <krijn> | karlcow: Yeah, I know, router and/or network cable to the second floor is broken. Will try to fix it tomorrow |
07:43 | <zcorpan> | hsivonen: http://www.sitepoint.com/forums/html-xhtml-52/link-anchor-doesnt-seem-working-ff4-ff5-766794.html "Someone also pointed out that in about:config, setting "html5.parser.enable" to "false", makes this go away." |
07:43 | zcorpan | doesn't know what the bug # is |
08:05 | <zcorpan> | boblet: what do you mean with "excludes footer"? |
08:07 | <zcorpan> | boblet: "Content inside a blockquote must be quoted from another source" is a conformance requirement. so if you put content inside blockquote that is not from another source, it makes your document non-conforming |
08:08 | <zcorpan> | AryehGregor: blockquote is sectioning root |
08:09 | <zcorpan> | maybe i should reply to teh email instead |
08:09 | <boblet> | zcorpan: that should have been stated not felt huh |
08:10 | <boblet> | (took me a while to find where I’d written that :) |
08:10 | <zcorpan> | boblet: where did i state that? |
08:10 | <boblet> | however spec for footer says it’s allowed in sectioning root elements, and blockquote is a sectioning root element |
08:10 | <zcorpan> | indeed, i don't recall stating that blockquote must not contain footer |
08:11 | <boblet> | I meant in that while footer is able to be quoted in blockquote, it’s not able to be used as a footer for blockquote |
08:11 | <MikeSmith> | zcorpan: that is, not allowed to contain the attribution, only the quote itself |
08:12 | <zcorpan> | yeah ok |
08:12 | <boblet> | I’ve been thinking more about it, and am writing an email about the use cases the current spec makes difficult or excludes |
08:13 | <boblet> | will look forward to your feedback on it :) hopefully tomorrow… |
08:13 | <boblet> | biab |
08:46 | <asmodai> | Any of my regular contacts in here interested in testing Google+? |
08:46 | <annevk> | I am |
08:48 | <matjas> | AryehGregor: can you chime in here? https://bugzilla.mozilla.org/show_bug.cgi?id=389348#c6 |
08:48 | <annevk> | it seems I'm in already |
08:48 | <annevk> | thanks arve! |
08:50 | <asmodai> | lol |
08:51 | <asmodai> | Step out for 4 mins to talk to a colleague and annevk already gets invited, haha |
08:51 | <david_carlisle> | hsivonen: how many extra names does IE have, are they listed somewhere? |
08:54 | <hsivonen> | david_carlisle: my vague recollection is that there are more than 5 but fewer than 20. |
08:55 | <hsivonen> | david_carlisle: the one that I remember is called &pdf; but that ungooglable, so I have trouble finding a list |
08:55 | <david_carlisle> | hsivonen: grmble, hopefully we'll decide not to do anything, then i can go back to sleep |
08:56 | <annevk> | we already decided that last time this came up |
08:56 | <annevk> | not sure what new information there is |
08:56 | <hsivonen> | annevk: yes we did, but I don't recall the rationale. |
08:56 | <hsivonen> | annevk: had I recalled the rationale, I'd have WONTFIXed the bug already |
08:56 | <annevk> | IE has entities for bidirectional characters |
08:57 | <hsivonen> | annevk: also, I'm not sure I agreed with the rationale last time |
08:57 | <hsivonen> | still, I don't like flipflopping on stuff like this forever |
08:58 | <annevk> | http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-March/014125.html |
08:58 | <annevk> | " |
08:58 | <annevk> | I'm very skeptical about introducing entities for the codes that are |
08:58 | <annevk> | redundant with dir="" and <bdo> (namely, lre, lro, pdf, rle, rlo). |
08:58 | <annevk> | I don't know enough about the others to have an educated opinion. I can |
08:58 | <annevk> | set up a search to examine the data in more detail." |
08:59 | <annevk> | david_carlisle, in that email you can also find a list, just search for "pdf" |
08:59 | <hsivonen> | annevk: dir="" and <bdo> don't work inside the title attribute |
08:59 | <david_carlisle> | annevk: thanks for the link |
09:05 | <zcorpan> | Hixie: do you look at bugs in their order of priority? |
09:38 | <asmodai> | hah, awesome: http://grantgalitz.org/get_the_hell_out/LegendOfZelda_Links_Awakening/ |
09:40 | <zcorpan> | i love that game |
09:43 | <matjas> | is it possible to disable rich text in contenteditable? /inb4 “just use <textarea>” |
09:45 | <zcorpan> | seems it doesn't have the select glitch |
10:32 | <hsivonen> | zcorpan: thanks for the sitepoint link |
10:32 | <hsivonen> | zcorpan: I have no idea what's going on but I trust bz's guess: https://bugzilla.mozilla.org/show_bug.cgi?id=668213#c5 |
10:43 | <bdc> | PM `matjas` |
11:45 | <annevk> | Ms2ger, any chance I can get commit access to specification-data? |
11:45 | <annevk> | Ms2ger, I am going to try to do Progress Events with Anolis to see if I can make it work, but I need to add some references |
11:46 | <annevk> | Ms2ger, currently it does not even have XHR |
11:46 | <Ms2ger> | I thought you had access already, fixed now |
11:46 | <Ms2ger> | Btw, you noticed anolis can create those files for you? |
11:47 | <annevk> | I saw something about it creating the index for terms and such, but not sure how it works |
11:50 | <Ms2ger> | anolis --dump-xrefs=data/xrefs/dom/xhr.json Overview.src.html /tmp/whatever would update xhr.json |
11:50 | <Ms2ger> | (You probably need a stub with the URL first) |
11:52 | <annevk> | interesting |
12:06 | <annevk> | Ms2ger, I updated references.json with an XHR entry but I still get |
12:06 | <annevk> | "SyntaxError: Specification not found: xhr." |
12:07 | <annevk> | does specs.data also need an update? |
12:07 | <annevk> | hmm |
12:07 | <Ms2ger> | specs.json is for cross-spec cross-references, references.json is for the references section |
12:17 | <annevk> | the error reporting is not so great |
12:17 | <annevk> | lots of times make just says nothing and I get an empty Overview.html |
12:17 | <zcorpan> | so http://people.opera.com/miket/2011/6/viewer.html is kinda broken if the user uses teh reload button after viewing an image |
12:18 | <Ms2ger> | It should print an exception at least |
12:18 | <Ms2ger> | But patches very welcome ;) |
12:19 | <zcorpan> | would it be worth it to work around this misuse of the api so that if you reload a page that has used pushState, and the new page doesn't have an event listener for popstate, when you navigate back the browser uses the previous page (the one that used pushState) instead of staying on the current one |
12:19 | <annevk> | I think there are no exceptions for missing reference entries |
12:19 | <annevk> | it just fails silently |
12:20 | <annevk> | or maybe once it has thrown an exception it won't throw it again the next time you run make |
12:21 | <Ms2ger> | Strange, there is "raise SyntaxError, "Reference not defined: %s." % ref" in the code |
12:29 | <annevk> | http://dev.w3.org/2006/webapi/progress/ now uses Anolis |
12:29 | <annevk> | I guess I should check in my changes to specification-data |
12:30 | <Ms2ger> | Please do |
12:31 | <annevk> | where can you put a global hg file with username info and such? |
12:32 | <Ms2ger> | ~/.hgrc |
12:33 | <annevk> | https://bitbucket.org/ms2ger/specification-data/changeset/8390f4084a7a |
12:33 | <Ms2ger> | Lovely |
12:40 | <hsivonen> | how does Roboform integrate into Opera versions that didn't support extensions? |
12:40 | <hsivonen> | it claims compat with Opera 7 through 11 |
12:40 | <hsivonen> | does it do some tricky native code injection without API support from Opera? |
12:45 | <annevk> | Ms2ger, can you use Anolis from Python easily? |
12:48 | <Ms2ger> | Depends on what you call easily, I guess |
12:48 | <Ms2ger> | I'd look at http://hg.hoppipolla.co.uk/hgwebdir.cgi/aquarium/file/ebf539280b86/aquarium.py#l74 |
12:57 | <annevk> | I need to do some pre-processing for XMLHttpRequest |
12:57 | <annevk> | either that needs to move to the Makefile or the Makefile needs to move to Python |
12:57 | <annevk> | or I guess I can create a bash script that combines them... |
13:01 | <Ms2ger> | Oh, right |
13:02 | <annevk> | that last option is prolly the easiest |
13:07 | <Ms2ger> | annevk, maybe something like this would work? http://pastebin.com/XAMfTyCS |
13:10 | <annevk> | I actually want to generate both copies at the same time |
13:10 | <annevk> | but I guess that's a step in that direction |
13:10 | <annevk> | Ms2ger, how do I do http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#ref-httpverbsec ? |
13:11 | <Ms2ger> | Wait for me to implement it, I'm afraid |
13:11 | Ms2ger | looks |
13:12 | <annevk> | I sort of like that for XML too |
13:12 | <annevk> | because you never want XML without XMLNS |
13:12 | <annevk> | at least not for specifications that matter, afaict |
13:22 | Ms2ger | tests |
13:24 | <Ms2ger> | annevk, { "HTTPVERBSEC": [{first link}, {second link}, {third link}] } should work if you update anolis |
13:25 | <annevk> | sweet |
13:25 | <annevk> | I'm adding a bunch of missing references first |
13:29 | <Ms2ger> | Looks like Vlad doesn't edit Typed Arrays anymore |
13:29 | <annevk> | Ms2ger, you mean after "href" and "title" right? |
13:29 | <zcorpan> | seems like some users don't want to update firefox because add-ons and other things break - http://www.sitepoint.com/forums/4908549-post15.html (search for "Actually, two reasons:") |
13:30 | <annevk> | Ms2ger, I will update that right away |
13:33 | <Ms2ger> | annevk, http://pastebin.com/C9VbyrWK |
13:37 | <annevk> | thanks |
13:50 | <annevk> | matjas, even though whitespace is not allowed it can still be made to work |
13:51 | <annevk> | matjas, so you should escape it appropriately on http://mothereffingcssescapes.com/ I think besides giving a warning |
13:52 | <hsivonen> | so IE10 PP2 has msRequestAnimationFrame |
13:52 | <hsivonen> | what's the Opera situation with that one? |
13:52 | <annevk> | we don't |
13:53 | <hsivonen> | sucks for Web authors (again) that this stuff isn't frozen and unprefixed faster |
13:56 | <Rik`> | hsivonen: the first shipped implementation is only 3 months old |
13:57 | <hsivonen> | Rik`: it's not like there's so many design decisions here |
13:58 | <Rik`> | hsivonen: the webkit guys proposed a second argument to determine if the element is displayed |
13:58 | <hsivonen> | I wonder if MS is interested in supporting MathML. they have pretty cool other layout goodies in 10PP2 |
13:58 | <hsivonen> | Rik`: that kind of change would have been backwards-compatible even if the method had been unprefixed already |
14:00 | <matjas> | annevk: done, thanks! |
14:00 | <hsivonen> | in cases like these, prefixing mainly serves to disadvantage browsers that authors didn't bother to support at a given point in time |
14:00 | <hsivonen> | for example, if Opera adds an o-prefixed version, it will suck that code written for moz and webkit prefixes will go to a fallback setTimout path |
14:01 | <hsivonen> | even worse if a new engine wanted to break into the market |
14:02 | <hsivonen> | also, the point of prefixing is defeated if authors anticipate the o-prefixed and unprefixed versions to behave like the existing impls and write code anticipating that |
14:04 | <Rik`> | yes but the alternative is "first to implement choose the API" |
14:05 | <gsnedders> | hsivonen: And what we do now is often end up as the first to drop the prefix, which hurts too |
14:05 | <hsivonen> | Rik`: that happens anyway if Web authors write code that anticipates the unprefixed version working like the first prefixed version |
14:07 | <matjas> | annevk: wait, not done. Line breaks won’t work when simply escaped through \. Unicoads here I come!!1 |
14:07 | <Rik`> | hsivonen: no, people who used the unprefixed version of the webkit gradients will not see it working |
14:07 | <hsivonen> | Rik`: when someone with paul_irish's visibility has blogged http://paulirish.com/2011/requestanimationframe-for-smart-animating/ , it's game over for incompatible changes unless browsers are willing to break cool new legacy content |
14:08 | <david_carlisle> | hsivonen: I wonder about that too:-) |
14:09 | <smaug____> | browser vendors should always be willing to break prefixed APIs |
14:10 | <hsivonen> | smaug____: note that copy-pasteable boilerplate in that post anticipates the future existence of compatible unprefixed version, o-prefixed version and ms-prefixed version |
14:10 | <hsivonen> | so far, guessing that an ms-prefixed version with the same behavior will emerge has paid off! |
14:11 | <hsivonen> | it will be interesiting to see what happens with flexbox |
14:11 | <hsivonen> | I changed prefixes to -ms- on code that worked in Gecko and WebKit using -moz- and -webkit- and got different results |
14:12 | <hsivonen> | (yes, I'm aware that TabAtkins has made actual spec changes after -moz- and -webkit- flexbox impls were made) |
14:12 | <annevk> | Ms2ger, so I'm trying to populate a newly generated progress-events.json but it does not work |
14:23 | <hsivonen> | fwiw, I'll be away from the internets next week, so even if someone sorts out the incomplete registrations at http://wiki.whatwg.org/wiki/MetaExtensions , deployment on Validator.nu will have to way until the 11th of July |
14:27 | <annevk> | Ms2ger, we should change <var> so that it never xrefs |
14:31 | <hsivonen> | looks like the link that the Webtrends regs should have had is http://product.webtrends.com/WRC/7.0/Documents/TechRef.pdf |
14:53 | <annevk> | converting XHR is a little more work than expected :/ |
14:53 | <annevk> | it was a feature people have requested for ages though so hopefully it is worth it |
15:26 | <TabAtkins> | hsivonen: IE10 will have old flexbox behavior. Webkit is switching to new flexbox behavior. |
15:27 | <TabAtkins> | Of course, both -moz and -webkit flexbox were sufficiently different/buggy that you couldn't just spam the prefixes and get the same result in non-trivial cases. |
15:31 | <annevk> | Ms2ger, anolis seems to strip _ from terms |
15:32 | <annevk> | Ms2ger, this creates problems for e.g. SYNTAX_ERR which becomes syntaxerr but is syntax_err in xrefs |
15:34 | <annevk> | I could hack Anolis but I have no commit rights |
15:39 | <annevk> | Ms2ger, I have a fix |
15:39 | <smaug____> | TabAtkins: just curious, any estimate whether the new flexbox model will be stable, or will it be changed again in few months? |
15:39 | <annevk> | -non_alphanumeric_spaces = re.compile(r"[^a-zA-Z0-9 \-]+") |
15:39 | <annevk> | +non_alphanumeric_spaces = re.compile(r"[^a-zA-Z0-9 \-\_]+") |
15:39 | <annevk> | Ms2ger, ^^ in the xref files |
15:40 | <smaug____> | so, what is the reason for <command> element? |
15:42 | <TabAtkins> | smaug____: The underlying model is stable, though I'm re-adding the multiline feature today or next week. Syntax may still be tweaked, but that's it. |
15:45 | <smaug____> | I guess there is only one reason for <command>; to have icon with checkbox or radiobutton |
15:45 | <smaug____> | kind of weak reason |
15:47 | <AryehGregor> | boblet, zcorpan: Oops. I should have read the spec before I commented. :) |
15:48 | <AryehGregor> | (on blockquote as sectioning root) |
15:50 | <AryehGregor> | matjas, I'll look. |
16:01 | <hsivonen> | TabAtkins: apparently the cases I've used (or, well, that Paul Rouget has used and that I've copied) have been simple enough to have the same flex stuff with -moz- and -webkit- |
16:04 | <paul_irish> | hsivonen: btw i hear ya on rAF.. i wrote that post as a way to gather feedback on the spec primarily.. secondarily i wanted to share a shim that was a bit smarter than existing ones that were circulating. it does put vendors in weird place though as the script assumes certain behavior.. :/ |
16:04 | <paul_irish> | Few devs understand that the existence of a prefix means By Using this You are entering into a Contract where things may break and it is Your Fault if they do. :) |
16:05 | <paul_irish> | and then i'd also suggest many things stay prefixed too long anyhow, so that implication loses its authority over time |
16:06 | <paul_irish> | not sure what the right solution is.. but i do get the vibe most devs dont know where/how to submit the community feedback that is desired and implied by the prefix |
16:20 | <hsivonen> | paul_irish: I think the right solution is to allocate more people-time paid by browser vendors to spec writing |
16:20 | <hsivonen> | paul_irish: to get specs in order sooner |
16:21 | <paul_irish> | +1 |
16:21 | <TabAtkins> | +1 |
16:21 | TabAtkins | could use some more spec writers to help out. |
16:28 | <smaug____> | not only spec writers, but also spec reviewers |
16:30 | <MikeSmith> | speaking of spec review, would be nice to get more implementor feedback on the Notifications spec |
16:31 | <MikeSmith> | we had estimated we could take that to LC this month |
16:31 | <MikeSmith> | or maybe even it was CR |
16:31 | <annevk> | John should fix the things Hixie raised I guess |
16:32 | <MikeSmith> | need to ping him I guess |
16:35 | <MikeSmith> | whoah, Alastair left Bocoup |
17:14 | <TabAtkins> | Hm. Is multipage partially broken? Looks like http://www.whatwg.org/specs/web-apps/current-work/complete/rendering.html is coming through as an empty doc. |
17:40 | <annevk> | Ms2ger, if you are still there, need to allow / too |
17:41 | <annevk> | -non_alphanumeric_spaces = re.compile(r"[^a-zA-Z0-9 \-]+") |
17:41 | <annevk> | +non_alphanumeric_spaces = re.compile(r"[^a-zA-Z0-9 \-\_\/]+") |
17:41 | <annevk> | Ms2ger, ^^ is the new diff |
17:45 | <AnselmBradford> | Does anyone know the current status of the keygen element support in IE? Is this post still the current sentiment of MS? http://blog.whatwg.org/this-week-in-html5-episode-35 e.g. no intention of support in IE? |
17:49 | <AryehGregor> | AnselmBradford, that's the last I heard, yeah. |
17:49 | <AryehGregor> | Everyone seems to agree keygen stinks. |
17:49 | <AryehGregor> | But no one cares enough to replace it. |
17:51 | <AnselmBradford> | AryehGregor: thanks, seemed to be the sentiment I was reading |
17:51 | <AnselmBradford> | just wanted to double-check |
17:52 | <AnselmBradford> | you reckon it will be replaced anytime soon? Or who knows... |
17:53 | <TabAtkins> | AnselmBradford: It'll be replaced when someone cares enough to. ^_^ Which no one does currently, so... |
17:53 | <AnselmBradford> | TabAtkins: heh, fair enough |
18:26 | <annevk> | http://dev.w3.org/2006/webapi/XMLHttpRequest-2/ and http://dev.w3.org/2006/webapi/XMLHttpRequest/ use Anolis as well now |
20:26 | <smaug____> | ahaa, accessKey handling is underspecified |
20:26 | smaug____ | needs to review and file a bug |
21:01 | <Hixie> | annevk-cloud: yt? |
21:01 | <Hixie> | oh hm nm |
21:02 | <Hixie> | annevk-cloud: should http://dvcs.w3.org/hg/from-origin/raw-file/tip/Overview.html just be merged into the Fetch algorithm? |
21:15 | <Hixie> | i'm going to start making web pages which, isntead of using native controls or canvas or svg or whatever, draw everything pixel by pixel using one radio button per pixel and CSS to set the radio button pixels' colours |
21:15 | <Hixie> | i demand that we add accessibility apis to support this authoring model! |
21:15 | <Hixie> | why do you all hate accessibility! you're makign it imposssible for me to write accessible web pages using radio buttons for pixels! |
21:22 | <The_8472> | Hixie, i prefer my "canvas fallback through 1x1px table cells" approach |
21:23 | <Hixie> | dude authors would never use table cells for this kind of thing, it's clear that that's bad for accessibility. they will use radio buttons like me! which is why we should have a radio button pixel accessibility api! |
21:24 | <The_8472> | we could... embed radio buttons in table cells for maximum compatibility AND accessability? |
21:29 | <Hixie> | TabAtkins: if you could get some traction on http://code.google.com/p/chromium/issues/detail?id=80911&q=bzbarsky&colspec=ID%20Stars%20Pri%20Area%20Feature%20Type%20Status%20Summary%20Modified%20Owner%20Mstone%20OS that'd be fantastic; the difference is masking some potential issues with wf2 api changes |
21:29 | <jamesr> | google.com had table cell bitmaps for icons at one point briefly |
21:29 | <jamesr> | with judicious use of rowspan/colspan to cut down on the # of cells |
21:29 | <Hixie> | the shopping cart guys did that |
21:29 | <Hixie> | i had words |
21:29 | <jamesr> | yeah |
21:29 | <Hixie> | (not that they listened, but still) |
21:29 | <jamesr> | i think it was only live for a few days |
21:29 | <hober> | Hixie: :) |
21:30 | <The_8472> | <jamesr> with judicious use of rowspan/colspan to cut down on the # of cells <- "let's implement something atrociously slow and horrible. and then optimize it a bit. it'll be perfectly fine!" |
21:30 | <zewt> | heh |
21:30 | <zewt> | the firmware update on my old wifi router actually uses a form submit button ... as a progress bar |
21:30 | <zewt> | o_O |
21:31 | <jamesr> | The_8472: i think the motivation was mainly to inline the image (to avoid another request) and support browsers that didn't handle data: urls |
21:31 | <The_8472> | oh. static images. i was thinking of animating stuff with tables! |
21:38 | <jamesr> | hah |
21:38 | <jamesr> | you could probably do something decent with paletted tables |
21:49 | <Ms2ger> | annevk-cloud, I'll look at it tomorrow if I don't forget |
22:58 | <jamesr> | is anyone here following jason weber's setImmediate proposal discussions closely? |
22:58 | <jamesr> | i feel like i have a different set of assumptions going in and i'm not exactly sure what they are |
23:06 | <Hixie> | jamesr: http://www.w3.org/mid/CAD73md+Zp8J2bbdgTqPnK7FYW9A8ZHAEttz_6-H16g6sPKumUA⊙mgc is the crux of the matter as far as i can tell |
23:06 | <jamesr> | well, yeah |
23:07 | <jamesr> | that's definitely an issue |
23:07 | <TabAtkins> | So, hm. How many of the use-cases for setImmediate can be solved by Workers? |
23:07 | <Hixie> | jamesr: i don't understand what the proposal achieves other than that, and as you imply, it doesn't even achieve that |
23:07 | <TabAtkins> | After all, you can just infinite-loop a Worker and go about your business. |
23:08 | <Hixie> | presumably this is for things that update the dom? |
23:08 | <Hixie> | but then why not use settimeout-0 |
23:08 | <zewt> | (well, workers still have the problem of not being able to receive events during a processing loop; maybe I should give that thread a kick at some point...) |
23:09 | <jamesr> | zewt: true |
23:09 | <jamesr> | we could unclamp settimeout() in workers |
23:10 | <jamesr> | or rely on authors setting the timer early, like in my example code |
23:10 | <TabAtkins> | Hixie: You can just send a message to something in the page that'll update the dom for you. |
23:10 | <TabAtkins> | jamesr: No need to setTimeout at all in workers. |
23:10 | <jamesr> | TabAtkins: you do in order to process incoming messages |
23:10 | <Hixie> | TabAtkins: not if the work to update the dom is the expensive work |
23:10 | <jamesr> | or window.postMessage() yourself to yield |
23:10 | <zewt> | my proposal was to add a way to explicitly, synchronously receive a message from a MessagePort in workers; don't remember where that left off (just trailed off, iirc) |
23:10 | <jamesr> | which is equivalent to setImmediate |
23:11 | <TabAtkins> | jamesr: Ah, yes, recieving messages woudl require that. If you're just sending them, you don't. |
23:11 | <TabAtkins> | But yeah, unclamping in a Worker would work, since the primary use-case for the clamp is "keep the UI thread from being hung". |
23:11 | <jamesr> | it's more to keep really dumb pages from spinning 100% |
23:11 | <jamesr> | with an unclamped setTimeout() you can still service UI stuff |
23:12 | <TabAtkins> | Hixie: But it'll get done in separate invocations of the message handler, right? |
23:12 | <zewt> | jamesr: iirc, an objection to that was that it may be hard to actually guarantee the message loop spins fully when a 0ms timer is looping |
23:12 | <zewt> | (don't remember clearly, discussion was a while ago) |
23:12 | <jamesr> | smells like QoI |
23:12 | <zewt> | er, the event loop |
23:12 | <Hixie> | TabAtkins: oh, i see what you're saying |
23:13 | <Hixie> | TabAtkins: yeah, you could do that. it's a bit non-intuitive. |
23:13 | <jamesr> | the event loop impl in chrome is very carefully designed not to starve any task source (both the HTML-defined ones and the implementation-internal ones) |
23:13 | <Hixie> | TabAtkins: think of a case where you need to crawl a 5MB document and search for text nodes containing some text |
23:13 | <Hixie> | TabAtkins: can't really do that in a worker, and you need to yield |
23:13 | <TabAtkins> | jamesr: Oh, if that's the major use-case, then setImmediate does nothing. If someone was spinning the CPU with setTimeout(0), there's absolutely no reason they wouldn't spin it with setImmediate too. |
23:13 | <Hixie> | TabAtkins: (settimeout 0 seems fine for that in practice, to me) |
23:13 | <TabAtkins> | Hixie: That's true, and yes. |
23:13 | <jamesr> | TabAtkins: that's my primary objection |
23:14 | <Hixie> | anyway i don't really see the point of setImmediate() |
23:14 | <Hixie> | it'll never be possible to keep it unclamped |
23:14 | <Hixie> | at which point, it's the same as setTimeout() |
23:14 | <Hixie> | so... |
23:14 | <TabAtkins> | jamesr: I assumed the big reason was the whole "starving everybody else of events" thing, and because solving that with setTimout(0) can increase your running time by a non-trivial amount if you dont' split up the work large enough. |
23:15 | <zewt> | TabAtkins: there's an argument against that on that page: setTimeout(0) has never actually spun, since implementations have always clamped it (long before that was specced), and at least some people using setTimeout(0) are depending on that (probably without being aware of it) |
23:15 | <jamesr> | TabAtkins: then split your work better |
23:15 | <zewt> | TabAtkins: i certainly wouldn't argue that *some* people wouldn't spin stupidly with setImmediate, of course |
23:15 | <jamesr> | zewt: that's just not true, though. mozilla was unclamped, they noticed that pages were using 100% CPU, and they clamped |
23:15 | <zewt> | jamesr: because of people only testing in IE, is my first guess |
23:16 | <jamesr> | in chrome we had an unclamped setTimeout for a while (before release) |
23:16 | <jamesr> | couldn't go with it, of course, because too many pages spun the CPU too badly |
23:16 | <TabAtkins> | jamesr: Indeed. Your code snippet was simple. If it's a big problem, we can solve *that* case directly. |
23:16 | <jamesr> | people's macbook pros were setting their jeans on fire |
23:16 | <zewt> | (the set of people who would only test in IE and the set of people who would use a setTimeout(0) busy loop probably has a lot of overlap) |
23:16 | <TabAtkins> | With, like, a "yieldIfTooMuchTimeIsPassing()" function. |
23:16 | <Hixie> | well you wouldn't want a continuation |
23:17 | <Hixie> | (well, you would, but vendors wouldn't) |
23:17 | <TabAtkins> | "yieldIfTooMuchTimeHasPassedSinceTheLastTimeICalledThisFunction()" |
23:17 | <Hixie> | but the same principle applies |
23:17 | <Hixie> | hasTooMuchTimeElaphsed() |
23:17 | <TabAtkins> | Hixie: I certainly do. And at least some of us webkit people do. |
23:17 | <Hixie> | really? |
23:17 | <Hixie> | dude the moment browser vendors add continuations to the platform, i'm speccing features left right and center to use them |
23:18 | <TabAtkins> | Yeah. It's even in our Traceur thing. |
23:18 | <TabAtkins> | We support an "async" keyword that does simple continuations. |
23:18 | <Hixie> | all the async apis can go away if we have real continuations |
23:18 | <zewt> | what's the vendor objection to them? just too hard to handle when calling scripts from lots of different exit points? |
23:18 | <jamesr> | continuations are cool but they're a language level thing |
23:18 | <jamesr> | dunno if you can just slip them in without a lot of careful design |
23:18 | <TabAtkins> | Hixie: Indeed, continuations are ridiculously more usable than callbacks. |
23:18 | <Hixie> | anyway my assumption is that they're not coming any time soon |
23:19 | <Hixie> | but if that assumption is wrong, i look forward to being proven so :-) |
23:19 | <TabAtkins> | jamesr: You end up having to duplicate all the async methods into being task-based, but it's not too intrusive. |
23:20 | <TabAtkins> | Hixie: Tasks-via-continuations are just an inversation of iterator functions, which everyone wants to support (and FF already does). |
23:20 | <TabAtkins> | s/inversation/inversion/ |
23:20 | <TabAtkins> | It's basically the same "convert the code into a state machine" transformation. |
23:21 | <Hixie> | i thought iterator functions were very tied to specific objects |
23:22 | <TabAtkins> | Just to make sure we're talkinga bout the same thing, I'm referring to Python-like functions that use "yield" to return values. |
23:22 | <Hixie> | yeah |
23:22 | <Hixie> | you can't just yield from a random function though, you can only yield from one that's known to be an iterator, right? |
23:22 | <TabAtkins> | Ok, then yeah, it's the same thing but inverted. When you use an iterator function, the function is converted to a state machine. When you use a task, *you're* converted to a state machine. |
23:23 | <jamesr> | TabAtkins: your mom is converted to a state machine |
23:23 | <TabAtkins> | And you magically transform into producing tasks as well. |
23:23 | <Hixie> | so what happens if you're in the middle of processing a sync event or one of these new mutation callbacks, and you call yield()? |
23:23 | <Hixie> | that sounds insanely painful |
23:23 | <TabAtkins> | I won't think about Jonas's mutation callbacks, because they're not good. |
23:24 | <TabAtkins> | I dunno how sync events are handled. What's an example? |
23:24 | <Hixie> | ok, you're in the middle of a signalling channel callback, and you call yield() |
23:24 | <Hixie> | does the whole PeerConnection C++ implementation get "converted to a state machine"? |
23:24 | <zewt> | Hixie: well, there's how Python does it: if you use the yield keyword, then calling the function returns a generator object; which implies that you can only yield if the caller is expecting it, or the rest of the function just won't be executed |
23:25 | <zewt> | so the exit points that actually support yielding is controllable and not everything necessarily needs to |
23:25 | <TabAtkins> | Hixie: Dunno how PeerConnection works either. |
23:25 | <Hixie> | zewt: right, but that yields to the caller. here we're talking about yielding to the event loop. whole different kettle of fish. |
23:26 | <jamesr> | i think having continuations is nice but it doesn't really reduce the complexity of re-entrancy by that much |
23:26 | <zewt> | right, but the callback or event could specify whether it supports it |
23:26 | <TabAtkins> | But the function that uses the async keyword (to magically make an async event look sync in the code) gets transformed to returning a task instead of its normal return value. |
23:26 | <zewt> | (not sure just how that would work with events) |
23:26 | <TabAtkins> | And it returns that task as soon as the first "async" is hit. |
23:26 | <zewt> | tab: yeah, that sounds directly analogous to Python's model |
23:26 | <TabAtkins> | If the caller doesn't know how to handle tasks, it'll get hurt. |
23:27 | <TabAtkins> | But everything on the UA level *should* know how to do so. |
23:27 | <Hixie> | TabAtkins: oh so you're not just yielding to the event loop, you're just yielding to the parent, who then has to yield as well, etc |
23:27 | <TabAtkins> | Yes. |
23:27 | <Hixie> | oh well that's not so interesting |
23:27 | <Hixie> | that's just a generator |
23:27 | <zewt> | i think lua's model allows yielding all the way out, but it has a full coroutine system for that |
23:27 | <TabAtkins> | It still lets you write straight-line, callback-less code in many situations that would otherwise be messy. |
23:28 | <Hixie> | TabAtkins: not really. you have to have your entire callchain expect you to be yielding, it's not much better than having the whole chain use callbacks. |
23:28 | <TabAtkins> | Hixie: Not quite. Actually implementing it with a generator involves more fiddliness. |
23:28 | <Hixie> | in other news, i just did a revamp of http://www.whatwg.org/specs/web-apps/current-work/complete.html#rendering to be organised by element, not property |
23:29 | <zewt> | Hixie: from my experience with Python, i disagree; having to yield up the call chain is annoying, but *way* better than callbacks or a direct state machine |
23:29 | <Hixie> | can y'all give it a quick sanity check? |
23:29 | <Hixie> | (in particular if anyone can reorder the stylesheet at the top of 15.2.5 Phrasing content to make more sense, let me know) |
23:29 | <Hixie> | (i couldn't come up with a good organisation for it) |
23:30 | <The_8472> | callbacks and coroutines are nearly the same if you do callbacks with closures and the closure syntax is so thin that you could just as well continue the method... |
23:31 | <jamesr> | Hixie: wait, 'expected' is a MUST-level requirement? |
23:32 | <jamesr> | i never realized that (i think i always have skipped to the individual entries and skipped the intro text) |
23:32 | <Hixie> | jamesr: it's a kind-of-must-requirement for certain classes of UAs |
23:34 | <The_8472> | iow: if you want to slap a "standards-compliant" label on your UA? |
23:34 | <zewt> | the: it's a significant difference in readability; being able to write algorithms linearly is, IMO, one of the major advantages of doing stuff in workers instead of with callbacks |
23:35 | <Hixie> | The_8472: you don't have to implement the rendering rules in general |
23:35 | <Hixie> | The_8472: you do if you want to be a mainstream browser ("user agent designated as supporting the suggested default rendering") |
23:36 | <The_8472> | that's very weasel-y language |
23:36 | <Hixie> | suggestions welcome on making it clearer |
23:36 | <Hixie> | TabAtkins: what's the opposite of "replaced element"? |
23:36 | <zewt> | (of course, on the same token I'd rather be able to offload more things into workers than worry about new ways to do complex tasks in the UI thread) |
23:36 | <Hixie> | TabAtkins: (in css) |
23:36 | <TabAtkins> | non-replaced element. |
23:36 | <Hixie> | bummer |
23:36 | <Hixie> | i was hoping for something more puthy |
23:36 | <Hixie> | pithy |
23:36 | <TabAtkins> | We rarely have to talk about that. |
23:37 | <TabAtkins> | Usually it's just general rules for all elements, and then exceptions for replaced. |
23:37 | <Hixie> | i have a section on replaced elements, following a section on everything else |
23:37 | <Hixie> | looking for a heading for that first section |
23:37 | <The_8472> | zewt, problem with workers is that none of the core components (DOM/layout/javascript) have been designed with multithreading in mind. that's why the webworker api is so useless |
23:37 | <TabAtkins> | Hixie: Got some suggestion on how to fix 15.2.5 to be more readable. How you want the feedback? |
23:38 | <Hixie> | TabAtkins: whatever works for you |
23:38 | <zewt> | the: they've been designed with multithreading explicitly not in mind, which isn't quite the same thing |
23:38 | <TabAtkins> | I'll email, then. |
23:38 | <Hixie> | k, send it straight to ian⊙hc |
23:38 | <zewt> | (not quite the right way of putting it, but I think you know what I mean) |
23:39 | <Hixie> | TabAtkins: eta? (just trying to work out if i should check it in now and handle the feedback async, or if i should check google+ then handle your feedback :-) ) |
23:39 | <The_8472> | yeah. the point was is that those design decisions (intentional or not) are what has lead to the web workers being so restricted |
23:39 | <TabAtkins> | Hixie: 5 min or less |
23:39 | <Hixie> | cool |
23:40 | <zewt> | the: yeah; some of those will hopefully eventually be relaxed, some will probably never be (eg. multithreaded access to the same DOM tree) |
23:42 | <The_8472> | snapshotting |
23:42 | <The_8472> | snapshot the dom tree, work on a read-only copy |
23:42 | <The_8472> | could be "good enough" for some things |
23:43 | <TabAtkins> | Hixie: Sent. Just some slight reordering, and some redundancy added to make things group better. |
23:43 | <zewt> | maybe, sounds complex, though |
23:43 | <The_8472> | e.g. to collect all the data you need to generate a fragment, read the layout properties without risking layout reflows and then attach the generated fragment to the live dom |
23:43 | <zewt> | (how do you snapshot a WebGL context?) |
23:43 | <The_8472> | texture |
23:44 | <The_8472> | you'd need a "get me the live equivalent of this dom node" call of course |
23:44 | <Hixie> | TabAtkins: thanks |
23:44 | <nlogax> | STM DOM? :) |
23:45 | <Hixie> | TabAtkins: you think redundancy is ok? i've been avoiding it like the plague in this section for some reason |
23:45 | <TabAtkins> | Yes. |
23:45 | <Hixie> | k |
23:45 | <TabAtkins> | I always feel icky when I remove redundancy from my stylesheet just for the sake of removing redundancy. |
23:45 | <TabAtkins> | Selectors should communicate useful information, especially when grouped together. |
23:46 | <Hixie> | (by redundancy i meant multiple rules applying the same property with the same value to the same element; is that what you meant?) |
23:46 | <Hixie> | (i don't see any) |
23:47 | <Hixie> | i think you meant multiple rules giving the same property/value pair |
23:47 | <Hixie> | which seems ok |
23:47 | <TabAtkins> | No, I meant splitting up a selector into multiple decl blocks. |
23:47 | <TabAtkins> | Yeah. |
23:47 | <Hixie> | looks good |
23:48 | <Hixie> | regenning |
23:48 | The_8472 | uses sass at work. the generated CSS can grow to humungous proportions if you don't pay attention... but it makes things so much easier |
23:49 | <The_8472> | tweak a few variables and the whole color scheme changes. gradients, text, borders... everything |
23:50 | <The_8472> | can only be a decade until we have that in browsers too :( |
23:50 | <TabAtkins> | I'm working on it. |