Open Bug 634827 Opened 11 years ago Updated 8 months ago

don't set up selection listeners for controls other than text fields

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

People

(Reporter: surkov, Unassigned, Mentored)

References

(Blocks 3 open bugs)

Details

(Keywords: access, good-first-bug, perf)

Attachments

(1 file)

We need to set up selection listeners for controls that has own selection controller like text fields, other controls should be handled presshell selection controller (that is added when document accessible is created). However we need to unregister selection listener for text field controls when something else gets focused.
Whiteboard: [good first bug]
Blocks: caretsela11y
Whiteboard: [good first bug] → [good first bug][mentor=surkov.alexander@gmail.com]
nsCaretAccessible manages the selection listeners (http://mxr.mozilla.org/mozilla-central/source/accessible/src/base/nsCaretAccessible.cpp), see SetControlSelectionListener and ClearControlSelectionListener methods. FocusManager class (FocusManager.cpp in same folder) manages the accessible focus and set selection listeners for control when control gets focused. So FocusManager should take care to remove current selection listener.

Please don't hesitate to ask questions.
Assignee: nobody → brijesh3105
Assignee: brijesh3105 → nobody
hi alexander, i would like to take up this bug and work on it. can you please help me out?
basically I need to update on comment #1:

you need to fix SelectionManager class (SetControlSelectionListener and ClearControlSelectionListener methods) to make it check weather the frame object has NS_FRAME_INDEPENDENT_SELECTION state. If it doesn't then return early. That's it.
Assignee: nobody → singh.kushagra93
Hi, Kushagra - Are you still working on this?
Flags: needinfo?(singh.kushagra93)
Hi Mike, I am really sorry. Totally forgot about this bug, will take it up after the weekend if that is fine with you?
Flags: needinfo?(singh.kushagra93) → needinfo?(mhoye)
Absolutely, and thank you!
Flags: needinfo?(mhoye)
Attached patch Initial patch.Splinter Review
Hope the patch is somewhat on the mark.
Can you also please help me out with C++ debugging for the mozilla code.
Thanks :)
Attachment #8433366 - Flags: review?(surkov.alexander)
Comment on attachment 8433366 [details] [diff] [review]
Initial patch.

Review of attachment 8433366 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/src/base/SelectionManager.cpp
@@ +38,5 @@
>  
>  void
>  SelectionManager::ClearControlSelectionListener()
>  {
> +  if (!mCurrCtrlFrame || mCurrCtrlFrame->NS_FRAME_INDEPENDENT_SELECTION == NULL)

I think the idea should work but you didn't build it and run automated test suite, right? It looks like you should use GetStates()
Attachment #8433366 - Flags: review?(surkov.alexander)
Mentor: surkov.alexander
Whiteboard: [good first bug][mentor=surkov.alexander@gmail.com] → [good first bug]
Hi Alexander,
I would like work on this bug. Can you please assign me to it?
Let's check if Kushagra works on it
Flags: needinfo?(singh.kushagra93)
Sorry, I won't be able to work on it. Assigning it to Kevin.
Flags: needinfo?(singh.kushagra93)
Assignee: singh.kushagra93 → kmather73
Keywords: good-first-bug
Whiteboard: [good first bug]

This good-first-bug hasn't had any activity for 6 months, it is automatically unassigned.
For more information, please visit auto_nag documentation.

Assignee: kmather73 → nobody
You need to log in before you can comment on or make changes to this bug.