From 60bc07fe3b7cba44f1982b9ce240c82afd42764e Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sat, 16 Nov 2019 08:15:51 +0000 Subject: [PATCH] Deploy abhijithvijayan/web-extension-starter to github.com/abhijithvijayan/web-extension-starter.git:extension --- chrome.zip | Bin 0 -> 24664 bytes chrome/assets/icons/favicon-128.png | Bin 0 -> 6839 bytes chrome/assets/icons/favicon-16.png | Bin 0 -> 1183 bytes chrome/assets/icons/favicon-32.png | Bin 0 -> 1731 bytes chrome/assets/icons/favicon-48.png | Bin 0 -> 1910 bytes chrome/css/options.css | 4 ++ chrome/css/popup.css | 4 ++ chrome/js/background.bundle.js | 1 + chrome/js/contentScript.bundle.js | 1 + chrome/js/options.bundle.js | 1 + chrome/js/popup.bundle.js | 1 + chrome/manifest.json | 57 ++++++++++++++++++++++++++ chrome/options.html | 11 +++++ chrome/popup.html | 11 +++++ firefox.xpi | Bin 0 -> 24696 bytes firefox/assets/icons/favicon-128.png | Bin 0 -> 6839 bytes firefox/assets/icons/favicon-16.png | Bin 0 -> 1183 bytes firefox/assets/icons/favicon-32.png | Bin 0 -> 1731 bytes firefox/assets/icons/favicon-48.png | Bin 0 -> 1910 bytes firefox/css/options.css | 4 ++ firefox/css/popup.css | 4 ++ firefox/js/background.bundle.js | 1 + firefox/js/contentScript.bundle.js | 1 + firefox/js/options.bundle.js | 1 + firefox/js/popup.bundle.js | 1 + firefox/manifest.json | 58 +++++++++++++++++++++++++++ firefox/options.html | 11 +++++ firefox/popup.html | 11 +++++ opera.crx | Bin 0 -> 24668 bytes opera/assets/icons/favicon-128.png | Bin 0 -> 6839 bytes opera/assets/icons/favicon-16.png | Bin 0 -> 1183 bytes opera/assets/icons/favicon-32.png | Bin 0 -> 1731 bytes opera/assets/icons/favicon-48.png | Bin 0 -> 1910 bytes opera/css/options.css | 4 ++ opera/css/popup.css | 4 ++ opera/js/background.bundle.js | 1 + opera/js/contentScript.bundle.js | 1 + opera/js/options.bundle.js | 1 + opera/js/popup.bundle.js | 1 + opera/manifest.json | 58 +++++++++++++++++++++++++++ opera/options.html | 11 +++++ opera/popup.html | 11 +++++ 42 files changed, 275 insertions(+) create mode 100644 chrome.zip create mode 100644 chrome/assets/icons/favicon-128.png create mode 100644 chrome/assets/icons/favicon-16.png create mode 100644 chrome/assets/icons/favicon-32.png create mode 100644 chrome/assets/icons/favicon-48.png create mode 100644 chrome/css/options.css create mode 100644 chrome/css/popup.css create mode 100644 chrome/js/background.bundle.js create mode 100644 chrome/js/contentScript.bundle.js create mode 100644 chrome/js/options.bundle.js create mode 100644 chrome/js/popup.bundle.js create mode 100644 chrome/manifest.json create mode 100644 chrome/options.html create mode 100644 chrome/popup.html create mode 100644 firefox.xpi create mode 100644 firefox/assets/icons/favicon-128.png create mode 100644 firefox/assets/icons/favicon-16.png create mode 100644 firefox/assets/icons/favicon-32.png create mode 100644 firefox/assets/icons/favicon-48.png create mode 100644 firefox/css/options.css create mode 100644 firefox/css/popup.css create mode 100644 firefox/js/background.bundle.js create mode 100644 firefox/js/contentScript.bundle.js create mode 100644 firefox/js/options.bundle.js create mode 100644 firefox/js/popup.bundle.js create mode 100644 firefox/manifest.json create mode 100644 firefox/options.html create mode 100644 firefox/popup.html create mode 100644 opera.crx create mode 100644 opera/assets/icons/favicon-128.png create mode 100644 opera/assets/icons/favicon-16.png create mode 100644 opera/assets/icons/favicon-32.png create mode 100644 opera/assets/icons/favicon-48.png create mode 100644 opera/css/options.css create mode 100644 opera/css/popup.css create mode 100644 opera/js/background.bundle.js create mode 100644 opera/js/contentScript.bundle.js create mode 100644 opera/js/options.bundle.js create mode 100644 opera/js/popup.bundle.js create mode 100644 opera/manifest.json create mode 100644 opera/options.html create mode 100644 opera/popup.html diff --git a/chrome.zip b/chrome.zip new file mode 100644 index 0000000000000000000000000000000000000000..58c5bfedaad931723f01c26ff8abbe2068778a10 GIT binary patch literal 24664 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 M==Hy^_vhXJ0kC8U!vFvP literal 0 HcmV?d00001 diff --git a/chrome/assets/icons/favicon-128.png b/chrome/assets/icons/favicon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b3fddcab6022ec248b8438b6e2974d5d69da46 GIT binary patch literal 6839 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 h2>a;>oXGr0f& literal 0 HcmV?d00001 diff --git a/chrome/assets/icons/favicon-48.png b/chrome/assets/icons/favicon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..d41f7b811b6cf2fc14a63309a39954eb1adcf8d6 GIT binary patch literal 1910 zcmZ`)X;jkt7X7E0Kv8L-;*drq77l>qRAvL*WQFs9nZ8gl#cP6sQ=uv1L=G8QS(2$~ zj!kBI%?TX4W=^HvoV85L0iQR;DIeZ1Z@mxioOSkDzkT*z>#X(ra1w2;&qE=q5C8z6 zL`%HAw4=8Qv_pzynU#2H)AF*kw*r7`+5iy61%Op46*UC_!BXLO3ILeh2LNS8W|iGZ z>0pQFh4Xk|b1NU$JmpInFvId969DuNZPm80Jc|%1DbFHW5#%QzaCta_!81Q2rT)bt zxUlR!LbVt{^eZ%fZ!K0h!&{5SV0i(MEre+O6Ic_7p$QI)GsRKSIBEVju3)^-SR-#K zVR#&iGr}2fz5f|+p;QT>JTQMGU2!K7f5y>wxaRZkN$yTCdGUzg11Zf_FVDHuKE2+T z&pX(ydhjva>a?Y*9~7aT0Ncmbj@z57$!^4Bypju?#IcUHU?V?^D215qFaO-1r;-!p zo2_KKza%(X@AE$;&&zGjSN98T{hB#iXn);B*IG=iXIMe!$r?POXOeOq9DsXWvc@SK1WTRLa%W zk6;{}(z+psh4L?y?v1jm5$-?a4Etkd`?W*7-;^NSVXdUEO<|hDspKUc)`|CH2i;=k zCy2X^OG!%Y*JB}1z|d-itfq&tE9zG2B7+6^7|PU{=U%7AY%`jjs@}*bz0Ccw&?~q1 zkvMmeA#3DeS5>Q?)iTf&kR7w3Jr=)kh7Eh}3J5P@IP}pP5xXv`-BoEJ0oLyP3(MYZ zP#_tHlSbj{mVGHgdtJNsX|lG^pjnM;+VNF(w}Te*cIbEyjBCNI^F+>xVh|+jytS5b zLRhfk7glD0Tfcj>;fW!(bu>xR)AOf+!BNS4phiGbE=@kgk~FXgY~`5QTcPSaP{d)6xG{W0`$A5pUf*Qp%VD*Ae*IATfzV#g-lO zO&O_+Xqc$9@8qH6V1?Yl>|WmC@`AR^OZ=SBUWM9ZM42SLbuQG|St}PbuaM%z6-Yn_ zTFI}JsU2avQptjmzoQlWXRu3}61+uhhfK=?!YzcKoh##mnl$b~WN%FBfa=cnZyu?7 zXrQ-#)wXe!xgUA|tytFlGh0o!InQKgsxQ(0>I+Lm_#ZOQg-7N1`Eudjsz3&gh)PI{AkOq;nj8{5ef!(A^IGMtZe zm*vOOKQ%`s)HKL>MIvuI!*_u{Ff&2#EMTuCjZ)2TpYv)xPmB51_hG~<`65H6gG;i_ z_&3DBGj$EMJ{!W0?FQ3a;+gl?B3fM8aN{u<-PwBxSsrnKOG)1V3CA6cb9_*Jf&rD&cX z;t}G>h?YYt_8Pg}jK`2~A)Ue30^Q=*Hr)~sHHk<&y3tu~sNTUWI4!$`bX&%xr}Wbdg$oF(9C+-G0w&j<{prPbTvHSjUDl#g&o1Ce{-M zJ}S@&+joeEdQDvSxYghvP+oAeZEx|m#l$(=s--(qM>fcvsecr4d|vt2w?X1g@rG7* z)$CFn!eB0l}JA?Nc?{q^S+mWmJ<&+l*V-%vBB~w9I+3??_~)^q8oYm0Z_gh zY0W=Y8TsPf4BThz$M~10pyhFRr9{!CR`Y+~!*NlpW+6{DRw?ZOn zpzuge8l!fKll5fq;*fq|Jtpn4KXng1K{mF{Psb2drF4U2P<8pE0zad(xbZ`2Lm|TB zt~qt^(1&l4Lsce%kWpIT-{EmV?i1Up9o3-%BzE!6$}V%=N-KfJNPOD>c!V985?7E? ztMhsIUUA=&iXyaZqK8hi8e1OC&4G^GwJAR)PI^(MC+ZE@|Isrv`Q9?evhYLx=&T-zuJ2-yx*tg~^{v>O0z(P|BexY=5R0 z@dRAeBks;peQi6p6aVjv#g(4NVr0i3CTj9jHeKLC6sj}F^4!N_x}qk#MEP=odhrSK z3|R47GOLCz)bLX}l@9Z@?$Iu->v(nmGgW71nV9`XAG2=J zVqcRyR-}1WdVr2>9U!U)%iGK=$XnU~EE;2~he7LMk2|6b&9KMK3~_pBoEaKzK}FF1 d$8eQSrCkaC{|0N*2cM({fJm^$KRZj|{0H&)W*h(j literal 0 HcmV?d00001 diff --git a/chrome/css/options.css b/chrome/css/options.css new file mode 100644 index 0000000..24970ed --- /dev/null +++ b/chrome/css/options.css @@ -0,0 +1,4 @@ +@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,*:before,*:after{box-sizing:border-box}*:focus{outline:0}ol,ul{list-style-type:none}*{margin:0;padding:0;border:0;outline:0}body{overflow-x:hidden}a:link{text-decoration:none}body{color:#0d0d0d;background-color:#f3f3f3} + +/*# sourceURL=undefinedoptions.scss */ +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9wdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBc0UsbUJBQW1CLHFCQUFxQixDQUFDLFFBQVEsU0FBUyxDQUFDLE1BQU0sb0JBQW9CLENBQUMsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLG9CQUFvQixDQUFDLEtBQUssYUFBYSxDQUFDLHdCQUF3QiIsImZpbGUiOiJvcHRpb25zLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1OdW5pdG86NDAwLDYwMFwiKTsqLCo6YmVmb3JlLCo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fSo6Zm9jdXN7b3V0bGluZTowfW9sLHVse2xpc3Qtc3R5bGUtdHlwZTpub25lfSp7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MH1ib2R5e292ZXJmbG93LXg6aGlkZGVufWE6bGlua3t0ZXh0LWRlY29yYXRpb246bm9uZX1ib2R5e2NvbG9yOiMwZDBkMGQ7YmFja2dyb3VuZC1jb2xvcjojZjNmM2YzfVxuIl19 */ \ No newline at end of file diff --git a/chrome/css/popup.css b/chrome/css/popup.css new file mode 100644 index 0000000..595d776 --- /dev/null +++ b/chrome/css/popup.css @@ -0,0 +1,4 @@ +@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,*:before,*:after{box-sizing:border-box}*:focus{outline:0}ol,ul{list-style-type:none}*{margin:0;padding:0;border:0;outline:0}body{overflow-x:hidden}a:link{text-decoration:none}body{color:#0d0d0d;background-color:#f3f3f3} + +/*# sourceURL=undefinedpopup.scss */ +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcHVwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQXNFLG1CQUFtQixxQkFBcUIsQ0FBQyxRQUFRLFNBQVMsQ0FBQyxNQUFNLG9CQUFvQixDQUFDLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssaUJBQWlCLENBQUMsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLGFBQWEsQ0FBQyx3QkFBd0IiLCJmaWxlIjoicG9wdXAuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0bzo0MDAsNjAwXCIpOyosKjpiZWZvcmUsKjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9Kjpmb2N1c3tvdXRsaW5lOjB9b2wsdWx7bGlzdC1zdHlsZS10eXBlOm5vbmV9KnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowfWJvZHl7b3ZlcmZsb3cteDpoaWRkZW59YTpsaW5re3RleHQtZGVjb3JhdGlvbjpub25lfWJvZHl7Y29sb3I6IzBkMGQwZDtiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjN9XG4iXX0= */ \ No newline at end of file diff --git a/chrome/js/background.bundle.js b/chrome/js/background.bundle.js new file mode 100644 index 0000000..2a056dc --- /dev/null +++ b/chrome/js/background.bundle.js @@ -0,0 +1 @@ +!function(e){var r={};function s(n){if(r[n])return r[n].exports;var g=r[n]={i:n,l:!1,exports:{}};return e[n].call(g.exports,g,g.exports,s),g.l=!0,g.exports}s.m=e,s.c=r,s.d=function(e,r,n){s.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,r){if(1&r&&(e=s(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var g in e)s.d(n,g,function(r){return e[r]}.bind(null,g));return n},s.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(r,"a",r),r},s.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},s.p="",s(s.s=2)}([function(e,r,s){var n,g,a;g=[e],void 0===(a="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",s="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class g extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const a=(r,s)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):s.singleCallbackArg||n.length<=1&&!1!==s.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},t=e=>1==e?"argument":"arguments",m=(e,r,s)=>new Proxy(r,{apply:(r,n,g)=>s.call(n,e,...g)});let i=Function.call.bind(Object.prototype.hasOwnProperty);const o=(e,r={},s={})=>{let n=Object.create(null),g={has:(r,s)=>s in e||s in n,get(g,A,l){if(A in n)return n[A];if(!(A in e))return;let c=e[A];if("function"==typeof c)if("function"==typeof r[A])c=m(e,e[A],r[A]);else if(i(s,A)){let r=((e,r)=>(function(s,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${t(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((g,t)=>{if(r.fallbackToNoCallback)try{s[e](...n,a({resolve:g,reject:t},r))}catch(a){console.warn(`${e} API method doesn't seem to support the callback parameter, `+"falling back to call it without a callback: ",a),s[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,g()}else r.noCallback?(s[e](...n),g()):s[e](...n,a({resolve:g,reject:t},r))})}))(A,s[A]);c=m(e,e[A],r)}else c=c.bind(e);else{if("object"!=typeof c||null===c||!i(r,A)&&!i(s,A))return Object.defineProperty(n,A,{configurable:!0,enumerable:!0,get:()=>e[A],set(r){e[A]=r}}),c;c=o(c,r[A],s[A])}return n[A]=c,c},set:(r,s,g,a)=>(s in n?n[s]=g:e[s]=g,!0),defineProperty:(e,r,s)=>Reflect.defineProperty(n,r,s),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},A=Object.create(e);return new Proxy(A,g)},A=e=>({addListener(r,s,...n){r.addListener(e.get(s),...n)},hasListener:(r,s)=>r.hasListener(e.get(s)),removeListener(r,s){r.removeListener(e.get(s))}});let l=!1;const c=new g(e=>"function"!=typeof e?e:function(r,n,g){let a,t,m=!1,i=new Promise(e=>{a=function(r){l||(console.warn(s,(new Error).stack),l=!0),m=!0,e(r)}});try{t=e(r,n,a)}catch(e){t=Promise.reject(e)}const o=!0!==t&&(e=>e&&"object"==typeof e&&"function"==typeof e.then)(t);if(!0!==t&&!o&&!m)return!1;const A=e=>{e.then(e=>{g(e)},e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",g({__mozWebExtensionPolyfillReject__:!0,message:r})}).catch(e=>{console.error("Failed to send onMessage rejected reply",e)})};return A(o?t:i),!0}),x=({reject:s,resolve:n},g)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():s(e.runtime.lastError):g&&g.__mozWebExtensionPolyfillReject__?s(new Error(g.message)):n(g)},u=(e,r,s,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${t(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((e,r)=>{const g=x.bind(null,{resolve:e,reject:r});n.push(g),s.sendMessage(...n)})},d={runtime:{onMessage:A(c),onMessageExternal:A(c),sendMessage:u.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:u.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},f={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{networkPredictionEnabled:f,webRTCIPHandlingPolicy:f},services:{passwordSavingEnabled:f},websites:{hyperlinkAuditingEnabled:f,referrersEnabled:f}},o(e,d,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,g):n)||(e.exports=a)},,function(e,r,s){"use strict";s.r(r);var n=s(0),g=s.n(n);g.a.runtime.onInstalled.addListener((function(){console.log("onInstalled....")})),g.a.runtime.onMessage.addListener((function(e,r,s){return alert(e.url),Promise.resolve("got your message, thanks!")}))}]); \ No newline at end of file diff --git a/chrome/js/contentScript.bundle.js b/chrome/js/contentScript.bundle.js new file mode 100644 index 0000000..3bfeb30 --- /dev/null +++ b/chrome/js/contentScript.bundle.js @@ -0,0 +1 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}({3:function(e,t){document.body.style.filter="invert(1)"}}); \ No newline at end of file diff --git a/chrome/js/options.bundle.js b/chrome/js/options.bundle.js new file mode 100644 index 0000000..b87b2e9 --- /dev/null +++ b/chrome/js/options.bundle.js @@ -0,0 +1 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}({6:function(e,t){console.log("Hello World from options main file!")}}); \ No newline at end of file diff --git a/chrome/js/popup.bundle.js b/chrome/js/popup.bundle.js new file mode 100644 index 0000000..175bda4 --- /dev/null +++ b/chrome/js/popup.bundle.js @@ -0,0 +1 @@ +!function(e){var r={};function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var s in e)t.d(n,s,function(r){return e[r]}.bind(null,s));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=4)}([function(e,r,t){var n,s,a;s=[e],void 0===(a="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",t="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class s extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const a=(r,t)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):t.singleCallbackArg||n.length<=1&&!1!==t.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},o=e=>1==e?"argument":"arguments",i=(e,r,t)=>new Proxy(r,{apply:(r,n,s)=>t.call(n,e,...s)});let g=Function.call.bind(Object.prototype.hasOwnProperty);const m=(e,r={},t={})=>{let n=Object.create(null),s={has:(r,t)=>t in e||t in n,get(s,l,c){if(l in n)return n[l];if(!(l in e))return;let A=e[l];if("function"==typeof A)if("function"==typeof r[l])A=i(e,e[l],r[l]);else if(g(t,l)){let r=((e,r)=>(function(t,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${o(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((s,o)=>{if(r.fallbackToNoCallback)try{t[e](...n,a({resolve:s,reject:o},r))}catch(a){console.warn(`${e} API method doesn't seem to support the callback parameter, `+"falling back to call it without a callback: ",a),t[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,s()}else r.noCallback?(t[e](...n),s()):t[e](...n,a({resolve:s,reject:o},r))})}))(l,t[l]);A=i(e,e[l],r)}else A=A.bind(e);else{if("object"!=typeof A||null===A||!g(r,l)&&!g(t,l))return Object.defineProperty(n,l,{configurable:!0,enumerable:!0,get:()=>e[l],set(r){e[l]=r}}),A;A=m(A,r[l],t[l])}return n[l]=A,A},set:(r,t,s,a)=>(t in n?n[t]=s:e[t]=s,!0),defineProperty:(e,r,t)=>Reflect.defineProperty(n,r,t),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},l=Object.create(e);return new Proxy(l,s)},l=e=>({addListener(r,t,...n){r.addListener(e.get(t),...n)},hasListener:(r,t)=>r.hasListener(e.get(t)),removeListener(r,t){r.removeListener(e.get(t))}});let c=!1;const A=new s(e=>"function"!=typeof e?e:function(r,n,s){let a,o,i=!1,g=new Promise(e=>{a=function(r){c||(console.warn(t,(new Error).stack),c=!0),i=!0,e(r)}});try{o=e(r,n,a)}catch(e){o=Promise.reject(e)}const m=!0!==o&&(e=>e&&"object"==typeof e&&"function"==typeof e.then)(o);if(!0!==o&&!m&&!i)return!1;const l=e=>{e.then(e=>{s(e)},e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",s({__mozWebExtensionPolyfillReject__:!0,message:r})}).catch(e=>{console.error("Failed to send onMessage rejected reply",e)})};return l(m?o:g),!0}),u=({reject:t,resolve:n},s)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():t(e.runtime.lastError):s&&s.__mozWebExtensionPolyfillReject__?t(new Error(s.message)):n(s)},f=(e,r,t,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${o(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((e,r)=>{const s=u.bind(null,{resolve:e,reject:r});n.push(s),t.sendMessage(...n)})},x={runtime:{onMessage:l(A),onMessageExternal:l(A),sendMessage:f.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:f.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},h={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{networkPredictionEnabled:h,webRTCIPHandlingPolicy:h},services:{passwordSavingEnabled:h},websites:{hyperlinkAuditingEnabled:h,referrersEnabled:h}},m(e,x,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,s):n)||(e.exports=a)},function(e,r,t){e.exports=t(5)},,,function(e,r,t){"use strict";t.r(r);var n=t(1),s=t.n(n),a=t(0),o=t.n(a);function i(e,r,t,n,s,a,o){try{var i=e[a](o),g=i.value}catch(e){return void t(e)}i.done?r(g):Promise.resolve(g).then(n,s)}function g(e){return function(){var r=this,t=arguments;return new Promise((function(n,s){var a=e.apply(r,t);function o(e){i(a,n,s,o,g,"next",e)}function g(e){i(a,n,s,o,g,"throw",e)}o(void 0)}))}}document.addEventListener("DOMContentLoaded",g(s.a.mark((function e(){var r,t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.a.tabs.query({active:!0,lastFocusedWindow:!0});case 2:return r=e.sent,t=r.length&&r[0].url,e.next=6,o.a.runtime.sendMessage({msg:"hello",url:t});case 6:n=e.sent,console.log(n);case 8:case"end":return e.stop()}}),e)}))))},function(e,r,t){var n=function(e){"use strict";var r,t=Object.prototype,n=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},a=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function g(e,r,t,n){var s=r&&r.prototype instanceof x?r:x,a=Object.create(s.prototype),o=new j(n||[]);return a._invoke=function(e,r,t){var n=l;return function(s,a){if(n===A)throw new Error("Generator is already running");if(n===u){if("throw"===s)throw a;return T()}for(t.method=s,t.arg=a;;){var o=t.delegate;if(o){var i=E(o,t);if(i){if(i===f)continue;return i}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(n===l)throw n=u,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n=A;var g=m(e,r,t);if("normal"===g.type){if(n=t.done?u:c,g.arg===f)continue;return{value:g.arg,done:t.done}}"throw"===g.type&&(n=u,t.method="throw",t.arg=g.arg)}}}(e,t,o),a}function m(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=g;var l="suspendedStart",c="suspendedYield",A="executing",u="completed",f={};function x(){}function h(){}function d(){}var p={};p[a]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(C([])));v&&v!==t&&n.call(v,a)&&(p=v);var b=d.prototype=x.prototype=Object.create(p);function w(e){["next","throw","return"].forEach((function(r){e[r]=function(e){return this._invoke(r,e)}}))}function k(e){var r;this._invoke=function(t,s){function a(){return new Promise((function(r,a){!function r(t,s,a,o){var i=m(e[t],e,s);if("throw"!==i.type){var g=i.arg,l=g.value;return l&&"object"==typeof l&&n.call(l,"__await")?Promise.resolve(l.__await).then((function(e){r("next",e,a,o)}),(function(e){r("throw",e,a,o)})):Promise.resolve(l).then((function(e){g.value=e,a(g)}),(function(e){return r("throw",e,a,o)}))}o(i.arg)}(t,s,r,a)}))}return r=r?r.then(a,a):a()}}function E(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,E(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var s=m(n,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,f;var a=s.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function P(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function L(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,o=function t(){for(;++s=0;--a){var o=this.tryEntries[a],i=o.completion;if("root"===o.tryLoc)return s("end");if(o.tryLoc<=this.prev){var g=n.call(o,"catchLoc"),m=n.call(o,"finallyLoc");if(g&&m){if(this.prev=0;--t){var s=this.tryEntries[t];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),L(t),f}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var s=n.arg;L(t)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),f}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}}]); \ No newline at end of file diff --git a/chrome/manifest.json b/chrome/manifest.json new file mode 100644 index 0000000..386d4b5 --- /dev/null +++ b/chrome/manifest.json @@ -0,0 +1,57 @@ +{ + "manifest_version": 2, + "name": "Sample WebExtension", + "version": "1.0.0", + "icons": { + "16": "assets/icons/favicon-16.png", + "32": "assets/icons/favicon-32.png", + "48": "assets/icons/favicon-48.png", + "128": "assets/icons/favicon-128.png" + }, + "description": "Sample description", + "homepage_url": "https://github.com/abhijithvijayan/web-extension-starter", + "short_name": "Sample Name", + "permissions": [ + "tabs", + "storage", + "http://*/*", + "https://*/*" + ], + "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", + "author": "abhijithvijayan", + "minimum_chrome_version": "49", + "browser_action": { + "default_popup": "popup.html", + "default_icon": { + "16": "assets/icons/favicon-16.png", + "32": "assets/icons/favicon-32.png", + "48": "assets/icons/favicon-48.png", + "128": "assets/icons/favicon-128.png" + }, + "default_title": "tiny title", + "chrome_style": false + }, + "options_page": "options.html", + "options_ui": { + "page": "options.html", + "open_in_tab": true, + "chrome_style": false + }, + "background": { + "scripts": [ + "js/background.bundle.js" + ], + "persistent": false + }, + "content_scripts": [ + { + "matches": [ + "http://*/*", + "https://*/*" + ], + "js": [ + "js/contentScript.bundle.js" + ] + } + ] +} \ No newline at end of file diff --git a/chrome/options.html b/chrome/options.html new file mode 100644 index 0000000..14cc8fe --- /dev/null +++ b/chrome/options.html @@ -0,0 +1,11 @@ + + + + + + Options + + + + + diff --git a/chrome/popup.html b/chrome/popup.html new file mode 100644 index 0000000..8861940 --- /dev/null +++ b/chrome/popup.html @@ -0,0 +1,11 @@ + + + + + + Popup + + + + + diff --git a/firefox.xpi b/firefox.xpi new file mode 100644 index 0000000000000000000000000000000000000000..cd0eb7a417cfcdfc69405db9ce9dadc02c1aab4b GIT binary patch literal 24696 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

r55a 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 literal 0 HcmV?d00001 diff --git a/firefox/assets/icons/favicon-128.png b/firefox/assets/icons/favicon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b3fddcab6022ec248b8438b6e2974d5d69da46 GIT binary patch literal 6839 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 h2>a;>oXGr0f& literal 0 HcmV?d00001 diff --git a/firefox/assets/icons/favicon-48.png b/firefox/assets/icons/favicon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..d41f7b811b6cf2fc14a63309a39954eb1adcf8d6 GIT binary patch literal 1910 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 literal 0 HcmV?d00001 diff --git a/firefox/css/options.css b/firefox/css/options.css new file mode 100644 index 0000000..24970ed --- /dev/null +++ b/firefox/css/options.css @@ -0,0 +1,4 @@ +@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,*:before,*:after{box-sizing:border-box}*:focus{outline:0}ol,ul{list-style-type:none}*{margin:0;padding:0;border:0;outline:0}body{overflow-x:hidden}a:link{text-decoration:none}body{color:#0d0d0d;background-color:#f3f3f3} + +/*# sourceURL=undefinedoptions.scss */ +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9wdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBc0UsbUJBQW1CLHFCQUFxQixDQUFDLFFBQVEsU0FBUyxDQUFDLE1BQU0sb0JBQW9CLENBQUMsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLG9CQUFvQixDQUFDLEtBQUssYUFBYSxDQUFDLHdCQUF3QiIsImZpbGUiOiJvcHRpb25zLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1OdW5pdG86NDAwLDYwMFwiKTsqLCo6YmVmb3JlLCo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fSo6Zm9jdXN7b3V0bGluZTowfW9sLHVse2xpc3Qtc3R5bGUtdHlwZTpub25lfSp7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MH1ib2R5e292ZXJmbG93LXg6aGlkZGVufWE6bGlua3t0ZXh0LWRlY29yYXRpb246bm9uZX1ib2R5e2NvbG9yOiMwZDBkMGQ7YmFja2dyb3VuZC1jb2xvcjojZjNmM2YzfVxuIl19 */ \ No newline at end of file diff --git a/firefox/css/popup.css b/firefox/css/popup.css new file mode 100644 index 0000000..595d776 --- /dev/null +++ b/firefox/css/popup.css @@ -0,0 +1,4 @@ +@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,*:before,*:after{box-sizing:border-box}*:focus{outline:0}ol,ul{list-style-type:none}*{margin:0;padding:0;border:0;outline:0}body{overflow-x:hidden}a:link{text-decoration:none}body{color:#0d0d0d;background-color:#f3f3f3} + +/*# sourceURL=undefinedpopup.scss */ +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcHVwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQXNFLG1CQUFtQixxQkFBcUIsQ0FBQyxRQUFRLFNBQVMsQ0FBQyxNQUFNLG9CQUFvQixDQUFDLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssaUJBQWlCLENBQUMsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLGFBQWEsQ0FBQyx3QkFBd0IiLCJmaWxlIjoicG9wdXAuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0bzo0MDAsNjAwXCIpOyosKjpiZWZvcmUsKjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9Kjpmb2N1c3tvdXRsaW5lOjB9b2wsdWx7bGlzdC1zdHlsZS10eXBlOm5vbmV9KnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowfWJvZHl7b3ZlcmZsb3cteDpoaWRkZW59YTpsaW5re3RleHQtZGVjb3JhdGlvbjpub25lfWJvZHl7Y29sb3I6IzBkMGQwZDtiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjN9XG4iXX0= */ \ No newline at end of file diff --git a/firefox/js/background.bundle.js b/firefox/js/background.bundle.js new file mode 100644 index 0000000..2a056dc --- /dev/null +++ b/firefox/js/background.bundle.js @@ -0,0 +1 @@ +!function(e){var r={};function s(n){if(r[n])return r[n].exports;var g=r[n]={i:n,l:!1,exports:{}};return e[n].call(g.exports,g,g.exports,s),g.l=!0,g.exports}s.m=e,s.c=r,s.d=function(e,r,n){s.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,r){if(1&r&&(e=s(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var g in e)s.d(n,g,function(r){return e[r]}.bind(null,g));return n},s.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(r,"a",r),r},s.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},s.p="",s(s.s=2)}([function(e,r,s){var n,g,a;g=[e],void 0===(a="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",s="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class g extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const a=(r,s)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):s.singleCallbackArg||n.length<=1&&!1!==s.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},t=e=>1==e?"argument":"arguments",m=(e,r,s)=>new Proxy(r,{apply:(r,n,g)=>s.call(n,e,...g)});let i=Function.call.bind(Object.prototype.hasOwnProperty);const o=(e,r={},s={})=>{let n=Object.create(null),g={has:(r,s)=>s in e||s in n,get(g,A,l){if(A in n)return n[A];if(!(A in e))return;let c=e[A];if("function"==typeof c)if("function"==typeof r[A])c=m(e,e[A],r[A]);else if(i(s,A)){let r=((e,r)=>(function(s,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${t(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((g,t)=>{if(r.fallbackToNoCallback)try{s[e](...n,a({resolve:g,reject:t},r))}catch(a){console.warn(`${e} API method doesn't seem to support the callback parameter, `+"falling back to call it without a callback: ",a),s[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,g()}else r.noCallback?(s[e](...n),g()):s[e](...n,a({resolve:g,reject:t},r))})}))(A,s[A]);c=m(e,e[A],r)}else c=c.bind(e);else{if("object"!=typeof c||null===c||!i(r,A)&&!i(s,A))return Object.defineProperty(n,A,{configurable:!0,enumerable:!0,get:()=>e[A],set(r){e[A]=r}}),c;c=o(c,r[A],s[A])}return n[A]=c,c},set:(r,s,g,a)=>(s in n?n[s]=g:e[s]=g,!0),defineProperty:(e,r,s)=>Reflect.defineProperty(n,r,s),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},A=Object.create(e);return new Proxy(A,g)},A=e=>({addListener(r,s,...n){r.addListener(e.get(s),...n)},hasListener:(r,s)=>r.hasListener(e.get(s)),removeListener(r,s){r.removeListener(e.get(s))}});let l=!1;const c=new g(e=>"function"!=typeof e?e:function(r,n,g){let a,t,m=!1,i=new Promise(e=>{a=function(r){l||(console.warn(s,(new Error).stack),l=!0),m=!0,e(r)}});try{t=e(r,n,a)}catch(e){t=Promise.reject(e)}const o=!0!==t&&(e=>e&&"object"==typeof e&&"function"==typeof e.then)(t);if(!0!==t&&!o&&!m)return!1;const A=e=>{e.then(e=>{g(e)},e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",g({__mozWebExtensionPolyfillReject__:!0,message:r})}).catch(e=>{console.error("Failed to send onMessage rejected reply",e)})};return A(o?t:i),!0}),x=({reject:s,resolve:n},g)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():s(e.runtime.lastError):g&&g.__mozWebExtensionPolyfillReject__?s(new Error(g.message)):n(g)},u=(e,r,s,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${t(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((e,r)=>{const g=x.bind(null,{resolve:e,reject:r});n.push(g),s.sendMessage(...n)})},d={runtime:{onMessage:A(c),onMessageExternal:A(c),sendMessage:u.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:u.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},f={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{networkPredictionEnabled:f,webRTCIPHandlingPolicy:f},services:{passwordSavingEnabled:f},websites:{hyperlinkAuditingEnabled:f,referrersEnabled:f}},o(e,d,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,g):n)||(e.exports=a)},,function(e,r,s){"use strict";s.r(r);var n=s(0),g=s.n(n);g.a.runtime.onInstalled.addListener((function(){console.log("onInstalled....")})),g.a.runtime.onMessage.addListener((function(e,r,s){return alert(e.url),Promise.resolve("got your message, thanks!")}))}]); \ No newline at end of file diff --git a/firefox/js/contentScript.bundle.js b/firefox/js/contentScript.bundle.js new file mode 100644 index 0000000..3bfeb30 --- /dev/null +++ b/firefox/js/contentScript.bundle.js @@ -0,0 +1 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}({3:function(e,t){document.body.style.filter="invert(1)"}}); \ No newline at end of file diff --git a/firefox/js/options.bundle.js b/firefox/js/options.bundle.js new file mode 100644 index 0000000..b87b2e9 --- /dev/null +++ b/firefox/js/options.bundle.js @@ -0,0 +1 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}({6:function(e,t){console.log("Hello World from options main file!")}}); \ No newline at end of file diff --git a/firefox/js/popup.bundle.js b/firefox/js/popup.bundle.js new file mode 100644 index 0000000..175bda4 --- /dev/null +++ b/firefox/js/popup.bundle.js @@ -0,0 +1 @@ +!function(e){var r={};function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var s in e)t.d(n,s,function(r){return e[r]}.bind(null,s));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=4)}([function(e,r,t){var n,s,a;s=[e],void 0===(a="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",t="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class s extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const a=(r,t)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):t.singleCallbackArg||n.length<=1&&!1!==t.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},o=e=>1==e?"argument":"arguments",i=(e,r,t)=>new Proxy(r,{apply:(r,n,s)=>t.call(n,e,...s)});let g=Function.call.bind(Object.prototype.hasOwnProperty);const m=(e,r={},t={})=>{let n=Object.create(null),s={has:(r,t)=>t in e||t in n,get(s,l,c){if(l in n)return n[l];if(!(l in e))return;let A=e[l];if("function"==typeof A)if("function"==typeof r[l])A=i(e,e[l],r[l]);else if(g(t,l)){let r=((e,r)=>(function(t,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${o(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((s,o)=>{if(r.fallbackToNoCallback)try{t[e](...n,a({resolve:s,reject:o},r))}catch(a){console.warn(`${e} API method doesn't seem to support the callback parameter, `+"falling back to call it without a callback: ",a),t[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,s()}else r.noCallback?(t[e](...n),s()):t[e](...n,a({resolve:s,reject:o},r))})}))(l,t[l]);A=i(e,e[l],r)}else A=A.bind(e);else{if("object"!=typeof A||null===A||!g(r,l)&&!g(t,l))return Object.defineProperty(n,l,{configurable:!0,enumerable:!0,get:()=>e[l],set(r){e[l]=r}}),A;A=m(A,r[l],t[l])}return n[l]=A,A},set:(r,t,s,a)=>(t in n?n[t]=s:e[t]=s,!0),defineProperty:(e,r,t)=>Reflect.defineProperty(n,r,t),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},l=Object.create(e);return new Proxy(l,s)},l=e=>({addListener(r,t,...n){r.addListener(e.get(t),...n)},hasListener:(r,t)=>r.hasListener(e.get(t)),removeListener(r,t){r.removeListener(e.get(t))}});let c=!1;const A=new s(e=>"function"!=typeof e?e:function(r,n,s){let a,o,i=!1,g=new Promise(e=>{a=function(r){c||(console.warn(t,(new Error).stack),c=!0),i=!0,e(r)}});try{o=e(r,n,a)}catch(e){o=Promise.reject(e)}const m=!0!==o&&(e=>e&&"object"==typeof e&&"function"==typeof e.then)(o);if(!0!==o&&!m&&!i)return!1;const l=e=>{e.then(e=>{s(e)},e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",s({__mozWebExtensionPolyfillReject__:!0,message:r})}).catch(e=>{console.error("Failed to send onMessage rejected reply",e)})};return l(m?o:g),!0}),u=({reject:t,resolve:n},s)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():t(e.runtime.lastError):s&&s.__mozWebExtensionPolyfillReject__?t(new Error(s.message)):n(s)},f=(e,r,t,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${o(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((e,r)=>{const s=u.bind(null,{resolve:e,reject:r});n.push(s),t.sendMessage(...n)})},x={runtime:{onMessage:l(A),onMessageExternal:l(A),sendMessage:f.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:f.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},h={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{networkPredictionEnabled:h,webRTCIPHandlingPolicy:h},services:{passwordSavingEnabled:h},websites:{hyperlinkAuditingEnabled:h,referrersEnabled:h}},m(e,x,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,s):n)||(e.exports=a)},function(e,r,t){e.exports=t(5)},,,function(e,r,t){"use strict";t.r(r);var n=t(1),s=t.n(n),a=t(0),o=t.n(a);function i(e,r,t,n,s,a,o){try{var i=e[a](o),g=i.value}catch(e){return void t(e)}i.done?r(g):Promise.resolve(g).then(n,s)}function g(e){return function(){var r=this,t=arguments;return new Promise((function(n,s){var a=e.apply(r,t);function o(e){i(a,n,s,o,g,"next",e)}function g(e){i(a,n,s,o,g,"throw",e)}o(void 0)}))}}document.addEventListener("DOMContentLoaded",g(s.a.mark((function e(){var r,t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.a.tabs.query({active:!0,lastFocusedWindow:!0});case 2:return r=e.sent,t=r.length&&r[0].url,e.next=6,o.a.runtime.sendMessage({msg:"hello",url:t});case 6:n=e.sent,console.log(n);case 8:case"end":return e.stop()}}),e)}))))},function(e,r,t){var n=function(e){"use strict";var r,t=Object.prototype,n=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},a=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function g(e,r,t,n){var s=r&&r.prototype instanceof x?r:x,a=Object.create(s.prototype),o=new j(n||[]);return a._invoke=function(e,r,t){var n=l;return function(s,a){if(n===A)throw new Error("Generator is already running");if(n===u){if("throw"===s)throw a;return T()}for(t.method=s,t.arg=a;;){var o=t.delegate;if(o){var i=E(o,t);if(i){if(i===f)continue;return i}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(n===l)throw n=u,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n=A;var g=m(e,r,t);if("normal"===g.type){if(n=t.done?u:c,g.arg===f)continue;return{value:g.arg,done:t.done}}"throw"===g.type&&(n=u,t.method="throw",t.arg=g.arg)}}}(e,t,o),a}function m(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=g;var l="suspendedStart",c="suspendedYield",A="executing",u="completed",f={};function x(){}function h(){}function d(){}var p={};p[a]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(C([])));v&&v!==t&&n.call(v,a)&&(p=v);var b=d.prototype=x.prototype=Object.create(p);function w(e){["next","throw","return"].forEach((function(r){e[r]=function(e){return this._invoke(r,e)}}))}function k(e){var r;this._invoke=function(t,s){function a(){return new Promise((function(r,a){!function r(t,s,a,o){var i=m(e[t],e,s);if("throw"!==i.type){var g=i.arg,l=g.value;return l&&"object"==typeof l&&n.call(l,"__await")?Promise.resolve(l.__await).then((function(e){r("next",e,a,o)}),(function(e){r("throw",e,a,o)})):Promise.resolve(l).then((function(e){g.value=e,a(g)}),(function(e){return r("throw",e,a,o)}))}o(i.arg)}(t,s,r,a)}))}return r=r?r.then(a,a):a()}}function E(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,E(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var s=m(n,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,f;var a=s.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function P(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function L(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,o=function t(){for(;++s=0;--a){var o=this.tryEntries[a],i=o.completion;if("root"===o.tryLoc)return s("end");if(o.tryLoc<=this.prev){var g=n.call(o,"catchLoc"),m=n.call(o,"finallyLoc");if(g&&m){if(this.prev=0;--t){var s=this.tryEntries[t];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),L(t),f}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var s=n.arg;L(t)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),f}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}}]); \ No newline at end of file diff --git a/firefox/manifest.json b/firefox/manifest.json new file mode 100644 index 0000000..34a44c7 --- /dev/null +++ b/firefox/manifest.json @@ -0,0 +1,58 @@ +{ + "manifest_version": 2, + "name": "Sample WebExtension", + "version": "1.0.0", + "icons": { + "16": "assets/icons/favicon-16.png", + "32": "assets/icons/favicon-32.png", + "48": "assets/icons/favicon-48.png", + "128": "assets/icons/favicon-128.png" + }, + "description": "Sample description", + "homepage_url": "https://github.com/abhijithvijayan/web-extension-starter", + "short_name": "Sample Name", + "permissions": [ + "tabs", + "storage", + "http://*/*", + "https://*/*" + ], + "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", + "author": "abhijithvijayan", + "applications": { + "gecko": { + "id": "{754FB1AD-CC3B-4856-B6A0-7786F8CA9D17}" + } + }, + "browser_action": { + "default_popup": "popup.html", + "default_icon": { + "16": "assets/icons/favicon-16.png", + "32": "assets/icons/favicon-32.png", + "48": "assets/icons/favicon-48.png", + "128": "assets/icons/favicon-128.png" + }, + "default_title": "tiny title", + "browser_style": false + }, + "options_ui": { + "page": "options.html", + "open_in_tab": true + }, + "background": { + "scripts": [ + "js/background.bundle.js" + ] + }, + "content_scripts": [ + { + "matches": [ + "http://*/*", + "https://*/*" + ], + "js": [ + "js/contentScript.bundle.js" + ] + } + ] +} \ No newline at end of file diff --git a/firefox/options.html b/firefox/options.html new file mode 100644 index 0000000..14cc8fe --- /dev/null +++ b/firefox/options.html @@ -0,0 +1,11 @@ + + + + + + Options + + + + + diff --git a/firefox/popup.html b/firefox/popup.html new file mode 100644 index 0000000..8861940 --- /dev/null +++ b/firefox/popup.html @@ -0,0 +1,11 @@ + + + + + + Popup + + + + + diff --git a/opera.crx b/opera.crx new file mode 100644 index 0000000000000000000000000000000000000000..67c9dc55e27d481750dd3ea2f36667a9cc281b14 GIT binary patch literal 24668 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 S{S$MskhBoj|AFqGcmD@B?F)hc literal 0 HcmV?d00001 diff --git a/opera/assets/icons/favicon-128.png b/opera/assets/icons/favicon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b3fddcab6022ec248b8438b6e2974d5d69da46 GIT binary patch literal 6839 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 h2>a;>oXGr0f& literal 0 HcmV?d00001 diff --git a/opera/assets/icons/favicon-48.png b/opera/assets/icons/favicon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..d41f7b811b6cf2fc14a63309a39954eb1adcf8d6 GIT binary patch literal 1910 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 literal 0 HcmV?d00001 diff --git a/opera/css/options.css b/opera/css/options.css new file mode 100644 index 0000000..24970ed --- /dev/null +++ b/opera/css/options.css @@ -0,0 +1,4 @@ +@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,*:before,*:after{box-sizing:border-box}*:focus{outline:0}ol,ul{list-style-type:none}*{margin:0;padding:0;border:0;outline:0}body{overflow-x:hidden}a:link{text-decoration:none}body{color:#0d0d0d;background-color:#f3f3f3} + +/*# sourceURL=undefinedoptions.scss */ +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9wdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBc0UsbUJBQW1CLHFCQUFxQixDQUFDLFFBQVEsU0FBUyxDQUFDLE1BQU0sb0JBQW9CLENBQUMsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLG9CQUFvQixDQUFDLEtBQUssYUFBYSxDQUFDLHdCQUF3QiIsImZpbGUiOiJvcHRpb25zLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1OdW5pdG86NDAwLDYwMFwiKTsqLCo6YmVmb3JlLCo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94fSo6Zm9jdXN7b3V0bGluZTowfW9sLHVse2xpc3Qtc3R5bGUtdHlwZTpub25lfSp7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MH1ib2R5e292ZXJmbG93LXg6aGlkZGVufWE6bGlua3t0ZXh0LWRlY29yYXRpb246bm9uZX1ib2R5e2NvbG9yOiMwZDBkMGQ7YmFja2dyb3VuZC1jb2xvcjojZjNmM2YzfVxuIl19 */ \ No newline at end of file diff --git a/opera/css/popup.css b/opera/css/popup.css new file mode 100644 index 0000000..595d776 --- /dev/null +++ b/opera/css/popup.css @@ -0,0 +1,4 @@ +@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,*:before,*:after{box-sizing:border-box}*:focus{outline:0}ol,ul{list-style-type:none}*{margin:0;padding:0;border:0;outline:0}body{overflow-x:hidden}a:link{text-decoration:none}body{color:#0d0d0d;background-color:#f3f3f3} + +/*# sourceURL=undefinedpopup.scss */ +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcHVwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQXNFLG1CQUFtQixxQkFBcUIsQ0FBQyxRQUFRLFNBQVMsQ0FBQyxNQUFNLG9CQUFvQixDQUFDLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssaUJBQWlCLENBQUMsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLGFBQWEsQ0FBQyx3QkFBd0IiLCJmaWxlIjoicG9wdXAuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0bzo0MDAsNjAwXCIpOyosKjpiZWZvcmUsKjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9Kjpmb2N1c3tvdXRsaW5lOjB9b2wsdWx7bGlzdC1zdHlsZS10eXBlOm5vbmV9KnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowfWJvZHl7b3ZlcmZsb3cteDpoaWRkZW59YTpsaW5re3RleHQtZGVjb3JhdGlvbjpub25lfWJvZHl7Y29sb3I6IzBkMGQwZDtiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjN9XG4iXX0= */ \ No newline at end of file diff --git a/opera/js/background.bundle.js b/opera/js/background.bundle.js new file mode 100644 index 0000000..2a056dc --- /dev/null +++ b/opera/js/background.bundle.js @@ -0,0 +1 @@ +!function(e){var r={};function s(n){if(r[n])return r[n].exports;var g=r[n]={i:n,l:!1,exports:{}};return e[n].call(g.exports,g,g.exports,s),g.l=!0,g.exports}s.m=e,s.c=r,s.d=function(e,r,n){s.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,r){if(1&r&&(e=s(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var g in e)s.d(n,g,function(r){return e[r]}.bind(null,g));return n},s.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(r,"a",r),r},s.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},s.p="",s(s.s=2)}([function(e,r,s){var n,g,a;g=[e],void 0===(a="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",s="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class g extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const a=(r,s)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):s.singleCallbackArg||n.length<=1&&!1!==s.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},t=e=>1==e?"argument":"arguments",m=(e,r,s)=>new Proxy(r,{apply:(r,n,g)=>s.call(n,e,...g)});let i=Function.call.bind(Object.prototype.hasOwnProperty);const o=(e,r={},s={})=>{let n=Object.create(null),g={has:(r,s)=>s in e||s in n,get(g,A,l){if(A in n)return n[A];if(!(A in e))return;let c=e[A];if("function"==typeof c)if("function"==typeof r[A])c=m(e,e[A],r[A]);else if(i(s,A)){let r=((e,r)=>(function(s,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${t(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((g,t)=>{if(r.fallbackToNoCallback)try{s[e](...n,a({resolve:g,reject:t},r))}catch(a){console.warn(`${e} API method doesn't seem to support the callback parameter, `+"falling back to call it without a callback: ",a),s[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,g()}else r.noCallback?(s[e](...n),g()):s[e](...n,a({resolve:g,reject:t},r))})}))(A,s[A]);c=m(e,e[A],r)}else c=c.bind(e);else{if("object"!=typeof c||null===c||!i(r,A)&&!i(s,A))return Object.defineProperty(n,A,{configurable:!0,enumerable:!0,get:()=>e[A],set(r){e[A]=r}}),c;c=o(c,r[A],s[A])}return n[A]=c,c},set:(r,s,g,a)=>(s in n?n[s]=g:e[s]=g,!0),defineProperty:(e,r,s)=>Reflect.defineProperty(n,r,s),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},A=Object.create(e);return new Proxy(A,g)},A=e=>({addListener(r,s,...n){r.addListener(e.get(s),...n)},hasListener:(r,s)=>r.hasListener(e.get(s)),removeListener(r,s){r.removeListener(e.get(s))}});let l=!1;const c=new g(e=>"function"!=typeof e?e:function(r,n,g){let a,t,m=!1,i=new Promise(e=>{a=function(r){l||(console.warn(s,(new Error).stack),l=!0),m=!0,e(r)}});try{t=e(r,n,a)}catch(e){t=Promise.reject(e)}const o=!0!==t&&(e=>e&&"object"==typeof e&&"function"==typeof e.then)(t);if(!0!==t&&!o&&!m)return!1;const A=e=>{e.then(e=>{g(e)},e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",g({__mozWebExtensionPolyfillReject__:!0,message:r})}).catch(e=>{console.error("Failed to send onMessage rejected reply",e)})};return A(o?t:i),!0}),x=({reject:s,resolve:n},g)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():s(e.runtime.lastError):g&&g.__mozWebExtensionPolyfillReject__?s(new Error(g.message)):n(g)},u=(e,r,s,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${t(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((e,r)=>{const g=x.bind(null,{resolve:e,reject:r});n.push(g),s.sendMessage(...n)})},d={runtime:{onMessage:A(c),onMessageExternal:A(c),sendMessage:u.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:u.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},f={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{networkPredictionEnabled:f,webRTCIPHandlingPolicy:f},services:{passwordSavingEnabled:f},websites:{hyperlinkAuditingEnabled:f,referrersEnabled:f}},o(e,d,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,g):n)||(e.exports=a)},,function(e,r,s){"use strict";s.r(r);var n=s(0),g=s.n(n);g.a.runtime.onInstalled.addListener((function(){console.log("onInstalled....")})),g.a.runtime.onMessage.addListener((function(e,r,s){return alert(e.url),Promise.resolve("got your message, thanks!")}))}]); \ No newline at end of file diff --git a/opera/js/contentScript.bundle.js b/opera/js/contentScript.bundle.js new file mode 100644 index 0000000..3bfeb30 --- /dev/null +++ b/opera/js/contentScript.bundle.js @@ -0,0 +1 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}({3:function(e,t){document.body.style.filter="invert(1)"}}); \ No newline at end of file diff --git a/opera/js/options.bundle.js b/opera/js/options.bundle.js new file mode 100644 index 0000000..b87b2e9 --- /dev/null +++ b/opera/js/options.bundle.js @@ -0,0 +1 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}({6:function(e,t){console.log("Hello World from options main file!")}}); \ No newline at end of file diff --git a/opera/js/popup.bundle.js b/opera/js/popup.bundle.js new file mode 100644 index 0000000..175bda4 --- /dev/null +++ b/opera/js/popup.bundle.js @@ -0,0 +1 @@ +!function(e){var r={};function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var s in e)t.d(n,s,function(r){return e[r]}.bind(null,s));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=4)}([function(e,r,t){var n,s,a;s=[e],void 0===(a="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",t="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class s extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const a=(r,t)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):t.singleCallbackArg||n.length<=1&&!1!==t.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},o=e=>1==e?"argument":"arguments",i=(e,r,t)=>new Proxy(r,{apply:(r,n,s)=>t.call(n,e,...s)});let g=Function.call.bind(Object.prototype.hasOwnProperty);const m=(e,r={},t={})=>{let n=Object.create(null),s={has:(r,t)=>t in e||t in n,get(s,l,c){if(l in n)return n[l];if(!(l in e))return;let A=e[l];if("function"==typeof A)if("function"==typeof r[l])A=i(e,e[l],r[l]);else if(g(t,l)){let r=((e,r)=>(function(t,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${o(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((s,o)=>{if(r.fallbackToNoCallback)try{t[e](...n,a({resolve:s,reject:o},r))}catch(a){console.warn(`${e} API method doesn't seem to support the callback parameter, `+"falling back to call it without a callback: ",a),t[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,s()}else r.noCallback?(t[e](...n),s()):t[e](...n,a({resolve:s,reject:o},r))})}))(l,t[l]);A=i(e,e[l],r)}else A=A.bind(e);else{if("object"!=typeof A||null===A||!g(r,l)&&!g(t,l))return Object.defineProperty(n,l,{configurable:!0,enumerable:!0,get:()=>e[l],set(r){e[l]=r}}),A;A=m(A,r[l],t[l])}return n[l]=A,A},set:(r,t,s,a)=>(t in n?n[t]=s:e[t]=s,!0),defineProperty:(e,r,t)=>Reflect.defineProperty(n,r,t),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},l=Object.create(e);return new Proxy(l,s)},l=e=>({addListener(r,t,...n){r.addListener(e.get(t),...n)},hasListener:(r,t)=>r.hasListener(e.get(t)),removeListener(r,t){r.removeListener(e.get(t))}});let c=!1;const A=new s(e=>"function"!=typeof e?e:function(r,n,s){let a,o,i=!1,g=new Promise(e=>{a=function(r){c||(console.warn(t,(new Error).stack),c=!0),i=!0,e(r)}});try{o=e(r,n,a)}catch(e){o=Promise.reject(e)}const m=!0!==o&&(e=>e&&"object"==typeof e&&"function"==typeof e.then)(o);if(!0!==o&&!m&&!i)return!1;const l=e=>{e.then(e=>{s(e)},e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",s({__mozWebExtensionPolyfillReject__:!0,message:r})}).catch(e=>{console.error("Failed to send onMessage rejected reply",e)})};return l(m?o:g),!0}),u=({reject:t,resolve:n},s)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():t(e.runtime.lastError):s&&s.__mozWebExtensionPolyfillReject__?t(new Error(s.message)):n(s)},f=(e,r,t,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${o(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((e,r)=>{const s=u.bind(null,{resolve:e,reject:r});n.push(s),t.sendMessage(...n)})},x={runtime:{onMessage:l(A),onMessageExternal:l(A),sendMessage:f.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:f.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},h={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{networkPredictionEnabled:h,webRTCIPHandlingPolicy:h},services:{passwordSavingEnabled:h},websites:{hyperlinkAuditingEnabled:h,referrersEnabled:h}},m(e,x,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,s):n)||(e.exports=a)},function(e,r,t){e.exports=t(5)},,,function(e,r,t){"use strict";t.r(r);var n=t(1),s=t.n(n),a=t(0),o=t.n(a);function i(e,r,t,n,s,a,o){try{var i=e[a](o),g=i.value}catch(e){return void t(e)}i.done?r(g):Promise.resolve(g).then(n,s)}function g(e){return function(){var r=this,t=arguments;return new Promise((function(n,s){var a=e.apply(r,t);function o(e){i(a,n,s,o,g,"next",e)}function g(e){i(a,n,s,o,g,"throw",e)}o(void 0)}))}}document.addEventListener("DOMContentLoaded",g(s.a.mark((function e(){var r,t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.a.tabs.query({active:!0,lastFocusedWindow:!0});case 2:return r=e.sent,t=r.length&&r[0].url,e.next=6,o.a.runtime.sendMessage({msg:"hello",url:t});case 6:n=e.sent,console.log(n);case 8:case"end":return e.stop()}}),e)}))))},function(e,r,t){var n=function(e){"use strict";var r,t=Object.prototype,n=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},a=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function g(e,r,t,n){var s=r&&r.prototype instanceof x?r:x,a=Object.create(s.prototype),o=new j(n||[]);return a._invoke=function(e,r,t){var n=l;return function(s,a){if(n===A)throw new Error("Generator is already running");if(n===u){if("throw"===s)throw a;return T()}for(t.method=s,t.arg=a;;){var o=t.delegate;if(o){var i=E(o,t);if(i){if(i===f)continue;return i}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(n===l)throw n=u,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n=A;var g=m(e,r,t);if("normal"===g.type){if(n=t.done?u:c,g.arg===f)continue;return{value:g.arg,done:t.done}}"throw"===g.type&&(n=u,t.method="throw",t.arg=g.arg)}}}(e,t,o),a}function m(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=g;var l="suspendedStart",c="suspendedYield",A="executing",u="completed",f={};function x(){}function h(){}function d(){}var p={};p[a]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(C([])));v&&v!==t&&n.call(v,a)&&(p=v);var b=d.prototype=x.prototype=Object.create(p);function w(e){["next","throw","return"].forEach((function(r){e[r]=function(e){return this._invoke(r,e)}}))}function k(e){var r;this._invoke=function(t,s){function a(){return new Promise((function(r,a){!function r(t,s,a,o){var i=m(e[t],e,s);if("throw"!==i.type){var g=i.arg,l=g.value;return l&&"object"==typeof l&&n.call(l,"__await")?Promise.resolve(l.__await).then((function(e){r("next",e,a,o)}),(function(e){r("throw",e,a,o)})):Promise.resolve(l).then((function(e){g.value=e,a(g)}),(function(e){return r("throw",e,a,o)}))}o(i.arg)}(t,s,r,a)}))}return r=r?r.then(a,a):a()}}function E(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,E(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var s=m(n,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,f;var a=s.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function P(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function L(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,o=function t(){for(;++s=0;--a){var o=this.tryEntries[a],i=o.completion;if("root"===o.tryLoc)return s("end");if(o.tryLoc<=this.prev){var g=n.call(o,"catchLoc"),m=n.call(o,"finallyLoc");if(g&&m){if(this.prev=0;--t){var s=this.tryEntries[t];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),L(t),f}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var s=n.arg;L(t)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),f}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}}]); \ No newline at end of file diff --git a/opera/manifest.json b/opera/manifest.json new file mode 100644 index 0000000..8a20adc --- /dev/null +++ b/opera/manifest.json @@ -0,0 +1,58 @@ +{ + "manifest_version": 2, + "name": "Sample WebExtension", + "version": "1.0.0", + "icons": { + "16": "assets/icons/favicon-16.png", + "32": "assets/icons/favicon-32.png", + "48": "assets/icons/favicon-48.png", + "128": "assets/icons/favicon-128.png" + }, + "description": "Sample description", + "homepage_url": "https://github.com/abhijithvijayan/web-extension-starter", + "short_name": "Sample Name", + "permissions": [ + "tabs", + "storage", + "http://*/*", + "https://*/*" + ], + "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", + "developer": { + "name": "abhijithvijayan" + }, + "minimum_opera_version": "36", + "browser_action": { + "default_popup": "popup.html", + "default_icon": { + "16": "assets/icons/favicon-16.png", + "32": "assets/icons/favicon-32.png", + "48": "assets/icons/favicon-48.png", + "128": "assets/icons/favicon-128.png" + }, + "default_title": "tiny title", + "chrome_style": false + }, + "options_page": "options.html", + "options_ui": { + "page": "options.html", + "open_in_tab": true + }, + "background": { + "scripts": [ + "js/background.bundle.js" + ], + "persistent": false + }, + "content_scripts": [ + { + "matches": [ + "http://*/*", + "https://*/*" + ], + "js": [ + "js/contentScript.bundle.js" + ] + } + ] +} \ No newline at end of file diff --git a/opera/options.html b/opera/options.html new file mode 100644 index 0000000..14cc8fe --- /dev/null +++ b/opera/options.html @@ -0,0 +1,11 @@ + + + + + + Options + + + + + diff --git a/opera/popup.html b/opera/popup.html new file mode 100644 index 0000000..8861940 --- /dev/null +++ b/opera/popup.html @@ -0,0 +1,11 @@ + + + + + + Popup + + + + +