This problem doesn't happen on Firefox.
On my environment, `tabs.executeScript` raises an error in the debugger console for the testcase addon:
```
can't access property "innerWindowID", browser is null ext-tabs.js:70
awaitTabReady chrome://messenger/content/parent/ext-tabs.js:70
promiseTabWhenReady chrome://messenger/content/parent/ext-tabs.js:272
executeScript chrome://messenger/content/parent/ext-tabs.js:538
executeScript self-hosted:935
result resource://gre/modules/ExtensionParent.jsm:930
withPendingBrowser resource://gre/modules/ExtensionParent.jsm:485
result resource://gre/modules/ExtensionParent.jsm:930
callAndLog resource://gre/modules/ExtensionParent.jsm:892
recvAPICall resource://gre/modules/ExtensionParent.jsm:929
AsyncFunctionNext self-hosted:684
```
The error is raised from https://searchfox.org/comm-central/rev/1598a3b8368c0b823505889ddd1c57f398fded5f/mail/components/extensions/parent/ext-tabs.js#67
```javascript
awaitTabReady(nativeTabInfo) {
let deferred = this.tabReadyPromises.get(nativeTabInfo);
if (!deferred) {
deferred = PromiseUtils.defer();
let browser = getTabBrowser(nativeTabInfo); <= HERE!
```
The function `getTabBrowser()` looks return `null` on Thunderbird.
Bug 1652478 Comment 1 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
This problem doesn't happen on Firefox.
On my environment, `tabs.executeScript` raises an error in the debugger console for the testcase addon:
```
can't access property "innerWindowID", browser is null ext-tabs.js:70
awaitTabReady chrome://messenger/content/parent/ext-tabs.js:70
promiseTabWhenReady chrome://messenger/content/parent/ext-tabs.js:272
executeScript chrome://messenger/content/parent/ext-tabs.js:538
executeScript self-hosted:935
result resource://gre/modules/ExtensionParent.jsm:930
withPendingBrowser resource://gre/modules/ExtensionParent.jsm:485
result resource://gre/modules/ExtensionParent.jsm:930
callAndLog resource://gre/modules/ExtensionParent.jsm:892
recvAPICall resource://gre/modules/ExtensionParent.jsm:929
AsyncFunctionNext self-hosted:684
```
The error is raised from https://searchfox.org/comm-central/rev/1598a3b8368c0b823505889ddd1c57f398fded5f/mail/components/extensions/parent/ext-tabs.js#67
```javascript
awaitTabReady(nativeTabInfo) {
let deferred = this.tabReadyPromises.get(nativeTabInfo);
if (!deferred) {
deferred = PromiseUtils.defer();
let browser = getTabBrowser(nativeTabInfo); <= HERE!
```
The function `getTabBrowser()` looks to return `null` on Thunderbird.