Browse/WebKit

From OLPC
< Browse
Revision as of 18:38, 17 September 2009 by Vd7 (talk | contribs) (Browse/WebKit moved to AAA18/WebKit: Bollocks.)
Jump to navigation Jump to search

Introduction

Webkit is a lightweight browser engine, comparable to Gecko. This page documents the procedure and results of replacing Gecko with WebKit in Browse. Also see the Browse implementation discussion for details of another trial of Browse with WebKit. If you just want to try it, grab the latest bundle from

http://dev.laptop.org/~bobbyp

It should have the libraries you need in the bundle to run it on an XO with one of the recent F9-based joyrides.

Dependencies

WebKit and PyWebkitGtk are the dependencies for this project, and RPMs for F9 don't exist yet. For WebKit:

http://trac.webkit.org/wiki/UsingGitWithWebKit

is a good reference. The Git repository is just a git-svn mirror of the Subversion one, so choose your fancy.


Next, is PyWebKitGtk

http://code.google.com/p/pywebkitgtk/

There is a Subversion repository on the Google Code branch, but they mention that the main development goes on in git. Plus, the example included is actually based off of Browse!

git clone git://repo.or.cz/pywebkitgtk.git


WebKit might take a while, but they should both be relatively stable.


Browse branch

I started with the master branch of Browse from

http://dev.laptop.org/git?p=web-activity;a=summary

and my branch (webkit) is located here

http://dev.laptop.org/git?p=users/bobbyp/browse;a=shortlog;h=webkit
git://dev.laptop.org/users/bobbyp/browse

I tried to keep the code and methods as close as possible to the original Browse.


Issues

What Works

  • Page titles are updated correctly
  • Browse navigates to addresses you type in the titlebar
  • Load status is displayed
  • Reload and stop buttons work
  • Zoom buttons work - fullpage zoom
  • Gnash works!

What... Doesn't

  • Saving and resuming to Journal (probably not too hard)
  • Back, Forward and History (probably not too hard)
  • probably the search bar
  • probably copy and paste (easy)