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)
Firefox
Extension Compatibility
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
Reporter | ||
Updated•12 years ago
|
Blocks: australis-merge
Comment 1•12 years ago
|
||
Interesting. I don't see our MemChaser widget at all. Even not in customization mode. Where is it gone?
Reporter | ||
Comment 2•12 years ago
|
||
(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.
Comment 3•12 years ago
|
||
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)
Updated•12 years ago
|
Whiteboard: [Australis:P3]
Comment 4•12 years ago
|
||
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
Comment 5•12 years ago
|
||
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 → ---
Comment 6•12 years ago
|
||
(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)
Comment 7•12 years ago
|
||
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)
Comment 8•12 years ago
|
||
(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?
Comment 9•12 years ago
|
||
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.
Comment 11•12 years ago
|
||
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)
Comment 12•12 years ago
|
||
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)
Updated•12 years ago
|
Flags: needinfo?(zer0)
Comment 14•12 years ago
|
||
(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)
Comment 15•12 years ago
|
||
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)
Comment 16•12 years ago
|
||
If someone can get me steps to reproduce the problem... because it WFM.
Flags: needinfo?(gijskruitbosch+bugs)
Comment 17•12 years ago
|
||
(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)
Comment 18•12 years ago
|
||
(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)
Updated•12 years ago
|
Blocks: australis-addons
Updated•11 years ago
|
Updated•11 years ago
|
Flags: needinfo?(gijskruitbosch+bugs)
Comment 19•11 years ago
|
||
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 ago → 11 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.
Description
•