#3 port to Firefox 60

Open
opened 3 years ago by pabs · 8 comments

Firefox 60 ended support for XUL extensions so iceweasel-branding no longer works and needs porting to the new WebExtensions system.

If this is not possible, please provide the details and close this bug report.

Firefox 60 ended support for XUL extensions so iceweasel-branding no longer works and needs porting to the new WebExtensions system. If this is not possible, please provide the details and close this bug report.

it is entirely possible - parabola has been maintaining it's iceweasel branding all along

https://git.parabola.nu/packages/iceweasel-branding.git/

it is entirely possible - parabola has been maintaining it's iceweasel branding all along https://git.parabola.nu/packages/iceweasel-branding.git/
Paul Wise commented 3 years ago
Poster

Would it be possible to merge those changes back and release a new version?

Would it be possible to merge those changes back and release a new version?
platform commented 3 years ago
Owner

WebExtensions things are different ones. This 'extension' is actually doing theming, which is not possible by WebExtensions. But what we actually creating is a debian package. If we could make a package which directly patches the Firefox files installed on the system, we could continue to use Iceweasel branding.

WebExtensions things are different ones. This 'extension' is actually doing theming, which is not possible by WebExtensions. But what we actually creating is a debian package. If we could make a package which directly patches the Firefox files installed on the system, we could continue to use Iceweasel branding.
Paul Wise commented 3 years ago
Poster

Unfortunately the Debian Firefox package stores all of the files that are being overridden inside the omni.ja package so it is not possible to divert or modify those files.

Interestingly this command still gets you an Iceweasel icon with the XUL extension package installed, but none of the other things.

firefox --class Iceweasel

Even more interestingly the new Tor Browser also uses the --class option but it modifies the same things the XUL Iceweasel branding does so maybe there is a new way to do this (or maybe they just patch Firefox).

Unfortunately the Debian Firefox package stores all of the files that are being overridden inside the omni.ja package so it is not possible to divert or modify those files. Interestingly this command still gets you an Iceweasel icon with the XUL extension package installed, but none of the other things. firefox --class Iceweasel Even more interestingly the new Tor Browser also uses the --class option but it modifies the same things the XUL Iceweasel branding does so maybe there is a new way to do this (or maybe they just patch Firefox).
platform commented 3 years ago
Owner

TorBrowser is a different build of patched Firefox ESR.

TorBrowser is a different build of patched Firefox ESR.
platform commented 3 years ago
Owner

Does it work to place a custom package in /usr/lib/firefox/browser/features?

Does it work to place a custom package in `/usr/lib/firefox/browser/features`?
platform commented 3 years ago
Owner

Needs testing.

Needs testing.
Paul Wise commented 3 years ago
Poster

Looks like those are whitelisted through this mechanism:

/usr/lib/firefox/browser/omni.ja:main/modules/addons/XPIProvider.jsm const BUILT_IN_ADDONS_URI = "chrome://browser/content/built_in_addons.json";

/usr/lib/firefox/browser/omni.ja:chrome/browser/content/browser/built_in_addons.json {"dictionaries": {"en-US": "dictionaries/en-US.dic"}, "system": ["activity-stream@mozilla.org", "aushelper@mozilla.org", "firefox@getpocket.com", "formautofill@mozilla.org", "onboarding@mozilla.org", "screenshots@mozilla.org", "webcompat-reporter@mozilla.org", "webcompat@mozilla.org"]}

Looks like those are whitelisted through this mechanism: /usr/lib/firefox/browser/omni.ja:main/modules/addons/XPIProvider.jsm const BUILT_IN_ADDONS_URI = "chrome://browser/content/built_in_addons.json"; /usr/lib/firefox/browser/omni.ja:chrome/browser/content/browser/built_in_addons.json {"dictionaries": {"en-US": "dictionaries/en-US.dic"}, "system": ["activity-stream@mozilla.org", "aushelper@mozilla.org", "firefox@getpocket.com", "formautofill@mozilla.org", "onboarding@mozilla.org", "screenshots@mozilla.org", "webcompat-reporter@mozilla.org", "webcompat@mozilla.org"]}
Sign in to join this conversation.
No Milestone
No assignee
3 Participants
Loading...
Cancel
Save
There is no content yet.