[[PageOutline]] = Contributing to the Qt Port of WebKit = [http://gitorious.org/qtwebkit Gitorious.org] is hosting a [http://gitorious.org/qtwebkit public git repository] of the QtWebKit port. == Reporting Bugs == Bug report submissions should be submitted to the [http://webkit.org/new-bug webkit bugzilla] using the 'WebKit Qt' product according to the standard [http://webkit.org/quality/reporting.html reporting guidelines]. == Checking out the sources == Developers who wish to contribute to the port can check out the sources like so: {{{ git clone git://gitorious.org/qtwebkit/qtwebkit.git }}} == Hacking on QtWebKit == * [wiki:"QtWebKitHacking" QtWebKit overview] === 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/testfonts.git }}} 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 == * [wiki:"QtWebKitGitInstructions" QtWebKit Git Instructions] * [wiki:"UsingGitWithWebKit" Using Git with WebKit] * [http://ktown.kde.org/~zrusin/git/git-cheat-sheet-medium.png A Git cheat sheet] * [http://eagain.net/articles/git-for-computer-scientists/ An excellent article on Git for computer scientists] == The Plan == * [wiki:"QtWebKitTodo" TODO List] * [wiki:"QtWebKitJournal" Stabilization Journal] == 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 * [https://mx.staikos.net/mailman/listinfo/qtwebkit-bugs Bug Mailing List] * [https://mx.staikos.net/mailman/listinfo/qtwebkit-commits Commits Mailing List] == 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 [http://webkit.org/building/checkout.html 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 [http://webkit.org/coding/contributing.html 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 inquire from one of the Administrator(s) of the [http://gitorious.org/+qtwebkit-developers qtwebkit-developers team.]