Closed Bug 328705 Opened 20 years ago Closed 15 years ago

Internet security Allow button greyed out if prior alert didn't use mouse

Categories

(Core :: Security, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: danswer, Assigned: dveditz)

Details

(Keywords: testcase)

Attachments

(1 file)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 If the dialog prior to the second privilege request dialog (Internet Security dialog) is dismissed with a space bar instead of the mouse, then the Allow button on that second privilege request dialog is greyed out even though valid. This is on my Win XP Pro / SP 2 system. The attachment must be saved to local disk to demo the problem. I have tried making a simpler example of just having a dialog box and then the privilege request dialog, but the problem did not appear in that case. It may have something to do with the fact that the security.dialog_enable_delay is being changed. Reproducible: Always Steps to Reproduce: See attachment comments Actual Results: An Internet Security dialog is presented where the Allow button is greyed out even though it is valid (and the dialog has focus). I could not reach the button through the keyboard which makes this an accessibility issue. Clicking once on the Allow button causes it to become ungreyed, and on the next click, the Allow is accepted.
<html><head><title>Pref Observer</title></head> <body onload="window.setTimeout('setupPrefObserver()',0)"> This bug shows a greyed out Allow button that is actually valid. You must save to file to your local hard drive for the demo to work<br><br> Close all Firefoxes and bring up a fresh instance.<br> Have FF open up this .HTM as a file from the local hard drive - I drag the file onto FF.<br> Click Allow (just this once (the checkbox should not be checked) to the prefs observer.<br> Open up about:config in an adjacent tab (ctrl+t, about:config).<br> Type in 'delay' (without quotes) to get to security.dialog_enable_delay.<br> Double click to change the value (to 400, say).<br> Select OK with the spacebar on the alert box. IMPORTANT: do not use the mouse.<br><br> Now you will get another Privilege request dialog (for the prefs.js reader) and (BUG:) the Allow will be greyed out even though it is valid. If you click on it, you will see it become valid. <script type='text/javascript'> function setupPrefObserver() { var myPrefObserver = { register: function() { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (ex) { alert ("Unable to enable UniversalXPConnect privilege within register"); return; } var prefService = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefService); this.prfSvc = prefService; this._branch = prefService.getBranch(""); this._branch.QueryInterface(Components.interfaces.nsIPrefBranch2); this._branch.addObserver("", this, false); }, unregister: function() { if(!this._branch) return; this._branch.removeObserver("", this); }, getValue: function(prefName, defaultValue) { var prefType; try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (ex) { alert ("Unable to enable UniversalXPConnect privilege within getValue"); return; } var prefs = Components.classes["@mozilla.org/preferences-service;1"]. getService(Components.interfaces.nsIPrefBranch); prefType = prefs.getPrefType(prefName); switch (prefType) { case prefs.PREF_STRING: return prefs.getCharPref(prefName); case prefs.PREF_BOOL: return prefs.getBoolPref(prefName); case prefs.PREF_INT: return prefs.getIntPref(prefName); case prefs.PREF_INVALID:return defaultValue; default: // nothing found return "unaccounted for condition in getValue: " + prefType; } }, observe: function(aSubject, aTopic, aData) { if(aTopic != "nsPref:changed") return; // aSubject is the nsIPrefBranch we're observing (after appropriate QI) // aData is the name of the pref that's been changed (relative to aSubject) alert (aSubject + "\n" + aData); alert (this.getValue(aData, "value not found")); } } myPrefObserver.register(); } </script> </body></html> Csaba Gabor from Vienna
Keywords: testcase
Seems to be a timing issue and not have anything to do with the keyboard. If I dismiss the prior alert quickly (mouse or keyboard), then the Allow button stays grey. If I take my time to dimiss the prior alert, then the Allow button is colored normally.
Reporter: Is this still an issue with FF3.0.3 or later ?
For greasemonkey reasons, I am stuck with Firefox 1.5 for the foreseeable future so I cannot confirm this in the near future.
Resolving unconfirmed bugs older than a year with no activity as INCOMPLETE. Please reopen or file a new bug if you can still reproduce the bug.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: