@@ -107,27 +107,42 @@ addEventListener("unload", e => {
107107 let mainFrame = UI . seen && UI . seen . find ( thing => thing . request . type === "main_frame" ) ;
108108 debug ( "Seen: %o" , UI . seen ) ;
109109 if ( ! mainFrame ) {
110-
111- if ( / ^ h t t p s ? : / . test ( tab . url ) && ! tab . url . startsWith ( "https://addons.mozilla.org/" ) ) {
112- document . body . classList . add ( "disabled" ) ;
113- showMessage ( "warning" , _ ( "freshInstallReload" ) ) ;
114- let buttons = document . querySelector ( "#buttons" ) ;
115- let b = document . createElement ( "button" ) ;
116- b . textContent = _ ( "OK" ) ;
117- b . onclick = document . getElementById ( "reload" ) . onclick = ( ) => {
118- reload ( ) ;
119- close ( ) ;
110+ let isHttp = / ^ h t t p s ? : / . test ( tab . url ) ;
111+ try {
112+ await browser . tabs . executeScript ( tabId , { code : "" } ) ;
113+ if ( isHttp ) {
114+ document . body . classList . add ( "disabled" ) ;
115+ showMessage ( "warning" , _ ( "freshInstallReload" ) ) ;
116+ let buttons = document . querySelector ( "#buttons" ) ;
117+ let b = document . createElement ( "button" ) ;
118+ b . textContent = _ ( "OK" ) ;
119+ b . onclick = document . getElementById ( "reload" ) . onclick = ( ) => {
120+ reload ( ) ;
121+ close ( ) ;
122+ }
123+ buttons . appendChild ( b ) ;
124+ b = document . createElement ( "button" ) ;
125+ b . textContent = _ ( "Cancel" ) ;
126+ b . onclick = ( ) => close ( ) ;
127+ buttons . appendChild ( b ) ;
128+ return ;
120129 }
121- buttons . appendChild ( b ) ;
122- b = document . createElement ( "button" ) ;
123- b . textContent = _ ( "Cancel" ) ;
124- b . onclick = ( ) => close ( ) ;
125- buttons . appendChild ( b ) ;
126- return ;
130+ } catch ( e ) {
131+ error ( e , "Could not run scripts on %s: privileged page?" , tab . url ) ;
132+ }
133+ if ( ! isHttp ) {
134+ showMessage ( "warning" , _ ( "privilegedPage" ) ) ;
135+ let tempTrust = document . getElementById ( "temp-trust-page" ) ;
136+ tempTrust . disabled = true ;
137+ }
138+ if ( ! UI . seen ) {
139+ if ( ! isHttp ) return ;
140+ UI . seen = [
141+ mainFrame = {
142+ request : { url : tab . url , documentUrl : tab . url , type : "main_frame" }
143+ }
144+ ] ;
127145 }
128- showMessage ( "warning" , _ ( "privilegedPage" ) ) ;
129- document . getElementById ( "temp-trust-page" ) . disabled = true ;
130- if ( ! UI . seen ) return ;
131146 }
132147
133148 let justDomains = ! UI . local . showFullAddresses ;
0 commit comments