(In reply to Matt Woodrow (:mattwoodrow) from comment #6) > It looks like the quitter's contentscript never successfully sends the message, it fails every time with "browser.quitter is undefined". > > Shane, do you have any idea why beta would be different here? That doesn't quite make sense. browser.quitter is used in the background script when the message is received from the content script. That would indicate to me that the content script is fine, but the experimental api (parent.js) is not being loaded for the extension. We allow experimental apis to be loaded if AddonSettings.ALLOW_LEGACY_EXTENSIONS is true, which is set here: https://searchfox.org/mozilla-central/rev/690e903ef689a4eca335b96bd903580394864a1c/toolkit/mozapps/extensions/internal/AddonSettings.jsm#51-60 So one of AppConstants.MOZ_ALLOW_LEGACY_EXTENSIONS || Cu.isInAutomation has changed in Beta. MOZ_ALLOW_LEGACY_EXTENSIONS is a build flag. Cu.isInAutomation is a pref set here: https://searchfox.org/mozilla-central/source/js/xpconnect/src/xpcpublic.h#676 That is the security.turn_off_all_security_so_that_viruses_can_take_over_this_computer pref and the MOZ_DISABLE_NONLOCAL_CONNECTIONS environment variable. So, look for one of those three things to be different where your running the quitter extension. An alternate issue (but I would look at the above items first) we've run into with perma failures on merge is that we need to call AddonTestUtils.overrideCertDB(); in our xpcshell tests. That is implemented here: https://searchfox.org/mozilla-central/rev/690e903ef689a4eca335b96bd903580394864a1c/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm#739
Bug 1601252 Comment 7 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Matt Woodrow (:mattwoodrow) from comment #6) > It looks like the quitter's contentscript never successfully sends the message, it fails every time with "browser.quitter is undefined". > > Shane, do you have any idea why beta would be different here? That doesn't quite make sense. browser.quitter is used in the background script when the message is received from the content script. That would indicate to me that the content script is fine, but the experimental api (parent.js) is not being loaded for the extension. We allow experimental apis to be loaded if AddonSettings.ALLOW_LEGACY_EXTENSIONS is true, which is set here: https://searchfox.org/mozilla-central/rev/690e903ef689a4eca335b96bd903580394864a1c/toolkit/mozapps/extensions/internal/AddonSettings.jsm#51-60 So one of AppConstants.MOZ_ALLOW_LEGACY_EXTENSIONS || Cu.isInAutomation has changed in Beta. MOZ_ALLOW_LEGACY_EXTENSIONS is a build flag. Cu.isInAutomation is a pref set here: https://searchfox.org/mozilla-central/source/js/xpconnect/src/xpcpublic.h#676 That is the security.turn_off_all_security_so_that_viruses_can_take_over_this_computer pref and the MOZ_DISABLE_NONLOCAL_CONNECTIONS environment variable. So, look for one of those three things to be different where your running the quitter extension. An alternate issue (but I would look at the above items first) we've run into with perma failures on merge is that we need to call AddonTestUtils.overrideCertDB(); in our xpcshell tests. That is implemented here: https://searchfox.org/mozilla-central/rev/690e903ef689a4eca335b96bd903580394864a1c/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm#739 Related code in Extension.jsm where we check if experimental apis are allowed: https://searchfox.org/mozilla-central/rev/690e903ef689a4eca335b96bd903580394864a1c/toolkit/components/extensions/Extension.jsm#1872-1884