Closed Bug 1283342 Opened 9 years ago Closed 8 years ago

"User-Agent Switcher" add-on's toolbar menu is blank. Exception... "Method not implemented" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk

Categories

(Firefox :: Extension Compatibility, defect)

49 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1294199
Tracking Status
firefox47 --- unaffected
firefox48 --- unaffected
firefox49 - fix-optional
firefox50 --- fixed
firefox51 --- fixed

People

(Reporter: cpeterson, Unassigned)

References

()

Details

(Keywords: regression)

[Tracking Requested - why for this release]: This is a regression in 49. James, I bisected the regression to your fix for bug 1269361. Would you expect add-on breakage from your change? STR: 1. Install the "User-Agent Switcher" add-on. Note that there are other add-ons with similar names, but you want this one: https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher-firefox/ 2. The add-on will add a globe icon to your toolbar. 3. Click the globe icon to see a menu of browser icons. 4. Open a Private Browsing window. 5. Click the globe icon in the Private Browsing window. RESULT: The menu is blank. The following JavaScript exceptions is logged to the console: console.error: useragentswitcher: Message: [Exception... "Method not implemented" nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/frame/utils.js :: swapFrameLoaders :: line 92" data: no] Stack: swapFrameLoaders@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/frame/utils.js:92:10 onDisplayChange@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel/utils.js:289:7 openPopup@chrome://global/content/bindings/popup.xml:50:15 display@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel/utils.js:194:3 open@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel/utils.js:79:8 show@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel/utils.js:222:3 show@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel.js:292:7 button<.onClick@resource://gre/modules/commonjs/toolkit/loader.js -> resource://jid1-kyxeacwua7bekq-at-jetpack/lib/firefox/firefox.js:36:27 emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9 emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38 @resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/ui/button/action.js:101:3 emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9 emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38 receive@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:115:5 transform/next@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:36:24 filter/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:53:7 transform/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:43:29 emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9 emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38 receive@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:115:5 transform/next@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:36:24 filter/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:53:7 transform/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/utils.js:43:29 emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9 emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38 create/<.onBuild/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/ui/button/view.js:155:11 EventListener.handleEvent*create/<.onBuild@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/ui/button/view.js:153:7 CustomizableUIInternal.wrapWidgetEventHandler/aWidget[aEventName]@resource://app/modules/CustomizableUI.jsm:2418:16 CustomizableUIInternal.buildWidget@resource://app/modules/CustomizableUI.jsm:1344:16 CustomizableUIInternal.getWidgetNode@resource://app/modules/CustomizableUI.jsm:897:16 CustomizableUIInternal.buildArea@resource://app/modules/CustomizableUI.jsm:723:32 CustomizableUIInternal.registerToolbarNode@resource://app/modules/CustomizableUI.jsm:676:9 this.CustomizableUI.registerToolbarNode@resource://app/modules/CustomizableUI.jsm:3061:5 _init@chrome://browser/content/customizableui/toolbar.xml:85:11 onReadyStateChange@chrome://browser/content/customizableui/toolbar.xml:37:15 EventListener.handleEvent*toolbar_XBL_Constructor@chrome://browser/content/customizableui/toolbar.xml:33:13 console.error: useragentswitcher: Message: [Exception... "Method not implemented" nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)" location: "JS frame :: resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/frame/utils.js :: swapFrameLoaders :: line 92" data: no] Stack: swapFrameLoaders@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/frame/utils.js:92:10 onDisplayChange@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel/utils.js:289:7 EventListener.handleEvent*make@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel/utils.js:323:3 setup@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/panel.js:171:16 @resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/disposable.js:45:56 dispatch@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/method/core.js:119:12 Disposable<.initialize@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/disposable.js:135:17 constructor@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/heritage.js:146:23 @resource://gre/modules/commonjs/toolkit/loader.js -> resource://jid1-kyxeacwua7bekq-at-jetpack/lib/firefox/firefox.js:54:13 evaluate@resource://gre/modules/commonjs/toolkit/loader.js:279:19 load@resource://gre/modules/commonjs/toolkit/loader.js:331:5 _require@resource://gre/modules/commonjs/toolkit/loader.js:671:16 require@resource://gre/modules/commonjs/toolkit/loader.js:625:12 @resource://gre/modules/commonjs/toolkit/loader.js -> resource://jid1-kyxeacwua7bekq-at-jetpack/lib/common.js:3:13 evaluate@resource://gre/modules/commonjs/toolkit/loader.js:279:19 load@resource://gre/modules/commonjs/toolkit/loader.js:331:5 main@resource://gre/modules/commonjs/toolkit/loader.js:786:10 run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/addon/runner.js:147:19 startup/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/addon/runner.js:87:9 Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23 this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7 Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11 this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7 this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7 handler@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/addon/window.js:56:3 EventListener.handleEvent*@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/addon/window.js:54:1 evaluate@resource://gre/modules/commonjs/toolkit/loader.js:279:19 load@resource://gre/modules/commonjs/toolkit/loader.js:331:5 _require@resource://gre/modules/commonjs/toolkit/loader.js:671:16 require@resource://gre/modules/commonjs/toolkit/loader.js:625:12 startup/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/addon/runner.js:72:21 Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23 this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7 Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11 this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7 this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7 listener/<@resource://gre/modules/sdk/system/Startup.js:52:46
Flags: needinfo?(jandreou)
It is possible that the addon is using persisted OriginAttributes somewhere, and with the addition of new attributes something breaks.
Flags: needinfo?(jandreou)
I reported this issue to the add-on developer here: http://mybrowseraddon.com/useragent-switcher.html
Version: unspecified → 49 Branch
Where do addon bugs get reported? Should we move the component? Or do we expect this type of breakage not to occur?
Flags: needinfo?(ryanvm)
Component: DOM → Extension Compatibility
Flags: needinfo?(ryanvm)
Product: Core → Firefox
Andy, this appears to be a problem in the sdk layer. Can your team take a look?
Flags: needinfo?(amckay)
Blocks: e10s-addons
Flags: needinfo?(amckay)
See Also: → 1294199
More information present in bug 1294199, so duping forward.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Mark 50/51 fixed as bug 1294199 was verified in 50/51.
You need to log in before you can comment on or make changes to this bug.