wiki:QtWebKitContrib

Version 37 (modified by Simon Hausmann, 15 years ago) (diff)

--

Contributing to the Qt Port of WebKit

Staikos Computing Services Inc is hosting a public git repository of the QtWebKit port.

Reporting Bugs

Bug report submissions should be submitted to the webkit bugzilla using the 'WebKit Qt' product according to the standard reporting guidelines.

Checking out the sources

Developers who wish to contribute to the port can check out the sources like so

git clone git://code.staikos.net/webkit

After the initial clone you can update your sources with new changes using

cd webkit
git pull

Hacking on QtWebKit

Running the tests

To run the tests the normal WebKit layout test infrastructure is used. In addition you need a fixed set of fonts for testing. You can download them using Git from Gitorious:

git clone git://gitorious.org/qtwebkit/qtwebkit-testfonts.git testfonts

Then you have to set the WEBKIT_TESTFONTS variable to point to the newly checked-out testfonts directory.

As the last step you can just run

run-webkit-tests

from the WebKitTools/Scripts directory.

Individual tests can be run just directly using for example

run-webkit-tests LayoutTests/fast/forms/plaintext-mode-1.html

For debugging at test it may also be useful to run it directly in DumpRenderTree (with gdb):

WebKitBuild/Debug/bin/DumpRenderTree -v LayoutTests/fast/forms/plaintext-mode-1.html

The expected output can usually be found in the file with the same name as the test itself but with the .expected extension.

Building API Docs

Before you can build the API docs you need make sure to have Qt build from sources and run make docs in your Qt build directory once. This will ensure that the Qt API documentation is built and can be referenced from the QtWebKit docs and it will also ensure that qdoc (the tool that generates the API docs) is built.

To build the QtWebKit API docs simply run make docs in your build directory, i.e. WebKitBuild/Release. The output will be generated in HTML in the doc/html subdirectory.

Information on Git for QtWebKit developers

The Team

  • Lars Knoll
  • Simon Hausmann (IRC: tronical)
  • Holger Freyther (IRC: zecke)
  • George Staikos (IRC: pmax)
  • Adam Treat (IRC: manyoso)
  • Zack Rusin (IRC: zackr)
  • Michael Goddard (Qtopia developer)
  • Michael Brasser (Qtopia developer)
  • Tor Arne Vestbø (IRC: torarne)
  • Benjamin Meyer (IRC: icefox)
  • Ariya Hidayat (IRC: ariya)
  • Kenneth Rohde Christiansen (IRC: kenneth or kenne)
  • Antonio Gomes (IRC: tonikitoo)

Additional Contributors with Check-In Privileges to QtWebKit's Git Repository

  • Thiago Macieira
  • Marius Bugge Monsen
  • Eli Fidler
  • Mike Fenton
  • Marc Ordinasillopis
  • Jörg Bornemann

The Plan

Communication

We use the regular webkit-dev mailing list to coordinate. You can also find us in the #webkit channel on irc.freenode.net. We have two mailing lists specific to the QtWebKit port

Obtaining Check-In Privileges

Contributors with a proven track record of good patch submissions and that have demonstrated an ability to work well with the community can obtain check-in privileges to the QtWebKit git repository.

The various branches of the git repository mirror the branches in the upstream public webkit svn repository. Patches that land on a branch in the git repository are not automatically pushed to the svn repository. Patches intended for the svn repository must first be reviewed and then committed by developers with sufficient privileges.

Patches that are not specific to the QtWebKit port of the webkit project should not be submitted to the git repository rather they should be contributed directly to the upstream public webkit svn repository.

To obtain check in privileges to the git repository the contributor should send a public ssh key to the administrator of the repository.

Cherry-Picking bugfixes from the trunk

If you've found a bugfix in the trunk that should go into the next stable Qt patch release, follow these steps:

  1. Clone webkit-tools
  2. Clone and checkout the qtwebkit-4.5 branch of the Git Repository
  3. Run webkit-cherry-pick sha1
  4. Run git commit if the cherry-pick produced conflicts.
  5. Push the resulting branch.
  6. To update WebKit in src/3rdparty/webkit in Qt, simply run util/webkit/mkdist-webkit

Attachments (3)

  • Browser Performance Tests.zip (10.7 KB) - added by kcomkar@gmail.com 13 years ago. Analyses browser's performance at various stress-conditions. An animation starts and keeps on increasing the number of objects automatically. This ensures decrease of available memory, while capturing quality of browser's-graphical-rendering-capacity in fps(frames/second).
  • CSS3 2D Transforms.zip (198.4 KB) - added by kcomkar@gmail.com 13 years ago. Testcases checking for CSS3 2D Transforms functionality.
  • CSS3 3D Transforms.zip (250.3 KB) - added by kcomkar@gmail.com 13 years ago. Testcases checking for CSS3 3D Transforms functionality.

Download all attachments as: .zip