need better solution for firing delayed event against xul tree

RESOLVED FIXED in mozilla9

Status

()

Core
Disability Access APIs
RESOLVED FIXED
10 years ago
6 years ago

People

(Reporter: Evan Yan, Assigned: surkov)

Tracking

(Blocks: 1 bug, {access})

Trunk
mozilla9
x86
Linux
access
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

10 years ago
originate from bug 386161.

Currently we use the selected xul treeitem accessible instead of xul tree accessible, like in nsRootAccessible::HandleEventWithTarget() and nsAccEvent::GetAccessibleByNode() (after the patch of bug 386161 checked in).

If we want to fire delayed event against xul tree itself or unselected treeitem, there will be problem.

Comment 1

10 years ago
Evan, can you take this bug?

What is it blocking?
Assignee: aaronleventhal → nobody
(Reporter)

Comment 2

10 years ago
It is not blocking anything for now.
Just to log a potential problem here, in case one day we have the requirement of firing event against xul tree itself or unselected treeitem.

(Assignee)

Updated

8 years ago
Blocks: 491681
(Assignee)

Comment 3

6 years ago
Created attachment 552314 [details] [diff] [review]
patch

fix focus event firing, other events look good
Assignee: nobody → surkov.alexander
Status: NEW → ASSIGNED
Attachment #552314 - Flags: review?(trev.saunders)
This look good, but I have  still should look through the 40 or so places we create an event.

It seems fairly inconsistant that atk and mac both assert in FirePlatformEvent() that AccEvent->GetAccessible() returns a accessible, but GetAccessible(0 checks for its node being null instead of taking it as an invariant that it isn't null and getting the accessible for the node without checking the node to see if its null.
(Assignee)

Comment 5

6 years ago
(In reply to Trevor Saunders (:tbsaunde) from comment #4)

> It seems fairly inconsistant that atk and mac both assert in
> FirePlatformEvent() that AccEvent->GetAccessible() returns a accessible, but
> GetAccessible(0 checks for its node being null instead of taking it as an
> invariant that it isn't null and getting the accessible for the node without
> checking the node to see if its null.

event code is little bit inconsistent and the logic is little bit wobbly. Ideally event should be always fired for not null accessible and keep weak accessible pointer rather than addrefed. All we have now is result of code reorgs by parts.
Comment on attachment 552314 [details] [diff] [review]
patch

SORRY IT TOOK SO LONG TO FINISH THIS UP.
Attachment #552314 - Flags: review?(trev.saunders) → review+
(Assignee)

Comment 7

6 years ago
inbound - http://hg.mozilla.org/integration/mozilla-inbound/rev/f9379ad86c5d
http://hg.mozilla.org/mozilla-central/rev/f9379ad86c5d
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla9
You need to log in before you can comment on or make changes to this bug.