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