GeckoView: Embedding Gecko in your Android Application

Firefox for Android is a great browser, bringing a modern HTML rendering engine to Android 2.2 and newer. One of the things we have been hoping to do for a long time now is make it possible for other Android applications to embed the Gecko rendering engine. Over the last few months we started a side project to make this possible. We call it GeckoView.

As mentioned in the project page, we don’t intend GeckoView to be a drop-in replacement for WebView. Internally, Gecko is very different from Webkit and trying to expose the same features using the same APIs just wouldn’t be scalable or maintainable. That said, we want it to feel Android-ish and you should be comfortable with using it in your applications.

We have started to build GeckoView as part of our nightly Firefox for Android builds. You can find the library ZIPs in our latest nightly FTP folder. We are in the process of improving the APIs used to embed GeckoView. The current API is very basic. Most of that work is happening in these bugs:

  • Bug 880119: Improve the API for GeckoView
  • Bug 880121: Add support for host application interfaces to GeckoView
  • Bug 880123: Add support for content callback interfaces to GeckoView

If you want to start playing around with GeckoView, you can try the demo application I have on Github. It links to some pre-built GeckoView libraries.

We’d love your feedback! We use the Firefox for Android mailing list to discuss status, issues and feedback.

Note: We’re having some Tech Talks at Mozilla’s London office on Monday (Oct 21). One of the topics is GeckoView. If you’re around or in town for Droidcon, please stop by.

XULRunner 1.9.0.7

While I was on vacation last week, the newest official XULRunner was spun up and has now been released. XULRunner 1.9.0.7 matches the Firefox 3.0.7 release. For XULRunner developers, most of the changes in 1.9.0.7 are related to security fixes. There are some cookie and XHR fixes in there too. You can also look at the full list of fixed bugs.

Runtimes
SDKs
Source tarball

Thanks to Dave Townsend and Nick Thomas for getting 1.9.0.7 out the door.

Want to get started building XULRunner applications? We have an article for that.

XULRunner 1.9.0.6

The newest official XULRunner has been released. XULRunner 1.9.0.6 matches the Firefox 3.0.6 release. For XULRunner developers, most of the changes in 1.9.0.6 are related to security fixes. You can also look at the full list of fixed bugs.

Runtimes
SDKs
Source tarball

Update: We now have XULRunner builds for Windows Mobile! XULRunner runtimes now exist for Windows, Windows Mobile, OS X, Linux and Maemo (a mobile Linux). Another XULRunner port is underway: Symbian OS (S60).

Want to get started building XULRunner applications? We have an article for that.

FOSDEM 2009 Wrap-up

FOSDEM 2009 is over. Once again, there was a lot of great stuff happening. I managed to leave the Mozilla Room once or twice to see other sessions. The Mozilla Room sessions were very good and not just because I was in two of them. There were so many people trying to get into the Mozilla Room, we had to stop people from coming in.

I posted the presentations of my Fennec and Embedding sessions. The Fennec session has a companion wiki article as well.

Paul Rouget moderated a spirited discussion on creating XUL communities. The group created a lot of good feedback for Mozilla and for themselves. I really hope we make some progress on the action items.

EU MozCamp 2008 & Me

I am headed to Barcelona to take part in Mozilla Europe’s MozCamp 2008 conference. I’ll be presenting sessions on XULRunner, Fennec Add-ons & Embedding Gecko. If you’re interested in any of these sessions and have topics you’d like to see covered, let me know. Commenting here or adding items to the wiki pages are goods ways to do that.

I also plan to hang around the Prism session, presented by Matt Gertner. Prism has some cool features brewing. I hope we get a new release (with samples) out soon.

Mozilla Embedding API – Status

The Mozilla Embedding project has been adding small chunks to the new API. The code is now hosted in an incubator repository, with plans of moving code to the main Mozilla tree when it’s ready. Some of the new additions and things we’re working on include:

  • Easy access to the underlying XPCOM interfaces
  • Basic navigation support
  • Executing JavaScript in the web page context
  • New GTK+ widget for Windows (contributed by Tristan Van Berkom)
  • Render web page to image (coming soon)

Pelle added the beginnings of a “Code Snippets” section to the Wiki. We plan on expanding that soon. The first snippets show how to access the DOM of the web page from the embedding host application.

Here’s a short list of tasks we plan to work on soon. If any of these interest you, join us. We hang out on Mozilla IRC in the #embedding channel. Your feedback is important.

Contribute: Get code, File bugs