Closed
Bug 1457085
Opened 7 years ago
Closed 7 years ago
Unable to navigate through auto-complete matches with a mouse scroll wheel, scroll events go to outer listbox and not pop-up's rich listbox
Categories
(Thunderbird :: Message Compose Window, defect)
Tracking
(thunderbird60+ fixed, thunderbird62 wontfix, thunderbird63 fixed)
RESOLVED
FIXED
Thunderbird 63.0
People
(Reporter: de.berberich, Unassigned)
References
Details
(Keywords: regression)
Attachments
(1 file)
13 bytes,
text/plain
|
jorgk-bmo
:
approval-comm-esr60+
|
Details |
Steps to reproduce:
Open a compose window, begin to type a recipient address in the address field.
Thunderbird's address auto-complete feature opens a drop-down window with a list of contacts containing the chain of signs you typed. If there are many matches a scroll bar will appear on the right side of the drop-down window.
Try to navigate through the list of matches with the mouse wheel (in my case Apple Magic Mouse) to display the contacts at the bottom of the list.
Actual results:
In Thunderbird 60 beta it is impossible to move the scroll bar down or up with the mouse wheel. To display contacts at the bottom of the list you'll have to move the scroll bar with the mouse pointer.
Expected results:
Navigating through the auto-complete matches with the mouse wheel should be enabled.
Reproducible: always
Comment 1•7 years ago
|
||
Right, confirmed. That was working in TB 52. Most likely related to bug 1427366 and friends (bug 1438669, bug 1434877).
Alice, can you find a regression window for us.
Marco and Paolo: Those changes earlier this year, would they have caused the loss of the mouse wheel?
Flags: needinfo?(paolo.mozmail)
Flags: needinfo?(mak77)
Flags: needinfo?(alice0775)
Keywords: regression
![]() |
||
Comment 2•7 years ago
|
||
regression window:
https://hg.mozilla.org/comm-central/pushloghtml?fromchange=48b59ff51dca7075ba872f22dff35cadfd75e4b0&tochange=a31a998b9f300044a43b3a5870e93737bcd4f6aa
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=65133e49fbfd5306632301f74be7cd15890bdf9f&tochange=0ac953fcddf10132eaecdb753d72b2ba5a43c32a
Flags: needinfo?(alice0775)
Comment 3•7 years ago
|
||
Thanks Alice, so this goes back to the autocomplete changes back in February: M-C bug 1427366, bug 1427363 and bug 1427364, and in C-C bug bug 1436290 which ported bug 1427350.
So Marco and Paolo need to tell us what happened to the scroll wheel.
Comment 4•7 years ago
|
||
The main changes I can think of are that we converted the contents away from the "tree" element, and we changed the binding that hosts the elements. Maybe some specific "tree" scrolling code or some "scrollbox" behavior was lost in the process. Also from the looks of bug 1436290 it seems there are some Thunderbird-specific bindings involved, so this bug may be due to the interaction between the two.
Flags: needinfo?(paolo.mozmail)
Flags: needinfo?(mak77)
Comment 6•7 years ago
|
||
What I can say is, that the scrolling in gloda autocomplete with the special bindings still works, but the normal, without special bindings, autocomplete in composer doesn't work correctly. On Windows, when I try to scroll it does scroll, but with about a second delayed and only for some pixels.
So I think here "Maybe some specific "tree" scrolling code or some "scrollbox" behavior was lost in the process." happened.
Flags: needinfo?(richard.marti)
Updated•7 years ago
|
tracking-thunderbird60:
--- → +
Comment 7•7 years ago
|
||
Where are the "special" gloda bindings? Do we need to clone some of them to "normal" autocomplete?
Flags: needinfo?(richard.marti)
Comment 8•7 years ago
|
||
Thid bindingd here: https://searchfox.org/comm-central/source/mailnews/db/gloda/content/glodacomplete.xml and I think especially https://searchfox.org/comm-central/source/mailnews/db/gloda/content/glodacomplete.xml#13
Flags: needinfo?(richard.marti)
Comment 9•7 years ago
|
||
Paolo and Marco, I still need some help here. Richard tells us that no specific bindings are used for "normal" recipient address auto-complete. Bug 1436290 only landed https://hg.mozilla.org/comm-central/rev/f842916b9211, so it renamed _matchCount to matchCount to follow the M-C changes. In so far, I don't understand comment #4.
Where is the code that controls the scrolling with the mouse wheel, an what do I need to look for in TB to see what could affect it?
Flags: needinfo?(paolo.mozmail)
Flags: needinfo?(mak77)
Comment 10•7 years ago
|
||
I'm not sure I can help much, I know as much as you about the underlying layout code. Nothing jumps at my eyes from your bindings.
So, the change moved you from a tree-based binding to a richlistbox-based binding. Both should support scrolling properly, rlb is based on listbox (that has some scrolling APIs and a scrollFrame, see layout/xul/nsListBoxBodyFrame.cpp) and it also wraps all its children in a scrollbox.
A few things you may check that may be useful: is the panel properly focused, maybe you move the focus elsewhere? Do you see "scroll" events if you try to listen for them? Any special css attributes related to overflow on that popup/rlb? any mouse event handlers that may misbehave?
Updated•7 years ago
|
Flags: needinfo?(paolo.mozmail)
Comment 11•7 years ago
|
||
OK, the problem is this.
Our addressing widget is a listbox and every list cell contains an auto-complete text box. When a pop-up of one of those text boxes is up and you scroll, the parent listbox eats the scroll event.
You can see this when you enter more addresses than fit into the box. On the last one, trigger the auto-complete, then scroll. The auto-complete aborts and the list scrolls. That's not what we need :-(
Comment 12•7 years ago
|
||
Hmm, we actually haven't changed anything, we always had a list(box) of recipient addresses and each list was a text box with auto-complete. Scrolling always worked and we didn't suddenly add code to move the focus elsewhere.
In fact, if you click on the scrollbar of the popoup, the focus should be on the popup.
So this looks like a XUL bug to me. When you have a list within a list, the wrong list gets the scroll event.
That explains why our Gloda auto-complete still scrolls: It's a stand-alone widget, not embedded in another list.
Where from here?
Flags: needinfo?(enndeakin)
Updated•7 years ago
|
Summary: Unable to navigate through auto-complete matches with a mouse scroll wheel → Unable to navigate through auto-complete matches with a mouse scroll wheel, scroll events go to outer listbox and not pop-up's rich listbox
Comment 13•7 years ago
|
||
It looks like listbox uses a capturing listener at https://searchfox.org/mozilla-central/source/toolkit/content/widgets/listbox.xml#883
Perhaps removing the capturing is sufficient, although you need to be careful to not cause issues like bug 300245.
Flags: needinfo?(enndeakin)
Comment 14•7 years ago
|
||
Do you know how to "remove the capturing" Neil mentioned?
Flags: needinfo?(richard.marti)
Flags: needinfo?(acelists)
Updated•7 years ago
|
Flags: needinfo?(mak77)
Comment 16•7 years ago
|
||
(In reply to Neil Deakin from comment #13)
> It looks like listbox uses a capturing listener at
> https://searchfox.org/mozilla-central/source/toolkit/content/widgets/listbox.
> xml#883
> Perhaps removing the capturing is sufficient, although you need to be
> careful to not cause issues like bug 300245.
I tried "bubbling" (default) and "target" and it didn't make a difference. What's next?
Updated•7 years ago
|
Flags: needinfo?(enndeakin)
Comment 17•7 years ago
|
||
As stated in comment #11, there is something wrong with the XUL listbox. While working on bug 1475817 attachment 8992829 [details] [diff] [review], I noticed that switching to richlistbox for the addressing widget fixes the issue and the scroll with the mouse works again.
Geoff, would it be possible to backport only the changes in messengercompose.xul to TB 60 or are they tied in with the other files?
Could you provide a patch?
Flags: needinfo?(geoff)
Flags: needinfo?(enndeakin)
Flags: needinfo?(acelists)
Comment 18•7 years ago
|
||
Flags: needinfo?(geoff)
Comment 19•7 years ago
|
||
Fixed by bug 1475817. I'll backport the relevant patch to TB 60 ESR and TB 62 beta.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 63.0
Comment 20•7 years ago
|
||
FRG, I will uplift https://hg.mozilla.org/comm-central/rev/7962d601822d193cccf877bba6c2f0e3908af7a9 to comm-esr60. Maybe the changes here https://hg.mozilla.org/comm-central/rev/7962d601822d193cccf877bba6c2f0e3908af7a9#l5.2 in mailnews/addrbook/content/abMailListDialog.js will affect SM. If so, please take appropriate action.
Flags: needinfo?(frgrahl)
Comment 21•7 years ago
|
||
Patches come from bug 1475817. Part 9 and two follow-ups.
Attachment #8993968 -
Flags: approval-comm-esr60+
Attachment #8993968 -
Flags: approval-comm-beta+
![]() |
||
Comment 22•7 years ago
|
||
> FRG, I will uplift
No problem. mailnews is still broken. I am still fixing up the browser part. We will need to retest everything and will tackle this when the times comes.
Flags: needinfo?(frgrahl)
Comment 23•7 years ago
|
||
TB 60 ESR:
https://hg.mozilla.org/releases/comm-esr60/rev/3a0dc30507bedbb2e1af27a918b2fafc03c01b10
https://hg.mozilla.org/releases/comm-esr60/rev/d2b65450d84c52a19ddc6ceb696d52f36d97d988
https://hg.mozilla.org/releases/comm-esr60/rev/9e03fc65a76d3b30b216f9ba8fc88fe083650060
status-thunderbird60:
--- → fixed
status-thunderbird62:
--- → affected
status-thunderbird63:
--- → fixed
Updated•7 years ago
|
Updated•7 years ago
|
Attachment #8993968 -
Flags: approval-comm-beta+
You need to log in
before you can comment on or make changes to this bug.
Description
•