Using Gecko as a Widget (GeckoView)

Mark Finkle mfinkle at mozilla.com
Fri May 24 08:03:18 PDT 2013


There is work underway to allow Android developers to use Gecko as a View, similar to the way WebView is currently used in Android apps. We are calling it GeckoView. The early work is happening in bug 867517: 
https://bugzilla.mozilla.org/show_bug.cgi?id=867517 

We have a lot of work ahead. A lot of technical debt needs to be paid off. First, let's get some context: 
Goals: 
* Create a View and support interfaces needed to allow developers to use Gecko in place of a WebView 
* Create a library (JAR) that makes it easy to pull in the Gecko code into a normal Android application. Devs should not need to build Mozilla/Gecko to get this to work. 
* Use GeckoView in Firefox for Android as a first class citizen. 
* We'd like to support using more than one GeckoView in an application. 

Non-goals: 
* We will not create a system style component that only requires Firefox to be installed. Applications will need to bundle the library into their APK. 
* We will create a drop-in replacement for WebView. While we'll have the same concepts, we do not intend to chase 1-1 parity with the WebView interfaces. 

Where are we today: 
Brad's first patch is mainly a refactor that tries to untangle the use of GeckoApp.mAppContext and how we use it for Context and Activity purposes. He created a ContextGetter interface to allow safer access to the Context provided by GeckoApp. He also created a GeckoInterface interface (name bikeshedding can commence) to tease out the Activity/Behavior role of GeckoApp. One thing apparent to me as I reviewed several iterations of the patch is: We have a mess here. Brad's patch is not intended to "Fix the World", only get use to a place where we can decouple a little better. Enough to get a GeckoView to work. 

We have a lot of follow up work to do. I encourage people to take a look at the patch and find easy wins we can use to start cleaning up our code. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/mobile-firefox-dev/attachments/20130524/b54bc24d/attachment.html>


More information about the mobile-firefox-dev mailing list