From 55397b10d7e5c0e097d2d6dce1dcd564386e0df3 Mon Sep 17 00:00:00 2001 From: Fabio Manganiello Date: Fri, 20 Jan 2023 19:30:04 +0100 Subject: [PATCH] Replaced browser_action with a page_action --- src/assets/icon-gray-128.png | Bin 0 -> 5892 bytes src/assets/icon-gray-16.png | Bin 0 -> 1212 bytes src/assets/icon-gray-48.png | Bin 0 -> 2110 bytes src/background.ts | 170 +++++++++++++++++++++-------------- src/main.ts | 2 +- src/manifest_v2.json | 10 ++- src/manifest_v3.json | 13 ++- src/popup/Popup.vue | 34 ------- src/popup/index.html | 11 --- src/popup/main.ts | 5 -- 10 files changed, 115 insertions(+), 130 deletions(-) create mode 100644 src/assets/icon-gray-128.png create mode 100644 src/assets/icon-gray-16.png create mode 100644 src/assets/icon-gray-48.png delete mode 100644 src/popup/Popup.vue delete mode 100644 src/popup/index.html delete mode 100644 src/popup/main.ts diff --git a/src/assets/icon-gray-128.png b/src/assets/icon-gray-128.png new file mode 100644 index 0000000000000000000000000000000000000000..5b552be7054d70cad4e7a7356c6d163ba33ea343 GIT binary patch literal 5892 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 literal 0 HcmV?d00001 diff --git a/src/assets/icon-gray-16.png b/src/assets/icon-gray-16.png new file mode 100644 index 0000000000000000000000000000000000000000..0bc88ac1403ec60e9b4cf85413f076f21fa1e901 GIT binary patch literal 1212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6n3BBRT^Rni_n+Ah4nJ za0`PlBg3pY5H=O_UDYkqT(vEO#<5)7#I&!g+!DDC6+4`6y>L7=Atm@HDzJU45h#8O#ezP zY~yr$z!^1lizMUcmMt$+b2LsI>riMHu@pR@_qpU-e~kyv3eU}xCNlnxY0&=TT(W*v zlkFnGZM!$gyZw6jYuTElC4m}`n0^>y{sFz3+(t&AZV1AD-+Uw`A)qv|9nanPD_eM4k2O+rk1)&Xul9R3ExA3hHa0FJe9Q8Ts6$(Gk1b_Q<@T@? zm3cAcOXP%)Cd=aaXYo9~5zZq~qS(uK*YJLA$fRw}UC!5)`X>gvMl;W=c(>e{@$kHr zH@_dA5f~bu$KbO(%h;rMl?E__NS3%plsM<-=BDPAFgO>bCYGe8D3oWGWGJ|M`UZqI z@`(c#se%-x0Hv&w!73Px42+C*4GeV+Ekle9t&EJUjLozS46F0{@BMs66%(qs_`303lnduoN3<0G{ zIhn}{F8R5MnR(kL8b$+^DZ!Mbq!uR^WfqiV=I1ehJg1OUnwe9go0+Fj9OUlglkNyC zIT%D?s&fbP0l+XkK DPOa=X literal 0 HcmV?d00001 diff --git a/src/assets/icon-gray-48.png b/src/assets/icon-gray-48.png new file mode 100644 index 0000000000000000000000000000000000000000..0546144a0d60e5fa74e308296175a4660d0590b8 GIT binary patch literal 2110 zcmZ{lc{J2}AIE=|u3b%&ZE_hVQ6ghEB4uXm6O&4)7>1dc#mpcY`%wgD+ml|fI-co(#&iLE5Jyu*j;4fJ1zUfN{^ z>NQ+pe92}y%2zuzU&$3)_l?*8Vb5R}CE8pEwQ+B0qSt2DZr0-}J@n=h)vjpD%Ns!Q z!gU-U-?nf1M3XELtZMv`l~P)#Z-eh#;>>L8dH-v>E>n)i+`*Z0b$r096aSX_ zJ`JJFhh?sblZFM`U0VH6+3)F>oRwAnc04ABVws(>XpjehSW$Mh_88T6sjei`g05b zBs-jtM?AgyT3@(?o(R|I{q&^s>z5;%ejr)Y{dXO9()QBFz?s?7BbO@-8Sp_@>f9dZ zApamU7v()2?%)99L4s?B3>;oW@Fm1MyBFzc6BM2&x=YILs=~{r_z35Cv(IQ}Rnmtx z>whk6T5m3Ie*LkjXb~kTc4Yi!S$*yG`XB4!vRVy4@dYmZnGo~&O8&6r^3bxlUDB9& zygN#O>cb%B<870M<>Fw_9Vc}aZkCk^)Lj}P1^cF62C&6c;v`^iKXRIcbf=!p3-@kc z+a{e-n;J9C?jkFfeaTpRdYs%D74QBw<3$6X8juVrL%1PPrE!JUlaE)Vji%!@S+u*! zb`@oJ?ja`UB9ewNk8Bfi5?Qws(WEYh4=&|KSIg)|FUt3{c-Ktt{yokB7{YvL z-JWjDd={F*N?L6lfKd`KOOTr5^^Y*$cx5SF*l5$!jq`RkkqdDC$%7YoeZuBf%qSgj z4a9qNLBBybTKH`C7@Ap!J(ezrz@X5Bmt&Ws?n0K-Zmp2uEH#g~#!~C%CC3 z;gyvWq%X&R!LgMr#H+`iYEdR~Xrw&1EPQ@W`z={V4US-5eUWtbgb0 zxjLS+W2AL(&-v(zXo#yVI6_cJCFMOHzOkpLS%^06*vnrcgV$i?UL)+0_mUA=ESpcP zYOxZ=C3hhrNAZK{+w}QGr754l(+48N z-uW?HWId|TW^kDJ9G}^9@nKkjDUfZJmVO8vHoOAoMqV%p zSBbSOR;(O@*;4nJ1Y7hk#;OK(J;UV;7>A;LRxA-R>(3!Fd!Heg%4;*o*dQ%~6GB5A*KZlXB zJJACV0jCz}EbwcR_v;J%f&#nmb`-b9XGuU>Lr$iR<<*Lr)Vl>bR3-hQ-S3Nc!d0Cy zgPoD!ea;ECnG36%FV4(QxdOZD#cHCBR2?@)tsL56eKc=F5q;R}E#CeVziu|4l!pH5 zp}X_$h4G?+HOS$;&Kq?j%zwRBdQjNgp%P#<@n$M*(QqyJK8GHYZ`qqg=&})p?k`V0 z1mVw==PNFA&1RoBq-EH8a%X6SHrqMFB1%lX9&;%@`M$9nEEX|;R9n8QQB26|Xp)%p zhOMkb?^Jm18;J^fh-=p%kxM0ADam)t)i3hNVe@`fu-6i@%6g*!${|HxKxC8i>m0Hg1GmW(7TAa40x2dbRB{5xN`}=+m z?&q6rx(wv8z(>6tM=6gHwr=9Ucl7B*K_v(*D5lxbRoS%#ey;c-LxVJprd__$bvF+~ z*j#V+%EsaHY}#j(h5kWNM5!@QUJQE*iG(LJ0DBtVpMejAMiLnWsDqQ6`>6y)6%nMf z1qF&mh=9Kcz}U#x#J~t{0Jriqh9iuP5hmvPMn(uDBeT~7(f=ioD1pSFsQ)h@JE;94 zLGPap3?d0nXZVw-|Ld4q{%48PDcBj2vwO=CB_|?)LXDykg9!}4JscNG41gjjB!42g zEf?-1!nFU!0`c?!8j;E%Qpmv8=b*T7VkpCaNQTm}4o6*skBG7xQ2LuD`IEzg`~w)_ nG(7Du+_fZUNCYVU15g6-p}>~v { - return async () => { - awaitingResponse = false - if (req.status >= 400) { - console.error( - `Could not load URL feed: ${req.responseURL}: ` + - `${req.status}: ${req.statusText}` - ) - - return - } - - const [tab] = await browser.tabs.query({ - active: true, - currentWindow: true - }) - - if (!tab || tab.id === -1) - return - - await browser.tabs.sendMessage( - tab.id, { - type: 'renderFeed', - document: req.responseText - } - ) - } -} - -const renderFeed = (url: string) => { - awaitingResponse = true - const req = new XMLHttpRequest() - req.onload = onFeedDownloaded(req) - req.open('GET', url) - req.responseType = 'text' - req.send() -} - -browser.webNavigation.onCompleted.addListener( - async (event: {tabId: Number}) => { - const { tabId } = event - await browser.tabs.sendMessage(tabId, {type: 'renderFeed'}) - } -) - -browser.webRequest.onHeadersReceived.addListener( - async (event: { - url: string, - responseHeaders: Array<{name: string, value: string}> - }) => { - if (awaitingResponse) - return - - const {url, responseHeaders} = event - const contentType = responseHeaders.find( - h => h.name.toLowerCase() === 'content-type' - )?.value || '' - - if (contentType.startsWith('application/rss+xml')) - renderFeed(url) - }, - {urls: ['']}, - ['blocking', 'responseHeaders'] -) - +import browser from 'webextension-polyfill'; + +interface State { + awaitingResponse: boolean + feedUrl: string | null +} + +const state: State = { + awaitingResponse: false, + feedUrl: null, +} + +const getActiveTab = async () => { + const [tab] = await browser.tabs.query({ + active: true, + currentWindow: true + }) + + return tab +} + +const onFeedDownloaded = (req: XMLHttpRequest) => { + return async () => { + state.awaitingResponse = false + if (req.status >= 400) { + console.error( + `Could not load URL feed: ${req.responseURL}: ` + + `${req.status}: ${req.statusText}` + ) + + return + } + + const tab = await getActiveTab() + if (!tab || tab.id === -1) + return + + await browser.tabs.sendMessage( + tab.id, { + type: 'renderFeed', + document: req.responseText + } + ) + } +} + +const renderFeed = (url: string) => { + state.awaitingResponse = true + const req = new XMLHttpRequest() + req.onload = onFeedDownloaded(req) + req.open('GET', url) + req.responseType = 'text' + req.send() +} + +const updateFeedUrl = (tabId: number, feedUrl: string | null) => { + if (!feedUrl?.length) { + browser.pageAction.hide() + state.feedUrl = null + } else { + browser.pageAction.show(tabId) + state.feedUrl = feedUrl + } +} + +browser.pageAction.onClicked.addListener( + async () => { + if (state.feedUrl?.length) + renderFeed(state.feedUrl) + } +) + +browser.webNavigation.onCompleted.addListener( + async (event: {tabId: number}) => { + const { tabId } = event + const feedUrl = await browser.tabs.sendMessage(tabId, {type: 'extractFeedUrl'}) + updateFeedUrl(tabId, feedUrl) + await browser.tabs.sendMessage(tabId, {type: 'renderFeed'}) + } +) + +browser.webRequest.onHeadersReceived.addListener( + async (event: { + url: string, + responseHeaders: Array<{name: string, value: string}> + }) => { + if (state.awaitingResponse) + return + + const {url, responseHeaders} = event + const contentType = responseHeaders.find( + h => h.name.toLowerCase() === 'content-type' + )?.value || '' + + if (contentType.startsWith('application/rss+xml')) + renderFeed(url) + }, + {urls: ['']}, + ['blocking', 'responseHeaders'] +) + diff --git a/src/main.ts b/src/main.ts index cb9b641..cc11e53 100644 --- a/src/main.ts +++ b/src/main.ts @@ -177,7 +177,7 @@ const extractFeedUrl = () => { browser.runtime.onMessage.addListener( async ( message: { - type: Object, + type: string, url: string, document: string, } diff --git a/src/manifest_v2.json b/src/manifest_v2.json index aa2e0cd..827c1e9 100644 --- a/src/manifest_v2.json +++ b/src/manifest_v2.json @@ -3,9 +3,13 @@ "description": "An easy way to render RSS feeds directly in your browser", "version": "0.1.2", "manifest_version": 2, - "browser_action": { - "default_title": "Feed Viewer", - "default_popup": "popup/index.html" + "page_action": { + "default_icon": { + "16": "assets/icon-gray-16.png", + "48": "assets/icon-gray-48.png", + "128": "assets/icon-gray-128.png" + }, + "default_title": "Detected an RSS/Atom feed" }, "icons": { "16": "assets/icon16.png", diff --git a/src/manifest_v3.json b/src/manifest_v3.json index 45258e4..3577ddb 100644 --- a/src/manifest_v3.json +++ b/src/manifest_v3.json @@ -3,14 +3,13 @@ "description": "An easy way to render RSS feeds directly in your browser", "version": "0.1.2", "manifest_version": 3, - "action": { - "default_title": "Feed Viewer", - "default_popup": "popup/index.html", + "page_action": { "default_icon": { - "16": "assets/icon16.png", - "48": "assets/icon48.png", - "128": "assets/icon128.png" - } + "16": "assets/icon-gray-16.png", + "48": "assets/icon-gray-48.png", + "128": "assets/icon-gray-128.png" + }, + "default_title": "Detected an RSS/Atom feed" }, "background": { "service_worker": "background.ts", diff --git a/src/popup/Popup.vue b/src/popup/Popup.vue deleted file mode 100644 index ef20f02..0000000 --- a/src/popup/Popup.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - - - diff --git a/src/popup/index.html b/src/popup/index.html deleted file mode 100644 index 82e4e6b..0000000 --- a/src/popup/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - RSS Viewer Popup - - -
- - - diff --git a/src/popup/main.ts b/src/popup/main.ts deleted file mode 100644 index cf39580..0000000 --- a/src/popup/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { createApp } from "vue"; -import App from "./Popup.vue"; - -const app = createApp(App) -app.mount('#app')