WebExtensions/Contribution Onramp

From MozillaWiki
< WebExtensions
Revision as of 19:41, 10 September 2018 by Caitmuenster (talk | contribs) (created page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

If this is your first contribution to the Firefox codebase, welcome! It can be scary to get started contributing to a large and complex codebase, but we’ve prepared some tips to help you fix a good-first-bug and land a patch in Firefox.

If we haven’t addressed your question in this document, please ask us by leaving a comment in the bug or by joining us on irc.mozilla.org in the #webextensions channel. For a general overview of how to contribute to Firefox, please go here.

General Tips

  • To make sure your comment in Bugzilla is seen, please “needinfo” the bug’s mentor by checking the box that says “Needs more information from” and then selecting “mentor” from the drop down box.

Introduction & Setting Up Developer Environment

  • If you haven’t done already done so, set up your development environment by building Firefox. There are two ways to do this:
    • [recommended] Build Firefox using Firefox Artifact builds. If the issue only requires changes to privileged JavaScript code, we recommend you use this method. Artifact builds saves time because it downloads a pre-built version of Firefox sources and applies your local changes on it, instead of rebuilding all of the C++ and Rust pieces from scratch.
    • Build Firefox from scratch. Note: doing this can take some time. After the initial build, you can build Firefox using the “mach build” command.
  • Next, use Searchfox to quickly find the code associated with your bug.

WebExtensions APIs

You can learn more about how WebExtensions internals are organized and how to work on them by reading this internal API documentation and the WebExtensions Hacking wiki.

Testing