diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-11-25 19:49:21 -0500 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-11-25 19:49:21 -0500 |
commit | 7a719d8ac6b5832bd6f07a313a4aaa31ec1c76bf (patch) | |
tree | 405733f8edcd3f6ab98ae23c41958685b3010ce8 /extension/public/background.js | |
parent | 44f32ca142cfa3bf7d11c4cd01bfe369e206a80d (diff) | |
download | bookmarks-home-7a719d8ac6b5832bd6f07a313a4aaa31ec1c76bf.tar.gz bookmarks-home-7a719d8ac6b5832bd6f07a313a4aaa31ec1c76bf.tar.bz2 bookmarks-home-7a719d8ac6b5832bd6f07a313a4aaa31ec1c76bf.zip |
Cache icons
Diffstat (limited to 'extension/public/background.js')
-rw-r--r-- | extension/public/background.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/extension/public/background.js b/extension/public/background.js index c3ee421..1f09158 100644 --- a/extension/public/background.js +++ b/extension/public/background.js @@ -2,13 +2,27 @@ function getBrowser() { return typeof browser === "undefined" ? chrome : browser; } +function toDataURL(url) { + return fetch(url) + .then(response => response.blob()) + .then(blob => new Promise((resolve, reject) => { + const reader = new FileReader() + reader.onloadend = () => resolve(reader.result) + reader.onerror = reject + reader.readAsDataURL(blob) + })) +} + getBrowser().runtime.onMessage.addListener(async (request, sender, sendResponse) => { console.log("received message", request) let [url, icon] = request; + let bmk = (await getBrowser().bookmarks.search({url : url})); console.log(bmk) if (bmk && bmk.length > 0) { - await getBrowser().storage.local.set({["icon-"+bmk[0].id]: icon}); + let imgData = await toDataURL(icon) + // console.log(imgData) + await getBrowser().storage.local.set({["icon-cache-"+bmk[0].id]: imgData}); } sendResponse(); }) |