Your Search Results


    The articles below include content about downloading and building Mozilla code. In addition, you'll find helpful articles about how the code works, how to build add-ons for Mozilla applications and the like.

    APIs attached to Firefox Accounts
    As a FxA relier, after a user has logged in to her Firefox account with our OAuth 2.0 API, you can access a collection of APIs attached to the user's account. Many of these APIs are still works in progress.
    About omni.ja (formerly omni.jar)
    Firefox and Thunderbird achieve performance improvements by moving many of their internal parts from being standalone files or sets of JAR files into just one JAR file called omni.ja; this reduces the amount of I/O needed to load the application.  This article covers the contents of the archive and techniques for inspecting those contents.
    Accessibility and Mozilla
    Accessibility is the idea that software (among other things) should be designed to be usable and, as much as possible, convenient to use for people with disabilities. Mozilla strives to make its software accessible; the documents below cover the ways in which we do so.
    Add-ons add new functionality to Gecko-based applications such as Firefox, SeaMonkey, and Thunderbird.
    Add-ons add new functionality to Gecko-based applications such as Firefox, SeaMonkey, and Thunderbird.
    Adding a new CSS property
    This page describes how to add a new CSS property to the style system.  The style system is the part of the code in Gecko that is responsible for producing a computed value for every property for every element.  See the Gecko Overview for more information about the style system.
    Adding a new event
    Roughly, there are 3 types of event. First, you need to choose which type you need.
    Adding a new word to the en-US dictionary
    Occasionally bugs are filed pointing out situations where perfectly legitimate words are missing from the English spell check dictionary in Firefox. This article describes the process for adding a word to the dictionary.
    Browser security
    An important aspect of developing code for any browser, including Firefox, as well as any Web-oriented project, is its security. These articles provide important guides and references to ensuring the code you write is secure, including both design recommendations and testing guidelines.
    Bugzilla (often abbreviated b.m.o) is's bug-tracking system, a database for recording bugs and enhancement requests for Firefox, Thunderbird, SeaMonkey, Camino, and other projects.
    C++ portability guide
    What follows is a set of rules, guidelines, and tips that we have found to be useful in making C++ code portable across many machines and compilers.
    The Mozilla Calendar Project is a community driven project based on the Mozilla application architecture. The Project's heart is a calendaring backend based on libical. The Lightning extension is built on top of this platform and provides integrated calendaring capabilities for Mozilla Messaging's Email client Thunderbird.
    ChromeWorkers and the Chrome worker loader
    To complement the open Web Worker functionality, Mozilla has introduced the ChromeWorker interface, which provides this capability within application chrome. That makes it available not only to the application itself, but also to add-ons.
    Command Line Options
    Command line options are used to specify various startup options for Mozilla applications.
    Connect with Mozilla
    Enable, inspire and collaborate to make the Web the primary platform used to create experiences across all connected devices.
    Debugging a project as large as Mozilla can be a daunting task. Fortunately, over the years, Mozilla developers have come up with not just technologies and features to help you debug code, but have devised tips and techniques that can help too. Also available are assorted tools that you can use when debugging.
    Developer guide
    There are lots of ways to contribute to the Mozilla project: coding, testing, improving the build process and tools, or contributing to the documentation. This guide provides information that will not only help you get started as a Mozilla contributor, but that you'll find handy to refer to even as an old hand.
    Error codes returned by Mozilla APIs
    The following tables list errors that can occur when calling various Mozilla APIs. Each error is listed by its name and an error code in parentheses. An error will typically be displayed on the error console, but can be captured using a try-catch block in JavaScript. These constants can be accessed through Components.results. For example, by using Components.results.NS_ERROR_NOT_INITIALIZED
    Firefox is Mozilla's popular Web browser, available for multiple platforms including Windows, OS X, and Linux on the desktop and Android mobile devices. With broad compatibility, the latest in Web technologies, and powerful development tools, Firefox is a great choice for both Web developers and end users.
    Firefox Accounts
    Firefox Accounts (FxA) is an identity provider that provides authentication and user profile data for Mozilla cloud services. Longer term we envision that non-Mozilla services and applications will also be able to delegate authentication to Firefox Accounts.
    Firefox Accounts OAuth Dashboard
    Firefox Marketplace
    In this zone you'll find all the information you need to prepare and publish apps on the Firefox Marketplace. Find guidance on how to make apps successful, delivery options, monetization, publishing and updating apps, and the libraries and APIs to make use of Marketplace features.
    Firefox OS
    Firefox OS is the new mobile operating system developed by Mozilla, based on Linux and Firefox's powerful Gecko rendering engine.
    Firefox for Android
    For more and more people mobile devices are the primary way, or even the only way, to access the Web. Firefox for Android (codenamed Fennec) is an open, hackable, standards-based browser, just like the desktop Firefox.
    Firefox for Android
    For more and more people mobile devices are the primary way, or even the only way, to access the Web. Firefox for Android (codenamed Fennec) is an open, hackable, standards-based browser, just like the desktop Firefox.
    Gecko is the name of the layout engine developed by the Mozilla Project. It was originally named NGLayout. Gecko's function is to read web content, such as HTML, CSS, XUL, JavaScript, and render it on the user's screen or print it. In XUL-based applications Gecko is used to render the application's user interface as well.
    IME handling guide
    This document explains how Gecko handles IME.
    JavaScript code modules
    JavaScript code modules let multiple privileged JavaScript scopes share code. For example, a module could be used by Firefox itself as well as by extensions, in order to avoid code duplication.
    JavaScript code modules
    JavaScript code modules let multiple privileged JavaScript scopes share code. For example, a module could be used by Firefox itself as well as by extensions, in order to avoid code duplication.
    JavaScript libraries from Mozilla projects
    In addition to Firefox and other applications, Mozilla developers have created a number of useful JavaScript libraries you can use in your projects. Documentation for these libraries can be found here.
    Localization at Mozilla
    Localization (L10n) is the process of translating software user interfaces from one language to another and adapting it to suit a foreign culture. These resources are for anyone with an interest in the technical aspects involved in localization.
    Firefox OS is an open source mobile operating system which uses Linux and Mozilla's Gecko engine to run a user interface and set of applications written entirely in HTML, CSS and JavaScript.
    Mozilla Framework Based on Templates (MFBT)
    The Mozilla Framework Based on Templates ("mfbt") is the central repository for macros, functions, and data structures used throughout Mozilla code, including in the JavaScript engine.
    Mozilla MathML Project
    The Mozilla MathML project is Mozilla's project to build and enhance MathML support within Firefox and other Mozilla-based applications. For a quick overview, see the slides for the innovation fairs at Mozilla Summit 2013.
    Mozilla projects on GitHub
    Although Mozilla's major, core projects are located on the Mozilla Mercurial server, such as mozilla-central, there are a number of tools, services, and so forth whose code is hosted on GitHub. This article offers a quick guide to getting started with Mozilla code on GitHub as well as a list of many of the most interesting GitHub repositories containing Mozilla project code.
    Mozilla technologies
    Mozilla has several technologies used as components of its projects. These are documented here. (flesh out this text).
    Multiple Firefox profiles
    A profile in Firefox is the collection of settings, customizations, and personalizations that a user has made in the program. You can find details about Profiles on Mozilla's end-user support site.
    The articles linked to from here will help you improve performance, whether you're developing core Mozilla code or an add-on.
    Mozilla Persona is a cross-browser login system for the Web, that's easy to use and easy to deploy. It works on all major browsers, and you can get started today.
    The preference system makes it possible to store data for Mozilla applications using a key/value pairing system. These articles provide information about how to use the preference system.
    Here you'll find links to documentation about various Mozilla projects; these are often parts of Firefox or other products, but may also be used in other projects as well.
    QA: Quality assurance at Mozilla
    Here you'll find articles and tools to help you gear up to join the QA team testing Firefox to ensure that each release is as good as it can be.
    Redis Tips
    This document is a collection of some examples and tips for using redis, the open-source data structure server.  It is intended primarily for developers, and deliberately omits some topics that will be important in any redis deployment, like security and backups.
    Setting up an update server
    The goal of this document is to provide basic instructions on setting up your own update server.
    Signing Mozilla apps for Mac OS X
    Mac OS X's Gatekeeper functionality prevents users from launching applications that haven't been code-signed, in order to help keep their computers secure. Firefox and Thunderbird releases are both signed before shipping; this article describes the process.
    Testing Mozilla code
    Testing your code is important! Before you can even get your code committed into the source tree, you have to test it, and larger patches have to have automated tests. These articles will help you master (and continue to excel at) testing Mozilla code.
    Thunderbird is Mozilla's mail/messaging application. These pages document Thunderbird and also provide links to documentation about the MailNews backend which is also used in other projects such as Eudora/Penelope, Seamonkey, Correo, etc.
    Using Mozilla code in other projects
    There are several ways you can use Mozilla code in your own project.
    WebIDL bindings
    The WebIDL bindings are generated at build time based on two things: the actual WebIDL file and a configuration file that lists some metadata about how the WebIDL should be reflected into Gecko-internal code.
    XPIDL is an Interface Description Language used to specify XPCOM interface classes.
    js-ctypes allows application and extension code to call back and forth to native code written in C. C++ support is limited, see bug 505907 for full support. Unlike binary XPCOM components, It allows developers to ship a single binary for use with multiple versions of Firefox.

    Document Tags and Contributors

    Last updated by: malina,