/** * Firefox Browser API Implementation * * Maps Firefox browser.* API to our unified BrowserAPI */ import type { BrowserAPI } from './types'; // Firefox uses global `browser` object declare const browser: any; export const firefoxAPI: BrowserAPI = { // Tabs API - direct mapping tabs: { query: browser.tabs.query, onUpdated: { addListener: browser.tabs.onUpdated.addListener, removeListener: browser.tabs.onUpdated.removeListener, }, }, // Badge API - Firefox uses browserAction badge: { setBadgeText: browser.browserAction.setBadgeText, setTitle: browser.browserAction.setTitle, setBadgeBackgroundColor: browser.browserAction.setBadgeBackgroundColor, }, // WebRequest API - direct mapping webRequest: { onBeforeRequest: { addListener: browser.webRequest.onBeforeRequest.addListener, }, onBeforeSendHeaders: { addListener: browser.webRequest.onBeforeSendHeaders.addListener, }, }, // Cookies API - direct mapping cookies: { getAll: browser.cookies.getAll, remove: browser.cookies.remove, }, // Extension API - direct mapping extension: { getBackgroundPage: browser.extension.getBackgroundPage, }, // Windows API - direct mapping windows: { WINDOW_ID_CURRENT: browser.windows.WINDOW_ID_CURRENT, }, };