GeckoView Status

Mark Finkle mfinkle at mozilla.com
Sun Sep 1 15:13:59 PDT 2013


Hi All, 

Work has been continuing on GeckoView, the Gecko rendering engine wrapped in an Android widget [1]. Brad Lassey landed a basic patch to get Fennec to start using GeckoView internally, but there is much more work to do before Fennec is truly using GeckoView. Shane Tully has completed the initial work of packaging GeckoView into an Android library project for use in Eclipse projects [2]. We have some cleanup patches still required, but when those land, "geckoview-library" ZIP files will be created as part of the *package* step of your Fennec build. Those ZIP files can then be used in Eclipse [3]. 

Some other ongoing work includes creating proper bindings/interfaces for GeckoView so it's easy to use from a host application. That work is happening in a few bugs [4][5][6] and the proposed API and we are looking for feedback. The work-in-progress interfaces can be summarized as follows: 

class GeckoView { 
class Browser { 
void loadUrl(String url); 
void reload(); 
void stop(); 
boolean canGoBack(); 
void goBack(); 
boolean canGoForward(); 
void goForward(); 
} 

Browser add(String url); 
void remove(Browser browser); 
Browser getSelected(); 
void setSelected(Browser browser); 
ArrayList<Browser> getBrowsers(); 

void setGeckoViewChrome(GeckoViewChrome chrome); 
void setGeckoViewContent(GeckoViewContent content); 
} 

class GeckoViewChrome { 
void onReady(GeckoView view); 
// TODO: Add more host app support for showing prompts and implementing HTML APIs 
} 

class GeckoViewContent { 
void onPageStart(GeckoView view, Browser browser, String url); 
void onPageStop(GeckoView view, Browser browser, boolean success); 
void onPageShow(GeckoView view, Browser browser); 

void onReceivedTitle(GeckoView view, Browser browser, String title); 
// TODO: Add more support for page progress, favicons and link callbacks 
} 

The spirit of this structure is to not create a "Full Web Browser in a Widget", but to push a lot of the management and 100% of the UI to the host app. GeckoView should do the minimum amount of encapsulation. 

[1] https://wiki.mozilla.org/Mobile/Projects/GeckoView 
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=880118 
[3] https://wiki.mozilla.org/Mobile/GeckoView (this is already a bit out of date from the patches) 
[4] https://bugzilla.mozilla.org/show_bug.cgi?id=880121 
[5] https://bugzilla.mozilla.org/show_bug.cgi?id=880119 
[6] https://bugzilla.mozilla.org/show_bug.cgi?id=880123 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/mobile-firefox-dev/attachments/20130901/173c48fa/attachment.html>


More information about the mobile-firefox-dev mailing list