Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 572 commits ahead, 87497 commits behind WebKit:master.

Latest commit



Failed to load latest commit information.
Latest commit message
Commit time

Timelapse is an experimental fork of the WebKit project that implements interactive record/replay for web applications. At a high level, Timelapse adds 1) a deterministic record/replay infrastructure and 2) a new developer tool (inside Web Inspector) for creating, browsing, and navigating through captured recordings. For more details, visit the wiki page Changes from Vanilla WebKit.

Timelapse is part of ongoing research in the Computer Science and Engineering department of the University of Washington. The project FAQ page answers some common questions about supported browsers, platforms, and future work.

How to Install

Binary and source builds are only tested on Mac OS X 10.7+ and won't work on other WebKit ports yet (QT, GTK, EFL, Win, etc). (Want to fix that? see Future Project Ideas).

Binary Distribution

A Timelapse-enabled WebKit binary build is created irregularly, based on recent Timelapse development and upstream changes to WebKit. You can find a link to the latest binary on the project wiki.

From Source

Timelapse has the following build requirements (on OS X):

  • 4 GB of RAM
  • XCode 4.6+
  • git 1.7+

If you are familiar with git and GitHub, you can run the following commands and wait a while (the repository is several gigabytes in size).

mkdir -p ~/repos/timelapse/ && cd ~/repos/timelapse/
git init
git remote add upstream git://
git remote add github
git fetch upstream master:upstream
git fetch github timelapse:timelapse
git checkout timelapse

Otherwise, see Note getting started developing Timelapse for more detailed instructions.

Building, Running, Debugging

For binary builds, Timelapse will be available when you launch Safari by clicking on the nightly .app.

For source builds, Timelapse integrates with the WebKit build system, and is enabled by specifying the --web-replay feature flag.

Debug builds are started like so:

Tools/Scripts/build-webkit --debug --web-replay

And release builds are started like so:

Tools/Scripts/build-webkit --web-replay

When everything has built, you can launch a Release version of Timelapse using:



Timelapse is open source research, and we encourage code reuse and contributions by others. If you have code or ideas for new features, send a pull request against the timelapse branch.

More details on contributing to Timelapse are available on the Wiki page Note using git and GitHub.

Roadmap and Project Ideas

For details on the research roadmap, look on the wiki.


LEGACY REPOSITORY: latest work located @






No releases published


No packages published


  • C++ 44.7%
  • JavaScript 26.8%
  • C 11.4%
  • Objective-C 5.7%
  • PHP 3.8%
  • Python 3.4%
  • Other 4.2%