/irc-logs / freenode / #whatwg / 2011-02-04 / end

Options:

  1. # Session Start: Fri Feb 04 00:00:00 2011
  2. # Session Ident: #whatwg
  3. # [00:00] <Hixie> why not?
  4. # [00:00] <Hixie> all you need is some sort of UI that lists the devices of the type the page wants, and then hands back an object implementing the relevant API
  5. # [00:01] <Hixie> it doesn't seem sane to have <usbcashregister>, <rs232>, <mic>, <camera>, <3dcamera>, <depthcamera>, etc
  6. # [00:01] <Hixie> just have <device>
  7. # [00:01] <Hixie> they're all gonna basically be the same anyway, except for what they vend
  8. # [00:01] * Quits: kor (~kor@ip146-53-210-87.adsl2.static.versatel.nl) (Quit: kor)
  9. # [00:02] <othermaciej> generic UI is almost always bad UI
  10. # [00:02] <othermaciej> generic API, it depends
  11. # [00:02] * Joins: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net)
  12. # [00:03] <nimbupani> MikeSmith: !!!
  13. # [00:03] <MikeSmith> allo
  14. # [00:03] * Quits: erlehmann (~erlehmann@e178176215.adsl.alicedsl.de) (Quit: Ex-Chat)
  15. # [00:03] <othermaciej> it's not clear to me that RS232 shares any properties with a camera or microphone from the user perspective
  16. # [00:03] * Joins: espadrine (~espadrine@acces1391.res.insa-lyon.fr)
  17. # [00:04] * Quits: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl) (Remote host closed the connection)
  18. # [00:04] <othermaciej> all the things you mention other than camera and microphone are at present highly specialized equipment that the majority of people don't have, and probably will not
  19. # [00:05] <othermaciej> it is also not clear that an in-page element is the best way to grant access to them
  20. # [00:05] <othermaciej> (I'm not even sure it's the best way to handle it for a camera or microphone)
  21. # [00:06] <othermaciej> anyway, this is tangential to the parsing issues
  22. # [00:06] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Quit: OMG, YOU KILLED OPPO!)
  23. # [00:06] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
  24. # [00:06] <othermaciej> but it seems like a poorly designed feature to me
  25. # [00:10] * Joins: weinig_ (~weinig@17.246.19.142)
  26. # [00:13] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  27. # [00:13] * Quits: sroussey (~sroussey@adsl-69-234-111-42.dsl.irvnca.pacbell.net) (Read error: Connection reset by peer)
  28. # [00:13] * Joins: Edogaa (~Animeking@c-174-61-77-1.hsd1.fl.comcast.net)
  29. # [00:13] * Quits: weinig (~weinig@17.203.14.133) (Ping timeout: 276 seconds)
  30. # [00:13] * weinig_ is now known as weinig
  31. # [00:15] * Quits: MikeSmith (~MikeSmith@31-35-219.wireless.csail.mit.edu) (Read error: Operation timed out)
  32. # [00:16] * Quits: BlurstOfTimes (~blurstoft@168.203.117.107) (Remote host closed the connection)
  33. # [00:16] * Joins: doublec (~chris@203-97-204-82.dsl.clear.net.nz)
  34. # [00:16] * Quits: doublec (~chris@203-97-204-82.dsl.clear.net.nz) (Changing host)
  35. # [00:16] * Joins: doublec (~chris@unaffiliated/doublec)
  36. # [00:19] <Hixie> othermaciej: there's no generic API here
  37. # [00:19] <Hixie> othermaciej: I don't see what would be different for picking a cash register vs picking a camera
  38. # [00:20] <Hixie> othermaciej: anyway, if it turns out we never use it for anything else, <device> is still fine for cameras and mics; whereas <camera> couldn't sanely be used for cash registers even if we find it would otherwise make sense
  39. # [00:20] <Hixie> so...
  40. # [00:24] * Quits: david_carlisle (~davidc@dcarlisle.demon.co.uk) (Ping timeout: 240 seconds)
  41. # [00:27] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Quit: Kthxbye!)
  42. # [00:28] * Philip` wonders why not just use <object> for devices, since that already provides resource-specific APIs
  43. # [00:31] <bga_> ++
  44. # [00:31] <Hixie> how would that work?
  45. # [00:31] <Hixie> (<object> has been overloaded to do so many different things that I'm reluctant to add anything else to it, frankly)
  46. # [00:31] <Hixie> (but i'm open to ideas if it makes sense)
  47. # [00:32] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  48. # [00:35] <Philip`> It sounded like the idea of <device> is to be a generic container that gets overloaded to do whatever arbitrary things people want, so it'll end up being another <object> with a different name
  49. # [00:36] <AryehGregor> Yeah, that thought just occurred to me too.
  50. # [00:44] * Quits: weinig (~weinig@17.246.19.142) (Remote host closed the connection)
  51. # [00:44] * Joins: weinig (~weinig@17.203.14.133)
  52. # [00:45] * Joins: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  53. # [00:47] * Joins: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com)
  54. # [00:47] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  55. # [00:48] * Joins: boogyman (~boogy@unaffiliated/boogyman)
  56. # [00:53] <Hixie> Philip`: not at all, <device> just does one thing, vend APIs for devices
  57. # [00:56] * Quits: justinhjohnson (~Adium@67-131-94-2.dia.static.qwest.net) (Quit: Leaving.)
  58. # [00:56] <zcorpan> devices are many things
  59. # [00:57] * Quits: twisted` (~twisted@205.189.73.45) (Quit: leaving)
  60. # [00:59] * Joins: sroussey (~sroussey@adsl-69-234-111-42.dsl.irvnca.pacbell.net)
  61. # [00:59] * Quits: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com) (Quit: Leaving)
  62. # [01:02] * bga_ is now known as bga_|away
  63. # [01:03] <Hixie> zcorpan: that's like saying <input type=file> is overloaded because there are many files
  64. # [01:03] * Quits: dbaron (~dbaron@nat/mozilla/x-icawxazqhlfyoyjp) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  65. # [01:04] * Quits: bckenny (~bckenny@nat/google/x-tsctugleqrcyzcfq) (Remote host closed the connection)
  66. # [01:06] * Joins: jochen___ (~jochen@nat/google/x-dntwakgqicmsvokc)
  67. # [01:06] * Joins: MikeSmith (~MikeSmith@64.119.130.114)
  68. # [01:07] <zcorpan> it seems like we have a single API for all types of files, however i don't know if it makes sense to have a single API for types of devices
  69. # [01:08] * Quits: othermaciej (~mjs@17.246.16.126) (Ping timeout: 265 seconds)
  70. # [01:09] * Joins: othermaciej (~mjs@2620:0:1b00:1f02:9227:e4ff:fef3:599)
  71. # [01:09] * Quits: jochen__ (~jochen@nat/google/x-sdvqboabjktcudcf) (Ping timeout: 240 seconds)
  72. # [01:09] * Joins: boaz (~boaz@64.119.130.114)
  73. # [01:10] <Hixie> zcorpan: nobody is suggesting a single API for all types of devices
  74. # [01:11] <Hixie> zcorpan: <device> doesn't have an API for the devices, it just returns the APIs, which are device-specific
  75. # [01:11] * Joins: jochen__ (~jochen@nat/google/x-tifdmztciofikmvj)
  76. # [01:11] * Quits: jochen___ (~jochen@nat/google/x-dntwakgqicmsvokc) (Ping timeout: 240 seconds)
  77. # [01:12] <zcorpan> ah, so a bit like NPAPI?
  78. # [01:12] <Hixie> in what way?
  79. # [01:13] <Hixie> more like a bit like how different events have different interfaces
  80. # [01:13] <zcorpan> <object> implements a plugin-specific interface
  81. # [01:13] <Hixie> or how createElement() returns different objects based on its input
  82. # [01:14] <Hixie> except for <device>, the input is from the user (based on a filter given by the author -- like <input type=file> and accept=""), and the output is an object, not a DOM Node
  83. # [01:14] <Hixie> <device> doesn't implement the interface
  84. # [01:15] <Hixie> it returns an object that implements the interface
  85. # [01:15] <zcorpan> ok
  86. # [01:16] * Joins: nattokirai (~nattokira@rtr.mozilla.or.jp)
  87. # [01:18] * Quits: zcorpan (~zcorpan@c-8d9ae355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
  88. # [01:24] <roc> I agree with maciej, <device> seems too overloaded
  89. # [01:24] * AryehGregor also is skeptical
  90. # [01:24] <roc> it's totally unclear what it means to "implement <device>"
  91. # [01:25] <roc> if a device is going to have its own Web-standard API, why shouldn't it have its own element?
  92. # [01:25] <MikeSmith> it' seems pretty similar to canvas in that it's thin markup hook to hang APIs on
  93. # [01:26] <MikeSmith> some would say it doesn't need any element/markup at all, can just all be done with script
  94. # [01:26] <roc> I'm not too thrilled by the canvas getContext() approach either, but at least 2D and 3D <canvas>es have a lot of properties in common
  95. # [01:26] <othermaciej> aye
  96. # [01:26] <MikeSmith> true
  97. # [01:27] * Joins: dbaron (~dbaron@nat/mozilla/x-higqnlwjggjyjmjk)
  98. # [01:29] <doublec> I agree about <device> being overloaded
  99. # [01:29] <doublec> I often see discussions about some wanted feature in HTML and someone saying "hey, isn't device supposed to do that"
  100. # [01:29] <doublec> from video conferencing to serial port communication
  101. # [01:31] <Hixie> MikeSmith: <device> and <canvas> are very similar, yes
  102. # [01:32] <Hixie> doublec: video conferencing and serial port communication are the two things in the spec. :-)
  103. # [01:33] <othermaciej> <device>: it's a floor wax *and* a desert topping
  104. # [01:34] <Hixie> i really don't understand what is overloaded about it
  105. # [01:34] <Hixie> it's like <select>
  106. # [01:34] <Hixie> is <select> overloaded because it can be used for pizza toppings and airline destinations?
  107. # [01:35] <MikeSmith> fwiw, https://lists.webkit.org/pipermail/webkit-dev/2011-January/015822.html seems to indicate chromium engineer has already written a device implementation
  108. # [01:35] <othermaciej> I think that is too high a level of abstraction for users and for typical programmers
  109. # [01:35] <MikeSmith> input element is overloaded for sure
  110. # [01:36] <Hixie> othermaciej: there's no abstraction at all. it's concrete. <device type=media> gives a popup of media sources, user picks one, UA fires an event with an object implementing a media stream API.
  111. # [01:36] <roc> the input element was a mistake
  112. # [01:36] <roc> and <device> repeates the problems with a mutable type attribute
  113. # [01:36] <Hixie> othermaciej: <device type=rs232> gives a popup of RS232 devices, user picks one, UA fires an event with an object implement an RS232 API
  114. # [01:37] <Hixie> <input> is overloaded because it does many things
  115. # [01:37] <Hixie> <device> does one thing
  116. # [01:37] <othermaciej> Hixie: to the user, the feature is "use my camera" or "use whatever is connected to my serial port", not "pick a device"
  117. # [01:37] <jamesr_> sounds more like <device> does zero things
  118. # [01:37] <roc> Hixie: that's subjective. <input> does one thing: it accepts user input
  119. # [01:37] <Hixie> roc: but it has many different UIs. <device> has one.
  120. # [01:37] <othermaciej> also, it will be very common to have exactly one microphone or exactly one camera
  121. # [01:38] <othermaciej> at which point a popup is a poor UI
  122. # [01:38] <Hixie> roc: and <input> has many different APIs, <device> has one.
  123. # [01:38] <roc> I don't understand how <device> can have one UI
  124. # [01:38] <Hixie> I don't understand how it could have more than one :-)
  125. # [01:38] <roc> the browser is going to offer the same UI for picking cameras, microphones, RS232 ports, and connection peers?
  126. # [01:38] <othermaciej> a popup menu that says "Front-facing camera" and "Rear-facing camera" in a menu would also be terrible UI for the more common devices with two cameras
  127. # [01:39] <Hixie> othermaciej: what would good secure UI be?
  128. # [01:39] <roc> or is connection peer totally unrelated? I don't understand "This section will be moved to a more appropriate location in due course; it is here currently to keep it near the device element to allow reviewers to look at it."
  129. # [01:39] <othermaciej> I don't know, good secure UI is hard
  130. # [01:39] <Hixie> connectionpeer is as related to <device> as XHR is to <input type=file>
  131. # [01:40] * Joins: franksalim (~frank@99-123-6-19.lightspeed.sntcca.sbcglobal.net)
  132. # [01:40] <Hixie> othermaciej: well, this is what we have for now. I'm open to improvements if people can suggest any. But "no" isn't an improvement.
  133. # [01:40] <othermaciej> I would probably show previews of what the two cameras are showing and have a record button or something
  134. # [01:40] <othermaciej> and probably have a persistent record indicator in the UI
  135. # [01:41] <othermaciej> that scales reasonably to either one or two cameras
  136. # [01:41] <othermaciej> but I don't think it scales to serial ports
  137. # [01:41] <Hixie> i'll have to draw up some mockups
  138. # [01:43] <othermaciej> tying this to an element is only really helpful if something useful shows up in page by default (actual video output of camera? soundwave of audio input for mic-only?), or if requiring a real user click is somehow part of the security value
  139. # [01:43] * Quits: boaz (~boaz@64.119.130.114) (Quit: boaz)
  140. # [01:43] <Hixie> an icon representing the device, and yes, respectively
  141. # [01:43] <roc> I don't think requiring a real user click has real security value
  142. # [01:43] <othermaciej> given clickjacking type techniques, I'm not even sure an element is a helpful tool to ensure a real user click
  143. # [01:44] <Hixie> how do we ensure the user confirms which device he wants without popping up a separate window after a user click?
  144. # [01:44] <Hixie> if we have better ideas i'm all for it
  145. # [01:45] <roc> in Firefox we have standard UI for confirming geolocation requests, offline storage, and other things
  146. # [01:45] <roc> I think we'd want to hook into that
  147. # [01:45] <othermaciej> I think it might be more useful for us to implement a UI we think is good by way of a proposal
  148. # [01:45] <Hixie> roc: the infobar? i thought it was established that that was a disaster
  149. # [01:46] <othermaciej> I'm not sure an icon representing a camera is a super useful part of video conferencing UI
  150. # [01:46] <roc> it's changed in Firefox 4
  151. # [01:46] <roc> I don't know if the new design is considered a disaster
  152. # [01:46] <othermaciej> a popup might be useful for choosing purposes, but then you have to think about how it works when there is only one thing to choose, and at that point I am not sure "real user click" is a useful security feature
  153. # [01:51] <Hixie> roc: is there a test page that brings them up? i tried google maps but nothing came up when i got it to ask for the location
  154. # [01:51] <Hixie> which is fine ui but not very secure :-)
  155. # [01:51] <roc> did it use your location or not?
  156. # [01:51] <roc> perhaps you set it to always-allow in the past
  157. # [01:51] <Hixie> it found where i was, dunno if it was based on IP or something better
  158. # [01:51] <roc> bring up page-info and go to the permissions pane
  159. # [01:52] <jamesr_> a web page can often get your location quite accurately without any participation from the browser
  160. # [01:52] <roc> select always-ask
  161. # [01:52] <doublec> I just tried google maps in a ff 4 nightly and it asked for permission
  162. # [01:52] <roc> jamesr_: probably not to within a city block, I'm guessing
  163. # [01:52] <roc> that makes a difference to me
  164. # [01:52] <jamesr_> roc: why not?
  165. # [01:53] <jamesr_> depends on the city, i suppose
  166. # [01:53] <Hixie> ah, yes, i had granted it permission
  167. # [01:53] <Hixie> roc: is there a page that shows the quota dialog?
  168. # [01:53] <kbrosnan> most desktops firefox can get as close as geoip can get
  169. # [01:53] <jamesr_> but why couldn't some enterprising web authors know the IP address + location of every starbucks in the world?
  170. # [01:53] <roc> because ISP subnet blocks will be distributed across many city blocks
  171. # [01:54] <roc> maybe you're right about Starbucks
  172. # [01:54] <roc> but you're not right about my house
  173. # [01:54] <jamesr_> sure. depends on the house
  174. # [01:54] <roc> Hixie: dunno
  175. # [01:55] <Hixie> the geo ui in ff4 is ok. not sure how well it would scale if there were multiple requests at once.
  176. # [01:57] * Joins: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  177. # [01:57] * Joins: wakaba_0 (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
  178. # [01:59] * Quits: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  179. # [02:02] <gavin> we only show one request (of a given type) at a time
  180. # [02:02] <Hixie> ah interesting
  181. # [02:02] <Hixie> well we can certainly do something along these lines with a callback like geolocation
  182. # [02:03] * Joins: sicking (~chatzilla@nat/mozilla/x-vcnseumtcobeoyfx)
  183. # [02:03] <othermaciej> the main in-page element that makes sense for a camera (IMO) is something in-page to show you what's being recorded, without having to route through JavaScript first
  184. # [02:04] <roc> we have considered an approach where you give a magic URL to <video src> like "camera:"
  185. # [02:04] <othermaciej> I am not sure infobar is the right model for camera access
  186. # [02:05] <Hixie> roc: that's the URL you get from Stream
  187. # [02:05] <roc> othermaciej: it may not be, but I would certainly not be happy with in-page clicks serving as confirmation UI
  188. # [02:06] <Hixie> with <device> the confirmation UI is out-of-page
  189. # [02:06] <Hixie> the in-page click is the one that brings up the confirmation UI
  190. # [02:06] <othermaciej> roc: that definitely is not good for the confirmation UI
  191. # [02:06] <othermaciej> roc: that has to be out-of-page
  192. # [02:06] <Hixie> (can't the geolocation thing in ff4 be click-jacked? it always appears in a predictable place, no?)
  193. # [02:06] * Quits: othermaciej (~mjs@2620:0:1b00:1f02:9227:e4ff:fef3:599) (Quit: othermaciej)
  194. # [02:06] <gavin> yes
  195. # [02:07] <gavin> (bug 583175)
  196. # [02:07] * Quits: MikeSmith (~MikeSmith@64.119.130.114) (Ping timeout: 260 seconds)
  197. # [02:09] <Hixie> that's one of the things the <device> design works around
  198. # [02:09] <Hixie> but i'm certainly open to better suggestions
  199. # [02:10] * Joins: othermaciej (~mjs@17.246.16.126)
  200. # [02:12] * Quits: dbaron (~dbaron@nat/mozilla/x-higqnlwjggjyjmjk) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  201. # [02:12] * Quits: TabAtkins_ (~tabatkins@nat/google/x-mxlivwdpnvnkhchm) (Ping timeout: 240 seconds)
  202. # [02:17] <AryehGregor> jgraham or gsnedders or other random Opera person: how different is Opera's innerText from textContent? And how different is its Selection.toString() from Range.toString()? Do you know of web-compat issues that would prevent them from being made the same, just scrapping all plaintext conversion in favor of concatenating text nodes?
  203. # [02:17] * Joins: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp)
  204. # [02:18] * Joins: dbaron (~dbaron@nat/mozilla/x-rqzgrlddpllsdtyw)
  205. # [02:19] * Quits: homata (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  206. # [02:20] * Quits: dbaron (~dbaron@nat/mozilla/x-rqzgrlddpllsdtyw) (Client Quit)
  207. # [02:21] * Joins: dbaron (~dbaron@nat/mozilla/x-qcviyrhryvruilzb)
  208. # [02:21] * Quits: dbaron (~dbaron@nat/mozilla/x-qcviyrhryvruilzb) (Client Quit)
  209. # [02:23] * bga_|away is now known as bga_
  210. # [02:30] <AryehGregor> othermaciej, what do you think of the last five paragraphs of <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-February/030210.html>?
  211. # [02:33] <othermaciej> AryehGregor: innerText is pretty pointless if it does the exact same thing as textContent
  212. # [02:33] <othermaciej> AryehGregor: that will just mislead pages that try to sniff for it
  213. # [02:34] <othermaciej> I don't know enough about Selection.toString() to have an opinion
  214. # [02:34] <AryehGregor> othermaciej, the overwhelming majority of pages that use innerText use it as a simple substitute for textContent.
  215. # [02:34] <othermaciej> I don't think we'd have a major problem with making innerText more IE-like
  216. # [02:34] <AryehGregor> For the rest, textContent isn't a particularly bad substitute.
  217. # [02:34] <othermaciej> well, if they work in Mozilla they can use textContent
  218. # [02:35] <AryehGregor> Opera and IE9 also have innerText that behaves a lot more like textContent than like WebKit's innerText.
  219. # [02:35] * Quits: ZombieLoffe (~e@unaffiliated/zombieloffe)
  220. # [02:35] <othermaciej> is IE9 different from older IE?
  221. # [02:35] <AryehGregor> Yes, totally different.
  222. # [02:35] <AryehGregor> At least in my testing.
  223. # [02:35] <othermaciej> weird
  224. # [02:35] <othermaciej> I wonder if that's intentional
  225. # [02:35] <othermaciej> anyway
  226. # [02:36] <othermaciej> we almost surely have legacy WebKit-specific content that will break if we change here
  227. # [02:36] <othermaciej> if there was a lot of interop value to be gained, we might consider breaking it
  228. # [02:36] <AryehGregor> WebKit has by far the most complicated innerText implementation of any browser, AFAICT.
  229. # [02:36] <AryehGregor> What sort of content would actually break in practice?
  230. # [02:36] <othermaciej> but it seems like the only interop we'd be getting is with Mozilla's refusal to have the feature of plaintext conversion
  231. # [02:36] <othermaciej> no idea
  232. # [02:36] <othermaciej> there's lots of content coded only to WEbKit
  233. # [02:37] <AryehGregor> Plaintext conversion is a very rare use-case.
  234. # [02:37] <othermaciej> when we adopted the HTML5 parsing algorithm, lots of things broke
  235. # [02:37] <othermaciej> not on the public web
  236. # [02:37] <AryehGregor> And when it is used, the result is generally just going to be displayed to the user, so at worst it will look a bit weird.
  237. # [02:37] <othermaciej> but dashboard widgets, Mac native apps (maybe iOS native apps too), Apple intranet sites...
  238. # [02:38] <othermaciej> that pain was worth it, I suppose, to gain WEb compatibility and inteop on something major
  239. # [02:38] <AryehGregor> That could all break if you change your innerText implementation substantially at all, though, including to a hypothetical plaintext conversion spec.
  240. # [02:38] <othermaciej> doesn't seem worth it for something minor, especially when it's just to satisfy Mozilla's ideological desire for the feature to not exist
  241. # [02:38] <othermaciej> that's probably true
  242. # [02:38] <othermaciej> we'd have to test it a lot
  243. # [02:38] <othermaciej> we have changed it in minor ways over time
  244. # [02:38] * Joins: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e)
  245. # [02:38] <othermaciej> I know that if <br> doesn't produce newlines, stuff will break
  246. # [02:38] <othermaciej> past that, hard to say
  247. # [02:39] <AryehGregor> So if you're really saying that WebKit is not willing to change its innerText algorithm much at all no matter what, either we have to spec a close match to its algorithm or give up on WebKit interoperating here.
  248. # [02:39] <AryehGregor> In the first case, no one will implement the algorithm because it's not worth it.
  249. # [02:39] <othermaciej> I'm saying we have to do a lot of testing
  250. # [02:39] <AryehGregor> In the second case, at least we have all other engines on the same page.
  251. # [02:39] <othermaciej> so an interoperable specification would have to be worth the cost of testing and of fixing the content that breaks
  252. # [02:40] <othermaciej> if the spec neuters the feature and we have to add a prefixed version, that doesn't seem worth it
  253. # [02:40] <othermaciej> better to just have the feature remain nonstandard in that case
  254. # [02:40] <othermaciej> at least IMO
  255. # [02:40] <AryehGregor> It doesn't have to be exactly the same as textContent, we can add whatever adjustments are needed for web compat. E.g., something simple like adding newlines for <br> would probably be fine.
  256. # [02:40] <othermaciej> I am sure lots of minor changes are possible
  257. # [02:40] * Quits: boogyman (~boogy@unaffiliated/boogyman) (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014])
  258. # [02:40] <othermaciej> it's hard for me to judge without a specific proposal
  259. # [02:41] <othermaciej> I'm pretty sure "identical to textContent" won't fly
  260. # [02:41] <AryehGregor> The proposal would be "identical to textContent except for whatever implementers say is necessary for compat".
  261. # [02:41] <AryehGregor> Opera might have useful input here.
  262. # [02:41] <othermaciej> IE probably still gets compat benefit from their old version due to their multiple engines
  263. # [02:41] <othermaciej> so they might be more willing to change than us, but only in IE9 standards mode
  264. # [02:41] <AryehGregor> Yes, IE has devised its own way to evade compat problems.
  265. # [02:42] <AryehGregor> If people keep on writing so much WebKit-only code and WebKit has complicated WebKit-only features like this unprefixed, it's going to be forced to do the same someday.
  266. # [02:43] <AryehGregor> At least that's my prediction.
  267. # [02:43] <othermaciej> well, we don't add new nonstandard features unprefixed these days
  268. # [02:43] <othermaciej> even in this case, we didn't make it up, we copied it from IE
  269. # [02:43] <AryehGregor> This one sort of snuck in as kind of an attempt to copy IE except actually not really because WebKit's implementation is more sophisticated in most ways.
  270. # [02:43] <AryehGregor> (like IE doesn't even handle display: none)
  271. # [02:44] <othermaciej> I suspect IE magically applies formatting based on certain HTML tags, and ours actually looks at the rendering
  272. # [02:44] <roc> isn't there a record of why Webkit added that complexity? There must have been some use-case
  273. # [02:44] <AryehGregor> No, I'm pretty sure that's not true. I think IE8 handles <div style=white-space:pre-line> nicely in my test.
  274. # [02:45] <othermaciej> we inherited innerText from KHTML
  275. # [02:45] <AryehGregor> Gecko's the one that mostly ignores CSS.
  276. # [02:45] <gsnedders> AryehGregor: It's a completely different code-path to textContent, so kinda hard to tell what exactly is different
  277. # [02:45] <othermaciej> then we made it more IE-compatible (original version was dumb)
  278. # [02:45] <roc> well, then they should have a record
  279. # [02:45] <othermaciej> I don't think KHTML has records extending to more than 10 years ago
  280. # [02:45] * Joins: TabAtkins_ (~tabatkins@66.109.103.27)
  281. # [02:45] <AryehGregor> gsnedders, textContent is trivial, it just concatenates all the text nodes. Presumably innerText does that but with some extra processing, yes?
  282. # [02:46] <othermaciej> anyway, at some point I think we merged it with the plaintext conversion code we use for other purposes, e.g. copy
  283. # [02:46] <AryehGregor> Yeah, WebKit's the only one that does that AFAICT.
  284. # [02:46] <gsnedders> AryehGregor: I also don't understand quite how our impl works :)
  285. # [02:46] <AryehGregor> (didn't test Opera or IE8, I guess)
  286. # [02:46] <AryehGregor> gsnedders, well, I can do some black-box testing if necessary.
  287. # [02:46] <othermaciej> we can split it from regular plaintext conversion if some compatible-enough version would work better
  288. # [02:46] <othermaciej> I can't commit resources to do interop research on this in the short term though
  289. # [02:47] <gsnedders> AryehGregor: I can ask others if I remember tomorrow
  290. # [02:47] <gsnedders> AryehGregor: My reading of the code when I tried to work out what it did was that it always returned the empty string. This is quite obviously wrong. :)
  291. # [02:48] <AryehGregor> gsnedders, surprisingly, that matches what Opera does for Selection.toString() in my test page. Maybe you're on to something.
  292. # [02:48] <gsnedders> (Now you know why I don't get paid to do white-box QA)
  293. # [02:49] <gsnedders> AryehGregor: That'll just be ranges stuff, I suspect.
  294. # [02:49] <AryehGregor> Yeah, I know, I was kidding. :P
  295. # [02:50] <AryehGregor> Unless my eyes deceive me, the only thing Opera does differently here for innerText is that it adds newlines for <br>: http://aryeh.name/spec/innertext/test/innerText.html
  296. # [02:50] <AryehGregor> (there's a diff at the end)
  297. # [02:51] * Quits: jennb (~jennb@nat/google/x-exijuttiftcxrlka) (Quit: jennb)
  298. # [02:53] * Joins: jamesr__ (~jamesr@216.239.45.19)
  299. # [02:54] * Quits: ap (~ap@2620:0:1b00:1191:226:4aff:fe14:aad6) (Quit: ap)
  300. # [02:55] * Quits: jamesr_ (~jamesr@nat/google/x-zmnwkvfpyuoqkybr) (Ping timeout: 240 seconds)
  301. # [02:57] * Quits: jamesr__ (~jamesr@216.239.45.19) (Remote host closed the connection)
  302. # [02:57] * Joins: jamesr_ (~jamesr@nat/google/x-uvwwuzaviomjhcol)
  303. # [03:00] * Quits: othermaciej (~mjs@17.246.16.126) (Quit: othermaciej)
  304. # [03:00] * Quits: cying (~cying@173-228-29-224.dsl.static.sonic.net) (Quit: cying)
  305. # [03:01] * Joins: othermaciej (~mjs@17.246.16.126)
  306. # [03:17] * Quits: weinig (~weinig@17.203.14.133) (Quit: weinig)
  307. # [03:17] * Joins: silanus_ (~silanus@p5DDEA94E.dip.t-dialin.net)
  308. # [03:19] * Quits: silanus (~silanus@p5DDE9704.dip.t-dialin.net) (Ping timeout: 272 seconds)
  309. # [03:23] * Quits: TabAtkins_ (~tabatkins@66.109.103.27) (Ping timeout: 246 seconds)
  310. # [03:29] * Quits: chriseppstein (~chris@dsl081-061-073.sfo1.dsl.speakeasy.net) (Quit: chriseppstein)
  311. # [03:34] * Quits: sicking (~chatzilla@nat/mozilla/x-vcnseumtcobeoyfx) (Ping timeout: 245 seconds)
  312. # [03:40] * bga_ is now known as bga_|away
  313. # [03:47] <TabAtkins> Damn, I missed the <device> conversation today.
  314. # [03:47] * Parts: benjoffe (~benjoffe@66.220.144.74)
  315. # [03:53] * Quits: kurrik (~kurrik@nat/google/x-masvbvuzjkrnzncb) (Quit: Leaving)
  316. # [04:03] * Quits: othermaciej (~mjs@17.246.16.126) (Quit: othermaciej)
  317. # [04:06] * Quits: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e) (Quit: Leaving.)
  318. # [04:08] * Joins: agektmr (~Adium@220.109.219.244)
  319. # [04:13] * Joins: othermaciej (~mjs@66.109.104.222)
  320. # [04:19] * Joins: KaOSoFt (~maxzagato@unaffiliated/kaosoft)
  321. # [04:23] * Quits: kal-EL_ (~jor-EL@host195-73-dynamic.11-79-r.retail.telecomitalia.it) (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014])
  322. # [04:25] * bga_|away is now known as bga_
  323. # [04:33] <othermaciej> TabAtkins: do you have an opinion on the topics discussed relating to <device>?
  324. # [04:38] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 272 seconds)
  325. # [04:43] * Quits: jwalden (~waldo@nat/mozilla/x-jablxvmiievhrykj) (Quit: later)
  326. # [04:44] * Joins: hdhoang (~hdhoang@cmalu.zahe.me)
  327. # [04:53] * Joins: Amorphous (jan@unaffiliated/amorphous)
  328. # [04:57] * Quits: hdhoang (~hdhoang@cmalu.zahe.me) (Quit: Leaving.)
  329. # [04:57] * Quits: tw2113 (~tw2113@fedora/tw2113) (Quit: Going!)
  330. # [05:03] * Quits: othermaciej (~mjs@66.109.104.222) (Quit: othermaciej)
  331. # [05:12] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
  332. # [05:13] * Joins: Kaelig (~Kaelig@mal35-2-82-228-177-211.fbx.proxad.net)
  333. # [05:16] * Joins: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net)
  334. # [05:17] * bga_ is now known as bga_|away
  335. # [05:18] * Joins: onar_ (~onar@c-67-169-86-105.hsd1.ca.comcast.net)
  336. # [05:23] * Joins: miketaylr (~miketaylr@user-160vrg5.cable.mindspring.com)
  337. # [05:27] * Quits: mloki (~mloki__@x1-6-00-10-a7-28-f3-47.k765.webspeed.dk) (Quit: Leaving)
  338. # [05:32] * Quits: KaOSoFt (~maxzagato@unaffiliated/kaosoft)
  339. # [05:43] * Quits: nessy (~Adium@74.125.56.18) (Quit: Leaving.)
  340. # [05:45] * Parts: cyphase (~cyphase@adsl-76-254-71-51.dsl.pltn13.sbcglobal.net) ("http://www.cyphase.com/")
  341. # [05:59] * Quits: dave_levin (~dave_levi@74.125.59.76) (Quit: dave_levin)
  342. # [06:03] * Joins: agektmr (~Adium@u719071.xgsnu4.imtp.tachikawa.mopera.net)
  343. # [06:06] * Quits: roc (~chatzilla@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 276 seconds)
  344. # [06:07] * bga_|away is now known as bga_
  345. # [06:34] * Quits: doublec (~chris@unaffiliated/doublec) (Quit: Leaving)
  346. # [06:42] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
  347. # [06:42] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
  348. # [06:53] * Quits: virtuelv (~virtuelv_@20.74.9.46.customer.cdi.no) (Quit: Ex-Chat)
  349. # [06:59] * Parts: nimbupani (~Adium@c-24-22-131-46.hsd1.wa.comcast.net)
  350. # [07:07] * Quits: agektmr (~Adium@u719071.xgsnu4.imtp.tachikawa.mopera.net) (Quit: Leaving.)
  351. # [07:09] * Joins: hdhoang (~hdhoang@cmalu.zahe.me)
  352. # [07:10] * Quits: sephr (~Eli@c-98-235-63-240.hsd1.pa.comcast.net) (Ping timeout: 240 seconds)
  353. # [07:16] * Joins: nessy (~Adium@124-171-47-99.dyn.iinet.net.au)
  354. # [07:19] * Joins: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net)
  355. # [07:24] * Joins: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net)
  356. # [07:31] * bga_ is now known as bga_|away
  357. # [07:38] * Joins: oknoway (~oknoway@173-8-201-137-Oregon.hfc.comcastbusiness.net)
  358. # [07:42] * bga_|away is now known as bga_
  359. # [07:42] * Joins: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e)
  360. # [07:43] * bga_ is now known as bga_|away
  361. # [07:44] * Quits: bga_|away (~bga@ppp91-122-51-148.pppoe.avangarddsl.ru) (Read error: Connection reset by peer)
  362. # [07:44] * Quits: kbrosnan (~kbrosnan@firefox/community/qa/kbrosnan) (Ping timeout: 240 seconds)
  363. # [07:49] * Joins: kbrosnan (~kbrosnan@firefox/community/qa/kbrosnan)
  364. # [07:49] * Quits: miketaylr (~miketaylr@user-160vrg5.cable.mindspring.com) (Quit: miketaylr)
  365. # [07:50] * Joins: maikmerten (~merten@ls5dhcp197.cs.uni-dortmund.de)
  366. # [08:01] * Joins: virtuelv (~virtuelv_@pat-tdc.opera.com)
  367. # [08:11] * Quits: hdhoang (~hdhoang@cmalu.zahe.me) (Quit: Leaving.)
  368. # [08:13] * Quits: nessy (~Adium@124-171-47-99.dyn.iinet.net.au) (Quit: Leaving.)
  369. # [08:14] * Joins: rimantas (~rimliu@93.93.57.193)
  370. # [08:24] * Joins: pesla (~pesla@188.202.125.121)
  371. # [08:29] * Joins: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl)
  372. # [08:39] * Joins: benschwarz (~ben@59.167.185.148)
  373. # [08:49] * Joins: FireFly (~firefly@unaffiliated/firefly)
  374. # [08:49] * Joins: slightlyoff (~alex@204.14.154.186)
  375. # [08:50] * Joins: kor (~kor@ip146-53-210-87.adsl2.static.versatel.nl)
  376. # [08:57] * Quits: jamesr_ (~jamesr@nat/google/x-uvwwuzaviomjhcol) (Quit: jamesr_)
  377. # [08:57] * Joins: Rik` (~Rik`@2a01:e35:139b:b390:daa2:5eff:fe97:85ed)
  378. # [08:57] * Quits: homata__ (~homata@58x158x182x50.ap58.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
  379. # [09:00] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
  380. # [09:00] * Joins: mhausenblas_ (~mhausenbl@wg1-nat.fwgal01.deri.ie)
  381. # [09:04] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Ping timeout: 260 seconds)
  382. # [09:04] * mhausenblas_ is now known as mhausenblas
  383. # [09:05] * Quits: slightlyoff (~alex@204.14.154.186) (Quit: slightlyoff)
  384. # [09:08] * Quits: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.13/20110103133706])
  385. # [09:15] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
  386. # [09:17] * Quits: espadrine (~espadrine@acces1391.res.insa-lyon.fr) (Ping timeout: 240 seconds)
  387. # [09:27] * Joins: MrOpposite (~mropposit@unaffiliated/mropposite)
  388. # [09:33] * Joins: jamesr_ (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
  389. # [09:34] * Quits: oknoway (~oknoway@173-8-201-137-Oregon.hfc.comcastbusiness.net) (Ping timeout: 250 seconds)
  390. # [09:36] * Joins: thiessenp (~thiessenp@changeme.ebuddy.com)
  391. # [09:37] * Joins: Ms2ger (~Ms2ger@91.181.219.174)
  392. # [09:44] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: swatted to death)
  393. # [09:44] * Quits: MrOpposite (~mropposit@unaffiliated/mropposite) (Quit: OMG, YOU KILLED OPPO!)
  394. # [09:45] * Joins: MikeSmith (~MikeSmith@2002:d106:7be0:1234:219:e3ff:fe08:8ad3)
  395. # [09:46] * Quits: reni (~reni@sedkit.inf.u-szeged.hu) (Read error: Connection reset by peer)
  396. # [09:47] * Joins: reni (~reni@sedkit.inf.u-szeged.hu)
  397. # [09:48] * Quits: nattokirai (~nattokira@rtr.mozilla.or.jp) (Quit: nattokirai)
  398. # [10:05] * Joins: david_carlisle (~davidc@62.231.145.254)
  399. # [10:13] * Joins: ROBOd (~robod@109.96.205.104)
  400. # [10:14] * Joins: kal-EL_ (~jor-EL@host141-65-dynamic.245-95-r.retail.telecomitalia.it)
  401. # [10:14] * Joins: jomn (~jomn@c80-216-13-27.bredband.comhem.se)
  402. # [10:20] * Joins: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de)
  403. # [10:21] * Quits: onar_ (~onar@c-67-169-86-105.hsd1.ca.comcast.net) (Quit: onar_)
  404. # [10:30] * Quits: Rik` (~Rik`@2a01:e35:139b:b390:daa2:5eff:fe97:85ed) (Ping timeout: 240 seconds)
  405. # [10:31] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
  406. # [10:32] * Joins: acroyear2 (~dad@87-194-244-64.bethere.co.uk)
  407. # [10:38] * Joins: reni_ (~reni@sedkit.inf.u-szeged.hu)
  408. # [10:41] * Quits: reni (~reni@sedkit.inf.u-szeged.hu) (Ping timeout: 246 seconds)
  409. # [10:43] * Joins: connrs (~paul@host86-136-129-234.range86-136.btcentralplus.com)
  410. # [10:47] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  411. # [10:53] * Joins: annevk (~annevk@pat-tdc.opera.com)
  412. # [10:58] * Quits: torvalamo (~loriisacu@c3373BF51.dhcp.bluecom.no) (Ping timeout: 246 seconds)
  413. # [11:01] * Joins: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net)
  414. # [11:01] * Quits: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net) (Remote host closed the connection)
  415. # [11:02] * Joins: erlehmann (~erlehmann@89.204.153.117)
  416. # [11:03] * Joins: zcorpan (~zcorpan@c-8d9ae355.410-6-64736c14.cust.bredbandsbolaget.se)
  417. # [11:03] * Joins: torvalamo (~loriisacu@c3373BF51.dhcp.bluecom.no)
  418. # [11:11] * Joins: Stikki (~lordstich@dsl-pribrasgw1-ff17c300-80.dhcp.inet.fi)
  419. # [11:12] * Joins: jeremyselier (~Jeremy@pro75-4-82-238-200-10.fbx.proxad.net)
  420. # [11:32] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  421. # [11:36] * Joins: Necrathex (~nectop@82-170-160-25.ip.telfort.nl)
  422. # [11:37] * Quits: Workshiva (~Dashiva@74.125.57.36) (Quit: leaving)
  423. # [11:41] * Quits: jamesr_ (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr_)
  424. # [11:41] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Quit: Leaving)
  425. # [11:41] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  426. # [11:42] * Joins: hdhoang (~hdhoang@cmalu.zahe.me)
  427. # [11:44] * Joins: Workshiva (~Dashiva@74.125.57.36)
  428. # [11:48] <annevk> I wonder if I should write a change proposal for http://www.w3.org/html/wg/tracker/issues/140
  429. # [11:49] <annevk> Introducing a special term "conforming HTML5 document" is bound to lead to pointless arguments
  430. # [11:49] <annevk> though the lack of it will presumably do too
  431. # [11:50] <jgraham> If you don't enjoy pointless arguments, why ever did you get involved with specs work?
  432. # [11:51] <Ms2ger> jgraham, that sounds like logic
  433. # [11:52] <annevk> heh, meta
  434. # [11:52] <jgraham> I can't tell, my reference point was left at the door
  435. # [11:54] * Joins: smaug____ (~chatzilla@dsl-hkibrasgw4-fe45dc00-171.dhcp.inet.fi)
  436. # [11:55] * Joins: Martijnc (~Martijnc@91.176.22.57)
  437. # [11:59] * Quits: virtuelv (~virtuelv_@pat-tdc.opera.com) (Ping timeout: 260 seconds)
  438. # [12:02] * Quits: annevk (~annevk@pat-tdc.opera.com) (Remote host closed the connection)
  439. # [12:03] * Joins: annevk (~annevk@pat-tdc.opera.com)
  440. # [12:13] * Joins: reni__ (~reni@sedkit.inf.u-szeged.hu)
  441. # [12:14] * Joins: virtuelv (~virtuelv_@guest.opera.com)
  442. # [12:14] * Quits: reni_ (~reni@sedkit.inf.u-szeged.hu) (Read error: Operation timed out)
  443. # [12:21] * Parts: hdhoang (~hdhoang@cmalu.zahe.me)
  444. # [12:21] * Joins: hdhoang (~hdhoang@cmalu.zahe.me)
  445. # [12:22] * Quits: reni__ (~reni@sedkit.inf.u-szeged.hu) (Read error: Connection reset by peer)
  446. # [12:23] * Joins: reni__ (~reni@sedkit.inf.u-szeged.hu)
  447. # [12:24] * Quits: hdhoang (~hdhoang@cmalu.zahe.me) (Client Quit)
  448. # [12:28] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Quit: Leaving)
  449. # [12:29] * Joins: benschwarz_ (~ben@59.167.185.148)
  450. # [12:31] * Quits: benschwarz (~ben@59.167.185.148) (Ping timeout: 245 seconds)
  451. # [12:31] * benschwarz_ is now known as benschwarz
  452. # [12:32] * Joins: Lachy (~Lachlan@pat-tdc.opera.com)
  453. # [12:32] * Quits: agektmr (~Adium@2401:fa00:4:1012:fa1e:dfff:fee6:d74e) (Quit: Leaving.)
  454. # [12:37] * Joins: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl)
  455. # [12:43] * Quits: MikeSmith (~MikeSmith@2002:d106:7be0:1234:219:e3ff:fe08:8ad3) (Ping timeout: 245 seconds)
  456. # [12:56] * Quits: nw_ (eero@heaven.unlink.org) (Quit: Lost terminal)
  457. # [12:57] <annevk> thanks volkmar
  458. # [12:58] <volkmar> annevk: np
  459. # [13:04] * Quits: benschwarz (~ben@59.167.185.148) (Quit: benschwarz)
  460. # [13:17] * Quits: KDN (~KDN@202.171.164.210) (Quit: KDN)
  461. # [13:23] <hsivonen> stuff I just learned: Gecko doesn't use .xsl as signal of XSLTness but wants a type pseudo-attribute on the <?xml-stylesheet?> PI
  462. # [13:23] <hsivonen> when loading from local disk
  463. # [13:47] <hsivonen> sigh. trying to learn XSLT in a hurry. having trouble with template precedence
  464. # [13:48] <annevk> simple examples here: http://annevankesteren.nl/test/xml/xslt/
  465. # [13:49] <annevk> though I guess you can find those anywhere
  466. # [13:53] <annevk> that HTTP status code problem is annoying
  467. # [13:53] <annevk> similarly with images not existing and such
  468. # [14:00] <zcorpan> hsivonen: doesn't gecko want type="" even when loading over HTTP?
  469. # [14:00] <hsivonen> zcorpan: I didn't test
  470. # [14:01] <hsivonen> annevk: thanks. I think I now have roughly what I want except I have an insane amount of pointless whitespace
  471. # [14:01] <hsivonen> wondering what tool is the quickest for zapping the extra space
  472. # [14:04] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Remote host closed the connection)
  473. # [14:06] * Quits: virtuelv (~virtuelv_@guest.opera.com) (Ping timeout: 265 seconds)
  474. # [14:17] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  475. # [14:27] <annevk> jgraham, http://tc.labs.opera.com/apis/EventSource/eventsource-constructor-url-bogus.htm why is that again?
  476. # [14:27] <annevk> jgraham, should I update testharness.js?
  477. # [14:28] <jgraham> annevk: It is a confusing error that doesn't reflect what is actually going on
  478. # [14:28] <jgraham> But I don't think it is fixed
  479. # [14:28] * Quits: wakaba_0 (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Quit: Leaving...)
  480. # [14:30] <jgraham> annevk: Probably it is because e.name !== SYNTAX_ERR
  481. # [14:30] <jgraham> iirc there is some debate about whether you will require than in web dom vore anyway
  482. # [14:31] <jgraham> So the check could probably be removed
  483. # [14:31] <annevk> hmm yeah
  484. # [14:31] <annevk> or at least be made a separate assert
  485. # [14:31] <annevk> because that piece of code violates all the nicety the harness provides
  486. # [14:32] <annevk> (i.e. not needing pass1 && pass2 && pass3
  487. # [14:32] <annevk> )
  488. # [14:32] <jgraham> OK, I will do that. In the meantime you could patch your copy by looking for e.name === code_or_object
  489. # [14:32] <jgraham> and removing it
  490. # [14:32] * Quits: fishd (~fishd@nat/google/x-ovcjzsqngrpguqrp) (Read error: Connection reset by peer)
  491. # [14:32] <annevk> yeah, I guess that is best for now
  492. # [14:32] * Joins: fishd (~fishd@nat/google/x-mzefnzxwlezlwzqa)
  493. # [14:36] * Joins: plainhao (~plainhao@208.75.85.237)
  494. # [14:43] * Ms2ger approves of removing that check
  495. # [14:43] * Joins: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com)
  496. # [14:45] * Joins: miketaylr (~miketaylr@206.217.92.186)
  497. # [14:55] <annevk> is X-Frame-Options discussed on some mailing list?
  498. # [14:55] <annevk> if the font community can be convinced of http://annevankesteren.nl/2011/02/from-origin it would be nice to replace it with that over time
  499. # [14:58] * Joins: Rik` (~Rik`@mozilla-paris-222-194.cnt.nerim.net)
  500. # [14:59] <jgraham> annevk: Does from-origin need multiple domains or wildcards or something?
  501. # [14:59] <jgraham> e.g. From-Origin *.example.com
  502. # [15:00] <jgraham> or rather http://*.example.com or something
  503. # [15:00] <annevk> I'd prefer not to
  504. # [15:01] <annevk> but it could be extended in such a way
  505. # [15:01] <annevk> or turned into that if that is what is needed
  506. # [15:01] <annevk> most of the time you simply want From-Origin: same
  507. # [15:05] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: brb)
  508. # [15:09] * Quits: reni__ (~reni@sedkit.inf.u-szeged.hu) (Remote host closed the connection)
  509. # [15:14] <annevk> oh EventSource, I dislike updating your tests so much
  510. # [15:14] * Joins: bfrohs (~bfrohs@smtp.forewordinternal.com)
  511. # [15:15] * Parts: bfrohs (~bfrohs@smtp.forewordinternal.com)
  512. # [15:15] * Joins: bfrohs (~bfrohs@smtp.forewordinternal.com)
  513. # [15:15] * Quits: bfrohs (~bfrohs@smtp.forewordinternal.com) (Client Quit)
  514. # [15:17] <Philip`> Could From-Origin be easily worked around for image hotlinking by doing <object data="data:text/html,<script>location='http://example.org/image'</script>"></object> ?
  515. # [15:17] * Joins: bfrohs (~bfrohs@smtp.forewordinternal.com)
  516. # [15:18] <annevk> no
  517. # [15:19] * Joins: mloki (~mloki__@x1-6-00-10-a7-28-f3-47.k765.webspeed.dk)
  518. # [15:19] <Philip`> Oh, I'm confused and thinking of it like Not-From-Origin or something
  519. # [15:20] <annevk> the name is not that great
  520. # [15:20] * Joins: boaz (~boaz@c-24-128-79-120.hsd1.ma.comcast.net)
  521. # [15:20] <Philip`> (where if the origin data has been stripped by redirects/etc then it's allowed)
  522. # [15:21] <annevk> no, the check is made relative to the context where the resource ends up in
  523. # [15:21] <annevk> redirects are futile
  524. # [15:22] <Philip`> Hmm, how is the context determined when you have multiple nested levels of embedding (each perhaps at different origins)?
  525. # [15:23] <annevk> the context is the API issuing the request
  526. # [15:23] * Quits: fef (~brandon@static-96-254-222-162.tampfl.fios.verizon.net) (Quit: Konversation terminated!)
  527. # [15:26] <annevk> oh joy
  528. # [15:26] <annevk> WebKit still has .URL
  529. # [15:27] <annevk> I heard somewhere you get more follow-up if you file a Chromium bug than a WebKit bug, is that still true?
  530. # [15:28] <annevk> Peter`, do you know?
  531. # [15:28] * Joins: BlurstOfTimes (~blurstoft@168.203.117.107)
  532. # [15:29] <Peter`> In my experience, yes
  533. # [15:29] <Peter`> although there's about 10k unconfirmed Chromium issues too
  534. # [15:29] <annevk> joy
  535. # [15:30] <annevk> given that WebKit still has not resolved the .URL issue I wonder if it is worth filing issues on resolving URLs and 2xx responses per Hixie's recent change
  536. # [15:31] <Peter`> Has it been filed somewhere?
  537. # [15:37] <annevk> https://bugs.webkit.org/show_bug.cgi?id=40899
  538. # [15:37] <annevk> ap apparently wanted to convince people to change the spec yet again but that has not happened and meanwhile Opera shipped with .url
  539. # [15:38] <annevk> I suspect nobody is using that attribute as it is fairly useless, but still...
  540. # [15:39] * Joins: saba (~foo@unaffiliated/saba)
  541. # [15:39] * Joins: benschwarz (~ben@59.167.185.148)
  542. # [15:41] <benschwarz> zcorpan: updates some issues.
  543. # [15:41] <benschwarz> now, sleep time. *whew
  544. # [15:41] <annevk> zcorpan, hey, I 386'd that for you and won
  545. # [15:42] <annevk> zcorpan, one Internet in return please
  546. # [15:43] <zcorpan> annevk: what did you win?
  547. # [15:44] * Quits: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com) (Remote host closed the connection)
  548. # [15:44] <annevk> the argument
  549. # [15:52] <annevk> AryehGregor, you around?
  550. # [15:55] * Quits: Xano (~bart@524BF837.cm-4-4d.dynamic.ziggo.nl) (Quit: Beer o'clock!)
  551. # [16:08] * Joins: ZombieLoffe (~e@unaffiliated/zombieloffe)
  552. # [16:08] * Quits: maikmerten (~merten@ls5dhcp197.cs.uni-dortmund.de) (Remote host closed the connection)
  553. # [16:12] * Joins: cooto (~Adium@pc-237-196-161-190.cm.vtr.net)
  554. # [16:12] * Quits: cooto (~Adium@pc-237-196-161-190.cm.vtr.net) (Client Quit)
  555. # [16:12] * Quits: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de) (Read error: Connection reset by peer)
  556. # [16:12] <zcorpan> hmm. there's a race condition with autoplay="" and events
  557. # [16:14] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  558. # [16:19] <annevk> I wish there was an easy way to check null/undefined handling across a large number of methods/attributes
  559. # [16:19] <annevk> but I guess it's just going to be manual labor of coming up with a large list
  560. # [16:20] <annevk> should have a set of summer interns for these things :)
  561. # [16:20] * Joins: FireFly (~firefly@unaffiliated/firefly)
  562. # [16:21] * Quits: Rik` (~Rik`@mozilla-paris-222-194.cnt.nerim.net) (Remote host closed the connection)
  563. # [16:23] * Joins: ttepasse (~ttepasse@ip-109-90-161-169.unitymediagroup.de)
  564. # [16:28] <Ms2ger> annevk, I can tell you what Gecko does ;)
  565. # [16:29] <annevk> Ms2ger, oh really?
  566. # [16:29] <annevk> Ms2ger, that would be sufficient I think
  567. # [16:29] <Ms2ger> null -> "", undefined -> "undefined"
  568. # [16:29] <annevk> right, and the exceptions are?
  569. # [16:30] <annevk> cause last I heard this is not 100% consistent
  570. # [16:30] <Ms2ger> DOMTokenList
  571. # [16:30] <Ms2ger> querySelector(All)
  572. # [16:31] <Ms2ger> createHTMLDocument
  573. # [16:31] <Ms2ger> textarea.wrap
  574. # [16:31] <Ms2ger> a.text
  575. # [16:31] <Ms2ger> And actually, I seem to have caused all of them
  576. # [16:32] <annevk> I could swear sicking said there was more to it
  577. # [16:32] <annevk> because those indeed do not sound like they need to be this way
  578. # [16:32] <Ms2ger> Hmm
  579. # [16:33] <annevk> maybe it is mostly with method calls
  580. # [16:33] <annevk> e.g. xhr.open() or xhr.send()
  581. # [16:34] <annevk> as specced xhr.send(null) / xhr.send() is different from xhr.send("")
  582. # [16:34] <annevk> former has no entity body latter has
  583. # [16:35] <zcorpan> annevk: send() isn't DOMString in the IDL, though, right?
  584. # [16:35] <zcorpan> so null isn't converted at all
  585. # [16:35] <Ms2ger> It's a UTF-8 string
  586. # [16:36] <annevk> it's void send([AllowAny] DOMString? data); atm
  587. # [16:36] <annevk> I guess DOMString? makes it not a DOMString...
  588. # [16:36] <annevk> or not fully one
  589. # [16:36] * Joins: danbri (~danbri@88.147.26.223)
  590. # [16:36] <zcorpan> what's [AllowAny]?
  591. # [16:37] <Ms2ger> I guess you'd get undefined -> null, null -> null for DOMString?
  592. # [16:37] <annevk> to make sure that Object does not throw a TypeError
  593. # [16:37] <AryehGregor> annevk, I'm around now.
  594. # [16:37] <annevk> just DOMString should do the undefined -> "undefined" and null -> "null" thing
  595. # [16:38] <annevk> AryehGregor, I wondered whether you tested setting string content attributes to null/undefined, but from looking at the source I got the impression you did not
  596. # [16:39] <AryehGregor> At the time I wrote my reflection tests, I hadn't read WebIDL, so I didn't know what the behavior was supposed to be, so I didn't test it.
  597. # [16:39] <AryehGregor> They could easily be updated, though.
  598. # [16:40] <annevk> the behavior isn't really defined yet
  599. # [16:40] <annevk> from what Ms2ger is saying though and looking at http://lists.w3.org/Archives/Public/public-webapi/2008May/0449.html I think maybe Gecko has been consistent here
  600. # [16:40] <Ms2ger> Looks like undefined -> "", null -> "" for cstrings
  601. # [16:41] * jgraham wishes this just follwed ECMAScript
  602. # [16:41] <jgraham> kind of late now I guess
  603. # [16:43] <annevk> I know null -> "" is needed for compat, so no
  604. # [16:44] <zcorpan> can't we specify DOMString? for stuff that need null -> "" ?
  605. # [16:44] * jgraham doesn't like animations
  606. # [16:45] <annevk> zcorpan, no
  607. # [16:46] <annevk> zcorpan, DOMString? means it can be set to null
  608. # [16:46] <jgraham> Specifically TCs involving animation that therefore take forever to run
  609. # [16:46] <annevk> with null being different from the empty string
  610. # [16:46] <zcorpan> annevk: yeah. so then say in prose that null means empty string
  611. # [16:46] <annevk> such as xhr.send() and the alternate style sheets API
  612. # [16:47] <annevk> zcorpan, there's different semantics between null and empty string so that would not work
  613. # [16:47] <annevk> zcorpan, oh
  614. # [16:47] <annevk> zcorpan, why not just have that be the behavior for "DOMString"
  615. # [16:47] <annevk> then you need not worry about defining that
  616. # [16:47] <annevk> http://lists.w3.org/Archives/Public/public-webapi/2007Jun/0011.html is where othermaciej states different attributes need different things
  617. # [16:47] <zcorpan> annevk: if it can be done everywhere, sure
  618. # [16:47] <annevk> maybe he was wrong
  619. # [16:48] <annevk> I have not found examples
  620. # [16:49] * Quits: boaz (~boaz@c-24-128-79-120.hsd1.ma.comcast.net) (Quit: boaz)
  621. # [16:49] <annevk> apart from what Ms2ger just mentioned, but those are bugs he introduced
  622. # [16:50] * Joins: boaz (~boaz@c-24-128-79-120.hsd1.ma.comcast.net)
  623. # [16:50] <Ms2ger> Looks like document.open has something else too
  624. # [16:52] <zcorpan> seems like foolip should file his CP as a bug
  625. # [16:53] <annevk> and then hixie should fix it before we get to vote on the other CP
  626. # [16:53] <annevk> and then I'd like to find out what happens
  627. # [16:53] <zcorpan> before or after, who cares
  628. # [16:53] <annevk> apparently, I do
  629. # [16:53] <zcorpan> heh
  630. # [16:53] <annevk> but not too much
  631. # [16:54] <zcorpan> time for weekend
  632. # [16:54] <zcorpan> see ya
  633. # [16:57] * Quits: zcorpan (~zcorpan@c-8d9ae355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
  634. # [16:57] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
  635. # [16:59] * Joins: justinhjohnson (~Adium@67-131-94-2.dia.static.qwest.net)
  636. # [17:00] <annevk> Opera will prolly change its defaults to do null -> "" for bindings as well
  637. # [17:03] * Joins: davidwalsh (~davidwals@75-135-74-55.dhcp.mdsn.wi.charter.com)
  638. # [17:05] <annevk> hopefully then heycam can change the spec and this can be resolved closed :)
  639. # [17:05] <annevk> or the other way around
  640. # [17:06] * Quits: Maurice (~ano@a80-101-46-164.adsl.xs4all.nl) (Quit: Disconnected...)
  641. # [17:12] <AryehGregor> Yay on ISSUE-41.
  642. # [17:16] <acroyear2> ??heroism
  643. # [17:18] <jgraham> Philip`: http://morepypy.blogspot.com/2011/02/pypy-faster-than-c-on-carefully-crafted.html
  644. # [17:23] <Philip`> Modern C compilers can inline across compilation units, then they'd dead-code-eliminate so the loop disappears entirely (which it looks like PyPy doesn't), and the shared library thing is mostly irrelevant since you can easily avoid writing performance-critical loops that cross shared library boundaries
  645. # [17:25] * Quits: justinhjohnson (~Adium@67-131-94-2.dia.static.qwest.net) (Ping timeout: 246 seconds)
  646. # [17:26] <Philip`> Also there's loads of decent profiling tools for C so you can easily find bottlenecks and then it's usually clear how to fix them, whereas profiling JITted code seems rare and you can never really tell what source changes will result in the desired machine code improvements
  647. # [17:26] <Philip`> So I think it's a silly comparison, like almost all "X is faster than C" comparisons :-p
  648. # [17:27] <jgraham> Philip`: They were very clear that it was a well-choden example :)
  649. # [17:27] <jgraham> *chosen
  650. # [17:30] * Quits: boaz (~boaz@c-24-128-79-120.hsd1.ma.comcast.net) (Quit: boaz)
  651. # [17:32] * Joins: chriseppstein (~chris@209.119.65.162)
  652. # [17:32] <Philip`> Yeah, I don't mean they're being misleading about what's being measured, they're just measuring something that seems pretty irrelevant for real code - there's not much value in being faster than poorly-designed C code
  653. # [17:32] * Joins: mhausenblas (~mhausenbl@188.141.67.15)
  654. # [17:35] <jgraham> Well, I don't think people are going to be chosing python over C for speed anytime soon
  655. # [17:35] * Philip` has forgotten what the context of this discussion was, anyway
  656. # [17:36] * jgraham too, I just remember that there was one and the link seemed relevant
  657. # [17:36] * Quits: Lachy (~Lachlan@pat-tdc.opera.com) (Quit: This computer has gone to sleep)
  658. # [17:36] <jgraham> s/I/he/ s/ber/bers/
  659. # [17:36] * Quits: erlehmann (~erlehmann@89.204.153.117) (Quit: Ex-Chat)
  660. # [17:37] * Joins: justinhjohnson (~Adium@72.166.146.186)
  661. # [17:39] * webr3 looks at http://www.momkai.com/ nice done in html/css/js site
  662. # [17:40] <jgraham> webr3: They should creatively leave my scrollbars alone
  663. # [17:40] <Philip`> I suppose I just get mildly irritated by performance comparisons vs C which always seem to miss the point by doing things that are inefficient C and could be easily worked around
  664. # [17:42] <Philip`> There are some things that are inefficient in C and hard to work around, like pointer aliasing or struct-of-array vs array-of-struct data structures (which can make a huge difference due to cache usage)
  665. # [17:42] <Philip`> so it'd be nice if other languages tackled that kind of thing, I think
  666. # [17:43] <Philip`> (C can't fix them because it's constrained by having given programmers access to pointers, so it can't e.g. rearrange a data structure without breaking lots of assumptions)
  667. # [17:43] * Quits: thiessenp (~thiessenp@changeme.ebuddy.com) (Quit: thiessenp)
  668. # [17:44] <jgraham> Philip`: IIRC you were suggesting that PyPy wasn't giving notable performance improvments given the rate of improvements in javascript
  669. # [17:44] * jgraham remembers the context at last
  670. # [17:45] <Philip`> Oh, that might have been it
  671. # [17:46] <Philip`> If they have an exponentially decaying graph of performance on a non-trivial benchmark suite then I'd be happy, I guess :-)
  672. # [17:48] <jgraham> http://speed.pypy.org/timeline/
  673. # [17:48] <jgraham> The graphs look more linear to me
  674. # [17:51] * Quits: saba (~foo@unaffiliated/saba) (Quit: leaving)
  675. # [17:52] * Joins: boaz (~boaz@64.119.153.2)
  676. # [17:53] <Philip`> The changes don't look quite as radical as e.g. in http://ieblog.members.winisp.net/images/Dean_MIX10_2.png
  677. # [17:55] * Joins: dave_levin (~dave_levi@74.125.59.76)
  678. # [17:56] * Quits: Kaelig (~Kaelig@mal35-2-82-228-177-211.fbx.proxad.net) (Remote host closed the connection)
  679. # [17:56] <AryehGregor> gsnedders, did you remember to ask people about Opera's innerText implementation? (How it differs from textContent, and whether it has known compat issues.)
  680. # [17:57] <jgraham> Philip`: Well some tests do. And there seems to be a similar amount of progress compared to CPython
  681. # [17:57] <gsnedders> AryehGregor: No, I got to sleep at 7am this morning and slept in
  682. # [17:57] <jgraham> as between IE8 and IE9
  683. # [17:57] <jgraham> Although I am not actually looking at the numbers, so that "similar amount" could be quite different
  684. # [17:58] * webr3 lols at these test results http://www.bestresizer.com/2011/01/sunspider-javascript-benchmark-results-in-my-browsers/ fire fox 4, chrome 10, ie... 6!
  685. # [17:58] * webr3 thinks somebody is trying to infer ie is a bag o shite to stay away from
  686. # [18:00] * bfrohs wonders why they used IE 6
  687. # [18:02] * Quits: BlurstOfTimes (~blurstoft@168.203.117.107) (Remote host closed the connection)
  688. # [18:02] * Quits: pesla (~pesla@188.202.125.121) (Ping timeout: 246 seconds)
  689. # [18:07] * Joins: mokush (~quassel@188.24.40.245)
  690. # [18:09] * Quits: eric_carlson (~eric_carl@2620:0:1b00:1191:217:f2ff:fe03:a2e) (Quit: eric_carlson)
  691. # [18:09] * eric_carlson_ is now known as eric_carlson
  692. # [18:17] * Joins: bga_ (~bga@ppp91-122-51-148.pppoe.avangarddsl.ru)
  693. # [18:17] * bga_ is now known as bga_|away
  694. # [18:17] * Joins: maikmerten (~maikmerte@port-92-201-27-24.dynamic.qsc.de)
  695. # [18:18] * bga_|away is now known as bga_
  696. # [18:26] <TabAtkins> othermaciej: Yeah, I've got some opinions. I think that overall, the structure of <device> is sound and useful, in that it's the API for requesting hardware access from the user. It hands back an object specialized for that hardware/access-mode, which is also good design.
  697. # [18:27] <TabAtkins> The only thing I would change in the overall design is making it just a JS constructor, not an HTML element. I don't see any value in making it an HTML element - it seems to have the same weirdness that <eventsource> did.
  698. # [18:27] <othermaciej> TabAtkins: it seems extremely silly to me, compared to having dedicated elements and interfaces for particular kinds of hardware
  699. # [18:28] <othermaciej> "requesting hardware access from the user" is not an abstraction that is useful at the UI level
  700. # [18:29] <TabAtkins> Hm, really? I'd naively think that saying "hey, the webpage wants to stream from your webcam" and "hey, the webpage wants to use your xbox controller" would be similar.
  701. # [18:31] * Quits: mhausenblas (~mhausenbl@188.141.67.15) (Quit: mhausenblas)
  702. # [18:31] <othermaciej> I imagine the xbox controller, like the mouse and keyboard, is not something that needs permission at all
  703. # [18:31] <othermaciej> for the camera, the UI I would imagine is something like this:
  704. # [18:32] <othermaciej> pops up a window that shows a preview of what the camera is currently seeing, with record and cancel buttons
  705. # [18:32] <othermaciej> if you have both front and back cameras, there is an affordance to switch, and the preview updates
  706. # [18:32] <othermaciej> if you start recording, there is a persistent "record light" type visual indicator in the UI
  707. # [18:32] <TabAtkins> That seems like the UI for <input type=file accept=video/*>, not for allowing the script access to the camera to do what it wishes.
  708. # [18:33] <othermaciej> what would you imagine?
  709. # [18:34] <othermaciej> that is the best I can think of so far
  710. # [18:34] * Quits: david_carlisle (~davidc@62.231.145.254) (Ping timeout: 276 seconds)
  711. # [18:34] <TabAtkins> I'm not completely certain, but I'd think it'd be more like a standard one-time-permission dialog, without an intrusive display or indicator that it is recording.
  712. # [18:34] <othermaciej> agree that it would be better to make more clear that the recording will continue indefinitely, but I am not sure how to do that (other than the record light telling you it hasn't stopped)
  713. # [18:35] <bfrohs> othermaciej: It's like access to your location (or anything else that requires permission). You can have the choice to allow this session, allow permanently, or deny
  714. # [18:35] <othermaciej> why would a permission dialog with text be better than something that shows you a preview of what the camera is showing, and lets you pick which camera to use?
  715. # [18:36] <TabAtkins> That can be a part of the permissions dialog, sure. It makes a lot of sense. But it shouldn't stay up after permission has been granted.
  716. # [18:36] <othermaciej> permission dialogs are the worst security UI ever designed
  717. # [18:36] <othermaciej> I didn't say it should stay up after
  718. # [18:37] <othermaciej> anyway, I don't see how any of this UI could meaningfully be shared with access to an RS232 port
  719. # [18:37] <othermaciej> (which I don't exactly see us leaping to do, but never say never, I suppose)
  720. # [18:37] <TabAtkins> I don't even know what an RS232 port is, so I can't comment. Right now I'm interested in cam/mic access, and usb HID access.
  721. # [18:37] <bfrohs> TabAtkins: http://en.wikipedia.org/wiki/RS-232
  722. # [18:38] <othermaciej> the result of throwing texty permissions dialogs at the user is this: <http://krebsonsecurity.com/2011/01/exploit-packs-run-on-java-juice/>
  723. # [18:38] <TabAtkins> The latter is what all video game controllers use.
  724. # [18:38] <AryehGregor> TabAtkins, http://www.xscables.com/prodimages/CC2045-06_LR.jpg
  725. # [18:38] <TabAtkins> AryehGregor: Ah, kk.
  726. # [18:38] <othermaciej> TabAtkins: I think Hixie invented <device> so he can piggy back controlling his model trains on camera/microphone access
  727. # [18:38] <othermaciej> it is a mostly obsolete thing in modern computers, no one plugs stuff into their serial port
  728. # [18:39] <TabAtkins> Hehe.
  729. # [18:39] <jgraham> But some USB devices could be more serial-like than camera-like
  730. # [18:39] <Philip`> (Game controllers shouldn't be accessed via the USB HID level of abstraction, they should be accessed via the joystick level)
  731. # [18:40] <TabAtkins> Philip`: Is that well-defined?
  732. # [18:40] <Philip`> It's as well-defined as keyboard and mouse input
  733. # [18:40] <Philip`> i.e. everybody makes up their own APIs for the same basic concepts
  734. # [18:40] * Quits: jeremyselier (~Jeremy@pro75-4-82-238-200-10.fbx.proxad.net) (Ping timeout: 240 seconds)
  735. # [18:40] <TabAtkins> That's less useful.
  736. # [18:40] <Philip`> so the web can make up its own API for joystick-like input devices too
  737. # [18:41] * bga_ is now known as bga_|away
  738. # [18:41] <AryehGregor> othermaciej, a permission dialog is all that stops a user from installing arbitrary executables on most platforms, so an attacker who can get a user to click through a scary permission dialog can already run arbitrary code.
  739. # [18:41] <Philip`> (though probably based partially on polling, rather than on events (like mouse/keyboard input))
  740. # [18:41] <AryehGregor> Except on iOS, Chrome OS, and similar platforms.
  741. # [18:41] <TabAtkins> Philip`: Eww, you don't want to run a video game on polling.
  742. # [18:42] <Philip`> Sure you do - every frame you look for the current controller stick position
  743. # [18:42] <othermaciej> AryehGregor: there is a difference between "install" and "run", but yes, I would agree that it's pretty terrible regardless
  744. # [18:42] <Philip`> and analogue trigger positions
  745. # [18:42] <Philip`> though buttons should presumably be done via events
  746. # [18:42] <AryehGregor> I think permission dialogs are about the only sensible thing to do for features that are useful but would infringe privacy if used without permission.
  747. # [18:43] <AryehGregor> At least I've never heard of a better way to handle it.
  748. # [18:43] <TabAtkins> Philip`: Note that buttons tend to be fully analog on modern controllers, too.
  749. # [18:43] <TabAtkins> On the 360, everything but Start and Back are analog.
  750. # [18:43] <AryehGregor> When it comes to purely technical attacks, you can do a fair amount of stuff on the user's behalf without asking them, because you can automatically judge what they'll want better than they can in many cases. But privacy issues hinge on consent.
  751. # [18:43] <AryehGregor> Hard to avoid making the UI hinge on consent.
  752. # [18:43] * Quits: mloki (~mloki__@x1-6-00-10-a7-28-f3-47.k765.webspeed.dk) (Quit: Leaving)
  753. # [18:44] * Quits: matjas (~matjas@91.182.15.61) (Read error: Connection reset by peer)
  754. # [18:44] <AryehGregor> I wish people wouldn't use permission dialogs for more technical stuff, though, the way (for instance) the Android Market does.
  755. # [18:44] <AryehGregor> And apparently the Chrome Web Store too.
  756. # [18:45] <othermaciej> even for privacy related things, permissions dialogs are poor if they don't let the user meaningfully understand the consequences of saying yes
  757. # [18:45] <AryehGregor> "This application will have the right to: [list of coarse-grained privileges that most users won't understand] Do you want to install?"
  758. # [18:45] <AryehGregor> That's true.
  759. # [18:45] <othermaciej> and even then, something user initiated is better than an app-initiated dialog
  760. # [18:45] * Quits: rimantas (~rimliu@93.93.57.193) (Quit: Leaving)
  761. # [18:46] * Quits: othermaciej (~mjs@c-24-6-209-6.hsd1.ca.comcast.net) (Quit: othermaciej)
  762. # [18:46] <TabAtkins> Anyway, back to video. I just don't want to force UI on page designers unless it's obvious and helpful. If the user is recording a video to submit a form, definitely pop up some UI that stays up while they're recording and is very obvious. But if the page is wanting to script the video stream (to do motion tracking, for example), I don't want to force the page to contain a confusing panel showing the raw video.
  763. # [18:46] <AryehGregor> Not sure about that.
  764. # [18:46] <AryehGregor> Why?
  765. # [18:46] <AryehGregor> Or really, what do you mean by user-initiated?
  766. # [18:46] * Joins: ap (~ap@2620:0:1b00:1191:226:4aff:fe14:aad6)
  767. # [18:47] <AryehGregor> Do you think the current standard geolocation UI could have been improved upon?
  768. # [18:47] <AryehGregor> Sites need some way of telling the user to let them use geolocation.
  769. # [18:47] <AryehGregor> One way or another.
  770. # [18:47] <Philip`> TabAtkins: It's not all analogue on at least more-than-a-few-months-old 360 controllers, as far as I'm aware - on e.g. Windows it's exposed as 6 analogue axes and about 10 digital buttons, I think
  771. # [18:48] <TabAtkins> Though, it might make sense to run with something smaller - have <device> render as a button that, when pressed, runs the permissions dialog, and then alters its UI to show when the page has the stream open or not.
  772. # [18:48] <TabAtkins> The page author can still display:none the thing once they get permission, but they don't need to if it's unintrusive.
  773. # [18:49] <AryehGregor> That's awkward.
  774. # [18:49] <TabAtkins> Philip`: I know for a fact that my 360 controller has two analog sticks, two analog triggers, and four analog face buttons. Not sure about two of the other buttons, or the dpad, but I suspect they're analog too.
  775. # [18:49] <AryehGregor> In a lot of cases, you'd expect users to give permanent camera access to a site.
  776. # [18:49] <AryehGregor> So it gets the <device> sticking around forever by default?
  777. # [18:49] <TabAtkins> Dunno what Windows has access to, but my Xbox gets them as analog at least.
  778. # [18:50] <TabAtkins> AryehGregor: Sure, yeah.
  779. # [18:50] <AryehGregor> Blech.
  780. # [18:50] <TabAtkins> It's either that, or the user doesn't know whether the site is actively recording or not.
  781. # [18:50] <Philip`> TabAtkins: http://en.wikipedia.org/wiki/Gamepad#Xbox_360 - "The pressure-sensitivity feature on the face buttons was removed"
  782. # [18:50] <AryehGregor> I think the geolocation API is okay. Add some discreet in-chrome UI whenever you visit the site that says what permissions it has and lets you change them.
  783. # [18:51] <bfrohs> Well, webcams typically have a hardware light that turns on when it's active
  784. # [18:51] <TabAtkins> Philip`: wut
  785. # [18:51] <AryehGregor> A little icon someplace.
  786. # [18:51] <bfrohs> And the OS also sometimes provides an icon noting it is in use
  787. # [18:52] <bfrohs> I don't think there needs to be an additional indication that the webcam is currently in use (only a dialog requesting permission to use)
  788. # [18:52] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
  789. # [18:52] <TabAtkins> Philip`: I stand corrected. Wtf.
  790. # [18:52] * Joins: dbaron (~dbaron@nat/mozilla/x-ifbneromlhstvamc)
  791. # [18:53] <Philip`> TabAtkins: See also e.g. http://google.com/codesearch/p?hl=en#PPdD7__6Qbg/src/xboxmsg.hpp&q=xboxmsg.hpp&l=44
  792. # [18:53] <Philip`> which has a load of 1-bit values for all the buttons
  793. # [18:54] <Philip`> (with the d-pad counting as four buttons)
  794. # [18:54] * Joins: othermaciej (~mjs@67.218.104.192)
  795. # [18:54] <Philip`> and only the triggers (8-bit) and sticks (16-bit) being analogue
  796. # [18:54] * Joins: matjas (~matjas@91.182.143.140)
  797. # [18:54] <Philip`> (The non-360 definition below has 8-bit buttons, presumably for the older controllers)
  798. # [18:55] * Quits: danbri (~danbri@88.147.26.223) (Remote host closed the connection)
  799. # [18:56] * Joins: mhausenblas (~mhausenbl@188.141.67.15)
  800. # [18:58] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  801. # [18:58] <Philip`> If game controllers were exposed to the web, I wonder if you'd need a permissions check before using the rumble feature
  802. # [18:58] <TabAtkins> You don't need permission to rumble anything I own.
  803. # [18:58] * Joins: sephr (~Eli@c-98-235-63-240.hsd1.pa.comcast.net)
  804. # [18:59] <Philip`> I suppose a malicious page unexpectedly rumbling is not much worse than them playing loud audio without permission
  805. # [19:00] * Joins: mdelaney (~mdelaney@66.109.104.37)
  806. # [19:05] * Joins: weinig (~weinig@2620:0:1b00:1191:223:32ff:feaf:7f36)
  807. # [19:07] * Quits: justinhjohnson (~Adium@72.166.146.186) (Ping timeout: 255 seconds)
  808. # [19:07] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  809. # [19:07] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Client Quit)
  810. # [19:07] * Quits: dbaron (~dbaron@nat/mozilla/x-ifbneromlhstvamc) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  811. # [19:08] * bga_|away is now known as bga_
  812. # [19:11] * bga_ is now known as bga_|away
  813. # [19:16] * Joins: xtoph (~xtoph@213.47.185.206)
  814. # [19:20] * Joins: dbaron (~dbaron@nat/mozilla/x-abdgwrakzutzvzdx)
  815. # [19:22] * Joins: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net)
  816. # [19:24] * Joins: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com)
  817. # [19:26] * webr3 wonders if the tipping point is when apps have to ask if they ask, then we're screwed
  818. # [19:26] * webr3 /s/they/they can
  819. # [19:26] * webr3 is now known as _o
  820. # [19:27] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (Quit: Leaving)
  821. # [19:30] * Joins: MikeSmith (~MikeSmith@rrcs-74-219-71-20.central.biz.rr.com)
  822. # [19:32] * Joins: Lachy (~Lachlan@cm-84.215.59.50.getinternet.no)
  823. # [19:33] * Joins: ap_ (~ap@17.246.16.136)
  824. # [19:34] * Quits: cying (~cying@c-24-23-135-168.hsd1.ca.comcast.net) (Quit: cying)
  825. # [19:36] * Joins: blooberry (~Miranda@c-98-246-171-127.hsd1.or.comcast.net)
  826. # [19:37] * Quits: ap (~ap@2620:0:1b00:1191:226:4aff:fe14:aad6) (Ping timeout: 260 seconds)
  827. # [19:37] * ap_ is now known as ap
  828. # [19:39] * Quits: sephr (~Eli@c-98-235-63-240.hsd1.pa.comcast.net) (Ping timeout: 240 seconds)
  829. # [19:46] * Quits: othermaciej (~mjs@67.218.104.192) (Quit: othermaciej)
  830. # [19:48] * Quits: mhausenblas (~mhausenbl@188.141.67.15) (Quit: mhausenblas)
  831. # [19:52] * Joins: sephr (~Eli@c-98-235-63-240.hsd1.pa.comcast.net)
  832. # [19:53] * Joins: Steve^ (~steve@cpc2-hari1-0-0-cust1111.hari.cable.virginmedia.com)
  833. # [19:56] * Joins: othermaciej (~mjs@17.246.18.67)
  834. # [19:57] * Quits: mdelaney (~mdelaney@66.109.104.37) (Quit: mdelaney)
  835. # [19:58] * Joins: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net)
  836. # [20:01] * Joins: jamesr_ (~jamesr@216.239.45.19)
  837. # [20:04] * Quits: MikeSmith (~MikeSmith@rrcs-74-219-71-20.central.biz.rr.com) (Ping timeout: 255 seconds)
  838. # [20:05] * Quits: jamesr_ (~jamesr@216.239.45.19) (Client Quit)
  839. # [20:07] * bga_|away is now known as bga_
  840. # [20:08] * Joins: jamesr_ (~jamesr@216.239.45.19)
  841. # [20:08] * Quits: jamesr_ (~jamesr@216.239.45.19) (Client Quit)
  842. # [20:12] * Joins: cying (~cying@173-228-29-224.dsl.static.sonic.net)
  843. # [20:12] * Quits: cying (~cying@173-228-29-224.dsl.static.sonic.net) (Client Quit)
  844. # [20:12] * Joins: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0)
  845. # [20:13] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  846. # [20:15] <Hixie> othermaciej: a number of the issues on http://dev.w3.org/html5/status/issue-status.html that are in state "Call for Alternate/Counter Proposals" don't have a deadline
  847. # [20:15] <Hixie> othermaciej: is that intentional?
  848. # [20:16] <Hixie> annevk: i highly recommend writing a CCP for http://lists.w3.org/Archives/Public/public-html/2011Jan/0239.html -- i'll help out if you want
  849. # [20:16] * Hixie is utterly swamped dealing with all these CPs and would really welcome the help
  850. # [20:18] * Quits: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0) (Read error: Operation timed out)
  851. # [20:21] <AryehGregor> Hixie, you could assign me to help with some of them if you want, if that's okay with Google.
  852. # [20:22] <Hixie> sure
  853. # [20:22] <Hixie> the issue-status file is getting really hard to read, with all the issues pending decisions and so on
  854. # [20:22] <Hixie> and weird issues like -31 that I don't understand the status of
  855. # [20:24] * Quits: smaug____ (~chatzilla@dsl-hkibrasgw4-fe45dc00-171.dhcp.inet.fi) (Ping timeout: 276 seconds)
  856. # [20:26] * Quits: ap (~ap@17.246.16.136) (Read error: Connection reset by peer)
  857. # [20:28] * Joins: ap (~ap@2620:0:1b00:1191:226:4aff:fe14:aad6)
  858. # [20:29] * Quits: Ms2ger (~Ms2ger@91.181.219.174) (Quit: nn)
  859. # [20:31] <AryehGregor> jgraham, annevk, or whoever: could you figure out what innerText does in Opera and tell me, and also tell me whether there are known compat issues with it?
  860. # [20:31] * Quits: kal-EL_ (~jor-EL@host141-65-dynamic.245-95-r.retail.telecomitalia.it) (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014])
  861. # [20:32] <AryehGregor> It seems like it's the simplest possible behavior that won't have serious compat problems.
  862. # [20:33] <gsnedders> AryehGregor: Including script elements is the only site compat bug I can find with it
  863. # [20:34] * AryehGregor adds that to his tests
  864. # [20:34] <AryehGregor> Oh, wait, it's already there.
  865. # [20:34] * Joins: justinhjohnson (~Adium@67-131-94-2.dia.static.qwest.net)
  866. # [20:34] <AryehGregor> What site is the compat problem with?
  867. # [20:35] * Joins: mhausenblas (~mhausenbl@188.141.67.15)
  868. # [20:35] <gsnedders> AryehGregor: http://dirty.ru
  869. # [20:38] * gsnedders finds a line of code he'd missed before and has the whole thing start to make sense
  870. # [20:39] * Joins: david_carlisle (~davidc@dcarlisle.demon.co.uk)
  871. # [20:39] * AryehGregor doesn't see where the compat issue comes from, since it doesn't seem to use innerText in Opera except where it uses textContent in Firefox, so does the issue occur in Firefox too?
  872. # [20:39] <AryehGregor> What were the steps to reproduce?
  873. # [20:40] <gsnedders> It's an old bug report, it's entirely possible the site doesn't use it any more
  874. # [20:41] <gsnedders> Yeah, doesn't appear to reproduce any more
  875. # [20:41] <hsivonen> I'm still shocked that <devide> in being designed on the level on waht kind of harware bus is being used instead of what type of device is being used
  876. # [20:42] <TabAtkins> It's not being "designed", at least. It was "written in a throwaway proposal by Hixie that he put into the spec".
  877. # [20:43] <gsnedders> AryehGregor: CDATA blocks gets <[!CDATA[…]]> put around them, <br> causes \n, and that's it pretty much. There's some odd code for lastDescendent which may well do broken stuff for innerText.
  878. # [20:44] <AryehGregor> Weird, why would you need <[!CDATA[...]]> around CDATA blocks?
  879. # [20:45] <AryehGregor> Actually, how can you even get CDATA blocks in text/html?
  880. # [20:45] * Quits: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.13/20110103133706])
  881. # [20:46] <TabAtkins> I didn't think the concept even existed.
  882. # [20:46] <gsnedders> AryehGregor: I guess it's become it's what the innerHTML stuff does, pretty much
  883. # [20:46] * Joins: MrOpposite (~mropposit@unaffiliated/mropposite)
  884. # [20:46] <AryehGregor> But how can you even get a CDATA node in the DOM?
  885. # [20:46] <AryehGregor> Is it possible from parsing text/html?
  886. # [20:46] <gsnedders> AryehGregor: It's the same code used for both HTML and XML, and {inner,outer}{Text,HTML}.
  887. # [20:46] <AryehGregor> Ah.
  888. # [20:47] <gsnedders> AryehGregor: You can get it from DOM manipulation.
  889. # [20:47] <AryehGregor> Well, I assume there's no compat risk there, so I won't spec it.
  890. # [20:47] <gsnedders> I think we output end tags in a few cases with lastDescendent, but that just seems buggy
  891. # [20:48] <Hixie> hsivonen: there's nothing in <device> designed to be hardware-bus-related. The stuff in the spec other than "media" is just throwaway filler for the moment (indeed the spec says so somewhere, iirc)
  892. # [20:55] * Joins: jwalden (~waldo@nat/mozilla/x-axetglektpwfqgzc)
  893. # [20:56] <AryehGregor> gsnedders, do you know how I can actually set the contents of a Selection in Opera? I can't figure out any way that works.
  894. # [20:57] <AryehGregor> Whatever I do seems to produce selection.rangeCount == 0.
  895. # [21:02] * Quits: mhausenblas (~mhausenbl@188.141.67.15) (Quit: mhausenblas)
  896. # [21:07] <hsivonen> it seems that security experts can't decide which plug-in (Java, Flash Player, Adobe Reader) is the "top" avenue for exploits
  897. # [21:08] <othermaciej> Hixie: I'll fix issue-status shortly - setting up new computer at the moment
  898. # [21:09] <Hixie> cool
  899. # [21:09] <othermaciej> finally, I should have build times less than an hour
  900. # [21:11] <hsivonen> othermaciej: thanks for finally deciding issue 41
  901. # [21:11] <othermaciej> you're welcome, though Sam deserves the thanks more than me
  902. # [21:11] <karlcow> http://www.w3.org/2001/tag/2011/02/security-web.html
  903. # [21:11] <othermaciej> I am surprised that posting the 41 decision did not spawn a flamewar
  904. # [21:11] <karlcow> http://www.w3.org/2001/tag/2010/10/interaction-examples.html
  905. # [21:12] <gsnedders> AryehGregor: Where's your TC?
  906. # [21:12] <AryehGregor> gsnedders, http://aryeh.name/spec/innertext/innertext.html
  907. # [21:12] <AryehGregor> Er.
  908. # [21:12] <AryehGregor> http://aryeh.name/spec/innertext/test/innerText.html
  909. # [21:13] <hsivonen> karlcow: gotta love URLs thathave two years
  910. # [21:13] <hsivonen> a decade apart even
  911. # [21:14] <karlcow> hsivonen: I don't know. I never look at the date as something meaningful. For me there are just identifier.
  912. # [21:14] <gsnedders> AryehGregor: I'm confused what you're trying to do there
  913. # [21:14] <AryehGregor> gsnedders, to do where?
  914. # [21:16] <gsnedders> AryehGregor: You create a range consisting of #test, select that, then collapse in document.body
  915. # [21:16] <AryehGregor> Um, wait.
  916. # [21:16] <AryehGregor> Look now.
  917. # [21:16] <AryehGregor> I was experimenting. :)
  918. # [21:19] <gsnedders> Okay, I don't understand what's going on in that case either.
  919. # [21:19] <AryehGregor> I'm just creating a Range for what I want to be selected, using removeAllRanges() on the Selection, then adding the range.
  920. # [21:19] <AryehGregor> So that Range should be what's selected. No?
  921. # [21:19] <gsnedders> Yeah.
  922. # [21:19] <gsnedders> In simple TCs, it works fine
  923. # [21:24] <gsnedders> Oh well, I'm outta here.
  924. # [21:24] * Joins: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0)
  925. # [21:29] * abarth is now known as abarth|lunch
  926. # [21:31] * Joins: Anti-X (~loriisacu@131-26-8.connect.netcom.no)
  927. # [21:32] * Quits: torvalamo (~loriisacu@c3373BF51.dhcp.bluecom.no) (Ping timeout: 240 seconds)
  928. # [21:40] * Quits: david_carlisle (~davidc@dcarlisle.demon.co.uk) (Quit: david_carlisle)
  929. # [21:40] * Quits: plainhao (~plainhao@208.75.85.237) (Quit: plainhao)
  930. # [21:42] * bga_ is now known as bga_|away
  931. # [21:45] * bga_|away is now known as bga_
  932. # [21:51] * Quits: blooberry (~Miranda@c-98-246-171-127.hsd1.or.comcast.net) (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org)
  933. # [21:54] * Quits: xtoph (~xtoph@213.47.185.206)
  934. # [21:57] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Quit: Computer has gone to sleep.)
  935. # [22:04] * Joins: BlurstOfTimes (~blurstoft@168.203.117.107)
  936. # [22:05] * Joins: MrDoublesite (~mropposit@unaffiliated/mropposite)
  937. # [22:05] * MrOpposite is now known as Guest17912
  938. # [22:05] * MrDoublesite is now known as MrOpposite
  939. # [22:08] * Quits: Guest17912 (~mropposit@unaffiliated/mropposite) (Ping timeout: 240 seconds)
  940. # [22:11] * Quits: othermaciej (~mjs@17.246.18.67) (Remote host closed the connection)
  941. # [22:12] * Joins: othermaciej (~mjs@2620:0:1b00:1191:5ab0:35ff:fefd:2fad)
  942. # [22:19] * Quits: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0) (Remote host closed the connection)
  943. # [22:21] * abarth|lunch is now known as abarth
  944. # [22:25] * Joins: mdelaney (~mdelaney@2620:0:1b00:1191:d69a:20ff:febf:89a0)
  945. # [22:26] * Quits: othermaciej (~mjs@2620:0:1b00:1191:5ab0:35ff:fefd:2fad) (Quit: othermaciej)
  946. # [22:29] * Quits: ROBOd (~robod@109.96.205.104) (Quit: .)
  947. # [22:30] * Quits: jacobolus (~jacobolus@c-24-128-190-29.hsd1.ma.comcast.net) (Remote host closed the connection)
  948. # [22:33] <TabAtkins> Argh, IE is changing list bullet behavior between 8 and 9.
  949. # [22:34] <TabAtkins> I suppose that means that there isn't a significant compat impact in changing the behavior, which is good for me, but still.
  950. # [22:34] <TabAtkins> Makes it weird to spec.
  951. # [22:36] * Quits: miketaylr (~miketaylr@206.217.92.186) (Quit: miketaylr)
  952. # [22:43] <benschwarz> here, I be
  953. # [22:47] * Joins: jacobolus (~jacobolus@c-24-128-190-29.hsd1.ma.comcast.net)
  954. # [22:47] * Joins: sicking (~chatzilla@nat/mozilla/x-pjqnypbrmxiwkpft)
  955. # [22:49] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  956. # [22:55] * Joins: othermaciej (~mjs@2620:0:1b00:1191:5ab0:35ff:fefd:2fad)
  957. # [22:56] * Joins: zcorpan (~zcorpan@c-8d9ae355.410-6-64736c14.cust.bredbandsbolaget.se)
  958. # [23:03] * Joins: ormaaj (~quassel@174-20-134-231.mpls.qwest.net)
  959. # [23:04] * Parts: ormaaj (~quassel@174-20-134-231.mpls.qwest.net) ("http://quassel-irc.org - Chat comfortably. Anywhere.")
  960. # [23:07] * Joins: othermaciej_ (~mjs@17.246.18.67)
  961. # [23:08] * Quits: othermaciej (~mjs@2620:0:1b00:1191:5ab0:35ff:fefd:2fad) (Read error: Operation timed out)
  962. # [23:08] * othermaciej_ is now known as othermaciej
  963. # [23:13] * Quits: justinhjohnson (~Adium@67-131-94-2.dia.static.qwest.net) (Ping timeout: 250 seconds)
  964. # [23:13] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Remote host closed the connection)
  965. # [23:15] <benschwarz> zcorpan: so, we should use the embedded-opentype string after all?
  966. # [23:19] <zcorpan> benschwarz: well, dunno - if you want ie9 to use woff instead of eot, then don't use embedded-opentype
  967. # [23:20] <zcorpan> benschwarz: however, using 'eot' or 'ie9-please-use-woff-instead' makes the style sheet invalid
  968. # [23:20] * Quits: maikmerten (~maikmerte@port-92-201-27-24.dynamic.qsc.de) (Remote host closed the connection)
  969. # [23:21] <zcorpan> i guess the main benefit with ie9 using woff is that woff is compressed, but you could configure the server to gzip the eot font and get much the same result
  970. # [23:29] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  971. # [23:29] * Quits: BlurstOfTimes (~blurstoft@168.203.117.107) (Remote host closed the connection)
  972. # [23:34] * Joins: jamesr_ (~jamesr@nat/google/x-qryxwhrppjwntoxh)
  973. # [23:35] * Quits: boaz (~boaz@64.119.153.2) (Quit: boaz)
  974. # [23:40] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Read error: Connection reset by peer)
  975. # [23:40] * Joins: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
  976. # [23:40] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
  977. # [23:40] * Joins: riven (~riven@pdpc/supporter/professional/riven)
  978. # [23:41] * _o is now known as webr3
  979. # [23:41] * Joins: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
  980. # [23:43] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Max SendQ exceeded)
  981. # [23:44] * bga_ is now known as bga_|away
  982. # [23:50] * Quits: jacobolus (~jacobolus@c-24-128-190-29.hsd1.ma.comcast.net) (Remote host closed the connection)
  983. # [23:52] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  984. # [23:56] <zcorpan> weird bug in chrome (or i guess recent webkit - works as intended in safari 5) http://software.hixie.ch/utilities/js/live-dom-viewer/saved/826
  985. # [23:57] <zcorpan> devtools shows 'clear:left' in inherited styles
  986. # [23:58] <TabAtkins> Works as intended in Chrome9.
  987. # [23:59] <zcorpan> i'm using up-to-date dev
  988. # Session Close: Sat Feb 05 00:00:00 2011

The end :)