Firefox "resource:///" pages
Contents
At the very top level of resource:///
there are the following components:
-
actors/
- Contains 22.jjsm
files -
chrome/
- A deep rabbit-hole of options, containers, mini websites and more, essentially comprising much of Firefox itself:browser/
devtools-startup/
devtools/
en-US/
pdfjs/
webide/
-
components/
- contains only the filecomponoents.manifest
-
defaults/
File:permissions
-
preferences/
- This is the really intersting one, containing all the Firefox preferences and some documentation about their use and settings. The values recorded here are for Firefox Quantum 68.0 (64-bit) on Linux.-
debugger.js
- 70 preferences, 198 lines overall -
devtools-client.js
- 171 preferences, 1388 lines overall -
devtools-startup.js
- 6 preferences, 223 lines overall -
firefox-branding.js
- 11 preferences, 212 lines overall -
firefox-l10n.js
- 1 line (no preferences) -
firefox.js
- 654 preferences, 6819 lines overall -
webide.js
- 9 preferences, 54 lines overall - Total 921 preferences
-
-
settings/
- Subfolders contain.json
files-
blocklists
- 3 files -
main/
- 5 files -
pinning/
- 1 file (pins.jspn
) -
security-state
- 2 files
-
-
localization/
- One subfolder (en-US
) with four sub-folders:branding/
brpwser/
devtools/
startup/
-
modules/
- 82
.jsm
files - Additional files in the following sub-folders:
-
aboutpages/
- 2.jsm
files -
policies/
- 5.jsm
files -
sessionstore/
- 18.jsm
files -
syncedtabs/
- 1.jsm
file and 7 JavaScript files -
themes/
- 2 subfolders:dark
andlight
-
translation/
- 8.jsm
files
-
- 82
Firefox “resource://gre/” pages
In addition to the above resource, there’s at least one hidden compnent named gre that has the following top-level structure:
actors/
chrome.manifest
chrome/
components/
contentaccessible/
-
defaults/
autoconfig/
-
pref/
-
marionette.js
- 7 preferences, 38 lines overall -
remote.js
- 3 preferences, 14 lines overall -
services-sync.js
- 41 preferences, 95 lines overall
-
dictionaries/
-
greprefs.js
- 2,164 preferences, 5131 lines overall hyphenation/
localization/
modules/
res/
update.locale
There is very little overlap among all the preference files. Combining the lot of them produces an astonishing 3,136 preferences that can be set. Which ones should or should not be set is left as an exercise for the user.
What is GRE?
To determine what gre expands to, I downloaded the Firefox source code (2.5 gigabytes uncompressed) and issed the following command:
egrep -r 'G[a-z]+ R[a-z]+ E[a-z]+' firefox-68.0
The result: Gecko Runtime Engine