A "catch all" component for problems found when using the SeaMonkey suite which do not fall into one of the current components. Example: launch/exit crashes, features missing, etc.
PLEASE NOTE!! Try to find a component which is specific to your bug first - BEFORE assigning to this component!

This patch ports the old-fashioned notification bar (used for geolocation requests in the sidebar) to the main SeaMonkey window. It should tide things over until bug 1323494 is resolved.
This should be applied to 2.49 ESR if possible.

Comment on attachment 8872096[details][diff][review]
1323494-use-notification-bar-for-geolocation.patch
Halfway there :)
The Firefox notification prompt for geolocation does not use the checkbox. With the patch I am loosing the ability to permanently forbid the geolocation prompting from the website. Never Share is no longer an option. The missing checkbox might also affect other notifications e.g. storage and not only geolocation but one step at a time (see /suite/common/src/nsSuiteGlue.js line 1450: case "desktop-notification").
Switching from a doorhanger to a notification bar would be ok for me but this needs a blessing from a higher up.
I would suggest hiding the checkbox and add a Never Share button back. Please also test it in private browsing mode.
IanN, would switching to a notification bar ok for you too? Not hat Isaac does it an it then gets shot down.
f+ for now.

It seems to me that if you check "remember for this website" and hit "not for this request", it will deny all future geolocation requests for the domain, which should (if I'm not mistaken) mirror what the Never Share button does. (This can be reset in Data Manager on the Permissions tab.)
You're right about Firefox 52 ESR not using the checkbox. In Firefox, if I don't put a breakpoint in it works, but if I put a breakpoint at line 1291 of PopupNotifications.jsm (using the Browser Toolbox) it fails with "notificationEl.checkbox is undefined". Possibly some sort of race condition?

This patch removes the checkbox from the notification bar and applies it to both the main window and the sidebar.
For regular browsing, there are 3 buttons: always allow, don't allow for this request, and never allow.
For private browsing, there are 2 buttons: allow for this request, and don't allow for this request.

Comment on attachment 8874840[details][diff][review]
1323494-geolocation-notification-bar-3buttons.patch
r+ and Big thanks.
Tested with a 2.48 from the current release tree. en-US and de. The buttons were properly localized so I do not expect any problems here.
Any chance you can revisit it for 249 and add the doorhanger back?

This is PopupNotifications.jsm, line 1291:
try {
notification.mainAction.callback.call(undefined, {
checkboxChecked: notificationEl.checkbox.checked
});
} catch (error) {
Cu.reportError(error);
}
At this point, notificationEl.checkbox is undefined. If you put a breakpoint there (Firefox 52 ESR), it will throw an error. However, I think Firefox is optimizing something behind the scenes, because the callback method it's calling, in Firefox's case, is at PermissionsUI.jsm, line 300 - an arrow function that does not take any parameters - and if there's no breakpoints, it works fine.
Unfortunately, I can't get SeaMonkey to work the same way. I tried changing the callback functions in suite/common/bindings/notification.xml from "function (aNotification)" to just "() =>", and I still get the same "notificationEl.checkbox" error in the browser console.
This could be resolved by changing a line of code in mozilla-esr52. Perhaps it's worth reporting a bug there so they are aware of the issue, since this could wind up biting Firefox devs in the future.

Comment on attachment 8878660[details][diff][review]
1368277-geolocation-notification-bar-v3.patch
r=me but, for a followup bug, looks like there is some common code between methods, is it possible to refactor?

(In reply to Isaac Schemm from comment #13)
> Do you mean between the sidebar and main window? It should be possible, but
> ideally we could use the Firefox notifications for the main window, and I
> don't know if those would work in the sidebar.
I was thinking some sort of shared helper, but not sure exactly how that would work yet.
I would land this patch as is and worry about any other changes in a follow-up.