📜 ⬆️ ⬇️

In the Gecko 2 engine (in Firefox 4 browser), the method for registering cross-platform components (XPCOM) will change

[mozilla.org] In the previous version of the engine (which existed until July 2010), all XPCOM components (whether they are Java compiled or compiled binary) were first loaded by the browser, and then registered themselves. Now, instead, all the information necessary for their registration, the authors of the extensions will have to be put into a text file “chrome.manifest” (where every chrome is described), and the browser itself will be engaged in registration.

Those files with paths like "platform / WINNT_x86-msvc / chrome.manifest" (this is an example of a path for Windows) in which separate chrome manifestos for each platform were previously stored are canceled. Instead, in the manifestos, you can use special notes that one or another line of the manifest should be used only on a certain platform.

The purpose of these changes is a simplified component registration procedure that requires less effort from the browser - which means that the initial loading of Firefox, which used to be incredibly long after updating the browser itself or after replacing (upgrading, disconnecting, eliminating) its extensions, will speed up. It is also likely to simplify the transition to multithreading, which is planned for the future.
')
The price of these changes will be the need to rewrite absolutely all the extensions that contained and used their own XPCOM components (there are instructions on the MDC on how to do this). In addition, notifications (notifications) with the names “xpcom-startup” and “app-startup” no longer arrive at the components, because there are no components at the time of the events corresponding to these notifications.

Many extensions abandoned by their authors will have to be rewritten for porting to Firefox 4: the previous half-Samana tricks aimed at simply canceling version checking (done either manually or with extensions like Nightly Tester Tools, MR Tech Toolkit, Add-on Compatibility Reporter "), will not make them earn correctly.

You can read more about these browser changes in the MDC article I mentioned above. Their source code is available in Bagzilla .

Source: https://habr.com/ru/post/98340/


All Articles