Fennec/NativeUI

From MozillaWiki
< Fennec
Revision as of 14:01, 12 October 2011 by Lucasr (talk | contribs)
Jump to navigation Jump to search

Features

  • Awesome Bar – Go to your favorite sites in just a couple of keystrokes with intelligent and personalized searching
  • Firefox Sync – Sync your Firefox tabs, history, bookmarks and passwords between your desktop and mobile device for a seamless browsing experience
  • Tabbed browsing – View open tabs as thumbnails to easily identify and select the Web page you’d like to go to next
  • Fast - Instantly startup (<300ms)
  • Small - Low memory usage (consistent with other browsers)
  • Energy - Doesn't eat your battery

Background

[1]

How To Build

The project repository is here: http://hg.mozilla.org/projects/birch

Follow the instructions from Mobile/Fennec/Android. Build as you normally would (make -f client.mk), just with a different mozconfig.

Here's an example mozconfig:

# Add the correct paths here:
ac_add_options --with-android-ndk="$HOME/android-ndk-r6"
ac_add_options --with-android-sdk="$HOME/android-sdk-linux_x86/platforms/android-13"
ac_add_options --with-android-version=5

# android options
ac_add_options --enable-application=mobile
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-endian=little
ac_add_options --with-ccache
ac_add_options --enable-tests

mk_add_options MOZ_OBJDIR=./objdir-droid
mk_add_options MOZ_MAKE_FLAGS="-j9 -s"


hg clone http://hg.mozilla.org/projects/birch/ src
cd src
vi mozconfig-droid
...
export MOZCONFIG=~/src/mozconfig-droid
make -f client.mk

Architecture Overview

Get a bird's eye view of how the native UI version of Fennec is structured.

Known Issue

Near Term

Mid Term

Longer term

  • addons (going to use jetpack - mossop)
  • Download
  • find on page
  • selection
  • removing xul
  • profile migration
  • Touch events

Low priority bugs

  • The HttpRequestObsever is not appropriate for one.

http://hg.mozilla.org/projects/birch/file/2f3d39316c54/mobile/chrome/content/browser.js#l22

  • OpenURI is not supposed to load the frame, only provide the frame:

http://hg.mozilla.org/projects/birch/file/2f3d39316c54/mobile/chrome/content/browser.js#l80