Google Summer of Code Roundup
tlsa at netsurf-browser.org
Tue Sep 15 11:41:11 BST 2009
As many of you know, NetSurf has participated in Google Summer of Code for
a second consecutive year. This year we ran three projects which have all
been of great benefit to the project.
Mark worked on improving the GTK front end. As part of his work
on the GTK front end he has also moved functionality from the RISC OS
front end to the multi-platform code core, as well as adding new code
functionality than can be used by any NetSurf front ends.
New features added include a search bar, improved toolbar, favicon
support, improved customisation features. Merging of these
improvements into NetSurf's trunk code is currently pending a final
As well as working on the GTK front end and associated core improvements,
Mark started work on a port to the Windows platform. The port is
currently experimental but has already implemented basic browsing
Paul worked on various core UI functionality. These include a scrollbar
widget, a text input widget, a SELECT element menu widget and the
treeview functionality used to display hotlist, history and cookies, etc.
Currently the core scrollbar widget, the text input widget, and the core
SELECT element menu have been merged into the trunk codebase.
The scrollbar widget is used on web pages for handling of the CSS
overflow property, and fixes various issues with the old scrollbar code.
The core SELECT widget code is now available to front ends that do not
use a native menu for the presentation of SELECT options.
The text input widget code is currently unused by the core, but it will
eventually replace the existing HTML form textarea and text input
handling. The existing textarea implementation has always been a bit
flaky from a users perspective and made various developments difficult
from a programmers point of view.
Work on the treeview code has removed its dependence on RISC OS, and
moved the treeview based functionality (including the hotlist, global
history and cookie display) from the RISC OS front end to the multi-
platform core. In addition the treeview API has been redesigned so
that the treeview is simpler to work with.
Paul has implemented a GTK front end for the core treeview. The Amiga
front end has also been updated to use the core treeview. Merging the
treeview work into the trunk is currently pending work to make the
RISC OS front end use the core treeviews, rather than the old RISC OS
specific treeviews, as well as a final review.
Bo has worked on the LibDOM project. This is a Document Object Model
library that will eventually be used by NetSurf. Implementing the DOM
is a huge job and over the summer Bo has worked on both the Core and
Events DOM modules, and also started on the HTML module. He has
implemented a system for converting and running an automated DOM test
Both the Core and Events modules support most of the commonly used APIs.
The rest have stub inplementations that do nothing right now and can be
fixed as they're needed. The implementations of these modules have been
merged into trunk. The HTML module is only part complete.
The implementation of LibDOM is one of the key stepping stones towards
work is essential in achieving our plans for the future.
In the shorter term, we hope that using LibDOM in NetSurf will enable
greater efficiency in the browser and hopefully speed up and simplify
certain aspects of NetSurf's behaviour.
NetSurf was blessed to be able to participate in Google Summer of Code for
a second year. Our three students were all enthusiastic, intelligent,
helpful and understanding. Materially, they have all done great work which
represents an enormous boon for the project. And we're always on the
lookout for enormous boons!
Thanks to our three students for their work and to the developers who
helped with the mentoring process. Many thanks also to Leslie Hawthorn
and the rest of the Google Summer of Code team for an excellent and most
The NetSurf Developers
Michael Drake (tlsa) http://www.netsurf-browser.org/
More information about the netsurf-users