aboutsummaryrefslogtreecommitdiff
path: root/extension/public/background.js
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-12-01 16:33:51 -0500
committersowgro <tpoke.ferrari@gmail.com>2024-12-01 16:33:51 -0500
commit36a3536a584e07b0526aff5ba8d4b0293d2330e9 (patch)
tree82981d937cbf88cdc1a60fdd75681a37a33fc121 /extension/public/background.js
parentcba2f30c89fe7355a10960b5b7d2059fe1843400 (diff)
downloadbookmarks-home-direct-fetch-icons.tar.gz
bookmarks-home-direct-fetch-icons.tar.bz2
bookmarks-home-direct-fetch-icons.zip
Push experimental codedirect-fetch-icons
Diffstat (limited to 'extension/public/background.js')
-rw-r--r--extension/public/background.js88
1 files changed, 67 insertions, 21 deletions
diff --git a/extension/public/background.js b/extension/public/background.js
index 1f09158..0f9e3e3 100644
--- a/extension/public/background.js
+++ b/extension/public/background.js
@@ -2,27 +2,73 @@ 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)
- }))
-}
+// 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)
+// }))
+// }
+//
+// async function getDocument(url) {
+// let res = await fetch(url)
+// let html = await res.text();
+
+ // console.log("html", url);
+ // await chrome.offscreen.createDocument({
+ // url: url,
+ // reasons: ["DOM_SCRAPING"],
+ // justification: "locating highest quality icons"
+ // })
+// }
+
+// function getGoogleFavicons(u) {
+// const url = new URL('https://www.google.com/s2/favicons');
+// url.searchParams.set("sz", "256");
+// url.searchParams.set("domain_url", u);
+// return url.toString();
+// }
-getBrowser().runtime.onMessage.addListener(async (request, sender, sendResponse) => {
- console.log("received message", request)
- let [url, icon] = request;
+// function getIcons(doc) {
+// const tagTypes = ["apple-touch-icon", "shortcut icon", "icon"]
+//
+// return Array.from(doc.getElementsByTagName("link"))
+// .filter(elem => tagTypes.includes(elem.rel))
+// .sort((a, b) => {
+// function compareTags() {
+// // ascending
+// return tagTypes.indexOf(a.rel) - tagTypes.indexOf(b.rel);
+// }
+// function compareSizes() {
+// function getSize(elem) {
+// try { return Number(elem.sizes[0].split('x')[0]); }
+// catch { return 0; }
+// }
+// // descending
+// return getSize(b) - getSize(a);
+// }
+//
+// return compareSizes() || compareTags()
+// })
+// .map(elem => elem.href);
+// }
- let bmk = (await getBrowser().bookmarks.search({url : url}));
- console.log(bmk)
- if (bmk && bmk.length > 0) {
- let imgData = await toDataURL(icon)
- // console.log(imgData)
- await getBrowser().storage.local.set({["icon-cache-"+bmk[0].id]: imgData});
- }
- sendResponse();
+getBrowser().runtime.onMessage.addListener((request, sender, sendResponse) => {
+ // let url = request;
+ //
+ // let doc = await getDocument(url);
+ // let icons = getIcons(doc);
+ // if (icons.length <= 0) return;
+ // console.log(icons[0])
+ // let imgData = await toDataURL(icons[0]);
+ // await getBrowser().storage.local.set({["icon-cache-"+bmk[0].id]: imgData});
+ fetch(request).then(r1 => {
+ r1.text().then(r2 => {
+ sendResponse(r2)
+ }).catch(ex => console.log("Failed to get text", request, ex))
+ }).catch(ex => console.log("Failed to fetch", request, ex))
+ return true;
})