1- /* global chrome URL */
1+ /* global URL */
22
33const idealTokenTTL = '24h' ;
44const tokenCheckAlarm = 'tokenCheck' ;
55const tokenRenewAlarm = 'tokenRenew' ;
66
7- if ( ! chrome . browserAction ) {
8- chrome . browserAction = chrome . action ;
9- }
7+ // Manifest V3 uses browser.action instead of browserAction
108
119setupTokenAutoRenew ( 1800 ) ;
1210refreshTokenTimer ( ) ;
@@ -17,7 +15,7 @@ const storage = {
1715 return function ( key , defaultValue ) {
1816 return new Promise ( function ( resolve , reject ) {
1917 try {
20- chrome . storage [ storageType ] . get ( [ key ] , function ( result ) {
18+ browser . storage [ storageType ] . get ( [ key ] , function ( result ) {
2119 const value = result [ key ] || defaultValue || null ;
2220 resolve ( value ) ;
2321 } ) ;
@@ -146,13 +144,13 @@ async function autoFillSecrets(message, sender) {
146144 }
147145 }
148146 if ( loginCount > 0 ) {
149- chrome . browserAction . setBadgeText ( { text : '*' , tabId : sender . tab . id } ) ;
147+ browser . browserAction . setBadgeText ( { text : '*' , tabId : sender . tab . id } ) ;
150148 }
151149
152150 // If there is only one match, fill the credentials, otherwise prompt the user
153151 if ( matches . length === 1 ) {
154152 const m = matches [ 0 ] ;
155- chrome . tabs . sendMessage ( sender . tab . id , {
153+ browser . tabs . sendMessage ( sender . tab . id , {
156154 message : 'fill_creds' ,
157155 username : m . username ,
158156 password : m . password ,
@@ -163,7 +161,7 @@ async function autoFillSecrets(message, sender) {
163161}
164162
165163function promptUserForChoice ( matches , tabId ) {
166- chrome . tabs . sendMessage ( tabId , {
164+ browser . tabs . sendMessage ( tabId , {
167165 type : 'show_matches_popup_iframe' ,
168166 matches : matches ,
169167 } ) ;
@@ -201,44 +199,44 @@ async function renewToken(force = false) {
201199 ) ;
202200 }
203201
204- await chrome . browserAction . setBadgeBackgroundColor ( { color : '#1c98ed' } ) ;
202+ await browser . browserAction . setBadgeBackgroundColor ( { color : '#1c98ed' } ) ;
205203 } catch ( e ) {
206204 console . log ( e ) ;
207- await chrome . browserAction . setBadgeBackgroundColor ( { color : '#FF0000' } ) ;
208- await chrome . browserAction . setBadgeText ( { text : '!' } ) ;
205+ await browser . browserAction . setBadgeBackgroundColor ( { color : '#FF0000' } ) ;
206+ await browser . browserAction . setBadgeText ( { text : '!' } ) ;
209207
210208 refreshTokenTimer ( ) ;
211209 }
212210 }
213211}
214212
215213function setupTokenAutoRenew ( interval = 1800 ) {
216- chrome . alarms . get ( tokenRenewAlarm , function ( exists ) {
214+ browser . alarms . get ( tokenRenewAlarm , function ( exists ) {
217215 if ( exists ) {
218- chrome . alarms . clear ( tokenRenewAlarm ) ;
216+ browser . alarms . clear ( tokenRenewAlarm ) ;
219217 }
220218
221- chrome . alarms . create ( tokenRenewAlarm , {
219+ browser . alarms . create ( tokenRenewAlarm , {
222220 periodInMinutes : interval / 60 ,
223221 } ) ;
224222 } ) ;
225223}
226224
227225function refreshTokenTimer ( delay = 45 ) {
228- chrome . alarms . get ( tokenCheckAlarm , function ( exists ) {
226+ browser . alarms . get ( tokenCheckAlarm , function ( exists ) {
229227 if ( exists ) {
230- chrome . alarms . clear ( tokenCheckAlarm ) ;
228+ browser . alarms . clear ( tokenCheckAlarm ) ;
231229 }
232230
233- chrome . alarms . create ( tokenCheckAlarm , {
231+ browser . alarms . create ( tokenCheckAlarm , {
234232 delayInMinutes : delay / 60 ,
235233 } ) ;
236234 } ) ;
237235}
238236
239237function setupIdleListener ( ) {
240- if ( ! chrome . idle . onStateChanged . hasListener ( newStateHandler ) ) {
241- chrome . idle . onStateChanged . addListener ( newStateHandler ) ;
238+ if ( ! browser . idle . onStateChanged . hasListener ( newStateHandler ) ) {
239+ browser . idle . onStateChanged . addListener ( newStateHandler ) ;
242240 }
243241}
244242
@@ -253,7 +251,7 @@ async function newStateHandler(newState) {
253251 }
254252}
255253
256- chrome . alarms . onAlarm . addListener ( async function ( alarm ) {
254+ browser . alarms . onAlarm . addListener ( async function ( alarm ) {
257255 if ( alarm . name === tokenCheckAlarm ) {
258256 await renewToken ( ) ;
259257 }
@@ -263,7 +261,7 @@ chrome.alarms.onAlarm.addListener(async function (alarm) {
263261 }
264262} ) ;
265263
266- chrome . runtime . onMessage . addListener ( function ( message , sender ) {
264+ browser . runtime . onMessage . addListener ( function ( message , sender ) {
267265 if ( message . type === 'auto_fill_secrets' ) {
268266 setupIdleListener ( ) ;
269267 autoFillSecrets ( message , sender ) . catch ( console . error ) ;
@@ -275,11 +273,11 @@ chrome.runtime.onMessage.addListener(function (message, sender) {
275273} ) ;
276274
277275// Listener to catch the fill_creds message and then forward it to the active tab
278- chrome . runtime . onMessage . addListener ( ( request ) => {
276+ browser . runtime . onMessage . addListener ( ( request ) => {
279277 if ( request . message === 'fill_creds' ) {
280- chrome . tabs . query ( { active : true , currentWindow : true } , ( tabs ) => {
278+ browser . tabs . query ( { active : true , currentWindow : true } , ( tabs ) => {
281279 if ( tabs . length ) {
282- chrome . tabs . sendMessage ( tabs [ 0 ] . id , request ) ;
280+ browser . tabs . sendMessage ( tabs [ 0 ] . id , request ) ;
283281 }
284282 } ) ;
285283 }
0 commit comments