Backtrack addon causes premature insertion of tabs' lazy browsers

RESOLVED FIXED

Status

RESOLVED FIXED
2 years ago
22 hours ago

People

(Reporter: u462496, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years 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

2 years 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)
(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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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".
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
(Assignee)

Updated

22 hours ago
Component: Add-ons → General
Product: Tech Evangelism → WebExtensions
You need to log in before you can comment on or make changes to this bug.