Note: This page is deprecated thanks to the introduction of the Blink project. Please see the Blink Conversion Cheatsheet for the most up-to-date instructions. Who Should Use this Configuration?The easiest way to contribute to the WebKit project is to use a separate, standalone WebKit checkout. The webkit.org site has some great documentation for getting started with that configuration. If you are working on Linux, you may want to build the Chromium WebKit port.There's also a step-by-step description of a typical WebKit workflow for linux and mac. However, if you often contribute to both WebKit and Chromium, or you work on pieces of WebKit that are Chromium-specific, you might consider using the hybrid setup explained below. This setup lets you have a single source tree that contains both a full Chromium checkout and a full WebKit checkout. The net result is something of a "turducken." You end up with a full Chromium checkout that contains a full WebKit checkout that contains a partial Chromium checkout! Good times. Pulling Top-of-Tree WebKitBy default, a Chromium checkout includes only a subset of the upstream WebKit repository. To get the full repository, you'll need to edit your .gclient file and add the following lines to your custom deps:
"custom_deps" : { "src/third_party/WebKit/Source": None, "src/third_party/WebKit/Tools/Scripts": None, This instructs gclient to pull the latest revision of WebKit from svn.webkit.org. Before running gclient sync, you might want to check the webkit.org canary builders to ensure that the latest revision of WebKit is compatible with the latest revision of Chromium.
Configuring Your EnvironmentWebKit has a bunch of useful tools for automating various tasks. You can make use of these tools by configuring your environment as follows:
@e:\cygwin\bin\perl.exe -Ie:\pkasting\svn\trunk\src\third_party\WebKit\Tools\Scripts -w -- e:\pkasting\svn\trunk\src\third_party\WebKit\Tools\Scripts\commit-log-editor %* Once you've set up your environment, you should be able to use your WebKit checkout just like a normal checkout from webkit.org. For example, you might want to update, build, and test the Chromium port:
Note, you'll need to run update-webkit --chromium at least once before building in order to download the version of the Chromium sources specified in Source/WebKit/Chromium/DEPS. To learn more about how to contribute code to WebKit, head over to the Contributing Code page on webkit.org.
Windows Note: As you're probably aware from hacking on Chromium, you have at least two copies of SVN on your machine: the Cygwin version and the depot_tools version. Generally things should work OK as long as you checkout and update with the same version at all times. If you're using a hybrid checkout, it's probably easiest to do this by having the depot_tools svn first on your PATH.
Tips and TricksThere are a number of tricks that can save you a good deal of time when contributing to WebKit.
TroubleshootingThese instructions are currently a work in progress. If you have any trouble, track down abarth or pkasting on IRC, gchat, or email and we'll try to figure out what's going wrong.
|
