Closed
Bug 387499
Opened 18 years ago
Closed 18 years ago
keys (Up/Down/any character) no longer working in collapsed XUL combo boxes
Categories
(Core :: XUL, defect)
Core
XUL
Tracking
()
RESOLVED
FIXED
People
(Reporter: jdiggs, Assigned: enndeakin)
References
Details
(Keywords: access, regression)
Attachments
(1 file)
14.18 KB,
patch
|
neil
:
review+
bzbarsky
:
superreview+
|
Details | Diff | Splinter Review |
Steps to reproduce:
1. Navigate to a combo box such as the "When Minefield Starts:" combo box in Minefield's Preference's dialog or the "Style:" combo box on the Display pane for Thunderbird's Preferences dialog.
2. With the combo box collapsed, use Up/Down Arrow to move among the choices.
Expected results: Up/Down Arrow would allow you to navigate among items in the combo box.
Actual results: Up/Down Arrow do nothing.
This seems to have been introduced in the 5th July builds.
Updated•18 years ago
|
Keywords: regression
Updated•18 years ago
|
Component: Keyboard: Navigation → XP Toolkit/Widgets: Menus
Flags: blocking1.9?
OS: Linux → All
QA Contact: keyboard.navigation → xptoolkit.menus
Hardware: PC → All
Summary: Up/Down Arrow no longer works in collapsed XUL combo boxes → keys (Up/Down/any character) no longer working in collapsed XUL combo boxes
Updated•18 years ago
|
Assignee | ||
Comment 2•18 years ago
|
||
Assignee: nobody → enndeakin
Status: NEW → ASSIGNED
Attachment #272397 -
Flags: superreview?(bzbarsky)
Attachment #272397 -
Flags: review?
Assignee | ||
Updated•18 years ago
|
Attachment #272397 -
Flags: review? → review?(neil)
Updated•18 years ago
|
Flags: in-testsuite?
![]() |
||
Comment 3•18 years ago
|
||
Comment on attachment 272397 [details] [diff] [review]
handle keyboard and shortcut navigation for closed menulists
>Index: layout/xul/base/public/nsXULPopupManager.h
>+ PRBool HandleKeyboardNavigationInPopup(nsMenuChainItem* aItem,
>+ nsMenuPopupFrame* aFrame,
>+ nsNavigationDirection aDir);
I would almost rather have two separate methods, one taking a frame (public) and one taking an nsMenuChainItem* (protected) and have them both call this (private) utility method. They could even inline to do that. Makes callers simpler to code without having random nsnulls around.
>Index: layout/xul/base/src/nsXULPopupManager.cpp
nsXULPopupManager::HandleKeyboardNavigationInPopup(nsMenuChainItem*
>+ NS_ASSERTION(item || aFrame, "aFrame and item are both null");
If you do leave the current signature, you need to either assert that !item || !aFrame, or to assert that if both are non-null then aFrame == item->Frame(). In other words, that the frame to work on is well-defined.
And perhaps document what things don't happen if |item| is null.
With that, sr=bzbarsky.
Attachment #272397 -
Flags: superreview?(bzbarsky) → superreview+
Updated•18 years ago
|
Attachment #272397 -
Flags: review?(neil) → review+
Assignee | ||
Updated•18 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•18 years ago
|
Flags: in-testsuite? → in-testsuite+
Updated•17 years ago
|
Flags: blocking1.9?
Component: XP Toolkit/Widgets: Menus → XUL
QA Contact: xptoolkit.menus → xptoolkit.widgets
You need to log in
before you can comment on or make changes to this bug.
Description
•