otsukare Thoughts after a day of work

Some Ways To Contribute To WebKit and Web Interoperability

Graffiti of a robot on a wall with buildings in the background.

Someone asked me recently how to contribute to the WebKit project and more specifically how to find the low hanging fruits. While some of these are specific to WebKit, they can be easily applied to other browsers. Every browser engines projects have more bugs than they can handle with their teams.

In no specific orders, some ideas for contributing.

Curate Old Bugs on the bug tracker

  1. Go through old bugs of bugs.webkit.org.
  2. Try to understand what the bug is about.
  3. Create simplified test case when there is none and add them as an attachment.
  4. If they show differences in between the browsers, take a screenshot when it’s visual in Safari (WebKit), Firefox (Gecko), Chrome (Blink).
  5. If there is no difference in between browsers, CC: me on the bug, and probably we will be able to close it.

This might help reveal some old fixable bug or make it easier to fix it for another engineer. Some of them might be easy enough that you can start fix them yourself.

Find Out About Broken Stuff On WPT.

  1. Dive into all the bugs which fail in Safari, but pass in Firefox and/or Chrome. (You can do similar search for things failing in Chrome or failing in Firefox.)
  2. Understand what the tests is doing. You can check this with the WPT.live links and/or the associated commit.
  3. Check if the test is not broken and makes sense.
  4. Check if there is an associated bug on bugs.webkit.org. If not, open a new one.

FIXME Hunt Inside WebKit Code

  1. List all the FIXME which are flagged in the WebKit Source code.
  2. Not all of them are easy to fix, but some might be low hanging fruit. That will require to dive in the source code and understand it.
  3. Open a new bug on bugs.webkit.org if not yet existing.
  4. Eventually propose a patch.

Tests WebKit Quirks

  1. There are a number Quirks in the WebKit project. These are in place to hotfix websites not doing the right thing.
  2. Sometimes these Quirks are not needed anymore. The site has made a silent fix. They didn't tell us about it.
  3. They need to be retested and flagged when there are not necessary anymore. This can lead to patches on removing the quirk when it is not needed anymore.
  4. Some of these quirks do not have the remove quirk bug counterpart. It would be good to create the bug for them. Example of a Remove Quirk Bug.

Triage Incoming Bugs On Webcompat.Com For Safari

  1. Time to time there are bugs reported on webcompat.com for Safari.
  2. They require to be analyzed and understood.
  3. Sometimes, a new bug needs to be opened on bugs.webkit.org

Again, this is strongly explaining how to help from the side of WebKit. But these type of participation can be easily transposed for Gecko and Blink. If you have other ideas for fixing bugs, let me know.

Otsukare!