Extensions
2008
Firefox 3 is using JSON to store data in several places - such as bookmark backups, session restore, and offline manifests. Originally, JSON parsing was scattered through the code. Then it was consolidated to JSON.jsm, a JavaScript code module. Eventually, it was converted into nsIJSON.idl, a C++ XPCOM Component. What does this mean to extension and application developers? Well, you now have access to JSON encoding and decoding routines that can be a lot faster (more in a bit) than the JavaScript counterparts.
The extension breaking changes made to the Firefox 3 toolbar IDs has been reverted and patched to get the same result in a different way. Any extensions that broke in a nightly version of Firefox 3 should be working correctly now. We also made sure to get the fix into Firefox 3 beta 3. Big “thank you” goes out to Dave, Dão and Gavin for helping me get the patch right and to Connor and Beltzner for making this a critical enough to get into Beta 3.
Just an update on the breaking changes I mentioned. We are working on a different fix for the original bug, so hopefully, we won’t need to change the XUL element ID’s. You can follow the progress of this alternate fix here.
Some extension developers using nightly versions of Firefox 3 may have noticed (as Doron Rosenberg did) that a recent change caused some extensions to break. Bug 414836 changed the ID of the used in browser.xul, the main Firefox window (“navigator-toolbox” was changed to “browser-toolbox”). Doron filed bug 415099 to try to get the initial problem fixed another way. I don’t think that will happen as the other ways which were tried caused Ts regressions.
We have been putting out the call for extension developers to start the process of updating their extension to workin Firefox 3. It’s never fun when your extension breaks because of changes in Firefox, but everyone wants to make the platform better. In doing so, we had to break some eggs.
Ok, so the sky isn’t falling yet, but now is a great time for extension developers to get those extensions updated to Firefox 3. The crew at addons.mozilla.org have a bit of information concerning the update for extensions hosted there. The Mozilla Developer Center has a page dedicated to the new features and changes in Firefox 3.
I have talked a bit about the new built-in datasources (XML and SQL) developers can use with XUL templating (guide and tutorial). I wanted to wrapup my little foray into XUL template datasources by also talking about custom datasources.