From 4d6d63bf19ad4d439ba32a84f49d9bdd9f4fd43b Mon Sep 17 00:00:00 2001 From: Lukas Winkler Date: Wed, 20 Sep 2017 15:33:18 +0200 Subject: [PATCH] first working version --- .gitignore | 1 + background.js | 38 ++++++++++++++++++++++++++++++++++++++ contentscript.js | 4 ++++ logo.128.png | Bin 0 -> 2740 bytes logo.svg | 18 ++++++++++++++++++ manifest.json | 35 +++++++++++++++++++++++++++++++++++ popup.html | 10 ++++++++++ 7 files changed, 106 insertions(+) create mode 100644 .gitignore create mode 100644 background.js create mode 100644 contentscript.js create mode 100644 logo.128.png create mode 100644 logo.svg create mode 100644 manifest.json create mode 100644 popup.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f11b75 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ diff --git a/background.js b/background.js new file mode 100644 index 0000000..a6f8fcd --- /dev/null +++ b/background.js @@ -0,0 +1,38 @@ +function handleMessage(request, sender, sendResponse) { + var tabId = sender.tab.id; + if (request.typo3) { + chrome.storage.local.get(request.url, function (result) { + var data = result[request.url]; + if (!data || Date.now() - data.updated > 1000 * 60) { + var xmlHttp = new XMLHttpRequest(); + xmlHttp.onreadystatechange = function () { + var found; + if (xmlHttp.readyState === 4 && xmlHttp.status === 200) { + found = true; + chrome.browserAction.enable(tabId); + } else { + found = false; + chrome.browserAction.disable(tabId); + } + var data = {}; + data[request.url] = {found: found, modified: false, updated: Date.now()}; + chrome.storage.local.set(data); + }; + xmlHttp.open("GET", request.url + "/typo3conf/ext/mask/ext_icon.gif", true); + xmlHttp.send(); + } else { + if (data.found) { + chrome.browserAction.enable(tabId); + console.info("found"); + } else { + chrome.browserAction.disable(tabId); + } + } + }); + } + else { + chrome.browserAction.disable(tabId); + } +} + +chrome.runtime.onMessage.addListener(handleMessage); diff --git a/contentscript.js b/contentscript.js new file mode 100644 index 0000000..e777ffc --- /dev/null +++ b/contentscript.js @@ -0,0 +1,4 @@ +chrome.runtime.sendMessage({ + typo3: document.head.innerHTML.indexOf("This website is powered by TYPO3") !== -1, + url: window.location.protocol + "//" + window.location.host +}); diff --git a/logo.128.png b/logo.128.png new file mode 100644 index 0000000000000000000000000000000000000000..9b276887cf67bbfb1d0761908dc47d802c78da37 GIT binary patch literal 2740 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 aw#Sob@8XEMjql+yOu*6{i!L?AQ~m>9m*z?U literal 0 HcmV?d00001 diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..808d894 --- /dev/null +++ b/logo.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..b6897da --- /dev/null +++ b/manifest.json @@ -0,0 +1,35 @@ +{ + "manifest_version": 2, + "name": "Mask Detector", + "short_name": "mask-detector", + "version": "0.0.1", + "author": "Lukas Winkler", + "description": "find sites using the mask Typo3 extension", + "icons": { + "128": "logo.128.png" + }, + "browser_action": { + "default_icon": { + "128": "logo.128.png" + }, + "default_popup": "popup.html" + }, + "content_scripts": [ + { + "matches": [""], + "js": ["contentscript.js"] + } + ], + + "permissions": [ + "storage", + "http://*/", + "https://*/", + "tabs" + ], + "background": { + "scripts": [ + "background.js" + ] + } +} \ No newline at end of file diff --git a/popup.html b/popup.html new file mode 100644 index 0000000..566549b --- /dev/null +++ b/popup.html @@ -0,0 +1,10 @@ + + + + + Title + + + + + \ No newline at end of file