Closed Bug 940051 Opened 12 years ago Closed 11 years ago

Add-on SDK iframe code confused by migration to the palette (which destroys the iframe)

Categories

(Firefox :: Extension Compatibility, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: vladan, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [Australis:P3])

The MemChaser UI is broken in Australis. When I open a new Nightly window, I get the message "Initializing MemChaser..." in the browser toolbar, but it never goes away. Issue reproduces consistently. MemChaser version 0.5.2.1 Firefox Nightly 2013-11-18 Tested with Windows 7
Interesting. I don't see our MemChaser widget at all. Even not in customization mode. Where is it gone?
(In reply to Henrik Skupin (:whimboo) from comment #1) > Interesting. I don't see our MemChaser widget at all. Even not in > customization mode. Where is it gone? It's in the main browser toolbar on my system (near the new Firefox menu), the add-on toolbar has been removed in Australis.
I know that the add-on bar is history, but as said I don't see the widget at all. I'm working on Ubuntu 13.04. So it could be a platform related issue? Matteo, any idea what we miss here?
Flags: needinfo?(zer0)
Whiteboard: [Australis:P3]
I'm going to dupe this to the other bug filed about Memchaser in Australis, where people recently confirmed things were working, possibly due to some of the recent SDK fixes having made their way into Nightly by now. If you're still reproducing this issue, please feel free to reopen.
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: needinfo?(zer0)
Resolution: --- → DUPLICATE
Nope. It's not fixed for me with the most recent Nightly build on Linux. I don't see any of the widgets Memchaser supports. Even not in the customization palette.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
(In reply to Henrik Skupin (:whimboo) from comment #5) > Nope. It's not fixed for me with the most recent Nightly build on Linux. I > don't see any of the widgets Memchaser supports. Even not in the > customization palette. Are there any errors in the browser console? In the browser console, what does the following return: CustomizableUI.getPlacementOfWidget("widget:memchaser@quality.mozilla.org-memchaser-widget") ?
Flags: needinfo?(hskupin)
Good call. So something broke in the SDK or? memchaser: An exception occurred. TypeError: frame.docShell is undefined resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/content/symbiont.js 109 Traceback (most recent call last): File "resource://gre/modules/NetUtil.jsm", line 137, in aCallback(pipe.inputStream, aStatusCode, aRequest); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/net/url.js", line 49, in readAsync/< resolve(data); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve while (pending.length) result.then.apply(result, pending.shift()) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 36, in then return { then: function then(resolve) { resolve(value) } } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve while (pending.length) result.then.apply(result, pending.shift()) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 36, in then return { then: function then(resolve) { resolve(value) } } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve while (pending.length) result.then.apply(result, pending.shift()) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 36, in then return { then: function then(resolve) { resolve(value) } } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve while (pending.length) result.then.apply(result, pending.shift()) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 36, in then return { then: function then(resolve) { resolve(value) } } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve while (pending.length) result.then.apply(result, pending.shift()) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 36, in then return { then: function then(resolve) { resolve(value) } } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve while (pending.length) result.then.apply(result, pending.shift()) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 122, in then else result.then(resolved, rejected) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 36, in then return { then: function then(resolve) { resolve(value) } } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 54, in effort try { return f(options) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 142, in resolve while (pending.length) result.then.apply(result, pending.shift()) File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 36, in then return { then: function then(resolve) { resolve(value) } } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 116, in resolved function resolved(value) { deferred.resolve(resolve(value)) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/core/promise.js", line 54, in effort try { return f(options) } File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/addon/runner.js", line 91, in onLocalizationReady run(options); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/addon/runner.js", line 135, in run quit: exit File "resource://memchaser-at-quality-dot-mozilla-dot-org/memchaser/lib/main.js", line 89, in exports.main onClick: function () { File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 358, in Widget w._initWidget(options); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 263, in _initWidget browserManager.addItem(this); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 551, in browserManager_addItem this.windows.forEach(function (w) w.addItems([item])); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 551, in browserManager_addItem/< this.windows.forEach(function (w) w.addItems([item])); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 578, in BW_addItems items.forEach(this._addItemToWindow, this); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 598, in BW__addItemToWindow item.fill(); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 757, in WC_fill this.setContent(); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/widget.js", line 818, in WC_setContent onMessage: function(message) { File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/deprecated/traits.js", line 114, in Trait return self.constructor.apply(self, arguments) || self._public; File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/content/symbiont.js", line 62, in Symbiont this._initFrame(options.frame); File "resource://memchaser-at-quality-dot-mozilla-dot-org/addon-sdk/lib/sdk/content/symbiont.js", line 109, in _initFrame frame.docShell.allowJavascript = this.allow.script; I thought SDK add-ons are getting automatically updated with newer SDK versions, or at least its getting no longer used since it is part of Firefox core. Hm, probably I should have filed a separate bug for my issue.
Status: REOPENED → NEW
Flags: needinfo?(hskupin)
(In reply to Henrik Skupin (:whimboo) from comment #7) > Good call. So something broke in the SDK or? > > <snip> > > I thought SDK add-ons are getting automatically updated with newer SDK > versions, or at least its getting no longer used since it is part of Firefox > core. > Well, they are. Are there no updates available for your copy of memchaser, and/or do you have add-on updates turned off? I'd imagine the latest version on AMO no longer ships its own copy of the SDK... Does updating to that fix your issue?
Hm, add-on updates are turned on, but the AOM cannot find updates for the extension. I have 0.5.2 installed and as it looks like AMO itself created version 0.5.2.1, but no update is found even when I check manually. I will invstigate that later today and file a separate bug if necessary.
Any update on this?
Flags: needinfo?(hskupin)
Ok, so the problem I had here is gone. Not sure why the update of the add-on to the newest version didn't work but after leaving Nightly open for a while it updated all add-ons. Now memchaser is working. But I have seen the origin issue as reported here in comment 0! It also happened to me after upgrading an older Nightly from September last year with Memchaser 0.5.2.1 already installed to an Australis Nightly. It also happened on Windows 7. I will try to get more details in how to reproduce that.
Flags: needinfo?(hskupin)
Ok, so I can reproduce it with the following steps and current a current Nightly and Holly build: 1. Create a new profile with the holly build 2. Install Memchaser 0.5.2.1 from AMO 3. Hide the Add-on bar 4. Close Firefox 5. Start the recent Nightly build (including Australis) 6. Observe that the Memchaser UI is not visible or shows 'Initializing...' 7. Check the browser console for the failure. You will see the following: TypeError: frame.contentDocument is undefined Stack trace: _reallyInitFrame@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/content/symbiont.js:151 _initFrame@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/content/symbiont.js:112 Symbiont@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/content/symbiont.js:63 Trait@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/deprecated/traits.js:114 WC_setContent@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:867 WC_fill@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:806 BW__addItemToWindow@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:613 BW_addItems@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:593 browserManager_addItem/<@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:563 browserManager_addItem@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:563 _initWidget@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:273 Widget@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/widget.js:368 exports.main@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://memchaser-at-quality-dot-mozilla-dot-org/memchaser/lib/main.js:89 run@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/addon/runner.js:158 startup/<@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/addon/runner.js:113 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:153 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:153 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:118 then@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:43 resolve@resource://gre/modules/devtools/server/main.js -> resource://gre/modules/commonjs/sdk/core/promise.js:185 readAsync/<@resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/mozauto/AppData/Roaming/Mozilla/Firefox/Profiles/qrkfy9qk.test/extensions/memchaser@quality.mozilla.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/net/url.js:49 NetUtil_asyncOpen/<.onStopRequest@resource://gre/modules/NetUtil.jsm:137 Dave, is that an incompatibility of the Addon SDK with Australis?
Flags: needinfo?(dtownsend+bugmail)
Matteo, can you look into this?
Flags: needinfo?(dtownsend+bugmail)
Flags: needinfo?(zer0)
(In reply to Henrik Skupin (:whimboo) from comment #12) > Ok, so I can reproduce it with the following steps and current a current > Nightly and Holly build: > > 1. Create a new profile with the holly build > 2. Install Memchaser 0.5.2.1 from AMO > 3. Hide the Add-on bar > 4. Close Firefox > 5. Start the recent Nightly build (including Australis) > 6. Observe that the Memchaser UI is not visible or shows 'Initializing...' > 7. Check the browser console for the failure. > > Dave, is that an incompatibility of the Addon SDK with Australis? I'm confused. If you hide the add-on bar, it should automatically migrate items directly to the palette. The newer SDK in holly/nightly should also set a pref in the profile which shouldn't be re-adding the node afterwards, so I'd expect it to be in the palette. Is that not what you're seeing?
Flags: needinfo?(hskupin)
It could be the same problem happens in bug 961000, that disappears after restart the browser. It's clearly related to the iframe's that the sdk widget creates; and I thought it was fixed by Gijs in bug 931092, but it seems something odd is still happening. Gijs, can you give me a hand with that, to figure out why the frame seems not initialized yet in Australis, even with your patch, in this circumstances?
Flags: needinfo?(zer0) → needinfo?(gijskruitbosch+bugs)
If someone can get me steps to reproduce the problem... because it WFM.
Flags: needinfo?(gijskruitbosch+bugs)
(In reply to :Gijs Kruitbosch from comment #14) > I'm confused. If you hide the add-on bar, it should automatically migrate > items directly to the palette. The newer SDK in holly/nightly should also > set a pref in the profile which shouldn't be re-adding the node afterwards, > so I'd expect it to be in the palette. Is that not what you're seeing? It is in there. But it looks like that when the add-on bar was hidden before the migration, items are only added to the palette and aren't visible on the toolbar. Not sure if that is causing this problem. Beside this I thought that add-ons with iframes are getting their own toolbar and are not placed directly onto the menu bar. Is that a feature which is not ready yet? For steps please see my comment 12. Nothing has been changed here. Just install the extension with a holly build, hide the add-on bar, and start the same profile with a Nightly build.
Flags: needinfo?(hskupin)
(In reply to Henrik Skupin (:whimboo) from comment #17) > (In reply to :Gijs Kruitbosch from comment #14) > > I'm confused. If you hide the add-on bar, it should automatically migrate > > items directly to the palette. The newer SDK in holly/nightly should also > > set a pref in the profile which shouldn't be re-adding the node afterwards, > > so I'd expect it to be in the palette. Is that not what you're seeing? > > It is in there. But it looks like that when the add-on bar was hidden before > the migration, items are only added to the palette and aren't visible on the > toolbar. Correct. But memchaser would go to the palette even if the add-on bar were visible, because it's much too big to be put in the navbar straight away. (In particular, any widget > 100px will be moved to the palette rather than the navbar) > Not sure if that is causing this problem. Beside this I thought > that add-ons with iframes are getting their own toolbar and are not placed > directly onto the menu bar. Is that a feature which is not ready yet? I think the add-on SDK folks are working on a separate kind of toolbar that has either one or several iframes on it to deal with some of these usecases, but I don't know that/how add-ons created using the widget API can be integrated with that. Matteo would know more about that. From the browser side itself, there are no plans for dedicated toolbars for iframed add-ons. > For steps please see my comment 12. Nothing has been changed here. Just > install the extension with a holly build, hide the add-on bar, and start the > same profile with a Nightly build. So, the summary and comment #0, as compared with comment #12, differ substantially in how severe the problem is. I can reproduce the error messages with the steps from comment #12, but after restarting, everything is fine. The problem seems to be that the code in the SDK doesn't like the fact that the iframe is destroyed shortly after / while being created, because it is initially added to the add-on bar, and then removed, which would destroy its contentDocument. I don't know if/how this is fixable. Matteo, is this enough for you to go on?
Flags: needinfo?(zer0)
Summary: MemChaser extension is broken in Australis → Add-on SDK iframe code confused by migration to the palette (which destroys the iframe)
Flags: needinfo?(gijskruitbosch+bugs)
Against latest nightly, if I do the following: 0. Open holly/beta/release with a new profile 1. Install the latest version of memchaser from https://addons.mozilla.org/en-US/firefox/addon/memchaser/ (0.5.2.1 at time of writing) 2. Close holly/beta/release 3. Open same profile in nightly I see no errors (except one about the add-on being moved to the palette because it's too wide, which is expected). Adding it to a toolbar afterwards also works as expected. If between step 1 and 2, I make the addonbar collapse, everything also works and I still see no errors. I'm going to close this as WFM. If someone is still seeing issues and can give STR, please reopen.
Status: NEW → RESOLVED
Closed: 12 years ago11 years ago
Flags: needinfo?(zer0)
Flags: needinfo?(gijskruitbosch+bugs)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.