Closed Bug 203269 Opened 23 years ago Closed 18 years ago

CookieDialog() prompt forces user to click checkbox for remember decision

Categories

(Core :: Networking: Cookies, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mikepinkerton, Unassigned)

Details

When the cookie embedding api puts up a dialog to prompt for each cookie, the user can choose to remember the decision for the site via a checkbox. The default should be to have the checkbox set (remember), or failing that, should itself remember what the user had last chosen. However, line 104 of nsCookiePermissions always sets the checkbox to false before calling the embedding api: 104 PRBool rememberDecision = PR_FALSE; We are overriding this in camino, but the default should be changed in mozilla code. The current setup requires two clicks for the more common behavior of accepting or denying for entire sites and is a very annoying usability quirk.
OS: MacOS X → All
Hardware: Macintosh → All
The current default is that the checkbox is off when the dialog shows up the first time, and remembers the value the users choose the next time, by using the persits attribute in the xul file. The initialization for false is only to make sure it at least contains something. It is not that usefull anymore... The cookiepromptservice doesn't use it, other than as an outparam.
mvl, i'm talking about embedding, where we have no xul persistance of attributes. the code in the embedding layer hardwires it to false.
I meant to say that for mozilla proper, it doesn't really matter what aRememberDecision is before calling the cookiepromtservice. It is not used there. It is just an outparam that says if we need to add the decision to the permissions list. (see nsICookiePromptService.idl, it is defined as |out boolean rememberDecision|) It used to be an inoutparam, but that was changed. I thought it made more sense to let xul handle it, as it was perfectly capable of it. Do you mean you want that back to nsCookiePermissions? That said, I don't mind if you change the default to false.
y'know, we could kill the persist and just save "checked" as a pref, don't think there's any significant perf hit if we do it that way, and its more embedding-friendly. I'm sure the embeddors not using XUL could save on code as a result. Thoughts? If we don't do it as a pref, we might as well just WONTFIX this and be done with it.
You can have two opinions on the purpose of nsICookiePromptService: 1. It's purpose is to provide a dialog just like the one in seamonkey. With a checkbox that remembers state and all. 2. It should just ask about the cookie, in a way the implementation sees fit. For seamonkey, that happens to be with a checkbox thet remembers state. for option 1, we could /should provide the state of the checkbox as a in param. Maybe stored internally as a pref for option 2, it is the problem of the implementation. seamonkey handles remebering state with the perstist attribute. I personally see option 2 as the best option. Yes, it mean moving the problem to the implementation.
-> default owner
Assignee: darin → nobody
-> wontfix, if this is still relevant (who doesn't use xul!?) please reopen
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.