wiki:EFLWebKit

Version 8 (modified by tonikitoo@gmail.com, 5 years ago) (diff)

--

EFL Port of WebKit

WebKit is an open source web browser engine. WebKit's HTML and JavaScript code began as a branch of the KHTML and KJS libraries from KDE. As part of KDE framework KHTML was based on Qt but during their porting efforts Apple's engineers made WebKit toolkit independent.

About EFL

The Enlightenment Foundation Libraries (EFL for short) are a set of graphical libraries intended to provide easy-to-use resources for building rich user interfaces based applications. It is the core of the Enlightenment (E!) window environment. As mentioned in E!'s official web site, "the libraries are meant to be portable and optimized to be functional even on devices such as mobile devices". Its core components are:

  • Evas: Highly optimized raster canvas
  • Edje: Declarative UI library
  • Ecore: Event loop and utility classes
  • Eina: Basic data types
  • Embryo: Scripting

About the port

WebKit/EFL is a project aiming at porting WebKit to the Enlightenment Foundation Libraries, and as the developers also work on the Qt port, we try to keep the implementation as close as possible to that of QtWebKit.

Getting the source

As the port is not upstreamed, one can not get the source from official WebKit repository. Instead, we are hosting our development in the Gitorious server at thie stage of development. See also WebKit/EFL project homepage there.

$ git clone git://gitorious.org/webkit-efl/webkit-efl.git webkit
$ cd webkit
$ git checkout origin/master
$ git checkout -b < branch name > # e.g. webkit-efl

NOTE: We try to keep it in sync with WebKit trunk as much as possible, though it might be a week or two behind.

Development

Dependencies

Below is a list of Debian package names you will need to install.

  • libicu-dev
  • libxslt-dev
  • libcurl3
  • libsqlite3-dev
  • gperf
  • bison
  • flex
  • libjpeg62-dev
  • libpng12-dev
  • libxt-dev
  • autotools-dev
  • libfontconfig1-dev
  • libcairo2-dev
  • libfreetype6-dev
  • libglib2.0-dev (for flash support)

Additionally, the EFL specific packages (not officially debianized) have to be installed.

  • eina
  • evas
  • ecore
  • edje

Find them here or build it from the source.

Build and Install

Like Gtk+ port, EFL port can also be built using autotools (autoconf, automake, libtool):

$ ./autogen.sh --prefix=/path/to/install/directory -disable-video
$ make

OR through webkit's build instructure scripts:

WebKitInstallationPrefix=/path/to/install/directory WebKitTools/Scripts/build-webkit --efl --makeargs=<-s -jXX> --no-video

This will build a demo browser that uses the EFL port in the Programs/ directory which you can run using the following command:

WebKitTools/Scripts/run-launcher --efl

If you have questions just join #webkit-efl on irc.freenode.net.

Attachments