54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
/**
|
|
* Firefox Browser API Implementation
|
|
*
|
|
* Mapuje Firefox browser.* API na nasze ujednolicone BrowserAPI
|
|
*/
|
|
|
|
import type { BrowserAPI } from './types';
|
|
|
|
// Firefox używa globalnego obiektu `browser`
|
|
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 używa 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,
|
|
},
|
|
}; |