Options:
- # Session Start: Thu Feb 23 00:00:01 2012
- # Session Ident: #whatwg
- # [00:00] * Quits: tomasf (~tom@c-b7dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
- # [00:01] <annevk> Hixie: oh
- # [00:01] <annevk> file too big?
- # [00:01] <Hixie> it's happened before
- # [00:01] <Hixie> doesn't always happen
- # [00:01] * Quits: pyrsmk (~pyrsmk@mau49-1-82-245-46-173.fbx.proxad.net) (Remote host closed the connection)
- # [00:02] <Hixie> hmm
- # [00:03] <annevk> I run zip and then wget
- # [00:03] <annevk> if you some advice for other commands I can run inbetween
- # [00:03] <Hixie> i'm guessing the problem is before zip
- # [00:03] <Hixie> probably anolis being killed by the kernel or something
- # [00:03] <annevk> before zip there's the spec-splitter
- # [00:03] <annevk> which I currently run twice
- # [00:03] <Hixie> or spec splitter yeah
- # [00:04] <Hixie> maybe you could make the spec splitter output a checkpoint file at the end, and then verify that it's there
- # [00:04] <annevk> but maybe I can drop the first copy
- # [00:04] <Hixie> why twice?
- # [00:04] <Hixie> so it looks like the a11y people think we should somehow expose text drawn into canvas so that it can be selected and cursored-through
- # [00:05] <Hixie> i have absolutely no idea how we could do that
- # [00:05] <Hixie> (short of using svg)
- # [00:05] <annevk> by reimplementing everything!
- # [00:06] <Hixie> annevk: my guess is that however many copies you have, the one that is used for whatwg.org is sometimes getting killed early by the kernel
- # [00:06] <Hixie> annevk: i would recommend the checkpoint file idea so you could at least detect that case easily
- # [00:07] * Quits: odinho (~odin@136-20-11.connect.netcom.no) (Ping timeout: 260 seconds)
- # [00:07] <Hixie> something else that might be going on is that i might be calling you again while you're running
- # [00:07] <Hixie> maybe detect that somehow and abort if tere's already a running instance?
- # [00:08] * Joins: odinho (~odin@146.247.201.186)
- # [00:08] <annevk> I don't know nearly enough shell script to take care of that
- # [00:08] <annevk> btw
- # [00:08] <annevk> the fragment-links.js file is generated by the spec-splitter script
- # [00:09] * Quits: jamesr (jamesr@nat/google/x-qvpcrwbelppfurqh) (Quit: jamesr)
- # [00:09] <annevk> so I should probably start including it again...
- # [00:09] <Hixie> it's link-fixup.js that you're not including
- # [00:09] <Hixie> it uses fragment-links.js
- # [00:09] <Hixie> which i thought you _were_ including
- # [00:10] <Hixie> (does it output that file last? if it does, i can use that as the checkpoint file and you don't need to do anything)
- # [00:11] <annevk> I am including it
- # [00:11] <annevk> it outputs that file last
- # [00:11] <Hixie> k
- # [00:12] <annevk> I made spec-splitter generate a single copy now
- # [00:12] <annevk> not spec-splitter, the shell script
- # [00:12] <annevk> commented the other out
- # [00:12] <Hixie> k
- # [00:12] <annevk> we'll see how it goes
- # [00:12] <Hixie> i made my side check for that file and not replace the online copy if it's absent
- # [00:16] * Quits: smaug____ (~chatzilla@193-64-22-206-nat.elisa-mobile.fi) (Ping timeout: 245 seconds)
- # [00:17] <pablof> i thought imagemaps might in fashion again for the canvas thing, no? :P
- # [00:17] <pablof> *might be
- # [00:19] <annevk> oh god
- # [00:20] <annevk> pablof: xhr will just give an error event
- # [00:20] <annevk> pablof: including for cross-origin requests
- # [00:21] * Quits: odinho (~odin@146.247.201.186) (Read error: Operation timed out)
- # [00:30] * Joins: jamesr (jamesr@nat/google/x-snsqmnqroegeyslg)
- # [00:31] <Hixie> so basically one of the a11y requests for canvas boils down to "make find in page work for text drawn to canvas"
- # [00:35] <pablof> annevk: back to the iframe.onerror thing, "it's iframe and it's owner Document", i'm still confused...
- # [00:37] <annevk> confused about what?
- # [00:37] <annevk> might be better to ask Hixie about it
- # [00:37] <annevk> i'm planning to sleep
- # [00:38] * Quits: othermaciej (~mjs@17.245.90.158) (Quit: othermaciej)
- # [00:40] <pablof> about what origins are supposed to be the same
- # [00:40] * Joins: rniwa (rniwa@nat/google/x-olklirpeevnijmqf)
- # [00:40] <Hixie> pablof: what's the question?
- # [00:41] <pablof> Hixie: [[ When content whose URL has the same origin as the iframe element's Document fails to load (e.g. […]), then the user agent must queue a task to fire a simple event named error at the element instead.]]
- # [00:42] <Hixie> yes?
- # [00:42] <annevk> pablof: it's the origin of the URL of the iframe and the origin of its owner Document afaict
- # [00:43] <Hixie> i really can't see any sane way that we could make "find in page" work for text drawn to canvas...
- # [00:43] <Hixie> hmmmmmm
- # [00:44] <Hixie> one of the design concepts for canvas is the idea that it has no backing DOM, and that if you need a backing DOM you should be using SVG
- # [00:44] <bga> http://www.paulgraham.com/hundred.html
- # [00:46] * Joins: smaug____ (~chatzilla@GZYYYDCCLXXI.gprs.sl-laajakaista.fi)
- # [00:48] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [00:54] * Joins: chayin_ (quassel@nat/nokia/x-umvlwcedpawoueme)
- # [00:54] * Joins: kborchers_ (~kborchers@unaffiliated/kborchers)
- # [00:54] * Joins: mven_ (~mven__@169.241.49.57)
- # [00:55] * Joins: Philip`_ (~philip@compass.zaynar.co.uk)
- # [00:56] * Joins: wookiehangover_ (~wookiehan@c-67-161-138-118.hsd1.co.comcast.net)
- # [00:57] <Hixie> we could have the fillText()/strokeText() methods somehow keep track of which pixels they drew to, and remember the text at those pixels, until such time as the canvas is blown away by a clearRect()...
- # [00:57] * Joins: bentruyman_ (~bentruyma@li159-104.members.linode.com)
- # [00:58] <Hixie> but that seems like it would be shockingly expensive and wouldn't even work if you were drawImage()ing stuff with text
- # [00:58] <Hixie> e.g. canvas to canvas
- # [00:58] <Hixie> unless you somehow propagated the information along...
- # [00:59] * Joins: AryehGregor_ (~Simetrica@cpe-72-229-29-65.nyc.res.rr.com)
- # [00:59] * Quits: AryehGregor_ (~Simetrica@cpe-72-229-29-65.nyc.res.rr.com) (Changing host)
- # [00:59] * Joins: AryehGregor_ (~Simetrica@mediawiki/simetrical)
- # [01:00] * Quits: kborchers (~kborchers@unaffiliated/kborchers) (Ping timeout: 252 seconds)
- # [01:00] * Quits: mven (~mven__@169.241.49.57) (Read error: Connection reset by peer)
- # [01:01] * Quits: wookiehangover (~wookiehan@c-67-161-138-118.hsd1.co.comcast.net) (Ping timeout: 252 seconds)
- # [01:01] * Quits: chayin (quassel@nat/nokia/x-jajenukmlrjxchyf) (Ping timeout: 252 seconds)
- # [01:01] * Quits: Philip` (~philip@compass.zaynar.co.uk) (Ping timeout: 252 seconds)
- # [01:01] * Quits: abarth (u5294@gateway/web/irccloud.com/x-bzzgwthqieaqkhvo) (Ping timeout: 252 seconds)
- # [01:01] * Quits: bentruyman (~bentruyma@li159-104.members.linode.com) (Ping timeout: 252 seconds)
- # [01:01] * Quits: webben (~benjamin@173-203-84-17.static.cloud-ips.com) (Ping timeout: 252 seconds)
- # [01:01] * Quits: AryehGregor (~Simetrica@mediawiki/simetrical) (Ping timeout: 252 seconds)
- # [01:01] * Quits: tonsofpcs (~tonsofpcs@cpe-72-230-192-8.stny.res.rr.com) (Ping timeout: 252 seconds)
- # [01:01] * bentruyman_ is now known as bentruyman
- # [01:01] * Joins: tonsofpc1 (~tonsofpcs@cpe-72-230-192-8.stny.res.rr.com)
- # [01:01] * Philip`_ is now known as Philip`
- # [01:01] <Philip`> http://simonsarris.com/blog/322-canvas-drawtext-considered-harmful - "Instead of calling drawText() to redraw my text objects each frame, I would instead create a new canvas (one never added to the DOM) for every single text object, and call drawText() on each object only once, drawing the text to its personal canvas. Then, every time I wanted to (re)draw that text object, I would call drawImage() on my real canvas, passing in the object’s ...
- # [01:01] <Philip`> ... personal canvas, instead of using drawText()."
- # [01:01] <Philip`> Sounds like copying text between canvases won't be especially rare, so a solution that doesn't work in that case is not a very good solution
- # [01:02] <Philip`> (A solution that does work in that case is likely to be far worse for many other reasons, of course)
- # [01:04] * Quits: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl) (Quit: RobbertAtWork)
- # [01:04] * Quits: necolas (~necolas@5e0c715f.bb.sky.com) (Remote host closed the connection)
- # [01:04] * AryehGregor_ is now known as AryehGregor
- # [01:04] * Quits: Druid_ (~Druid@p5B05D408.dip.t-dialin.net) (Ping timeout: 265 seconds)
- # [01:07] * tonsofpc1 is now known as tonsofpcs
- # [01:07] * Joins: Druid_ (~Druid@p5B05D408.dip.t-dialin.net)
- # [01:07] <Philip`> I'd have thought a better way to approach a11y is to consider that the canvas is a presentation of some internal application-specific data structure (i.e. whatever data the JS uses to decide what to render), and so there should be a decent way to expose that application-specific data to external a11y tools without the significant complexity of converting it all into a DOM
- # [01:08] <Philip`> (One of the main advantages of canvas over SVG is that it's much easier to write code to render data since you don't have to convert it all into a DOM)
- # [01:10] * Quits: Druid_ (~Druid@p5B05D408.dip.t-dialin.net) (Client Quit)
- # [01:10] <Hixie> yeah
- # [01:10] <Hixie> the problem is that the AT wants a tree
- # [01:11] * wookiehangover_ is now known as wookiehangover
- # [01:11] <Hixie> which suggests using the DOM
- # [01:13] <Philip`> Could it equally suggest something like a JSON object? (with some specially-designed vocabulary so it exposes the data needed for AT with minimal overhead)
- # [01:14] * Philip` doesn't automatically equate "tree" with "DOM"
- # [01:14] * Joins: abarth (~abarth@173-164-128-209-SFBA.hfc.comcastbusiness.net)
- # [01:15] <gsnedders> I do. Whenever I want a tree data structure, I map my data to the DOM.
- # [01:16] <Hixie> Philip`: specifically, the AT wants a tree with AT annotations and so on, which is why it suggests the DOM (which already has all those built in, though not positions for the canvas)
- # [01:16] <Hixie> Philip`: certainly it's no the only solution, or maybe even the best
- # [01:17] <Hixie> Philip`: the idea of describing it as a JS object and then sending the object to the AT each time the canvas changes is interesting...
- # [01:17] <Hixie> hmm... what would it looks like. you'd have a bunch of nested arrays, each of which was a level of the hierarchy
- # [01:18] <Hixie> each would have a path associated with it, presumably, and a role
- # [01:18] <Hixie> and either a list of descendants, or a string, and you'd have to somehow give the precise position of each glyph in that string
- # [01:18] <annevk> yeah and only <canvas> authored by superhumans will use it
- # [01:19] <Hixie> we could provide APIs to automatically generate much of the information so it wouldn't be hard to build...
- # [01:20] <Philip`> Nobody in reality is going to maintain a DOM equivalent of their canvas-based code as a fallback for non-canvas-supporting graphical users, so they're only ever going to bother with the extra work when they're being forced to add a11y support, so if a non-zero number of people are forced to support a11y then it seems beneficial to provide an efficient a11y-specific API for them
- # [01:22] * Quits: wookiehangover (~wookiehan@c-67-161-138-118.hsd1.co.comcast.net) (Read error: Connection reset by peer)
- # [01:23] * Quits: drublic (~drublic@frbg-5d84e71b.pool.mediaWays.net) (Remote host closed the connection)
- # [01:23] <Hixie> has anyone ever written an accessible version of asteroids?
- # [01:24] <Hixie> http://www.kevs3d.co.uk/dev/asteroids/ is one of the samples that was listed on the wiki page as an inaccessible canvas
- # [01:24] <Hixie> and i'm curious to see what an accessible version would be like
- # [01:25] <nimbu> isnt canvas essentially just like video but animated pixels?
- # [01:25] <nimbu> or pixel hacking
- # [01:26] <nimbu> i dont understand why/how accessibility can be added
- # [01:26] * Joins: wookiehangover (~wookiehan@c-67-161-138-118.hsd1.co.comcast.net)
- # [01:26] <nimbu> i looked at http://game-accessibility.com/
- # [01:26] <nimbu> but didnt find anything useful
- # [01:26] <nimbu> given a lot of canvas seems to be used for retro games
- # [01:27] * Joins: Yuhong (~chatzilla@76.178.157.127)
- # [01:28] <Yuhong> FYI on the IE DOM: http://news.ycombinator.com/item?id=3233935
- # [01:29] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (*.net *.split)
- # [01:29] * Quits: rniwa (rniwa@nat/google/x-olklirpeevnijmqf) (*.net *.split)
- # [01:29] * Quits: jamesr (jamesr@nat/google/x-snsqmnqroegeyslg) (*.net *.split)
- # [01:29] * Quits: nielsle (~nielsle@3239059-cl69.boa.fiberby.dk) (*.net *.split)
- # [01:29] * Quits: yutak (~yutak@2401:fa00:4:1004:baac:6fff:fe99:adfb) (*.net *.split)
- # [01:29] * Quits: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net) (*.net *.split)
- # [01:29] * Quits: macpherson (macpherson@nat/google/x-bxkyypwlxrcceaor) (*.net *.split)
- # [01:29] * Quits: incidence (jussi@unaffiliated/incidence) (*.net *.split)
- # [01:29] * Quits: hoodow (~hoodow@pdpc/supporter/active/hoodow) (*.net *.split)
- # [01:29] * Quits: pocopina (u5310@gateway/web/irccloud.com/x-nglpsiqqedltxzxw) (*.net *.split)
- # [01:29] * Quits: tomaw (tom@freenode/staff/tomaw) (*.net *.split)
- # [01:29] * Quits: mbatle (mbatle@pasanda.collabora.co.uk) (*.net *.split)
- # [01:29] * Quits: wirepair (fbi@random.supermario.org) (*.net *.split)
- # [01:29] * Quits: gsnedders (~gsnedders@mail.gsnedders.com) (*.net *.split)
- # [01:29] * Quits: kbrosnan (kbrosnan@firefox/community/qa/kbrosnan) (*.net *.split)
- # [01:29] * Joins: drublic (~drublic@frbg-5d84e71b.pool.mediaWays.net)
- # [01:30] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [01:32] * Joins: webben (~benjamin@173-203-84-17.static.cloud-ips.com)
- # [01:33] <TabAtkins_> nimbu: Canvas can theoretically be used for anything, so some of them are possible/appropriate to make accessible.
- # [01:33] <TabAtkins_> (I think that most, or maybe all, of these are bad uses of canvas.)
- # [01:33] <nimbu> yeah precisely.
- # [01:33] <nimbu> why would you optimize for bad usecases? :/
- # [01:34] <Hixie> bbl
- # [01:34] <TabAtkins_> nimbu: I don't think we should. That's why I've stopped paying attention to public-html.
- # [01:34] <TabAtkins_> Since it's almost entirely confused a11y arguments.
- # [01:34] <Philip`> nimbu: Because accessibility is a core principle of the web, and canvas is part of the web, so canvas must support accessibility
- # [01:35] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [01:35] * Joins: rniwa (rniwa@nat/google/x-olklirpeevnijmqf)
- # [01:35] * Joins: jamesr (jamesr@nat/google/x-snsqmnqroegeyslg)
- # [01:35] * Joins: nielsle (~nielsle@3239059-cl69.boa.fiberby.dk)
- # [01:35] * Joins: yutak (~yutak@2401:fa00:4:1004:baac:6fff:fe99:adfb)
- # [01:35] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
- # [01:35] * Joins: macpherson (macpherson@nat/google/x-bxkyypwlxrcceaor)
- # [01:35] * Joins: incidence (jussi@unaffiliated/incidence)
- # [01:35] * Joins: hoodow (~hoodow@pdpc/supporter/active/hoodow)
- # [01:35] * Joins: pocopina (u5310@gateway/web/irccloud.com/x-nglpsiqqedltxzxw)
- # [01:35] * Joins: tomaw (tom@freenode/staff/tomaw)
- # [01:35] * Joins: mbatle (mbatle@pasanda.collabora.co.uk)
- # [01:35] * Joins: wirepair (fbi@random.supermario.org)
- # [01:35] * Joins: gsnedders (~gsnedders@mail.gsnedders.com)
- # [01:35] * Joins: kbrosnan (kbrosnan@firefox/community/qa/kbrosnan)
- # [01:35] <nimbu> Philip`: how are images and videos supporting accessibility?
- # [01:35] <nimbu> i would think canvas belongs there
- # [01:35] <Philip`> nimbu: With longdesc
- # [01:35] <Philip`> (and alt)
- # [01:35] <nimbu> yeah there is nothing about making animated gifs accessible
- # [01:35] <Philip`> and subtitles etc for videos
- # [01:35] <Philip`> You put a description of the animated GIF in its longdesc
- # [01:36] <Philip`> (though of course HTML5 doesn't support longdesc (unless the HTML WG changed that yet?))
- # [01:36] <Yuhong> By jbeda, which now works for Google too.
- # [01:37] <nimbu> in my view i dont see how anything more is required specifically for canvas.
- # [01:38] <AryehGregor> Hixie, you should never have included author conformance requirements in the spec. Would have saved you practically all this grief.
- # [01:38] <AryehGregor> UA processing only, that's the way to go.
- # [01:38] <Philip`> Wouldn't that just be shifting the grief to someone else?
- # [01:39] <Philip`> and if those someones handle it more poorly, then it makes the web worse for authors
- # [01:39] <nimbu> it is like saying we should optimize for web devs who use tables for layouts
- # [01:39] <AryehGregor> Only if someone bothers to write authoring conformance requirements for markup. Why does that have to be anything official anyway? Let people write their own private lint programs that match their own preferences.
- # [01:40] <AryehGregor> nimbu, how many hours of implementer time do you think have been spent optimizing for that case? :)
- # [01:40] <AryehGregor> I bet lots.
- # [01:40] <nimbu> :/
- # [01:40] * Quits: drublic (~drublic@frbg-5d84e71b.pool.mediaWays.net) (Remote host closed the connection)
- # [01:40] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (Ping timeout: 272 seconds)
- # [01:44] <Philip`> If authoring conformance didn't exist, it would be necessary to invent it
- # [01:44] <Philip`> People don't like working without rules from authorities
- # [01:45] <TabAtkins_> There really is a distinction between what we are forced to support for compat and what we want to encourage people to write.
- # [01:48] <zewt> authoring conformance should be determined by the rules for implementations
- # [01:48] <zewt> the idea that something must be supported by implementations with a specific behavior, yet is non-conforming, has always felt a bit nonsensical to me
- # [01:48] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [01:50] <TabAtkins_> I don't understand that position. :/
- # [01:54] <zewt> i don't understand the position that something is fully defined, required to be supported, and not to be used
- # [01:54] <TabAtkins_> Mistakes were made, shrug your shoulders and move on?
- # [01:54] <TabAtkins_> Also: "required to be supported" is potentially time-variable.
- # [01:55] <TabAtkins_> If you want to attempt to drive it back to "not", you have to get people to stop using it in new things.
- # [01:55] <zewt> conformance isn't just "we didn't mean to allow this", though
- # [01:56] <TabAtkins_> I don't understand.
- # [01:58] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
- # [01:58] <zewt> ugh. hard for me to do a google search right now, because the idiotic animated front page is lagging text entry on my laptop by several seconds
- # [01:59] <zewt> whoever is doing that crap needs to be shot out of a cannon
- # [02:00] * Quits: Yuhong (~chatzilla@76.178.157.127) (Quit: ChatZilla 0.9.88 [Firefox 10.0.1/20120208060813])
- # [02:02] * Joins: jaredwsmith (~jaredwsmi@c-69-255-40-225.hsd1.va.comcast.net)
- # [02:04] * heycam is now known as heycam|away
- # [02:04] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [02:09] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (Ping timeout: 240 seconds)
- # [02:09] <zewt> TabAtkins_: there's certainly no expectation that browsers will ever change to reject pages with no <title>, for example
- # [02:10] <TabAtkins_> Sure. And yet, there's good reason to include a <title>.
- # [02:11] <TabAtkins_> In general, the author requirements arent' meaningless - there are good reasons to prefer one solution, even if other solutions are required to be supported.
- # [02:11] <TabAtkins_> Pushing people toward those better solutions is a positive.
- # [02:14] * Joins: tomasf (~tom@2002:55e5:dbb7:0:5907:5038:8fee:4089)
- # [02:17] <zewt> i'm not against making good practice recommendations, it's just the normative "must" that feels a bit too strong
- # [02:17] * Quits: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Remote host closed the connection)
- # [02:17] <TabAtkins_> In practice it's a recommendation, since it only actually shows up when you run it through a validator.
- # [02:18] <zewt> so, "should" :)
- # [02:18] <TabAtkins_> Meh, no reason to split hairs on it. Might as well pretend it's a requirement so you don't have people lawyering over it.
- # [02:21] <gsnedders> TabAtkins_: See public-html, it's typically been full of lawyering ove rit
- # [02:21] <gsnedders> *over it
- # [02:21] * Quits: ehsan (~ehsan@66.207.208.98) (Remote host closed the connection)
- # [02:22] <TabAtkins_> gsnedders: I mean authors. ^_^
- # [02:25] * Quits: smaug____ (~chatzilla@GZYYYDCCLXXI.gprs.sl-laajakaista.fi) (Ping timeout: 260 seconds)
- # [02:27] * Quits: dbaron (~dbaron@nat/mozilla/x-mhjpjmxihxfvotih) (Quit: 8403864 bytes have been tenured, next gc will be global.)
- # [02:27] * Joins: ehsan (~ehsan@66.207.208.98)
- # [02:27] * Quits: ehsan (~ehsan@66.207.208.98) (Remote host closed the connection)
- # [02:27] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [02:37] * heycam|away is now known as heycam
- # [02:38] * Joins: Druid_ (~Druid@p5B05D408.dip.t-dialin.net)
- # [02:38] * Quits: ap (~ap@2620:149:4:1b01:f416:46bf:bae4:649f) (Quit: ap)
- # [02:41] * Joins: smaug____ (~chatzilla@GYYYMYDCLIII.gprs.sl-laajakaista.fi)
- # [02:43] <Hixie> AryehGregor: the grief doesn't come from having authoring conformance criteria, it comes from having a system that prefers people with time than people with good opinions.
- # [02:44] <Hixie> AryehGregor: (notice how the whatwg system doesn't waste my time in the same way even though the same issues are discussed)
- # [02:44] <Taggnostr> livedom.validator.nu just froze my firefox
- # [02:45] <Taggnostr> is the author of livedom in this channel?
- # [02:49] * Quits: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90) (Quit: my work here is finished)
- # [02:51] * Joins: nattokirai (~nattokira@rtr.mozilla.or.jp)
- # [02:51] * Joins: miketaylr (~miketaylr@cpe-68-203-0-108.austin.res.rr.com)
- # [02:52] <TabAtkins_> I presume it's a clone of Hixie's live dom viewer, so yes.
- # [02:52] <TabAtkins_> Taggnostr: ^^^
- # [02:53] <Taggnostr> it freezes if I enter a single & after the doctype (the doctype is probably unrelated though)
- # [02:54] <TabAtkins_> Whoops, indeed it does freeze.
- # [02:54] <TabAtkins_> Freezes Chrome too.
- # [02:54] <TabAtkins_> hsivonen: Is this something you ahve control over?
- # [02:55] * Quits: rniwa (rniwa@nat/google/x-olklirpeevnijmqf) (Quit: rniwa)
- # [02:55] <smaug____> hsivonen will be asleep still few hours
- # [03:06] * Quits: smaug____ (~chatzilla@GYYYMYDCLIII.gprs.sl-laajakaista.fi) (Ping timeout: 252 seconds)
- # [03:06] * Joins: ehsan (~ehsan@209.29.21.241)
- # [03:06] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 276 seconds)
- # [03:07] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (Ping timeout: 276 seconds)
- # [03:08] * Joins: temp01 (~temp01@unaffiliated/temp01)
- # [03:08] <Taggnostr> uhm, maybe I found a bug in the HTML5 standard too
- # [03:09] * Joins: jochen___ (jochen@nat/google/x-enykusdjwqlasdna)
- # [03:13] * Quits: jochen__ (jochen@nat/google/x-mvbxeytqpptuojog) (Ping timeout: 240 seconds)
- # [03:13] * jochen___ is now known as jochen__
- # [03:13] * kborchers_ is now known as kborchers
- # [03:27] * Quits: tantek (~tantek@nat/mozilla/x-dmvzizhkubzwselk) (Quit: tantek)
- # [03:44] * Quits: aklein (u4454@gateway/web/irccloud.com/x-wcvqqukqjpslnbgy)
- # [03:52] * Quits: ehsan (~ehsan@209.29.21.241) (Read error: Connection reset by peer)
- # [03:53] * Joins: ehsan (~ehsan@209.29.21.241)
- # [04:00] * Joins: plutoniix (~plutoniix@ppp-124-120-112-154.revip2.asianet.co.th)
- # [04:01] * Quits: schnoomac (~schnoomac@melbourne.99cluster.com) (Ping timeout: 260 seconds)
- # [04:02] * Joins: jacobolus (~jacobolus@70-36-215-74.dsl.dynamic.sonic.net)
- # [04:07] * Quits: pablof (~pablof@144.189.101.1) (Quit: ^z)
- # [04:11] * Quits: jaredwsmith (~jaredwsmi@c-69-255-40-225.hsd1.va.comcast.net)
- # [04:19] * Joins: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp)
- # [04:32] <kennyluck> I actually think all other specifications should start to have authoring conformance. For example, If browser vendors don't want authors to use localStorage and it is not likely to be maintained well, it should be made non-conforming.
- # [04:33] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [04:52] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [04:58] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [05:00] * Quits: jacobolus (~jacobolus@70-36-215-74.dsl.dynamic.sonic.net) (Remote host closed the connection)
- # [05:07] * Joins: schnoomac (~schnoomac@119.63.221.131)
- # [05:13] * Joins: jacobolus (~jacobolus@70-36-215-74.dsl.dynamic.sonic.net)
- # [05:26] * Quits: ezoe (~ezoe@203-140-88-98f1.kyt1.eonet.ne.jp) (Read error: Connection reset by peer)
- # [05:31] * Quits: jochen__ (jochen@nat/google/x-enykusdjwqlasdna) (Remote host closed the connection)
- # [05:31] * Joins: jochen__ (jochen@nat/google/x-rdbkdwfzoeirxirj)
- # [05:36] * Joins: yoshiaki (~yoshiaki@netDHCP-174.keio.w3.org)
- # [05:42] * Quits: jamesr (jamesr@nat/google/x-snsqmnqroegeyslg) (Quit: jamesr)
- # [05:48] * Quits: jacobolus (~jacobolus@70-36-215-74.dsl.dynamic.sonic.net) (Remote host closed the connection)
- # [05:57] * Joins: ezoe (~ezoe@203-140-91-138f1.kyt1.eonet.ne.jp)
- # [06:07] * Quits: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi) (Ping timeout: 265 seconds)
- # [06:08] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [06:12] * Quits: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp) (Remote host closed the connection)
- # [06:12] * Quits: yoshiaki (~yoshiaki@netDHCP-174.keio.w3.org) (Remote host closed the connection)
- # [06:16] <llrcombs> kennyluck: it appears that browser vendors are using localStorage, though
- # [06:27] * heycam is now known as heycam|away
- # [06:42] * Quits: abarth (~abarth@173-164-128-209-SFBA.hfc.comcastbusiness.net) (Quit: abarth)
- # [06:42] * Joins: abarth (u5294@gateway/web/irccloud.com/x-xkndlhzabaoxmzhh)
- # [06:55] * Joins: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp)
- # [06:58] * Joins: Evanescence (~Evanescen@60.183.208.198)
- # [07:06] * Quits: miketaylr (~miketaylr@cpe-68-203-0-108.austin.res.rr.com) (Quit: Leaving...)
- # [07:10] * Joins: silentimp_ (~silentimp@129-123-132-95.pool.ukrtel.net)
- # [07:11] * Quits: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp) (Remote host closed the connection)
- # [07:12] * Quits: silentimp (~silentimp@24-238-133-95.pool.ukrtel.net) (Ping timeout: 276 seconds)
- # [07:12] * silentimp_ is now known as silentimp
- # [07:12] * Joins: niloy (~niloy@122.179.129.91)
- # [07:30] * Quits: schnoomac (~schnoomac@119.63.221.131) (Quit: schnoomac)
- # [07:37] * Joins: LBP (~Mirc@pD9EB229C.dip0.t-ipconnect.de)
- # [07:41] * Joins: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com)
- # [07:45] * Joins: Ducki (~Ducki@pD9E39FD5.dip0.t-ipconnect.de)
- # [07:49] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
- # [07:50] * Quits: silentimp (~silentimp@129-123-132-95.pool.ukrtel.net) (Read error: Connection reset by peer)
- # [07:50] * Joins: silentimp (~silentimp@129-123-132-95.pool.ukrtel.net)
- # [08:07] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [08:16] * Joins: skylamer` (cgskylamer@78.90.213.55)
- # [08:27] * Joins: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [08:28] * zcorpan gives Hixie a cookie :-)
- # [08:30] <MikeSmith> so I've been reminded that Jetty has built-in WebSocket support
- # [08:31] <MikeSmith> so I reckon I can install Jetty on w3c-test.org, for those who care to write the server parts in Java
- # [08:35] * Joins: michaelrtm (~michaelrt@202.296.dsl.mel.iprimus.net.au)
- # [08:35] * Quits: madcow (~michaelrt@202.296.dsl.mel.iprimus.net.au) (Read error: Connection reset by peer)
- # [08:37] * Quits: Evanescence (~Evanescen@60.183.208.198) (Quit: my website: http://stardiviner.dyndns-blog.com/)
- # [08:39] <zcorpan> MikeSmith: filed
- # [08:40] <MikeSmith> thanks
- # [08:40] * Joins: tantek (~tantek@70-36-139-112.dsl.dynamic.sonic.net)
- # [08:40] * Joins: pablof (~pablof@c-98-207-157-89.hsd1.ca.comcast.net)
- # [08:41] * Joins: Thezilch (~fuz007@cpe-75-85-89-34.socal.res.rr.com)
- # [08:42] * Quits: ezoe (~ezoe@203-140-91-138f1.kyt1.eonet.ne.jp) (Ping timeout: 276 seconds)
- # [08:45] * Quits: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Ping timeout: 244 seconds)
- # [08:51] * Joins: jochen___ (jochen@nat/google/x-tfjcpnhrkmkhpcad)
- # [08:52] * Joins: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl)
- # [08:52] * Joins: mishunov (~spliter@77.88.72.162)
- # [08:53] * Quits: jochen__ (jochen@nat/google/x-rdbkdwfzoeirxirj) (Ping timeout: 240 seconds)
- # [08:53] * jochen___ is now known as jochen__
- # [08:57] * Joins: Evanescence (~Evanescen@60.183.194.131)
- # [08:59] <hsivonen> See the last paragraph of http://www.ietf.org/mail-archive/web/apps-discuss/current/msg04355.html
- # [09:00] * Quits: plutoniix (~plutoniix@ppp-124-120-112-154.revip2.asianet.co.th) (Ping timeout: 244 seconds)
- # [09:01] * Joins: necolas (~necolas@5e0c715f.bb.sky.com)
- # [09:01] <hsivonen> TabAtkins_: that livedom.validator.nu freeze is interesting. thanks
- # [09:01] <annevk> hsivonen: that email, wow
- # [09:02] <MikeSmith> hahaha
- # [09:02] <MikeSmith> who is this joker?
- # [09:03] <MikeSmith> hsivonen: he clearly has *real* implementors in mind
- # [09:03] <MikeSmith> not browser makers
- # [09:03] <hsivonen> MikeSmith: he is the Designated Expert
- # [09:03] <MikeSmith> oh geez
- # [09:04] <Hixie> did you explain to him you were describing reality?
- # [09:04] <MikeSmith> I guess I should shut up
- # [09:05] <MikeSmith> It's *a* reality
- # [09:05] <MikeSmith> there are many other possible realities
- # [09:05] <hsivonen> Hixie: no. I expected Alexey and Julian would know that I'm interested in reality
- # [09:05] <Hixie> um
- # [09:05] <Hixie> well that was silly
- # [09:05] <Hixie> :-P
- # [09:06] <hsivonen> in fairness, what I suggested was a synthesis of Gecko, IE and WebKit behavior
- # [09:06] <hsivonen> so what I expect to become reality in Gecko--not quite the current reality
- # [09:07] * Joins: PalleZingmark (~Adium@217.13.228.226)
- # [09:07] * Quits: michaelrtm (~michaelrt@202.296.dsl.mel.iprimus.net.au) (Read error: Connection reset by peer)
- # [09:07] <hsivonen> as in, becomes reality once I get around to implementing the BOM precedence change annevk suggested
- # [09:07] * Joins: madcow (~michaelrt@202.296.dsl.mel.iprimus.net.au)
- # [09:10] <MikeSmith> btw, fitting that the IETF mail-archive server turns "This seems naïve" into "This seems naÃve."
- # [09:11] <annevk> no Unicode man
- # [09:11] <annevk> us-ascii!!!!
- # [09:11] <zcorpan> also funny that he thinks utf-8-only for new formats is ridicolous
- # [09:13] * Joins: plutoniix (~plutoniix@ppp-124-122-110-11.revip2.asianet.co.th)
- # [09:13] <zcorpan> s/o/u/
- # [09:13] <annevk> I think that comment might have only been about the bits before the text on new types
- # [09:14] <annevk> happy to see he thinks text/css, text/html, etc. ridiculous though
- # [09:15] <zcorpan> well i can agree text/html is ridiculous
- # [09:17] * Quits: kenne (kenneth@nat/nokia/x-bskixnzmtzdfrasx) (Read error: Connection reset by peer)
- # [09:17] <Hixie> who wouldn't
- # [09:20] * Quits: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Ping timeout: 260 seconds)
- # [09:21] * Joins: kenne (kenneth@nat/nokia/x-rlvszvpjmjjchgof)
- # [09:22] * Quits: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net) (Quit: chriseppstein)
- # [09:23] <hsivonen> MikeSmith: that "naÃve" thing is awesome.
- # [09:24] <MikeSmith> yeah man
- # [09:24] <MikeSmith> in a number of ways
- # [09:24] <annevk> we're still discussing StreamBuilder?
- # [09:24] <annevk> ugh
- # [09:24] <annevk> I wonder if I'll ever get a reply to my feedback then...
- # [09:26] * Joins: graememcc (~chatzilla@host86-150-157-88.range86-150.btcentralplus.com)
- # [09:26] * Quits: necolas (~necolas@5e0c715f.bb.sky.com) (Remote host closed the connection)
- # [09:32] * Quits: skylamer` (cgskylamer@78.90.213.55) (Read error: Connection reset by peer)
- # [09:35] * Joins: skylamer` (cgskylamer@78.90.213.55)
- # [09:37] * Joins: gwicke (~gabriel@212.255.45.180)
- # [09:41] * Quits: Thezilch (~fuz007@cpe-75-85-89-34.socal.res.rr.com) (Ping timeout: 272 seconds)
- # [09:59] * Joins: tomasf_ (~tomasf@77.72.97.5.c.fiberdirekt.net)
- # [10:00] * Quits: nattokirai (~nattokira@rtr.mozilla.or.jp) (Quit: nattokirai)
- # [10:06] * Quits: pablof (~pablof@c-98-207-157-89.hsd1.ca.comcast.net) (Quit: ^z)
- # [10:22] * Quits: jdong_ (~jdong@222.126.155.250) (Remote host closed the connection)
- # [10:24] * Quits: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com) (Quit: hij1nx)
- # [10:25] * Joins: drublic (~drublic@frbg-5d84f71b.pool.mediaWays.net)
- # [10:26] <annevk> iso-2022-cn is quite the mess
- # [10:36] * Quits: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl) (Quit: RobbertAtWork)
- # [10:37] <bga> http://groups.google.com/group/jsmentors/browse_thread/thread/910bc55b2cc9be54
- # [10:37] <bga> i wonder too if there is valid way
- # [10:38] <bga> everyone hate same origin policy
- # [10:41] * Joins: svl (~me@89.128.148.64)
- # [10:42] * Joins: jdong_ (~jdong@222.126.155.250)
- # [10:43] * Joins: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl)
- # [10:44] * Joins: necolas (~necolas@109.231.202.66)
- # [10:47] * Joins: roc (~chatzilla@81.130.197.83)
- # [10:57] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
- # [10:58] * Joins: drublic_ (~drublic@frbg-5f732aea.pool.mediaWays.net)
- # [11:00] * Quits: drublic (~drublic@frbg-5d84f71b.pool.mediaWays.net) (Ping timeout: 276 seconds)
- # [11:10] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [11:10] * zcorpan tries switching default search engine to ddg
- # [11:14] * Quits: drublic_ (~drublic@frbg-5f732aea.pool.mediaWays.net) (Read error: Connection reset by peer)
- # [11:14] * Joins: drublic (~drublic@frbg-5f732aea.pool.mediaWays.net)
- # [11:15] * Quits: [[zz]] (~q@101.108.111.35) (Ping timeout: 255 seconds)
- # [11:19] * Quits: richt (richt@nat/opera/x-maytywehnhfyoinr) (Ping timeout: 245 seconds)
- # [11:19] * Joins: richt (~richt@guest.opera.com)
- # [11:21] * Joins: pyrsmk (~pyrsmk@mau49-1-82-245-46-173.fbx.proxad.net)
- # [11:25] * Quits: danbri (~danbri@cable-146-255-156-245.dynamic.telemach.ba) (Ping timeout: 244 seconds)
- # [11:25] * Joins: nonge_ (~nonge@p5082974F.dip.t-dialin.net)
- # [11:26] * Joins: danbri (~danbri@cable-146-255-156-245.dynamic.telemach.ba)
- # [11:27] <annevk> oh hey steve faulkner, having fun making shit up? cf https://twitter.com/#!/stevefaulkner/status/172624731651059713
- # [11:27] * Quits: scott_gonzalez (~gonzasi0@205.186.165.147) (Ping timeout: 252 seconds)
- # [11:28] * Quits: divya (~nimbu@ve.hsh6wjwx.vesrv.com) (Quit: ZNC - http://znc.sourceforge.net)
- # [11:28] <hsivonen> how annoying. now my apps-discuss posts don't show up in the archive but I didn't get confirmation email, either
- # [11:28] * Joins: [[zz]] (~q@125.25.227.158.adsl.dynamic.totbb.net)
- # [11:28] <annevk> prolly just takes a while
- # [11:29] <annevk> IETF lists are a lot slower than W3C lists from what I remember
- # [11:29] * Joins: scott_gonzalez (~gonzasi0@205.186.165.147)
- # [11:29] <annevk> takes a while to degrade all that Unicode going around these days
- # [11:29] <hsivonen> yeah. in the archive now
- # [11:29] * Quits: nonge (~nonge@p5082B03E.dip.t-dialin.net) (Ping timeout: 265 seconds)
- # [11:30] <jgraham> annevk: Happily he links to his source, so anyone who bothers to check will realise that he utterly missed the point
- # [11:30] <annevk> guess so
- # [11:31] * Joins: divya__ (~divya__@ve.hsh6wjwx.vesrv.com)
- # [11:33] * Joins: kenneth_ (kenneth@nat/nokia/x-vmmbjlmuoscjmjjy)
- # [11:33] <hsivonen> I like it how steve uses "self-selected" disparagingly of #whatwg regulars. as if the WAI isn't self-selected.
- # [11:34] * Quits: kenne (kenneth@nat/nokia/x-rlvszvpjmjjchgof) (Read error: Connection reset by peer)
- # [11:34] * kenneth_ is now known as kenne
- # [11:35] <annevk> hsivonen: are you going to defined the 16-bit code units?
- # [11:36] <annevk> hsivonen: apparently there are some actual problems with ECMAScript: http://code.google.com/p/v8/issues/detail?id=761
- # [11:36] * Joins: kenneth_ (kenneth@nat/nokia/x-pgljdfjreuafbmch)
- # [11:36] <zcorpan> didn't know steve is the new lastweekinhtml5
- # [11:36] <zcorpan> hi steve!
- # [11:37] * Quits: kenne (kenneth@nat/nokia/x-vmmbjlmuoscjmjjy) (Read error: Connection reset by peer)
- # [11:37] * Joins: Lachy (Lachy@nat/opera/x-znbocqmfsyklaetm)
- # [11:39] <hsivonen> annevk: s/defined/defend/ ?
- # [11:39] <annevk> yeah oops
- # [11:39] <hsivonen> annevk: I guess I should in due course, but please go ahead and do so before I get to it
- # [11:39] <annevk> sunny in Oslo
- # [11:39] <annevk> yay
- # [11:40] <annevk> I'm not sure I know enough about grapheme clusters
- # [11:41] * Quits: roc (~chatzilla@81.130.197.83) (Ping timeout: 240 seconds)
- # [11:41] <annevk> I guess I can read http://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries
- # [11:41] <hsivonen> zcorpan: Mr. Last Week never commented on any accessibility topic
- # [11:41] * Quits: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl) (Quit: RobbertAtWork)
- # [11:41] <annevk> I didn't even know stuff like g̈ existed
- # [11:41] <annevk> pretty wild
- # [11:42] <annevk> a ̈ test
- # [11:42] <jgraham> hsivonen: Surely your're not saying the MLW hated a11y?!
- # [11:43] * Joins: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl)
- # [11:43] <jgraham> s/your/you/
- # [11:43] <annevk> better start packing
- # [11:47] <zcorpan> hsivonen: what a missed opportunity!
- # [11:50] * Quits: danbri (~danbri@cable-146-255-156-245.dynamic.telemach.ba) (Ping timeout: 244 seconds)
- # [12:03] * gwicke is now known as gwicke_away
- # [12:04] * Quits: richt (~richt@guest.opera.com) (Remote host closed the connection)
- # [12:08] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
- # [12:13] * Quits: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl) (Quit: annevk)
- # [12:15] * Joins: richt (richt@nat/opera/x-wppouhjxpuzxkmsh)
- # [12:17] * Quits: svl (~me@89.128.148.64) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [12:22] * Quits: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl) (Quit: RobbertAtWork)
- # [12:32] * Quits: jhawkins (jhawkins@nat/google/x-ckmvudeaftunyemm) (Read error: Operation timed out)
- # [12:36] * Joins: jhawkins (jhawkins@nat/google/x-naldaysgpexogayv)
- # [12:40] * Joins: mishunov (~spliter@77.88.72.162)
- # [12:42] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (Ping timeout: 272 seconds)
- # [12:45] * Quits: skylamer` (cgskylamer@78.90.213.55) (Read error: Connection reset by peer)
- # [12:48] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [12:58] <kennyluck> What happened to lastweekinhtml5 by the way? The blog, I mean.
- # [13:08] <niloy> anyone knows about html tag highlighting plugin for gedit?
- # [13:11] * Joins: spliter_ (~spliter@77.88.72.162)
- # [13:11] * Quits: mishunov (~spliter@77.88.72.162) (Read error: Connection reset by peer)
- # [13:11] * Joins: ruby_on_tails (~awakened@115.187.37.55)
- # [13:11] <ruby_on_tails> is there a way to make the speech regognition feature continuous ?
- # [13:11] <ruby_on_tails> i dont want it to work only when the user stops speaking
- # [13:13] <beverloo> Not right now. A new Speech JavaScript API is being developed (somewhere -- probably a new CG) to aid in that
- # [13:13] <ruby_on_tails> CG means ?
- # [13:13] <beverloo> community group
- # [13:13] <beverloo> it's a new concept within the w3c
- # [13:14] <ruby_on_tails> any way i could read more about it ?
- # [13:15] <beverloo> This is an early draft: http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/att-1696/speechapi.html
- # [13:16] * Joins: jdong_bot_ (~jdong_bot@117.79.233.207)
- # [13:17] <ruby_on_tails> beverloo: hmm thanks
- # [13:26] * Joins: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp)
- # [13:29] * gwicke_away is now known as gwicke
- # [13:32] * Parts: ruby_on_tails (~awakened@115.187.37.55)
- # [13:33] * Joins: annevk5 (u2483@gateway/web/irccloud.com/x-cohrfmgljecqsyua)
- # [13:34] <annevk5> so I wonder if the limit for freenode is reached at Schiphol
- # [13:34] <annevk5> cannot connect
- # [13:34] <annevk5> but can connect to other IRC servers
- # [13:34] <annevk5> maybe because W3C and Opera are not on the default ports?
- # [13:36] <annevk5> any opinions on instead of having "Participate:" have a dedicated "Feedback" section that is also part of the table of contents?
- # [13:36] <annevk5> so that it becomes more visible in drafts how you can give feedback
- # [13:37] <annevk5> apparently it's not really read currently
- # [13:37] <annevk5> or not all the time anyway
- # [13:47] <kennyluck> I like "Participate:" better
- # [13:47] <kennyluck> but well, you have a point.
- # [13:47] * Quits: spliter_ (~spliter@77.88.72.162) (Remote host closed the connection)
- # [13:47] * Joins: mishunov (~spliter@77.88.72.162)
- # [13:49] <zcorpan> have both!
- # [13:53] * Joins: erichynds (~ehynds@venkman.brightcove.com)
- # [13:54] * Joins: nw` (eero@heaven.unlink.org)
- # [13:59] <annevk5> kennyluck: me too
- # [13:59] <annevk5> and if it's only Marcos' that messes up, it might be okay
- # [13:59] <annevk5> maybe rename "Participate:" to "Send feedback:" ?
- # [14:00] <annevk5> I updated specification-data with the mutation observer stuff
- # [14:00] <annevk5> also expanded the events introduction
- # [14:00] <annevk5> and emailed www-dom about it
- # [14:00] <annevk5> http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#events
- # [14:00] <annevk5> will be back in four hours from some hotel in Oslo :)
- # [14:03] <zcorpan> annevk5: change "www-dom@w3.org (archives)" to "Send feedback to www-dom@w3.org (archives)"
- # [14:03] * Joins: gwicke_ (~gabriel@212.255.32.250)
- # [14:06] * Joins: smaug____ (~chatzilla@GGYYCCXCVIII.gprs.sl-laajakaista.fi)
- # [14:06] * Joins: lar_zzz (~lar_zzz@p4FE25D0B.dip.t-dialin.net)
- # [14:06] * Parts: lar_zzz (~lar_zzz@p4FE25D0B.dip.t-dialin.net)
- # [14:07] * Quits: gwicke (~gabriel@212.255.45.180) (Ping timeout: 276 seconds)
- # [14:07] * Quits: plutoniix (~plutoniix@ppp-124-122-110-11.revip2.asianet.co.th) (Quit: Leaving)
- # [14:08] <annevk5> zcorpan: that could work
- # [14:08] <annevk5> zcorpan: and then "or file a bug" or some such
- # [14:10] <zcorpan> yep
- # [14:19] * Quits: nw` (eero@heaven.unlink.org) (Ping timeout: 245 seconds)
- # [14:19] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [14:23] * Quits: ehsan (~ehsan@209.29.21.241) (Read error: Connection reset by peer)
- # [14:23] * Joins: ehsan (~ehsan@209.29.21.241)
- # [14:26] * Joins: ehsan_ (~ehsan@209.29.21.241)
- # [14:26] * Quits: ehsan (~ehsan@209.29.21.241) (Read error: Connection reset by peer)
- # [14:39] * Quits: necolas (~necolas@109.231.202.66) (Remote host closed the connection)
- # [14:43] * Quits: niloy (~niloy@122.179.129.91) (Read error: Connection reset by peer)
- # [14:46] <zcorpan> annevk5: "And finally, and only if event's bubbles attribute value is true" - bubbles should be <code>d
- # [14:50] * Joins: eric_carlson_ (~eric@2620:149:4:1b01:d5ab:37b:50d3:a11d)
- # [14:50] * Joins: jernoble_ (~jernoble@2620:149:4:1b01:612e:b994:df91:8a98)
- # [14:51] * Quits: jernoble (~jernoble@2620:149:4:1b01:612e:b994:df91:8a98) (Read error: Operation timed out)
- # [14:51] * jernoble_ is now known as jernoble
- # [14:52] * Quits: ehsan_ (~ehsan@209.29.21.241) (Remote host closed the connection)
- # [14:53] * Quits: eric_carlson (~eric@2620:149:4:1b01:d5ab:37b:50d3:a11d) (Ping timeout: 245 seconds)
- # [14:53] * eric_carlson_ is now known as eric_carlson
- # [14:54] * Joins: ezoe (~ezoe@112-68-245-181f1.kyt1.eonet.ne.jp)
- # [14:54] * Quits: smaug____ (~chatzilla@GGYYCCXCVIII.gprs.sl-laajakaista.fi) (Remote host closed the connection)
- # [15:00] * Joins: smaug____ (~chatzilla@GGYYCCXCVIII.gprs.sl-laajakaista.fi)
- # [15:03] * Quits: Lachy (Lachy@nat/opera/x-znbocqmfsyklaetm) (Quit: Computer has gone to sleep.)
- # [15:07] * Quits: madcow (~michaelrt@202.296.dsl.mel.iprimus.net.au)
- # [15:09] * Quits: jdong_bot_ (~jdong_bot@117.79.233.207) (Remote host closed the connection)
- # [15:11] * Joins: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
- # [15:16] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [15:20] * Quits: tomasf_ (~tomasf@77.72.97.5.c.fiberdirekt.net) (Quit: tomasf_)
- # [15:27] * Quits: Velmont (odinho@knuth.ping.uio.no) (Read error: Connection reset by peer)
- # [15:28] * Joins: plutoniix (~plutoniix@125.25.227.158.adsl.dynamic.totbb.net)
- # [15:29] * Joins: JohnAlbin (~JohnAlbin@114-42-63-211.dynamic.hinet.net)
- # [15:32] * Joins: izhak (~izhak@188.168.203.35)
- # [15:34] * Joins: MacTed (~Thud@63.119.36.36)
- # [15:42] * gwicke_ is now known as gwicke_away
- # [15:42] <zewt> (isn't "and only if" always implied?)
- # [15:46] * Quits: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
- # [15:53] * gwicke_away is now known as gwicke_
- # [15:57] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
- # [16:02] * Joins: Tumulte (~Tumulte@corp-gw.accelance.net)
- # [16:02] * Joins: tomasf_ (~tomasf@static-88.131.62.36.addr.tdcsong.se)
- # [16:06] * Joins: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net)
- # [16:08] * Joins: danbri (~danbri@cable-146-255-153-130.dynamic.telemach.ba)
- # [16:08] * Joins: davidb (~davidb@66.207.208.98)
- # [16:12] * Quits: Ducki (~Ducki@pD9E39FD5.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
- # [16:22] * Quits: danbri (~danbri@cable-146-255-153-130.dynamic.telemach.ba) (Ping timeout: 244 seconds)
- # [16:25] * Joins: miketaylr (~miketaylr@cpe-68-203-0-108.austin.res.rr.com)
- # [16:25] * Quits: miketaylr (~miketaylr@cpe-68-203-0-108.austin.res.rr.com) (Client Quit)
- # [16:25] * Joins: miketaylr (~miketaylr@cpe-68-203-0-108.austin.res.rr.com)
- # [16:26] * Joins: webade (53d97c4b@gateway/web/freenode/ip.83.217.124.75)
- # [16:27] * Quits: webade (53d97c4b@gateway/web/freenode/ip.83.217.124.75) (Client Quit)
- # [16:28] * Joins: snowfox (~benschaaf@50-77-199-197-static.hfc.comcastbusiness.net)
- # [16:29] * Quits: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp) (Remote host closed the connection)
- # [16:29] * Parts: snowfox (~benschaaf@50-77-199-197-static.hfc.comcastbusiness.net)
- # [16:29] * Joins: snowfox (~benschaaf@50-77-199-197-static.hfc.comcastbusiness.net)
- # [16:35] * Joins: danbri (~danbri@cable-146-255-153-130.dynamic.telemach.ba)
- # [16:36] * Joins: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com)
- # [16:38] * Joins: tomasf__ (~tomasf@95.209.5.198.bredband.tre.se)
- # [16:39] <kennyluck> just in case you hadn't noticed http://www.ipetitions.com/petition/html-version-of-ecmascript-5-now
- # [16:41] * Quits: tomasf_ (~tomasf@static-88.131.62.36.addr.tdcsong.se) (Ping timeout: 245 seconds)
- # [16:42] <Philip`> Do the unofficial HTML copies of ES5 not count?
- # [16:46] <kennyluck> I would hope they release ES5 errata and ES6 drafts in HTML too.
- # [16:49] * Joins: Thireg (~Thireg@APlessis-Bouchard-152-1-49-95.w83-114.abo.wanadoo.fr)
- # [16:51] * Joins: ksweeney (~Kevin_Swe@nyv-exweb.iac.com)
- # [16:54] * Joins: Velmont (odinho@dalvik.ping.uio.no)
- # [16:56] * Parts: ksweeney (~Kevin_Swe@nyv-exweb.iac.com)
- # [16:58] * Joins: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se)
- # [16:58] <Velmont> Hmm. I don't like that errors like this_requires_one_arg() -> throws so widely different things.
- # [17:02] * Joins: dydx (~dydz@adsl-76-199-101-193.dsl.pltn13.sbcglobal.net)
- # [17:02] <jgraham> Should throw TypeError
- # [17:04] <Velmont> jgraham: OK, that's what I made the test expect. But as I'm currently testing firefox nightly it throws it's own NS_LONG_TYPE_ERROR in many places, but not in that one, there it throws its own NS_ERROR_XPC_NOT_ENOUGH_ARGS (what's with the long scary names? :P)
- # [17:04] * Joins: ehsan (~ehsan@66.207.208.98)
- # [17:04] <Velmont> (I made NS_LONG_TYPE_ERROR up, it's called something else like that)
- # [17:05] <jgraham> Yeah Firefox really likes throwing NS_WE_MADE_THIS_ERR_UP_ERROR
- # [17:05] <jgraham> Blame smaug____
- # [17:05] <jgraham> Or Ms2ger
- # [17:05] <jgraham> Or sicking
- # [17:05] <jgraham> Or someone
- # [17:05] * zcorpan blames jgraham
- # [17:06] * Velmont blames the world
- # [17:06] <Velmont> *cutting wrists and cries*
- # [17:06] <jgraham> Well specifically someone that isn't me. And does work on DOM in Mozilla
- # [17:06] <jgraham> Velmont: You should talk to gsnedders. You could listen to emo music together
- # [17:07] <Velmont> jgraham: That coincidented nicely with my mplayer -playlist shuffle putting on some emo music, btw. It must be a sign.
- # [17:07] <smaug____> jgraham: no no
- # [17:07] <smaug____> jgraham: blame Netscape
- # [17:08] <jgraham> smaug____: Dude, you have had almost a decade and a half to purge Netscape from the codebase
- # [17:08] * Quits: richt (richt@nat/opera/x-wppouhjxpuzxkmsh) (Remote host closed the connection)
- # [17:08] <Velmont> smaug____: IndexedDB and friends wasn't thought about even when Netscape existed. òÓ
- # [17:08] <Velmont> How can it come from the past and mess with your new code? :P
- # [17:08] * smaug____ just just looking at code from 1999
- # [17:08] <jgraham> It can't possibly be that hard to throw TypeError rather than NS_WE_DIED_YEARS_AGO_ERROR
- # [17:09] <smaug____> oh, if it is about indexeddb, blame sicking :)
- # [17:09] * Joins: richt (richt@nat/opera/x-vaozbniwhbufoezg)
- # [17:10] <sicking> the reason we don't throw TypeError in indexedDB impl in Firefox is because we can't throw that from C++
- # [17:10] <sicking> so blame mrbkap, bholley or jst
- # [17:11] * Quits: dydx (~dydz@adsl-76-199-101-193.dsl.pltn13.sbcglobal.net) (Quit: dydx)
- # [17:12] <Velmont> Weird limitation.
- # [17:13] <Velmont> But it's possible to throw all-caps with namespace baked in errors?
- # [17:13] <smaug____> "can't" is too strong. It is just annoyingly hard
- # [17:13] <smaug____> comparing to some other exceptions
- # [17:14] <Velmont> Well, mozilla is getting undeservingly much red from my tests on stuff like that :P
- # [17:14] * Joins: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp)
- # [17:21] * Joins: annevk (~annevk@80.232.109.46)
- # [17:22] * Quits: ehsan (~ehsan@66.207.208.98) (Remote host closed the connection)
- # [17:22] * Quits: PalleZingmark (~Adium@217.13.228.226) (Quit: Leaving.)
- # [17:23] * Joins: ehsan (~ehsan@66.207.208.98)
- # [17:26] * Quits: nonge_ (~nonge@p5082974F.dip.t-dialin.net) (Quit: Verlassend)
- # [17:28] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Remote host closed the connection)
- # [17:28] * Joins: N0000B (~quassel@adsl-98-68-176-92.cha.bellsouth.net)
- # [17:30] * Joins: ph (~androirc@client-80-3-107-197.bsh-bng-012.adsl.virginmedia.net)
- # [17:33] * Parts: Thireg (~Thireg@APlessis-Bouchard-152-1-49-95.w83-114.abo.wanadoo.fr)
- # [17:34] * Quits: myakura (~myakura@FL1-110-233-178-43.tky.mesh.ad.jp) (Remote host closed the connection)
- # [17:40] * Joins: necolas (~necolas@5e0c715f.bb.sky.com)
- # [17:42] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Read error: Connection reset by peer)
- # [17:43] * Joins: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
- # [17:43] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
- # [17:43] * Joins: riven (~riven@pdpc/supporter/professional/riven)
- # [17:43] * Joins: J_Voracek (~J_Voracek@71.21.195.70)
- # [17:43] * Joins: tomasf_ (~tomasf@static-88.131.62.36.addr.tdcsong.se)
- # [17:45] * Quits: tomasf__ (~tomasf@95.209.5.198.bredband.tre.se) (Ping timeout: 260 seconds)
- # [17:47] <gsnedders> jgraham: I am not emo.
- # [17:47] <gsnedders> …
- # [17:47] * gsnedders should stop getting annoyed at jgraham's accusations
- # [17:49] * Quits: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com) (Quit: hij1nx)
- # [17:51] * Quits: silentimp (~silentimp@129-123-132-95.pool.ukrtel.net) (Quit: silentimp)
- # [17:54] * Quits: pocopina (u5310@gateway/web/irccloud.com/x-nglpsiqqedltxzxw) (Max SendQ exceeded)
- # [17:54] * Joins: pocopina (u5310@gateway/web/irccloud.com/x-dymyotbecrzsgewx)
- # [17:59] * Quits: miketaylr (~miketaylr@cpe-68-203-0-108.austin.res.rr.com) (Quit: dflk;adfslkj;alsiekfj;laiskdf)
- # [18:01] * Joins: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com)
- # [18:02] * Joins: Ms2ger (~Ms2ger@91.181.63.183)
- # [18:04] * Quits: tomasf_ (~tomasf@static-88.131.62.36.addr.tdcsong.se) (Quit: tomasf_)
- # [18:05] * Quits: izhak (~izhak@188.168.203.35) (Remote host closed the connection)
- # [18:07] <AryehGregor> sicking, it should be the WebIDL implementation throwing TypeError for not enough arguments, not IndexedDB.
- # [18:09] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [18:10] * Joins: Ms2ger` (~Ms2ger@91.181.18.122)
- # [18:10] <Ms2ger`> jgraham, did you know we have a special exception when you pass 0 as a pointer argument?
- # [18:12] <AryehGregor> Ms2ger`, SIGSEGV?
- # [18:13] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [18:13] * Joins: nw (nw@kapsi.fi)
- # [18:13] * Quits: Ms2ger (~Ms2ger@91.181.63.183) (Ping timeout: 240 seconds)
- # [18:14] * Quits: Evanescence (~Evanescen@60.183.194.131) (Quit: my website: http://stardiviner.dyndns-blog.com/)
- # [18:20] * Quits: plutoniix (~plutoniix@125.25.227.158.adsl.dynamic.totbb.net) (Quit: Leaving)
- # [18:31] * Joins: gasweld (gasweld@178.120.15.101)
- # [18:35] * Quits: Neocortex (~niels@82-170-160-25.ip.telfort.nl) (Remote host closed the connection)
- # [18:36] * Joins: Neocortex (~niels@82-170-160-25.ip.telfort.nl)
- # [18:39] * Joins: rniwa (rniwa@nat/google/x-vtffmegdxhwovhdw)
- # [18:39] <sicking> AryehGregor: indeed. We just don't have a webidl layer implemented yet
- # [18:39] <sicking> AryehGregor: that's exactly my point
- # [18:40] <rniwa> AryehGregor: yt?
- # [18:41] <AryehGregor> rniwa, yes.
- # [18:41] <AryehGregor> Although things seem quiet on the editing front for the last couple of months, so mostly I'm doing CSS transforms/transitions stuff now.
- # [18:41] * Quits: ezoe (~ezoe@112-68-245-181f1.kyt1.eonet.ne.jp) (Ping timeout: 240 seconds)
- # [18:42] <rniwa> AryehGregor: yeah... I need to give you back some feedback :(
- # [18:42] <AryehGregor> rniwa, please do.
- # [18:42] <rniwa> AryehGregor: my plan was to add a hook to run your ref. impl. against our tests
- # [18:42] <rniwa> AryehGregor: but I haven't gotten around to it
- # [18:42] <AryehGregor> Okay.
- # [18:42] <rniwa> AryehGregor: btw, we should start talking about table editing / control selection as well
- # [18:43] <AryehGregor> Is anyone implementing the stuff I've already specced?
- # [18:43] <rniwa> AryehGregor: in particular, we've been getting a lot of complaints about webkit not supporting control selection :(
- # [18:43] <rniwa> AryehGregor: not that I'm aware of
- # [18:43] <AryehGregor> I admit that I'm not so enthusiastic about spending more time on the editing spec when I spent over six months on it and no one seems to be implementing it.
- # [18:44] * Joins: ap (~ap@2620:149:4:1b01:f45b:f8f7:8bf2:6f8e)
- # [18:45] <rniwa> AryehGregor: well, we're going to do it eventually
- # [18:46] <AryehGregor> Right.
- # [18:46] <rniwa> AryehGregor: it's just that I'm basically the one person working on editing
- # [18:46] * nimbu is now known as divya
- # [18:46] <rniwa> AryehGregor: in webkit at the moment
- # [18:46] <AryehGregor> Right, I know.
- # [18:46] <rniwa> AryehGregor: so it's gonna take forever
- # [18:46] <AryehGregor> And ehsan in Mozilla, and nobody at any other engine.
- # [18:46] <rniwa> AryehGregor: just like removing Apple-style-span took 2 years
- # [18:46] <rniwa> AryehGregor: we'll be super lucky if we can implement your spec in the next 2-3 years :(
- # [18:46] <AryehGregor> If I get more into Gecko coding working for Mozilla, maybe I can try implementing some parts of the editing spec.
- # [18:47] <rniwa> AryehGregor: sorry to tell you this, but very few people are enthusiastic about editing.
- # [18:47] <AryehGregor> The HTML parser took what, like five or more years for everyone to implement?
- # [18:47] <rniwa> despite the fact almost everyone uses the feature daily
- # [18:47] <AryehGregor> And it's a lot more important, and probably a lot simpler.
- # [18:47] <rniwa> AryehGregor: yeah
- # [18:47] <rniwa> AryehGregor: we were lucky because our old parser code was really bad
- # [18:47] <AryehGregor> Everyone's was really bad, I think. :)
- # [18:47] <rniwa> AryehGregor: so eseidel & abarth decided to rewrite from scratch
- # [18:48] <AryehGregor> I think everyone did that.
- # [18:48] <rniwa> AryehGregor: had we been spending more time on parser code, and tried to incrementally converge
- # [18:48] <rniwa> AryehGregor: we wouldn't have finished yet :(
- # [18:48] <hober> rniwa: it's not just you working on editing in webkit; we've got enrica too. so there's 2 of you! :)
- # [18:49] <rniwa> hober: right, but enrica does other stuff too
- # [18:50] <rniwa> hober: i've been getting a lot of pressure to work on non-editing stuff as well
- # [18:50] <rniwa> hober: but i've been sneakingly avoiding that :P
- # [18:50] <hober> heh
- # [18:50] <rniwa> hober: because from PR point of view, editing isn't the most shiny new feature
- # [18:50] <rniwa> hober: it sorta works.
- # [18:50] <hober> it might not be shiny, but it's super important
- # [18:50] <rniwa> hober: and only people who work on editors care. (i.e. developers of tinyMCE, CKEditor, etc...)
- # [18:51] <AryehGregor> IMO, there's a lot of low-hanging fruit.
- # [18:51] <rniwa> hober: right. people get super upset whenever I introduce a regression
- # [18:51] <AryehGregor> If I were working on editing, the first thing I'd do is try to match the spec (= roughly IE/Opera) on linebreaks.
- # [18:51] <hober> *nod*
- # [18:51] <AryehGregor> That's probably the most blatant incompatibility between browsers.
- # [18:51] <rniwa> AryehGregor: oh yeah...
- # [18:51] <rniwa> AryehGregor: what do we do with line breaks?
- # [18:51] <AryehGregor> <p> vs. <div> vs. <br>.
- # [18:51] <rniwa> AryehGregor: can we add new switch?
- # [18:51] <AryehGregor> I specced <p>, basically.
- # [18:51] <AryehGregor> I could, if people are going to implement it . . .
- # [18:52] <rniwa> AryehGregor: did you add new toggling switch per ojan's suggestion?
- # [18:52] <rniwa> AryehGregor: on the condition that each editing host gets execCommand method?
- # [18:52] <AryehGregor> It's on my list of things to do, but again, I've mostly put aside editing work for now.
- # [18:52] <rniwa> AryehGregor: okay.
- # [18:52] <AryehGregor> I'll probably return to it sometime.
- # [18:52] <rniwa> AryehGregor: ping me when you've done that.
- # [18:52] <rniwa> AryehGregor: I think that's the most logical thing to do
- # [18:52] <AryehGregor> You're probably CCd on the relevant bugs.
- # [18:53] <rniwa> AryehGregor: as far as I know, there are a lot of legacy content that relies on the fact webkit produces div on line break :(
- # [18:53] <AryehGregor> Web content or WebKit-only content?
- # [18:53] <rniwa> AryehGregor: both
- # [18:53] <rniwa> AryehGregor: the latter is more serious.
- # [18:53] <AryehGregor> You could always have a different default for web users and other users.
- # [18:53] <rniwa> AryehGregor: because Microsoft Outlook & Apple Mail both use WebKit
- # [18:54] <AryehGregor> Outlook uses WebKit? o_O
- # [18:54] <rniwa> AryehGregor: and we can't regress them :(
- # [18:54] <rniwa> AryehGregor: yeah on Mac
- # [18:54] <AryehGregor> Oh, makes sense.
- # [18:54] <AryehGregor> They can't very well use Trident on Mac.
- # [18:54] <rniwa> AryehGregor: yeah ever since they discontinued IE for Mac
- # [18:54] <rniwa> AryehGregor: although I don't think they used Trident on Mac
- # [18:54] <AryehGregor> They used Tasman.
- # [18:54] <rniwa> AryehGregor: they wrote the engine from scratch for Mac
- # [18:55] <hober> yup
- # [18:55] <AryehGregor> ehsan, do you think we could default styleWithCSS to false without breaking too much stuff? I think authors just set styleWithCSS to false unconditionally at the start of all their scripts, in practice . . .
- # [18:55] * Quits: danbri (~danbri@cable-146-255-153-130.dynamic.telemach.ba) (Ping timeout: 245 seconds)
- # [18:55] <AryehGregor> That would be a nice compat win.
- # [18:56] * AryehGregor might ask to spend some time working on Gecko editing stuff after he's done with all this CSS stuff, if he feels like doing coding instead of spec work
- # [18:56] <AryehGregor> Fortunately, there's almost no such thing as Gecko-specific content, so Gecko is often free to change to match other browsers.
- # [18:56] <AryehGregor> Unlike IE and WebKit.
- # [18:56] <rniwa> AryehGregor: that'll be nice.
- # [18:57] <rniwa> AryehGregor: although leaving default to true seems okay as long as there's an API to toggle it.
- # [18:57] <AryehGregor> Two biggest changes I would make: output <p> instead of <br>, and default styleWithCSS to false.
- # [18:57] <AryehGregor> Yeah, that's not a big deal because authors just force it to false.
- # [18:57] <AryehGregor> But they shouldn't have to.
- # [18:57] <rniwa> AryehGregor: we might consider something like
- # [18:57] <AryehGregor> So it's an easy fix.
- # [18:57] <rniwa> AryehGregor: turning on standard compliant mode when we see HTML5 style DOCTYPE
- # [18:58] <rniwa> AryehGregor: and fallback to legacy behavior elsewhere
- # [18:58] <AryehGregor> More quirks, in other words?
- # [18:58] <AryehGregor> Quirks are bad.
- # [18:59] <AryehGregor> Doesn't WebKit editing code already have different codepaths in some places for Apple Mail?
- # [18:59] <rniwa> AryehGregor: well, we don't.
- # [18:59] <rniwa> AryehGregor: we just look for specific classes and elements :(
- # [18:59] <rniwa> sigh....
- # [18:59] <AryehGregor> :/
- # [19:00] <rniwa> AryehGregor: you can add <blockquote type="cite"> and webkit treats them differently than a regular blockquote :(
- # [19:00] <AryehGregor> Ouch.
- # [19:01] <rniwa> AryehGregor: but that's just a secret between you and me. don't tell anyone, and we should be okay :)
- # [19:01] <rniwa> or hopefully so.
- # [19:01] <rniwa> AryehGregor: anyways, https://bugs.webkit.org/show_bug.cgi?id=12250 is the control selection bug I was talking about
- # [19:02] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (Ping timeout: 244 seconds)
- # [19:02] <rniwa> AryehGregor: it seems like authors expect image, etc... to be re-sizable in contenteditable regions
- # [19:02] <AryehGregor> Yeah.
- # [19:02] <AryehGregor> That's more of a QoI issue than a spec issue, though.
- # [19:02] <rniwa> AryehGregor: maybe.
- # [19:02] <AryehGregor> I mean, I can add a line to the spec saying UAs have to let users resize them.
- # [19:02] <rniwa> AryehGregor: but they expect this to work
- # [19:02] <AryehGregor> I have a bug open about that.
- # [19:02] <rniwa> AryehGregor: so you should probably say something about it.
- # [19:02] <rniwa> AryehGregor: yeah
- # [19:02] <rniwa> AryehGregor: maybe also move it around by dragging it?
- # [19:03] <AryehGregor> But precise interop isn't necessary as long as UAs provide some way to resize, so there's not much for the spec to say.
- # [19:03] <AryehGregor> There's a spec bug for that too.
- # [19:03] <rniwa> AryehGregor: right.
- # [19:03] <rniwa> AryehGregor: but I'm thinking that there should probably be some event firing to let authors know of the resize, etc...
- # [19:03] <AryehGregor> It's not like a switch to change the default block type, where the spec needs to say how authors call it.
- # [19:03] * Joins: maikmerten (~maikmerte@port-92-201-209-70.dynamic.qsc.de)
- # [19:03] <AryehGregor> Maybe . . . do existing UAs do that?
- # [19:03] <rniwa> AryehGregor: in the case of resizing tables, things are a lot of trickier
- # [19:04] <rniwa> AryehGregor: because width of a row can be specified by td, or tr
- # [19:04] <AryehGregor> You can do foo { resize: both } on existing stuff already. http://dev.w3.org/csswg/css3-ui/#resize
- # [19:04] * Quits: hij1nx (~hij1nx@cpe-98-14-168-178.nyc.res.rr.com) (Quit: hij1nx)
- # [19:04] <AryehGregor> Table width is a nightmare.
- # [19:04] <rniwa> I mean height*
- # [19:04] <rniwa> AryehGregor: yeah.
- # [19:04] <rniwa> AryehGregor: but we need to support it at some point
- # [19:04] <AryehGregor> https://www.w3.org/Bugs/Public/show_bug.cgi?id=13795#c4
- # [19:04] * Parts: gasweld (gasweld@178.120.15.101)
- # [19:05] <rniwa> AryehGregor: things get awfully tricky when we have rowspan and colspan :(
- # [19:05] <AryehGregor> Tables are a nightmare period.
- # [19:06] * Joins: roc (~chatzilla@81.130.197.83)
- # [19:06] <rniwa> AryehGregor: I know.
- # [19:06] <rniwa> AryehGregor: but people DO use them :(
- # [19:06] <AryehGregor> rniwa, if there's something you want to implement in the near future and it's blocked on there not being a spec, tell me and I can spend some time working on that. E.g., if you actually plan to implement a switch that lets authors have <p> instead of <div> for newlines but aren't doing it because there's no spec, I'll write the spec today.
- # [19:06] <rniwa> AryehGregor: and enterprise folks LOVE them
- # [19:06] <rniwa> AryehGregor: I'd like to implement that one soon
- # [19:07] <rniwa> AryehGregor: because that's probably the only sane way for us to switch
- # [19:07] <rniwa> AryehGregor: at least in the near future
- # [19:07] <AryehGregor> I can spend some time on it, then.
- # [19:07] <rniwa> AryehGregor: that'll be great!
- # [19:07] <AryehGregor> Most of the work will be writing tests.
- # [19:07] <rniwa> AryehGregor: also before/after edit command events
- # [19:07] <rniwa> AryehGregor: they appear to be useful even today.
- # [19:07] <rniwa> if we can let authors override the default behavior
- # [19:07] <AryehGregor> https://www.w3.org/Bugs/Public/show_bug.cgi?id=15527 https://www.w3.org/Bugs/Public/show_bug.cgi?id=13118
- # [19:08] <rniwa> AryehGregor: because then authors can selectively override the default behavior using my UndoManager API
- # [19:08] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [19:08] <AryehGregor> rniwa, here's my plan for edit events: https://www.w3.org/Bugs/Public/show_bug.cgi?id=13118#c23
- # [19:08] <AryehGregor> Does that look good to you?
- # [19:08] <rniwa> AryehGregor: that should give us a nice bridge between the current broken world and the new interop world :)
- # [19:08] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [19:08] <AryehGregor> No one ever gave feedback, so I got discouraged and forgot about it.
- # [19:09] <rniwa> AryehGregor: ah, oops. I wasn't aware of this bug :(
- # [19:09] <rniwa> despite of the fact i'm cc-ed :(
- # [19:12] <AryehGregor> Tell me if you like my scheme for implementing those events.
- # [19:13] * Quits: drublic (~drublic@frbg-5f732aea.pool.mediaWays.net) (Ping timeout: 276 seconds)
- # [19:13] <rniwa> AryehGregor: yeah, your proposal seems reasonable.
- # [19:13] <AryehGregor> Okay.
- # [19:14] * Quits: necolas (~necolas@5e0c715f.bb.sky.com) (Remote host closed the connection)
- # [19:18] * rniwa comments on the bug enthusiatically
- # [19:20] <AryehGregor> :)
- # [19:22] <rniwa> AryehGregor: hm... wait so you don't think we should fire those events for script-initiated execCommands?
- # [19:22] <rniwa> AryehGregor: why not?
- # [19:22] <rniwa> AryehGregor: beforeInput/input events are fired synchronously at least in webkit
- # [19:23] * AryehGregor refreshes his memory
- # [19:23] <AryehGregor> Ack, synchronous events are evil.
- # [19:23] <AryehGregor> What triggers them synchronously?
- # [19:23] <AryehGregor> We're trying to get rid of mutation events exactly because they're synchronous . . .
- # [19:24] <AryehGregor> If you want to synchronously hook into execCommand, you could always write a wrapper for it.
- # [19:24] <rniwa> AryehGregor: beforeInput/input
- # [19:24] <rniwa> AryehGregor: they're okay
- # [19:24] <AryehGregor> If you want to hook into other scripts' calls too, you can overwrite the method on the prototype . . .
- # [19:24] <rniwa> AryehGregor: because beforeInput/input won't fire as a side effect of something else :)
- # [19:25] <rniwa> AryehGregor: the only function that could fire these events is execCommand
- # [19:25] <AryehGregor> What if you call execCommand() from the handler?
- # [19:25] <AryehGregor> Everything has to be re-entrant?
- # [19:25] <rniwa> AryehGregor: but you can do that today.
- # [19:25] <rniwa> AryehGregor: blur, focusout, etc... all fire synchronously.
- # [19:25] * AryehGregor tests blur
- # [19:26] <roc> they are synchronous, and it's a real nightmare
- # [19:27] <AryehGregor> Hmm, onfocus is sync in every browser but IE.
- # [19:27] * Joins: aklein (u4454@gateway/web/irccloud.com/x-vlrspwajuonuurxx)
- # [19:27] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cinput%20value%3D%22some%20text%22%20onfocus%3D%22w('b')%22%3E%0A%3Cscript%3E%0Aw(%22a%22)%3B%0Adocument.querySelector(%22input%22).focus()%3B%0Aw(%22c%22)%3B%0A%3C%2Fscript%3E
- # [19:27] <rniwa> AryehGregor: yeah, it's pretty annoying.
- # [19:27] <rniwa> AryehGregor: beforeunload as well if you have img, iframe, etc... :(
- # [19:28] <rniwa> AryehGregor: so we can't get away with these sync events.
- # [19:28] <AryehGregor> IE seems to make focus async, at least in that test.
- # [19:28] <AryehGregor> https://www.w3.org/Bugs/Public/show_bug.cgi?id=16091
- # [19:28] <rniwa> AryehGregor: on the other hand, we might be able to make execCommand not re-entrant, for example
- # [19:29] <AryehGregor> Do DOM or HTML even define such a thing as synchronous events?
- # [19:29] <rniwa> AryehGregor: so that if you try to call execCommand inside another execCommand or in some event handler trigged by another execCommand, we can throw
- # [19:29] <AryehGregor> DOM I'm pretty sure doesn't.
- # [19:29] <rniwa> AryehGregor: DOM
- # [19:29] * AryehGregor looks
- # [19:29] <rniwa> AryehGregor: at least DOM 3
- # [19:29] <AryehGregor> Well, no one uses DOM 3.
- # [19:30] <rniwa> AryehGregor: the problem is that if we don't fire them synchronously, we'll never be able to propagate events to ancestors' event listeners
- # [19:30] <rniwa> AryehGregor: unless we store the vector of ancestors :(
- # [19:30] <rniwa> AryehGregor: which will be a huge memory bloat
- # [19:30] <AryehGregor> Why not?
- # [19:30] <Ms2ger`> You have to do that, no?
- # [19:30] <rniwa> AryehGregor: because once the node is removed
- # [19:30] <rniwa> AryehGregor: the node doesn't have a parent anymore
- # [19:30] <rniwa> AryehGregor: and we wouldn't know to which node the event should be propagated
- # [19:30] <AryehGregor> Why not just not fire at ancestors if the node is removed before the event runs?
- # [19:31] <rniwa> AryehGregor: but then you'll never receive that event
- # [19:31] <rniwa> AryehGregor: unless you've attached EL on the node you're removing
- # [19:31] <AryehGregor> How likely is it that the node will be removed from its parent between the event being fired and running?
- # [19:31] <AryehGregor> Also: it's an array of a few pointers for every event fired. Why should it be such memory bloat?
- # [19:32] <AryehGregor> How many events get fired anyway?
- # [19:32] <rniwa> AryehGregor: we fire events very often
- # [19:33] <rniwa> AryehGregor: we have lots of optimizations to minimize the number of events to fire
- # [19:33] <rniwa> AryehGregor: and the cost per event dispatches
- # [19:33] <AryehGregor> Hmm.
- # [19:33] <TabAtkins_> Hm. Can someone explain why attributes in WebIDL end up on the prototype of an object rather than the object itself?
- # [19:33] <Ms2ger`> I'm sure someone wan
- # [19:33] <Ms2ger`> can*
- # [19:33] <AryehGregor> TabAtkins_, "why" in what sense?
- # [19:33] <AryehGregor> "Why" as in "what part of the spec says that", or "why does the spec say that", or "why did browsers implement it that way originally", or . . . ?
- # [19:34] <AryehGregor> The spec says it because that's what browsers do, and browsers do it because whatever crazy person thought up JS apparently thought a prototype-based object model was cool.
- # [19:34] <TabAtkins_> Context is recent discussion about moving the CSSStyleDeclaration from explicitly listing attributes to using a getter, because the former puts the properties on the prototype while the latter puts them on the object.
- # [19:34] <AryehGregor> (which actually it kind of is)
- # [19:34] <AryehGregor> The latter doesn't put them on the object. It just invokes the getter on the prototype.
- # [19:34] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [19:35] <TabAtkins_> Prototype-based OO is cool. But I don't understand the reasoning behind object properties living on the prototype.
- # [19:35] <AryehGregor> If you want them on the object for some reason, you can use [Unforgeable].
- # [19:35] <TabAtkins_> Oh, then Boris is wrong.
- # [19:35] <TabAtkins_> kk
- # [19:35] * Quits: J_Voracek (~J_Voracek@71.21.195.70) (Quit: disconnected: Jace Voracek - Jace@Jace-Place.com)
- # [19:35] * AryehGregor is very hesitant to ever say Boris is wrong :)
- # [19:35] <TabAtkins_> (That's a very rare event.)
- # [19:35] * AryehGregor looks at the thread
- # [19:35] <Ms2ger`> ^
- # [19:35] <rniwa> AryehGregor, TabAtkins_: but we Do want them on prototype no?
- # [19:35] <AryehGregor> Probably Boris is right.
- # [19:35] <rniwa> otherwise, it'll be troublesome to do expandos on them
- # [19:36] <TabAtkins_> rniwa: I don't know! Why would we? I don't understand the reasoning.
- # [19:36] <rniwa> TabAtkins_: so if I wanted to create a new class that inherits from an object with those attributes
- # [19:36] * Quits: ph (~androirc@client-80-3-107-197.bsh-bng-012.adsl.virginmedia.net) (Remote host closed the connection)
- # [19:36] <rniwa> TabAtkins_: then I'll have to manually copy all attributes
- # [19:36] <rniwa> TabAtkins_: if they were not in prototype, no?
- # [19:36] <Ms2ger`> Philip`, https://www.w3.org/Bugs/Public/show_bug.cgi?id=15925 is for you
- # [19:37] <TabAtkins_> Depends on how you're doing your inheritance. ^_^
- # [19:37] <TabAtkins_> Are you chaining from the prototype, or using an exemplar object?
- # [19:37] <rniwa> TabAtkins_: sure. but the most common approach is by using prototype chain.
- # [19:37] * Joins: drublic (~drublic@frbg-5f73081b.pool.mediaWays.net)
- # [19:37] <TabAtkins_> I think I recall that WebIDL is defined to use prototype chaining, so okay.
- # [19:38] <AryehGregor> WebIDL for ES doesn't normally put any own properties on the objects themselves, only on the interface, IIRC.
- # [19:38] <AryehGregor> Except for [Unforgeable] and maybe some other cases.
- # [19:38] * AryehGregor is looking at getters now
- # [19:38] <rniwa> AryehGregor: right.
- # [19:38] <TabAtkins_> Where "interface" means "prototype object", yeah.
- # [19:39] <TabAtkins_> <3 "latest editor's draft" links.
- # [19:39] <rniwa> AryehGregor, AryehGregor: I think some JS engines optimize attributes on prototype
- # [19:39] <rniwa> ugh.. I mean AryehGregor & TabAtkins_
- # [19:39] <AryehGregor> Er, right.
- # [19:39] <TabAtkins_> Urgh, what is squatting my ordinary name?
- # [19:39] <rniwa> TabAtkins_, AryehGregor: because all objects that share the same prototype can then share some data structure internally
- # [19:40] * rniwa needs to learn more about JS engines
- # [19:40] <rniwa> we just need to summon some ES5 gurus here.
- # [19:40] <rniwa> arv: ?
- # [19:41] <Ms2ger`> gsnedders?
- # [19:41] * TabAtkins_ is now known as TabAtkins
- # [19:41] <TabAtkins> Ah, that's better.
- # [19:41] <AryehGregor> http://dev.w3.org/2006/webapi/WebIDL/#indexed-and-named-properties
- # [19:42] <AryehGregor> http://dev.w3.org/2006/webapi/WebIDL/#getownproperty
- # [19:43] <AryehGregor> Okay, yeah
- # [19:43] <AryehGregor> .
- # [19:43] <AryehGregor> So if you have a getter, the properties all become own properties.
- # [19:43] * AryehGregor isn't sure why
- # [19:43] <AryehGregor> Except if you have [NamedPropertiesObject].
- # [19:43] <rniwa> :(
- # [19:43] <AryehGregor> But that's cautioned against.
- # [19:44] <rniwa> AryehGregor: why do we have all those exotic things :(
- # [19:44] <AryehGregor> Also, that doesn't work if you have a setter.
- # [19:44] <TabAtkins> Okay, time to email public-script-coord and see what's up.
- # [19:44] <AryehGregor> rniwa, "Please leave your sense of logic at the door, thanks!"
- # [19:44] <rniwa> AryehGregor: we should rename that to DeprecatedNamedPropertiesObject
- # [19:44] <rniwa> AryehGregor: so that people won't use it
- # [19:45] <rniwa> AryehGregor: anyway, comment posted on https://www.w3.org/Bugs/Public/show_bug.cgi?id=13118
- # [19:45] <AryehGregor> Okay.
- # [19:45] <rniwa> AryehGregor: not firing events for script-initiated execCommand may not be as bad as I initially thought due to interop with mutation observer API
- # [19:45] <rniwa> but I think it's still nice to fire them.
- # [19:46] * rniwa sends emails to TinyMCE CKEditor developers
- # [19:47] <Ms2ger`> I wonder if CK has already committed my patch to stop using element.all
- # [19:49] <rniwa> AryehGregor: one question
- # [19:49] <AryehGregor> Okay.
- # [19:49] <rniwa> AryehGregor: is the plan to add new property on the event object to expose execCommand name?
- # [19:49] <hsivonen> rniwa: WebKit's old HTML parser as nowhere near as bad as Gecko's old HTML parser
- # [19:49] <rniwa> hsivonen: LOL
- # [19:49] <hsivonen> There should be a band called The Designated Experts
- # [19:49] * Joins: pablof (~pablof@144.189.101.1)
- # [19:49] <AryehGregor> rniwa, sure, I guess.
- # [19:49] <Ms2ger`> ^truth
- # [19:49] <AryehGregor> And value.
- # [19:50] <rniwa> AryehGregor: yeah
- # [19:50] <hsivonen> and The Unpaired Surrogates
- # [19:50] <rniwa> AryehGregor: so something like event.editingAction and event.editingActionValue?
- # [19:50] <AryehGregor> Yeah, I'll come up with names.
- # [19:50] <Ms2ger`> I'd let hsivonen come up with names :)
- # [19:50] * Quits: smaug____ (~chatzilla@GGYYCCXCVIII.gprs.sl-laajakaista.fi) (Remote host closed the connection)
- # [19:50] <hsivonen> s/as nowhere/was nowhere/
- # [19:55] <annevk> The Grapheme Clusterfuck
- # [19:55] <annevk> The Adoption Agency
- # [19:56] <rniwa> AryehGregor: thanks.
- # [19:56] * Joins: smaug____ (~chatzilla@GGYYCCXCVIII.gprs.sl-laajakaista.fi)
- # [19:56] <arv> rniwa: back, reading backlog
- # [19:59] <arv> rniwa: What was the question?
- # [19:59] <rniwa> AryehGregor: CSS resize property is insufficient for https://bugs.webkit.org/show_bug.cgi?id=12250
- # [20:00] <rniwa>
- # [20:00] <AryehGregor> rniwa, why?
- # [20:00] <rniwa> AryehGregor: it only changes the apparent size
- # [20:00] <rniwa> AryehGregor: not width and height property/content attribute
- # [20:00] <AryehGregor> It adds style="width: x; height: x".
- # [20:00] <AryehGregor> In browsers I tested in.
- # [20:00] <rniwa> arv: the question is why WebIDL defines attributes on prototype instead on objects
- # [20:00] <AryehGregor> That's how browsers work, and how JS works . . .
- # [20:01] <rniwa> arv: my answer was that it's needed for inheritance
- # [20:01] <rniwa> arv: but thought you might a better answer for TabAtkins
- # [20:01] <AryehGregor> Not strictly. It also defines [Unforgeable].
- # [20:01] <rniwa> AryehGregor: yeah...
- # [20:01] <AryehGregor> That still works with inheritance, I think.
- # [20:01] <arv> rniwa: The main reason to use getters and setters on the [[Prototype]] is to allow inheritance
- # [20:01] <rniwa> arv: okay. so I was telling a lie :P
- # [20:01] <rniwa> I wasn't*
- # [20:02] <arv> rniwa: also, if these were data properties they could not have side effects so for example innerHTML could not be asked for lazily
- # [20:02] <rniwa> AryehGregor: ah, you're right. I was not checking the right element :(
- # [20:02] <rniwa> sorry about the noise.
- # [20:02] <AryehGregor> arv, they could be accessor properties but still be on the object itself.
- # [20:02] <rniwa> AryehGregor: I guess the only thing is that it needs to be undoable.
- # [20:03] <AryehGregor> Sure.
- # [20:03] <arv> AryehGregor: Yes, that would still be valid when it comes to following the rules of js semantics
- # [20:03] <AryehGregor> I believe that's how [Unforgeable] properties work in practice.
- # [20:03] <arv> AryehGregor: but it would be ineffiecient and not as useful
- # [20:03] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (Ping timeout: 240 seconds)
- # [20:04] <AryehGregor> Unless you don't want authors to be able to mess with the prototype, which is occasionally the case.
- # [20:04] <AryehGregor> Like for certain Window properties.
- # [20:04] <rniwa> AryehGregor: do you know how I can make resize property work with img?
- # [20:04] <rniwa>
- # [20:04] <arv> AryehGregor: well, host object can break any logic reasoning so anything is doable. The goal of using getters and setters on the prototype for webidl attributes was to make webidl more sane
- # [20:04] <rniwa> AryehGregor: I've tried some but doesn't seem to wokr
- # [20:05] <rniwa> it's possible that we have a bug there
- # [20:05] <AryehGregor> rniwa, resize properties is not very well defined.
- # [20:05] <AryehGregor> This says it shouldn't apply to a regular img: http://dev.w3.org/csswg/css3-ui/#resize
- # [20:05] <AryehGregor> But I think the spec is wrong.
- # [20:05] <AryehGregor> I posted to www-style about it at some point, but it never changed.
- # [20:06] <AryehGregor> http://lists.w3.org/Archives/Public/www-style/2011Aug/0565.html
- # [20:06] <TabAtkins> arv: The interesting issue is that using the getter/setter/etc stuff in WebIDL establishes own properties, rather than prototype properties.
- # [20:06] <TabAtkins> And the flag that switches it to non-own properties is marked as being used only for legacy.
- # [20:06] <arv> TabAtkins: That can't be right
- # [20:06] <TabAtkins> I'm asking public-script-coord about it now.
- # [20:06] <TabAtkins> arv: We just looked it up. ^_^
- # [20:07] <arv> TabAtkins: looking at webidl specs now
- # [20:07] <TabAtkins> http://dev.w3.org/2006/webapi/WebIDL/#indexed-and-named-properties\
- # [20:07] * Joins: timmywil (~timmywil@host-68-169-154-67.WISOLT2.epbfi.com)
- # [20:07] <arv> TabAtkins: ah, indexed and named properties are not the same
- # [20:07] <AryehGregor> getter/setter = indexed/named properties, more or less.
- # [20:07] <arv> TabAtkins: those require proxy like behavior
- # [20:08] <Ms2ger`> TabAtkins, the legacy thing is for the global scope polluter only
- # [20:08] <arv> AryehGregor: not at all
- # [20:08] <AryehGregor> No?
- # [20:08] <arv> AryehGregor: indexed/named properties == Proxy
- # [20:08] <AryehGregor> I mean WebIDL's getter/setter qualifiers, of course, not ES getter/setter.
- # [20:08] <arv> AryehGregor: sorry, different terminalogy
- # [20:08] <TabAtkins> arv: I thought the best way to fix CSSStyleDeclaration from being a set list of properties (which is obviously going to be forever incomplete) would be to use getter/setter to establish named properties.
- # [20:09] <arv> TabAtkins: What does IE do?
- # [20:09] <AryehGregor> TabAtkins, why not just add the properties individually to the prototype object, though?
- # [20:09] <rniwa> AryehGregor: hm... but <img src="blah.png" style="overflow:auto;resize:both;"> should still be resizable, no?
- # [20:10] <TabAtkins> arv: Everyone but us puts the properties on the prototype. We mark them as own properties.
- # [20:10] <TabAtkins> AryehGregor: I don't understand.
- # [20:10] <AryehGregor> rniwa, I don't see why not. overflow should make no difference for things that have intrinsic widths.
- # [20:10] <AryehGregor> TabAtkins, I mean, what's wrong with the status quo?
- # [20:10] <rniwa> AryehGregor: yeah, okay. so I think this is a webkit bu
- # [20:10] <rniwa> bug*
- # [20:10] <TabAtkins> It's clearly incomplete, and basically required to be, forever?
- # [20:10] * Quits: richt (richt@nat/opera/x-vaozbniwhbufoezg) (Ping timeout: 245 seconds)
- # [20:10] <rniwa> AryehGregor: http://simple-rte.rniwa.com/?editor=%3Cimg%20src%3D%22https%3A//rniwa.com/wp-content/latex/5f7/5f70c79d395af9fe2eb98c8b362d0bed-ffffff-000000-0.png%22%20style%3D%22overflow%3Aauto%3Bresize%3Aboth%3B%22%3E&designmode=false&script=document.getElementById%28%27editor%27%29.focus%28%29%3B
- # [20:11] * Joins: richt (richt@nat/opera/x-ndmkdqmyiubmyqsv)
- # [20:21] <arv> TabAtkins: IE has ES getters/setters for all known properties on CSSStyleDeclarationPrototype
- # [20:21] <arv> TabAtkins: this seems to be the only sane thing to me
- # [20:22] <Ms2ger`> arv, that's what the spec currently says, IIRC
- # [20:22] <AryehGregor> Which means in WebIDL terms, they're just regular attributes on the interface.
- # [20:22] <AryehGregor> Which is what the spec says, yeah.
- # [20:22] <arv> Ms2ger`: good
- # [20:22] <TabAtkins> Using ES getters and setters is definitely the correct behavior (so you can do lazy generation), and the spec currently requires them to be on the prototype.
- # [20:22] <AryehGregor> Attributes in WebIDL are always accessor properties, not data properties, AFAIK.
- # [20:22] <Ms2ger`> Yes
- # [20:22] * Joins: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90)
- # [20:22] <TabAtkins> But they're currently not spec-compliant if they support more than the 2.1 properties explicitly listed in CSSOM.
- # [20:22] <TabAtkins> Which I'd like to fix, for obvious reasons.
- # [20:23] <AryehGregor> TabAtkins, well, by that logic nobody is spec-compliant if they support any feature that's not in some particular spec.
- # [20:23] <arv> OK. It is unclear to me what the problem is then (except of course that the JSC and V8 bindings in WebKit are broken)
- # [20:23] <TabAtkins> The problem is that the IDL in the CSSOM is broken.
- # [20:23] <TabAtkins> And I'm trying to fix it.
- # [20:23] <AryehGregor> How so?
- # [20:23] <TabAtkins> AryehGregor: It has only a small list of properties on the interface, missing all the CSS3 properties.
- # [20:24] <arv> TabAtkins: Why is adding a webidl attribute for every css property not the right way to do this?
- # [20:24] <TabAtkins> I assumed that the best way to fix this was to use IDL getter/setter, and define the list of named properties to be the CSS properties that the impl supports (suitably converted from dashes to camel-case).
- # [20:24] * JohnAlbin is now known as JohnAsleep
- # [20:24] <TabAtkins> arv: Because the list will change continuously, and it's silly to change CSSOM every time we publish a new CSS spec.
- # [20:24] <TabAtkins> When this is a mechanical addition.
- # [20:24] <AryehGregor> You could also say that any other supported CSS properties have to be regular IDL attributes too.
- # [20:24] <Ms2ger`> TabAtkins, indeed
- # [20:25] <Ms2ger`> TabAtkins, so use partial interfaces :)
- # [20:25] <TabAtkins> Ms2ger`: Requiring every spec to apply diffs to the interface for a mechanical addition is almost as silly.
- # [20:25] <AryehGregor> I.e., if a spec defines foo-bar, say that it implies "partial interface CSSStyleDeclarationValue { attribute DOMString fooBar; };" with behavior as defined by CSSOM.
- # [20:25] <AryehGregor> You don't have to require the other specs to actually spell out the partial interfaces.
- # [20:25] <TabAtkins> AryehGregor: Hm, I guess that would work.
- # [20:25] <Ms2ger`> That works too
- # [20:26] <AryehGregor> FWIW, many other specs will realistically have to spell out behavior anyway.
- # [20:26] <Ms2ger`> But every spec needs to define CSSOM stuff anyway
- # [20:26] <AryehGregor> Because lots of properties have non-obvious serialization.
- # [20:26] <TabAtkins> We'll have to start defining serialization, but I have hope that for most cases we can do that mechanically too.
- # [20:26] <TabAtkins> Anne already attempted that.
- # [20:26] <arv> TabAtkins: it will change all the time. That is fine. Just like Ms2ger` said, use partial or supplemental interfaces. If you defined a new CSS property you have to add some idl
- # [20:26] <AryehGregor> You have to define an order for computed values, at least.
- # [20:27] <AryehGregor> Like, browsers disagree on whether the computed style of textShadow gets serialized with the color first or last.
- # [20:27] <TabAtkins> AryehGregor: Yeah, that was already handled by Anne's attempt - the order is whatever order appears in the grammar.
- # [20:27] * Joins: odinho (~odin@106-38-11.connect.netcom.no)
- # [20:27] <AryehGregor> Which means the order in the grammar is now retroactively significant when it previously wasn't.
- # [20:27] <TabAtkins> That's not implemented yet, but it's an example of how it coudl be handled generally, without every spec needing to define it.
- # [20:27] <AryehGregor> http://dev.w3.org/csswg/css3-text/#text-shadow
- # [20:27] <AryehGregor> The "Value" puts the lengths first, and the "Computed value" puts the color first.
- # [20:27] <TabAtkins> AryehGregor: Not necessarily. We can always legacy-define things if necessary for compat.
- # [20:27] * Quits: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
- # [20:27] <AryehGregor> Yay for consistency.
- # [20:28] <AryehGregor> That's probably why browsers disagree.
- # [20:28] <TabAtkins> Heh, yeah.
- # [20:28] <AryehGregor> Anyway, PLEASE PLEASE PLEASE someone define precise algorithmic serialization rules for everything in CSSOM.
- # [20:28] <AryehGregor> It's a trainwreck.
- # [20:28] <TabAtkins> Yes. Absolutely.
- # [20:28] <AryehGregor> Browsers do ridiculously different things.
- # [20:28] <AryehGregor> Like every one serializes colors differently.
- # [20:28] <TabAtkins> I'm not sure if that's part of Glen's current effort, but it'll be a very-soon thing.
- # [20:29] <AryehGregor> IE mostly uses rgba(), everyone else uses rgb() if alpha is 1.
- # [20:29] <AryehGregor> Gecko serializes transparent as "transparent" instead of "rgba(0, 0, 0, 0)".
- # [20:29] <Ms2ger`> And if it isn't, let's have AryehGregor edit another spec ;)
- # [20:29] <TabAtkins> AryehGregor: IE uses named colors if you specified them as such. ;_;
- # [20:29] <AryehGregor> Except maybe only if you specify it as "transparent".
- # [20:29] <AryehGregor> Right.
- # [20:29] <TabAtkins> Ms2ger`: Nah, I can probably handle that.
- # [20:29] <AryehGregor> Will you write tests too? :)
- # [20:29] <TabAtkins> I'll be "done" with Flexbox and Images in the near future.
- # [20:29] <Ms2ger`> TabAtkins, in upper case? Or was that something else...
- # [20:29] <TabAtkins> AryehGregor: Yes!
- # [20:29] <AryehGregor> Exhaustive tests?
- # [20:30] <TabAtkins> Ms2ger`: Don't know - I think I lowercased everything defensively last time I wrote code to handle it.
- # [20:30] <TabAtkins> AryehGregor: Why not?
- # [20:30] <AryehGregor> Please do.
- # [20:30] * AryehGregor is looking forward.
- # [20:30] <Ms2ger`> Because those barely exist for CSS
- # [20:30] <AryehGregor> Tests barely exist for CSS period. Except some reftests for 2.1.
- # [20:30] <TabAtkins> Ms2ger`: Tests barely exist for CSS outside of 2.1. :/
- # [20:30] <AryehGregor> Well, quite a few reftests for 2.1.
- # [20:30] <AryehGregor> To be fair.
- # [20:30] <Ms2ger`> s/outside of 2.1//
- # [20:30] <AryehGregor> How good is test coverage for 2.1?
- # [20:30] <Ms2ger`> Mostly manual tests for CSS2.1
- # [20:30] <TabAtkins> Hey, a 30k testsuite isn't nothing.
- # [20:30] <Ms2ger`> Bad
- # [20:31] <TabAtkins> They are mostly manual, but still.
- # [20:31] <AryehGregor> Ugh, manual. Good grief.
- # [20:31] <TabAtkins> Yeah.
- # [20:31] <TabAtkins> It takes about 10 hours to run it.
- # [20:31] <AryehGregor> They're not being converted to reftests?
- # [20:31] * TabAtkins has done it several times.
- # [20:31] <Ms2ger`> 3 days, last I heard
- # [20:31] * Joins: skylamer` (cgskylamer@78.90.213.55)
- # [20:31] <TabAtkins> Ms2ger`: 10 hours spread over 3 days. You probably last heard that from me. ^_^
- # [20:31] * TabAtkins can't run tests continuously for 10 hours.
- # [20:31] <Ms2ger`> From MS, actually :)
- # [20:32] <TabAtkins> I know that when I was compiling the Chrome implementation report, it was 10 hours over 3 days.
- # [20:32] <TabAtkins> And it was horrible.
- # [20:32] <Ms2ger`> I wrote references for some MS tests a while ago, but I guess I should get them into the official test suite somehow...
- # [20:32] <TabAtkins> AryehGregor: No one putting in much time currently. dbaron has a partially-completed effort that does most of them.
- # [20:33] <AryehGregor> Yay.
- # [20:33] <Velmont> Aaagh, too much backlog.
- # [20:34] <TabAtkins> I think it basically reftests all the tests against each other, so he could generate refs for tests that all render the same.
- # [20:34] <Ms2ger`> https://bitbucket.org/ms2ger/css-tests/overview if anybody cares
- # [20:34] <Ms2ger`> TabAtkins, I thought that was Opera
- # [20:34] <TabAtkins> Ms2ger`: Could be, I dunno. Been a while.
- # [20:37] * Joins: raph (~quassel@lns-bzn-27-82-248-47-7.adsl.proxad.net)
- # [20:37] * Joins: dbaron (~dbaron@nat/mozilla/x-xnbdbfonwinnmyge)
- # [20:37] * raph is now known as Guest21236
- # [20:37] <AryehGregor> If I do say so myself, there are some pretty decent tests now for CSS Transforms.
- # [20:37] <AryehGregor> Although probably lots more reftests could be added.
- # [20:37] * Quits: Guest21236 (~quassel@lns-bzn-27-82-248-47-7.adsl.proxad.net) (Client Quit)
- # [20:37] * Joins: raph_ (~quassel@lns-bzn-27-82-248-47-7.adsl.proxad.net)
- # [20:37] * Quits: raph_ (~quassel@lns-bzn-27-82-248-47-7.adsl.proxad.net) (Client Quit)
- # [20:37] <Ms2ger`> AryehGregor, you don't have family members interested in spec work, do you? :)
- # [20:38] <AryehGregor> Probably not. Sorry.
- # [20:38] <Philip`> What about your evil twin, Roger G. Heyra?
- # [20:38] <AryehGregor> I mean, my brother works in web development-related stuff and might be interested in a job, so if you really want, you could contact him. I don't think he's actually very interested in spec work, though.
- # [20:40] <Ms2ger`> Just saying it would be nice to have another competent editor/tester around :)
- # [20:40] * Joins: raphc (~quassel@lns-bzn-27-82-248-47-7.adsl.proxad.net)
- # [20:42] <AryehGregor> Okay, so when DOM4 talks a
- # [20:42] <AryehGregor> Okay, so when DOM4 talks about dispatching an event, that's synchronous, right?
- # [20:42] <Ms2ger`> Yes
- # [20:42] <AryehGregor> So if specs want it to be async, they have to say to queue a task to fire the event?
- # [20:42] <Ms2ger`> Yes
- # [20:42] <AryehGregor> Okay.
- # [20:42] <AryehGregor> Then I was just confused.
- # [20:42] <AryehGregor> So lots of events are really synchronous, I guess?
- # [20:43] <Ms2ger`> I wouldn't guess so
- # [20:43] <AryehGregor> Hmm, this doesn't reference DOM4: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#fire-a-simple-event
- # [20:44] <AryehGregor> Or it does, but they're not linked.
- # [20:44] <Ms2ger`> Ueah
- # [20:44] <jgraham> I got bored and started skimming, but if you didn't figure it out yet, attributes are on prototypes because it allows feature detection
- # [20:45] <jgraham> Not because it makes logical sense
- # [20:45] <AryehGregor> jgraham, usually you can get an instance pretty easily.
- # [20:45] <jgraham> (e.g. you can feature detect XHR stuff without having to construct an XHR object)
- # [20:45] <Ms2ger`> "In the contexts of events, the terms fire and dispatch are used as defined in the DOM Core specification
- # [20:45] <AryehGregor> Also, this way you can fiddle with the value on the prototype.
- # [20:46] <Ms2ger`> (2.1.4 Scripting)
- # [20:46] <jgraham> AryehGregor: XHR is an example where it is a huge pain
- # [20:46] <AryehGregor> Makes sense.
- # [20:46] <Ms2ger`> Heh
- # [20:46] <Ms2ger`> [DOMCORE]
- # [20:46] <Ms2ger`> Web DOM Core, A. van Kesteren. W3C.
- # [20:46] <jgraham> If it helps, I argued several times that it didn't make logical sense, but the feature detection argument seems more compelling
- # [20:47] <AryehGregor> It also allows polyfills, right?
- # [20:47] <AryehGregor> Plus, it matches what non-WebKit browsers do.
- # [20:47] <jgraham> AryehGregor: In other backscroll related news, opera are absoutely interested in the editing spec
- # [20:47] <AryehGregor> That's good.
- # [20:47] <AryehGregor> Everyone seems to be interested.
- # [20:47] <AryehGregor> Just no one seems to be implementing it. :)
- # [20:47] <jgraham> (It's not what Opera does, right?)
- # [20:47] <AryehGregor> What isn't?
- # [20:47] <jgraham> attributes on prototypes
- # [20:47] <AryehGregor> Is it?
- # [20:47] <AryehGregor> I don't remember.
- # [20:48] <AryehGregor> It's what IE and Gecko do, generally.
- # [20:48] <jgraham> I thought we put them on the objects
- # [20:48] <jgraham> because I suggested that we copy Gecko at some point before there was a spec, but we decided not to
- # [20:49] <jgraham> AryehGregor: well we aren't rewriting our DocumentEdit right now, but it's not exactly a secret that our implementation doesn't have wonderful site-compat, so I imagine we will make good sometime
- # [20:51] <AryehGregor> jgraham, hmm -- now I think I remember. I think "style" in document.head is true, but Object.hasOwnProperty(document.head, "style") is false, and nothing in the prototype chain has an own property with that name either.
- # [20:51] <AryehGregor> So . . . :)
- # [20:52] <Ms2ger`> The new Object.* APIs generally don't work too well with host objects, iirc
- # [20:53] <AryehGregor> Yeah, actually, that seems to be everyone's behavior . . . ?
- # [20:53] * AryehGregor is confused by that
- # [20:53] <AryehGregor> Oh, am I calling it wrong?
- # [20:53] * Joins: jamesr (jamesr@nat/google/x-izcvidfexqlnbxfv)
- # [20:53] <AryehGregor> Yeah, hasOwnProperty() is on the prototype, not Object itself.
- # [20:53] <AryehGregor> Oops.
- # [20:54] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cscript%3E%0Aw(%22style%22%20in%20document.head)%0Avar%20obj%20%3D%20document.head%3B%0Ado%20%7B%0Aw(obj.hasOwnProperty(%22style%22))%3B%0Aobj%20%3D%20Object.getPrototypeOf(obj)%3B%0A%7D%20while%20(obj)%3B%0A%3C%2Fscript%3E
- # [20:54] <AryehGregor> IE looks to be right here.
- # [20:54] <AryehGregor> Opera and WebKit just put it straight on the object.
- # [20:54] <AryehGregor> Gecko puts it on two different prototype objects in the chain.
- # [20:54] * Quits: odinho (~odin@106-38-11.connect.netcom.no) (Quit: Hmm. Double login. :-))
- # [20:54] <Hixie> anyone have access to an AT other than VO?
- # [20:54] <Ms2ger`> Gecko is weird
- # [20:54] <Hixie> i'm trying to find if you can actually select system text labels or move the cursor through them
- # [20:55] <Ms2ger`> But it will be all fancy in a couple of months
- # [20:55] <Hixie> or if you can only select the entire label and have the UA read it and magnify it
- # [20:56] * Joins: danbri_ (~danbri@cable-146-255-153-130.dynamic.telemach.ba)
- # [20:56] * heycam|away is now known as heycam
- # [20:56] <AryehGregor> So if I want special attributes like .editAction and .editActionValue on my input events, I have to make a new interface that inherits from Event, right?
- # [20:57] <annevk> yes
- # [20:57] <annevk> InputEvent or some such
- # [20:57] <annevk> or reuse one of the existing interfaces
- # [20:57] <annevk> if one is suitable
- # [20:57] <AryehGregor> It's UIEvent in Gecko, seemingly.
- # [20:58] <AryehGregor> So input events on input/textarea would be Event, but contenteditable input events would be EditingInputEvent or something?
- # [20:58] <AryehGregor> But they'd have the same name?
- # [20:58] <annevk> if you want
- # [20:58] <AryehGregor> I'm not sure if that's the best way to do it.
- # [20:59] <annevk> you can upgrade the input on input/textarea
- # [20:59] <annevk> events are flexible, any string can be used with any interface
- # [21:00] <annevk> only requirement is that the interface inherits from Event
- # [21:00] <AryehGregor> We probably don't want the extra fields on input/textarea events.
- # [21:00] <AryehGregor> Okay, I'll do it that way, I guess.
- # [21:01] * AryehGregor looks at the editing spec for the first time in forever
- # [21:03] <AryehGregor> The last time I changed anything editing-related (excluding selections) seems to be November 9.
- # [21:03] * Quits: maikmerten (~maikmerte@port-92-201-209-70.dynamic.qsc.de) (Remote host closed the connection)
- # [21:05] <Hixie> jeez, voiceover makes no sense to me
- # [21:05] <Ms2ger`> Close your eyes ;)
- # [21:06] <annevk> btw
- # [21:06] <annevk> on Facebook
- # [21:06] <annevk> http://a8.sphotos.ak.fbcdn.net/hphotos-ak-ash4/425243_10150563377962688_607047687_9171920_420903654_n.jpg
- # [21:06] <AryehGregor> annevk, so people can do "new HashChangeEvent('input')" and that creates a HashChangeEvent with type "input"? That seems very confusing.
- # [21:06] <annevk> yeah they can
- # [21:06] <Hixie> ok my conclusion is "voice over doesn't let you move your cursor through text labels"
- # [21:06] <Hixie> in the OS
- # [21:06] <AryehGregor> Okay, if that's what we want.
- # [21:08] * Quits: raphc (~quassel@lns-bzn-27-82-248-47-7.adsl.proxad.net) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
- # [21:09] * Joins: othermaciej (~mjs@17.245.90.46)
- # [21:10] <arv> annevk: Why do we have DOMStringList again?
- # [21:11] <Ms2ger`> Blame DOM3
- # [21:11] <annevk> source code says
- # [21:11] <annevk> HTMLPropertiesCollection.names
- # [21:11] <annevk> DataTranser.types
- # [21:11] <annevk> Clipboard.types
- # [21:11] <annevk> Document.styleSheetSets
- # [21:11] <annevk> IndexedDB APIs
- # [21:11] <annevk> I think that's all
- # [21:11] <annevk> but it's been a while since I surveyed
- # [21:11] <arv> I saw that we (WebKit) changed from Array of Strings to DOMStringList and it made things a lot worse since now it is no longer a plain old array
- # [21:11] <annevk> oh never do that if it can be avoided
- # [21:11] <arv> For dataTransfer.types
- # [21:12] <AryehGregor> rniwa, do we want to fire beforeInput/input on unsupported commands too?
- # [21:12] <AryehGregor> I guess we should fire beforeInput but not input, probably . . .
- # [21:12] <rniwa> AryehGregor: I think so
- # [21:12] <AryehGregor> So you can cancel the beforeInput event to avoid throwing NotSupportedErr.
- # [21:12] <rniwa> AryehGregor: well but if you're talking about user-definied ones, i'm not so sure
- # [21:13] <AryehGregor> I mean, if the author does document.execCommand("sakfdsajda"), does that fire beforeInput before it throws NotSupportedErr?
- # [21:13] <annevk> arv: anyway above is the whole list, if that can somehow be changed we can drop it, though I can add a big fat warning in the spec to not use it maybe
- # [21:13] <annevk> arv: so that new specs adopt DOMString[] instead
- # [21:14] <arv> annevk: Can WebIDL be specced in such a way that it maps DOMStringList to a JS Array?
- # [21:14] * danbri_ is now known as danbri
- # [21:14] <arv> annevk: I'm fine with DOMString[] too
- # [21:14] <annevk> arv: heycam might know that
- # [21:14] <Ms2ger`> typedef DOMString[] DOMStringList;
- # [21:15] <annevk> arv: but array does not have contains()
- # [21:15] <arv> We should really minimize DOMStringList and other list like interfaces that adds nothing over Array
- # [21:15] <arv> We can add contains to Array.
- # [21:15] <arv> I'll make sure it is in ES
- # [21:15] <arv> I'll make sure it is in ES6
- # [21:16] <Ms2ger`> indexOf != -1
- # [21:17] <arv> or !~indexOf(i) ;-)
- # [21:18] <Ms2ger`> r-
- # [21:18] * Quits: jamesr (jamesr@nat/google/x-izcvidfexqlnbxfv) (Quit: jamesr)
- # [21:20] <Philip`> 1+indexOf
- # [21:20] * Joins: jamesr (jamesr@nat/google/x-fjksjrwxchrrptpn)
- # [21:22] <AryehGregor> rniwa, wait, does beforeInput actually exist for inputs/textareas?
- # [21:22] <AryehGregor> It seems like it doesn't . . .
- # [21:23] * Quits: roc (~chatzilla@81.130.197.83) (Ping timeout: 240 seconds)
- # [21:25] <annevk> seeking review for
- # [21:25] <annevk> <p class=warning>Although <code>DOMStringList</code> has been used
- # [21:25] <annevk> historically, new specifications ought to avoid it and use arrays instead.
- # [21:25] <annevk> Ms2ger`: arv: ^^
- # [21:25] <arv> annevk: LGTM
- # [21:25] <Ms2ger`> wfm
- # [21:26] * Joins: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl)
- # [21:27] <AryehGregor> rniwa, if the beforeinput event handler removes the editing host from its parent, should the input event still fire?
- # [21:27] <TabAtkins> annevk: q+ c+
- # [21:27] <AryehGregor> I'm thinking yes.
- # [21:28] <annevk> http://dvcs.w3.org/hg/domcore/rev/d9074e2139ee
- # [21:28] <TabAtkins> Damn, getCSSCanvasContext doesn't seem to work for "experimental-webgl". ;_; It just fails silently and returns undefined instead of a context.
- # [21:29] <AryehGregor> rniwa, also, what if multiple beforeInput events are fired and only some are canceled?
- # [21:29] <AryehGregor> Should canceling any one of them cancel the action?
- # [21:29] <AryehGregor> Or should it cause that editing host to not be affected?
- # [21:29] <AryehGregor> Probably the latter.
- # [21:30] <ojan> AryehGregor: currently beforeInput doesn't exist in any browser or spec
- # [21:30] <AryehGregor> Hmm.
- # [21:30] <AryehGregor> I guess I'll add it for contenteditable before anyone's specced it for anything else. :)
- # [21:30] <Ms2ger`> TabAtkins, CSS?
- # [21:31] * Joins: Lachy (~Lachy@77.106.144.217)
- # [21:32] <TabAtkins> Ms2ger`: Proprietary webkit function introduced in 2008 to achieve similar results to -moz-element().
- # [21:33] <TabAtkins> You use it with -webkit-canvas() so you can use a canvas as an image.
- # [21:33] <Ms2ger`> Ah
- # [21:35] * gwillen is now known as fsy42351rsgw3
- # [21:36] * fsy42351rsgw3 is now known as gwillen
- # [21:38] <AryehGregor> rniwa, do we want to fire events for miscellaneous commands? copy/cut/paste/undo/redo/selectAll should have their own events. I'm not sure if it's useful to fire events for styleWithCSS/useCSS.
- # [21:38] * AryehGregor decides not to fire events for now
- # [21:40] <AryehGregor> Seems WebKit doesn't fire events.
- # [21:42] * Quits: Druid_ (~Druid@p5B05D408.dip.t-dialin.net) (Ping timeout: 265 seconds)
- # [21:42] * Quits: graememcc (~chatzilla@host86-150-157-88.range86-150.btcentralplus.com) (Quit: ChatZilla 0.9.88 [Firefox 10.0.2/20120216081259])
- # [21:46] * Joins: Druid_ (~Druid@p5B137D7D.dip.t-dialin.net)
- # [21:47] * Quits: smaug____ (~chatzilla@GGYYCCXCVIII.gprs.sl-laajakaista.fi) (Ping timeout: 241 seconds)
- # [21:49] * Joins: smaug____ (~chatzilla@GGYYCCXCVIII.gprs.sl-laajakaista.fi)
- # [21:58] * Joins: hij1nx (~hij1nx@216.156.130.35.ptr.us.xo.net)
- # [22:00] * Joins: ezoe (~ezoe@203-140-88-136f1.kyt1.eonet.ne.jp)
- # [22:01] * Joins: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr)
- # [22:02] <AryehGregor> Hixie, what tool do you use to check IDL validity?
- # [22:02] <AryehGregor> You mentioned one.
- # [22:03] <rniwa> AryehGregor: hm... what do you mean by multiple beforeInput events are fired?
- # [22:03] <AryehGregor> rniwa, it's a corner case, so I don't think it's worth worrying about right now.
- # [22:03] <rniwa> AryehGregor: are they all initiated by the same user action? or are they fired on different editing host?
- # [22:03] <AryehGregor> But if you have two editing hosts and the selection spans both of them and you do something like bold, it will fire beforeInput at both per the spec I just wrote.
- # [22:03] <rniwa> AryehGregor: not firing for selectAll, styleWithCSS, etc... make sense.
- # [22:03] <AryehGregor> (which is a WIP here: http://aryeh.name/tmp/editing/editing.html#methods-to-query-and-execute-commands )
- # [22:03] <rniwa> AryehGregor: yeah...
- # [22:04] <rniwa> AryehGregor: I think canceling any of that should cancel the entire action
- # [22:04] <rniwa> AryehGregor: makes the behavior simple
- # [22:04] <AryehGregor> I think it should cancel it only for that editing host, probably. But it's a corner case, so it doesn't matter much for now.
- # [22:05] <rniwa> AryehGregor: maybe but that'll make the implementation more complicated
- # [22:06] <AryehGregor> For now I just say it works unless all the events are canceled.
- # [22:06] <rniwa> AryehGregor: e.g. what if you had an event handler on the common ancestor of those two editing hosts
- # [22:06] <rniwa> AryehGregor: then we'll get two events and you have to cancel both
- # [22:06] <AryehGregor> That's confusing no matter what, I think.
- # [22:06] <AryehGregor> Unless we always fire the events at the document and not the editing host.
- # [22:06] <AryehGregor> Would that be better?
- # [22:06] <AryehGregor> Then it's just one event.
- # [22:06] <AryehGregor> Makes things simpler.
- # [22:06] <AryehGregor> But that doesn't match WebKit.
- # [22:06] <AryehGregor> I think ojan preferred firing at the editing host.
- # [22:06] <rniwa> AryehGregor: i've started to think that maybe we shouldn't allow multiple editing hosts to be modifed at once
- # [22:07] <AryehGregor> It's a lot more intuitive to put the input handler on the editing host itself.
- # [22:07] <AryehGregor> Why not?
- # [22:07] <rniwa> AryehGregor: it seems odd
- # [22:07] <rniwa> AryehGregor: in most cases, only way you'd have non-editable content in an editing host is to have a non-editable widget, etc...
- # [22:07] <AryehGregor> Having multiple editing hosts seems odd. :)
- # [22:07] <rniwa> AryehGregor: right.
- # [22:07] <rniwa> AryehGregor: so why don't we simplify the implementation in that case
- # [22:08] <rniwa> AryehGregor: and only modify the editing host of selection start, for example,
- # [22:08] <AryehGregor> I think some UAs do that.
- # [22:08] <AryehGregor> It wouldn't simplify my spec at all, though.
- # [22:08] <rniwa> AryehGregor: modifying multiple editing host at once is like having multi-range selection
- # [22:08] <AryehGregor> So I don't see the value in it personally.
- # [22:08] <AryehGregor> Not really.
- # [22:08] <rniwa> AryehGregor: hm...
- # [22:08] <AryehGregor> My spec currently only cares if a node is editable or not.
- # [22:08] <rniwa> AryehGregor: I'll think about it more but I think we should try to keep it simple as possible
- # [22:08] <AryehGregor> It doesn't care what editing host it's in.
- # [22:09] <AryehGregor> So it's more complicated to restrict effects to only one editing host.
- # [22:09] <AryehGregor> Not simpler.
- # [22:09] <rniwa> AryehGregor: possible.
- # [22:09] <rniwa> AryehGregor: I need to read code and think harder
- # [22:09] <AryehGregor> We might want to only fire the event at the first editing host, though.
- # [22:09] <AryehGregor> Or something like that.
- # [22:09] <AryehGregor> I'm not sure.
- # [22:09] <rniwa> AryehGregor: but you're right thta it probably doesn't matter in practice
- # [22:09] <rniwa> since virtually nobody does something like that
- # [22:10] <rniwa> especially because selection shouldn't be able to cross editing boundary by default
- # [22:10] <AryehGregor> Or fire it at the first editing host, then only fire at the second if the first wasn't handled.
- # [22:10] <AryehGregor> Or I dunno.
- # [22:10] <AryehGregor> But it's a corner case.
- # [22:10] <rniwa> AryehGregor: come to think of... why can we have multiple editing hosts at once?
- # [22:10] * Quits: erichynds (~ehynds@venkman.brightcove.com)
- # [22:10] <AryehGregor> Because maybe there are two unrelated widgets on the page that both want to be editable.
- # [22:10] <rniwa> AryehGregor: I swear webkit doesn't allow you to put selection ends in different editing hosts
- # [22:11] <rniwa> AryehGregor: yeah but then you can't place selection ends at both of those ends
- # [22:11] <AryehGregor> The user maybe can't.
- # [22:11] * AryehGregor tests
- # [22:11] <rniwa> AryehGregor: you can only put selection in either
- # [22:11] <AryehGregor> Scripts can.
- # [22:11] <rniwa> AryehGregor: don't think so
- # [22:11] <rniwa> AryehGregor: we'll normalize to avoid that
- # [22:12] <rniwa> AryehGregor: add range like that
- # [22:12] <AryehGregor> It doesn't seem possible for the user to create such a selection, no.
- # [22:12] <rniwa> AryehGregor: and you should get a normalized selection
- # [22:12] <AryehGregor> In WebKit.
- # [22:12] <rniwa> AryehGregor: right.
- # [22:12] <rniwa> AryehGregor: I'd argue that it's the desirable behavior
- # [22:12] <rniwa> AryehGregor: I don't think other browsers let create selection that crosses multiple editing boundaries either
- # [22:12] <rniwa> AryehGregor: users* create
- # [22:13] <AryehGregor> Yeah, WebKit seems to not allow such selections.
- # [22:13] <rniwa> AryehGregor: I suspect Gecko will let scripts do that
- # [22:13] <AryehGregor> I think in Gecko it's possible even for users.
- # [22:13] <AryehGregor> At least if they're inline.
- # [22:13] <rniwa> but that's because they don't normalize programmatically set selection
- # [22:13] <AryehGregor> Maybe not for blocks.
- # [22:13] <rniwa> AryehGregor: really? that's surprising
- # [22:13] <AryehGregor> It's probably a bug.
- # [22:13] <rniwa> AryehGregor: okay
- # [22:13] <rniwa> AryehGregor: maybe you should check with ehsan
- # [22:13] <AryehGregor> No, maybe not.
- # [22:13] <AryehGregor> Scripts can create such selections, but it seems users can't.
- # [22:14] <AryehGregor> Oh, wait.
- # [22:14] <AryehGregor> I can get a selection in both Gecko and WebKit that contains multiple editing hosts.
- # [22:14] * Quits: RobbertAtWork (~Robbert@a83-160-99-114.adsl.xs4all.nl) (Quit: RobbertAtWork)
- # [22:14] <AryehGregor> Select some non-editable content before the first, drag to non-editable content after the second.
- # [22:15] <AryehGregor> In Gecko, if you start to drag in non-editable content, it looks like you can drag to the middle of an editing host too.
- # [22:15] <AryehGregor> But then hitting keys does nothing.
- # [22:15] <AryehGregor> Okay, so this is complicated.
- # [22:15] <AryehGregor> Feh.
- # [22:16] <AryehGregor> I'll spec it as firing an event at only the first editing host that intersects the selection.
- # [22:16] <rniwa> AryehGregor: that's probably a bug
- # [22:16] <AryehGregor> Hmm, what about nested editing hosts?
- # [22:16] <AryehGregor> Yeah, bugs in browser editing support. Big surprise. :)
- # [22:16] <rniwa> AryehGregor: wait
- # [22:16] <rniwa> AryehGregor: but if ends at at some non-editable locartions
- # [22:17] <rniwa> AryehGregor: I don't think we'll modify the contents
- # [22:17] <AryehGregor> Right.
- # [22:17] <rniwa> AryehGregor: so we shouldn't fire anything
- # [22:17] <AryehGregor> The spec doesn't currently work that way, I don't think.
- # [22:17] <AryehGregor> That could be changed.
- # [22:17] <rniwa> AryehGregor: oh, the spec should definitely change then.
- # [22:17] <AryehGregor> I mean, I know it doesn't work that way.
- # [22:17] <AryehGregor> Can do.
- # [22:17] <rniwa> AryehGregor: I don't think we want to modify contents when the selection is on non-editable region
- # [22:18] <rniwa> AryehGregor: even when it happens to include some editable region
- # [22:18] <rniwa> AryehGregor: if webkit ever exhibits such a behavior, then it's a bug
- # [22:18] <rniwa> not intentional
- # [22:18] <AryehGregor> That's reasonable.
- # [22:18] <AryehGregor> I think browsers vary somewhat, but at least some do behave that way.
- # [22:18] <rniwa> AryehGregor: yeah
- # [22:18] <rniwa> AryehGregor: I think most of us get some corner cases wrong
- # [22:18] <rniwa> just like any other thing we implement :(
- # [22:18] <rniwa> but I think none of us really intended to support editing multiple hosts at once
- # [22:19] * Quits: hij1nx (~hij1nx@216.156.130.35.ptr.us.xo.net) (Ping timeout: 252 seconds)
- # [22:19] <AryehGregor> I can't think of use-cases offhand.
- # [22:19] * Quits: danbri (~danbri@cable-146-255-153-130.dynamic.telemach.ba) (Read error: Connection reset by peer)
- # [22:21] <jgraham> AryehGregor: I think if yousearch for IDL checker or something, that's the tool that Hixie uses
- # [22:21] * Quits: jcranmer (~jcranmer@ltsp2.csl.tjhsst.edu) (Ping timeout: 248 seconds)
- # [22:22] <jgraham> http://www.w3.org/2009/07/webidl-check
- # [22:22] <Ms2ger`> Is that the one in Haskell?
- # [22:23] <rniwa> AryehGregor: neithe can I
- # [22:23] <jgraham> Hard to tell, the code doesn't seem to exist
- # [22:24] <AryehGregor> rniwa, what if non-editable content is nested inside editable content and the selection starts or ends in the nested non-editable content?
- # [22:26] <jgraham> Ah, dom to the rescue
- # [22:26] <jgraham> Seems to be witten in c
- # [22:26] <rniwa> AryehGregor: then we shouldn't do anything either.
- # [22:27] <AryehGregor> Hmm.
- # [22:27] <AryehGregor> Okay.
- # [22:27] <rniwa> AryehGregor: so no events should be fired
- # [22:27] <AryehGregor> I'll say the command isn't enabled in that case.
- # [22:27] <jgraham> http://hackage.haskell.org/package/webidl seems to be the haskell one
- # [22:27] <AryehGregor> And return false from execCommand() before firing events if the command isn't supported or enabled.
- # [22:27] <AryehGregor> For now.
- # [22:28] <AryehGregor> So a command that's expected to possibly change the selected content should be enabled if the active range is not null, and its start and end node are both editable or editing hosts, and there is some editing host that's an inclusive ancestor of the start and end nodes.
- # [22:30] * Quits: skylamer` (cgskylamer@78.90.213.55) (Read error: Connection reset by peer)
- # [22:33] <ojan> AryehGregor, rniwa: what was wrong with my proposal to fire it on the root editing host?
- # [22:33] <rniwa> ojan: that's okay
- # [22:33] <rniwa> ojan: we were talking about the edge case
- # [22:33] <rniwa> ojan: where we have multiple editing hosts to work with
- # [22:33] <AryehGregor> Do we want the root editing host, or the deepst?
- # [22:33] <AryehGregor> deepest?
- # [22:33] <AryehGregor> Either one works.
- # [22:33] <rniwa> ojan: but turned out that wasn't possible
- # [22:33] <AryehGregor> Should these events bubble?
- # [22:33] <rniwa> ojan: i.e. if you select multiple editing hosts programatically
- # [22:33] <rniwa> ojan: but we don't allow that
- # [22:34] * Joins: skylamer` (cgskylamer@78.90.213.55)
- # [22:34] <rniwa> ojan: root makes sense
- # [22:34] <AryehGregor> If they bubble, we want to fire it at the deepest, not the root.
- # [22:34] <rniwa> AryehGregor: ^
- # [22:34] <AryehGregor> That way it will bubble to the root anyway.
- # [22:34] <rniwa> AryehGregor: wait... whatever the editing host is defined to be I guess
- # [22:34] <ojan> AryehGregor: that makes sense to me...
- # [22:34] <AryehGregor> Like: <div contenteditable>foo<span contenteditable>[bar]</span>baz</div>
- # [22:34] <AryehGregor> Fire it at the span and let it bubble to the div.
- # [22:34] <rniwa> AryehGregor: don't think that makese sense
- # [22:35] <AryehGregor> Why not?
- # [22:35] <rniwa> AryehGregor: because span isn't an editing host in that case
- # [22:35] <ojan> AryehGregor: i think the way you should figure out the deepest editing host though is to find the deepest editing host that contains the entire selection
- # [22:35] <rniwa> AryehGregor: since the entire div is editable
- # [22:35] <AryehGregor> It is by my definition.
- # [22:35] <AryehGregor> ojan, right.
- # [22:35] <AryehGregor> That's what I'm doing.
- # [22:35] * Joins: Nneon (~Nneon@cpc2-camd14-2-0-cust201.hari.cable.virginmedia.com)
- # [22:35] <rniwa> <div contenteditable>foo<span contenteditable="false"><span contenteditable>[bar]</span>baz</span></div>
- # [22:35] <AryehGregor> rniwa, well, you can add an extra <span contenteditable=false> if you want, but in my definitions the span is an editing host too.
- # [22:35] <ojan> AryehGregor: so there's no issue of dealing with selections that cross editing hosts
- # [22:35] <rniwa> AryehGregor: this is a better example
- # [22:35] <rniwa> AryehGregor: in this case, you're right that we should be firing the event at span
- # [22:35] <rniwa> AryehGregor: because that's the enclosing editing host of the selection
- # [22:36] <AryehGregor> In the other case I'd also say fire at the span, but it makes no big difference.
- # [22:36] <AryehGregor> Currently in my spec, <div contenteditable><span contenteditable>foo</span></div> isn't the same as <div contenteditable><span>foo</span></div>.
- # [22:36] <AryehGregor> Although it's mostly the same.
- # [22:36] <ojan> <div contentEditable><div id=this-is-the-right-editing-host contentEditable><span contentEditable>ba[r</span><span contentEditable>baz</span></div></div>
- # [22:37] <AryehGregor> Where's the end of the selection?
- # [22:37] <AryehGregor> In "baz"?
- # [22:37] <AryehGregor> If so, right, I agree.
- # [22:37] <ojan> woops...left it out :)
- # [22:37] <ojan> yeah
- # [22:37] <ojan> AryehGregor: ok...that makes sense to me then.
- # [22:37] <AryehGregor> "Let affected editing host be the editing host that is an inclusive ancestor of the active range's start node and end node, and is not the ancestor of any editing host that is an inclusive ancestor of the active range's start node and end node."
- # [22:38] <ojan> AryehGregor: yeah, i think that works
- # [22:38] <ojan> AryehGregor: a little hard to parse that english...but i think it's correct
- # [22:38] <ojan> and unambiguous
- # [22:38] * AryehGregor considered "not the ancestor of any other such editing host", but decided to be more explicit
- # [22:39] <AryehGregor> Okay, here's my WIP now: http://aryeh.name/tmp/editing/editing.html#methods-to-query-and-execute-commands
- # [22:39] <AryehGregor> Subject to change without notice for now.
- # [22:40] <AryehGregor> The interesting part is the execCommand() definition and the stuff before it, you can stop reading when you get to queryCommandEnabled().
- # [22:42] <ojan> AryehGregor: that all looks good to me...except...
- # [22:42] <ojan> AryehGregor: I think the spec needs to handle the case of JS modifying the DOM during the beforeInput event
- # [22:43] <ojan> AryehGregor: e.g the affected editing host can change
- # [22:43] * Joins: jcranmer (~jcranmer@ltsp2.csl.tjhsst.edu)
- # [22:43] <AryehGregor> Hmm, right.
- # [22:44] <AryehGregor> Maybe we need to bail out in that case.
- # [22:44] <AryehGregor> Like if the beforeInput handler does getSelection().removeAllRanges(), that will break everything.
- # [22:44] <ojan> AryehGregor: right, it depends
- # [22:44] <AryehGregor> Perhaps just add another check for enabled after the beforeInput event.
- # [22:44] <ojan> AryehGregor: so...as long as step 6 doesn't make any assumptions
- # [22:44] <ojan> AryehGregor: and step 7 recomputed the affected editing host, i think we're fine
- # [22:45] <AryehGregor> If there's still an affected editing host but it changes due to the beforeInput handler, do we want to fire the input event at the old one or the new one?
- # [22:45] <ojan> AryehGregor: my intuition is the new one
- # [22:45] <AryehGregor> I'm worried about step 7 recomputing the affected editing host, because there might be a bug in the action that makes the selection disappear or something.
- # [22:45] <AryehGregor> I'd prefer to be robust against that.
- # [22:45] <ojan> i see
- # [22:46] <ojan> AryehGregor: you could recompute it as step 5b
- # [22:47] <ojan> AryehGregor: sorry...step 5.4
- # [22:47] <ojan> AryehGregor: i think that would address all the issues as long as each command action is robust against different DOM states, which is needs to be anyways
- # [22:49] * Quits: pyrsmk (~pyrsmk@mau49-1-82-245-46-173.fbx.proxad.net) (Quit: tzing)
- # [22:54] <AryehGregor> ojan, I was thinking I'd repeat the the "If command is not enabled" check as 5.4, then recompute affected editing host as 5.5, then use that.
- # [22:54] <AryehGregor> So if beforeinput changes the affected editing host, that's fine, and the input event will be fired there.
- # [22:55] <AryehGregor> But if it makes the command no longer enabled, the command won't execute.
- # [22:55] * AryehGregor edits
- # [22:55] * AryehGregor has to go in a few minutes
- # [23:00] <rniwa> AryehGregor: I think your spec should change to treat <div contenteditable><span contenteditable>foo</span></div> identically to <div contenteditable><span>foo</span></div>
- # [23:00] <AryehGregor> Okay, refresh and tell me if you like it.
- # [23:00] <rniwa> AryehGregor: that's how browsers work as far as I know.
- # [23:01] <AryehGregor> rniwa, browsers behave completely randomly whenever you nest anything with contenteditable other than inherit.
- # [23:01] <AryehGregor> I had some use-case for treating it differently.
- # [23:01] <rniwa> AryehGregor: sure we have lots of bugs
- # [23:01] <AryehGregor> I mean, there's no use-case for treating it the same, because you could always just remove the contenteditable attribute.
- # [23:01] <rniwa> AryehGregor: but I don't think we want to re-define the editing host that way
- # [23:01] <rniwa> AryehGregor: but that's not how UAs behave today though
- # [23:02] <AryehGregor> Most of this isn't how they behave today. :)
- # [23:02] <rniwa> AryehGregor: contenteditable attribute is ignored if it's already in the editable region
- # [23:02] <rniwa> AryehGregor: I mean... we can't implement this.
- # [23:02] <AryehGregor> Anything with contenteditable=true will not have its attributes changed or be removed from its parent.
- # [23:02] <rniwa> AryehGregor: there's no sane way for webkit to distinguish those two cases
- # [23:02] <AryehGregor> Because really you just use a CSS property, right?
- # [23:02] <rniwa> AryehGregor: right.
- # [23:02] <AryehGregor> And the computed value isn't going to be different.
- # [23:02] <AryehGregor> Fair enough.
- # [23:02] <rniwa> AryehGregor: so I don't think we can do this.
- # [23:02] <AryehGregor> Feel free to file a bug.
- # [23:03] <AryehGregor> Although, IIRC there are other problems that you using a CSS property causes, right? Like you can't handle :read-write properly?
- # [23:03] <rniwa> AryehGregor: right. but we can't get rid of the CSS property at the moment.
- # [23:03] <rniwa> AryehGregor: we might be able to do eventually but not now
- # [23:03] <AryehGregor> The behavior you suggest is probably more logical anyway, though, because you'd expect contenteditable=inherit to work the same as specifying contenteditable=true or false depending on what the parent is.
- # [23:03] <AryehGregor> Well, you can't implement the spec right now in general, only eventually. :)
- # [23:04] <rniwa> AryehGregor: right.
- # [23:04] <AryehGregor> If you file a bug, I'll look at it later. It's a corner case anyway.
- # [23:04] <rniwa> AryehGregor: okay.
- # [23:04] <rniwa> AryehGregor: btw, you should rename "issue" to "bug"
- # [23:04] <rniwa> AryehGregor: or put both
- # [23:04] <AryehGregor> Yeah, maybe.
- # [23:05] <AryehGregor> File a bug on that too. :)
- # [23:05] <rniwa> I was looking for "bug" for a while :(
- # [23:05] <AryehGregor> I have to go now.
- # [23:05] <AryehGregor> :(
- # [23:05] <rniwa> AryehGregor: k, ttyl
- # [23:08] <rniwa> AryehGregor: filed https://www.w3.org/Bugs/Public/show_bug.cgi?id=16095
- # [23:08] <AryehGregor> Thanks.
- # [23:09] * Quits: sicking (~chatzilla@154-93.80-90.static-ip.oleane.fr) (Ping timeout: 244 seconds)
- # [23:11] <AryehGregor> https://www.w3.org/Bugs/Public/show_bug.cgi?id=13118#c26
- # [23:11] <AryehGregor> And I'm off.
- # [23:12] <heycam> arv, I don't think DOMStringList can really be a plain JS array due to the lack of methods that annevk mentions, and also because then the object that has the DOMStringList property cannot "watch" it for changes
- # [23:13] * Quits: davidb (~davidb@66.207.208.98) (Quit: davidb)
- # [23:13] <heycam> arv, the spec that defines DOMStringList can use the [ArrayClass] extended attribute on the interface to make it inherit from Array.prototype, so that you can easily use Array methods though
- # [23:13] * Quits: snowfox (~benschaaf@50-77-199-197-static.hfc.comcastbusiness.net) (Quit: snowfox)
- # [23:13] <heycam> TabAtkins, did you get all your Web IDL questions earlier answered? (saw a bunch of highlights in my scrollback)
- # [23:14] <TabAtkins> heycam: I ended with a question sent to public-script-coord. Answer there, please?
- # [23:14] <heycam> TabAtkins, ok
- # [23:14] * Quits: tomasf (~tom@2002:55e5:dbb7:0:5907:5038:8fee:4089) (Quit: tomasf)
- # [23:14] * Joins: tomasf (~tom@2002:55e5:dbb7:0:64e9:4b92:936b:ff0d)
- # [23:17] * heycam is now known as heycam|away
- # [23:18] * Quits: skylamer` (cgskylamer@78.90.213.55) (Read error: Connection reset by peer)
- # [23:18] <Hixie> AryehGregor: what jgraham said
- # [23:18] * Quits: Nneon (~Nneon@cpc2-camd14-2-0-cust201.hari.cable.virginmedia.com) (Quit: Leaving...)
- # [23:19] * Joins: svl (~me@89.128.148.64)
- # [23:24] * Joins: Nneon (~Nneon@cpc2-camd14-2-0-cust201.hari.cable.virginmedia.com)
- # [23:25] * Joins: necolas (~necolas@5e0c715f.bb.sky.com)
- # [23:25] * Parts: Nneon (~Nneon@cpc2-camd14-2-0-cust201.hari.cable.virginmedia.com)
- # [23:26] * Quits: timmywil (~timmywil@host-68-169-154-67.WISOLT2.epbfi.com) (Quit: Computer has gone to sleep.)
- # [23:26] * Joins: timmywil (~timmywil@host-68-169-154-67.WISOLT2.epbfi.com)
- # [23:28] * heycam|away is now known as heycam
- # [23:28] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [23:33] <annevk> fyi: I gave glenn write access to https://bitbucket.org/ms2ger/specification-data
- # [23:36] * Quits: gwicke_ (~gabriel@212.255.32.250) (Quit: Bye!)
- # [23:38] * Quits: MacTed (~Thud@63.119.36.36)
- # [23:42] * Quits: ezoe (~ezoe@203-140-88-136f1.kyt1.eonet.ne.jp) (Ping timeout: 245 seconds)
- # [23:49] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [23:52] * Quits: bga (~bga@freebnc.net) (Ping timeout: 244 seconds)
- # [23:55] * Joins: bga (bga@fr6.freebnc.net)
- # Session Close: Fri Feb 24 00:00:00 2012
The end :)