Native Haiku Browser Sees Progress Thanks to GSoC

With Google Summer of Code underway for the Haiku project, the first results start coming in. The most exciting so far is the work being done on a native multi-process WebKit browser, worked on by Ryan Leavengood and GSoC student Maxime Simon. They’ve got an interface, and they’ve got most of WebKit to build.

They’ve been working on this project for about a month now, and so far, they’ve got a prototype of a multi-process browser, modelled after Google Chrome. Because Leavengood had already done work on WebKit, they had a good starting point. From what I understand, they currently employ a very, very basic rendering engine that displays a bitmap – this rendering engine will be replaced by WebKit once that port is completed.

They’re currently working on or have completed the following aspects:

  • diverse forwarding from main process to render process (mouse move, mouse click…)
  • a bookmarking library
  • a toolbar
  • support for multiple rendering processes
  • tab management

The work on the WebKit port is progressing nicely. WebKit actually consists of two parts, JavaScriptCore and WebCore, and both of these parts compile on Haiku now. The hard work is still ahead, however: combining the two, and integrating them into the browser.

Chrome is quite clearly the source of inspiration for this browser, and that’s a good thing, as Chrome’s multi-process design really fits well into the BeOS world. Tab management will be modelled after Chrome’s, according to Leavengood. The following things are currently on the to-do list:

  • make WebKit work ( some essential functions specific to the platform have to be implemented ),
  • integrate it into the browser,
  • port the Chromium networking code (this could be an article on this blog),
  • improve the back and forward buttons,
  • create an omnibox-like url field,
  • and other mysterious things…

    22 Comments

    1. 2009-06-22 11:54 am
      • 2009-06-22 3:46 pm
    2. 2009-06-22 12:35 pm
      • 2009-06-22 1:14 pm
        • 2009-06-22 2:21 pm
          • 2009-06-22 7:59 pm
      • 2009-06-22 1:18 pm
      • 2009-06-22 8:18 pm
        • 2009-06-23 7:31 am
        • 2009-06-23 11:07 am
          • 2009-06-23 5:30 pm
      • 2009-06-22 8:21 pm
    3. 2009-06-22 1:51 pm
      • 2009-06-22 6:36 pm
    4. 2009-06-22 2:19 pm
    5. 2009-06-22 3:58 pm
    6. 2009-06-22 8:42 pm
    7. 2009-06-22 11:34 pm
      • 2009-06-23 8:00 pm
      • 2009-06-24 11:52 pm
    8. 2009-06-23 5:15 pm
    9. 2009-06-24 7:55 pm