Backtrack addon causes premature insertion of tabs' lazy browsers

RESOLVED FIXED

Status

Tech Evangelism
Add-ons
RESOLVED FIXED
6 months ago
6 months ago

People

(Reporter: Kevin Jones, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 months ago
[bug 1345098] Lazy browser prematurely inserted via 'messageManager' property access:
getter@chrome://browser/content/tabbrowser.xml:2122:45
onTabClosing@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/allasso/Library/Application%20Support/Firefox/Profiles/ALT2/extensions/backtrack@byalexv.co.uk.xpi!/bootstrap.js:1164:9
onSSTabClosing@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users/allasso/Library/Application%20Support/Firefox/Profiles/ALT2/extensions/backtrack@byalexv.co.uk.xpi!/bootstrap.js:1094:5
ssi_onTabClose@resource:///modules/sessionstore/SessionStore.jsm:1930:5
ssi_handleEvent@resource:///modules/sessionstore/SessionStore.jsm:1012:11
_beginRemoveTab@chrome://browser/content/tabbrowser.xml:2772:13
removeTab@chrome://browser/content/tabbrowser.xml:2639:18
removeAllTabsBut@chrome://browser/content/tabbrowser.xml:2587:19
oncommand@chrome://browser/content/browser.xul:1:1

Comment 1

6 months ago
(In reply to Kevin Jones from comment #0)

Do you think that this addon migth also be at fault when I close the browser. I still get all content processes started at shutdown, even after Bug 1360940 landed. (But now the error console is closed before it could show anything)

Comment 2

6 months ago
(In reply to avada from comment #1)
> (In reply to Kevin Jones from comment #0)
> 
> Do you think that this addon migth also be at fault when I close the
> browser. I still get all content processes started at shutdown, even after
> Bug 1360940 landed. (But now the error console is closed before it could
> show anything)

Rather than closing Firefox completely, try to use two windows, close one of them and check the error console.

Comment 3

6 months ago
(In reply to Dão Gottwald [::dao] from comment #2)
> (In reply to avada from comment #1)
> Rather than closing Firefox completely, try to use two windows, close one of
> them and check the error console.

I did. When I disabled Backtrack content processes weren't started. But only for closing the window or browser case. When closing left/right/other tabs it looks like another addon (apparently Findbar Tweak) took up the mantle.
Lazy tabs seem super volatile when using addons. Out of curiosity couldn't "'messageManager' property access" be made to preserve laziness? It seems addons like to use it.


Here's the error console output:

"[bug 1345098] Lazy browser prematurely inserted via 'messageManager' property access:
getter@chrome://browser/content/tabbrowser.xml:2126:45
messageBrowser@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Messenger.jsm:88:1
unloadFromBrowser@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Messenger.jsm:143:3
handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/findInTabsMini.jsm:30:5
handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Listeners.jsm:59:6
_beginRemoveTab@chrome://tabmixplus/content/changecode.js line 220 > eval:80:13
removeTab@chrome://browser/content/tabbrowser.xml:2643:18
change_gBrowser/gBrowser.removeTab@chrome://tabmixplus/content/minit/tablib.js:255:14
addNewFunctionsTo_gBrowser/gBrowser.closeRightTabs@chrome://tabmixplus/content/minit/tablib.js:1255:13
addNewFunctionsTo_gBrowser/gBrowser._closeRightTabs@chrome://tabmixplus/content/minit/tablib.js:1238:9
oncommand@chrome://browser/content/browser.xul:1:1
" tabbrowser.xml:2126


"[bug 1345098] Lazy browser prematurely inserted via 'messageManager' property access:
getter@chrome://browser/content/tabbrowser.xml:2126:45
messageBrowser@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Messenger.jsm:88:1
unloadFromBrowser@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Messenger.jsm:143:3
handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/findInTabsMini.jsm:30:5
handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Listeners.jsm:59:6
_beginRemoveTab@chrome://tabmixplus/content/changecode.js line 220 > eval:80:13
removeTab@chrome://browser/content/tabbrowser.xml:2643:18
change_gBrowser/gBrowser.removeTab@chrome://tabmixplus/content/minit/tablib.js:255:14
TMP_closeLeftTabs@chrome://tabmixplus/content/minit/tablib.js:1274:13
addNewFunctionsTo_gBrowser/gBrowser._closeLeftTabs@chrome://tabmixplus/content/minit/tablib.js:1231:9
oncommand@chrome://browser/content/browser.xul:1:1
" tabbrowser.xml:2126


"[bug 1345098] Lazy browser prematurely inserted via 'messageManager' property access:
getter@chrome://browser/content/tabbrowser.xml:2126:45
messageBrowser@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Messenger.jsm:88:1
unloadFromBrowser@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Messenger.jsm:143:3
handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/findInTabsMini.jsm:30:5
handleEvent@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/Zsolt/AppData/Roaming/Mozilla/Firefox/Profiles/q74vpos5.teszt-teljes/extensions/fbt@quicksaver.xpi!/bootstrap.js -> resource://findbartweak/modules/utils/Modules.jsm -> resource://findbartweak/modules/utils/Listeners.jsm:59:6
_beginRemoveTab@chrome://tabmixplus/content/changecode.js line 220 > eval:80:13
removeTab@chrome://browser/content/tabbrowser.xml:2643:18
change_gBrowser/gBrowser.removeTab@chrome://tabmixplus/content/minit/tablib.js:255:14
TMP_removeAllTabsBut@chrome://tabmixplus/content/minit/tablib.js:1292:13
oncommand@chrome://browser/content/browser.xul:1:1
"

Comment 4

6 months ago
BackTrack Tab History v0.16 (currently in dev channel on AMO) should no longer accesses the messageManager on tab close if the tab has the pending attribute set.

Can't help you with Findbar Tweak, I'm afraid.

Comment 5

6 months ago
(In reply to Alex Vallat from comment #4)
> BackTrack Tab History v0.16 (currently in dev channel on AMO) should no
> longer accesses the messageManager on tab close if the tab has the pending
> attribute set.

Indeed. I can verify that v0.16 doesn't cause insertions on tab/window closing.

> 
> Can't help you with Findbar Tweak, I'm afraid.

Sadly no-one can. Quicksaver abandoned all addon development due to the XUL phase-out...
(Reporter)

Comment 6

6 months ago
(In reply to avada from comment #3)
> Out of curiosity couldn't
> "'messageManager' property access" be made to preserve laziness? It seems
> addons like to use it.

Certain property accesses on the lazy browser will force insertion.  This is a safety catch to keep addons from simply breaking if they try to access them.  In some cases where the property is simply supplying some values for example userTypedValue, we are able to supply a value or function in proxy.  Unfortunately this is not the case with messageManager and simply not inserting the browser would in most cases cause things to break.
(Reporter)

Comment 7

6 months ago
(In reply to Kevin Jones from comment #6)
> (In reply to avada from comment #3)
> > Out of curiosity couldn't
> > "'messageManager' property access" be made to preserve laziness? It seems
> > addons like to use it.
> 
> Certain property accesses on the lazy browser will force insertion.  This is
> a safety catch to keep addons from simply breaking if they try to access
> them.  In some cases where the property is simply supplying some values for
> example userTypedValue, we are able to supply a value or function in proxy. 
> Unfortunately this is not the case with messageManager and simply not
> inserting the browser would in most cases cause things to break.

My explanation was not very complete.  There are many properties which are created when the browser is inserted into the document which do not normally exist beforehand (in lazy state).  Thus the reason for the "safety catch".

Updated

6 months ago
Status: NEW → RESOLVED
Last Resolved: 6 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.