@@ -777,28 +777,42 @@ Logic.registerPanel(P_CONTAINER_INFO, {
777777 tr . classList . add ( "container-info-tab-row" ) ;
778778 tr . innerHTML = escaped `
779779 <td></td>
780- <td class="container-info-tab-title truncate-text" title="${ tab . url } " >${ tab . title } </td>
781- <td><img src="/img/container-close-tab.svg" id="${ tab . id } " class="container-close-tab" /></td>` ;
780+ <td class="container-info-tab-title truncate-text" title="${ tab . url } " ><div class="container-tab-title">${ tab . title } </div></td>` ;
782781 tr . querySelector ( "td" ) . appendChild ( Utils . createFavIconElement ( tab . favIconUrl ) ) ;
783-
784782 document . getElementById ( "container-info-table" ) . appendChild ( fragment ) ;
785-
786- const closeTab = document . getElementById ( tab . id ) ;
787- if ( tab . hiddenState ) {
788- closeTab . remove ( ) ;
789- }
790-
783+
791784 // On click, we activate this tab. But only if this tab is active.
792785 if ( ! tab . hiddenState ) {
786+ const closeImage = document . createElement ( "img" ) ;
787+ closeImage . src = "/img/container-close-tab.svg" ;
788+ closeImage . className = "container-close-tab" ;
789+ closeImage . title = "Close tab" ;
790+ closeImage . id = tab . id ;
791+ tr . querySelector ( ".container-info-tab-title" ) . appendChild ( closeImage ) ;
792+
793+ // On hover, we add truncate-text class to add close-tab-image after tab title truncates
794+ tr . addEventListener ( "mouseover" , ( ) => {
795+ tr . querySelector ( ".container-info-tab-title" ) . classList . remove ( "truncate-text" ) ;
796+ tr . querySelector ( ".container-tab-title" ) . classList . add ( "truncate-text" ) ;
797+ } ) ;
798+ tr . addEventListener ( "mouseout" , ( ) => {
799+ tr . querySelector ( ".container-info-tab-title" ) . classList . add ( "truncate-text" ) ;
800+ tr . querySelector ( ".container-tab-title" ) . classList . remove ( "truncate-text" ) ;
801+ } ) ;
802+
793803 tr . classList . add ( "clickable" ) ;
794804 Logic . addEnterHandler ( tr , async function ( ) {
795805 await browser . tabs . update ( tab . id , { active : true } ) ;
796806 window . close ( ) ;
797807 } ) ;
798- Logic . addEnterHandler ( closeTab , async function ( e ) {
799- await browser . tabs . remove ( Number ( e . target . id ) ) ;
800- window . close ( ) ;
801- } ) ;
808+
809+ const closeTab = document . getElementById ( tab . id ) ;
810+ if ( closeTab ) {
811+ Logic . addEnterHandler ( closeTab , async function ( e ) {
812+ await browser . tabs . remove ( Number ( e . target . id ) ) ;
813+ window . close ( ) ;
814+ } ) ;
815+ }
802816 }
803817 }
804818 } ,
0 commit comments