Bewertet mit 4 von 5 Sternen
I recently upgraded to Firefox 20.0 and also decided to start with a clean slate by creating a new profile to replace the one I've been using since at least Firefox 3.x or so. I've used IdentFavIcon and Menu Editor for years with no issues -- even on my old profile which had developed more than its fair share of bugs, glitches, corruption, etc. over the years. However, after re-installing all my add-ons I began getting an error dialog on Firefox startup right as the main window appears:
____ "showContextMenuItem() threw exception TypeError: document.popupNode is null" ____
The dialog is modal and stops the main window's startup process dead in tracks -- i.e. tabs don't load and the interface won't respond at all until the dialog is closed. Now, considering that Menu Editor is an add-on that deals primarily with context menus and the error is regarding the function show*ContextMenu*Item(), it's been one of my prime suspects as the culprit from the beginning. But after much disabling/re-enabling/restarting/etc. of all my add-ons to weed out the culprit, I found that Menu Editor works fine with all my add-ons *except* IdentFavIcon. Now, to be fair, the code at fault here still may easily be in Menu Editor, but since it plays nice with the ~40 other add-ons I have installed -- including other menu modifying add-ons, e.g. Stay-Open Menu -- I still wonder if it's not something with IdentFavIcon and thought it was at least worth mentioning to the add-on's developer.
I went digging around in the code for both add-ons hoping to have a look at this"showContextMenuItem" function and see if it was something I could patch myself. I found that it is indeed a function declared by IdentFavIcon in .\content\identfavicon.js and, specifically, it's the variable declariation on line 354:
____ "var doc = document.popupNode.ownerDocument;" ____
After watching the properties for "document.popupNode" in ExecuteJS for awhile it appeared to be always null. Well, except when a context menu is active I'm guessing -- but that's hard to determine with ExecuteJS since as soon as you click its "Properites" button (or anywhere in Firefox for that matter) any active context menu immediately closes and assumingly returns "popupNode" to a null state.
So while it turns out that IdentFavicon is the add-on throwing the error, and it might be Menu Editor's fault, my guess is actually that the problem is that recent versions of Firefox handle "popupNode" differently now? Because, like I said in the beginning, I've never had problems with IdentFavIcon and Menu Editor before and this all started when I upgraded to Firefox 20.0.
Anyway, this add-on is otherwise very good. It may only perform a relatively minor visually tweak to the browser, but it's one of those simple aesthetic improvement that goes a long way and (I figured Mozilla would have made it standard in Firefox by now) and I/we hope I can find a way to continue using it. Thanks for your time and effort!