/** * This file is part of Haketilo. * * Function: Export the browser API object. * * Copyright (C) 2021, 2022 Wojtek Kosior * * This program is free software: you can redistribute it and/or modify * it under the terms of the CC0 1.0 Universal License as published by * the Creative Commons Corporation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * CC0 1.0 Universal License for more details. */ #IF MOZILLA #EXPORT globalThis.browser AS browser #ELIF CHROMIUM /* Use promises for sendMessage(). */ function response_cb(resolve, reject, response) { if (arguments.length < 3) reject(chrome.runtime.lastError); else resolve(response); } function replacement_sendMessage(old_sendMessage, ...args) { let callbacks, prom = new Promise((...cbs) => callbacks = cbs); old_sendMessage(...args, resp => response_cb(...callbacks, resp)); return prom; } for (const api_object of [chrome.tabs, chrome.runtime].filter(a => a)) { const old_sendMessage = api_object.sendMessage; api_object.sendMessage = (...args) => replacement_sendMessage(old_sendMessage, ...args); } #EXPORT chrome AS browser #ENDIF href='/guix/commit/HACKING?id=4b322909d4a0b3faec835dfa0549ac9d9907e33d'>commitdiff
path: root/HACKING
AgeCommit message (Expand)Author
2020-10-23doc: Fix typo in HACKING....Maxim Cournoyer
2020-01-09doc: Move "Commit Access" section from 'HACKING' to the manual....Ludovic Courtès
2020-01-09doc: Add "Tracking Bugs and Patches" section....Ludovic Courtès
2019-07-13doc: Update keyserver URL....Leo Famulari
2019-02-11HACKING: Update key server....Ludovic Courtès