4
4
"use strict" ;
5
5
6
6
const { ExtensionCommon} = ChromeUtils . import ( "resource://gre/modules/ExtensionCommon.jsm" ) ;
7
- const { ExtensionSupport} = ChromeUtils . import ( "resource:///modules/ExtensionSupport.jsm" ) ;
8
7
const { Services} = ChromeUtils . import ( "resource://gre/modules/Services.jsm" ) ;
9
8
10
9
// eslint-disable-next-line no-var
@@ -20,37 +19,32 @@ var displayReceivedHeader = class extends ExtensionCommon.ExtensionAPI {
20
19
context . callOnClose ( this ) ;
21
20
return {
22
21
displayReceivedHeader : {
23
- init ( ) {
24
- // Listen for the main Thunderbird windows opening.
25
- ExtensionSupport . registerWindowListener ( "displayReceivedHeaderListener" , {
26
- chromeURLs : [ "chrome://messenger/content/messenger.xhtml" ] ,
27
- onLoadWindow ( window ) {
28
- const { document} = window ;
29
- const expandedHeaders2 = document . getElementById ( "expandedHeaders2" ) ;
22
+ addHeadersToWindowById ( windowId ) {
23
+ const window = Services . wm . getOuterWindowWithId ( windowId ) ;
24
+ const { document} = window ;
25
+ const expandedHeaders2 = document . getElementById ( "expandedHeaders2" ) ;
30
26
31
- if ( expandedHeaders2 ) {
32
- const element = document . createElement ( "tr" ) ;
33
- element . id = "expandedReceivedRow" ;
27
+ if ( expandedHeaders2 ) {
28
+ const element = document . createElement ( "tr" ) ;
29
+ element . id = "expandedReceivedRow" ;
34
30
35
- const headerRowTitle = document . createElement ( "th" ) ;
36
- const headerRowTitleLabel = document . createXULElement ( "label" ) ;
37
- headerRowTitleLabel . id = "expandedReceivedLabel" ;
38
- headerRowTitleLabel . classList . add ( "headerName" ) ;
39
- headerRowTitleLabel . value = "Received" ;
40
- headerRowTitleLabel . control = "receivedReceivedHeader" ;
41
- headerRowTitle . appendChild ( headerRowTitleLabel ) ;
31
+ const headerRowTitle = document . createElement ( "th" ) ;
32
+ const headerRowTitleLabel = document . createXULElement ( "label" ) ;
33
+ headerRowTitleLabel . id = "expandedReceivedLabel" ;
34
+ headerRowTitleLabel . classList . add ( "headerName" ) ;
35
+ headerRowTitleLabel . value = "Received" ;
36
+ headerRowTitleLabel . control = "receivedReceivedHeader" ;
37
+ headerRowTitle . appendChild ( headerRowTitleLabel ) ;
42
38
43
- const headerRowValue = document . createElement ( "td" ) ;
44
- headerRowValue . id = "receivedReceivedHeader" ;
39
+ const headerRowValue = document . createElement ( "td" ) ;
40
+ headerRowValue . id = "receivedReceivedHeader" ;
45
41
46
- element . appendChild ( headerRowTitle ) ;
47
- element . appendChild ( headerRowValue ) ;
48
- expandedHeaders2 . appendChild ( element ) ;
49
- } else {
50
- throw Error ( "Could not find the expandedHeaders2 element" ) ;
51
- }
52
- } ,
53
- } ) ;
42
+ element . appendChild ( headerRowTitle ) ;
43
+ element . appendChild ( headerRowValue ) ;
44
+ expandedHeaders2 . appendChild ( element ) ;
45
+ } else {
46
+ throw Error ( "Could not find the expandedHeaders2 element" ) ;
47
+ }
54
48
} ,
55
49
setReceivedHeaderHidden ( tabId , hidden ) {
56
50
const document = getDocumentByTabId ( tabId ) ;
@@ -84,12 +78,13 @@ var displayReceivedHeader = class extends ExtensionCommon.ExtensionAPI {
84
78
85
79
// eslint-disable-next-line class-methods-use-this
86
80
close ( ) {
87
- for ( const window of Services . wm . getEnumerator ( "mail:3pane" ) ) {
88
- const expandedReceivedRow = window . document . getElementById ( "expandedReceivedRow" ) ;
89
- if ( expandedReceivedRow ) {
90
- expandedReceivedRow . remove ( ) ;
81
+ [ "mail:3pane" , "mail:messageWindow" ] . forEach ( ( windowType ) => {
82
+ for ( const window of Services . wm . getEnumerator ( windowType ) ) {
83
+ const expandedReceivedRow = window . document . getElementById ( "expandedReceivedRow" ) ;
84
+ if ( expandedReceivedRow ) {
85
+ expandedReceivedRow . remove ( ) ;
86
+ }
91
87
}
92
- }
93
- ExtensionSupport . unregisterWindowListener ( "displayReceivedHeaderListener" ) ;
88
+ } ) ;
94
89
}
95
90
} ;
0 commit comments