The Battle Continues

So the battle to create a Gecko extension continues. I’m actually making progress and feel like I have all the necessary pieces now. I can:

  • add an icon to the toolbar and respond to clicks
  • add text and images to the status bar
  • catch navigation events
  • extract RDF from web pages
  • parse the extracted RDF into a series of Triples (thanks to Jim Ley’s excellent all-javascript RDF parser)

So all that’s left to do is perform some queries on the RDF (which the parser also allows) and put the pieces together. Of course, I also need to figure out how to hack enough XUL together to make a dialog, but hey; how hard can it be?

date:2003-10-29 11:02:06

The Gecko Wars, continued

In an object lesson on why OpenSource is important, I finally figured out how to listen for navigation events in a Mozilla Firebird extension. In frustration I began reading the XUL/XML/JavaScript source for MF0.7, and there it was: getBrowser().addEventListener.... It was that simple.

So now I’ve moved on to bigger battles: mastering JavaScript’s regex syntax, figuring out if I need to write a (Py)XPCOM object, and learning enough about XUL widgets to create a dialog box. And no matter how much I bitch, the whole process has it’s own sense of accomplishment at each little milestone.

If you want to see some ugly code and hacked together XML, you can follow the development in CVS. The module is mozcc.

date:2003-10-27 14:51:22

Grokking the Lizard

So I spent most of my morning on Friday attempting to grok the state of Mozilla/Firebird/Gecko plugin development. Actually, I’ve come to realize that plugin is the wrong term: an extension is what I really want to build. It’s another of the Creative Commons tech challenges ; building a plugin/toolbar/extension for a web browser which either shows or changes when the page contains licensing meta-data.

After several hours of cursing at XUL, RDF and JavaScript, I have a prototype. OK, less than a prototype, but something: a toolbar button and status bar text that will display licensing RDF (if any) when clicked. It only works in Mozilla Firebird right now, but it seems to work equally well on all platforms. For the life of me I can’t figure out how to catch navigation events so that I can go about changing the icon, etc. Anybody, anybody?

date:2003-10-26 13:45:11