Closed Bug 1396438 Opened 3 years ago Closed 3 years ago

this.widget is null 1 ext-browserAction.js:523 in Browser console when click on New Tab Button

Categories

(Firefox :: Tabbed Browser, defect, P1)

57 Branch
defect

Tracking

()

RESOLVED FIXED
Iteration:
57.3 - Sep 19
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 --- fixed

People

(Reporter: alice0775, Unassigned)

References

Details

(Whiteboard: [reserve-photon-structure])

STR:
click on New Tab Button
Blocks: 1396412
Component: New Tab Page → Tabbed Browser
This happens for both opening and closing a tab:

Stack trace for opening a tab:

this.widget is null  ext-browserAction.js:523
    updateWindow chrome://browser/content/ext-browserAction.js:523:9
    build/< chrome://browser/content/ext-browserAction.js:231:40
    emit resource://gre/modules/ExtensionUtils.jsm:258:40
    handleEvent chrome://browser/content/ext-browser.js:133:7
    updateCurrentBrowser chrome://browser/content/tabbrowser.xml:1308:15
    onselect chrome://browser/content/browser.xul:1:44
    set_selectedIndex chrome://browser/content/tabbrowser.xml:8343:13
    set_selectedPanel chrome://global/content/bindings/tabbox.xml:694:13
    set_selectedIndex chrome://global/content/bindings/tabbox.xml:412:15
    set_selectedItem chrome://global/content/bindings/tabbox.xml:444:34
    set_selectedTab chrome://global/content/bindings/tabbox.xml:114:15
    set_selectedTab chrome://browser/content/tabbrowser.xml:3761:11
    loadOneTab chrome://browser/content/tabbrowser.xml:1739:15
    openLinkIn chrome://browser/content/utilityOverlay.js:458:26
    openUILinkIn chrome://browser/content/utilityOverlay.js:207:3
    BrowserOpenTab chrome://browser/content/browser.js:2312:3
    oncommand chrome://browser/content/browser.xul:1:1


Stack trace for closing a tab:

this.widget is null  ext-browserAction.js:523
    updateWindow chrome://browser/content/ext-browserAction.js:523:9
    build/< chrome://browser/content/ext-browserAction.js:231:40
    emit resource://gre/modules/ExtensionUtils.jsm:258:40
    handleEvent chrome://browser/content/ext-browser.js:133:7
    updateCurrentBrowser chrome://browser/content/tabbrowser.xml:1308:15
    onselect chrome://browser/content/browser.xul:1:44
    set_selectedIndex chrome://browser/content/tabbrowser.xml:8343:13
    set_selectedPanel chrome://global/content/bindings/tabbox.xml:694:13
    set_selectedIndex chrome://global/content/bindings/tabbox.xml:412:15
    set_selectedItem chrome://global/content/bindings/tabbox.xml:444:34
    set_selectedTab chrome://global/content/bindings/tabbox.xml:114:15
    set_selectedTab chrome://browser/content/tabbrowser.xml:3761:11
    _blurTab chrome://browser/content/tabbrowser.xml:3281:15
    _beginRemoveTab chrome://browser/content/tabbrowser.xml:3031:13
    removeTab chrome://browser/content/tabbrowser.xml:2938:18
    removeCurrentTab chrome://browser/content/tabbrowser.xml:2897:13
    BrowserCloseTabOrWindow chrome://browser/content/browser.js:2411:3
    oncommand chrome://browser/content/browser.xul:1:1
I have been getting this error on clicking a tab (FF56)

ReferenceError: ignoreWindow is not defined
Stack trace:
@resource://gre/modules/commonjs/sdk/ui/state.js:223:1
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
forward/<@resource://gre/modules/commonjs/sdk/event/utils.js:85:31
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
receive@resource://gre/modules/commonjs/sdk/event/utils.js:115:5
next@resource://gre/modules/commonjs/sdk/event/utils.js:37:24
filter/<@resource://gre/modules/commonjs/sdk/event/utils.js:54:7
transform/<@resource://gre/modules/commonjs/sdk/event/utils.js:44:29
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
receive@resource://gre/modules/commonjs/sdk/event/utils.js:115:5
next@resource://gre/modules/commonjs/sdk/event/utils.js:37:24
map/<@resource://gre/modules/commonjs/sdk/event/utils.js:61:60
transform/<@resource://gre/modules/commonjs/sdk/event/utils.js:44:29
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
forward/<@resource://gre/modules/commonjs/sdk/event/utils.js:85:31
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
forward/<@resource://gre/modules/commonjs/sdk/event/utils.js:85:31
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
forward/<@resource://gre/modules/commonjs/sdk/event/utils.js:85:31
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
listener@resource://gre/modules/commonjs/sdk/event/dom.js:41:29
updateCurrentBrowser@chrome://browser/content/tabbrowser.xml:1262:15
onselect@chrome://browser/content/browser.xul:1:44
set_selectedIndex@chrome://global/content/bindings/tabbox.xml:672:13
set_selectedPanel@chrome://global/content/bindings/tabbox.xml:691:13
set_selectedIndex@chrome://global/content/bindings/tabbox.xml:409:15
set_selectedItem@chrome://global/content/bindings/tabbox.xml:441:34
set_selectedTab@chrome://global/content/bindings/tabbox.xml:111:15
set_selectedTab@chrome://browser/content/tabbrowser.xml:3638:11
ssi_restoreWindow@resource:///modules/sessionstore/SessionStore.jsm:3344:11
initializeWindow@resource:///modules/sessionstore/SessionStore.jsm:1173:7
onBeforeBrowserWindowShown@resource:///modules/sessionstore/SessionStore.jsm:1267:7
ssi_observe@resource:///modules/sessionstore/SessionStore.jsm:764:9
onLoad@chrome://browser/content/browser.js:1358:5
onload@chrome://browser/content/browser.xul:1:1

core.js:100
The issue in comment 2 is probably unrelated.
Whiteboard: [photon-structure] → [photon-structure] [triage]
This issue seems to be related to the custom way that the screenshot system addon (https://github.com/mozilla-services/screenshots/blob/master/addon/) is using internally to move the browserAction defined in the manifest.json file of the embedded webextension:

- https://github.com/mozilla-services/screenshots/blob/master/addon/webextension/manifest.json.template#L14-L21) 

into the new Photon Library toolbar menu:

- https://github.com/mozilla-services/screenshots/blob/8011e7bd7f7e47decdc10dabb33a58580ec0456e/addon/bootstrap.js#L269-L278

By removing the CustomizableUI widget with id "screenshots_mozilla_org-browser-action" right after its creation from ext-browserAction.js:

- http://searchfox.org/mozilla-central/rev/999385a5e8c2d360cc37286882508075fc2078bd/browser/components/extensions/ext-browserAction.js#133,233

`this.widget` will always be null for the screenshot hybrid system add-on, and so the listener subscribed to "tab-select":

- http://searchfox.org/mozilla-central/rev/999385a5e8c2d360cc37286882508075fc2078bd/browser/components/extensions/ext-browserAction.js#230-231

raises the exception from Comment 1 every time a tab is selected (and as a side-effect also when a tab is created or removed).
Flags: qe-verify?
Priority: -- → P3
Whiteboard: [photon-structure] [triage] → [reserve-photon-structure]
I get this error whenever switching tabs. It is adding spam to the console that makes development more difficult.
(In reply to Dave Townsend [:mossop] from comment #5)
> I get this error whenever switching tabs. It is adding spam to the console
> that makes development more difficult.

This is fixed in the screenshots repo, here: https://github.com/mozilla-services/screenshots/commit/234fffcf1c7a524ce54256b70009570731d59c57 .

It looks like this will be merged to m-c as part of bug 1399615.
Blocks: 1399615
No longer blocks: 1396412
Flags: qe-verify? → qe-verify-
bug 1399615 landed, so this is fixed.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Iteration: --- → 57.3 - Sep 19
Priority: P3 → P1
You need to log in before you can comment on or make changes to this bug.