44"use strict" ;
55
66const { ExtensionCommon} = ChromeUtils . import ( "resource://gre/modules/ExtensionCommon.jsm" ) ;
7- const { ExtensionSupport} = ChromeUtils . import ( "resource:///modules/ExtensionSupport.jsm" ) ;
87const { Services} = ChromeUtils . import ( "resource://gre/modules/Services.jsm" ) ;
98
109// eslint-disable-next-line no-var
@@ -20,37 +19,32 @@ var displayReceivedHeader = class extends ExtensionCommon.ExtensionAPI {
2019 context . callOnClose ( this ) ;
2120 return {
2221 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" ) ;
3026
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" ;
3430
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 ) ;
4238
43- const headerRowValue = document . createElement ( "td" ) ;
44- headerRowValue . id = "receivedReceivedHeader" ;
39+ const headerRowValue = document . createElement ( "td" ) ;
40+ headerRowValue . id = "receivedReceivedHeader" ;
4541
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+ }
5448 } ,
5549 setReceivedHeaderHidden ( tabId , hidden ) {
5650 const document = getDocumentByTabId ( tabId ) ;
@@ -84,12 +78,13 @@ var displayReceivedHeader = class extends ExtensionCommon.ExtensionAPI {
8478
8579 // eslint-disable-next-line class-methods-use-this
8680 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+ }
9187 }
92- }
93- ExtensionSupport . unregisterWindowListener ( "displayReceivedHeaderListener" ) ;
88+ } ) ;
9489 }
9590} ;
0 commit comments