must click three times on <select> form controls before dropdown appears when pref browser.display.focus_ring_on_anything is enabled

RESOLVED FIXED in Future

Status

()

Core
Layout: Form Controls
RESOLVED FIXED
16 years ago
12 years ago

People

(Reporter: James Paige, Unassigned)

Tracking

Trunk
Future
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(1 attachment)

(Reporter)

Description

16 years ago
Linux trunk build 2002060504

When I click on a <select> form widget, the little dropdown does not appear. The
select is getting focus, and I can change the selection by pressing the up and
down arrow keys, but no dropdown appears until I have clicked on the select
three times. After that point, the dropdown behaves as it should, until the
select loses focus.

I have hunted for dups of this, and the closest thing I could find was bug
147457, which is marked duplicate of bug 96756, but what I am seeing could not
possibly be bug 96756, because I am seeing this symptom on ALL select widgets on
all pages, regardless of <div> tags or other content. 

I had also commented on this in bug 142865, but I no longer believe my symptom
is the same as that.
WFM with trunk 2002073022, linux. reporter (James Paige): can you reproduce this
bug with a recent build of mozilla (for example, 1.1beta)? if so, please comment
again with details. if not, please resolve this bug as WORKSFORME. thanks.
(Reporter)

Comment 2

16 years ago
Yes, I can still reproduce this 100%
Linux Trunk Build 2002080508 and every build I have tried on this computer since
reporting the bug.

I cannot reproduce this on any other computers (I have tried it at home, and on
my laptop) so it has to be related to something specific to this system.
could you try it with a new profile? (start 'mozilla -profileManager' and create
a second one)
(Reporter)

Comment 4

16 years ago
*sigh* I should have thought to check that.
Unable to reproduce on a clean profile. I hate corrupt-profile bugs.

Marking WORKSFORME, but I will reopen if I can track down exactly what I did to
my profile that triggered this.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → WORKSFORME
(Reporter)

Comment 5

16 years ago
Aha! I got it! This is not a freak of nature nor a corrupted profile. It is
caused by an obsucre pref in prefs.js

I can now reproduce this on a clean profile.

To trigger this bug, edit your prefs.js file and add
user_pref("browser.display.focus_ring_on_anything", true);

I started using this pref long ago (long before this bug showed up) because I
always though it was cool to see the focus when focus would normally be hidden,
but something somewhere has changed, and now this focus anywhere breaks form
select boxes.

I am re-opening this bug, but reducing severity to "trivial" as this only
affects an obscure undocumented pref.
Severity: normal → trivial
Status: RESOLVED → UNCONFIRMED
Resolution: WORKSFORME → ---
(Reporter)

Updated

16 years ago
Summary: must click three times on <select> form controls before dropdown appears → must click three times on <select> form controls before dropdown appears when pref browser.display.focus_ring_on_anything is enabled
(Reporter)

Comment 6

16 years ago
I suspect that the problem lies in nsPresShell.cpp

Observe how the following code uses the value focusRingOnAnything. That value is
ONLY true when this pref is enabled. When that value is true, there is a block
of code that NEVER gets executed, even in cases where it is supposed to. See?:

2485       if ((NS_SUCCEEDED(result) && focusRingWidth != 1 && focusRingWidth <=
4 ) || focusRingOnAnything) {
2486         PRUint32 index = 0;
2487         nsAutoString strRule;
2488         if (!focusRingOnAnything)
2489           strRule.Append(NS_LITERAL_STRING(":link:focus, :visited"));    //
If we only want focus rings on the normal things like links
2490         strRule.Append(NS_LITERAL_STRING(":focus {-moz-outline: "));     //
For example 3px dotted WindowText (maximum 4)
2491         strRule.AppendInt(focusRingWidth);
2492         strRule.Append(NS_LITERAL_STRING("px dotted WindowText !important;
} "));     // For example 3px dotted WindowText
2493         // insert the rules
2494         result = sheet->InsertRule(strRule,0,&index);
2495         NS_ENSURE_SUCCESS(result, result);
2496         if (focusRingWidth != 1) {
(Reporter)

Comment 7

16 years ago
grr. Stupid text wrapping. Let me explain in psuedocode:

if (normal_reasons_for_focus || focusRingOnAnything) {
  // stuff that should happen on all focuses
  if(!focusRingOnAnything){
     // stuff that should only happen on when normal_reasons_for_focus
  }
}

Does that make sense? The second "if" is wrong.

Comment 8

16 years ago
I can confirm this with linux nightly 2002082608.

This happens on pages where select:focus is defined in a stylesheet. I'll add a
testcase for easier testing.

Comment 9

16 years ago
Created attachment 96893 [details]
Testcase with two selects that show the difference

Comment 10

16 years ago
-->
Assignee: rods → jkeiser
(Reporter)

Comment 11

16 years ago
Confirming based on comment 8 (it is nice to know that these things arent just
in my head :)
Status: UNCONFIRMED → NEW
Ever confirmed: true

Comment 12

16 years ago
The attached test case also has the bug for me (the first pull down I have to
click 3 times).
Using Mozilla 1.0.1 (Build: 2002082607)
Not going to get lovin' anytime soon
Assignee: jkeiser → form
Target Milestone: --- → Future

Comment 14

14 years ago
The bug is still present in both mozilla 1.7 and mozilla 1.8alpha1
It happens also if the page changes the style of the select box in the onFocus
event.

Comment 15

14 years ago
*** Bug 250810 has been marked as a duplicate of this bug. ***

Comment 16

14 years ago
In my build (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a2) Gecko/20040709
Firefox/0.9.0+) both <select> widgets in the example perform exactly the same.
I.e. They both require 3 clicks to present drop downs.


Comment 17

14 years ago
After I have clicked them 3 times, then I only have to click them once, should I
want to.

Comment 18

14 years ago
I do not seem able to highlite text in the textarea of the yahoo! mail compose
page. However I can highlite text from this textarea. Indicating that it is
probably something yahoo! have put in their compose page. 

My build is still debug: (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a2)
Gecko/20040709
Firefox/0.9.0+

Comment 19

14 years ago
Bug exists in stock Firefox 0.9.3 on Linux, but not in stock Firefox 0.9.3 on
Windows.  Testcase behaves as described on Linux, i.e. 

A) First box gives problem but second box works fine (unlike comment #16);

B) Like #17, the bug only occurs once -- after I've clicked 3 times, I only need
to click once -- refreshing the page means I must 3-click again;

C) This bug repeats itself for each <select> on the page if you add more
:focus-styled <select>s to the page, i.e.  "only need to 3-click once" in B)
only applies to a particular <select> and not all of them on the page, even if
they are styled identically.

Testcase behaves as expected on Windows XP; only one click is ever necessary. 
I'm using KDE3.2 on Mandrake10 (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7)
Gecko/20040803 Firefox/0.9.3).  Is there a way to fix this by changing my prefs.js?

Comment 20

14 years ago
Are you sure this is the same bug?  Obviously the broken behavior is the same,
but the earlier bug appeared to be brought about by
browser.display.focus_ring_on_anything in prefs.js (a non-standard option),
while this one seems to come by default.  At least I find nothing like that line
in my prefs.js, and I'm certainly seeing the broken behavior.

Comment 21

14 years ago
(In reply to comment #20)
I agree. I did not have that option either.

Comment 22

14 years ago
(In reply to comment #21)
> (In reply to comment #20)
> I agree. I did not have that option either.

Is there a way to re-open the other bug?  Since this one's been marked Trivial,
I doubt we'll see any attention paid to it.  I'm a Bugzilla Newb and have no
idea what should happen next...
(Reporter)

Comment 23

14 years ago
I re-opened bug 250810
If you do not have the pref browser.display.focus_ring_on_anything enabled then
you are seeing a different bug (though due to the similarity of the symptoms,
the two *could* be related)
The testcase seems to work for me now, using:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a5) Gecko/20041003
Firefox/0.9.1+

Although, there is still a small issue: the drop down button keeps the pressed
look after clicking the select drop down box.

Comment 25

13 years ago
I still see this with Firefox 1.0 and 1.0.3. I strongly disagree with "Severity:
trivial" - for example, in Gallery 1.5 all the selects have properties and this
makes it very hard to use (until the CSS is edited to remove the select:focus -
see http://gallery.menalto.com/index.php?name=PNphpBB2&file=viewtopic&p=134047 ).
Severity: trivial → normal

Updated

13 years ago
Depends on: 281551

Comment 26

12 years ago
*** Bug 320849 has been marked as a duplicate of this bug. ***

Comment 27

12 years ago
Fixed by the checkin for bug 281551.
Status: NEW → RESOLVED
Last Resolved: 16 years ago12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.