Last Comment Bug 703795 - Can't scroll overflowing popup using keyboard, scrollwheel or trackpad
: Can't scroll overflowing popup using keyboard, scrollwheel or trackpad
: addon-compat, regression, testcase
Product: Core
Classification: Components
Component: XUL (show other bugs)
: unspecified
: x86 Mac OS X
: -- normal (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
: Neil Deakin
Depends on:
Blocks: 678834
  Show dependency treegraph
Reported: 2011-11-18 15:49 PST by Jorge Villalobos [:jorgev]
Modified: 2011-12-19 09:30 PST (History)
6 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

Test case add-on (6.76 KB, application/x-xpinstall)
2011-11-18 15:49 PST, Jorge Villalobos [:jorgev]
no flags Details

Description Jorge Villalobos [:jorgev] 2011-11-18 15:49:16 PST
Created attachment 575590 [details]
Test case add-on

This is regression from Firefox 8 to Firefox 9.

Steps to reproduce:
1) Install attached add-on.
2)Customize toolbar to move the Test Case button into the main toolbar.
3) Click on the button. A popup with a scrollbar should appear. This is a XUL menupopup attached to a toolbarbutton.
4) Attempt to scroll on it using the keyboard arrows, mouse scrollwheel or trackpad.

Expected results:

The content scrolls.

Observed results:

The content doesn's scroll at all. The only way to scroll is to use the scrollbar.

Tested on Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:9.0) Gecko/20100101 Firefox/9.0. I haven't tested this on other platforms.
Comment 1 JP Rosevear [:jpr] 2011-12-14 14:52:41 PST
Neil, can you check the seriousness of this in the next 24 hours?  We need to know if re-spinning FF9 is required.
Comment 2 JP Rosevear [:jpr] 2011-12-14 14:53:13 PST
Actually add Neil to answer the question.
Comment 3 Benjamin Smedberg [:bsmedberg] 2011-12-15 06:39:36 PST
I don't think this menupopup is constructed the way a XUL menupopup should be constructed, and so this is just bad XUL: because it does not contain any <menuitems>, the keyboard focus isn't set to any elements when the popup is opened, which means that the keyboard focus stays with the page.

Note that this does work correctly for menu popups that do use <menuitem>s, such as the tab list dropdown, so I feel that this is definitely not a release blocker, and is probably completely INVALID.
Comment 4 Neil Deakin 2011-12-15 06:54:28 PST
Is this testcase from some add-on? The testcase should be using <panel> not <menupopup> since the content in it isn't menu-related; making such a change causes it to work.
Comment 5 Jorge Villalobos [:jorgev] 2011-12-15 07:18:57 PST
(In reply to Neil Deakin from comment #4)
> Is this testcase from some add-on? The testcase should be using <panel> not
> <menupopup> since the content in it isn't menu-related; making such a change
> causes it to work.

Yes, it is a simplified testcase from an existing add-on. The original request was posted here:

Do we know what changed in Firefox 9 that triggered this?
Comment 6 Neil Deakin 2011-12-15 10:11:55 PST
This was caused by bug 678834.

Note that Benjamin's assessment above isn't quite correct. The keyboard focus doesn't affect scrollwheel behaviour on Mac. Scrolling occurs based on what the mouse is over.

In this case, there are two scrollable areas, one a vbox made scrollable in the test and the other the anonymous arrowscrollbox provided by the menupopup. I think one of the scrollwheel events being cancelled prevents the other from firing, but Markus would be better positioned to explain if there is a real bug here.

The addon author should still fix his addon though.
Comment 7 Markus Stange [:mstange] 2011-12-15 10:41:37 PST
So the question is whether we want to support nested scrolling inside a <scrollbox>. I think it's not worth it, unless there's evidence that this case occurs more often in the wild.
The fix for the add-on side here (replace <menupopup> by <panel>) is really simple.
Comment 8 Jorge Villalobos [:jorgev] 2011-12-15 12:21:59 PST
I've only seen this add-on doing this, so I don't expect many cases presenting this problem. If it's not worth fixing, then I think we should just WONTFIX this. Either way, I'll tell the developer to use a panel instead.

Note You need to log in before you can comment on or make changes to this bug.