/irc-logs / mozilla / #accessibility / 2015-09-01 / end
Options:
Previous day, Next day
- # Session Start: Tue Sep 01 00:00:00 2015
- # Session Ident: #accessibility
- # [00:27] * Quits: Jayflux (Jayflux@moz-ua94ue.dsl.as9105.com) (Quit: Leaving)
- # [00:51] <smaug> tbsaunde: ok, any example which might actually trigger the code path which needs accessibleAtPoint?
- # [00:51] <smaug> or extents
- # [00:51] <satdav> Can anyone help by being a moderator at my event tomorrow https://etherpad.mozilla.org/testday-20150901
- # [00:52] * Quits: zippo^ (Zippo@moz-73oup6.ip.telfort.nl) (Quit: Leaving)
- # [00:52] * wlach is now known as wlach|afk
- # [00:52] * Quits: ~davidb (davidb@moz-icpgef.dsl.bell.ca) (Quit: Blah blah blah)
- # [00:53] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
- # [01:00] <smaug> tbsaunde: ok, some code for review. Please let me know where else I can help :)
- # [01:31] <@tbsaunde> smaug: cool
- # [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
- # [01:33] <@tbsaunde> (space to not highlight)
- # [01:50] <smaug> k
- # [02:11] * Quits: smaug (chatzilla@moz-kn7naf.elisa-laajakaista.fi) (Ping timeout: 121 seconds)
- # [02:13] * Joins: lsocks_ (lsocks@moz-bgt.g5e.243.162.IP)
- # [02:27] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: Textual IRC Client: www.textualapp.com)
- # [02:33] * Quits: @lsocks (sid340@moz-061fqd.0j4i.jtu0.0101.2620.IP) (NickServ (RECOVER command used by lsocks_))
- # [02:33] * lsocks_ is now known as lsocks
- # [02:33] * ChanServ sets mode: +o lsocks
- # [02:51] * stephend is now known as stephend|afk
- # [03:01] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
- # [03:08] * Quits: satdav (uid15780@moz-sljh5r.tooting.irccloud.com) (Quit: Connection closed for inactivity)
- # [04:40] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: My Mac has gone to sleep. ZZZzzz…)
- # [04:49] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
- # [04:56] * Quits: alex_mayorga (uid4422@moz-lffp2u.ealing.irccloud.com) (Quit: Connection closed for inactivity)
- # [05:21] * Quits: ugly_cat_ (quassel@moz-0s097l.wa.comcast.net) (Ping timeout: 121 seconds)
- # [05:22] * Joins: ugly_cat (quassel@moz-0s097l.wa.comcast.net)
- # [06:23] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: My Mac has gone to sleep. ZZZzzz…)
- # [06:45] * Tomcat|Afk is now known as Tomcat|sheriffduty
- # [06:58] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
- # [07:18] * Quits: zippo^ (zippo@moz-73oup6.ip.telfort.nl) (Quit: Textual IRC Client: www.textualapp.com)
- # [07:23] * Joins: ioanachiorean (ioanachiore@moz-q23.52n.2.5.IP)
- # [10:06] * Joins: satdav (uid15780@moz-sljh5r.tooting.irccloud.com)
- # [11:13] * Quits: Yakulu (Yakulu@moz-8a4.fkm.194.78.IP) (Quit: WeeChat 1.3)
- # [11:17] * Joins: Yakulu (Yakulu@moz-8a4.fkm.194.78.IP)
- # [11:44] * Quits: a-865 (fmcz@moz-ipbm7f.cable.mindspring.com) (Ping timeout: 121 seconds)
- # [11:51] * Joins: sixtyten (quassel@moz-ulpjmu.sentoris.de)
- # [13:25] * Quits: sixtyten (quassel@moz-ulpjmu.sentoris.de) (A TLS packet with unexpected length was received.)
- # [13:28] * Joins: sixtyten (quassel@moz-ulpjmu.sentoris.de)
- # [14:05] * Joins: Justin_o (uid14648@moz-c6vipl.ealing.irccloud.com)
- # [14:07] * Quits: sixtyten (quassel@moz-ulpjmu.sentoris.de) (A TLS packet with unexpected length was received.)
- # [14:17] * Joins: sixtyten (quassel@moz-ulpjmu.sentoris.de)
- # [14:34] * Joins: davidb (davidb@moz-i5m.05u.207.66.IP)
- # [14:34] * ChanServ sets mode: +qo davidb davidb
- # [14:34] <~davidb> heyo
- # [14:34] * davidb is now known as davidb|afk
- # [14:43] * davidb|afk is now known as davidb
- # [14:44] * ~davidb stalks an espresso
- # [14:44] * davidb is now known as davidb|afk
- # [14:47] <@firebot> cbook@mozilla.com changed the Resolution on bug 1199884 from --- to FIXED.
- # [14:47] <@firebot> cbook@mozilla.com changed the Status on bug 1199884 from NEW to RESOLVED.
- # [14:47] <@firebot> cbook@mozilla.com set status-firefox43 to fixed on bug 1199884.
- # [14:48] <@firebot> cbook@mozilla.com changed the Target Milestone on bug 1199884 from --- to mozilla43.
- # [14:48] <@firebot> https://bugzil.la/1199884 — FIXED, eitan@monotonous.org — [AccessFu] Landmark traversal rule does not work
- # [14:48] * davidb|afk is now known as davidb
- # [14:58] * Quits: satdav (uid15780@moz-sljh5r.tooting.irccloud.com) (Quit: Connection closed for inactivity)
- # [15:41] * Joins: yzen (yzen@moz-i5m.05u.207.66.IP)
- # [15:41] * ChanServ sets mode: +o yzen
- # [15:49] * davidb is now known as davidb|afk
- # [16:00] * Joins: clown (clown@moz-v6m.c3o.211.205.IP)
- # [16:09] * wlach|afk is now known as wlach
- # [16:21] * Joins: a-865 (fmcz@moz-ipbm7f.cable.mindspring.com)
- # [16:29] * davidb|afk is now known as davidb
- # [16:33] * Joins: smaug (chatzilla@moz-7dv8tf.bb.dnainternet.fi)
- # [17:00] * Joins: alex_mayorga (uid4422@moz-lffp2u.ealing.irccloud.com)
- # [17:01] * wlach is now known as wlach|mtg
- # [17:04] * Tomcat|sheriffduty is now known as Tomcat|afk
- # [17:08] * Joins: anvk (anovak@moz-040.mvk.11.204.IP)
- # [17:38] * smaug is now known as smaugAfk
- # [17:48] * davidb is now known as davidb|afk
- # [18:02] * stephend|afk is now known as stephend|mtg
- # [18:04] * wlach|mtg is now known as wlach|lunch
- # [18:25] * davidb|afk is now known as davidb
- # [18:30] * Joins: zippo^ (zippo@moz-73oup6.ip.telfort.nl)
- # [18:37] * Quits: @yzen (yzen@moz-i5m.05u.207.66.IP) (Quit: leaving... bye!)
- # [18:40] * davidb is now known as davidb|afk
- # [18:41] * Joins: yzen (yzen@moz-i5m.05u.207.66.IP)
- # [18:41] * ChanServ sets mode: +o yzen
- # [18:50] * Joins: fredw (Icedove@moz-fv4cpk.abo.wanadoo.fr)
- # [18:52] * davidb|afk is now known as davidb
- # [19:00] * wlach|lunch is now known as wlach
- # [19:19] * smaugAfk is now known as smaug
- # [19:30] * stephend|mtg is now known as stephend
- # [19:31] * davidb is now known as davidb|afk
- # [19:32] * Quits: fredw (Icedove@moz-fv4cpk.abo.wanadoo.fr) (Client exited)
- # [19:35] * davidb|afk is now known as davidb
- # [20:16] <@tbsaunde> smaug: hm, couldn't we share code between Bounds() and Extents() and AccessibleAtPoint() and ChildAtPoint()? does anything use those earlier messages?
- # [20:24] <smaug> tbsaunde: well, not sure how
- # [20:24] <smaug> what you mean with "earlier messages" ?
- # [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
- # [20:25] <smaug> nothing uses Bounds() IPC message atm
- # [20:26] <smaug> er, wait
- # [20:26] <smaug> I think something does
- # [20:26] <smaug> hmm, no
- # [20:26] <smaug> nothing uses it now, as far as I see
- # [20:26] <@tbsaunde> smaug: yeah, I meant earlier as in code was added earlier
- # [20:28] <smaug> tbsaunde: windows backend would use Bounds() as far as I see
- # [20:28] <@firebot> New Core - Disability Access APIs bug 1200755 filed by lorien@lorienhu.com.
- # [20:28] <@firebot> https://bugzil.la/1200755 — NEW, nobody@mozilla.org — DocAccessibleChild RecvBounds always returns false
- # [20:29] <smaug> and also ChildAtPoint()
- # [20:29] <smaug> so we kind of do need these different variants
- # [20:29] <smaug> or make larger changes to the code
- # [20:29] * Quits: ioanachiorean (ioanachiore@moz-q23.52n.2.5.IP) (Ping timeout: 121 seconds)
- # [20:31] <@tbsaunde> smaug: well for bounds you could just pass false for aWantScreenRelative
- # [20:32] <smaug> that is true
- # [20:32] <@tbsaunde> (in windows stuff) and same for ChildAtPoint
- # [20:32] <smaug> indeed, I guess I could remove those old methods from ipc level
- # [20:32] <smaug> but keep them in Proxy
- # [20:33] <@tbsaunde> that'd be one approach yeah
- # [20:36] * Quits: clown (clown@moz-v6m.c3o.211.205.IP) (Quit: Leaving.)
- # [20:41] * Joins: clown (clown@moz-v6m.c3o.211.205.IP)
- # [20:41] * clown is now known as clown_mtg
- # [21:00] * stephend is now known as stephend|mtg
- # [21:00] * stephend|mtg is now known as stephend|lunch
- # [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?
- # [21:02] <smaug> well, I'll upload a new patch anyhow
- # [21:02] <smaug> since I always upload the patch I'll land
- # [21:10] <@tbsaunde> smaug: either way
- # [21:13] <smaug> tbsaunde: ok, let me pause my reviewing and update the patch
- # [21:13] <@tbsaunde> smaug: actually hold off I realized some other things (just went back to looking at patch)
- # [21:14] <@tbsaunde> smaug: first in refAccessibleAtPointerHelper in the proxy case you missed increasing the ref count of the AtkObject
- # [21:14] <smaug> oh, indeed
- # [21:15] * smaug is so not familiar with atk objects
- # [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
- # [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
- # [21:17] <@tbsaunde> I hope nobody relies on that working
- # [21:18] <smaug> hmm, we don't deal with that kind of cases elsewhere
- # [21:19] <@tbsaunde> smaug: like where else?
- # [21:19] <@tbsaunde> but yes I suspect you are right there are similar bugs elsewhere
- # [21:20] * smaug thinks
- # [21:21] <smaug> oh, hmm, ChildAtPoint wants EWhichChildAtPoint
- # [21:21] <smaug> I guess I need to add that to AccessibleAtPoint
- # [21:21] * davidb is now known as davidb|afk
- # [21:25] <@tbsaunde> smaug: fwiw the ChildAtPoint msg already supports that
- # [21:26] <smaug> yup, I just moved it to AccessibleAtPoint and removed ChildAtPoint
- # [21:26] <@tbsaunde> ah thanks
- # [21:27] * davidb|afk is now known as davidb
- # [21:27] <smaug> tbsaunde: so I don't even know how to deal with the case when just the child is for proxy
- # [21:28] <smaug> we can't use ChildAtPoint on parent side then
- # [21:28] <smaug> but need to use Atk API, right
- # [21:28] <smaug> or somethin
- # [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
- # [21:31] <@tbsaunde> smaug: but I suspect in practice this doesn't really matter so probably good to make it a low priority
- # [21:31] <@tbsaunde> because it would mean you have some accessible for something in chrome and you expect to get accessible for content
- # [21:33] <smaug> didn't understand that :)
- # [21:33] <smaug> ChildAtPoint returns Accessible*
- # [21:33] <smaug> hmm
- # [21:34] <smaug> oh oh, I'm mixing Accessible* and AccessibleWrap* in my mind, at least
- # [21:34] <@tbsaunde> smaug: well Acccessible* and AcessibleWrap* are basically the same
- # [21:34] <@firebot> dbolter@mozilla.com changed the Assignee on bug 1200755 from nobody@mozilla.org to lorien@lorienhu.com.
- # [21:34] <@firebot> https://bugzil.la/1200755 — NEW, lorien@lorienhu.com — DocAccessibleChild RecvBounds always returns false
- # [21:34] <smaug> ChildAtPoint returns Accessible*
- # [21:35] <smaug> so how would you check if it actually isn't that, but some AtkObject with proxy, or something
- # [21:35] <smaug> but ok, I clearly don't know this part of the setup for ipc
- # [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*
- # [21:36] <@tbsaunde> if its not an outer doc, or it has children then you don't need to worry about this
- # [21:37] <@tbsaunde> and you can just call ChildAtPoint on the accessible
- # [21:37] <@tbsaunde> if you need the deepest child then the setup is similar
- # [21:37] <@tbsaunde> call ChildAtPoint on the accessible you start with
- # [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
- # [21:38] <@firebot> dmajor@bugmail.cc requested needinfo from dbolter@mozilla.com on bug 1170049.
- # [21:38] <@firebot> https://bugzil.la/1170049 — NEW, tbsaunde+mozbugs@tbsaunde.org — [e10s] crash in mozilla::a11y::DocAccessibleParent::Destroy()
- # [21:38] <smaug> I don't claim I understand the setup now :)
- # [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
- # [21:39] <smaug> so I call ChildAtPoint on parent side
- # [21:39] <@tbsaunde> smaug: well, I guess this has more to do with accessibility than ipc, but ok
- # [21:39] <smaug> I get some result
- # [21:40] <smaug> if that result returns true on OuterDocAccessible(), check whether it has children
- # [21:40] <smaug> if not, something
- # [21:41] <@tbsaunde> smaug: uh no?
- # [21:42] <@tbsaunde> if you call Accessible::ChildAtPoint with eDirectChild if you get something then it must be the correct answer
- # [21:42] <@tbsaunde> if you need the deepest child then you need to look at the proxies that are the children of that result
- # [21:42] <smaug> I don't know what "deepest child" means
- # [21:43] <@tbsaunde> smaug: so you have a tree of objects right?
- # [21:43] <smaug> yes
- # [21:43] <@tbsaunde> deepest means the farthest from the root of the tree
- # [21:43] <smaug> and in which case would I need that?
- # [21:44] <@tbsaunde> when the platform wants it
- # [21:44] <@tbsaunde> but for atk I don't think it ever does
- # [21:44] <smaug> and how do I know it wants that?
- # [21:44] <@tbsaunde> so handling this for atk is simpler
- # [21:45] <smaug> is "deepest child" some different value for the call where atk uses Accessible::eDirectChild
- # [21:45] <@tbsaunde> smaug: no, apparently only mac ever wants the deepest child
- # [21:46] <@tbsaunde> windows and atk apparently only ever want the direct child at the point
- # [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
- # [21:47] <smaug> tbsaunde: but ok, in atk case there is ChildAtPoint(x, y, Accessible::eDirectChild) call
- # [21:47] <smaug> I don't want to execute that if accWrap is OuterDocAccessible() ?
- # [21:48] <smaug> and accWrap doesn't have children
- # [21:50] <@tbsaunde> smaug: yeah there's multiple deepest children, but presumably only one at the given point on screen
- # [21:51] <@tbsaunde> smaug: yeah, in that case it should return null anyway
- # [21:51] <smaug> oh, I see, "deepest child" is like hit testing
- # [21:51] * @tbsaunde repeats his advice to punt on worrying about this
- # [21:51] <smaug> tbsaunde: ok, I won't worry then :)
- # [21:52] <@tbsaunde> smaug: if you want to understand that's fine of course ;)
- # [21:52] <smaug> tbsaunde: anything else but that missing addref?
- # [21:52] <smaug> tbsaunde: I'd like to understand how I get from that accWrap to the proxy child
- # [21:53] <@tbsaunde> smaug: I don't think so
- # [21:53] <@firebot> dmajor@bugmail.cc requested needinfo from dbolter@mozilla.com on bug 1197181.
- # [21:53] <@firebot> https://bugzil.la/1197181 — NEW, nobody@mozilla.org — crash in mozilla::a11y::DocAccessibleParent::RecvHideEvent(unsigned __int64 const&)
- # [21:54] <@tbsaunde> smaug: accWrap->AsOuterDoc()->RemoteChildDoc()
- # [21:55] <smaug> tbsaunde: so, if accWrap is outerdoc, and doesn't have children, try to access RemoteChildDoc()
- # [21:55] <@tbsaunde> smaug: yes
- # [21:55] <smaug> tbsaunde: and then call AccessibleAtPoint on that one
- # [21:56] <smaug> does accWrap have some helper to check there are no children
- # [21:56] <smaug> ChildCount
- # [21:56] <@tbsaunde> smaug: ChildCount() == 0 ?
- # [21:57] <smaug> apparently also HasChildren
- # [21:57] <smaug> ok, I'll add this to the patch
- # [21:57] <smaug> then the code is there
- # [21:57] <@tbsaunde> smaug: I'm not sure you have to call ChildAtPoint() after all the result *is* the child of the outer doc
- # [21:58] <@firebot> dbolter@mozilla.com requested needinfo from tbsaunde+mozbugs@tbsaunde.org on bug 1197181.
- # [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?
- # [21:59] <smaug> and if I get a proxy, send the IPC message
- # [21:59] <@tbsaunde> smaug: I'm not sure I follow
- # [22:00] <smaug> well, you said "I'm not sure you have to call ChildAtPoint()"
- # [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
- # [22:00] <smaug> tbsaunde: so, can accWrap be the outer doc?
- # [22:00] <@tbsaunde> smaug: yes
- # [22:00] <smaug> tbsaunde: and/or can the result of ChildAtPoint() be outerdoc?
- # [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
- # [22:01] <smaug> "it"?
- # [22:01] <smaug> accWrap or the result of ChildAtPoint() ?
- # [22:01] <smaug> or both
- # [22:01] <@tbsaunde> accWrap
- # [22:01] <smaug> oh, I would just return that AtkObject, and not send message to child side?
- # [22:03] <@tbsaunde> smaug: yes
- # [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 ?
- # [22:17] <@tbsaunde> smaug: well, I guess you should check bounds of the document RemoteChildDoc() gives you contain the point you were asked for
- # [22:18] <@tbsaunde> and if not return null
- # [22:18] * Quits: clown_mtg (clown@moz-v6m.c3o.211.205.IP) (Quit: Leaving.)
- # [22:19] <smaug> this is getting complicated
- # [22:19] <smaug> you won, I won't deal with this now :)
- # [22:23] * davidb is now known as davidb|afk
- # [22:26] * davidb|afk is now known as davidb
- # [22:28] * stephend|lunch is now known as stephend
- # [22:38] * Quits: anvk (anovak@moz-040.mvk.11.204.IP) (Quit: Leaving.)
- # [22:39] * Quits: ~davidb (davidb@moz-i5m.05u.207.66.IP) (Quit: Blah blah blah)
- # [22:59] * stephend is now known as stephend|mtg
- # [23:08] * Quits: @yzen (yzen@moz-i5m.05u.207.66.IP) (Ping timeout: 121 seconds)
- # [23:17] * Joins: erkan^ (Zippo@moz-73oup6.ip.telfort.nl)
- # [23:28] * Joins: yzen (yzen@moz-ql1r6k.cpe.pppoe.ca)
- # [23:28] * ChanServ sets mode: +o yzen
- # [23:38] <@firebot> New Core - Disability Access APIs bug 1200836 filed by eitan@monotonous.org.
- # [23:38] <@firebot> https://bugzil.la/1200836 — NEW, nobody@mozilla.org — [AccessFu] Land on first atomic object in container quick nav modes
- # [23:46] * Joins: Jayflux (Jayflux@moz-ua94ue.dsl.as9105.com)
- # [23:46] * yzen is now known as yzen_
- # [23:50] * Quits: @yzen_ (yzen@moz-ql1r6k.cpe.pppoe.ca) (Ping timeout: 121 seconds)
- # 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