00:12 | <roc> | ojan: I think a lot of Web apps really want flexbox all the way down |
00:14 | <ojan> | roc: yeah, maybe |
06:07 | <zcorpan> | hmm, hasn't browsers implemented appcache completely already? http://www.w3.org/Bugs/Public/show_bug.cgi?id=14364 |
07:44 | hsivonen | is amused by Hixie's description of how to find him. http://www.w3.org/Bugs/Public/show_bug.cgi?id=14492 |
09:58 | <FlorianX> | hi, i've got one question: Web Messaging works only with iFrames? because for channel/cross document messages i need to call otherWindow.post(...) -> but how can i call this on an other browser tab/window? |
10:01 | <zcorpan> | you might be able to use a shared worker |
10:01 | <bga_> | you can cross tab messaging via onstarage event |
10:02 | <FlorianX> | bga_: but i musst call postMessage(..) on otherWindow -> how could i get the tab? |
10:02 | <FlorianX> | zcorpan: yeah worker communication uses postMessage too. |
10:03 | <bga_> | FlorianX let api allow you get ref to other your tab. now you can do otherTab.document = null. welcome to XSS crazy world |
10:04 | <zcorpan> | .document is not overridable :) |
10:04 | <FlorianX> | bga_: is there a function to get a window or a tab. because everywhere stands tab/ window but the examples use only iframe... |
10:06 | <FlorianX> | the iframe i get with document.getElement... the worker was created in the js so i have a ref... but how get i a ref to a new window or a tab :-) |
10:09 | <bga_> | FlorianX ok you can create dispatcher - shared worker. assign id to each tab, allow send msg to other tab, enumarate ids, allow rpc to exec arbitrary code in other tab etc |
10:10 | <FlorianX> | ok |
10:11 | <FlorianX> | so the next question is, is channel messaging only a specialized cross document messaging "only" with ports? |
10:13 | <bga_> | FlorianX btw you can do more :). cross window messaging in different browsers via Flash and SharedStoarge %) |
10:13 | <FlorianX> | with the chanels? |
10:14 | <bga_> | if you implement |
10:16 | <FlorianX> | new i've got the same question before :-D how could i get a ref to the other browser because i musst call in every case newBrowser.postMessage(...) |
10:16 | <FlorianX> | *now |
10:17 | <zcorpan> | FlorianX: you connect to a shared worker and it creates a message channel between the two, sends the ports back, and then the pages can communicate through the channel |
10:17 | <bga_> | ref to browser sounds crazy and useless |
10:17 | <zcorpan> | FlorianX: no need to have a ref to the window |
10:20 | <FlorianX> | zcorpan: nice. thanks |
10:21 | <bga_> | zcorpan btw when p2p api will land in html5? |
10:21 | <FlorianX> | bga_: yeah useless, but importent to know :-D |
10:22 | <zcorpan> | bga_: it's already in the spec |
10:23 | <bga_> | FlorianX you dont need to know in which browser given window. homogenious space |
10:24 | <bga_> | of cource you can do someWindow._rpc('navigator.userAgent', fn(ret){ }) |
10:26 | <bga_> | zcorpan url? |
10:28 | <bga_> | can not google spec |
10:28 | <bga_> | sorry |
10:29 | <zcorpan> | http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#video-conferencing-and-peer-to-peer-communication |
10:35 | <bga_> | nice. now i can make html5 bittorrent client :) |
10:43 | <FlorianX> | i'm still trying to understand the differences between the channel and cross-document messaging... in channel there is a direct communication channel, so many pieces of code could communicate with their pendats... in cross the hole document reacts to a message? is this the difference? *in simple words* :-D |
10:52 | <zcorpan> | FlorianX: with a channel you have two ports. the ports can be sent around. |
12:36 | <sgentle> | hi there |
12:37 | <sgentle> | I'm doing some stuff with templating and I wanted to check something… in general, should I expect user agents to modify the dom for shits and giggles when it's first rendered? |
12:40 | <sgentle> | for example, if I have an xpath that points to a certain element using a standard no-funny-business HTML parser, should I expect it to point to that element in the browser also? in all browsers? |
12:41 | <Philip`> | Is a "no-funny-business HTML parser" something like html5lib or the validator.nu HTML5 parser? |
12:42 | <Philip`> | If so, modern browsers will produce precisely the same DOM, if the page doesn't contain any scripts that use document.write or that modify the DOM explicitly |
12:44 | <Philip`> | (Most pre-HTML5 non-browser HTML parsers and older browsers will differ in the namespacing of elements, and in various minor details) |
12:44 | <sgentle> | yeah, my definition of no-funny-business includes the relatively well specified funny business in the spec :o) |
12:44 | <annevk> | I might be able to get used to this 5AM thing |
12:44 | <sgentle> | (which is to say, that doesn't count as funny business… geez, negatives are confusing) |
12:45 | <sgentle> | what do you mean by namespacing? |
12:46 | <Philip`> | The HTML5 parser puts HTML elements into the HTML namespace |
12:46 | <Philip`> | Most pre-HTML5 parsers put the elements in no namespace |
12:46 | <annevk> | "<table>test" moves things around |
12:46 | <annevk> | there's various other algorithms that modify the DOM |
12:47 | <annevk> | you only hit such cases for documents that are non-conforming |
12:48 | <Philip`> | That's well specified funny business so it'll be the same between browsers and non-browser parsers (html5lib etc) though |
12:48 | Philip` | is assuming that's roughly what sgentle means |
12:49 | <sgentle> | yeah |
12:49 | <sgentle> | basically I'm trying to do something clever where I parse some html for the locations of template markers to make selectors to those elements |
12:50 | <Philip`> | Scripts break everything, of course |
12:50 | <sgentle> | of course :) |
12:52 | <Philip`> | (Also, non-browser parsers might not implement the spec correctly, because e.g. their DOM-or-similar-tree implementation can't represent all possible DOMs, or because they're trying to be streaming etc) |
12:52 | <sgentle> | so my main concern is just whether I'm going to parse the html, say "aha! this template renders to /body/table/tr[3]/td[2]" and then have that not match up to the actual DOM |
12:53 | <zcorpan> | it wouldn't match anything with a conforming parser :) |
12:53 | <Philip`> | If there are no problematic scripts in the HTML, and if everyone implements HTML5 correctly (which isn't quite true depending on your scope), that should work fine :-) |
12:53 | <sgentle> | it'd be swell if I could somehow hook into the browser's parser, but, y'know… you ask three browsers for an implementation and you get four implementations |
12:54 | <zcorpan> | (there would be a tbody element) |
12:54 | <sgentle> | :o |
12:54 | <sgentle> | I imagine that forgetting tbody is the sort of thing that might get you run out of #whatwg on a rail |
12:55 | <sgentle> | so, uh… I hesitate to ask this |
12:55 | <sgentle> | but how badly is that not true for older browsers? |
12:55 | <annevk> | <tbody> has been done for a *long* time |
12:55 | Philip` | doesn't remember any browser in which it's not true |
12:55 | <annevk> | use http://software.hixie.ch/utilities/js/live-dom-viewer/ to figure out what browsers do |
12:55 | <zcorpan> | old browsers insert tbody too. i think netscape 4 or something might fail to do it |
12:57 | <sgentle> | sorry, not tbody, I mean in general, the expectation that I can parse HTML and get a DOM that matches the DOM in the browser |
12:58 | <Philip`> | Before HTML5, every browser browser gave a different DOM, and every non-browser HTML parser gave different ones again |
12:58 | <sgentle> | oh good :) |
12:58 | <Philip`> | s/browser// |
12:59 | <sgentle> | I was worried for a second this was going to be a massive pain in the ass |
12:59 | <Philip`> | There's probably some small subset of HTML that'd be sufficiently compatible for your goals, but I don't think anyone has attempted to define that subset |
13:00 | <sgentle> | or maybe some sufficiently complicated way of selecting an element |
13:00 | <Philip`> | so the sanity-preserving course is probably to only expect to support browsers with HTML5 parsers |
13:00 | Philip` | has no idea which browser versions that would be, though |
13:01 | <Philip`> | The easy way to select an element is to modify the source and add an id attribute |
13:01 | <sgentle> | yeah, I was thinking about that |
13:01 | <sgentle> | although adding an id to everything feels a little gross |
13:02 | <sgentle> | (not to mention, ironic that to solve the problem of the DOM being modified in arbitrary ways I modify the DOM in an arbitrary way) |
13:02 | <sgentle> | but that might be the only sane option |
13:03 | <sgentle> | whoa… although |
13:03 | <zcorpan> | http://caniuse.com/#search=parser gives an idea (although ie9 doesn't use an html5 parser) |
13:03 | <sgentle> | maybe I could render the html again using an iframe |
13:03 | <sgentle> | with ids |
13:04 | <sgentle> | and then use those ids to construct xpaths or some other generic selector based on the structure of the DOM |
13:04 | <sgentle> | then use that selector to get elements in the original document |
13:04 | <sgentle> | …and since those both happen within the browser, the quirks would be the same (probably) |
13:05 | <sgentle> | I'd obviously have to nuke script tags somehow to stop them being run, but other than that... |
13:11 | <sgentle> | or even something like document.createElement('html').innerHTML = templateWithIds |
13:12 | <sgentle> | is that too crazy to work? |
13:13 | <Philip`> | "too crazy" depends on what you're trying to achieve, and whether there's less crazy ways to do it |
13:13 | <Philip`> | (What are you trying to achieve?) |
13:15 | <sgentle> | well, in a larger sense I'm trying to do live templating - that is, you can use a template + data to generate HTML, change the data and have the HTML change |
13:18 | <sgentle> | as an arbitrary design goal (if I can get away with it), I'd like to not do a jquery-ui style "you use my library? a thousand CSS classes descend upon you!" |
13:19 | <sgentle> | and instead preserve the template property that what you get out is basically what you put in |
13:20 | <sgentle> | the only missing piece is that I need a way to access the templated elements after the page has loaded |
13:20 | <sgentle> | (which is why I'm asking so many strange questions about selectors) |
13:25 | <Smylers> | TabAtkins: http://lists.w3.org/Archives/Public/public-html/2011Nov/0012.html is hilarious. Thank you! |
13:52 | <Ms2ger> | annevk, any interesting discussions about me? |
13:53 | <annevk> | you were thanked for working on tests and someone asked how to pronounce your name |
13:53 | <annevk> | I think that was about it |
13:54 | <annevk> | Glenn Adams is notoriously absent |
13:55 | <Ms2ger> | Hah |
13:57 | <annevk> | hixie had some idea on how to define mutation observers in the DOM btw while not depending on HTML |
13:57 | <hsivonen> | oh so the masked person at TPAC wasn't Ms2ger after all? |
13:57 | <Ms2ger> | hsivonen, ...perhaps? |
13:57 | <annevk> | we basically just "queue" the stuff and HTML dispatches it or some such |
13:58 | <annevk> | hsivonen: I think only tantek walked around with a mask on halloween |
13:58 | <tantek> | >:-> |
13:58 | <Ms2ger> | I see |
13:58 | <annevk> | Ms2ger: oh and sicking wants us to add EventTarget.on.event.add(...) and within those new type of listeners events would always bubble |
13:58 | <hsivonen> | annevk: ok. I meant the photo Sylvain tweeted |
13:59 | <annevk> | yeah that was tantek :) |
14:00 | <Ms2ger> | If sicking can get smaug to implement it, sound great to me :) |
14:01 | <annevk> | and I think pretty much everyone wants node.remove/prepend/etc. though what they should take as argument... |
14:50 | <annevk> | Ms2ger: should also file a bug on HTML for contextless parsing |
14:50 | <annevk> | Ms2ger: requires a new insertion mode afaict |
14:52 | <Ms2ger> | Either that or use <body> like for the other apis |
14:52 | <annevk> | Ms2ger: using <body> is not acceptable for e.g. jQuery and copy & paste so if we do that we might as well not do it |
14:52 | <annevk> | Ms2ger: you want to be able to create a fragment of several rows a in table for instance |
14:52 | Ms2ger | will read the thread later |
14:53 | <annevk> | k |
15:54 | <heycam> | dglazkov, is it ok if your components presentation to us is bumped half an hour later to 12:30pm? |
15:55 | <heycam> | dglazkov, sorry, I mean to 2:30pm. (we originally said 2pm.) |
15:57 | <annevk> | at some point I should stop explaining why URL processing should be uniform and move to the next level |
15:59 | <Ms2ger> | annevk, sniffing? |
16:00 | <heycam> | whoever sniffed it dealt it |
16:00 | <Ms2ger> | heycam, I understand tpac has come to an interesting level? |
16:01 | <heycam> | I don't know anything about levels, man |
16:01 | heycam | brb chairing |
16:03 | <dglazkov> | good morning, Whatwg! |
16:04 | <dglazkov> | heycam: sure. Am I presenting anything? I thought you guys just wanted to pick my brain on shadow doom |
16:05 | Ms2ger | tries not to picture that |
16:06 | <annevk> | hober said the other day he needs to be sniffed |
16:06 | annevk | found that somewhat disturbing |
16:07 | <dglazkov> | I sniffed hober. He's okay |
16:10 | <hober> | I don't know what to say. |
16:11 | <dglazkov> | :) |
16:11 | <zewt> | seriously, rhyming is not the way |
16:11 | <hober> | Anybody want a peanut? |
16:12 | <zewt> | you can't quote the end of that scene, there's nowhere to go with it |
16:14 | Ms2ger | arrests zewt for violating the "Getting-Out-of-Sketches-Without-Using-a-Proper-Punch-Line Act" |
16:15 | <dglazkov> | ah yes, the good old GOOSWUPPLA act. |
16:18 | jgraham | votes we send annevk to the motivational speaker session |
16:18 | <Ms2ger> | What did he do to you now? |
16:18 | annevk | slaps jgraham around with a largish wet trout |
16:19 | karlcow | supports jgraham in his proposal. Annevk definitely would benefit of it |
16:19 | annevk | does a 180 with his trout |
16:21 | Ms2ger | opens a trout shop |
16:21 | <jgraham> | Raise the praise, mionimize the criticize, man |
16:22 | <jgraham> | Oh, tht did post |
16:22 | <jgraham> | Silly spoty connection |
16:22 | <jgraham> | *spotty |
16:23 | <Ms2ger`> | Let's criticize the IETF |
16:23 | <Ms2ger`> | Or shepazu, of course :) |
16:23 | <annevk> | Unicode! |
16:23 | <jgraham> | The words fish and barrel come to mind |
16:23 | <annevk> | <canvas>! |
16:25 | <heycam> | dglazkov, sure, no need to present! just be present :) |
16:26 | <dglazkov> | I'll be a present. |
16:32 | <zewt> | "the optional encoding string parameter MUST be a name or an alias of a character set used on the Internet [IANACHARSET], or else is considered invalid" is that "MUST" strange? |
16:32 | <dglazkov> | wait, there's a vibrator spec? |
16:33 | <dglazkov> | oh, it's for the phones. nevermind. |
16:33 | <zewt> | seems odd to place a normative requirement on parameters, instead of just saying "if it's valid, do this, otherwise do this" |
16:35 | jgraham | notes that the problem with longdesc in browsers is that we don't have any interest in exposing mostly-junk data to users |
16:35 | <Philip`> | You expose the content of web pages to users, and most of those are junk |
16:37 | <karlcow> | specifically ads ;) |
16:37 | <jgraham> | Philip`: coming from you , I expect data to back up that statement :p |
16:38 | <karlcow> | I wonder about the proportion of img used for ads and used for no-ads |
16:38 | <annevk> | users are junks? |
16:38 | <karlcow> | junkies |
16:38 | <karlcow> | [09:38] * karl has the feeling the longdesc looks like a footnote, annotation mechanism. a reference to another piece of text information. |
16:39 | <karlcow> | in fact I could see longdesc used in other contexts. |
16:39 | <Philip`> | jgraham: Most assertions made on IRC are junk too, of course |
16:39 | <karlcow> | with a combination of xmlhttprequest to bring the text in a possible tooltip, ui, something |
16:41 | <annevk> | if you use XMLHttpRequest you should use data-* |
16:41 | <jgraham> | hsivonen: The proper view-source highlghting sounds very cool |
16:42 | <karlcow> | annevk: would it be an issue with the lack of rich semantics |
16:42 | <karlcow> | it is usually not text only |
16:42 | <karlcow> | it is an html file |
16:52 | <annevk> | HTML WG inner circle is discussing longdesc |
16:52 | <annevk> | nobody else has anything to say, yet it takes ages |
16:53 | annevk | is getting allergic to hearing "change proposal" |
16:54 | <Ms2ger``> | Only just now? |
16:54 | <annevk> | so far I mostly saw it in writing |
16:54 | <Philip`> | How do people pronounce "a11y" in real life? |
16:55 | <zewt> | "accessibility" :) |
16:55 | <annevk> | I think I heard a-11 |
16:56 | <zewt> | it's an ironically unaccessible abbreviation |
16:56 | <zewt> | how do you translate "l10n"? |
16:56 | <Philip`> | "lion" |
16:56 | karlcow | is not a big fan of hgroup… or more exactly never really had to use it |
16:56 | <annevk> | there's no irony in standards |
16:56 | <Ms2ger> | Only sarcasm |
16:56 | <karlcow> | L-tee-N |
16:56 | <zewt> | i said translate :P |
16:57 | <annevk> | trololol |
16:57 | <zewt> | how do you localize the abbreviation for localization |
16:57 | <Philip`> | Oh, like into non-English languages? |
16:57 | Philip` | forgot such languages existed |
16:57 | <karlcow> | hmm |
16:58 | <Hixie> | is tantek around? |
16:58 | <karlcow> | L-dix-N doesn't sound that good in French |
16:58 | <dglazkov> | a10n |
16:58 | <karlcow> | a2l |
16:59 | <dglazkov> | w1f |
17:15 | <jgraham> | We totally need a HTMLWG drinking game based around the words "Change Proposal" and "Call for Consensus" |
17:16 | <annevk> | you want double headaches? |
17:16 | <smaug____> | :) |
17:17 | smaug____ | thinks or hopes he has made the right choice to not care about HTML WG at all. |
17:18 | <AryehGregor> | AFAICT, technical work doesn't occur on the public-html list as a rule, only on the whatwg list or Bugzilla. |
17:18 | <AryehGregor> | Bugzilla is courtesy of the HTMLWG, though. |
17:18 | <AryehGregor> | That's certainly worth caring about. |
17:19 | tantek | feels obligated to mention http://tantek.com/2011/238/b1/many-ways-slice-url-name-pieces |
17:20 | <smaug____> | I do file some html spec bugs |
17:20 | <smaug____> | but I don't refer to HTML5 spec, but whatwg html spec |
17:31 | <gsnedders> | jgraham: Why is it always people who don't drink who start drinking games? |
17:31 | <Hixie> | tantek: see /msg |
17:31 | <smaug____> | Hixie: a bit difficult to read that diff without enough context... so click-in-progress is set whenever user clicks an element? |
17:32 | <Hixie> | the patch isn't quite complete yet |
17:32 | <Hixie> | but basically it'll be fired for anything that is click(), the click caused by hitting enter, and the click caused by clicking |
17:32 | <Hixie> | and it'll be unset after the activation behaviorus are done |
17:32 | <smaug____> | ok, sounds good |
17:32 | <jgraham> | MikeSm |
17:33 | smaug____ | updates the patch for gecko |
17:33 | <jgraham> | MikeSmith drinks from the poisoned chalice |
17:33 | <MikeSmith> | heh |
17:34 | <hober> | you're a good man, MikeSmith |
17:34 | <hober> | though i don't understand why this would be an html wg deliverable |
17:35 | <MikeSmith> | hot potato |
17:35 | <hober> | it's almost like we need a wg that defines how urls work across the platform |
17:35 | <hober> | why does that sound familiar? |
17:38 | <annevk> | Mike[tm]: put it in the URL standard |
17:38 | <annevk> | MikeSmith: that is, rename http://dvcs.w3.org/hg/url/raw-file/tip/Overview.html to URL, and make it happen |
17:38 | <annevk> | that is what I would do anyway with more time |
17:38 | <Hixie> | MikeSmith: btw if you just took up an action to work on the URL spec, please coordinate with i18n and abarth |
17:38 | <annevk> | ooh |
17:38 | <annevk> | document license |
17:42 | <MikeSmith> | Hixie, yeah, I plan to |
18:01 | <Hixie> | MikeSmith: cool |
18:47 | <jgraham> | In which we learn that most people who can afford to go to a week-long meeting are paid by someone to go |
18:48 | <Ms2ger> | Orly? |
18:49 | AryehGregor | 's fiancée has a friend named Orly |
18:49 | <jgraham> | Orly? |
18:51 | AryehGregor | needs friends named Yarly and Nowai |
18:54 | <jgraham> | You could have children named that |
18:55 | <AryehGregor> | I'll be sure to suggest it. |
18:55 | <AryehGregor> | I'm sure she won't mind. It's only fair that I get to name half the kids, right? |
19:00 | <karlcow> | http://www.businessinsider.com/gm-is-about-to-move-100000-employees-to-google-apps-2011-11 |
19:01 | <_bga> | can i critique this api http://wiki.whatwg.org/wiki/StringEncoding |
19:03 | <Ms2ger> | _bga, I'd suggest asking for use cases |
19:03 | <Hixie> | gotta love #htmlwg. "W3C through its process guarantees stability" o_O |
19:06 | <franksalim> | _bga, Ms2ger: that proposal looks very useful to me |
19:08 | <_bga> | Ms2ger 1) move it to ArrayBuffer and rename to _encodeFrom, _decodeTo 2) remove byteOffset and byteLen to prefer .slice (its virtual, not copy anything) 3) this API too C'sh, like strcopy or something, immutable api is better, ie ._decodeTo(charset) -> ArrayBuffer, but _encodeFrom(string) is mutable |
19:08 | <Ms2ger> | Anyway, find the guy who invented it and send your comments to him |
19:09 | <_bga> | i hoped he here |
19:09 | <_bga> | ok |
19:10 | <franksalim> | _bga: are you saying it is better to create a new ArrayBuffer than write bytes into an existing buffer (mutating it)? |
19:10 | <_bga> | yeah |
19:11 | <_bga> | immutable api is better for ppl |
19:11 | <franksalim> | worse for performance |
19:11 | <_bga> | less chanse make error |
19:11 | <_bga> | i know |
19:11 | <franksalim> | which many users of typed arrays care about, i think |
19:11 | <franksalim> | since the likely uses of this are going to be mixed binary/text formats and protocols |
19:11 | <franksalim> | is there any fast path for copying one array buffer into another? |
19:13 | <franksalim> | because if i have to have a javascript inner loop to copy bytes, doing the utf8 codec in javascript would probably be faster than creating a temporary buffer |
19:14 | <franksalim> | (there may be a fast path for copying, i just haven't seen it in my reading of the Typed Array spec. if there is, what should i look for?) |
19:16 | <_bga> | franksalim compiler can analize that you make something like a = a._decodeTo('utf8') or return a._decodeTo('utf8') i.e. you completely forget about old {a} and do translation inplace but i guess malloc is not bottleneck in buffer convertation |
19:19 | <_bga> | franksalim var a = new Int16Array([10]), b = new Int16Array(a); a[0] = 1; b[0] |
19:21 | <franksalim> | _bga: i'm not sure i understand the point of that code |
19:21 | <franksalim> | constructing a new Int16Array is not the same as copying from one existing buffer into another existing buffer |
19:22 | <_bga> | if you pass a.buffer instead a, b will have same buffer as a, but by passing a you copy a.buffer to b.buffer |
19:23 | <_bga> | b[0] == 10 prove it |
19:23 | <franksalim> | if i have an existing buffer b, perhaps with some binary header data, and i want to write in additional bytes (perhaps that were encoding a string) |
19:23 | <franksalim> | *were the result of encoding a string |
19:24 | <franksalim> | i can't do that in place without a javascript inner loop, i believe |
19:24 | <franksalim> | so it is desirable to be able to write that string out as bytes directly into my existing buffer, in my opinion |
19:25 | <_bga> | hm |
19:26 | <_bga> | [].push.apply() does not work |
19:26 | <_bga> | heh |
19:26 | <zewt> | . o ( dreaming of python's method binding ) |
19:28 | <_bga> | bad that typed arrays hasnt realloc |