Closed Bug 149981 Opened 22 years ago Closed 19 years ago

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

Categories

(Core :: Layout: Form Controls, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Future

People

(Reporter: MozillaUser, Unassigned)

References

()

Details

Attachments

(1 file)

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.
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)
*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
Closed: 22 years ago
Resolution: --- → WORKSFORME
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 → ---
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
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) {
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.
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.
-->
Assignee: rods → jkeiser
Confirming based on comment 8 (it is nice to know that these things arent just
in my head :)
Status: UNCONFIRMED → NEW
Ever confirmed: true
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
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.
*** Bug 250810 has been marked as a duplicate of this bug. ***
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.


After I have clicked them 3 times, then I only have to click them once, should I
want to.
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+
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?
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.
(In reply to comment #20)
I agree. I did not have that option either.
(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...
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.
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
Depends on: 281551
*** Bug 320849 has been marked as a duplicate of this bug. ***
Fixed by the checkin for bug 281551.
Status: NEW → RESOLVED
Closed: 22 years ago19 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: