I've been looking at js-ctypes (https://developer.mozilla.org/en/js- ctypes, https://developer.mozilla.org/en/js-ctypes/Using_js-ctypes) as a solution to the problem of the changing XPCOM API, and have managed to create a version of the dataprovider which uses them.
Js-ctypes have a number of advantages over using C++ components in the extension: 1: The extension doesn't require building as it is all Javascript. Creating the .xpi is a matter of compressing the files, renaming it an .xpi and copying it to the required location. 2: The extension should need minimal maintenance as the Firefox version increases (mainly just bumping the max version in its install.rdf file) 3: The method used should be able to be reused to create extensions for other Mozilla products (Thunderbird and Lightning) with minimal difficulty compared to using XPCOM Js-ctypes were introduced in Firefox 4, so the existing XPCOM extension would still need to be maintained for Firefox 3.6. Attached is a new version of the Firefox extension which works (at least, it does on my system). The main requirement is that "/usr/lib/libzeitgeist-1.0.so" exists on the system (either as a file or as a link to another file). I am uncertain if this is the most appropriate file to point the extension at. It exists as a link to "/usr/lib/libzeitgeist-1.0.so.1.0.3", but it seems the most generically named libzeitgeist file in my lib folder, so I'm assuming it's the most likely to exist everywhere. I've tried to retain all the features of the original extension, but I'm unsure if the ignored_uris and enable_googlemail parts work correctly. ** Attachment added: "Firefox-Zeitgeist extension using js-ctypes" https://bugs.launchpad.net/zeitgeist-datasources/+bug/800169/+attachment/2294663/+files/extension.xpi -- You received this bug notification because you are a member of Zeitgeist Framework Team, which is subscribed to Zeitgeist Data-Sources. https://bugs.launchpad.net/bugs/800169 Title: Firefox extension doesn't work with FF5 Status in Zeitgeist Data-Sources: New Bug description: TypeError: Components.classes['@zeitgeist-project.com/DATAPROVIDER/firefox-xpcom;1'] is undefined looks like XPCOM API has been changed again To manage notifications about this bug go to: https://bugs.launchpad.net/zeitgeist-datasources/+bug/800169/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~zeitgeist Post to : zeitgeist@lists.launchpad.net Unsubscribe : https://launchpad.net/~zeitgeist More help : https://help.launchpad.net/ListHelp