@@ -48,11 +48,14 @@ class EditorToolbar {
4848 const editToolbar = ( this . #toolbar = document . createElement ( "div" ) ) ;
4949 editToolbar . classList . add ( "editToolbar" , "hidden" ) ;
5050 editToolbar . setAttribute ( "role" , "toolbar" ) ;
51+
5152 const signal = this . #editor. _uiManager . _signal ;
52- editToolbar . addEventListener ( "contextmenu" , noContextMenu , { signal } ) ;
53- editToolbar . addEventListener ( "pointerdown" , EditorToolbar . #pointerDown, {
54- signal,
55- } ) ;
53+ if ( signal instanceof AbortSignal && ! signal . aborted ) {
54+ editToolbar . addEventListener ( "contextmenu" , noContextMenu , { signal } ) ;
55+ editToolbar . addEventListener ( "pointerdown" , EditorToolbar . #pointerDown, {
56+ signal,
57+ } ) ;
58+ }
5659
5760 const buttons = ( this . #buttons = document . createElement ( "div" ) ) ;
5861 buttons . className = "buttons" ;
@@ -97,6 +100,9 @@ class EditorToolbar {
97100 // the mouse, we don't want to trigger any focus events on
98101 // the editor.
99102 const signal = this . #editor. _uiManager . _signal ;
103+ if ( ! ( signal instanceof AbortSignal ) || signal . aborted ) {
104+ return false ;
105+ }
100106 element . addEventListener ( "focusin" , this . #focusIn. bind ( this ) , {
101107 capture : true ,
102108 signal,
@@ -106,6 +112,7 @@ class EditorToolbar {
106112 signal,
107113 } ) ;
108114 element . addEventListener ( "contextmenu" , noContextMenu , { signal } ) ;
115+ return true ;
109116 }
110117
111118 hide ( ) {
@@ -126,14 +133,15 @@ class EditorToolbar {
126133 button . classList . add ( "basic" , "deleteButton" ) ;
127134 button . tabIndex = 0 ;
128135 button . setAttribute ( "data-l10n-id" , EditorToolbar . #l10nRemove[ editorType ] ) ;
129- this . #addListenersToElement( button ) ;
130- button . addEventListener (
131- "click" ,
132- e => {
133- _uiManager . delete ( ) ;
134- } ,
135- { signal : _uiManager . _signal }
136- ) ;
136+ if ( this . #addListenersToElement( button ) ) {
137+ button . addEventListener (
138+ "click" ,
139+ e => {
140+ _uiManager . delete ( ) ;
141+ } ,
142+ { signal : _uiManager . _signal }
143+ ) ;
144+ }
137145 this . #buttons. append ( button ) ;
138146 }
139147
@@ -229,9 +237,13 @@ class FloatingToolbar {
229237 const editToolbar = ( this . #toolbar = document . createElement ( "div" ) ) ;
230238 editToolbar . className = "editToolbar" ;
231239 editToolbar . setAttribute ( "role" , "toolbar" ) ;
232- editToolbar . addEventListener ( "contextmenu" , noContextMenu , {
233- signal : this . #uiManager. _signal ,
234- } ) ;
240+
241+ const signal = this . #uiManager. _signal ;
242+ if ( signal instanceof AbortSignal && ! signal . aborted ) {
243+ editToolbar . addEventListener ( "contextmenu" , noContextMenu , {
244+ signal,
245+ } ) ;
246+ }
235247
236248 const buttons = ( this . #buttons = document . createElement ( "div" ) ) ;
237249 buttons . className = "buttons" ;
@@ -307,8 +319,10 @@ class FloatingToolbar {
307319 span . className = "visuallyHidden" ;
308320 span . setAttribute ( "data-l10n-id" , labelL10nId ) ;
309321 const signal = this . #uiManager. _signal ;
310- button . addEventListener ( "contextmenu" , noContextMenu , { signal } ) ;
311- button . addEventListener ( "click" , clickHandler , { signal } ) ;
322+ if ( signal instanceof AbortSignal && ! signal . aborted ) {
323+ button . addEventListener ( "contextmenu" , noContextMenu , { signal } ) ;
324+ button . addEventListener ( "click" , clickHandler , { signal } ) ;
325+ }
312326 this . #buttons. append ( button ) ;
313327 }
314328}
0 commit comments