My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
BuildingWebBrowser  
How to build ES web browser for Linux
Updated Today (8 hours ago) by Shiki.Ok...@gmail.com

Building ES web browser for Linux

On Fedora 16 and Ubuntu 12.04, please use the setup script for building ES web browser.

Note: ES web browser is mainly tested on Fedora 16 at this point.


The browser core executables are currently built as Navigator.test and NavigatorV8.test; Navigator.test and NavigatorV8.test are linked with SpiderMonkey and V8 JavaScript engine, respectively.

To start ES web browser, type from the command line like below:

$ ./Navigator.test path_to_'www/navigator'

Navigator.test takes one command line argument that specifies the directory containing the the default CSS style sheet (default.css), and the default UI HTML file (navigator.html). Note the main browser UI is written in HTML and JavaScipt in ES web browser.

If a new window successfully shows up, click the setting icon at the top right corner of the window, which is just a link to the about page at this point. If everything goes fine, you'll see the window like below:

Currently we are actively implementing CSS 2.1 and testing our implementation using CSS2.1 Conformance Test Suite.

Acid1

Acid2 (a version without data URLs)

Here's a quick introduction about the current browser source tree:

  • www - A DOM core and events implementation.
    • css - A CSS parser and renderer implementation using OpenGL as a graphics back-end.
    • font - A tiny font manager that converts TrueType fonts to OpenGL textures.
    • html - An implementation of the HTML5 parser and HTML interfaces and elements.
    • http - HTTP 1.1 client built on top of boost asio library.
    • idl - Web IDL definitions customized for the current esidl.
    • js - JSAPI bridge for using SpiderMonkey.
    • navigator - a tiny browser web application written in HTML.
    • testdata - test data files.
    • url - URL parser
    • v8 - V8 API bridge for using V8

Change history

Brief descriptions of ok revisions.

Comment by wanli...@gmail.com, Jul 7, 2011

Could you please explain more about the graphic layer/library? Why not just create/adopt cairo-gl or Skia-GPU? Correct me if I'm wrong. :)

Comment by project member Shiki.Ok...@gmail.com, Jul 7, 2011

At this point, GLUT is good enough for the graphics backend as it is quite tiny:

http://code.google.com/p/es-operating-system/source/browse/trunk/www/css/BoxGL.cpp
For the CanvasRenderingContext2D implementation, we will probably use cairo.


Sign in to add a comment
Powered by Google Project Hosting