diff --git a/ReactDevToolsWebExtDep/icons/128-deadcode.png b/ReactDevToolsWebExtDep/icons/128-deadcode.png new file mode 100644 index 00000000..8eaefb2c Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/128-deadcode.png differ diff --git a/ReactDevToolsWebExtDep/icons/128-development.png b/ReactDevToolsWebExtDep/icons/128-development.png new file mode 100644 index 00000000..8eaefb2c Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/128-development.png differ diff --git a/ReactDevToolsWebExtDep/icons/128-disabled.png b/ReactDevToolsWebExtDep/icons/128-disabled.png new file mode 100644 index 00000000..eff8120d Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/128-disabled.png differ diff --git a/ReactDevToolsWebExtDep/icons/128-outdated.png b/ReactDevToolsWebExtDep/icons/128-outdated.png new file mode 100644 index 00000000..ddf7cd16 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/128-outdated.png differ diff --git a/ReactDevToolsWebExtDep/icons/128-production.png b/ReactDevToolsWebExtDep/icons/128-production.png new file mode 100644 index 00000000..91cb5b56 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/128-production.png differ diff --git a/ReactDevToolsWebExtDep/icons/128-restricted.png b/ReactDevToolsWebExtDep/icons/128-restricted.png new file mode 100644 index 00000000..eff8120d Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/128-restricted.png differ diff --git a/ReactDevToolsWebExtDep/icons/128-unminified.png b/ReactDevToolsWebExtDep/icons/128-unminified.png new file mode 100644 index 00000000..8eaefb2c Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/128-unminified.png differ diff --git a/ReactDevToolsWebExtDep/icons/16-deadcode.png b/ReactDevToolsWebExtDep/icons/16-deadcode.png new file mode 100644 index 00000000..1017fdab Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/16-deadcode.png differ diff --git a/ReactDevToolsWebExtDep/icons/16-development.png b/ReactDevToolsWebExtDep/icons/16-development.png new file mode 100644 index 00000000..1017fdab Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/16-development.png differ diff --git a/ReactDevToolsWebExtDep/icons/16-disabled.png b/ReactDevToolsWebExtDep/icons/16-disabled.png new file mode 100644 index 00000000..5426c9fb Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/16-disabled.png differ diff --git a/ReactDevToolsWebExtDep/icons/16-outdated.png b/ReactDevToolsWebExtDep/icons/16-outdated.png new file mode 100644 index 00000000..9108d151 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/16-outdated.png differ diff --git a/ReactDevToolsWebExtDep/icons/16-production.png b/ReactDevToolsWebExtDep/icons/16-production.png new file mode 100644 index 00000000..fb7e5a92 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/16-production.png differ diff --git a/ReactDevToolsWebExtDep/icons/16-restricted.png b/ReactDevToolsWebExtDep/icons/16-restricted.png new file mode 100644 index 00000000..5426c9fb Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/16-restricted.png differ diff --git a/ReactDevToolsWebExtDep/icons/16-unminified.png b/ReactDevToolsWebExtDep/icons/16-unminified.png new file mode 100644 index 00000000..1017fdab Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/16-unminified.png differ diff --git a/ReactDevToolsWebExtDep/icons/32-deadcode.png b/ReactDevToolsWebExtDep/icons/32-deadcode.png new file mode 100644 index 00000000..2376a50e Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/32-deadcode.png differ diff --git a/ReactDevToolsWebExtDep/icons/32-development.png b/ReactDevToolsWebExtDep/icons/32-development.png new file mode 100644 index 00000000..2376a50e Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/32-development.png differ diff --git a/ReactDevToolsWebExtDep/icons/32-disabled.png b/ReactDevToolsWebExtDep/icons/32-disabled.png new file mode 100644 index 00000000..3c984726 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/32-disabled.png differ diff --git a/ReactDevToolsWebExtDep/icons/32-outdated.png b/ReactDevToolsWebExtDep/icons/32-outdated.png new file mode 100644 index 00000000..a72807b3 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/32-outdated.png differ diff --git a/ReactDevToolsWebExtDep/icons/32-production.png b/ReactDevToolsWebExtDep/icons/32-production.png new file mode 100644 index 00000000..d730dc4f Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/32-production.png differ diff --git a/ReactDevToolsWebExtDep/icons/32-restricted.png b/ReactDevToolsWebExtDep/icons/32-restricted.png new file mode 100644 index 00000000..3c984726 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/32-restricted.png differ diff --git a/ReactDevToolsWebExtDep/icons/32-unminified.png b/ReactDevToolsWebExtDep/icons/32-unminified.png new file mode 100644 index 00000000..2376a50e Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/32-unminified.png differ diff --git a/ReactDevToolsWebExtDep/icons/48-deadcode.png b/ReactDevToolsWebExtDep/icons/48-deadcode.png new file mode 100644 index 00000000..01eeb6e8 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/48-deadcode.png differ diff --git a/ReactDevToolsWebExtDep/icons/48-development.png b/ReactDevToolsWebExtDep/icons/48-development.png new file mode 100644 index 00000000..01eeb6e8 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/48-development.png differ diff --git a/ReactDevToolsWebExtDep/icons/48-disabled.png b/ReactDevToolsWebExtDep/icons/48-disabled.png new file mode 100644 index 00000000..43cc19e3 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/48-disabled.png differ diff --git a/ReactDevToolsWebExtDep/icons/48-outdated.png b/ReactDevToolsWebExtDep/icons/48-outdated.png new file mode 100644 index 00000000..4a86731f Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/48-outdated.png differ diff --git a/ReactDevToolsWebExtDep/icons/48-production.png b/ReactDevToolsWebExtDep/icons/48-production.png new file mode 100644 index 00000000..07af622e Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/48-production.png differ diff --git a/ReactDevToolsWebExtDep/icons/48-restricted.png b/ReactDevToolsWebExtDep/icons/48-restricted.png new file mode 100644 index 00000000..43cc19e3 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/48-restricted.png differ diff --git a/ReactDevToolsWebExtDep/icons/48-unminified.png b/ReactDevToolsWebExtDep/icons/48-unminified.png new file mode 100644 index 00000000..01eeb6e8 Binary files /dev/null and b/ReactDevToolsWebExtDep/icons/48-unminified.png differ diff --git a/ReactDevToolsWebExtDep/icons/deadcode.svg b/ReactDevToolsWebExtDep/icons/deadcode.svg new file mode 100644 index 00000000..ccd6e669 --- /dev/null +++ b/ReactDevToolsWebExtDep/icons/deadcode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ReactDevToolsWebExtDep/icons/development.svg b/ReactDevToolsWebExtDep/icons/development.svg new file mode 100644 index 00000000..ccd6e669 --- /dev/null +++ b/ReactDevToolsWebExtDep/icons/development.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ReactDevToolsWebExtDep/icons/disabled.svg b/ReactDevToolsWebExtDep/icons/disabled.svg new file mode 100644 index 00000000..73c2bb51 --- /dev/null +++ b/ReactDevToolsWebExtDep/icons/disabled.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ReactDevToolsWebExtDep/icons/outdated.svg b/ReactDevToolsWebExtDep/icons/outdated.svg new file mode 100644 index 00000000..03b83c1e --- /dev/null +++ b/ReactDevToolsWebExtDep/icons/outdated.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ReactDevToolsWebExtDep/icons/production.svg b/ReactDevToolsWebExtDep/icons/production.svg new file mode 100644 index 00000000..1e974f51 --- /dev/null +++ b/ReactDevToolsWebExtDep/icons/production.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ReactDevToolsWebExtDep/icons/restricted.svg b/ReactDevToolsWebExtDep/icons/restricted.svg new file mode 100644 index 00000000..73c2bb51 --- /dev/null +++ b/ReactDevToolsWebExtDep/icons/restricted.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ReactDevToolsWebExtDep/main.html b/ReactDevToolsWebExtDep/main.html new file mode 100644 index 00000000..ce934d36 --- /dev/null +++ b/ReactDevToolsWebExtDep/main.html @@ -0,0 +1,9 @@ + + +
+ + + + + + diff --git a/ReactDevToolsWebExtDep/manifest.json b/ReactDevToolsWebExtDep/manifest.json new file mode 100644 index 00000000..91a8bcdf --- /dev/null +++ b/ReactDevToolsWebExtDep/manifest.json @@ -0,0 +1,55 @@ +{ + "manifest_version": 2, + "name": "React Developer Tools", + "description": "Adds React debugging tools to the Firefox Developer Tools.\n\nCreated from revision f7d56173f on 1/27/2023.", + "version": "4.27.1", + "version_name": "4.27.1 (1/27/2023)", + "minimum_chrome_version": "60", + "icons": { + "16": "icons/16-production.png", + "32": "icons/32-production.png", + "48": "icons/48-production.png", + "128": "icons/128-production.png" + }, + "browser_action": { + "default_icon": { + "16": "icons/16-disabled.png", + "32": "icons/32-disabled.png", + "48": "icons/48-disabled.png", + "128": "icons/128-disabled.png" + }, + "default_popup": "popups/disabled.html", + "browser_style": true + }, + "devtools_page": "main.html", + "content_security_policy": "script-src 'self' 'unsafe-eval' blob:; object-src 'self'", + "web_accessible_resources": [ + "main.html", + "panel.html", + "rbuild/react_devtools_backend.js", + "rbuild/proxy.js", + "rbuild/renderer.js", + "rbuild/installHook.js" + ], + "background": { + "scripts": [ + "rbuild/background.js" + ] + }, + "permissions": [ + "file:///*", + "http://*/*", + "https://*/*" + ], + "content_scripts": [ + { + "matches": [ + "+ This page includes an extra development build of React. 🚧 +
+
+ The React build on this page includes both development and production versions because dead code elimination has not been applied correctly.
+
+
+ This makes its size larger, and causes React to run slower.
+
+
+ Make sure to set up dead code elimination before deployment.
+
+ Open the developer tools, and "Components" and "Profiler" tabs will appear to the right. +
diff --git a/ReactDevToolsWebExtDep/popups/development.html b/ReactDevToolsWebExtDep/popups/development.html new file mode 100644 index 00000000..a0d27ecc --- /dev/null +++ b/ReactDevToolsWebExtDep/popups/development.html @@ -0,0 +1,24 @@ + + + ++ This page is using the development build of React. 🚧 +
+
+ Note that the development build is not suitable for production.
+
+ Make sure to use the production build before deployment.
+
+ Open the developer tools, and "Components" and "Profiler" tabs will appear to the right. +
diff --git a/ReactDevToolsWebExtDep/popups/disabled.html b/ReactDevToolsWebExtDep/popups/disabled.html new file mode 100644 index 00000000..52f76225 --- /dev/null +++ b/ReactDevToolsWebExtDep/popups/disabled.html @@ -0,0 +1,17 @@ + + + +
+ This page doesn’t appear to be using React.
+
+ If this seems wrong, follow the troubleshooting instructions.
+
+ This page is using an outdated version of React. ⌛ +
+
+ We recommend updating React to ensure that you receive important bugfixes and performance improvements.
+
+
+ You can find the upgrade instructions on the React blog.
+
+ Open the developer tools, and "Components" and "Profiler" tabs will appear to the right. +
diff --git a/ReactDevToolsWebExtDep/popups/production.html b/ReactDevToolsWebExtDep/popups/production.html new file mode 100644 index 00000000..44ae1793 --- /dev/null +++ b/ReactDevToolsWebExtDep/popups/production.html @@ -0,0 +1,17 @@ + + + +
+ This page is using the production build of React. ✅
+
+ Open the developer tools, and "Components" and "Profiler" tabs will appear to the right.
+
+ This is a restricted browser page.
+
+ React devtools cannot access this page.
+
+ This page is using an unminified build of React. 🚧 +
+
+ The React build on this page appears to be unminified.
+
+ This makes its size larger, and causes React to run slower.
+
+
+ Make sure to set up minification before deployment.
+
+ Open the developer tools, and "Components" and "Profiler" tabs will appear to the right. +
diff --git a/ReactDevToolsWebExtDep/rbuild/background.js b/ReactDevToolsWebExtDep/rbuild/background.js new file mode 100644 index 00000000..ac9e8e1f --- /dev/null +++ b/ReactDevToolsWebExtDep/rbuild/background.js @@ -0,0 +1,272 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/rbuild/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 116); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 116: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* global chrome */ + + +const IS_FIREFOX = true; +const ports = {}; + +if (!IS_FIREFOX) { + // Manifest V3 method of injecting content scripts (not yet supported in Firefox) + // Note: the "world" option in registerContentScripts is only available in Chrome v102+ + // It's critical since it allows us to directly run scripts on the "main" world on the page + // "document_start" allows it to run before the page's scripts + // so the hook can be detected by react reconciler + chrome.scripting.registerContentScripts([{ + id: 'hook', + matches: ['>24;do if(A)var g=h,y=n;else{if(E&&_<<24>>24>>0){_=11;break}var b=s<<3,k=Wr(r,b);if(0==(0|k)){var l=0;_=17;break}var u=k,c=i+16|0,h=Se[c>>2],d=Se[f]<<2;Pa(k,h,d,1);var w=Se[f]<<1;Se[f]=w,Se[c>>2]=u,_=11;break}while(0);do if(11==_){if((0|e)==-1)var p=Ca(a),E=p;else var E=e;var E,A=ja(a),g=E+1|0,y=Wr(r,g),t=(i+4|0)>>2,v=(i+16|0)>>2,m=(Se[t]<<2)+Se[v]|0;Se[m>>2]=y;var S=Se[Se[v]+(Se[t]<<2)>>2];if(0==(0|S)){Xa(0|He.__str72242,233,0|He.___func___str_array_push,0|He.__str117287);var M=Se[Se[v]+(Se[t]<<2)>>2]}else var M=S;var M;Pa(M,A,E,1),va(A),Ae[Se[Se[v]+(Se[t]<<2)>>2]+g|0]=0;var C=Se[t]+1|0;Se[t]=C;var R=i+8|0;if(C>>>0>>0){var fr=tr-w|0;Se[vi+12>>2]=fr;var _r=Me[vi+24>>2],sr=_r;Se[vi+24>>2]=sr+w|0,Se[w+(sr+4)>>2]=1|fr,Se[_r+4>>2]=3|w;var d=_r+8|0}else var nr=aa(w),d=nr}else{var or=vr-w|0,lr=Me[vi+20>>2];if(or>>>0>15){var br=lr;Se[vi+20>>2]=br+w|0,Se[vi+8>>2]=or,Se[w+(br+4)>>2]=1|or,Se[br+vr>>2]=or,Se[lr+4>>2]=3|w}else{Se[vi+8>>2]=0,Se[vi+20>>2]=0,Se[lr+4>>2]=3|vr;var kr=vr+(lr+4)|0,ur=1|Se[kr>>2];Se[kr>>2]=ur}var d=lr+8|0}}var d;return d}function ra(r){var a,e,i,v=Se[vi+4>>2],t=(v&-v)-1|0,f=t>>>12&16,_=t>>>(f>>>0),s=_>>>5&8,n=_>>>(s>>>0),o=n>>>2&4,l=n>>>(o>>>0),b=l>>>1&2,k=l>>>(b>>>0),u=k>>>1&1,c=Me[vi+((s|f|o|b|u)+(k>>>(u>>>0))<<2)+304>>2],h=c,e=h>>2,d=(Se[c+4>>2]&-8)-r|0;r:for(;;)for(var d,h,w=h;;){var w,p=Se[w+16>>2];if(0==(0|p)){var E=Se[w+20>>2];if(0==(0|E))break r;var A=E}else var A=p;var A,g=(Se[A+4>>2]&-8)-r|0;if(g>>>0 >>0){if((0|T)==(0|r)){var E=M,A=O,g=M;break r}var N=M,I=O}else var N=m,I=S;var I,N,P=Me[t+5],D=Me[((C>>>31<<2)+16>>2)+t],L=0==(0|P)|(0|P)==(0|D)?R:P;if(0==(0|D)){var E=N,A=I,g=L;break r}var m=N,S=I,M=D,t=M>>2,C=C<<1,R=L}}while(0);var g,A,E,F=0==(0|g)&0==(0|E);do if(F){var X=2<
>2]=wr}else{var pr=d,Er=Me[f+(s+4)],Ar=Me[((4|h)>>2)+s],gr=(0|Ar)==(0|pr);do if(gr){var yr=h+(r+12)|0,mr=Se[yr>>2];if(0==(0|mr)){var Sr=h+(r+8)|0,Mr=Se[Sr>>2];if(0==(0|Mr)){var Cr=0,a=Cr>>2;break}var Rr=Sr,Tr=Mr}else{var Rr=yr,Tr=mr;_=73}for(;;){var Tr,Rr,Or=Tr+20|0,Nr=Se[Or>>2];if(0==(0|Nr)){var Ir=Tr+16|0,Pr=Me[Ir>>2];if(0==(0|Pr))break;var Rr=Ir,Tr=Pr}else var Rr=Or,Tr=Nr}if(Rr>>>0>>0;do if(!fr){if(vr>>>0 >>0)break;Se[vr+12>>2]=x,Se[ir>>2]=x,Se[i+2]=vr,Se[i+3]=er,Se[i+6]=0;break r}while(0);throw Ka(),"Reached an unreachable!"}var _r=(ar>>>31<<2)+er+16|0,sr=Me[_r>>2];if(0==(0|sr)){if(_r>>>0>=Me[vi+16>>2]>>>0){Se[_r>>2]=x,Se[i+6]=er,Se[i+3]=v,Se[i+2]=v;break r}throw Ka(),"Reached an unreachable!"}var ar=ar<<1,er=sr}}}}while(0)}function Ca(r){return d(r)}function Ra(r,a){var e=0;do Ae[r+e]=Ae[a+e],e++;while(0!=Ae[a+e-1]);return r}function Ta(){var r=Ta;return r.LLVM_SAVEDSTACKS||(r.LLVM_SAVEDSTACKS=[]),r.LLVM_SAVEDSTACKS.push(le.stackSave()),r.LLVM_SAVEDSTACKS.length-1}function Oa(r){var a=Ta,e=a.LLVM_SAVEDSTACKS[r];a.LLVM_SAVEDSTACKS.splice(r,1),le.stackRestore(e)}function Na(r,a,e){for(var i=0;i