summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-16provide easy way to find modifications to BootstrapLoadergirst
this also removes the reference to the long obsolete https://hg.mozilla.org/mozilla-central/rev/061b97e02ede.
2024-03-03port legacyfox to ecmascript modulesgirst
mozilla calls this 'esm-ification'. the last relevant to us modules were ported in mozilla124[1], so this is our new minimum version. the old version will likely be compatible with firefox up to version 128esr[2]. static imports are not supported in autoconfig scripts. i tried to keep the diff as small as possible w.r.t comm-central's final JSMs. because of this, we don't lazy-load any modules any more, nor provide any lazy getters, as they would need to be loaded into a `lazy` object instead the global (`this`) namespace, causing more churn. other than that, the largest change was removing the now-useless Services.jsm workaround as well as removing globalGetters for objects already loaded automatically. [1]: https://hg.mozilla.org/mozilla-central/rev/68ba071ff6fb9978937496f9adc48e378957f594 [2]: bugzil.la/1881890
2024-02-29fix setting softDisabled stategirst
not that it is too important. Blocklist.jsm does not export blocklist state any more. XPIInstall.jsm does this, since way before mozilla61: const { nsIBlocklistService } = Ci; addon.softDisabled = addon.blocklistState == nsIBlocklistService.STATE_SOFTBLOCKED; c.f. https://searchfox.org/mozilla-central/rev/b503616295d69fee56300e5e2093599e6fb4f0e2/toolkit/mozapps/extensions/internal/XPIInstall.jsm#531
2024-02-25fix legacyfox for older browsersgirst
Services is only available in this scope since Bug 1667455 (mozilla104)
2024-02-16keep RDFDataSource.saveToFile aroundgirst
minimizes the diff we need to keep. note that as previously mentioned this requires mozilla>=85, but shouldn't cause issues unless called. This partially reverts commit 553416c2d6d3c760cf98bd2c4afbaf0442321951.
2024-02-01remove OS.File referencesgirst
osfile.jsm was removed by bugzil.la/1772262. This method is not used any more, so we can just remove it. the modern alternative would be the following, but that only works on mozilla>=85. return IOUtils.writeUTF8(file, this.serializeToString()); osfile.jsm was loaded lazily (and in our case therefore never), so we didn't die immediately upon import, fortunately. see also: https://hg.mozilla.org/mozilla-central/diff/a11c616997d802e44d1afc0215bfbffac865179e/toolkit/components/passwordmgr/test/LoginTestUtils.jsm
2024-02-01remove use of deprecated componentsgirst
console.createInstance() is available since firefox59 (Bug 1425574), so no workaround needed. ChromeUtils.defineLazyGetter() however only is since firefox112 (Bug 1805288) but the backwards-compatible code is tiny see also: https://bugzilla.mozilla.org/show_bug.cgi?id=1875216 https://bugzilla.mozilla.org/show_bug.cgi?id=1430810 https://bugzilla.mozilla.org/show_bug.cgi?id=1828156 https://groups.google.com/a/mozilla.org/g/dev-platform/c/BdyWnTjLSXg
2023-07-14add backwards compatible code for Services.jsm removalgirst
makes LegacyFox compatible with Firefox 117. regressed-by: https://bugzilla.mozilla.org/show_bug.cgi?id=1780695 see-also: https://hg.mozilla.org/mozilla-central/rev/911d540fce6f
2023-07-02Make compatible with Firefox 116girst
regressed-by: https://bugzil.la/920187
2022-09-30Fix bug in BootstrapLoadergirst
reported to https://github.com/xiaoxiaoflood/firefox-scripts/issues/115 > I just found that for my legacy addon after restart it some of it > function calls that initiated by timer or observer callback are > running in a sandbox context of the last startup which is different > from current one. And this cause malfunctions for my addon. see also: https://github.com/xiaoxiaoflood/firefox-scripts/commit/291bebc4f2edc919dd273f2cecbbfda61e157695
2022-04-29Do not override AddonSettings.REQUIRE_SIGNINGgirst
This is not necessary, as it is only checked in XPIDatabase.jsm::mustSign(), which we can override instead, and in aboutaddonsCommon.js::isDisabledUnsigned(), which we cannot affect anyways and only uses it to show a red warning bar for legacy addons. This also removes the old AddonSettings.ALLOW_LEGACY_EXTENSIONS override, which was only used in Extension.jsm::experimentsAllowed() and XPIDatabase.jsm::isDisabledLegacy(). This is in preparation for the ESM-ification endeavours going on at Mozilla, which will make importing a module's global object (as we did with `let Xdb = Cu.import(...)`) impossible, but was needed to get a reference to AddonSettings (instead of a copy). Step two will be replacing Cu.import() with ChromeUtils.import(), which has stricter semantics about exported objects (doesn't hurt us; see Bug 1766114).
2022-03-06Revert "automatically disable signature requirement"girst
downgrading the warning color stopped working some time ago. for completeness, as of nightly99 xpinstall.signatures.required is only checked in these places, none of which affect us: - nsContentSecurityUtils.cpp::DetectJsHacks() only for telemetry and relaxing some security measures we don't need - BrowserGlue.jsm::_onWindowsRestored() gates call to _notifyUnsignedAddonsDisabled(), which isn't triggered by our stuff (signedState != SIGNEDSTATE_MISSING) - AddonSettings.jsm::REQUIRE_SIGNING overridden by our config.js script, so doesn't matter - XPIProvider.jsm::observe() calls XPIDatabase.updateAddonAppDisabledStates(), which calls this.updateAddonDisabledState(addon), which depends on this.isUsableAddon(aAddon), which returns true as long as we override this.isDisabledLegacy(aAddon) This reverts commit 29dc0ab3a8f8bd6e781fb983cd076764480dce18.
2022-02-20remove EXPERIMENTS_ENABLED overridegirst
this was never required.
2020-11-20Revert "Enable Webextension experiments"girst
This reverts commit 152b73585cf37a64b8022c8bd027587c9d9e511f.
2020-11-20Enable Webextension experimentsgirst
This is outside the scope of LegacyFox and will be reverted. Only barely tested.
2020-10-01automatically disable signature requirementgirst
Having signatures enforced causes a big red error message to appear below unsigned extensions, telling the user the extension has been disabled. This is not true, though; the extensions are still enabled. Setting xpinstall.signatures.required;false downgrades this error to a (yellow) warning.
2020-09-24don't prevent unsigned addon warning to not break some addonsgirst
This broke installing some, but not all, addons. The reason is that some addons derive their addon-id from a certificate's CommonName in XPIInstall.jsm::loadManifest(aPackage, aLocation, aOldAddon)
2020-08-22reword installation instructionsgirst
2020-08-22recreate all properties of AddonSettings automaticallygirst
Looks like all the settings continued to work by accident. Note: out of scope for LegacyFox, but sideloading from anywhere can be re-enabled by setting `SCOPES_SIDELOAD: 31 // AddonManager.SCOPE_ALL`.
2020-01-18Fix addon installation for Firefox 74girst
regressed by: Bug 1524327
2019-12-27provide clean and uninstall targets, auto-find correct pathgirst
The wildcard will match both /usr/lib and /usr/lib64, so the Makefile works on 99% of Linux distros. And yes, that's not what DESTDIR is for.
2019-07-09switch to resource:// protocolgirst
bring the patch closer to the then-upstream comm-central. might have the negative side-effect of being detectable by websites according to: https://developer.mozilla.org/en-US/docs/Mozilla/Chrome_Registration
2019-07-09don't overwrite chrome.manifestgirst
this hopefully makes the monkey patch update persistent. Note: instead of using FileUtils, this would be another method: const {Services} = Cu.import('resource://gre/modules/Services.jsm'); let manifest = Services.dirsvc.get('GreD', Ci.nsIFile); manifest.append('legacy.manifest');
2019-07-09fix chrome.manifest loading for mozilla68girst
the chrome.manifest inside the install directory is not loaded any longer by default; see bugzil.la/1543761
2019-06-24remove superfluous commentsgirst
2019-06-24add link to bug report to keep an eye ongirst
2019-06-24credit where credit's duegirst
2019-06-24remove boot.jsmgirst
2019-06-24more portabe makefilegirst
still has the mozillapath hardcoded, though
2019-06-24initial commitgirst