Closed Bug 448174 Opened 12 years ago Closed 3 years ago

[snav] can not open drop-down menu when select element focused

Categories

(Toolkit Graveyard :: Spatial Navigation, defect)

x86
Linux
defect
Not set

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: wildriding, Unassigned)

References

Details

(Whiteboard: [close-me-2017-02-15])

Attachments

(2 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Build Identifier: 

 

Reproducible: Always

Steps to Reproduce:
1. focus select element from attached testcase
2. try to open dropdown menu
Actual Results:  
nothing

Expected Results:  
dropdown menu opened
Attached file testcase
doug, does a patch in /layout/forms/nsComboboxControlFrame.cpp to handle this would worth here ? if so, I had a patch ... 

or do you think there is enough api exposed to make it work from spatial-navigation.js code ? 
Status: UNCONFIRMED → NEW
Ever confirmed: true
patching SpatialNavigation.js (note the correct filename) is where to start.  If something isn't exposed or doesn't have the performance, then we look at patching layout.
Assignee: nobody → doug.turner
Blocks: 449204
Attached patch patch v.1Splinter Review
1) I have made spatial navigation a variable now ( you do not have to new it ).  There are some changes in this patch to clean up the test cases.

2) i factored out the code that move focus using the Command Dispatcher into a function _focusNextUsingCmdDispatcher()

3) The fix to this specific bug and test case is testing to see if the current focus is the html document.  if it is focused, then simply "tab" into the document using _focusNextUsingCmdDispatcher().
Attachment #332394 - Flags: review?
Attachment #332394 - Flags: review? → review?(gavin.sharp)
Comment on attachment 332394 [details] [diff] [review]
patch v.1

>diff --git a/toolkit/spatial-navigation/SpatialNavigation.js b/toolkit/spatial-navigation/SpatialNavigation.js

>+    if (! _isRectInDirection(event, focusedRect, nextRect)) {
>       continue;
>-    
>+    }

Brackets around a single-line then clause? Crazy!
Attachment #332394 - Flags: review?(gavin.sharp) → review+
changeset:   16404:2bf60ca06632
tag:         tip
user:        Doug Turner <dougt@meer.net>
date:        Tue Aug 05 15:44:53 2008 -0700
summary:     fixes 448174. can not open drop-down menu when select element focused. r=gavin


I did fix that craziness you pointed out.  if it is any consolation, i am planning on adding something there in the next patch! :-)
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
> 3) The fix to this specific bug and test case is testing to see if the current
> focus is the html document.  if it is focused, then simply "tab" into the
> document using _focusNextUsingCmdDispatcher().
> 
I've played a little with test_snav_selects.xul and drop-down menu did not appear.
So, seems like this fix not to this specific bug.
snav still goes through items but doesn't open menu.
what antonr said.  The menu doesn't actually open, but only the items are enumerated.  I misunderstood the problem; or didn't read the subject accurately. ;-)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
fwiw , http://mxr.mozilla.org/mozilla-central/source/layout/forms/nsListControlFrame.cpp#2589 would be intuitive place for handling this 

both the object and method used are protected 

* http://mxr.mozilla.org/mozilla-central/source/layout/forms/nsListControlFrame.h#423

* http://mxr.mozilla.org/mozilla-central/source/layout/forms/nsListControlFrame.h#306

pressing 'F4' drops it down on win ... like this:

#if defined(XP_WIN) || defined(XP_OS2)
2638     case nsIDOMKeyEvent::DOM_VK_F4: {
2639       DropDownToggleKey(aKeyEvent);
2640       return NS_OK;
2641     } break;
2642 #endif
Blocks: 401821
Assignee: doug.turner → nobody
This bug's parent component is going away. Should this bug be moved to an equivalent component in Android or iOS?
Whiteboard: [close-me-2017-02-15]
Status: REOPENED → RESOLVED
Closed: 12 years ago3 years ago
Resolution: --- → INCOMPLETE
Product: Toolkit → Toolkit Graveyard
You need to log in before you can comment on or make changes to this bug.