Saturday, August 09, 2008

Nebula3 IE Plugin

I've just committed the Nebula3 Internet Explorer plugin to the BrowserPlugin Nebula3 branch. The IE plugin is actually an ActiveX control, and could probably be embedded in other ActiveX containers with little (if any) changes. I've had to make no additional changes to the Nebula3 core aside from those I made earlier while working on the Gecko plugin.

I spent most of the time just trying to figure out how to create an ActiveX control, having never developed a COM control before it was rather daunting trying to figure out which interfaces the control needed. And there seems to be a lack of good online documentation for developing IE plugins, especially ones that aren't Browser Helper Objects (which serve a similar purpose to Firefox Extensions). So funnily enough, I ended up using the Mozilla Plugin Host ActiveX control code for reference.

Now I need something new to work on...

Wednesday, August 06, 2008

Nebula3 Gecko Plugin

About 3 weeks ago Bruce Mitchener mentioned it'd be nice if there was a web browser plugin that would allow a Nebula3 application to run within a web browser, kind of like Google's Lively. I thought it'd be cool too, though I couldn't think of any immediate practical applications myself. And so I set out to write a Gecko plugin to embed Nebula3 in Firefox 3 (and maybe other Gecko-based applications).

Today, I have a Gecko plugin that seems to do a pretty good job, with the exception of one scrolling related redrawing issue that I don't know how to fix. Google's Lively doesn't appear to suffer from the same problem so clearly I'm missing something. Here's how the issue can be reproduced:

  1. Shrink the browser window until the vertical scrollbar is displayed.
  2. Grab the scrollbar and move it up and down repeatedly.

This is what it should always look like:

And this is after I get overly enthusiastic with the scrollbar:

Next up, an IE7 plugin for Nebula3... and I was doing such a good job avoiding installing IE7 up until now.