forked from vankyver/vulners-browser-scanner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpopup.js.map
1 lines (1 loc) · 12 KB
/
popup.js.map
1
{"version":3,"sources":["webpack:///webpack/bootstrap 0c415e518b1a7557cd96","webpack:///./src/js/App.js","webpack:///./src/js/Base.js","webpack:///./src/js/Templates.js"],"names":["isChrome","test","navigator","vendor","br","chrome","browser","DOMAIN_REGEX","render","tabs","getSelected","tab","runtime","sendMessage","action","tab_id","id","doRender","response","data","stat","console","log","url","domains","host","URL","doRenderIndex","doRenderHeader","isCheckedAll","doRenderContent","DATA","Object","keys","filter","extractDomain","sort","map","name","d","soft","sortSorftByScore","length","HELP","NONE","WRONG","template","document","getElementById","innerHTML","Ashe","parse","addEventListener","querySelector","onClearClick","$","collapsible","tooltip","delay","querySelectorAll","forEach","a","openLink","e","target","href","parentElement","innerText","vulnerable","scanned","doRenderSettings","SETTINGS","startBtn","resp","window","location","b","score","s","checked","match","setTimeout","Base","TEMPLATES","INDEX","assign"],"mappings":"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","file":"popup.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0c415e518b1a7557cd96","/**\n * Ask for recorded headers on popup opening\n * TODO: check if this can update in the background\n * TODO: implement response.alert (injected element onto page with info defined in options)\n */\n\nimport Base from './Base'\nimport {TEMPLATES} from \"./Templates\";\n\nconst isChrome = (/google/i).test(navigator.vendor);\nconst br = isChrome ? chrome : browser;\nconst DOMAIN_REGEX = /(?:[\\w-]+\\.)*([\\w-]{1,63})(?:\\.(?:\\w{3}|\\w{2}))(?:$|\\/)/i;\n\nconst render = function () {\n br.tabs.getSelected(null, function (tab) {\n br.runtime.sendMessage( {action: 'show_vulnerabilities', tab_id: tab.id}, doRender);\n });\n};\n\nconst doRender = (response) => {\n const {tab, data, stat} = response;\n\n console.log(TEMPLATES)\n\n let url = tab.url;\n let domains = {};\n let host = url && new URL(url).host;\n\n if (doRenderIndex()) {\n return;\n }\n\n doRenderHeader(stat);\n\n if (isCheckedAll()) {\n return doRenderContent(TEMPLATES.DATA,\n {domains: Object.keys(data)\n .filter(extractDomain)\n .sort()\n .map(d => {\n return {\n name: d,\n soft: sortSorftByScore(data[d])\n }\n })\n }\n )\n }\n\n if (!data[host]) {\n if (!Object.keys(data).length) {\n return doRenderContent(TEMPLATES.HELP)\n }\n\n return extractDomain(url) ?\n doRenderContent(TEMPLATES.NONE, {}):\n doRenderContent(TEMPLATES.WRONG, {url});\n }\n\n domains[host] = {\n name: host,\n soft: sortSorftByScore(data[host])\n };\n\n doRenderContent(TEMPLATES.DATA, {domains});\n};\n\n/**\n * Set innerHTML of content element\n */\nconst doRenderContent = (template, data) => {\n document.getElementById('content').innerHTML = Ashe.parse(template, data);\n document.getElementById('show_all_content').addEventListener('click', render);\n document.querySelector('.material-icons.delete').addEventListener('click', onClearClick);\n\n $('.collapsible').collapsible();\n $('.tooltipped').tooltip({delay: 50});\n document.querySelectorAll('a').forEach(a => a.addEventListener('click', e => openLink(e.target.href || e.target.parentElement.href)))\n};\n\nconst doRenderHeader = (stat) => {\n document.getElementById('stat-vulnerable').innerText = stat.vulnerable;\n document.getElementById('stat-scanned').innerText = stat.scanned;\n};\n\nconst doRenderSettings = () => {\n\n\n doRenderContent(TEMPLATES.SETTINGS);\n document.querySelector('.material-icons.delete').addEventListener('click', onClearClick);\n};\n\nconst doRenderIndex = () => {\n let startBtn = document.getElementById('start');\n\n if (!startBtn) return;\n startBtn.addEventListener('click',\n () => br.runtime.sendMessage({action: 'start'}, (resp) => window.location.href = resp.url));\n document.querySelectorAll('a')\n .forEach(a => a.addEventListener('click', e => openLink(e.target.href || e.target.parentElement.href)));\n\n return true;\n};\n\nconst onClearClick = () => {\n br.tabs.getSelected(null, tab =>\n br.runtime.sendMessage({action: 'clear_data', tab_id: tab.id}, doRender));\n};\n\nconst sortSorftByScore = (soft) =>\n Object.keys(soft)\n .sort((a, b) => soft[b].score - soft[a].score)\n .map(s => soft[s]);\n\nconst openLink = (url) =>\n url && br.runtime.sendMessage({action: 'open_link', url});\n\n/**\n * Checkbox is on/off\n */\nconst isCheckedAll = () => document.getElementById('show_all_content').checked;\n\n/**\n * Match URL pattern\n */\nconst extractDomain = url => url.match(DOMAIN_REGEX);\n\n\ndocument.addEventListener('DOMContentLoaded', () => window.setTimeout(() => {\n render()\n}, 300));\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/App.js","class Base {\n\n template = TEMPLATES.INDEX;\n\n render() {\n document.getElementById('content').innerHTML = Ashe.parse(this.template, data);\n document.querySelectorAll('a').forEach(a => a.addEventListener('click', e => openLink(e.target.href || e.target.parentElement.href)))\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/js/Base.js","const TEMPLATES = {};\n\nbrowser.runtime.sendMessage( {action: 'get_templates'}, (response) => {\n Object.assign(TEMPLATES, response.TEMPLATES)\n});\n\nexport {TEMPLATES}\n\n\n// WEBPACK FOOTER //\n// ./src/js/Templates.js"],"sourceRoot":""}