Woohoo. Objects (especially arrays) created by subscript loader code (like, say, every single plugin) now fails instanceof in the main window code. This utterly screws over hooks, and ends up with plugin-set hooks matching pretty much every event. Global search and replace time.
Created attachment 236602 [details] [diff] [review] Use isinstance everywhere
Is this caused by a JS engine and/or XPConnect regression that should be filed separately, or was the change intentional?
Don't know, don't care, right now. If you want want to do the work to find out, do it, but I sure don't. I just want ChatZilla to actually work. :(
Comment on attachment 236602 [details] [diff] [review] Use isinstance everywhere How about changing isinstance to check instanceof first?
Sorry, I did look, but I was expecting it as the first test... oops...
(In reply to comment #3) > Don't know, don't care, right now. If you want want to do the work to find out, > do it, but I sure don't. I just want ChatZilla to actually work. :( Do you have an approximate regression range?
No. It could easily be as far back as bug 336040 comment 5.
Checking in mozilla/extensions/irc/js/lib/file-utils.js; /cvsroot/mozilla/extensions/irc/js/lib/file-utils.js,v <-- file-utils.js new revision: 1.10; previous revision: 1.9 done Checking in mozilla/extensions/irc/js/lib/menu-manager.js; /cvsroot/mozilla/extensions/irc/js/lib/menu-manager.js,v <-- menu-manager.js new revision: 1.8; previous revision: 1.7 done Checking in mozilla/extensions/irc/js/lib/pref-manager.js; /cvsroot/mozilla/extensions/irc/js/lib/pref-manager.js,v <-- pref-manager.js new revision: 1.15; previous revision: 1.14 done Checking in mozilla/extensions/irc/js/lib/text-serializer.js; /cvsroot/mozilla/extensions/irc/js/lib/text-serializer.js,v <-- text-serializer.js new revision: 1.5; previous revision: 1.4 done Checking in mozilla/extensions/irc/js/lib/utils.js; /cvsroot/mozilla/extensions/irc/js/lib/utils.js,v <-- utils.js new revision: 1.65; previous revision: 1.64 done Checking in mozilla/extensions/irc/xul/content/config.js; /cvsroot/mozilla/extensions/irc/xul/content/config.js,v <-- config.js new revision: 1.11; previous revision: 1.10 done Checking in mozilla/extensions/irc/xul/content/handlers.js; /cvsroot/mozilla/extensions/irc/xul/content/handlers.js,v <-- handlers.js new revision: 1.137; previous revision: 1.136 done Checking in mozilla/extensions/irc/xul/content/networks.js; /cvsroot/mozilla/extensions/irc/xul/content/networks.js,v <-- networks.js new revision: 1.2; previous revision: 1.1 done Checking in mozilla/extensions/irc/xul/content/static.js; /cvsroot/mozilla/extensions/irc/xul/content/static.js,v <-- static.js new revision: 1.210; previous revision: 1.209 done Checking in mozilla/extensions/irc/xul/lib/munger.js; /cvsroot/mozilla/extensions/irc/xul/lib/munger.js,v <-- munger.js new revision: 1.21; previous revision: 1.20 done Checking in mozilla/extensions/irc/xul/lib/tree-utils.js; /cvsroot/mozilla/extensions/irc/xul/lib/tree-utils.js,v <-- tree-utils.js new revision: 1.3; previous revision: 1.2 done