Skip to content

Commit faf458c

Browse files
committed
fixes recommended by firefox store
1 parent 0eb68f8 commit faf458c

File tree

4 files changed

+39
-28
lines changed

4 files changed

+39
-28
lines changed

background.js

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
/* global chrome URL */
1+
/* global URL */
22

33
const idealTokenTTL = '24h';
44
const tokenCheckAlarm = 'tokenCheck';
55
const tokenRenewAlarm = 'tokenRenew';
66

7-
if (!chrome.browserAction) {
8-
chrome.browserAction = chrome.action;
9-
}
7+
// Manifest V3 uses browser.action instead of browserAction
108

119
setupTokenAutoRenew(1800);
1210
refreshTokenTimer();
@@ -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

165163
function 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

215213
function 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

227225
function 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

239237
function 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
}

manifest.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
"manifest_version": 3,
33
"name": "VaultPass",
44
"description": "A Chrome extension to leverage Hashicorp Vault as Credential Storage for teams",
5-
"version": "2.3.5",
5+
"version": "2.4",
6+
"browser_specific_settings": {
7+
"gecko": {
8+
9+
}
10+
},
611
"action": {
712
"default_icon": "icons/logo128.png",
813
"default_popup": "popup.html",

manifestV2.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"manifest_version": 2,
33
"name": "VaultPass",
44
"description": "A Chrome extension to leverage Hashicorp Vault as Credential Storage for teams",
5-
"version": "2.3.5",
5+
"version": "2.4",
66
"browser_action": {
77
"default_icon": "icons/logo128.png",
88
"default_popup": "popup.html",
@@ -34,7 +34,10 @@
3434
],
3535
"browser_specific_settings": {
3636
"gecko": {
37-
37+
38+
"data_collection_permissions": {
39+
"required": ["none"]
40+
}
3841
}
3942
},
4043
"web_accessible_resources": ["chooseMatch.html"]

manifestV3.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
"manifest_version": 3,
33
"name": "VaultPass",
44
"description": "A Chrome extension to leverage Hashicorp Vault as Credential Storage for teams",
5-
"version": "2.3.5",
5+
"version": "2.4",
6+
"browser_specific_settings": {
7+
"gecko": {
8+
9+
}
10+
},
611
"action": {
712
"default_icon": "icons/logo128.png",
813
"default_popup": "popup.html",

0 commit comments

Comments
 (0)