/irc-logs / mozilla / #accessibility / 2015-09-01 / end

Options:

Previous day, Next day

  1. # Session Start: Tue Sep 01 00:00:00 2015
  2. # Session Ident: #accessibility
  3. # [00:27] * Quits: Jayflux (Jayflux@moz-ua94ue.dsl.as9105.com) (Quit: Leaving)
  4. # [00:51] <smaug> tbsaunde: ok, any example which might actually trigger the code path which needs accessibleAtPoint?
  5. # [00:51] <smaug> or extents
  6. # [00:51] <satdav> Can anyone help by being a moderator at my event tomorrow https://etherpad.mozilla.org/testday-20150901
  7. # [00:52] * Quits: zippo^ (Zippo@moz-73oup6.ip.telfort.nl) (Quit: Leaving)
  8. # [00:52] * wlach is now known as wlach|afk
  9. # [00:52] * Quits: ~davidb (davidb@moz-icpgef.dsl.bell.ca) (Quit: Blah blah blah)
  10. # [00:53] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
  11. # [01:00] <smaug> tbsaunde: ok, some code for review. Please let me know where else I can help :)
  12. # [01:31] <@tbsaunde> smaug: cool
  13. # [01:32] <@tbsaunde> smaug: yeah, some navigation with orca on a simple page can trigger it, but generally if I'm confident something is correct I push it then test Orca because when Orca doesn't work we can get joani e to tell us why
  14. # [01:33] <@tbsaunde> (space to not highlight)
  15. # [01:50] <smaug> k
  16. # [02:11] * Quits: smaug (chatzilla@moz-kn7naf.elisa-laajakaista.fi) (Ping timeout: 121 seconds)
  17. # [02:13] * Joins: lsocks_ (lsocks@moz-bgt.g5e.243.162.IP)
  18. # [02:27] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: Textual IRC Client: www.textualapp.com)
  19. # [02:33] * Quits: @lsocks (sid340@moz-061fqd.0j4i.jtu0.0101.2620.IP) (NickServ (RECOVER command used by lsocks_))
  20. # [02:33] * lsocks_ is now known as lsocks
  21. # [02:33] * ChanServ sets mode: +o lsocks
  22. # [02:51] * stephend is now known as stephend|afk
  23. # [03:01] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
  24. # [03:08] * Quits: satdav (uid15780@moz-sljh5r.tooting.irccloud.com) (Quit: Connection closed for inactivity)
  25. # [04:40] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: My Mac has gone to sleep. ZZZzzz…)
  26. # [04:49] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
  27. # [04:56] * Quits: alex_mayorga (uid4422@moz-lffp2u.ealing.irccloud.com) (Quit: Connection closed for inactivity)
  28. # [05:21] * Quits: ugly_cat_ (quassel@moz-0s097l.wa.comcast.net) (Ping timeout: 121 seconds)
  29. # [05:22] * Joins: ugly_cat (quassel@moz-0s097l.wa.comcast.net)
  30. # [06:23] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: My Mac has gone to sleep. ZZZzzz…)
  31. # [06:45] * Tomcat|Afk is now known as Tomcat|sheriffduty
  32. # [06:58] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
  33. # [07:18] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: Textual IRC Client: www.textualapp.com)
  34. # [07:23] * Joins: ioanachiorean (ioanachiore@moz-q23.52n.2.5.IP)
  35. # [10:06] * Joins: satdav (uid15780@moz-sljh5r.tooting.irccloud.com)
  36. # [11:13] * Quits: Yakulu (Yakulu@moz-8a4.fkm.194.78.IP) (Quit: WeeChat 1.3)
  37. # [11:17] * Joins: Yakulu (Yakulu@moz-8a4.fkm.194.78.IP)
  38. # [11:44] * Quits: a-865 (fmcz@moz-ipbm7f.cable.mindspring.com) (Ping timeout: 121 seconds)
  39. # [11:51] * Joins: sixtyten (quassel@moz-ulpjmu.sentoris.de)
  40. # [13:25] * Quits: sixtyten (quassel@moz-ulpjmu.sentoris.de) (A TLS packet with unexpected length was received.)
  41. # [13:28] * Joins: sixtyten (quassel@moz-ulpjmu.sentoris.de)
  42. # [14:05] * Joins: Justin_o (uid14648@moz-c6vipl.ealing.irccloud.com)
  43. # [14:07] * Quits: sixtyten (quassel@moz-ulpjmu.sentoris.de) (A TLS packet with unexpected length was received.)
  44. # [14:17] * Joins: sixtyten (quassel@moz-ulpjmu.sentoris.de)
  45. # [14:34] * Joins: davidb (davidb@moz-i5m.05u.207.66.IP)
  46. # [14:34] * ChanServ sets mode: +qo davidb davidb
  47. # [14:34] <~davidb> heyo
  48. # [14:34] * davidb is now known as davidb|afk
  49. # [14:43] * davidb|afk is now known as davidb
  50. # [14:44] * ~davidb stalks an espresso
  51. # [14:44] * davidb is now known as davidb|afk
  52. # [14:47] <@firebot> cbook@mozilla.com changed the Resolution on bug 1199884 from --- to FIXED.
  53. # [14:47] <@firebot> cbook@mozilla.com changed the Status on bug 1199884 from NEW to RESOLVED.
  54. # [14:47] <@firebot> cbook@mozilla.com set status-firefox43 to fixed on bug 1199884.
  55. # [14:48] <@firebot> cbook@mozilla.com changed the Target Milestone on bug 1199884 from --- to mozilla43.
  56. # [14:48] <@firebot> https://bugzil.la/1199884 — FIXED, eitan@monotonous.org — [AccessFu] Landmark traversal rule does not work
  57. # [14:48] * davidb|afk is now known as davidb
  58. # [14:58] * Quits: satdav (uid15780@moz-sljh5r.tooting.irccloud.com) (Quit: Connection closed for inactivity)
  59. # [15:41] * Joins: yzen (yzen@moz-i5m.05u.207.66.IP)
  60. # [15:41] * ChanServ sets mode: +o yzen
  61. # [15:49] * davidb is now known as davidb|afk
  62. # [16:00] * Joins: clown (clown@moz-v6m.c3o.211.205.IP)
  63. # [16:09] * wlach|afk is now known as wlach
  64. # [16:21] * Joins: a-865 (fmcz@moz-ipbm7f.cable.mindspring.com)
  65. # [16:29] * davidb|afk is now known as davidb
  66. # [16:33] * Joins: smaug (chatzilla@moz-7dv8tf.bb.dnainternet.fi)
  67. # [17:00] * Joins: alex_mayorga (uid4422@moz-lffp2u.ealing.irccloud.com)
  68. # [17:01] * wlach is now known as wlach|mtg
  69. # [17:04] * Tomcat|sheriffduty is now known as Tomcat|afk
  70. # [17:08] * Joins: anvk (anovak@moz-040.mvk.11.204.IP)
  71. # [17:38] * smaug is now known as smaugAfk
  72. # [17:48] * davidb is now known as davidb|afk
  73. # [18:02] * stephend|afk is now known as stephend|mtg
  74. # [18:04] * wlach|mtg is now known as wlach|lunch
  75. # [18:25] * davidb|afk is now known as davidb
  76. # [18:30] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
  77. # [18:37] * Quits: @yzen (yzen@moz-i5m.05u.207.66.IP) (Quit: leaving... bye!)
  78. # [18:40] * davidb is now known as davidb|afk
  79. # [18:41] * Joins: yzen (yzen@moz-i5m.05u.207.66.IP)
  80. # [18:41] * ChanServ sets mode: +o yzen
  81. # [18:50] * Joins: fredw (Icedove@moz-fv4cpk.abo.wanadoo.fr)
  82. # [18:52] * davidb|afk is now known as davidb
  83. # [19:00] * wlach|lunch is now known as wlach
  84. # [19:19] * smaugAfk is now known as smaug
  85. # [19:30] * stephend|mtg is now known as stephend
  86. # [19:31] * davidb is now known as davidb|afk
  87. # [19:32] * Quits: fredw (Icedove@moz-fv4cpk.abo.wanadoo.fr) (Client exited)
  88. # [19:35] * davidb|afk is now known as davidb
  89. # [20:16] <@tbsaunde> smaug: hm, couldn't we share code between Bounds() and Extents() and AccessibleAtPoint() and ChildAtPoint()? does anything use those earlier messages?
  90. # [20:24] <smaug> tbsaunde: well, not sure how
  91. # [20:24] <smaug> what you mean with "earlier messages" ?
  92. # [20:25] <smaug> tbsaunde: also, the methods are quite simple anyhow, so I was thinking it is better to keep the ipc and non-ipc code to look as similar as possible
  93. # [20:25] <smaug> nothing uses Bounds() IPC message atm
  94. # [20:26] <smaug> er, wait
  95. # [20:26] <smaug> I think something does
  96. # [20:26] <smaug> hmm, no
  97. # [20:26] <smaug> nothing uses it now, as far as I see
  98. # [20:26] <@tbsaunde> smaug: yeah, I meant earlier as in code was added earlier
  99. # [20:28] <smaug> tbsaunde: windows backend would use Bounds() as far as I see
  100. # [20:28] <@firebot> New Core - Disability Access APIs bug 1200755 filed by lorien@lorienhu.com.
  101. # [20:28] <@firebot> https://bugzil.la/1200755 — NEW, nobody@mozilla.org — DocAccessibleChild RecvBounds always returns false
  102. # [20:29] <smaug> and also ChildAtPoint()
  103. # [20:29] <smaug> so we kind of do need these different variants
  104. # [20:29] <smaug> or make larger changes to the code
  105. # [20:29] * Quits: ioanachiorean (ioanachiore@moz-q23.52n.2.5.IP) (Ping timeout: 121 seconds)
  106. # [20:31] <@tbsaunde> smaug: well for bounds you could just pass false for aWantScreenRelative
  107. # [20:32] <smaug> that is true
  108. # [20:32] <@tbsaunde> (in windows stuff) and same for ChildAtPoint
  109. # [20:32] <smaug> indeed, I guess I could remove those old methods from ipc level
  110. # [20:32] <smaug> but keep them in Proxy
  111. # [20:33] <@tbsaunde> that'd be one approach yeah
  112. # [20:36] * Quits: clown (clown@moz-v6m.c3o.211.205.IP) (Quit: Leaving.)
  113. # [20:41] * Joins: clown (clown@moz-v6m.c3o.211.205.IP)
  114. # [20:41] * clown is now known as clown_mtg
  115. # [21:00] * stephend is now known as stephend|mtg
  116. # [21:00] * stephend|mtg is now known as stephend|lunch
  117. # [21:02] <smaug> tbsaunde: want to see a new patch or could I just make that rather trivial change after you've done the review?
  118. # [21:02] <smaug> well, I'll upload a new patch anyhow
  119. # [21:02] <smaug> since I always upload the patch I'll land
  120. # [21:10] <@tbsaunde> smaug: either way
  121. # [21:13] <smaug> tbsaunde: ok, let me pause my reviewing and update the patch
  122. # [21:13] <@tbsaunde> smaug: actually hold off I realized some other things (just went back to looking at patch)
  123. # [21:14] <@tbsaunde> smaug: first in refAccessibleAtPointerHelper in the proxy case you missed increasing the ref count of the AtkObject
  124. # [21:14] <smaug> oh, indeed
  125. # [21:15] * smaug is so not familiar with atk objects
  126. # [21:15] <@tbsaunde> smaug: for the most part they are just gobject's, but I can't really recommend becoming familiar with gobject unless you like lame reimplementaitons of C++ in C
  127. # [21:17] <@tbsaunde> smaug: also the case that the AtkObject is for a AccessibleWrap*, but the child is a proxy, but I'd say leave that for a follow up
  128. # [21:17] <@tbsaunde> I hope nobody relies on that working
  129. # [21:18] <smaug> hmm, we don't deal with that kind of cases elsewhere
  130. # [21:19] <@tbsaunde> smaug: like where else?
  131. # [21:19] <@tbsaunde> but yes I suspect you are right there are similar bugs elsewhere
  132. # [21:20] * smaug thinks
  133. # [21:21] <smaug> oh, hmm, ChildAtPoint wants EWhichChildAtPoint
  134. # [21:21] <smaug> I guess I need to add that to AccessibleAtPoint
  135. # [21:21] * davidb is now known as davidb|afk
  136. # [21:25] <@tbsaunde> smaug: fwiw the ChildAtPoint msg already supports that
  137. # [21:26] <smaug> yup, I just moved it to AccessibleAtPoint and removed ChildAtPoint
  138. # [21:26] <@tbsaunde> ah thanks
  139. # [21:27] * davidb|afk is now known as davidb
  140. # [21:27] <smaug> tbsaunde: so I don't even know how to deal with the case when just the child is for proxy
  141. # [21:28] <smaug> we can't use ChildAtPoint on parent side then
  142. # [21:28] <smaug> but need to use Atk API, right
  143. # [21:28] <smaug> or somethin
  144. # [21:30] <@tbsaunde> smaug: no, I think you could do it by looking if there is children / if the result of ChildAtPoint() has children depending on if you want the deepest one and then there's a thing on OuterDocAccessible to get the document for that OuterDocAccessible, and you could then ask it for the child at point
  145. # [21:31] <@tbsaunde> smaug: but I suspect in practice this doesn't really matter so probably good to make it a low priority
  146. # [21:31] <@tbsaunde> because it would mean you have some accessible for something in chrome and you expect to get accessible for content
  147. # [21:33] <smaug> didn't understand that :)
  148. # [21:33] <smaug> ChildAtPoint returns Accessible*
  149. # [21:33] <smaug> hmm
  150. # [21:34] <smaug> oh oh, I'm mixing Accessible* and AccessibleWrap* in my mind, at least
  151. # [21:34] <@tbsaunde> smaug: well Acccessible* and AcessibleWrap* are basically the same
  152. # [21:34] <@firebot> dbolter@mozilla.com changed the Assignee on bug 1200755 from nobody@mozilla.org to lorien@lorienhu.com.
  153. # [21:34] <@firebot> https://bugzil.la/1200755 — NEW, lorien@lorienhu.com — DocAccessibleChild RecvBounds always returns false
  154. # [21:34] <smaug> ChildAtPoint returns Accessible*
  155. # [21:35] <smaug> so how would you check if it actually isn't that, but some AtkObject with proxy, or something
  156. # [21:35] <smaug> but ok, I clearly don't know this part of the setup for ipc
  157. # [21:35] <@tbsaunde> smaug: ok so first the case of eDirectChild is fairly easy if the accessible is an OuterDocAccessible and has no children then you try and get the proxy for its child document (there is a method for that on OuterDocAccessible*
  158. # [21:36] <@tbsaunde> if its not an outer doc, or it has children then you don't need to worry about this
  159. # [21:37] <@tbsaunde> and you can just call ChildAtPoint on the accessible
  160. # [21:37] <@tbsaunde> if you need the deepest child then the setup is similar
  161. # [21:37] <@tbsaunde> call ChildAtPoint on the accessible you start with
  162. # [21:38] <@tbsaunde> see if you need to care in the say way you did for eDirectChild is outer doc accessible and has no children
  163. # [21:38] <@firebot> dmajor@bugmail.cc requested needinfo from dbolter@mozilla.com on bug 1170049.
  164. # [21:38] <@firebot> https://bugzil.la/1170049 — NEW, tbsaunde+mozbugs@tbsaunde.org — [e10s] crash in mozilla::a11y::DocAccessibleParent::Destroy()
  165. # [21:38] <smaug> I don't claim I understand the setup now :)
  166. # [21:38] <@tbsaunde> if you do then get the proxy for the document child and then handle the same way as if you started with a proxy
  167. # [21:39] <smaug> so I call ChildAtPoint on parent side
  168. # [21:39] <@tbsaunde> smaug: well, I guess this has more to do with accessibility than ipc, but ok
  169. # [21:39] <smaug> I get some result
  170. # [21:40] <smaug> if that result returns true on OuterDocAccessible(), check whether it has children
  171. # [21:40] <smaug> if not, something
  172. # [21:41] <@tbsaunde> smaug: uh no?
  173. # [21:42] <@tbsaunde> if you call Accessible::ChildAtPoint with eDirectChild if you get something then it must be the correct answer
  174. # [21:42] <@tbsaunde> if you need the deepest child then you need to look at the proxies that are the children of that result
  175. # [21:42] <smaug> I don't know what "deepest child" means
  176. # [21:43] <@tbsaunde> smaug: so you have a tree of objects right?
  177. # [21:43] <smaug> yes
  178. # [21:43] <@tbsaunde> deepest means the farthest from the root of the tree
  179. # [21:43] <smaug> and in which case would I need that?
  180. # [21:44] <@tbsaunde> when the platform wants it
  181. # [21:44] <@tbsaunde> but for atk I don't think it ever does
  182. # [21:44] <smaug> and how do I know it wants that?
  183. # [21:44] <@tbsaunde> so handling this for atk is simpler
  184. # [21:45] <smaug> is "deepest child" some different value for the call where atk uses Accessible::eDirectChild
  185. # [21:45] <@tbsaunde> smaug: no, apparently only mac ever wants the deepest child
  186. # [21:46] <@tbsaunde> windows and atk apparently only ever want the direct child at the point
  187. # [21:46] <smaug> it is still unclear to me what "deepest child" means. That sounds like a single object, but there can be several results in a tree structure
  188. # [21:47] <smaug> tbsaunde: but ok, in atk case there is ChildAtPoint(x, y, Accessible::eDirectChild) call
  189. # [21:47] <smaug> I don't want to execute that if accWrap is OuterDocAccessible() ?
  190. # [21:48] <smaug> and accWrap doesn't have children
  191. # [21:50] <@tbsaunde> smaug: yeah there's multiple deepest children, but presumably only one at the given point on screen
  192. # [21:51] <@tbsaunde> smaug: yeah, in that case it should return null anyway
  193. # [21:51] <smaug> oh, I see, "deepest child" is like hit testing
  194. # [21:51] * @tbsaunde repeats his advice to punt on worrying about this
  195. # [21:51] <smaug> tbsaunde: ok, I won't worry then :)
  196. # [21:52] <@tbsaunde> smaug: if you want to understand that's fine of course ;)
  197. # [21:52] <smaug> tbsaunde: anything else but that missing addref?
  198. # [21:52] <smaug> tbsaunde: I'd like to understand how I get from that accWrap to the proxy child
  199. # [21:53] <@tbsaunde> smaug: I don't think so
  200. # [21:53] <@firebot> dmajor@bugmail.cc requested needinfo from dbolter@mozilla.com on bug 1197181.
  201. # [21:53] <@firebot> https://bugzil.la/1197181 — NEW, nobody@mozilla.org — crash in mozilla::a11y::DocAccessibleParent::RecvHideEvent(unsigned __int64 const&)
  202. # [21:54] <@tbsaunde> smaug: accWrap->AsOuterDoc()->RemoteChildDoc()
  203. # [21:55] <smaug> tbsaunde: so, if accWrap is outerdoc, and doesn't have children, try to access RemoteChildDoc()
  204. # [21:55] <@tbsaunde> smaug: yes
  205. # [21:55] <smaug> tbsaunde: and then call AccessibleAtPoint on that one
  206. # [21:56] <smaug> does accWrap have some helper to check there are no children
  207. # [21:56] <smaug> ChildCount
  208. # [21:56] <@tbsaunde> smaug: ChildCount() == 0 ?
  209. # [21:57] <smaug> apparently also HasChildren
  210. # [21:57] <smaug> ok, I'll add this to the patch
  211. # [21:57] <smaug> then the code is there
  212. # [21:57] <@tbsaunde> smaug: I'm not sure you have to call ChildAtPoint() after all the result *is* the child of the outer doc
  213. # [21:58] <@firebot> dbolter@mozilla.com requested needinfo from tbsaunde+mozbugs@tbsaunde.org on bug 1197181.
  214. # [21:58] <smaug> tbsaunde: oh, should I check if accWrap is outerdoc, and try to get proxy from it, and if not, call ChildAtPoint and then do the same check for the result?
  215. # [21:59] <smaug> and if I get a proxy, send the IPC message
  216. # [21:59] <@tbsaunde> smaug: I'm not sure I follow
  217. # [22:00] <smaug> well, you said "I'm not sure you have to call ChildAtPoint()"
  218. # [22:00] <@tbsaunde> but since atk is asking for the direct child I don't think you need to get fancy it only wants you to go down one level in the tree
  219. # [22:00] <smaug> tbsaunde: so, can accWrap be the outer doc?
  220. # [22:00] <@tbsaunde> smaug: yes
  221. # [22:00] <smaug> tbsaunde: and/or can the result of ChildAtPoint() be outerdoc?
  222. # [22:01] <@tbsaunde> smaug: what I'm saying is if its an outer doc and it has no children and RemoteChildDoc returns something just get the AtkObject for that thing and return it
  223. # [22:01] <smaug> "it"?
  224. # [22:01] <smaug> accWrap or the result of ChildAtPoint() ?
  225. # [22:01] <smaug> or both
  226. # [22:01] <@tbsaunde> accWrap
  227. # [22:01] <smaug> oh, I would just return that AtkObject, and not send message to child side?
  228. # [22:03] <@tbsaunde> smaug: yes
  229. # [22:08] <smaug> tbsaunde: but if accWrap is outerdoc-without-children-but-has-remotechilddoc, do I just not care at all about coordinates and aCoordType ?
  230. # [22:17] <@tbsaunde> smaug: well, I guess you should check bounds of the document RemoteChildDoc() gives you contain the point you were asked for
  231. # [22:18] <@tbsaunde> and if not return null
  232. # [22:18] * Quits: clown_mtg (clown@moz-v6m.c3o.211.205.IP) (Quit: Leaving.)
  233. # [22:19] <smaug> this is getting complicated
  234. # [22:19] <smaug> you won, I won't deal with this now :)
  235. # [22:23] * davidb is now known as davidb|afk
  236. # [22:26] * davidb|afk is now known as davidb
  237. # [22:28] * stephend|lunch is now known as stephend
  238. # [22:38] * Quits: anvk (anovak@moz-040.mvk.11.204.IP) (Quit: Leaving.)
  239. # [22:39] * Quits: ~davidb (davidb@moz-i5m.05u.207.66.IP) (Quit: Blah blah blah)
  240. # [22:59] * stephend is now known as stephend|mtg
  241. # [23:08] * Quits: @yzen (yzen@moz-i5m.05u.207.66.IP) (Ping timeout: 121 seconds)
  242. # [23:17] * Joins: erkan^ (Zippo@moz-73oup6.ip.telfort.nl)
  243. # [23:28] * Joins: yzen (yzen@moz-ql1r6k.cpe.pppoe.ca)
  244. # [23:28] * ChanServ sets mode: +o yzen
  245. # [23:38] <@firebot> New Core - Disability Access APIs bug 1200836 filed by eitan@monotonous.org.
  246. # [23:38] <@firebot> https://bugzil.la/1200836 — NEW, nobody@mozilla.org — [AccessFu] Land on first atomic object in container quick nav modes
  247. # [23:46] * Joins: Jayflux (Jayflux@moz-ua94ue.dsl.as9105.com)
  248. # [23:46] * yzen is now known as yzen_
  249. # [23:50] * Quits: @yzen_ (yzen@moz-ql1r6k.cpe.pppoe.ca) (Ping timeout: 121 seconds)
  250. # Session Close: Wed Sep 02 00:00:00 2015

Previous day, Next day

Think these logs are useful? Then please donate to show your gratitude (and keep them up, of course). Thanks! — Krijn