Environment: Device: Samsung Galaxy S4 (Android 4.4.2); Build: Nightly 38.0a1 (2015-01-14); Steps to reproduce: 1. Go to bugzilla.mozilla.org; 2. Tap on Search button; 3. Tap on Advanced Search; 4. Tap on the first combo box; 5. Select some of the available options from the combo box; 6. Tap on Done button; 7. Tap again on the combo box but this time on the empty space under the last option. Expected result: The combo box is opened and the options selected at step 5 are selected. Actual result: The combo box is opened and only the last option is selected. Notes: Please check the video: http://youtu.be/ViCQ8ZP7YC0
It would be good to test this on combo boxes that are on other sites. Maybe it requires a scrollable list?
tracking-fennec: --- → ?
(In reply to Kevin Brosnan [:kbrosnan] from comment #1) > It would be good to test this on combo boxes that are on other sites. Maybe > it requires a scrollable list? The issue is reproducible also on http://www.gpo.gov/fdsys/search/advanced/advsearchpage.action
tracking-fennec: ? → +
I can take this up, if it's available. I'm not yet sure how to go about fixing it, but I can start looking at it. If you can provide some pointers, that would probably save me some time.
This is interesting ... Mobile behaves this way, because that's how core Gecko is designed. Using  as a testcase on desktop or Mobile, you can see that the code at  returns the last item in the list on mouseclick into empty space. This seemingly sets |element.selectedIndex|, before firing the element.onClick() event where we notice it via listener on the Mobile side . Chrome desktop however handles this differently, and selects / returns nothing. Complicating things somewhat, it finesses the situation on Mobile by changing the basic element rendering . Sooooooooo, not sure if this is evangelism / something we can change in core so mobile "just works", something that is truly a Mobile only fix, or a combination of both sides. I'm poking roc for ni? as I see his name as previous reviewer of |nsListControlFrame.cpp| ...  https://www.dropbox.com/s/ukvqqq7mq4mglyw/test_bug1121515.html?dl=0  http://mxr.mozilla.org/mozilla-central/source/layout/forms/nsListControlFrame.cpp?rev=79800010be78&mark=1775-1776,1783-1783#1725  http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/browser.js?rev=057f0bd4075c&mark=5114-5114#5099  https://www.dropbox.com/s/ejbgq6hr8w1dus4/test_bug1121515.mp4?dl=0
I don't know the mobile combobox code. I'm surprised that that line of code is hit at all on mobile. Maybe we should remove it on mobile on desktop; I don't think it's actually helpful on desktop.
on mobile "and" desktop
Created attachment 8632437 [details] [diff] [review] bug1121515.diff That works for me! This provides Chrome desktop compatibility, and solves the issue on the Android side. If you can signoff on desktop, I'll get wesj to approve Mobile next.
Assignee: nobody → markcapella
Status: NEW → ASSIGNED
Attachment #8632437 - Flags: review?(roc)
Comment on attachment 8632437 [details] [diff] [review] bug1121515.diff Review of attachment 8632437 [details] [diff] [review]: ----------------------------------------------------------------- For consistency we should probably eliminate the "is the event above the first option" code too.
Created attachment 8632438 [details] [diff] [review] bug1121515.diff (wondered) Ok, re-tested both builds locally. I'll get an insurance TRY push after all review?'s.
Created attachment 8632513 [details] [diff] [review] bug1121515_testUpdate.diff Update existing test to correct expectations, push all to TRY. https://treeherder.mozilla.org/#/jobs?repo=try&revision=aca0f3886e57
Attachment #8632513 - Flags: review?(roc)
Attachment #8632513 - Flags: review?(roc) → review+
Attachment #8632438 - Flags: review?(roc) → review+
Attachment #8632438 - Flags: review?(wjohnston)
Attachment #8632438 - Flags: review?(wjohnston) → review+
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
status-firefox42: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 42
You need to log in before you can comment on or make changes to this bug.