[webkit-help] practical steps starting a port?

Ryan Leavengood leavengood at gmail.com
Wed Jun 8 12:35:00 PDT 2011

On Mon, Jun 6, 2011 at 4:44 PM, Larson, Timothy E. <TELarson at west.com> wrote:
> The trac page SuccessfulPortHowTo is very anemic. I guess I expected
> something more along the lines of "Once you build your GUI, here are the main
> hooks you need to get the rendered page displayed in your viewport, and
> there's a list of other functions you may find useful." Is there somewhere
> else I should look to get a little more detail? Maybe blogs about the
> Qt/Gtk/wx/Haiku port experiences?

I did a lot of the initial work on the Haiku port (and am now working
on updating/merging our port with the latest WebKit code.) Maybe our
old blog posts would be useful (http://haiku-os.org/tags/webkit) but I
agree some more documentation about porting would be useful. I do
think this is an area where porters like us could make a nice
contribution. The main WebKit team is busy enough doing their work and
reviewing our patches.

My general advice would be to work on JavaScriptCore first and get it
building on your platform. There is not too much platform-specific
code there, and getting it building means your build environment is

Most of your work in WebCore should be in platform, and here reading
through other ports can be helpful. Though I'll warn that all the
ports have some ways of doing things which may not work as well on
your port. Most of the platform classes and methods are well named
(though I'm still unsure why there is both Clipboard and Pasteboard.)
In my efforts to update our port to the latest WebKit I'll probably
write some high-level descriptions of the various platform classes.

Speaking of updating our Haiku port, some of our developers made the
decision (mistake?) of putting a copy of WebKit in our own repo so it
would be easier to work on. Part of this was due to our port needing a
lot of work and not wanting to burden the WebKit project or ourselves
with many patches and bug reports for interim work. But now more than
a year has passed without our merging in WebKit, the WebKit repo has
been heavily reorganized, and I am now manually merging in our port to
the newest WebKit code. (Dear WebKit reviewers, expect patches
soon...the Haiku port is not dead!!!) So in that sense I would suggest
doing your best to work with the existing WebKit repo (plus it is
pretty big and not exactly trivial to clone somewhere.)

I am pretty impressed with the respect the main WebKit developers have
for the various WebKit ports, including "tiny" ones like our Haiku
port. Our platform code in the WebKit repo has been kept up-to-date as
new methods or classes have been added (even if just implemented with
a notImplemented() call), and I would like to express gratitude for
that: thanks! As I said our port will be brought fully up-to-date in
the next few weeks and I will get rid of our separate repo.

If I write any docs about the platform classes I will let you know
here, and maybe send some patches for the WebKit site.


More information about the webkit-help mailing list