Doc: Omni.ja

This commit is contained in:
alstjr7375 2022-04-10 21:50:51 +09:00
parent 813ea43cba
commit d479ce43ed
2 changed files with 41 additions and 2 deletions

View file

@ -75,7 +75,7 @@ See [EBNF(Extended Backus-Naur form)](https://en.wikipedia.org/wiki/Extended_Bac
- [`modules/libpref/init/all.js`](https://github.com/mozilla/gecko-dev/blob/master/modules/libpref/init/all.js): all products
- [`browser/app/profile/firefox.js`](https://github.com/mozilla/gecko-dev/blob/master/browser/app/profile/firefox.js): only firefox deskstop
In release builds these are all put into `omni.ja`.
In release builds these are all put into [`omni.ja`](./omni_ja.md).
## User Config
**Related Docs**
@ -139,7 +139,7 @@ user_pref("general.smoothScroll.currentVelocityWeighting", "0.12"); // String
- [UDN: Limitations of chrome scripts](https://udn.realityripple.com/docs/Mozilla/Firefox/Multiprocess_Leftovers/Limitations_of_chrome_scripts)
**Basics**
Customizations that cannot be done with add-on and `User Custom CSS`, such as adding browser UI elements directly or changing default behavior, must use `Auto Config`.
Customizations that cannot be done with add-on and [`User Custom CSS`](./README.md#user-custom-css), such as adding browser UI elements directly or changing default behavior, must use `Auto Config`.
**How to**
```javascript

39
docs/omni_ja.md Normal file
View file

@ -0,0 +1,39 @@
# Omni.ja
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc -->
**Table of Contents**
- [Basics](#basics)
- [Related Project](#related-project)
- [Related Source file](#related-source-file)
<!-- markdown-toc end -->
## Basics
**Related Docs**
- [UDN: omni.ja (formerly omni.jar)](https://udn.realityripple.com/docs/Mozilla/About_omni.ja_(formerly_omni.jar))
- [Firefox 4: jar jar jar](https://web.archive.org/web/20161003115800/https://blog.mozilla.org/tglek/2010/09/14/firefox-4-jar-jar-jar/)
- [Firefox's Optimized Zip Format: Reading Zip Files Really Quickly](https://taras.glek.net/post/optimized-zip-format/)
- [How to Optimize or Deoptimize Firefox OMNI.JA File](https://www.raymond.cc/blog/edit-files-inside-firefox-4-omni-jar-to-auto-save-password/)
**Explanation**
Firefox achieve performance improvements by moving many of their internal parts from being standalone files or sets of JAR files into just one JAR file called `omni.ja`.
This reduces the amount of I/O needed to load the application.
Chrome content, modules, non-binary components, and many other elements are packaged in an omni.jar file for each base directory.
- `actors/`: [JSActors](https://firefox-source-docs.mozilla.org/dom/ipc/jsactors.html) related files.
- `chrome.manifest`: The [chrome manifest] file.
- `chrome/`: User interface files for the application
- `components/`: XPCOM components the application relies upon.
- `defaults/`: Default preference files.
- `modules/`: [JavaScript code modules](https://udn.realityripple.com/docs/Mozilla/JavaScript_code_modules).
- `res/`: Miscellaneous resource files.
## Related Project
- https://github.com/SebastianSimon/firefox-omni-tweaks
## Related Source file
- https://github.com/mozilla/gecko-dev/blob/de91f5ee41251779ff2973d24d195d116cb6ebd7/python/mozbuild/mozpack/packager/formats.py#L258-L359
- https://github.com/humphd/mozilla-central-old/blob/9d4d9f265e24e6358c067ae1e300c1ce3227a91d/config/optimizejars.py