Browser API Migration Status for Firefox Extension

✅ Migration Complete!

All Firefox extension files have been successfully migrated:

APIs Wrapped (10 total)

Files Updated (25+)

Browser-Specific Updates

Ready for Testing

Load extension-firefox/ in Firefox at about:debugging#/runtime/this-firefox

Migration Pattern

All Chrome API calls should be replaced following this pattern:

Storage API

// Before
await chrome.storage.local.get(['key'])
await chrome.storage.local.set({ key: value })
await chrome.storage.local.remove(['key'])

// After
await browserAPI.storage.local.get(['key'])
await browserAPI.storage.local.set({ key: value })
await browserAPI.storage.local.remove(['key'])

Tabs API

// Before
chrome.tabs.create({ url })
chrome.tabs.query(queryInfo)

// After
await browserAPI.tabs.create({ url })
await browserAPI.tabs.query(queryInfo)

Runtime API

// Before
chrome.runtime.sendMessage(message)
chrome.runtime.getURL(path)

// After
await browserAPI.runtime.sendMessage(message)
browserAPI.runtime.getURL(path)

Context Menus API

// Before
chrome.contextMenus.create(properties, callback)
chrome.contextMenus.removeAll(callback)

// After
await browserAPI.contextMenus.create(properties, callback)
await browserAPI.contextMenus.removeAll(callback)

Alarms API

// Before
chrome.alarms.create(name, alarmInfo)
chrome.alarms.onAlarm.addListener(callback)

// After
await browserAPI.alarms.create(name, alarmInfo)
browserAPI.alarms.onAlarm.addListener(callback)

Testing Checklist

After completing the migration, test the following:

Notes