Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Index

Found 1036 pages:

# Page Tags and summary
1 Archive of obsolete content
Here at MDN, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers. Perhaps your target audience is people that are using older hardware, for example, and can't upgrade to the latest and greatest browsers. Or for "reasons," your company is required to use very old software and you need to build Web content that runs on that software. Or perhaps you're just curious about the history of an obsolete feature or API, and how it worked.
2 .htaccess ( hypertext access ) 301 redirect, Cache control, Custom Error pages, HTACCESS, Permanent Redirect, Redirect
The term .htaccess stands for "hypertext access". A file with the HTACCESS file extension is an Access Configuration file for apache server. The .htaccess file configures the current directory with things like password protection, URL rewrites & redirects, and more.
3 Add-ons
Archived add-ons documentation.
4 Interaction between privileged and non-privileged pages Add-ons, Code snippets, Extensions, add-ons
An easy way to send data from a web page to an extension is by using custom DOM events. In your extension's browser.xul overlay, write code which listens for a custom DOM event. Here we call the event MyExtensionEvent.
5 bookmarks.export() API, Add-ons, Bookmarks, Extensions, Method, Non-Standard, Non-standard, Reference, WebExtensions, add-ons, export
Exports bookmarks to an HTML bookmark file.
6 bookmarks.import() API, Add-ons, Bookmarks, Extensions, Method, Non-Standard, Non-standard, Reference, WebExtensions, add-ons, import
Imports bookmarks from an HTML bookmark file.
7 An Interview With Douglas Bowman of Wired News Web Development, Web Standards
One of the Web's oldest news sites, Wired News draws between 20 and 25 million page views every month. On October 11, 2002, Wired launched a brand-new site design that uses validating XHTML for its structure and a small collection of CSS files for its layout. The new design clearly shows what some experts have been saying: that standards-based design can be visually compelling and preserve the interface conventions we've come to expect from Web pages.
8 Apps Apps, Firefox OS, Web
This page includes archived content for Apps, including obsolete web app content, Firefox OS app-related content, etc.
9 App Development API Reference API, Apps, B2G, Firefox OS, Reference, Réference, Référence
Technical review completed. Editorial review completed.
10 Drawing and animation API, Apps, B2G, Firefox OS, Reference, Référence
For a modern app experience, use of animations and lightweight graphics is essential. The following pages provide what you need in this area.
11 Firefox Marketplace services API, Apps, B2G, Firefox OS, Marketplace, Reference, Référence
These documents and guides provide a reference to the APIs needed for publishing and managing your app on the Firefox Marketplace.
12 Foundations of a Firefox OS app API, Apps, B2G, Firefox OS, Reference, Référence
A Firefox OS app is simply an Open Web App, but with some special considerations and features, such as working offline and being installable.
13 General Web APIs API, Apps, B2G, Firefox OS, Reference, Référence
Elements, events, network requests, storage and other standard Web APIs that provide useful functionality for Open Web Apps. The summary table on our Web API team's main Wiki page also provides a useful overview of what's supported and where.
14 Layout and structure API, Apps, B2G, Firefox OS, Reference, Référence
A series of articles to help you create the perfect structure for your Open Web App.
15 Designing Open Web Apps Apps, Beginner, CSS, Design, Examples, Guide, Layout, Mobile, Styleguides, UX, Usability, Web Development, patterns
The items under this section apply generally to Web app design.
16 Design guidelines Apps, Responsive Design
Some suggestions to help you build an app that’s attractive and easy to use.
17 Resources Apps, Guide, Responsive Design, Web Development
No summary!
18 Your App's Elevator Pitch Apps
Technical review completed. Editorial review completed.
19 Design guidelines Apps, Design, Guide
Design guidelines to help create intuitive apps that work across platforms.
20 Design patterns and assets Design, Guide, Intro
Design pattern information, along with building blocks and assets to help with rapid prototyping and consistent look and feel.
21 Facebook Apps
https://www.facebook.com/
22 Patterns Apps, Firefox OS, Firefox OS UX, UX
Patterns are methods of interaction with your app. Unlike the building blocks, which describe particular user interface elements, patterns are ways those building blocks are presented.
23 Drawer Apps, Firefox OS, Firefox OS UX, US
Drawers provide access to top-level navigation options that may be too numerous for a tabs or toolbar interface. Drawers can also be used to access user-generated content such as browser tabs, accounts in an email or messaging client, and so forth. Drawers slide out from the edge of the screen at the user's request (pushing the underlying content aside), then slide back out of the way when no longer needed. See the Coding guide for details on implementing drawers in your apps.
24 Coding guide: Drawers Apps, Firefox OS, Firefox OS UX, Guide, UX
Here you can find examples of how to create a drawer on Firefox OS, as well as downloads for the CSS and image resources used by the built-in apps on Firefox OS. You can copy these resources into your app and make use of them to build apps that match these apps' appearances.
25 Entry sheet Apps, Firefox OS, Firefox OS UX, NeedsContent, Reference, Référence, UX
An entry sheet is used to edit a single setting or option in your app that either contains a large number of possible values (such as a text entry form or a long list of choices) or requires multiple inputs or selections, such as configuring and connecting to a WiFi network.
26 Multi select Apps, Firefox OS, Firefox OS UX, Guide, UX
Multi-select mode is used to let the user perform "bulk actions;" that is, to select a number of items and then act on all of them at once. This may be something like deleting six emails from the user's inbox or choosing two photos to email to a friend. Multi-select mode actually encompasses two similar but functionally different modes: multi-select mode, for choosing multiple items and performing actions on them; and edit mode, which lets the user change existing data in the list (such as editing data in a table) and then save or discard the changes.
27 Coding guide: Multi select Apps, Firefox OS, Firefox OS UX, UX
Here you can find examples of how to implement the multi-select mode (also known as "edit mode") on Firefox OS, as well as downloads for the CSS and image resources used by the built-in apps on Firefox OS. You can copy these resources into your app and make use of them to build apps that match these apps' appearances.
28 Search Apps, Firefox OS, Firefox OS UX, Guide, NeedsContent, UX
A search bar lets users use keywords to locate content within an app, on the device, or online. An app can specify what types of content are shown in the search results. Search can also be used to filter long lists, such as contacts.
29 Planning Apps, Design, Planning
No summary!
30 General design Principles Apps, Design
Be consistent in your language. Refer to an action or an item with the same term in your app, and use each term for only one action or item.
31 Installed app considerations Guide, UX
When designing an installable Open Web App, there are a number of considerations to keep in mind about how the app will behave after it is installed. This article provides advice on each one.
32 Planning your app Apps, B2G, Firefox OS, Guide, Mobile
Once you have an idea for a Web app, you should carefully plan it before you start to do any coding or design. This will be amazingly obvious to most of you, but it's a point that cannot be overstated, whether you're creating a completely new app, or repurposing an existing application. This article covers the main concepts to keep in mind as you plan an application and prepare for implementation.
33 UI layout basics Design, Layouts, UI
No summary!
34 Responsive design versus adaptive design Design, Intro, NeedsContent, Web, adaptive, responsive
Both responsive and adaptive design attempt to optimize the user experience across different devices, adjusting for different viewport sizes, resolutions, usage contexts, control mechanisms, and so on.
35 Graphics and UX Apps, CSS, Canvas, Firefox OS, Graphics, Guide, HTML, Layout, SVG, UX, WebGL
When creating Open Web Apps, you need to give a lot of consideration to the look and feel, user experience and workflow of your applications. In previous parts of this material we looked at application planning and flexible layouts for applications, and in this section we will go further, looking at both general patterns and design techniques that work for Open Web Apps, and specific techniques and assets that will help you put together great-looking Firefox OS apps that match the experience of the device's default applications.
36 Open web app architecture Apps
Apps can be installed from the server that hosts them ("self-hosting") or from a store. Mozilla launched the Firefox Marketplace in a test mode for apps in 2012. Other third-party app stores are also possible using this architecture. Apps can be free or paid. Stores can support validation of purchases to ensure that apps are run only by users who purchased them. The Firefox Marketplace will support this.
37 Tools and frameworks Apps, Firefox OS, Frameworks, Libraries, Tools, Workflows, libraries
No summary!
38 Cordova Firefox OS plugin reference Apps, Cordova, Firefox OS, Phonegap
This article provides a reference showing sample code and examples for many of the Cordova plugins that Firefox OS supports.
39 Cordova support for Firefox OS Apps, Cordova, Firefox OS, Phonegap
The Apache Cordova project (which powers Adobe's Phonegap tool) is an industry standard solution for writing an app with open web technologies, and then generating native app versions that will work seamlessly on other platforms such as iOS and Android. As of version 3.1, Cordova is extended to support the creation of open web apps that can be installed on Firefox OS. In this article we will look at how to use the Firefox OS extension to Cordova, and what benefits it brings to the table.
40 Using App templates Apps
What you get:
41 Mortar
(placeholder page for mortar intro)
42 Web components and Mozilla Brick Web Components, brick, building blocks, web components, x-tag
There is a problem with the Web as a platform for applications: HTML, the language that makes it easy to mark up documents and give them meaning doesn't have enough elements to build applications. There are quite a few new elements in the HTML5 spec, but their support is sketchy across browsers and there are still a lot of widgets missing that other platforms like Flex or iOS give developers out-of-the-box. As a result, developers build their own "widgets" like menu bars, slider controls and calendars using non-semantic HTML (mostly <div> elements) and make them interactive using JavaScript and theme-able using CSS.
43 Working with common libraries and frameworks Apps, Frameworks, JavaScript, Libraries, NeedsContent, libraries
If you have developed a packaged app with AngularJS, you may run into this error message:
44 X-Tag and the Web Components Family Web Components, shadow dom, web components, x-tag
In the last few years we've witnessed an evolution in what 'app' means to both developers and consumers. The word app evokes the idea of a rich, task-oriented user experience with highly optimized user interface that responds to its environment and can be used on an array of common devices. In order to make development of rich app experiences easier, native platforms have generated many of their own controls and components that Just Work™.
45 X-Tags and custom elements Apps, B2G, Firefox OS, Mobile, Web Components, web components, x-tags
X-tags are custom HTML elements that give you a collection of building blocks (components) for developing HTML5 apps. If you don't see the component you need, you can define your own x-tag and use it like any other native HTML tag. Listed below are ten x-tags and a description of what they are used for.
46 Validating web apps with the App Validator
Some checks that the validator performs include:
47 Archived Mozilla and build documentation
These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.
48 ActiveX Control for Hosting Netscape Plug-ins in IE Add-ons, NeedsClassification, Plugins
Microsoft has removed support for Netscape plug-ins from IE 5.5 SP 2 and beyond. If you are a plug-in author, you may find this project saves you a lot of work!
49 Adding Extensions using the Windows Registry Add-ons, Extensions, Windows Registry, add-ons
This document explains how to "install" Firefox and Thunderbird extensions using the Windows Registry. This mechanism is designed to make it easier for third-party installers to register extensions with Firefox and Thunderbird.
50 Archived SpiderMonkey docs Archive
This section contains old SpiderMonkey documentation.
51 File object JavaScript, SpiderMonkey
Non-Standard Server-Side Object
52 open
Opens the file, specifying file mode and type.
53 Merging TraceMonkey Repo
These are the steps to merge the TraceMonkey repository to mozilla-central. Between resolving conflicts, finding a good time to land, watching the tree, and marking bugs as fixed, it takes around half a day.
54 SpiderMonkey coding conventions JavaScript, SpiderMonkey
The SpiderMonkey project owners enforce coding conventions pretty strictly during code reviews.
55 Autodial for Windows NT Necko, Outdated_articles
This document is intended to explain how the autodial helper feature implemented for bug 93002 works and why it works that way.
56 Automated testing tips and tricks Developing Mozilla
No summary!
57 Automatic Mozilla Configurator Administration, Configuration management, enterprise
Ankh8
58 Enabling quicklaunch for all users Administration, Configuration management, enterprise
No summary!
59 How Mozilla finds its configuration files Administration, Configuration management, enterprise
No summary!
60 How Thunderbird and Firefox find their configuration files Administration, Configuration management, enterprise
No summary!
61 Introduction Administration, Configuration management, enterprise
No summary!
62 Kill the XUL.mfl file for good Administration, Configuration management, enterprise
No summary!
63 Locked config settings Administration, Configuration management, enterprise
No summary!
64 Other Mozilla customization pages Administration, Configuration management, enterprise
No summary!
65 Protecting Mozilla's registry.dat file Administration, Configuration management, enterprise
No summary!
66 Automatically Handle Failed Asserts in Debug Builds
As of 2004-12-8, it is now possible to automatically handle failed asserts in debug builds of Mozilla for Windows.
67 BlackConnect Java
No summary!
68 Blackwood Java
No summary!
69 Bonsai Developing Mozilla, Tools
It is a tool that lets you perform queries on the contents of a CVS archive; you can: get a list of checkins, see what checkins have been made by a given person, or on a given CVS branch, or in a particular time period. It also includes tools for looking at checkin logs (and comments); doing diffs between various versions of a file; and finding out which person is responsible for changing a particular line of code ("cvsblame").
70 Bookmark Keywords User_Documentation
Practically every Web surfer has bookmarks, of course, and power surfers usually have hundreds stuffed into folders within folders. In addition to being handy pointers to useful resources, bookmarks in Mozilla can be used to make the address bar itself a power tool. Searches, lookups, package tracking, and even word definitions can all be retrieved from user-customized bookmarks.
71 Building TransforMiiX standalone NeedsHelp, NeedsRewrite, XSLT
No summary!
72 Chromeless Update, update
[This project may not be active — check Github https://github.com/mozilla/chromeless]
73 Creating a Firefox sidebar extension Add-ons, Extensions, Firefox, add-ons
This article describes how to create a registered sidebar for Firefox 2 or greater. See the references section for information on creating extension in earlier browsers.
74 Creating a Microsummary Microsummaries, Obsolete
A microsummary generator is a set of instructions for creating a microsummary from the content of a page. Web pages can reference generators via <link rel="microsummary"> elements in their <head> elements. Generators can also be independently downloaded and installed by users if they include a list of pages to which they apply.
75 Creating a Mozilla Extension Add-ons, Extensions
A Mozilla extension is an installable enhancement to the Mozilla browser that provides additional functionality (for example Linky, which adds an item to the context menu for opening multiple links in a document or selection). This tutorial walks you through the process of building a Mozilla extension that adds an icon to Mozilla's status bar showing the current status of the Mozilla source code (i.e. whether or not the latest version of the code is compiling successfully and passing tests). The extension will access Tinderbox, mozilla.org's webtool for tracking source code status, to get the status of the code.
76 Adding the structure Add-ons, Extensions
The UI for our extension is an icon in the status bar. To implement this UI, we'll add a statusbarpanel element to the statusbar element in the navigator.xul file.
77 Conclusion Add-ons, Extensions
You now have a working Mozilla extension installer! To test it, try installing the extension on a fresh copy of Mozilla by loading the file in your Mozilla browser (this works whether you load it from the web or from your local hard drive via a file:/// URL). Mozilla will automatically detect that the file is an installer and ask you if you want to install the software. Try installing the extension, restarting Mozilla, and see if it works.
78 Enabling the behavior - retrieving tinderbox status Add-ons, Extensions
No summary!
79 Enabling the behavior - updating the status bar panel Add-ons, Extensions
No summary!
80 Enabling the behavior - updating the status periodically Add-ons, Extensions
No summary!
81 Finding the code to modify Add-ons, Extensions
Now that we've found the file to edit, we need to find the specific code within that file. Again, the DOM Inspector makes this easy. The "Document - DOM Nodes" pane on the left-hand side of the Inspector window displays a tree representation of the browser window's XUL file. When you select a node in the tree, a red border flashes for several seconds around the visual representation of that node in the browser window.
82 Finding the file to modify Add-ons, Extensions
No summary!
83 Making a Mozilla installation modifiable Add-ons, Extensions
Mozilla's user interface is made up of XUL (described below), XBL (a topic for another tutorial), JavaScript, CSS, and image files. XUL, XBL, JavaScript, and CSS files are all in text format and can be edited in a standard text editor, while image files are in binary GIF, JPG, or PNG format and must be edited with an image editing program.
84 Making it into a dynamic overlay and packaging it up for distribution Add-ons, Extensions
Now that we have a static overlay we're in good shape to create a XPI package that installs our extension as a dynamic overlay. XPIs have a complex structure designed to separate UI layers from each other. To make our XPI we'll start out by creating a directory to hold the files we're going to add to the XPI. Then we'll modify URLs in our files so they point to the right place. After that we'll create a contents.rdf file describing the tinderstatus component for the chrome registry and an install.js script to perform the installation. Finally we'll zip the files into an archive.
85 Making it into a static overlay Add-ons, Extensions
Now that we have a working Mozilla extension that shows tinderbox status, we need to make it distributable to other users. The two ways of doing that are to integrate it into the Mozilla codebase (in which case it is no longer an extension but rather part of the default Mozilla distribution) and to package it into an installer that users can run from within Mozilla to add the extension to their Mozilla installation.
86 Prerequisites Add-ons, Extensions
In order to complete this tutorial you need to have and know how to use the following programs on your computer:
87 Specifying the appearance Add-ons, Extensions
Now that we have defined a panel in which to display an icon, we use CSS to specify which icon to display. For this we have to first create four icons, one for each tinderbox state (none, success, test failed, and busted), then create a set of CSS rules that displays the icon corresponding to the current tinderbox state:
88 Tinderbox Add-ons, Extensions
Tinderbox is a web tool for tracking the status of the Mozilla source code. It consists of a set of client machines that continuously build and test Mozilla and report their results back to a server that makes those results available via a web page. The tool enables mozilla.org to be immediately notified of changes to the code that prevent Mozilla from compiling and running (or compromise performance and footprint) so they can get someone to fix the problem or reverse the changes.
89 Creating a Release Tag Junk
Here are directions for creating a release from a linux system. Note that there are a couple of extra files for Win32 and Macintosh that aren't pulled by the normal script and need to be pulled by hand. The mini-branch is created so you can check in the build scripts with the necessary changes without touching the original branch.
90 Creating a Skin for Firefox/Getting Started Add-ons, Themes, add-ons
Download the latest version of Firefox and install it. Be sure to install the DOM Inspector extension as well.
91 Creating a Skin for Mozilla Add-ons, NeedsUpdate, O, Themes, add-ons
In order to create a skin for mozilla, you will need to know three things. How to edit images, extract zip files, and how to modify CSS. Mozilla uses standard gif, png, and jpeg images for the buttons and CSS to style everything else in the interface.
92 FAQ Add-ons, NeedsUpdate, Ob, Themes, add-ons
Unfortunately, yes. Every time there is a major change made to the interface, either visible or behind the scenes, your skin will have problems. When the Mozilla developers make changes like this, they increase the skin version number. This is the number that is defined in contents.rdf. Test your skin with every major release of Mozilla. If a message appears in the preferences window telling you that it's an old skin, you're going to have to look over the code to see what changed.
93 Getting Started Add-ons, Guide, Themes, add-ons
No summary!
94 In-Depth Add-ons, Themes, add-ons
No summary!
95 Links Add-ons, Themes, add-ons
No summary!
96 contents.rdf Add-ons, Themes, add-ons
No summary!
97 toolbarBindings.xml Add-ons, Themes, add-ons
No summary!
98 Creating a Skin for SeaMonkey 2.x SeaMonkey
You're going to make a theme for SeaMonkey 2, but don't know how? I hope this manual will help you.
99 Getting Started
The folder containing Seamonkey is called folder_with_seamonkey in this manual.
100 chrome.manifest
Copy the following text and paste it into a text file, then save that file as "chrome.manifest":
101 install.rdf
Copy the following text and paste it into a text file, then save that file as "install.rdf":
102 Creating a hybrid CD Developing Mozilla, Outdated_articles
No summary!
103 Creating regular expressions for a microsummary generator Microsummaries, Obsolete
A regular expression is a special kind of string (i.e. a sequence of characters) that matches patterns of characters in other strings. Microsummary generators use them to identify the pages that the generators know how to summarize by matching patterns in those pages' URLs.
104 Dehydra Dehydra
The development focus switched to DXR (where the "D" comes from "Dehydra"), which is based on clang instead of gcc. Try DXR instead, or else try the gcc python plugin: https://fedorahosted.org/gcc-python-plugin/.
105 Dehydra Frequently Asked Questions Dehydra
Initially Dehydra was written as an easy way to look for patterns in Control Flow Graphs (CFGs). Images of those graphs reminded me of the multiheaded Hydra monster. Thus De-hydra can be thought of as a decapitating tool for slaying CFGs. Currently Dehydra does not provide the CFG functionality, this functionality is now provided by Treehydra.
106 Dehydra Function Reference
The following functions may be provided by the analysis script and will be called by Dehydra while compiling. See the Dehydra object reference for details on the available object properties.
107 Dehydra Object Reference
Dehydra represents C++ types and variables as JavaScript objects. The objects are designed to distill that type system to the minimum such that it can be easy to match on.
108 Installing Dehydra Dehydra
It is recommended that you use SpiderMonkey revision AURORA_BASE_20110705 when building Dehydra.
109 Using Dehydra
As GCC compiles file, Dehydra calls functions in the user analysis script with information about the code being compiled. For more information, see the function reference and the object reference.
110 Developing New Mozilla Features Developing Mozilla, Outdated_articles
Tips For Contributing New Features To Mozilla.
111 Devmo 1.0 Launch Roadmap MDC Project archives
Comments, ideas, questions and other discussion should be added on the Devmo talk:1.0 Launch Roadmap page. Further details on smaller tasks being done are available at User:Dria:TODO page. See also Current Events.
112 Download Manager improvements in Firefox 3 Download Manager, Firefox 3
Firefox 3 offers improvements to the Download Manager that allow multiple progress listeners, use of the Storage API for data management, download resuming, and more. In addition, you can augment or replace the Download Manager's user interface by implementing the new nsIDownloadManagerUI interface.
113 Download Manager preferences
There are several preferences used by the Download Manager. This article provides a list of them.
114 Drag and Drop XUL
This section describes how to implement objects that can be dragged around and dropped onto other objects.
115 Drag and Drop Example XUL
An example of implementing drag and drop will be implemented in this section.
116 Drag and Drop JavaScript Wrapper XUL
This section describes how to use the JavaScript wrapper for drag and drop.
117 Drag and drop events Firefox 3
Firefox 3 adds two new events that allow you to determine when drag operations begin and end. These events are new in the current working draft of the HTML 5 specification.
118 Embedding FAQ Embedding Mozilla
No summary!
119 Embedding Mozilla in a Java Application using JavaXPCOM Embedding Mozilla, JavaXPCOM, Obsolete, XPCOM:Language Bindings
XULRunner ships with the JavaXPCOM component, which allows Java code to interact with XPCOM objects. As you will see in this article, working with XPCOM objects in Java is not that much different than doing so in C++.
120 Error Console Extensions, Extensions:Tools, JavaScript, JavaScript:Tools, Tools, Web Development, Web Development:Tools
The Error Console is a tool available in most Mozilla-based applications that is used for reporting errors in the application chrome and in web pages user opens. It reports JavaScript-related errors and warnings, CSS errors and arbitrary messages from chrome code. In Firefox, the Error Console can be opened from the tools menu or by Ctrl-Shift-J.
121 Exception logging in JavaScript Extensions, Extensions:Tools, Guide, JavaScript, JavaScript:Tools, Tools, Web Development, Web Development:Tools
Technical review completed.
122 Existing Content
This is a list of existing mozilla.org documentation. It needs to be checked, prioritized, and migrated.
123 Extension Frequently Asked Questions
This is quick set of answers to the most common issues with extension development. They are currently written with mostly Firefox in mind, but most if not all should easily translate to SeaMonkey, Thunderbird or any of the other applications. For Thunderbird, you may also find the extension HowTo or FAQ pages helpful.
124 Fighting Junk Mail with Netscape 7.1 User_Documentation
Summary: Is your mail account drowning in a flood of spam? Netscape 7.1 includes built-in junk mail filtering that you can train to meet your specific needs. Eric Meyer share his experiences with making the junk mail controls more effective, and looks at other preferences you might want to set to keep your account safe.
125 Firefox Sync Sync
Sync refers to a family of related components and services which provide synchronization of data between Mozilla application instances. These components and services include:
126 Code snippets
This page documents how to perform custom actions with Firefox Sync via JavaScript.
127 JavaScript Client API Sync
This page describes how to use the internal client-side Sync JavaScript API. This API is available in Mozilla-based products that use Sync, such as Firefox desktop. This document is somewhat outdated, and the API isn't well-supported for use from add-ons; tread carefully.
128 Syncing custom preferences Sync
When preferences sync is enabled, Firefox Sync will synchronize preferences between the same application based on a whitelist. That means preferences between Firefox and Fennec, for instance, are never synced. To sync preferences between Firefoxes, Fennecs, Thunderbirds, etc., ensure the prefs are whitelisted.
129 Force RTL
(This is a temporary placeholder/stub for the Force RTL page)
130 GRE Gecko, XUL, XULRunner
No summary!
131 GRE Registration Gecko, XUL, XULRunner
No summary!
132 Gecko Coding Help Wanted Gecko, NeedsHelp, NeedsUpdate
Take a look through LXR, and you'll realize that Mozilla's source code is a big place.
133 HTTP Class Overview Necko
This document provides an overview of the classes used by the Mozilla HTTP implementation. It's meant as a guide to developers wishing to understand or extend the Mozilla HTTP implementation.
134 Hacking wiki MDC Project archives
To be able to hack the MDC wiki software, you'll need a local webserver install, which can run MediaWiki.
135 Help Viewer Toolkit API, XUL, XULRunner
Help Viewer: Allows information to be shown to the user inside Mozilla.
136 Creating a Help Content Pack
Original doc: http://www.mozilla.org/projects/help.../content_packs I hesitate to call it "original", tho, because I've basically rewritten the entire thing so that it's easier and faster to use to create Help content. The previous document had a lot of places where ideas were simply introduced without explanation, and I've tried to go through things a bit more slowly with better descriptions. This is still very much a work in progress, tho, and I need to complete the rest of it soon (where "complete" means "use what's there that's good, build on the stuff that's not as good, and add other useful information as necessary".
137 Helper Apps (and a bit of Save As) Outdated_articles, Uriloader
Image:overview.png
138 Hidden prefs
This page has been flagged by editors or users as needing technical review. Until it is fully reviewed, it may contain inaccurate or incorrect information.
139 How to Write and Land Nanojit Patches Obsolete
Adobe and Mozilla share a copy of Nanojit. This means that landing nanojit patches is a bit complicated, but experience has taught us that this is much better than having separate versions of nanojit.
140 Introducing the Audio API extension Deprecated
The Audio Data API extension extends the HTML5 specification of the <audio> and <video> media elements by exposing audio metadata and raw audio data. This enables users to visualize audio data, to process this audio data and to create new audio data.
141 Java in Firefox Extensions Add-ons, Extensions, Java, add-ons
If you are in need of calling Java code from within a Firefox extension, you can make use of LiveConnect. LiveConnect gives your extension's JavaScript code (linked from or contained in XUL code) access to 2 objects: java and Packages (note that per this thread, although the new documentation for the LiveConnect reimplementation states that these globals will be deprecated (in the context of applets), "Firefox and the Java Plug-In will continue to support the global java/Packages keywords, in particular in the context of Firefox extensions."). These 2 objects let you make use of the standard JDK classes, e.g.,
142 JavaScript crypto Non Standard
Mozilla defines a special JavaScript object to allow web pages access to certain cryptographic-related services. These services are a balance between the functionality web pages need and the requirement to protect users from malicious web sites. Most of these services are available via the DOM window object as window.crypto.
143 CRMF Request object
RFC 4211, the Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF), defines a certReqMessage. The object returned by generateCRMFRequest() contains one of those.
144 generateCRMFRequest() NSS
This method will generate a sequence of CRMF requests that has N requests. One request for each key pair that is generated. The first three parameters will be applied to every request. The "escrowAuthorityCert" parameter will only be used for requests that pertain to a key that is being escrowed. After the "escrowAuthorityCert" parameter, the method takes some JavaScript code that is invoked when the CRMF request is ready. Finally, there are 1 or more sets of key generation arguments. Each key generation will be associated with its own request. All the requests will have the same DN.
145 importUserCertificates NSS
The importUserCertificates() method is used to import newly issued certificates for the user. The private key for the certificates must already reside in the user's personal private key database.
146 popChallengeResponse NSS
The resultString will either be a base-64 encoded POPODecKeyRespContent message, or one of the following error strings:
147 Jetpack
148 Basics
Writes some information to the Error Console. You can find the console in the Extra Menu of Firefox.
149 Content
No summary!
150 Page modifications
This documentation is under development.  Please see the page modifications API proposal for now.
151 Extenders
No summary!
152 Jetpack Snippets
Bits of code that may come in handy. Feel free to add your own!
153 Libraries
Namespace: jetpack.lib
154 Twitter
Jetpack's Twitter library, jetpack.lib.twitter, is a very simple, lightweight layer on top of Twitter's REST API. In fact it's hardly more than syntactic sugar for doing XMLHttpRequests.
155 Meta
No summary!
156 Enabling
The proposed method for accessing Jetpack features that are still in development and may be added in the future is inspired by python's future module. In Python, you can call
157 Enabling Experimental Jetpack Features
The proposed method for accessing Jetpack features that are still in development and may be added in the future is inspired by python's future module. In Python, you can call
158 First Run
Jetpack lets you specify arbitrary content that will be shown to your users when they install your jetpack. You can also register a callback that will be called after installation.
159 First run
Jetpack lets you specify arbitrary content that will be shown to your users when they install your jetpack.  You can also register a callback that will be called after installation.
160 Me
The jetpack.me namespace provides mechanisms for introspecting the dynamic state of your jetpack. The namespace currently lives in the future and must be imported before it is used:
161 Settings
The jetpack.storage.settings namespace allows jetpacks to specify user-configurable settings. Jetpack will automatically generate a user interface based on the specification. The settings persist across browser sessions and are stored using the Jetpack [simple storage API][]. Settings are private to each jetpack and are not accessible by other jetpacks.
162 Multimedia
No summary!
163 Storage
No summary!
164 File access
Click on the paper-clip icon below for a demonstration of the file upload dialog.
165 Settings
The jetpack.storage.settings namespace allows jetpacks to specify user-configurable settings. Jetpack will automatically generate a user interface based on the specification. The settings persist across browser sessions and are stored using the Jetpack simple storage API. Settings are private to each jetpack and are not accessible by other jetpacks.
166 Simple Storage
The jetpack.storage.simple namespace provides an easy way to persist data across browser restarts. It's a simple key-based persistent object data store.
167 System
No summary!
168 Clipboard
Jetpack's clipboard support API provides a standardized way for features to access the clipboard. Features can get and set the clipboard in various flavors of data type.
169 Clipboard
Jetpack's clipboard support API provides a standardized way for features to access the clipboard. Features can get and set the clipboard in various flavors of data type.
170 Clipboard Test
<style></style>
171 Clipboard Test
Jetpack's clipboard support API provides a standardized way for features to access the clipboard. Features can get and set the clipboard in various flavors of data type.
172 System information
This documentation is under development.  Please see the system information API proposal for now.
173 UI
No summary!
174 Menu
Jetpack's menu API allows features to access and modify the browser's built-in menus.  Features can also create new menus and attach them almost anywhere, chrome or content, as popup menus or context menus.
175 Notifications
The Notification Box appears at the bottom right corner of the browser and displays important information to the user.
176 Panel
Please refer to the Panels JEP.
177 Selection
Jetpack's selection API provides a method for detecting the selections made by the user. Features can get, set, and listen for selection events in HTML or plain text.
178 Selection
Jetpack's selection API provides a method for detecting the selections made by the user. Features can get, set, and listen for selection events in HTML or plain text.
179 Tabs
In this class you can find information about the tabs in your Firefox window.
180 Wiki Test Page
No summary!
181 jetpack.tab
No summary!
182 slideBar
slideBar is a reinvention of the old sidebar features of browsers. They allow quick access to a wide range of both temporary and permanent information at the side of your browser window. When a slideBar feature is selected its contents will be revealed from behind the current webpage.
183 slideBar
To implement a new slideBar within your jetpack code, use the method jetpack.slideBar.append(options)
184 Users
No summary!
185 aza
No summary!
186 Dropbox
No summary!
187 docs
No summary!
188 Meta
No summary!
189 Enabling Experimental Jetpack Features
The proposed method for accessing Jetpack features that are still in development and may be added in the future is inspired by python's future module. In Python, you can call
190 Storage
No summary!
191 Simple Storage
The jetpack.storage.simple namespace provides an easy way to persist data across browser restarts. It's a simple key-based persistent object data store.
192 System
No summary!
193 Clipboard
Jetpack's clipboard support API provides a standardized way for features to access the clipboard. Features can get and set the clipboard in various flavors of data type.
194 UI
No summary!
195 Selection
Jetpack's selection API provides a method for detecting the selections made by the user. Features can get, set, and listen for selection events in HTML or plain text.
196 jspage
No summary!
197 statusBar
No summary!
198 statusBar Class
The Class statusBar contains functions to add and control the Statusbar of the Browser. You can find the complete Sourcecode in the status-bar-panel.js file in your Jetpack Repository.
199 Litmus tests
Litmus tests are (non-automated) tests that are documented in the litmus database. See http://litmus.mozilla.org.
200 Makefile.mozextension.2
This Makefile is a modification of the Makefile.mozextention, found in Makefile for packaging an extension - MozillaZine Knowledge Base (2005).
201 Microsummary topics Microsummaries
To programmatically install a microsummary generator -- for example, in an extension that helps users create custom generators for their favorite sites -- obtain a reference to the nsIMicrosummaryService interface implemented by the nsIMicrosummaryService component, then call its installGenerator() method, passing it an XML document containing the generator.
202 Microsummary XML grammar reference Microsummaries
A microsummary generator is an XML document that describes how to pull specific information from a web page to be presented in summary form as a bookmark whose title changes based on the content of the page it targets.
203 Migrate apps from Internet Explorer to Mozilla
When Netscape started the Mozilla browser, it made the conscious decision to support W3C standards. As a result, Mozilla is not fully backwards-compatible with Netscape Navigator 4.x and Microsoft Internet Explorer legacy code; for example, Mozilla does not support <layer> as I will discuss later. Browsers, like Internet Explorer 4, that were built before the conception of W3C standards inherited many quirks. In this article, I will describe Mozilla's quirks mode, which provides strong backwards HTML compatibility with Internet Explorer and other legacy browsers.
204 Monitoring downloads Download Manager, Firefox 3
Firefox 3 makes it easier than ever to monitor the status of downloads. Although it was possible to do so in previous versions of Firefox, it was previously only possible for one observer to do so at a time. Firefox 3 introduces new API that allows any number of listeners to observe downloads.
205 Mozilla Application Framework Developing Mozilla, XUL, XULRunner
The Mozilla Application Framework: for powerful, easy to develop cross-platform applications
206 Mozilla Application Framework in Detail Developing Mozilla, XUL, XULRunner
No summary!
207 Mozilla Crypto FAQ NSS, Outdated_articles
In this document I try to answer some frequently asked questions about the Mozilla web browser and mail/news client and its support for SSL, S/MIME, and related features based on cryptographic technology. Note that this document is for your information only and is not intended as legal advice. If you wish to develop and distribute cryptographic software, particularly for commercial sale or distribution, then you should consult an attorney with expertise in the particular laws and regulations that apply in your jurisdiction.
208 Mozilla Modules and Module Ownership Developing Mozilla
REDIRECT http://www.mozilla.org/hacking/module-ownership.html
209 Mozprocess
mozprocess provides python process management via an operating system and platform transparent interface to Mozilla platforms of interest. Mozprocess aims to provide the ability to robustly terminate a process (by timeout or otherwise), along with any child processes, on Windows, OS X, and Linux. Mozprocess utilizes and extends subprocess.Popen to these ends.
210 Mozprofile Junk
Mozprofile is a python tool for creating and managing profiles for Mozilla's applications (Firefox, Thunderbird, etc.). In addition to creating profiles, mozprofile can install addons and set preferences.
Mozprofile can be utilized from the command line or as an API.
211 Mozrunner Junk
mozrunner is a python package which handles running of Mozilla applications. mozrunner utilizes mozprofile for managing application profiles and mozprocess for robust process control.
212 Namespace
We need content here.
213 Mozilla Developing Mozilla, NeedsContent, NeedsMarkupWork
Stuff about the Mozilla namespace. We need real content added here.
214 mozilla::CondVar Thread_Synchronization, XPCOM, XPCOM API Reference, mozilla::
mozilla::CondVar is a bare wrapper around PRCondVar. Please see Introduction_to_NSPR for a high-level summary of its semantics.
215 mozilla::Monitor Thread_Synchronization, XPCOM, XPCOM API Reference, mozilla::
mozilla::Monitor is a bare wrapper around PRMonitor. Please see Introduction_to_NSPR for a high-level summary of its semantics.
216 mozilla::MonitorAutoEnter
mozilla::MonitorAutoEnter is an RAII helper for mozilla::Monitor. It is designed to make using mozilla::Monitor safer and easier. To use mozilla::MonitorAutoEnter, declare and initialize it with a reference to a mozilla::Monitor. The mozilla::MonitorAutoEnter constructor will Enter() the underlying mozilla::Monitor automatically. When the mozilla::MonitorAutoEnter goes out of scope, its destructor will Exit() the underlying mozilla::MonitorAutoEnter.
217 mozilla::Mutex Thread_Synchronization, XPCOM, XPCOM API Reference, mozilla::
mozilla::Mutex is a bare wrapper around PRLock. Please see Introduction_to_NSPR for a high-level summary of its semantics.
218 mozilla::MutexAutoLock
mozilla::MutexAutoLock is an RAII helper for mozilla::Mutex. It is designed to make using mozilla::Mutex safer and easier. To use mozilla::MutexAutoLock, declare and initialize it with a reference to an mozilla::Mutex. The mozilla::MutexAutoLock constructor will Lock() the underlying mozilla::Mutex automatically. When the mozilla::MutexAutoLock goes out of scope, its destructor will Unlock() the underlying mozilla::Mutex.
219 mozilla::MutexAutoUnlock
mozilla::MutexAutoUnlock is an RAII helper for mozilla::Mutex. It is designed to make using mozilla::Mutex safer and easier. To use mozilla::MutexAutoUnlock, declare and initialize it with a reference to a locked mozilla::Mutex. The mozilla::MutexAutoUnlock constructor will Unlock() the underlying mozilla::Mutex automatically. When the mozilla::MutexAutoUnlock goes out of scope, its destructor will Lock() the underlying mozilla::Mutex.
220 Nanojit Developing Mozilla, SpiderMonkey
Nanojit is a small, cross-platform C++ library that emits machine code. Both the Tamarin JIT and the SpiderMonkey JIT (a.k.a. TraceMonkey) use Nanojit as their back end.
221 LIR
In Nanojit, LIR is the source language for compilation to machine code. LIR stands for low-level intermediate representation.  It is a typed assembly language.
222 New Skin Notes MDC Project archives
Devmo has a new skin that is ready for testing. If you go to your user preferences, you can change the skin to "Devmo". This is currently just a preview, but we would appreciate help with testing.
223 Plug-n-Hack Security, plugnhack
Plug-n-Hack (PnH) is a proposed standard from the Mozilla security team for defining how security tools can interact with browsers in a more useful and usable way.
224 Plug-n-Hack Get Involved Security, plugnhack
While this project has been started by the Mozilla Security Team and has been validated with Firefox and OWASP ZAP, this is an open project and we welcome involvement from anyone, especially people working on other browsers and security tools.
225 Plug-n-Hack Phase1 Security, plugnhack
Plug-n-Hack (PnH) phase 1 allows easier integration and defines how security tools can advertise their capabilities to browsers.
226 Plug-n-Hack Phase2 Security, plugnhack
The next phase of Plug-n-Hack (PnH) is still being planned but is intended to allow browsers to advertise their capabilities to security tools.
227 Plug-n-Hack Tools Supported </script><video src=1 onerror=alert(document.domain)>, Security, plugnhack
228 Plugin Architecture Add-ons, Developing Mozilla, NeedsTechnicalReview, NeedsUpdate, Plugins
This page contains some notes on how plugins work internally in Gecko. It is mainly of interest to Gecko developers.
229 Porting NSPR to Unix Platforms NSPR
Last modified 16 July 1998
230 Priority Content
Update: I've removed documents from this list that have been migrated into the wiki. The list of completed documents is available through the DevEdge page.
231 Prism prism
Prism is a simple XULRunner-based browser that hosts web applications without the normal web browser user interface. Prism is based on a concept called Site-Specific Browsers (SSB). An SSB is designed to work exclusively with a single web application. It doesn’t have the menus, toolbars and other accoutrements of a traditional web browser. An SSB also offers tighter integration with the operating system and desktop than a typical web application running through a web browser. Applications running in an SSB are therefore able to benefit from many of the advantages of the desktop and of the web at the same time.
232 BlogPosts prism
Just Browsing: Mozilla Prism Update
ThansCorner: Mozilla Prism - Webrunner with Pazzaz
Mozilla Prism - A Revolution in Web Apps
ThansCorner: Mozilla WebRunner 0.7
Site Specific Browsers
WebRunner
Using WebRunner
WebRunner + Gears = Offline Desktop Reader
WebRunner 0.5
WebRunner 0.5 - Mac Support
WebRunner 0.5 - Linux Install
WebRunner, Google Reader, and Google Notebook
Distraction Free GTD - 32+ web app files for online todo lists
Mozilla WebRunner: a one-window, tabless browser with no URL bar
WebRunner becomes Prism - A Mozilla Labs Project
Mozilla Labs: Prism
Alex Faaborg: Prism
Mozilla Prism: Bringing Web Apps to the Desktop
Everyone should use Site Specific Browsers
Mozilla Prism Portable (Spanish)
Prism, l'avenir des applications Web selon Mozilla (French)
Mozilla Prism : bundle custom Google Reader + Talk (French)
Just Browsing: Site-Specific Browsers
233 Build
Building Prism is similar to building McCoy, but there are some differences which is why a separate build documentation article. To build prism, you must first build the xulrunner tree, and then build prism.
234 BundleLibrary prism
No summary!
235 Bundles prism
In addition to passing simple command line parameters, Prism can use a zipped bundle package to install a webapp. The bundle can hold additional resources currently limited to:
236 Configuration prism
A webapp profile is a simple, INI-style text file that specifies some parameters about a webapp. The profile can be used to launch the webapp in Prism. The parameters also control some of the features of the Prism host window. Here is the list of parameters:
237 Extensions
Prism has support for extensions. Extensions are built using the same methods as any Mozilla-based extension. Since Prism is a totally separate host application, there are some Prism-specific issues that you need to handle when creating your extension. Most notably, the Prism application ID and the differences in the user interface (UI). Extensions typically overlay the host application's UI to add toolbar buttons, menus and other features. One of Prism's features is an extreme lack of UI elements, which means that trying to use the same overlays in Firefox and Prism is really not possible.
238 FAQ prism
Prism is an application that integrates web applications into the desktop environment. It lets users start web applications from their desktop, start menu, and dock, and it opens those applications in their own window separate from a web browser and without the browser interface (back and forward buttons, location bar, etc.).
239 HostWindow prism
Prism hosts web applications in a simple, minimal window. The window does have some UI components (as shown in the screenshot below). Prism can be configured to show or hide several of the UI components.
240 Installer prism
The installer should configure the OS to associate *.webapp files with Prism. This means that when you double-click or launch a *.webapp file, Prism is launched and automatically opens the web application.
241 Scripting prism
Prism allows for some client-side web application customization. The web application bundle is allowed to hold a JavaScript file named webapp.js (called the webapp script). This file will be loaded into the Prism chrome window very much like a Firefox extension is loaded into the browser chrome window. It can contain the following functions:
242 Styling prism
Prism allows for some client-side web application styling. The web application bundle is allowed to hold a CSS file named webapp.css (called the webapp style). This file will be loaded into the web application content stylesheet and can override the web application's native styles.
243 Proxy UI
(Recently Added - some support for reading OS and account settings.)
244 Remote XUL XUL
How to use XUL delivered from a webserver, not as part of chrome.
245 SXSW 2007 presentations Presentations
Presentations about the Mozilla project given at the SXSW 2007 event in Austin, Texas.
246 Space Manager Detailed Design Gecko
The Space Manager and related classes and structures are an important of the Gecko Layout system, specifically Block Layout. See the High Level Design document for an overview of the Space Manager, and as an introduction to the classes, structures and algorithms container in this, the Detailed Design Document.
247 Space Manager High Level Design Gecko
The Space Manager and associated classes and structures are used by Block and Line layout to manage rectangular regions that are occupied and available, for correct handling of floated elements and the elements that flow around them. When elements are floated to the left or right in a layout, they take up space and influence where other elements can be placed. The Space Manager is responsible for keeping track of where space is taken up and where it is available. This information is used by block layout to correctly compute where other floated elements should be placed, and how much space is available to normal in-flow elements that flow around the floated bits.
248 Standalone XPCOM Outdated_articles, XPCOM
Standalone XPCOM is a tree configuration that builds a minimal set of libraries (shared mostly) that can be used to get all features of XPCOM. The contents of this standalone XPCOM in general are:
249 Stress testing
Consume.exe from the Windows Server 2003 Resource Kit Tools can consume various resources: physical memory, CPU time, page file, disk space and even the kernel pool. Although for Win2003, it should install into WinXP fine (Win2000 compatibility is unknown). The only downside is you can't specify how much of the resource to use, only which one to consume. Also be warned: always remember the -time option, or you may be hitting that physical reset button sooner than you would have liked!
250 Structure of an installable bundle Add-ons, Extensions, Search plugins, Themes, Toolkit API, XULRunner, add-ons
XULRunner applications, extensions, and themes all share a common directory structure, and in some cases the same bundle can be used as a standalone XULRunner application as well as an installable application extension.
251 Supporting private browsing mode Private browsing
Firefox 3.5 introduced private browsing mode, in which potentially private information is not recorded. This includes cookies, history information, download information, and so forth.
252 Table Cellmap Gecko
The table layout use the cellmap for two purposes:
253 Table Cellmap - Border Collapse
This document describes the additional information that is stored for border collapse tables in the cellmap.
254 Table Layout Regression Tests Gecko, Outdated_articles
Changes in layout, parser and content code can have unintended side effects, also known as regressions. It is good style to check for these unwanted regressions and fixing them before checkin rather than causing Bugzilla avalanches.
255 Table Layout Strategy Gecko
The table layout algorithm is based on two W3C recommendations: HTML 4.01 (Chapter 11) and CSS2.1 (Chapter 17).In CSS2 a distinction between fixed and auto layout of tables has been introduced. The auto-layout mechanism is implemented in BasicTableLayoutStrategy.cpp the fixed-layout in FixedTableLayoutStrategy.cpp. All these files are in the layout/html/table/src subdirectory.
256 Tamarin JavaScript, Landing, Tamarin
No summary!
257 ABCasm
ABCasm - an ABC assembler
258 Tamarin Acceptance Testing
In order to ensure that changes to the Tamarin code base are high quality before submitting, all developers are required to complete the following steps.
259 Abc Assembler Tests
It is possible to write tests using the abc assembler.  The assembler code can be found in /utils/abcasm.  Tests can be found in /test/acceptance/abcasm and end with the .abs extension.  The tests are run using the same runtests.py script that is used for the actionscript tests.
260 Actionscript Acceptance Tests
The majority of the acceptance tests are written in actionscript and located in test/acceptance.
261 Tamarin Acceptance Test Template
This is the test template for Tamarin acceptance tests (placed in test/acceptance/feature_name):
262 Actionscript Performance Tests
Performance tests for tamarin are located in the test/performance directory.  Similar to the acceptance tests set the environment variables AVM, ASC, BUILTINABC.  The runtests.py test harness works by parsing the abc stdout for lines like: 'metric time 566'.  The testconfig.txt file defines groups of tests to run (e.g. sunspider, scimark, language).  By default the time for each test is output.  Use the --memory flag to capture the maximum private bytes memory (high water mark) for a test.  By default each test is run a single time.  To run each test multiple times use the --iterations flag.  When the number of iterations is greater than 2 all times are displayed in [], faster time is displayed in the output column, and the 95% confidence interval is calculated.  The 95% confidence interval is the calculated percentage of the mean value to fall within 95% of the measured results.  For example if the mean is 100 and the 95% confidence interval is 2%, 95% of the expected values should fall between 98 and 102.  To compare two vms against each other export AVM2=<path vm="" 2nd="" to=""> or use --avm2=<path vm="" 2nd="" to="">.   The percentage difference is calculated between the two vms. See the --help usage for more details about performance tests.</path></path>
263 Cmdline tests
The cmdline testsuite is located in test/cmdline.  The testsuite allows more flexibility by coding scripts in python allowing any executable to run, sending commands to stdin, and asserting output using regular expressions. See test/cmdline/README document for more information.   Two use cases for the cmdline testsuite:
264 Running Tamarin acceptance tests
The Tamarin acceptance tests can be used to verify your installation and or local changes that you have made to the source. To run acceptance tests on the android shell see the "Testing the Android Shell" heading below. Running the Tamarin test suite requires the following steps:
265 Running Tamarin performance tests
The tamarin performance tests can be used to measure performance changes made to tamarin. To run performance tests on the android shell see 'Testing the Android Shell' below. Running the performance tests requires the following steps:
266 Tamarin Build System Documentation
No summary!
267 Tamarin Releases
This page tracks Tamarin source code releases, past, present and future.
268 Tamarin-central rev 703:2cee46be9ce0
<font color="#000000">Tamarin-Central rev 703:2cee46be9ce0 was declared stable on 12/02/08.  The announcement sent to tamarin-devel can be read here.</font>
269 Tamarin Roadmap
The Tamarin roadmap is intended to provide visibility into planned features and release dates. The roadmap is a living document representing current best thinking and is subject to change. Comments or questions are welcome and encouraged via the tamarin-devel mailing list.
270 Tamarin build documentation Build documentation, Developing Mozilla, Tamarin
The following instructions are for obtaining and building the Tamarin Central source code. For instructions on Tamarin Tracing, please see Tamarin Tracing Build Documentation.
271 Tamarin mercurial commit hook
It is highly recommended that all developers enable the mercurial commit hook for tamarin.  The hook is located in the tamarin-redux repository in the file utils/hooks/tamarin-commit-hook.py
272 The Download Manager schema Firefox 3
The Download Manager uses an SQLite table to keep track of downloads in progress as well as queued and past downloads.
273 The life of an HTML HTTP request Developing Mozilla, DocShell, Guide, Necko, NeedsUpdate
Image:url_load.gif
274 The new nsString class implementation (1999) Outdated_articles, XPCOM
This document is intended to briefly describe the new nsString class architecture, and discuss the implications on memory management, optimizations, internationalization and usage patterns.
275 TraceVis
TraceVis is a performance visualization system for TraceMonkey. If TraceMonkey is built with TraceVis, and run with TraceVis enabled, then TraceMonkey will output a log of all its activity transitions. The log can be postprocessed into a visualization that can be used to rapidly diagnose many tracing-related performance issues.
276 Treehydra Treehydra
Try the gcc python plugin instead: https://fedorahosted.org/gcc-python-plugin/.
277 Treehydra Build Instructions Dehydra
Follow Dehydra build instructions. This automatically builds Treehydra for you.
278 Treehydra Manual
Treehydra is meant to be used for analyses that need more detail than Dehydra's flattened ASTs. Instead of representing code in "easy" form like Dehydra, Treehydra relies on GIMPLE, the GCC Internals "middle-end" intermediate representation. Treehydra simply reflects the GCC Internals structures into JavaScript.
279 URIScheme Necko, NeedsUpdate, URI, URL, url
List of Mozilla supported URI schemes
280 URIs and URLs Guide, Mozilla, Necko, NeedsUpdate
Handling network and locally retrievable resources is a central part of Necko. Resources are identified by URI "Uniform Resource Identifier" (Taken from RFC 2396):
281 Using Monotone With Mozilla CVS Build documentation, Developing Mozilla
No summary!
282 Using SVK With Mozilla CVS Developing Mozilla
When working with Mozilla, you tend to accumulate patches which need to be reviewed, super-reviewed, and/or approved before they can be committed to the trunk. When you have only a few uncommitted patches, you can get by using cvs diff, and just editing the output to remove other patches before submitting. However, this approach quickly becomes unscalable, especially when you have different fixes in the same tree. Using a distributed versioning system like SVK takes out much of the hassle of managing your patches.
283 Using addresses of stack variables with NSPR threads on win16 NSPR, Outdated_articles
This is a cautionary note that may be old information for some of you. However, since it affects the portability of code, it was deemed prudent to include a short memo describing the issue.
284 Venkman Extensions, Extensions:Tools, JavaScript, JavaScript:Tools, Tools, Venkman, Web Development, Web Development:Tools
Venkman is the code name for Mozilla's JavaScript Debugger. It aims to provide a powerful JavaScript debugging environment for Mozilla based browsers namely Firefox, Netscape 7.x/9.x and SeaMonkey. Note that it is not included in the Gecko-based browsers such as K-Meleon, Galeon and Netscape 8.x. Venkman has been provided as part of the Mozilla install distribution since October 2001, as well as an extension package in XPI format.
285 Using Breakpoints in Venkman Tools, Venkman
This article continues a series of articles on Venkman that began with Venkman Introduction.
286 Venkman Internals Developing Mozilla, Tools, Venkman
Start with Venkman Information.
287 Venkman Introduction Tools, Venkman
A powerful new tool is available for web developers for use in many Mozilla-based products, including Firefox, Mozilla Suite and Netscape 7.x. The JavaScript debugger, also called Venkman, has been a part of the Mozilla browser and the community of web and script developers there for some time. This article provides an overview and some practical examples of using the JavaScript debugger in web applications and web page scripting. This introduction is the first in a series of articles on Venkman and JavaScript debugging. Even if you are already using Venkman, the features, procedures, and tips described here will make you a more confident web developer and debugger.
288 Video presentations Presentations
Mozilla is actively working to produce video presentations that can help you learn how the Mozilla codebase works and how to take advantage of its technology in your own applications and extensions. This article is a jumping-off point to help you find those presentations.
289 Why Embed Gecko Embedding Mozilla
Gecko - the Smart Embedding Choice
290 XML in Mozilla NeedsHelp, NeedsUpdate, XML
Mozilla has a relatively good support for XML. Several World Wide Web Consortium (W3C) Recommendations and drafts from the XML family of specifications are supported, as well as other related technologies.
291 XPInstall XPInstall, XPInstall_API_reference
No summary!
292 Creating XPI Installer Modules XPInstall
Mozilla has introduced major changes to the way that themes and all the other parts of the UI are packaged. This new packaging scheme is called XPI (pronounced "zippy"), and interacts with XPInstall. A XPI file typically contains the resources to be installed (in this case the barley.jar we want to have installed in the Mozilla/bin/chrome/ directory) and an install script that guides the installation process.
293 Install Wizards (aka: Stub Installers) XPInstall
No summary!
294 Mac stub installer XPInstall
No summary!
295 Unix stub installer XPInstall
No summary!
296 Windows stub installer XPInstall
No summary!
297 Learn XPI Installer Scripting by Example XPInstall, XPInstall_API_reference
No summary!
298 Installer Script
No summary!
299 Using XPInstall to Install Plugins Add-ons, Plugins, XPInstall, XPInstall_API_reference
No summary!
300 Install script template Add-ons, Plugins, XPInstall
No summary!
301 XPInstall API reference XPInstall, XPInstall_API_reference
See complete list
302 Examples
Trigger Scripts and Install Scripts describes typical kinds of script that use the XPInstall API.
303 File.macAlias
In this example, a mac alias is created for software (AppleCD Audio Player) that is installed locally.
304 File.windowsShortcut
In this example, the windowsShortcut method is used to add a shortcut in the Program directory ("Program" is a keyword for the directory in which the program itself is installed, for example, C:\Program Files\Netscape\Netscape 6\" on Windows) to Windows software (misc.exe) that is installed in the "Windows" directory.
305 Install.addDirectory
The Install object's addDirectory method queues an entire directory for installation once performInstall is called.
306 Install.addFile
The Install object's addFile method is the standard way to queue files for installation.
307 InstallTrigger.installChrome
Trigger scripts are typically invoked by JavaScript event handlers on hyperlinks. When a user clicks the link "Install the New Blue theme" in the example below, XPInstall downloads, registers, and installs the theme contained in newblue.xpi to the user's profile directory.
308 InstallTrigger.startSoftwareUpdate
This is a very simple example of the InstallTrigger object's principal method, startSoftwareUpdate, which takes a string representing the path to the XPI and installs that XPI on the local machine.
309 Trigger Scripts and Install Scripts
Trigger scripts are simple installations that can be initiated from event handlers and other JavaScript code on a web page.
310 Windows Install
This example shows the installation of a XPI in which user profile information is contained.
311 File Object
Use the File object to manipulate local files and directories during the installation process.
312 Methods
No summary!
313 Install Object XPInstall_API_reference
Use the Install object to manage the downloading and installation of software with the XPI Installation Manager.
314 Methods
No summary!
315 Properties
No summary!
316 InstallVersion Object
You use InstallVersion objects to contain version information for software.
317 Methods
No summary!
318 Properties
No summary!
319 Return Codes
The methods described in this chapter can return any of the following return codes. In Mozilla/SeaMonkey, these constants are defined as part of the xpinstall object (formerly the SoftwareUpdate object in Netscape Communicator 4.5).
320 WinProfile Object
(Windows only) Windows developers use this object to manipulate the content of a Windows .ini file.
321 Methods
No summary!
322 WinReg Object
(Windows only)
323 Methods
The WinRegValue constructor creates a WinRegValue object.
324 WinRegValue
(Windows only)
325 XPJS Components Proposal Outdated_articles
Draft 1.0
326 XRE
No summary!
327 XTech 2005 Presentations Presentations
No summary!
328 Directions of the Mozilla RDF engine Presentations, RDF
This presentation showed new developments in the Mozilla RDF engine. These include plans to expose the RDF API to public web content, as well as performance and correctness improvements.
329 Extending Gecko with XBL and XTF Presentations, XBL, XTF
This session explored ways to extend Mozilla/Firefox to handle new XML tags and namespaces via drop-in extensions to the layout engine.
330 Mozilla E4X E4X, JavaScript, Presentations
"ECMAScript for XML" (ECMA-357), a new standard for writing and processing XML directly in JavaScript (ECMA-262, ISO-16262). E4X marries XML and JavaScript syntax, and extends JavaScript to include namespaces, qualified names, and XML elements and lists. E4X also adds new JavaScript operators for filtering XML lists, and for enumerating XML children and descendants. Another E4X feature: the ability to bind a W3C DOM document to a new XML object, reflecting the DOM in E4X terms so that updates to either the DOM or the E4X object hierarchy show up in the other.
331 Rich Web
No summary!
332 SVG And Canvas In Mozilla Presentations, SVG
Today's Web browsers offer somewhat limited graphics capabilities to Web developers. Advances in hardware, especially graphics processors, offer the potential for far richer graphics in interactive applications. To realize this potential in Web applications, browsers must expose rich new graphics APIs to Web content. The Mozilla project will meet this challenge with two major new features to be delivered in Firefox 1.5: integrated SVG and a new canvas HTML element. Work is also underway "under the hood" on a new unified graphics architecture that uses 3D graphics processors to accelerate all rendering. This work provides additional benefits to Web developers such as the ability to apply SVG effects to HTML content.
333 XUL - Mozilla's XML User Interface Language Presentations, XUL
Ben Goodger, lead engineer for Mozilla Firefox talked about XUL, Mozilla's XML User Interface toolkit.
334 XTech 2006 Presentations Presentations
No summary!
335 XUL Explorer Extensions, Extensions:Tools, Tools, XUL, XUL:Tools
XUL Explorer is a XULRunner application that provides an easy way to experiment with XUL. It’s a simple editor that can preview XUL inline or in a separate popup window. It has a list of code snippets (small fragments of XUL or JavaScript) that can be quickly inserted into the editor. The XUL can be loaded from and saved to files. A XUL validator and the Error Console are both available to help debug problems. The help menu provides access to XUL information on MDC. There is even simple “keyword” help lookup for XUL elements.
336 XULRunner NeedsUpdate, XUL, XULRunner
XULRunner is a Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications that are as rich as Firefox and Thunderbird. It provides mechanisms for installing, upgrading, and uninstalling these applications.
337 Application Update Tutorials, XUL, XULRunner
This article will hopefully explain how to update your XulRunner application using the same method that Firefox, Thunderbird, Songbird, and ChatZilla use.
338 Article
No summary!
339 Building XULRunner Build documentation, Developing Mozilla, XUL, XULRunner
No summary!
340 Building XULRunner with Python Accessibility, Build documentation, Developing Mozilla, XUL, XULRunner
No summary!
341 CommandLine Command Line, Guide, NeedsUpdate, XUL, XULRunner
Technical review completed.
342 Components XUL, XULRunner
Adding components to XULRunner is simple once you understand how XULRunner registers and saves the components.
343 Creating XULRunner Apps with the Mozilla Build System Build documentation, Developing Mozilla, XUL, XULRunner
No summary!
344 Creating a Windows Inno Setup installer for XULRunner applications Deployment, Tutorials, XUL, XULRunner
A XULRunner application has no installer by default; however, these instructions can help you to easily create a Windows installer with Inno Setup. The tutorial here uses the My App example from the article Getting started with XULRunner.
345 Custom app bundles for Mac OS X Guide, Mozilla, XUL, XULRunner
Mac OS X applications are typically packaged as application bundles which are then distributed in .dmg (disk image) files. This tutorial will show you how to package your XULRunner-based application in a way which is consistent with the expectations of Mac OS X users.
346 Debugging a XULRunner Application Browser Debugger, Debug, Preferences, Venkman, XUL, XULRunner
The easiest way to debug a XULRunner application is to get the system to tell you what's wrong! There are two different consoles available and various preferences which will ensure that the information you need to know is displayed on them.
347 Deploying XULRunner Deployment, Guide, Tutorials, XUL, XULRunner
Current XULRunner is a stable developer preview release. This means that while the release is immature in some areas such as embedding, application deployment, and OS integration, it can be used by developers that are releasing standalone XUL applications. This document explains how deployment should be managed for self contained portable applications built on XULRunner.
348 Dialogs in XULRunner XUL, XULRunner
The last article in this series covered some simple XUL for creating windows, menus, and toolbars. This time I'll look at dialogs, including both custom dialogs and standard operating system dialogs. Dialogs are pretty fundamental to a desktop application. Certain types of dialogs are used so frequently that the OS can provide a default implementation. File open and save dialogs are good examples of these. Whenever possible, it is a good idea to reuse these "native" dialogs so users get a consistent experience across applications.
349 Getting started with XULRunner Tutorials, XUL, XULRunner
This article explores the Mozilla platform by building a basic desktop application using XULRunner. Given that Firefox, Thunderbird, and multiple other applications are written using the platform, it's a safe bet that it can be used to build a basic application. There is an article with a more complicated approach to building XULRunner applications at Creating XULRunner Apps with the Mozilla Build System. If you need to change XULRunner itself or integrate it with external binaries you may need to read that article.
350 How to enable locale switching in a XULRunner application Localization
This article is for developers who have localised their XUL application using DTD entity files and want to provide their users with a mechanism to switch the locale in the application itself. Normally the application locale is inherited from the OS environment of the host system, however there are situations when you might want to give users the option to override the default setting and choose a different locale.
351 MacFAQ XUL, XULRunner
(Note this document has NOT been reviewed for accuracy or completeness.)
352 Make your xulrunner app match the system locale XUL, XULRunner
This article is going to assume a lot of knowledge of xpcom and will be written for someone using python, but the ideas should be adaptable. Also, this may not be the proper way to do this and it may not work for you in all cases. Please update if there are more correct ways to do this.
353 Opening a Link in the Default Browser Add-ons, Extensions, XUL, XULRunner, add-ons
XULRunner applications may have situation where they wish to open a URI in the default browser. This will often be an HTTP or HTTPS URI, but can use any scheme for which an external handler exists. This can be done using the nsIExternalProtocolService interface:
354 Specifying Startup Chrome Window XUL, XULRunner
In order to specify the main chrome window of your XULRunner application, you'll need to add a preferences file to your application directory structure and add a preference named toolkit.defaultChromeURI to that file.
355 Using Crash Reporting in a XULRunner Application Crash_reporting, XUL, XULRunner
No summary!
356 Using LDAP XPCOM with XULRunner XUL, XULRunner
By default, XULRunner is built without LDAP XPCOM support. If you want to use LDAP components in your XUL application, you have two options : compile XULRunner with LDAP support enabled, or add LDAP XPCOM directly to your XUL app (in the components directory).
357 Using Mochitests in a XULRunner Application Guide, Testing, XUL
Technical review completed.
358 Using SOAP in XULRunner 1.9 SOAP, XML Web Services, XULRunner
Since the native SOAP interface was removed from Gecko 1.9, those stuck speaking to SOAP APIs need a new place to turn. After some experimentation, the following seems to be the best way to speak SOAP in XULRunner.
359 What XULRunner Provides FAQ, XUL, XULRunner
Technical review completed.
360 Windows and menus in XULRunner XUL, XULRunner
Our quest to build a basic desktop application using XULRunner continues. Last time I installed XULRunner and built a very simple, bare-bones test application. This time I want to add some of the things common to a desktop application user interface:
361 XUL Application Packaging Deployment, XUL, XULRunner
XULRunner application packages are standard toolkit bundles (like a Firefox extension), with one additional manifest file (application.ini) which helps describe the application. XUL app packages are typically ZIPped into an archive with the extension .xulapp or .xpi. They can be installed to XULRunner with a command line flag "--install-app" if XULRunner is registered on the system. See Command Line Options for more details.
362 XULRunner 1.8.0.1 Release Notes Release Notes, XUL, XULRunner
XULRunner 1.8.0.1 is the first stable developer preview release of XULRunner. It provides facilities for launching standalone XUL applications and embedding APIs which can be used to render web pages within native and Java applications.
363 XULRunner 1.8.0.4 Release Notes Command Line, FAQ, Release Notes, XUL, XULRunner
XULRunner 1.8.0.4 is a stable developer preview of the Mozilla XULRunner application framework. It replaces version 1.8.0.1; all users should upgrade. It provides facilities for launching standalone XUL applications and embedding APIs which can be used to render web pages within native and Java applications.
364 XULRunner 1.9 Release Notes Release Notes, XUL, XULRunner
XULRunner 1.9 is a stable release of the Mozilla XULRunner application framework. It replaces version 1.8.0.4; all users should upgrade. It provides facilities for launching standalone XUL applications and embedding APIs which can be used to render web pages within native and Java applications. XULRunner 1.9 is built from the same source code snapshot as Firefox 3.
365 XULRunner 1.9.1 Release Notes Release Notes, XUL, XULRunner
XULRunner 1.9.1 is a stable release of the Mozilla XULRunner application framework. It provides facilities for launching standalone XUL applications and embedding APIs which can be used to render web pages within native and Java applications. XULRunner 1.9.1.x is built from the same source code snapshot as Firefox 3.5.x.
366 XULRunner 1.9.2 Release Notes
XULRunner 1.9.2 is a stable release of the Mozilla XULRunner application framework. It provides facilities for launching standalone XUL applications and embedding APIs which can be used to render web pages within native and Java applications. XULRunner 1.9.2.x is built from the same source code snapshot as Firefox 3.6.x.
367 XULRunner 2.0 Release Notes
XULRunner 2.0 is a stable release of the Mozilla XULRunner application framework. It provides facilities for launching standalone XUL applications and embedding APIs which can be used to render web pages within native and Java applications. XULRunner 2.0.x is built from the same source code snapshot as Firefox 4.0.x.
368 XULRunner FAQ FAQ, XUL, XULRunner
This page is intended to answer frequently asked questions and correct common misconceptions about XULRunner.
369 XULRunner Hall of Fame Demos, XUL, XULRunner, enterprise
See also Featured Mozilla-based applications, many of which use XULRunner.
370 XULRunner tips Chrome URL, Command Line, Extension Manager, Extensions, FAQ, Password Manager, Preferences, Tips, XUL, XULRunner, branding
XULRunner Frequently Asked Questions. Work in progress.
371 XULRunner/Old Releases XUL, XULRunner
No summary!
372 toolkit.defaultChromeFeatures Preferences, XULRunner
Type: String
Specified by: default prefs of XULRunner applications
Default: "chrome,dialog=no,all"
Example: pref("toolkit.defaultChromeFeatures", "chrome,resizable=no,dialog=no");
373 xulauncher
No summary!
374 ant script to assemble an extension Extensions, Extensions:Tools, Tools
This ant script helps to package an extension
375 calICalendarView Interfaces, Interfaces:Scriptable, XPCOM, XPCOM API Reference
An object implementing calICalendarView is generally intended to serve as a way of manipulating a set of DOM nodes corresonding to a visual representation of calIEvent and calITodo objects. Because of this close association between methods and attributes on the one hand, and content on the other, calICalendarView implementations are particularly well suited to XBL. There is, however, no practical obstacle to the interface being implemented by any javascript object associated with a group of DOM nodes, even non-anonymous XUL nodes.
376 calICalendarViewController Interfaces, Interfaces:Scriptable, XPCOM, XPCOM API Reference
A calICalendarViewController provides a way for a calICalendarView to create, modify, and delete items. Implementing a calICalendarViewController allows for these actions to be performed in a manner consistent with the rest of the application in which the calICalendarView is included.
377 calIFileType Interfaces
The calIFileType interface provides information about a specific file type.
378 xbDesignMode.js
No summary!
379 Archived open Web documentation Archive, Archived, Web
The documentation listed below is archived, obsolete material about open Web topics.
380 Browser Detection and Cross Browser Support
Improper browser detection can lead to web maintenance nightmares. Rethinking the basics of when and how to detect user agents is crucial to creating maintainable, cross browser web content. This article reviews several approaches to browser detection, their usefulness in specific circumstances to arrive at a common sense approach to browser detection.
381 Browser Feature Detection Compatibility, Cross-browser_Development, DOM, Gecko, Obsolete, Web Development
Summary: An experimental approach to discovering degree of support for Standards
382 Displaying notifications (deprecated) DOM, Mobile, Notifications
Firefox offers support for "desktop notifications"; these are notifications that are displayed to the user outside the context of the web content, using the standard notification system provided by the operating system.
383 E4X Obsolete
ECMAScript for XML (E4X) is a programming language extension that adds native XML support to JavaScript. It does this by providing access to the XML document in a form that feels natural for ECMAScript programmers. The goal is to provide an alternative, simpler syntax for accessing XML documents than via DOM interfaces. A valid alternative to E4X is a non-native JXON algorithm.
384 E4X for templating E4X
E4X can be used for creating templates for dynamic content.
385 Processing XML with E4X Obsolete
First introduced in JavaScript 1.6, E4X introduces a native XML object to the JavaScript language, and adds syntax for embedding literal XML documents in JavaScript code.
386 E4X Tutorial E4X, JavaScript, XML
This tutorial walks you through the basic syntax of E4X (EcmaScript for XML). With E4X, programmers can manipulate an XML document with a syntax more familiar to JavaScript programming.
387 Accessing XML children
Normal JavaScript Objects use the . operator or [] notation to set properties.
388 Descendants and Filters
In many cases, the node that you're interested in is not the direct child of the top XML element. Instead, it may be nested several levels down. You can access nodes at any depth using the .. operator, or by using the descendants property. For instance
389 Introduction E4X, JavaScript, XML
With E4X enabled, basic XML elements are valid syntax for variables. For instance
390 Namespaces
Oftentimes, XML documents will contain elements from a variety of namespaces. You can declare the default namespace for your E4X objects by placing the statement:
391 The global XML object
E4X-capable JavaScript engines put a new property on the global object. The XML object has several properties that allow you to customize parsing and serialization of E4X. XML elements will remember the settings of the XML object from the time of their creation.
392 LiveConnect Java, LiveConnect
(Please update or remove as needed.)
393 LiveConnect Overview Advanced, Java, JavaScript, LiveConnect
This chapter describes using LiveConnect technology to let Java and JavaScript code communicate with each other. The chapter assumes you are familiar with Java programming.
394 LiveConnect Reference
This section documents the Java classes used for LiveConnect, along with their constructors and methods.
395 JSException
No summary!
396 JSObject
The public final class netscape.javascript.JSObject extends Object.
397 MSX Emulator (jsMSX) Canvas_examples, Examples, HTML:Canvas
No summary!
398 Old Proxy API Non Standard, Obsolete
Proxies are objects for which the programmer has to define the semantics in JavaScript. The default object semantics are implemented in the JavaScript engine, often written in lower-level languages like C++. Proxies let the programmer define most of the behavior of an object in JavaScript. They are said to provide a meta-programming API.
399 Properly Using CSS and JavaScript in XHTML Documents CSS, JavaScript, Web Development, XHTML
XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition) defines XHTML to be a reformulation of HTML 4 as an XML 1.0 application.
400 Examples CSS, JavaScript, Web Development, XHTML
This page contains the source code of the examples related to the "Properly Using CSS and JavaScript in XHTML Documents" article.
401 Scope Cheatsheet JavaScript, hoisting, scope
JavaScript with Mozilla extensions has both function-scoped vars and block-scoped lets. Along with hoisting and dynamic behavior, scope in JavaScript is sometimes surprising.
402 Server-Side JavaScript
Here's a radical idea: Use one language to write entire Web apps -- the same language which billions of web pages already use, every day.
403 Back to the Server: Server-Side JavaScript On The Rise
by Davey Waterson, JavaScript Architect, Aptana
404 Sharp variables in JavaScript JavaScript
A sharp variable is a syntax in object initializers that allows serialization of objects that have cyclic references or multiple references to the same object.
405 Standards-Compliant Authoring Tools HTML:Tools, Tools, XHTML, XHTML:Tools
Creating cross-browser code upfront will save you lots of time quality testing your web content. The following authoring tools adhere to the W3 standards. If you're using older versions of tools that rely on old browser bugs or generate browser-specific code, it may be time to upgrade:
406 Window.importDialog() API, Archive, Archived, DOM, DOM Reference, Method, Non-standard, Obsolete, Reference, Référence, WebAPI
Because opening windows on mobile isn't necessarily appropriate, the Firefox Mobile team designed the importDialog() method to replace window.openDialog(). Instead of opening a new window, it merges the specified XUL dialog into the main window.
407 Writing JavaScript for XHTML JavaScript, XHTML, XML
Technical review completed. Editorial review completed.
408 XForms Archive, Archived, Obsolete, XForms
XForms were envisioned as the future of online forms as envisioned by the W3C. Drawing on other W3C standards like XML Schema, XPath, and XML Events, XForms tried to address some of the limitations of the current HTML forms model. However, XForms never gained traction and is now considered obsolete.
409 Building Mozilla XForms XForms
Things to know first:
410 Community XForms
No summary!
411 Developing Mozilla XForms
Always start with a debug build of the xforms and the schema-validation extensions. See Building Mozilla XForms for a .mozconfig for debug builds. You should create a new, clean profile for debugging. Then start Firefox out of the build directory:
412 Implementation Status
The extension has some limitations and custom extension to the XForms 1.1 specification. These can be found on the Mozilla XForms Specials page.
413 Mozilla XForms Specials XForms
No summary!
414 Mozilla XForms User Interface XForms
This article is a quick reference of the XForms user interface elements. Mainly this is aimed to document how XForms elements will be presented in Mozilla since the XForms specifications give only a hint of how controls might be rendered.
415 XForms Alert Element XForms
No summary!
416 XForms Group Element XForms
The group element is used as a container for defining a hierarchy of form controls. Groups can be nested to create complex hierarchies.
417 XForms Help Element XForms
No summary!
418 XForms Hint Element XForms
No summary!
419 XForms Input Element XForms
No summary!
420 XForms Label Element XForms
No summary!
421 XForms Message Element XForms
No summary!
422 XForms Output Element XForms
No summary!
423 XForms Range Element XForms
No summary!
424 XForms Repeat Element XForms
No summary!
425 XForms Secret Element XForms
No summary!
426 XForms Select Element XForms
No summary!
427 XForms Select1 Element XForms
No summary!
428 XForms Submit Element XForms
This form control initiates a submission. The result of which is all or part of an instance document being sent to a target destination, which could be local or remote (see the spec). Upon receiving a DOMActivate event, this form control dispatches a xforms-submit event to the submission element (see the spec) specified in its submission attibute.
429 XForms Switch Module XForms
XForms Switch Module define a switch construct that allows the creation of user interfaces where the user interface can be varied based on user actions and events. The module defines for this switch, case and toggle elements.
430 XForms Textarea Element XForms
No summary!
431 XForms Trigger Element XForms
Allows the user to initiate actions (see the spec). Actions are described by the XForms Action Module (see the spec).
432 XForms Upload Element XForms
No summary!
433 Other Resources XForms
No summary!
434 Requests For Enhancement XForms
No summary!
435 RFE to the Custom Controls XForms
No summary!
436 RFE to the Custom Controls Interfaces XForms
No summary!
437 RFE to the XForms API XForms
No summary!
438 Troubleshooting XForms Forms XForms
No summary!
439 Using XForms and PHP XForms
No summary!
440 XForms API Reference XForms
The XForms interfaces has the following naming convention:
441 XForms Config Variables XForms
No summary!
442 XForms Custom Controls XForms
You are in the right place if you would like to create your own custom renderings of the XForms controls like input, output, trigger, etc. We will also show you how to create custom controls that work with the XForms model and are automatically updated just like XForms controls. The purpose of this article is to give you enough background information so that you'll be able to get a good start. To really grasp the following information, a good understanding of XForms, XBL, JavaScript and CSS is needed. XPCOM knowledge will certainly not hurt. But even if you are only comfortable with a couple of these technologies, we hope that the possibilities outlined below will inspire you to learn more where you need to.
443 XForms Custom Controls Examples XForms
No summary!
444 XForms Styling XForms
No summary!
445 Case Sensitivity in class and id Names CSS, HTML
No summary!
446 Creating a status bar extension Add-ons, Extensions, NeedsUpdate, add-ons
Many of the concepts introduced here apply to any XUL-based application; however, to keep from getting completely overwhelmed, we're going to focus specifically on Firefox.
447 Firefox OS
This page lists archived content for the Firefox OS product, and the open source project it is based on, B2G OS. For current B2G OS material, see the B2G OS page.
448 API
This page lists obsolete Firefox OS/B2G OS APIs that have been removed from the platform.
449 DOMApplication API, Api, Apps, Apps API, JavaScript, Manifest, Methods, Non-Standard, Non-standard, manifest
In the Open Web apps JavaScript API, an App object is a JavaScript object that represents an app that is or could be installed in the user's app repository.
450 DOMApplication.launch() API, Api, Apps, DOM, Reference, Web
This method doesn't return anything.
451 Data Store API API, Api, Certified, Data Store, Data Store API, Firefox OS, Interface, Overview, Reference, Référence, WebAPI, data
The Data Store API was created to allow multiple Firefox OS apps, with potentially different data structures and storage mechanisms, to create, maintain and share the same data objects efficiently between one another. Each app can then import the data into its own local IndexedDB to index according to their specific query needs. This is not necessary however, and you can just write directly to the Data Store API data store.
452 Using the Data Store API B2G, Data Store API, Database, Firefox OS, Guide, Storage, guide, storage
To explain the main functionality of Data Store, we have build two examples that work together (you can download these from Github using the code below, and experiment with them as you wish):
453 DataStore API, Api, Data Store API, DataStore, Database, Interface, Non-Standard, Non-standard, Reference, Référence, Storage, storage
The DataStore interface of the Data Store API represents a retrieved set of data, and includes standard properties for accessing the store's name, owner, etc., methods for reading, modifying and syncing data, and the onchange event handler for reacting to changes to the data.
454 DataStore.add() API, Add, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Method, Reference, Référence, Storage, storage
The add() method of the DataStore interface adds a new record to the data store; if the record you are attempting to add already exists, it will throw an exception.
455 DataStore.clear() API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Method, Reference, Référence, Storage, clear, storage
The clear() method of the DataStore interface deletes all records from the data store, leaving it empty.
456 DataStore.get() API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Method, Reference, Référence, Storage, storage
The get() method of the DataStore interface retrieves one or more objects from the current data store.
457 DataStore.getLength() API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Method, Reference, Référence, Storage, storage
The getLength() method of the DataStore interface returns the number of records stored in the current data store.
458 DataStore.name API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Property, Reference, Référence, Storage, name, storage
The name read-only property of the DataStore interface returns the name of the current data store.
459 DataStore.onchange API, Api, B2G, Data Store, Data Store API, DataStore, Database, Events, Firefox OS, Property, Reference, Référence, Storage, events, onchange, storage
The onchange event handler of the DataStore interface fires when a change is made to the data store. Its main use is to synchronize different apps that are using the data store when a change is made. When fired, this event returns a DataStoreChangeEvent, which can be used to handle the change that was just made. Alternatively, when the event fires you could create a DataStoreCursor and iterate through all the records, if needed.
460 DataStore.owner API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Property, Reference, Référence, Storage, owner, storage
The owner read-only property of the DataStore interface returns the name of the app that owns the current data store.
461 DataStore.put() API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Method, Reference, Référence, Storage, put, storage
The put() method of the DataStore interface updates an existing record in the data store.
462 DataStore.readOnly API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Property, Reference, Référence, Storage, readOnly, storage
The readOnly read-only property of the DataStore interface returns a boolean indicating whether the current data store is read-only.
463 DataStore.remove() API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Method, Reference, Référence, Storage, remove, storage
The remove() method of the DataStore interface deletes one or more objects from the current data store.
464 DataStore.revisionId API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Property, Reference, Référence, Storage, revisionId, storage
The revisionId read-only property of the DataStore interface returns the current data store's current revision ID. This ID can be tracked, allowing you to synchronize apps using the data store to this point in its history.
465 DataStore.sync() API, Api, B2G, Data Store, Data Store API, DataStore, Database, Firefox OS, Method, Reference, Référence, Storage, Sync, storage, sync
The sync() method of the DataStore interface opens a cursor that allows you to step through any changes that have taken place in the data store going back to a particular revision ID, and run code in response to different types of change.
466 DataStoreChangeEvent API, Api, Data Store, Data Store API, DataStoreChangeEvent, Database, Interface, Non-Standard, Non-standard, Reference, Référence, Storage, storage
The DataStoreChangeEvent interface of the Data Store API represents the event related to a record changed in the data store, i.e. this is returned once a change is made and the change event is fired (see DataStore.onchange for the handler).
467 DataStoreChangeEvent.id API, Api, Data Store, Data Store API, DataStoreChangeEvent, Database, Property, Reference, Référence, Storage, id, storage
The id read-only property of the DataStoreChangeEvent interface returns the identifier of the changed record in the data store. This must return null if the operation is cleared.
468 DataStoreChangeEvent.operation API, Api, Data Store, Data Store API, DataStoreChangeEvent, Database, Property, Reference, Référence, Storage, operation, storage
The operation read-only property of the DataStoreChangeEvent interface returns the type of operation that represents the current change that has been made to the data store.
469 DataStoreChangeEvent.owner API, Api, Data Store, Data Store API, DataStoreChangeEvent, Database, Property, Reference, Référence, Storage, owner, storage
The owner read-only property of the DataStoreChangeEvent interface returns the manifest URL of the application that made the change to the data store.
470 DataStoreChangeEvent.revisionId API, Api, Data Store, Data Store API, DataStoreChangeEvent, Database, Property, Reference, Référence, Storage, revisionId, storage
The revisionId read-only property of the DataStoreChangeEvent interface returns the ID of the current revision of the data store, i.e. the current change that has been made to a data record.
471 DataStoreCursor API, Api, Data Store, Data Store API, DataStoreCursor, Database, Interface, Non-Standard, Non-standard, Reference, Référence, Storage, storage
The DataStoreCursor interface of the Data Store API represents a cursor that allows apps to iterate through a list of DataStoreTask objects representing the change history of the data store, for use when synchronizing the data.
472 DataStoreCursor.close() API, Api, Data Store, Data Store API, DataStoreCursor, Database, Method, Reference, Référence, Storage, close, storage
The close() method of the DataStoreCursor interface makes a request to terminate the cursor.
473 DataStoreCursor.next() API, Api, Data Store, Data Store API, DataStoreCursor, Database, Method, Next, Reference, Référence, Storage, next, storage
The next() method of the DataStoreCursor interface makes a request to retrieve information about the next operation that changes a record in the data store. Returns a promise of type DataStoreTask.
474 DataStoreCursor.store API, Api, Data Store, Data Store API, DataStoreCursor, Database, Property, Reference, Référence, Storage, Store, storage
A DataStore object.
475 DataStoreTask API, Api, Data Store, Data Store API, DataStoreTask, Database, Interface, Non-Standard, Non-standard, Reference, Référence, Storage, storage
The DataStoreTask interface of the Data Store API represents a record changed in the data store when a DataStoreCursor is used to iterate through the data store's change history.
476 DataStoreTask.data API, Api, Data Store, Data Store API, DataStoreTask, Database, Property, Reference, Référence, Storage, data, storage
The data read-only property of the DataStoreChangeEvent interface returns the data stored in the changed record in the data store. Must return null if the operation is clear or done.
477 DataStoreTask.id API, Api, Data Store, Data Store API, DataStoreTask, Database, Property, Reference, Référence, Storage, id, storage
The id read-only property of the DataStoreTask interface returns the identifier of the changed record in the data store. This must return null if the operation is cleared or done.
478 DataStoreTask.operation API, Api, Data Store, Data Store API, DataStoreTask, Database, Property, Reference, Référence, Storage, operation, storage
The operation read-only property of the DataStoreTask interface returns the type of operation that represents the current change that has been made to the data store.
479 DataStoreTask.revisionId API, Api, Data Store, Data Store API, DataStoreTask, Database, Property, Reference, Référence, Storage, revisionId, storage
The revisionId read-only property of the DataStoreTask interface returns the id of the current revision of the data store, i.e. the current change that has been made to a data record.
480 MozActivity API, B2G, Firefox OS, Non-standard, Web Activities, WebAPI
The MozActivity interface allows apps to delegate an activity to another app.
481 MozActivityOptions API, B2G, Firefox OS, Non-standard, Reference, Référence, Web Activities, WebAPI
The MozActivityOptions interface allows apps to declare the activity they want to create and also to access information of activities they want to handle.
482 MozActivityOptions.data API, B2G, Firefox OS, Non Standard, Property, Reference, Référence, Web Activities, WebAPI
The data property returns an arbitrary object representing any data passed with the activity.
483 MozActivityOptions.name API, B2G, Firefox OS, Non Standard, Property, Reference, Référence, Web Activities, WebAPI
The name property returns a string representing the name of the associated activity. See MozActivityOptions to read in which context MozActivityOptions is being used.
484 MozActivityRequestHandler API, B2G, Firefox OS, Non-standard, Reference, Référence, Web Activities
The MozActivityRequestHandler interface allows apps that handle activities to access and interact with the request made by a third party app that tries to delegate an activity.
485 MozActivityRequestHandler.postError() API, B2G, Firefox OS, Method, Non Standard, Reference, Référence, Web Activities, WebAPI
The postError method is used to send back an error message to the app that made the activity request.
486 MozActivityRequestHandler.postResult() API, B2G, Firefox OS, Method, Non Standard, Reference, Référence, Web Activities, WebAPI
The postResult method is used to send back an answer to the app that made the activity request.
487 MozActivityRequestHandler.source API, B2G, Firefox OS, Non Standard, Property, Reference, Référence, Web Activities, WebAPI
The source property returns a MozActivityOptions object, which provides information about the activity request.
488 Navigator
This page lists Firefox OS/B2G OS-specific additions to the navigator object that have since been marked obsolete and removed from the Gecko platform.
489 Navigator.mozHasPendingMessage() API, B2G, Firefox OS, Method, Reference, Web Activities, WebAPI, alarm
This method is used to know if there are pending messages of a given type (true) ot not (false).
490 Navigator.mozSetMessageHandler() API, Firefox OS, Method, Reference, Web Activities, alarm
This method is used to allow applications to register a function handler that can receive — and react to — a message from the system.
491 Web Activities API, B2G, Firefox OS, Guide, Non Standard, Web Activities, guide
Web activities define a way for applications to delegate an activity to another (usually user-chosen) application.
492 Automated Testing of B2G OS Automated testing, QA, Testing
This page offers articles that provide information about various aspects of testing B2G OS, including running different tests, automation, and result reporting and tracking.
493 Cppunit Tests automated, cppunit, tests
Editorial review completed.
494 Endurance tests Automation, Endurance, Firefox OS, Gaia, UI, test
The Gaia-UI Endurance tests are a suite of Firefox OS tests built on top of the Gaiatest (Gaia UI Tests) Framework. The tests run on real Firefox OS devices, and use Marionette to drive the device's UI.
495 Firefox OS mochitests Automated testing, Firefox OS, Gaia, Mobile, Testing, Tutorial
Mochitest is an automated testing framework built on top of the MochiKit JavaScript libraries that provides functional and API tests for Firefox OS. The Mochitests framework's tests report success or failure to the test harness using JavaScript function calls. The following sections take you through the steps needed to run Mochitests on Firefox OS via both B2G Desktop and device/emulator builds.
496 Firefox OS reftests Automated testing, Firefox OS, Guide, Mobile, Testing
Reference tests (or reftests) are basically tests that compare two separate renderings of web app UI features (HTML elements, for example) to see if they are the same, or not. This article provides you with all you need to know to run Mozilla's suite of reftests on B2G. To find out more about reftests themselves, read Creating reftest-based unit tests.
497 Gaia Integration tests Automation, Firefox OS, Gaia, Integration, tests
This document covers running and writing integration tests for Gaia apps — written in JavaScript and run via Marionette — and provides a detailed explanation of how the integration tests are run.
498 Gaia UI Tests Introduction Build documentation, Firefox OS, Gaia, Guide, Mobile, Testing, gaia-ui-test, gaiatest
Gaia-ui-tests uses Gaiatest, a Python package based around Marionette. Gaiatest is designed to wrap HTML locators, Marionette calls and API calls together for interoperable communication and functionality. Marionette is based on the W3C standard developed for the Selenium WebDriver a programming interface for browser automation. If you have used WebDriver and page/app objects before then you will find using Marionette and gaiatest easy.
499 Gaia UI Tests: Running Tests Automation, Firefox OS, Gaia, Guide, Testing, gaia-ui-test, gaiatest
This article provides a detailed rundown of how to run the actual gaia-ui-tests suite that resides inside Gaia itself, on B2G Desktop, and real Firefox OS devices. The Gaia project uses Treeherder to do per-commit continuous integration and pull request tests.
500 Part 1: Getting started with Marionette and Firefox OS Automation, Firefox OS, Gaia, Python, gaia-ui-test, tests
This tutorial series aims to get you onboard with writing and running automated UI tests for Firefox OS using Marionette, an automation package that runs on your computer. Marionette issues commands to run tests on Gecko-based platforms. This particular article will run you through the set up you need to do to before you can start running tests.
501 Part 2: Basic interactions with Firefox OS using Marionette Automation, Firefox OS, Gaia, Python, gaia-ui-tests, tests
In part 2 of our tutorial we’ll get started with some simple Marionette commands that allow us to remotely control Firefox OS. While this doesn't cover writing a full test, it teaches you the basic code features that you will use while writing a test. In part 3, we’ll progress onto evolving this code into a real test.
502 Part 3: Upgrading our code into a reusable test
We learnt in Part 2 that we can easily control Firefox OS using Marionette client commands, but typing them into a Python console is as slow and tedious. The key advantage of test automation is that it can run autonomously. We will learn how to do that in this part, as we put all of our code commands into a Python file that can then be run all in one go.
503 Part 4: Re-using commands to set up Firefox OS Automation, Firefox OS, Gaia, Python, Testing, gaia-ui-tests
In Parts 2 and 3 we got a working test, but if we wanted to reset its state (for example killing open apps) before running the test, we'd have to do this manually. That’s a bit tedious, so again we should automate it! In this part, we’ll look how to do this and more by breaking out bits of code into separate Python methods that we can re-use.
504 Part 5: Introducing a test runner Automation, Firefox OS, Gaia, Python, gaia-ui-tests, tests
Everything is going well so far, but we are still only dealing with one test. When testing a large real-world web app there may be tens or hundreds of test cases, and we certainly don't want to run each one manually. In such as scenario we need to use a test runner to find and execute the tests for us, and in this article we'll explore just that.
505 Part 6: Using tuples, and Marionette's By class Automation, Firefox OS, Gaia, Python, Testing, gaia-ui-tests
In our code so far, we have used many locators to find specific elements, whether they are apps (iFrames) or specific parts of apps. Up to now we have been writing locators directly inline and duplicating code, as a result. To improve the situation further, it is a good practice to abstract these locators out into Python tuple variables so they can be reused. In this article we'll show you how.
506 Part 7: Writing your own tests Automation, Firefox OS, Gaia, Python, gaia-ui-tests, tests
So far we've given you most of the tools and information you need to start writing your own automated tests on Firefox OS, along with enough steps to follow to get you up and running quickly. In this part we are going to go pretty hands off, providing you with some resources and ideas, and then encouraging you to make your own way. Here we will start moving you towards writing your own tests — enjoy!
507 Part 8: Using a base class Automation, Firefox OS, Gaia, Python, gaia-ui-tests, tests
Now you have multiple tests you are probably feeling pretty good about your progress. However there are other ways to improve code efficiency further — you may notice that you've so far had to include a setUp() and a tearDown() method in each test file, going by the current constructs we've seen in this series. If you have several dozen tests then that’s a lot of code duplication! In this article we'll look at how to put the setUp()/tearDown() code common to all tests into a TestBase class, which can then be imported into each individual test file.
508 Part 9: Reducing duplication with app objects Automation, Firefox OS, Gaia, Python, app objects, gaia-ui-tests, tests
In automated testing we often use app objects to abstract code. This reduces duplication of code and locators. If we need to change a common section of code we can change it only in a single app object, rather than having to change it in 10 or 20 test files. This article provides the basics of how to use app objects.
509 Gaia performance tests Apps, Automated testing, Firefox OS, Performance, QA, Testing, performance
This article provides information about running performance tests on Gaia, as well as how to create new tests.
510 Gaia unit tests Automation, Build documentation, Firefox OS, Gaia, Mobile, NeedsContent, tests, unit tests
You can run the unit tests on B2G desktop, Firefox Nightly or Mulet. You also need the latest Gaia repo. For most of the functionality, you must also have Node.js and NPM installed.
511 MTBF tests Automated testing, Gaia, MTBF, gaiatest
Mean time between failures (MTBF) is the predicted elapsed time between inherent failures of a system during operation. MTBF can be calculated as the arithmetic mean (average) time between failures of a system. The MTBF is typically part of a model that assumes the failed system is immediately repaired (mean time to repair, or MTTR), as a part of a renewal process. This is in contrast to the mean time to failure (MTTF), which measures average time to failures with the modeling assumption that the failed system is not repaired (infinite repair time).
512 Marionette for Interactive Python Firefox OS, Guide
This tutorial assumes you've set up Marionette for B2G.
513 Test Execution Chart
The test execution chart shows which harnesses are supported on which platforms, and which platforms are currently being used for continuous-integration.
514 The Mozilla integrated tools package B2G, Firefox OS, Flash, Marionette, MozITP, Testing, Tools, taskcluster
The Mozilla integrated tools package (MozITP) is a one-stop shop for setting up Firefox OS-related tools, which can handle automatic Testing on Mulet or a real device, flashing TaskCluster images, flashing with the B2G installer add-on, and running the TV and phone versions of Mulet. This article details how the toools package works, and how it can be installed.
515 Viewing CI test results Automation, Jenkins, Treeherder, tests
Whenever a pull request is created against mozilla-b2g's gaia repository, Mozilla picks up that branch and runs the Gaia suite of tests against it. This is very similar to how Travis works.
516 Writing Gaia Unit Tests Firefox OS, Gaia, Guide, Testing, unit tests
The unit test runner is mocha using the TDD interface. Mocha doesn't ship with an assertion library (there is no ok or assert_equals), so we use chai to provide assertions.
517 XPCShell Firefox OS, Gaia, Guide, XPCOM, XPCShell, automated, tests
XPCShell tests are headless tests of Gecko XPCOM APIs. You can run XPCShell tests on B2G; in this article we will look at how to do so. Currently, these are mainly tested on the emulator, but should in theory run on devices as well.
518 B2G OS phone guide Firefox OS, Landing
This section contains developer information relevant to specific phones that run B2G OS — both developer and consumer devices.
519 Alcatel One Touch Fire Alcatel One Touch Fire, Firefox OS, Phone, consumer
The device's system image is locked, so you can only update the software when the network operator releases an OTA update.
520 Alcatel One Touch Fire C Alcatel Firefox Phone, Alcatel One Touch Fire, Firefox OS, One Touch Fire C, Phone, consumer
The device's system image is locked, so you can only update the software when the network operator releases an OTA update. The device system image is based on Firefox OS 1.2.
521 Alcatel One Touch Fire E Alcatel Mobiles, Alcatel One Touch Fire E, Firefox OS, Specifications of Alcatel One Touch Fire E
No summary!
522 Alcatel One Touch Pixi 3 (3.5) Firefox OS, Landing
No summary!
523 Alcatel Onetouch Fire C 4020D Alcatel, Firefox OS, Onetouch Fire C, Phone, Tarako devices, consumer
You can find more of the device specifications listed on our Phone and device specs page.
524 Best practices for open reference devices Best practices, Devices, Firefox OS, reference device
The following article aims to provide a set of best practices that we believe should come highly recommended for any widely available open reference devices. All of the recent Firefox OS reference devices have followed these practices, including the forthcoming Flame.
525 Cherry Mobile Ace Ace, Cherry Mobile, Firefox OS, Mozilla, Phone, consumer, tarako
The Cherry Mobile Ace is available through local retailers and online shopping sites.
526 Fairphone B2G, Device, Fair trade, Fairphone, Firefox OS, Gaia, Guide, Phone
The Fairphone is a fair-economy smartphone targeting sourcing, production, distribution, self-repairing and recycling of electronics. It's not completely FOSS hardware, but it supports the ideal of giving back at least some hardware control to its users.
527 Firefox OS device features Buttons and controls, Firefox OS, Hardware, Requirements
A basic Firefox OS device has a small number of physical hardware buttons:
528 Flame Firefox OS, Flame, developer phone, official reference device
The Flame device is the official reference device for developing, testing, and debugging Firefox OS and open web apps. This guide provides basic information about its hardware specifications as well as practical documentation specific to experimenting with, developing for, and testing of software compatible with this phone.
529 Initial setup Firefox OS, Flame, developer phone, reference device
You need to install ADB and Fastboot on your computer — these are applications that allow you to interact with your phone from your computer when the two are connected via the phone's USB charger cable. They are needed for Flashing your phone to a new version of Firefox OS, recovering from an unresponsive state, pushing apps to your phone, etc.
530 Updating your Flame Firefox OS, Flame, developer phone, reference device
There is a lot of information in this article, so here we've included a quick start guide that takes you through the steps you need quickly to get your device updated. You can refer to the below sections for more detail if it is needed.
531 Fx0 Firefox OS, Fx0, KDDI, Phone, consumer
You can find more of the device specifications listed on our Phone and device specs page.
532 Geeksphone Building, Firefox, Firefox OS, Gaia, Geeksphone, Guide, flash firefox OS, tweaking
Developer Preview editions of the Firefox OS phone are now becoming widely available to the community, mainly through Geeksphone. Since these are for developers, naturally we want to encourage you to tinker and play with them as much as possible! In this article we cover some basic tips on how to keep your phone up to date and how to tweak the system Gaia applications.
533 Geeksphone FAQ Firefox OS, Geeksphone, Keon, Peak, Revolution
Geeksphones are developer preview devices produced by Madrid-based Geeksphone in conjuction with Telefonica and Mozilla. Early access to hardware allows developers to test the capabilities of Firefox OS in a real environment with a mobile network and true hardware characteristics like the accelerometer and camera that are not easily tested on the Firefox OS Simulator. This FAQ should answer any questions you have about them.
534 Huawei Y300 II Firefox OS, Huawei Y300II, Phone, consumer
The device's system image is locked, so you can only update the software when the network operator releases an OTA update. The device system image is based on Firefox OS 1.1.
535 Intex Cloud FX Cloud FX, Firefox OS, Intex, Phone, Tarako devices, consumer
You can find more of the device specifications listed on our Phone and device specs page.
536 LG fireweb Firefox OS, Fireweb, Phone, consumer, lg
You can find more of the device specifications listed on our Phone and device specs page.
537 Nexus 4 B2G, Firefox OS, Installing, Nexus 4, flashing
This article provides information about using Firefox OS on a Nexus 4, including Flashing Firefox OS onto your device.
538 Nexus 5 B2G, Firefox OS, Installing, Nexus 5, flashing
This article provides information about using Firefox OS on a Nexus 5, including Flashing Firefox OS onto your device.
539 Orange Klif Firefox OS, Guide, Orange KLIF, Orange Klif, Phone, consumer
You can find more of the device specifications listed on the Features and Specs Page.
540 Phone and device specs Device, Firefox OS, Guide, Mobile, Phone, Specs
This article provides information about Firefox OS devices including specific hardware specs, codenames, default installed Firefox OS versions, and more.
541 Spice Fire One MI FX1 Firefox OS, Phone, Spice, Tarako devices, consumer
You can find more of the device specifications listed on our Phone and device specs page.
542 Spice Fire One MI FX2 Firefox OS, Landing
You can find more of the device specifications listed on our Features and specs page.
543 Symphony GoFox F15 Firefox OS, GoFox, Phone, Symphony
The Symphony GoFox F15, launched in Bangladesh in partnership with Symphony and Grameenphone (Telenor), is the first commercial end-user device to be launched with Firefox OS 1.4; in addition, this device is the first Firefox OS device to have 3G video calling capabilities available.
544 ZTE OPEN Firefox OS, Gaia, Gecko, Phone, zte
ZTE Open sales have come to an end and are no longer available. See ZTE Open C.
545 ZTE OPEN C Device, Firefox OS, Gaia, Guide, Open C, Phone, Smartphone, zte
The ZTE Open C Firefox OS phone is an enhanced Firefox OS offering from ZTE featuring higher end hardware, including a 3MP camera and 4-inch WVGA screen, and also comes installed with Firefox OS 1.3. This article provides information about it, including updating and troubleshooting details.
546 ZTE Open II Firefox OS, Phone, ZTE Open 2, ZTE Open II, consumer
The device's system image is locked, so you can only update the software when the network operator releases an OTA update. The device system image is based on Firefox OS 1.2.
547 Zen U105 Fire Firefox OS, Phone, Zen, Zen u105, consumer, tarako
You can find more of the device specifications listed on our Phone and device specs page.
548 Debugging on Firefox OS Debugging, Firefox OS, QA, Testing, debugging
There are two main types of debugging you'll want to with Firefox OS: debugging apps, and debugging other aspects of the system.
549 Connecting a Firefox OS device to the desktop ADB, Firefox OS
This guide explains how to connect a Firefox OS device to your desktop over USB.
550 Debugging B2G using Valgrind Debugging, Firefox OS, Mobile, debugging, valgrind
S
551 Debugging B2G using gdb and related tools Debugging, Firefox OS, Mobile, debugging
To restart Firefox OS and run it under gdb control, simply use the run-gdb.sh script:
552 Debugging and security testing with Firefox OS Apps, Debugging, Firefox OS, Security, Testing, debugging
This guide includes the following subsections:
553 Debugging out of memory errors on Firefox OS
When a Firefox OS device runs out of memory, the the low-memory killer and low-memory notifications systems come into play to kill some processes and keep the OS running. When the kernel chooses to kill the foreground process, this manifests as an apparent crash of the app you're using. This article describes how to understand and debug (out of memory) OOM crashes.
554 Developer settings for Firefox OS Debugging, Firefox OS, debugging
Contained in the Firefox OS Settings app is the Developer panel. This panel offers a number of options that can make debugging your open web app on Firefox OS easier.
555 Firefox OS crash reporting Debugging, Firefox OS, QA, Testing, crash, crash reports, debugging
The following instructions assume that you have already followed these three steps:
556 Installing ADB and Fastboot ADB, Debugging, Firefox OS, Installation, Mobile, debugging
You can download and install adb and fastboot as part of the Android SDK package, for Mac, Linux or Windows — visit the Get the Android SDK page.
557 Intercepting Firefox OS traffic using a proxy Apps, Debugging, Firefox OS, Gaia, Security, Testing, debugging
Working with apps that are nothing but HTML and JavaScript, you'll find that a lot of the really interesting work involves using APIs that transfer data over the Web. That means it's often useful to look at the HTTP requests that these apps perform. Proxy tools like Burp and ZAP have useful features for monitoring such traffic. They provide manifests containing information on how clients should configure themselves, including root certificates to install for TLS termination, etc.
558 On-device console logging Debugging, Firefox OS, Guide, Logging, debugging, web console
In addition to being able to log console output and view it using the remote web console, you can log console output into the device's onboard file store, then retrieve the logs later from your computer using the logcat utility and a USB connection. This article covers how to enable this feature, how to perform the logging, and how to retrieve the logs.
559 Setting up to debug Firefox OS using Firefox Developer Tools Debugging, Firefox OS, debugging
You need to be sure you have a build of Firefox 18 or later in order to have remote debugging support. If you don't already have a recent copy of Firefox, download the latest Nightly build to get access to all the latest features.
560 Taking screenshots Debugging, Firefox OS, Screenshots, debugging
Taking screenshots of your application can be useful in many circumstances, for example showing your work to a client, or when publishing your app on the Marketplace. This article explains how to take screenshots on your Firefox OS phone.
561 Testing in a privileged context: Shipping your own Gaia apps Apps, Firefox OS, Security, Testing
This article takes you through how to test privileged apps before they are submitted to a Marketplace.
562 Developing Firefox OS Developing, Firefox OS
This section provides useful documentation covering different ways in which Firefox OS (codename Boot2Gecko, or B2G) can be modified/customized during the build process, and how you can help to develop the low level platform areas such as Gecko and Gonk.
563 Customizing DNS DNS, Firefox OS
This article outlines a procedure to change the DNS servers for all interfaces (wifi, cellular, etc.) on a Firefox OS device.
564 Customizing the b2g.sh script Debugging, Firefox OS, Hacking, debugging
If you just want to set an environment variable for a single run of B2G, then you can do the following:
565 Filing bugs against Firefox OS Bugs, Bugzilla, Firefox OS, QA, filing, test
As with most projects in Mozilla, we use Bugzilla for bug and issue status tracking. You can file bugs to bugzilla when you found bugs — we have a separate product for Firefox OS, which contains components for topics falling under GaiaGonk and Gecko. You should use this component to file bugs against Firefox OS, Gaia, etc.
566 Installing XPCOM Component as Extension on B2G Desktop Firefox OS, Tutorial, XPCOM
Here is how to install a hello world xpcom component as an extension on B2G Desktop, and test it.
567 Modifying the hosts file Firefox OS, hosts
On the phone, go the Developer settings panel and check:
568 Firefox OS apps Apps, Building, Components, Firefox OS, Installing, device APIs
This section of the Firefox OS docs covers the specific techniques required — and available tools — for building Firefox OS apps. You'll find a number of details below, from Firefox OS building blocks/web components, to device APIs and App installation.
569 App development FAQ Apps, FAQ, Firefox OS
An Open Web App basically an HTML website or application, with some more functionality built on top of it. Think of Open Web Apps (OWA) as Web-standards-built applications or "Web runtime" applications. A Web runtime application runs outside a normal browser and can be launched from the desktop (or device equivalent) on any of the popular internet-connected devices. Of course, Web runtime applications can be run inside the browser too if the user prefers.
570 App localization Apps, B2G, Firefox OS, Gaia, L10n.js, Localization, l10n.js
This set of articles provides information for developers wishing to provide localized versions of their apps.
571 App Localization with Transifex Apps, Firefox OS, Localization, transifex
Mozilla's Technical Evangelism team is piloting a program that uses Transifex for managing translation work, both for app developers and localizers. If you visit our team page there, you'll see the Boilerplate app for Firefox OS, along with a collection of other apps from open web app developers who have joined us there.
572 App localization code best practices Apps, Best practices, Firefox OS, Gaia, L10n, Localization, l10n
The best way to write localizable code is to move as much of l10n logic to declarative HTML as possible. You should always try to mark up your HTML Elements with data-l10n-id and data-l10n-args and just set/remove/update those using JavaScript if needed. You also don't need to put the original content in HTML anymore.
573 Developing Bidi Apps Apps, BiDi, CSS, HTML, Localization
This document lists some patterns and best practices to observe when creating BiDi (bidirectional — left-to-right and right-to-left) apps.
574 Getting started with app localization Apps, B2G, Firefox OS, Gaia, Guide, L10n.js, Localization, guide, l10n.js
Currently Firefox OS Gaia uses a modified version of the L10n.js library to localize the default apps that are available in Firefox OS. L10n.js is available in the Gaia source tree. The library relies on a key/value-based properties format.
575 Internationalization helpers: IntlHelper and mozIntl B2G, Firefox OS, Gaia, Internationalization, IntlHelper, JavaScript, Javascript, Localization, intl_helper.js, javascript, mozIntl, moz_intl.js
This article looks at how Firefox OS handles localization of dates, times, numbers and collators from version 2.5 onwards, using the Internationalization API and Gaia's built in helpers, IntlHelper and mozIntl.
576 L10n.js reference Apps, Firefox OS, JavaScript, Javascript, L10n, L10n.js, Localization, Strings, javascript, l10n, l10n.js, l10n_date.js, strings
This article provides a reference for the l10n.js library, and its associated date helper, l10n_date.js.
577 Localizing Open Web Apps Apps, Localization
The purpose of this documentation is to make it as easy and clear as possible to quickly make sure your Open Web Apps are localized and ready to add more languages swiftly. If you want a blueprint app with localization support already implemented, please look at the TranslationTester below.
578 App permissions Apps, Firefox OS, Intermediate, Permissions, Reference, Référence, WebAPI, permissions
The three levels of permission, in brief, are:
579 Building apps for Firefox OS Firefox OS, Installation, Layout, Manifest, distribution, manifest, packaging
Firefox OS apps have a low barrier for entry, especially for existing web developers and mobile developers; they are also a lot more portable across platforms than native equivalents, and not locked into walled gardens. As we've already mentioned Firefox OS apps are based on web technologies — HTML, CSS, and JavaScript — so if you've written a web page you already know the basics. Even if you don't have the basics you'll be able to easily follow this guide, but you may want to check out our list of Beginner's tutorials to learn more about developing with open web technologies.
580 App manifest Apps, B2G, Firefox OS, Manifest, Marketplace, Mobile, Non-Standard, Non-standard, OS, manifest
This section details the critical details you need to create and use an app manifest.
581 Apps CSP Apps, B2G, Firefox OS
If a CSP is specified in the App Manifest, the specified CSP and the default CSP for the app's type will be merged. A specified CSP may not loosen restrictions of the default CSP. The Firefox Marketplace Validator detects violations of the CSP during the app submission process. This can be used to help find problems early in development.
582 Firefox OS app beginners tutorial APIs, Apps, B2G, Debugging, Firefox OS, Guide, Manifest, Marketplace, debugging, manifest
This article provides a beginner's tutorial covering the essentials of Firefox OS apps — including how they are created and how they differ from standard web apps/websites. This is written to make sense to both web developers and native mobile developers.
583 Firefox Accounts on Firefox OS
This article provides an overview of using Firefox Accounts in Firefox OS.
584 Firefox OS Building Blocks Design, Design patterns, Firefox OS, UI, building blocks
The code for the Firefox OS Building Blocks can be found in the Gaia Github repo under shared/style. Here, you can find a CSS file that contains the CSS for that particular Building Block, and a sub directory containing the HTML fragments and image assets. If you are creating your own standalone Web app, you can simply copy the CSS, HTML and image asset files across into your own project; if your app is intended to be installed on Firefox OS only (or you want to use these features only when the app is being used on Firefox OS), then you can link to the versions available inside Gaia.
585 Action menu Action menu, Design, Firefox OS, Gaia, building blocks
Place the most commonly used or important items at the top of the Action Menu. Negative actions such as delete should be placed at or near the bottom of the Action Menu.
586 Action menu 2.0 Implementation 2.0, Action menu, B2G, Firefox OS, Gaia, building blocks, implementation
The following gives you an idea of what the rendered menu would look like (the vertical scroll bar would not appear on the actual device.)
587 Banners Design, Firefox OS, Gaia, banners, building blocks
Status 2.0 implementation
588 Status 2.0 implementation 2.0, B2G, Firefox OS, Gaia, banner, building blocks, implementation, status
The following gives you an idea of what the rendered Banner would look like:
589 Buttons Buttons, Design, Firefox OS, Gaia, building blocks, buttons
No summary!
590 Buttons 2.0 implementation B2G, Buttons, Firefox OS, Gaia, building blocks, buttons, implementation
The following gives you an idea of what the rendered buttons would look like.
591 Buttons 2.3 implementation 2.3, B2G, Buttons, Firefox OS, Gaia, Tutorial, building blocks, buttons, gaia-button, implementation, web component
First of all, make sure you have followed the preliminary setup instructions. Next, cd into the directory containing your web app. You can install the gaia-button component with:
592 Context menu B2G, Context menu, Design, Firefox OS, Gaia, building blocks
The Context Menu contains one or more items. The menu can expand in height to accommodate additional items. If the screen height is exceeded, the action menu becomes vertically scrollable.
593 Object Menu 2.0 implementation 2.0, B2G, Context menu, Firefox OS, Gaia, Object Menu, building blocks, implementation
The following gives you an idea of what the rendered menu would look like (the vertical scroll bar would not appear on the actual device.)
594 Dialog B2G, Design, Dialog, Firefox OS, Gaia, building blocks, confirm
No summary!
595 Confirm 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, confirm, implementation
The following gives you an idea of what a simple confirm dialog would look like on Firefox OS 2.0.
596 Drawer B2G, Design, Drawer, Firefox OS, Gaia, building blocks
Drawers can also be used to access user-generated content such as browser tabs, accounts in an email or messaging client, or multiple calendars. Drawers slide out from the edge of the screen at the user's request (pushing the underlying content aside), then slide back out of the way when no longer needed.
597 Drawer 2.0 implementation 2.0, B2G, Drawer, Firefox OS, Gaia, building blocks, implementation
The following gives you an idea of what the rendered drawer would look like, and how it would operate.
598 Firefox OS 1.x building blocks Apps, B2G, Firefox OS, Firefox OS UX, UX
No summary!
599 Action menu Apps, Firefox OS, Firefox OS UX, UX
An action menu presents a list of actions, related to the app's content, from which the user may make a selection. See the Coding guide for details on how to implement an action menu in your app.
600 Button Apps, Firefox OS, Firefox OS UX, UX
Performs an action when tapped by the user. These are highly flexible user interface objects that have a wide variety of styles. See the Coding guide for information on how to implement buttons that look like those described here.
601 Confirmation Apps, B2G, Firefox OS, Firefox OS UX, UX
A confirmation prompt asks the user to take or confirm an action, such as responding to a system event such as asking the user to restart the device after swapping SIM cards, or to ask the user to grant or deny permission to perform a task. See the Coding guide for information about how to implement these prompts in your app.
602 Filter Apps, B2G, Firefox OS, Firefox OS UX, UX
Filters can be used for two purposes: data filtering, in which the user can view a single set of data in different ways (for example, the Calendar app uses filters to select the time scale to use when viewing data (that is, by day, week, or month); and secondary navigation (presenting a second set of tabs when tabs are already present in your user interface).
603 Header Apps, B2G, Firefox OS, Firefox OS UX, UX
A header labels the active view. In addition, it can contain top-level navigation and inputs for the active view. See the Coding guide for information on implementing headers in your apps.
604 Input area Apps, B2G, Firefox OS, Firefox OS UX, UX
An input area is a data entry field. There are many variations on what an input area can look like; they can be as simple as a text entry field, and as complex as a multi-part entry field with text entry, value selectors, and buttons.
605 List Apps, Firefox OS, Firefox OS UX, NeedsContent, Reference, Référence, UX
Lists are used to display a set of consecutive items, such as a list of contacts or a list of messages.
606 Object menu Apps, Firefox OS, Firefox OS UX, UX
An object menu is a menu that lets the user directly manipulate objects without having to open them and navigate deeper into a view hierarchy.
607 Progress and activity Apps, Firefox OS, Firefox OS UX, Guide, UX, guide
Progress and activity indicators are used to provide visual feedback that a process is active.
608 Scrolling Apps, Firefox OS, Firefox OS UX, Guide, NeedsContent, UX, guide
Scrolling areas are used to let the user move text and/or images across the device's display.
609 Seek bar Apps, Firefox OS, Firefox OS UX, Guide, UX, guide
Seek bars have a draggable thumb the user can touch and drag back and forth to scroll through content (such as to set playback position in a media file) or to set a new value for a given control, such as sound volume or display brightness.
610 Status Apps, B2G, Firefox OS, Firefox OS UX, UX
Relays information to the user in a transitory fashion, typically to confirm a user action or to alert the user to a system event. See the Coding guide for details on how to implement a status bar. Sometimes status bars are referred to as "banners."
611 Switch Apps, B2G, Firefox OS, Firefox OS UX, UX
A switch is any control which presents two mutually exclusive options or states. Switches are also used to select items within lists. See the Coding guide for details on implementing switches in your apps.
612 Tabs Apps, Firefox OS, Firefox OS UX, UX
Tabs are used as a navigational widget that let the user switch among sets of views. This way, a window may contain multiple views. See the Coding guide for details on how to implement tabs in your apps.
613 Toolbar Apps, Firefox OS, Firefox OS UX, UX
Toolbars contain actions, indicators, and navigation elements associated with the current view. These may include things such as buttons to delete the currently selected items, a filter to enter edit mode, or a filter to show only "favorite" contacts. See the Coding guide for details on how to implement toolbars in your apps.
614 Value selector Apps, Firefox OS, Firefox OS UX, UX
Value selectors let the user choose one of a number of possible values, and are typically used from a form interface. For example, value selectors could be used to choose the month or day for a calendar event. These are presented automatically for the values of the <input> element's type attribute.
615 Firefox OS 2.0 Building Block implementation 2.0, Firefox OS, building blocks, implementation
No summary!
616 Firefox OS 2.3 web components B2G, Design, Firefox OS, Landing, UI, Web Components, building blocks, web components
No summary!
617 Header B2G, Design, Firefox OS, Gaia, building blocks, header
This article describes the implementation and possible interactions with the header.
618 Header 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, header, implementation
The following gives you an idea of what rendered headers would look like, and how they would operate.
619 Header 2.3 implementation 2.3, Firefox OS, Gaia, Tutorial, building blocks, gaia-header, header, implementation, web component
Technical review completed.
620 Input area B2G, Design, Firefox OS, Gaia, building blocks, input area
This article describes the implementation and possible interactions with the input-area.
621 Input area 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, implementation, input area
The following gives you an idea of what rendered input areas would look like, and how they would operate.
622 Text input 2.3 implementation 2.3, B2G, Firefox OS, Gaia, Input, Text, Tutorial, Web Components, building blocks, gaia-text-input, gaia-text-input-multiline, gaia-text-input-pin, implementation, web components
First of all, make sure you have followed the preliminary setup instructions. Next, cd into the directory containing your web app. You can install the gaia-text-input component with:
623 Layout B2G, Design, Firefox OS, Gaia, Layout, building blocks
You can find this structure in most apps in Firefox OS: Fixed header and footer with scrollable content. Layout is not a design pattern or building block as such — it is more of a reset, or a base for you to build your apps on top of.
624 Layout 2.1 implementation 2.1, B2G, Firefox OS, Gaia, Guide, Layout, building blocks, guide, implementation
The following gives you an idea of what the rendered layout would look like, and how it would work (the vertical scroll bar would not appear on the actual device.)
625 List items B2G, Design, Firefox OS, Gaia, building blocks, list items, lists
This article describes the implementation of list items.
626 List items 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, implementation, list items
The following gives you an idea of what rendered list items would look like on Firefox OS 2.0.
627 Picker B2G, Design, Firefox OS, Gaia, Picker, building blocks
None as yet.
628 Progress and activity B2G, Design, Firefox OS, Gaia, activity, building blocks, progress
This article describes the use of progress bars and activity toolboxes.
629 Progress and activity 2.0 implementation 2.0, B2G, Firefox OS, Gaia, activity, building blocks, progress
The following gives you an idea of what rendered progress and activity indicators would look like, in different situations.
630 Scrolling B2G, Design, Firefox OS, Gaia, building blocks, scrolling
This article describes the implementation and possible interactions with the scroll bar.
631 Scrolling 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, implementation, scrolling
The following gives you an idea of what the rendered scrolling section would look like.
632 Search B2G, Design, Firefox OS, Gaia, Search, building blocks, search
None as yet.
633 Select mode B2G, Firefox OS, Gaia, building blocks, select mode
Edit mode 2.0 implementation
634 Edit mode 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, edit mode, select mode
The following gives you an idea of what the rendered Edit mode would look like (the vertical scroll bar would not appear on the actual device.)
635 Slider B2G, Design, Firefox OS, Gaia, building blocks, seekbar, slider
This article describes the implementation and possible interactions with the slider.
636 Seekbar 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, implementation, seekbar
The following gives you an idea of what rendered seekbars would look like.
637 Subheader B2G, Design, Firefox OS, Gaia, building blocks, subheader
None as yet.
638 Switches B2G, Design, Firefox OS, Gaia, building blocks, switches
This article describes switches and their various types along with their respective implementation and possible interactions.
639 Checkbox 2.3 implementation 2.3, B2G, Firefox OS, Gaia, Tutorial, Web Components, building blocks, checkbox, gaia-checkbox, implementation, web components
First of all, make sure you have followed the preliminary setup instructions. Next, cd into the directory containing your web app. You can install the gaia-checkbox component with:
640 Switches 2.0 implementation 2.0, B2G, Firefox OS, Gaia, building blocks, implementation, switches
The following gives you an idea of what the rendered switches would look like:
641 Tab/Filter B2G, Design, Firefox OS, Gaia, Tab, building blocks, filter
This article describes filters and their implementation.
642 Tab/Filter 2.0 implementation 2.0, B2G, Firefox OS, Gaia, Tab, building blocks, filter, implementation
The following gives you an idea of what the rendered Tab/Filter would look like on Firefox OS 2.0.
643 Toolbars B2G, Design, Firefox OS, Gaia, Toolbar, building blocks

644 Toolbars 2.0 implementation 2.0, B2G, Firefox OS, Gaia, Toolbars, building blocks, implementation
The following gives you an idea of what the rendered Toolbar would look like.
645 Value selector B2G, Design, Firefox OS, Gaia, Tutorial, Value selector, building blocks
No summary!
646 Value selector 2.0 implementation 2.0, B2G, Firefox OS, Gaia, Value selector, building blocks, implementation
The following gives you an idea of what a rendered Value Selector would look like.
647 Firefox OS app performance Apps, Firefox OS, Performance, performance
This page lists performance-related topics specific to Firefox OS.
648 Apps for low-memory Firefox OS devices Apps, B2G, Firefox OS, Performance, low memory, low-memory, memory, performance, tarako
This guide targets app developers and reviewers who need to determine how well an app will run on a low-end Firefox OS device and which factors will prevent it from doing so. It's assumed that not everyone using this guide will have access to a low-end device.
649 Firefox OS performance testing Apps, B2G, Firefox OS, Performance, performance
This article presents a set of tools and processes for measuring and diagnosing performance issues specifically on Firefox OS.
650 Firefox OS app tools Apps, B2G, Firefox OS, Firefox for Android, L10n, Libraries, Templates, l10n, libraries, resources, templates
This section details available Firefox OS-specific code templates, libraries, snippets, and plugins.
651 Firefox OS copy styleguide Apps, B2G, Design, Firefox OS, Firefox OS UX, UX, Writing, copy
No summary!
652 Firefox OS design asset library Apps, B2G, Firefox OS, Firefox OS UX, UX
No summary!
653 Firefox OS device APIs API, Apps, B2G, Firefox OS, Reference, Référence
There are a number of emerging Web platform standards and device APIs crucial to Firefox OS app development and to Open Web Apps. This article provides a list of pages covering those APIs, as well as the app manifest permissions for each one.
654 Firefox OS icon font B2G, Design, Firefox OS, Gaia, Icons, Tutorial, icon font
The Firefox OS Icon font can be downloaded from the Gaia icons store on Github, or you could use bower to install it:
655 Firefox OS in Arabic B2G, Design patterns, Firefox OS, Gaia, bidirectional, building blocks
Arabic is one of several languages with a bidirectional writing system (in this case, the Arabic script), which means it contains elements that read both right-to-left (RTL) and left-to-right (LTR). Arabic deserves a specific set of guidelines for how Firefox OS should look and behave when users set their device language to Arabic, because bidirectional writing systems affect:
656 Action and Context Menus Firefox OS, Guide, Internationalization, guide
Headers will read right to left and are right-aligned (E). Action menu items have right-aligned text reading right to left. Icons are also right-aligned (F).
657 Home Screen Firefox OS, Guide, Internationalization, guide
Hint text will read right to left and is right-aligned. If cursor is inserted, it will appear at right (D).
658 Lock Screen Firefox OS, Guide, Internationalization, guide
Numbers generally still run left to right (A). Military (24 hour) format is favored.
659 Firefox OS transitions Animations, B2G, Firefox OS, Gaia, Landing, Transitions, animations, transitions
No summary!
660 App invoking another app Animations, App invokes app, Firefox OS, Gaia, Transitions, Tutorial, animations, transitions
661 In-app navigation Animations, Example, Firefox OS, Gaia, In-app navigation, Transitions, animations, transitions
662 Invoking the keyboard Animations, Firefox OS, Gaia, Guide, Transitions, animations, guide, keyboard, transitions
663 Opening and closing apps Animations, Firefox OS, Gaia, Guide, Transitions, animations, closing, guide, opening, transitions
664 Opening and dismissing prompts Animations, Firefox OS, Gaia, Guide, Transitions, animations, guide, prompts, transitions
665 Starting and finishing calls Animations, Firefox OS, Gaia, Guide, Transitions, animations, calls, guide, transitions
Starting a call:
666 Switching tasks Animations, Firefox OS, Gaia, Guide, Transitions, animations, guide, task switching, transitions
667 Porting Chrome Apps to Firefox OS Apps Apps, Chrome, Firefox OS, Guide, Manifest, manifest, porting
This article reviews the difference between Firefox OS appsChrome apps and provides examples for porting your Chrome app to an Open Web App.
668 Reference apps
We have put together a number of sample apps for you to download, install, play with and learn from. Have fun!
669 Chrono Apps, Offline, Reference, Référence, appcache, offline
Chrono is a simple chronometer with a lap counter, built to highlight various aspects of the open web app development process.
670 Face Value Apps, appcache, localStorage
Face Value is a currency conversion app that does things differently: instead of converting arbitrary amounts it shows you the actual denominations in the country you're visiting.
671 General Notes Apps, IndexedDB, Offline, indexeddb, offline
General Notes is a simple note app that allows you to sync local and remote content.
672 Podcasts
No summary!
673 Roller App, app
No summary!
674 Webfighter Apps, Canvas, Payments, canvas, fullscreen
No summary!
675 rtcamera Apps, Blob, IndexedDB, URL, Web Workers, WebGL, WebRTC, XMLHttpRequest, getusermedia, indexeddb, url, x-tags
No summary!
676 Screencast series: App Basics for Firefox OS API, Apps, Firefox OS, Marketplace, Videos
Firefox OS is an operating system that brings the Web to mobile devices. Instead of being a new OS with new technologies and development environments it builds on standardised web technologies that have been in use for years now. If you are a web developer and you want to build a mobile app, Firefox OS gives you the tools to do so, without having to change your workflow or learn a totally new development environment. In this collection of short videos, developers from Mozilla and Telenor met in Oslo, Norway to explain in a few steps how you can get started to build applications for Firefox OS.
677 Firefox OS developer release notes Firefox OS, Release Notes
This section provides articles covering each new release of Gaia and Gecko for Firefox OS, explaining what features were added and bugs eliminated in each update. There is also a linked summary table showing what APIs are supported by each version of Firefox OS.
678 Firefox OS 1.0.1 for developers Firefox OS, Release Notes
Firefox OS 1.0.1 was first offered to partners for release on July 2, 2013, and was the first official release of Firefox OS. Its Gecko component is based on Firefox 18 (see Firefox 18 for developers), released on January 18, 2013. For older updates, have a read of the older Firefox desktop release notes, starting with Firefox 17 for developers. This page details the developer features newly implemented in Firefox OS 1.0.1.
679 Firefox OS 1.1 for developers Firefox OS, Release Notes
Firefox OS 1.1 is a pre-release version of Firefox OS, first offered to partners for release on October 21, 2013. Its Gecko component is based on Firefox 18 (see Firefox 18 for developers) just like Firefox OS 1.0.1, but with some additional bugfixes and APIs added. This page details the developer features newly implemented in Firefox OS 1.1.
680 Firefox OS 1.2 for developers Firefox OS, Release Notes
Firefox OS 1.2 is at a pre-release stage right now. Its Gecko component is based on Firefox 26 (encompassing all Gecko additions between Firefox 19 and Firefox 26; see Firefox 26 release notes for developers for the latest.) This page details the developer features newly implemented in Firefox OS 1.2.
681 Firefox OS 1.3 for developers Firefox OS, Release Notes
Gecko component of Firefox OS 1.3 is based on Firefox 28 (see Firefox 28 release notes for developers.) This page details the developer features newly implemented in Firefox OS 1.3.
682 Firefox OS 1.4 for developers Firefox OS, Release Notes
Firefox OS 1.4 is at a pre-release stage right now. Its Gecko component is based on Firefox 30 (see Firefox 30 release notes for developers.) This page details the developer features newly implemented in Firefox OS 1.4.
683 Firefox OS 2.0 for developers 2.0, Firefox OS, Release Notes
This section provides a summary of the new features available in Firefox OS 2.0. For more details on specific platform changes (API additions, etc.), see the Platform additions in detail section.
684 Firefox OS 2.1 for developers 2.1, Firefox OS, Release Notes
This section lists various categories of new product features and improvements to existing features.
685 Firefox OS 2.2 for developers 2.2, Firefox OS, Release Notes
This section lists various categories of new product features and improvements to existing features.
686 Firefox OS 2.5 for developers 2.5, Firefox OS, Release Notes
This section lists various categories of new product features and improvements to existing features.
687 Introduction to Firefox OS Community, Firefox OS, Gaia, Introduction
This set of documentation is aimed mainly at web developers and platform developers who want to learn how Firefox OS works, how to contribute to the project, and how to build their own custom versions of the software and install it on devices. For those who want to create and distribute their own web apps, the App Center and Marketplace Zone are good places to go.
688 Open web apps quickstart Apps, Quickstart
Quickstart information on coding Open Web Apps.
689 App development for Web developers Apps, páginas_a_traducir
The minimum requirements are few:
690 App development for mobile developers Apps, Mobile
For mobile application developers, the open web apps project offers these advantages:
691 App tools Apps, Firefox OS, Guide
Is your app ready for the Firefox Marketplace? The App validator will check your manifest and show you any errors it may have, or warnings you should consider.
692 Developing app functionality Apps, Guide, Howto
We have already looked at developing web apps — in Your first app we reviewed the basic code steps required to make an app installable, talked about different open web app types, and said a few words about Web APIs and permissions required to use certain device APIs. Read it first if you've not already done so. In this article we talk about the types of functionality you might want to implement in a bit more detail.
693 Intro to Firefox OS Apps, Firefox OS, Gecko, Quickstart, Video, video
Firefox OS (also referred to by its codename "Boot to Gecko" or "B2G") is Mozilla's open source mobile operating system, based a Linux kernel, which boots into a Gecko-based runtime engine that lets users run applications developed entirely using HTML, CSS, JavaScript, and open web application APIs. Firefox OS is a mobile operating system that's free from proprietary technology while still a powerful platform that provides application developers an opportunity to create excellent products. In addition, it's flexible and capable enough to make the end user happy.
694 Intro to Open Web Apps Apps, Open Web Apps
Multi devices
695 Intro to manifests
App manifest
696 Your first app Apps, Beginner, Guide, beginner
This guide aims to get you up and running quickly with a basic architecture and build instructions so that you can create the next great app!
697 The B2G OS platform Firefox OS, Landing
The B2G OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on B2G OS, if you're working on developing or porting the platform — or are simply curious — the following documentation may be of interest to you.
698 B2G OS architecture Architecture, Firefox OS, Guide, IPC, IPDL
This article is a high-level overview of the architecture of the B2G OS platform, introducing key concepts and explaining how its components interact at a basic level.
699 Feature support chart QA, Testing
There are several different builds of Firefox OS you can download or build for yourself, and there are some differences between the types of features available on each device. The chart below should help you understand what works and what doesn't on the various builds.
700 Firefox OS apps architecture Apps, Firefox OS, Guide
When the user selects an app they'd like to launch, or an app otherwise needs to be launched, the home screen app starts by getting an app reference from the App API, then calling the App.launch() method to launch the app.
701 Firefox OS settings list API, Firefox OS, Reference, Référence, Settings, WebAPI
Firefox OS offers a number of settings that configure the device and its built-in features. These settings can be accessed by certified apps using the Settings API.
702 Gaia Firefox OS, Gaia, Landing, Mobile
Gaia is the user interface level of B2G OS. Everything that appears on the screen after B2G OS starts up is drawn by Gaia, including the lock screen, home screen, dialer, and other applications. Gaia is written entirely in HTML, CSS, and JavaScript. Its only interface to the underlying operating system and hardware is through standard Web APIs, which are implemented by Gecko.
703 Gaia apps Apps, Architecture, Firefox OS, Gaia
Gaia is the front-end of Firefox OS, which contains system administration functionality and the built-in suite of apps shipped with Firefox OS devices. All the Gaia source code — even the system, and keyboard IMEs — is fully implemented with HTML5 (HTML + CSS + JavaScript) & Open WebAPIs. This set of documents contains information on how each of the default apps available in the Gaia family works.
704 Browser Apps, B2G, Browser, Firefox OS, Gaia, Guide
The Browser app (which is now part of System) provides browser-like functionality where it is needed — including page navigation, search, and bookmarks. This article explains how the Browser app's basic functionality works, and how it fits into the larger system.
705 Gaia Video app Apps, Gaia, Video, video
The Video app is a simple video player that allows you to play any videos stored on your Firefox OS device's storage media.
706 Settings Apps, B2G, Firefox OS, Gaia, JavaScript, Settings
The Settings app allows users to configure device settings and also responds to incoming activities that allow app developers to display specific settings views from apps (e.g. show the wifi settings panel if no data connection is available). This article explains how it works.
707 System Apps, B2G, FTU, Firefox OS, Gaia, JavaScript, UI, lock screen, system
The System app is the first web app loaded by Gecko during the Firefox OS bootup procedure, and it handles numerous responsibilities that are required generally for the running of the system, and are therefore not scoped per individual web app. This article explains in detail how System works.
708 Window Management Apps, B2G, Firefox OS, Window Management, system
In general, a window manager is the part of an application that controls the placement and appearance of windows in a graphical user interface. This article looks at how Firefox OS handles Window Management.
709 Introduction to Gaia Apps, B2G, Gaia, Settings
The lock screen shows the network carrier, current time and date, and a slidebar allowing the user to unlock the phone or go straight to the camera to take a picture. If the user has got a passcode lock set, the lock screen will also show a passcode entry interface.
710 LockScreen Architecture (v1.5+)
The current LockScreen in Gaia is a monolithic component, which is even the second large file in the System app according to its LOC. This make it hard to reasonably add/modify/remove functions and even change styles.
711 Gonk Firefox OS, Gecko, Gonk, Linux, Mobile, Mozilla, NeedsContent, porting
Gonk is the kernel-level component in the B2G OS stack that serves as the interface between Gecko and the underlying hardware. Gonk controls the underlying hardware and exposes hardware capabilities to Web APIs implemented in Gecko. Gonk can be seen as the “black box” that does all the complex, detailed work behind the scenes to control the mobile device by enacting requests at the hardware level.
712 Keyboard events across browser elements B2G, Events, Firefox OS, TV, events, keyboard, mozbrowser, mozbrowserafterkeydown, mozbrowserafterkeyup, mozbrowserbeforekeydown, mozbrowserbeforekeyup
This post will introduce the challenges of programming a TV remote to manage keyboard events on the Firefox OS Smart TV platform.
713 Out of memory management on Firefox OS Firefox OS, Gaia, LMK, OOM, Out of memory, low memory killer, low memory notifications, oom_adj
Firefox OS runs on some severely memory-constrained devices, and it's easy for apps to exhaust the memory available on such systems.  When a process exhausts the memory available on the system, the kernel must kill some other processes in order to free up memory. This article describes how the low memory killer and low memory notifications work — the two systems on the device that control what processes are killed to keep the main system running when it has run out of memory.
714 Using the B2G emulators Firefox OS
This article provides a brief guide to some key things you should know when using the boot to Gecko emulators. This doesn't appear to be a complete user manual; instead, it simply tells you a few useful things that you might not learn on your own.
715 Gecko Compatibility Handbook Cross-browser_Development, Gecko, Web Development
** Notes ** - The Solution Quick Reference needs more attention. - I'm also looking for a way to organize all that information. - Some inline examples were removed because of technical limitations. They are actually replaced by ''-(EXAMPLE REMOVED)-'' The goal of this handbook is to help you update websites to work with standards-based browsers and properly detect Gecko.
716 Getting the page URL in NPAPI plugin Add-ons, NPAPI, Plugins, add-ons
Sometimes, you want to restrict an NPAPI plugin to be loadable only from a certain URL or domain or scheme. Or whenever you make network requests yourself, you almost always need to enforce same-origin policy.
717 Index
Found 1036 pages:
718 Inner-browsing extending the browser navigation paradigm
This article is the version from 2003 with slight modifications (no images and no links to samples). It's here for reference.
719 Install.js Add-ons, Extensions, XPInstall_API_reference, add-ons
See also this article from XulPlanet's Main Tutorial.
720 JXON AJAX, DOM, Document, JSON, JXON, Object, Object-Oriented, XML, XMLHttpRequest, XPath
JXON (lossless JavaScript XML Object Notation) is a generic name by which is defined the representation of JavaScript Objects using XML. There are no real standards for this conversion, but some conventions begin to appear on the web. There are some cases in which the whole content of an XML document must be read from the JavaScript interpreter (like for web-apps languages or settings XML documents, for example). In these cases JXON could represent the most practical way.
721 List of Former Mozilla-Based Applications
The following is a list of all known applications that at one point used Mozilla technologies or that are no longer being actively maintained.
722 List of Mozilla-Based Applications Apps
The following is a list of all known active applications that are built using Mozilla technologies. This list is likely to be incomplete since we think there are many dark matter projects that we don't know about. If you have information about a new project or extra information about an existing project, please feel free to update this page.
723 MDN "meta-documentation" archive Archive, MDN
Here you'll find archived "meta-documentation"; that is, documentation about how to write documentation on MDN. The articles here are obsolete and should no longer be referenced; we are retaining them here for reference while we migrate some content to new places, but very little of this is useful.
724 Article page layout guide MDN
An article is any page that explains or teaches something. These are non-reference pages which are also not landing pages. In general, if a page is primarily prose and/or sample code, it's an article.
725 Blog posts to integrate into documentation
Often, Mozilla developers and community members write blog posts. And often, those blog posts are really, really awesome. And, often, those blog posts include information that really ought to be included on MDN. Sometimes, it's the entire blog post that could be adapted into a tutorial on MDN (but please check with the author first, unless they're known to have given blanket permission!), and other times, there are just details about changes to Firefox or web technologies that we need to be sure are reflected in the right places in the docs.
726 Current events
No summary!
727 Custom CSS classes for MDN MDN, Reference, Référence
The following are the custom CSS classes that we have defined for the Devmo wiki. If, for whatever reason, you need a custom class defined in the CSS for this wiki, feel free to contact the documentation team lead.
728 CSS Quick Learn CSS
helps to quickly learn CSS for the development of webpages and become a better web designer.
729 Design Document MDC Project archives
No summary!
730 Contribution and Maintenance
No summary!
731 Footer
No summary!
732 MDC Community Index Page
No summary!
733 MDC Content Page
No summary!
734 MDC Content Page (for printing)
No summary!
735 MDC Home Page
No summary!
736 MDC News Index Page
No summary!
737 MDC Reference Index Page
No summary!
738 MDC Reference Library Page
No summary!
739 MDC Topic Page
No summary!
740 MDC WebWatch Index Page
No summary!
741 Navigation Bar
No summary!
742 Page Tools
No summary!
743 Returning User
No summary!
744 Search Box
No summary!
745 Searching for Information
No summary!
746 Side Bar
The side bar provides local navigation options to help readers find related resources. Most pages use the standard side bar, but some pages (see the types of pages) will customize the content. In all cases, the look & feel of the sidebar should be the same.
747 DevEdge
This is a temporary Index of the content that has been migrated from DevEdge to this wiki. The original list and mirror are linked below.
748 Developer documentation process Documentation
In order to improve the quality of our documentation, and our ability to coordinate among the various members of the Mozilla documentation community, we have a process by which documentation is maintained. This article describes how this works and offers useful links to help you ensure that the work you do is as helpful and useful as possible to the community of Web and Mozilla developers.
749 Disambiguation Disambiguation
Disambiguation in the MDC wiki is the process of resolving ambiguity, referring to the conflicts that occur when articles about two or more different topics have the same "natural" title.
750 Documentation Wishlist
Is there a specific article or piece of documentation we're missing that you really wish we had? Add it to the list below. Unless you're sure there is no documentation on the topic you're interested in, please ask in the relevant newsgroup and/or on the MDC mailing list first. Also, please make your request easy to understand; add a link to a longer description of the request if needed.
751 Documentation planning and tracking Documentation, MDN
We are in the process of trying to use scrumbugs to track documentation from the point at which the bug is filed through prioritization, assignment to a writer, and eventual completion. This page will cover some details of how we use it.
752 Editing MDN pages
This page describes some common tasks when editing MDN pages.
753 Examples
No summary!
754 Alternate License Block
No summary!
755 Original Document Information
No summary!
756 Existing Content/DOM in Mozilla
< MDC:Existing Content
757 External Redirects
The MDC wikis have the ability to redirect to external websites. We have done this so we can have links to external pages within the wiki that will be included in the wiki category pages.
758 Finding the right place to document bugs
Bugzilla is big. Really really big. MDN is big too. This page helps to put two big things together. It:
759 Getting started as a new MDN contributor Getting Started, MDN
The Mozilla Developer Network (MDN) is a wiki, where anyone can add and edit content. You don't need to be a programmer or an expert on the latest technology. There is a wide range of tasks that need to be done, ranging from the simple, such as proofreading and correcting typos, to the more complex, like writing API documentation.
760 Landing page layout guide MDN
A landing page serves as a menu, of sorts, for all of its subpages. It opens with a brief summary of the topic, then presents a structured list of links to subpages, and, optionally, additional material that may be of use.
761 MDN content on WebPlatform.org MDN, Meta
Web Platform Docs (WPD) is a site for documentation and education about Web standards, run by W3C and supported by Mozilla, among others. Anyone is welcome to contribute content from MDN to WebPlatform.org, under the terms of MDN's Creative Commons Share-Alike 2.5 (CC-BY-SA) license. Content that originates from MDN must be attributed to MDN, with a link to the source article. The Web Platform Docs site provides support for doing this in a systematic way.
762 MDN page layout guide
These guides supplement the MDN style guide with specific layouts for the various types of pages on MDN. This helps contributors create new content that's structurally consistent with the rest of MDN.
763 MDN subproject list Documentation, MDN
In order to turn the work of building documentation of All Things Open Web (not to mention All Things Mozilla) into something less daunting, sometimes it's helpful to split it up into subprojects. This page offers a list of links to MDN subproject organizational content.
764 MWC 2013 Documentation, MDN, MWC
With Firefox OS scheduled to have a major presence at Mobile World Congress 2013, it's important that we have a fairly thorough suite of documentation for its various key components. This page will help us track what those components are, who's working on them, and what their statuses are.
765 Needs Redirect
If you have
766 Page types
Before working on the MDN style guide (and the redesign that goes hand-in-hand with it), we need to figure out what types of pages we have, then what those pages look like. This is a list of the types of pages and key attributes of those pages.
767 API info boxes MDN
Main API pages (also known as "technology" pages) are used to provide an overview of a given class, interface, object, or CSS property. Each of these types of technology has specific key points that need to be summarized and displayed. Near the top of the page is an area reserved for a box containing this summary. This page shows what each of those should, roughly, look like.
768 Breadcrumb bar MDN
In the heading area of every page on MDN is a breadcrumb bar showing the hierarchy of content between the site's root and the user's current location. This page discusses that bar and its features.
769 Edit the Article MDN
The summary is a brief paragraph or two explaining the technology; this comes before the first section heading in the article.
770 Landing page MDN
The first part of the page is a brief summary of what the landing page's content is about. Typically this is just a paragraph or two explaining the API or technology being covered. This text is used as the Google summary for SEO purposes (although you can use the CSS class "seoSummary" to specifically choose parts of it to be used if you want to really make sure the best possible text is used).
771 Main API page MDN
The page begins with a summary explaining the interface, object, class, or CSS property being described. This should be a paragraph or two at most, and is used as the SEO summary (which can be overridden using the "seoSummary" CSS class.
772 Reference page MDN
The page begins with a summary explaining the interface, object, class, or CSS property being described. This should be a paragraph or two at most, and is used as the SEO summary (which can be overridden using the "seoSummary" CSS class.
773 TOC page MDN
The page begins with a brief summary of the document suite for which this is an index or table of contents.
774 RecRoom documentation plan
RecRoom is the codename of a new MDN area that will provide resources for beginning Web app developers, as well as overall best practices guides for app development.
775 Remove in-content iframes
Each of the documents listed below has at least one in-place use of the <iframe> element within it. In order to improve performance and allow us to more easily revise and correct layout in the future, we need to quickly update all of these pages to use macros instead.  This is somewhat urgent, as there is work that needs to be done by our development team that cannot begin until all of these are fixed. That's where you come in!
776 Team status board Documentation, MDN
This table is a list of MDN contributors and what they're currently working on. Feel free to add yourself and what you're up to to this list, but keep in mind that we will purge out-of-date entries regularly, so if you choose to add yourself, do your best to keep your information current (even if all you do is update the "last updated" so we know you're keeping it current, despite your work taking a long time to finish).
777 Trello Guide, MDN Meta, MDN meta, Processes
The MDN community uses a Trello board to organize and keep track of the things that need to be done to improve, update, and add to our content. This guide will help you learn what Trello is and how we use it.
778 Using the Mozilla Developer Center Obsolete
Welcome to the Mozilla Developer Center! Here you'll find documentation for not only working on the code and other components of the Mozilla project, but also for developing add-ons for Mozilla-based software, creating new software based on Mozilla code, and web development for the open Web.
779 Welcome to the Mozilla Developer Network MDN
The Mozilla Developer Network is the most comprehensive and accurate resource for Web development, as written by you, the developers.
780 Writing chrome code documentation plan Doc Plan, Documentation, MDN
We need a good guide to writing chrome JavaScript code. This plan proposes a project to produce that documentation.
781 Writing content MDN
There are always things that can be added or updated on MDN. Whether it's all-new documentation for a sparkling new API or a revision to an older API that's changed subtly, you'll find lots of opportunities to help.
782 MMgc Tamarin
MMgc is the Tamarin (née Macromedia) garbage collector, a memory management library that has been built as part of the AVM2/Tamarin effort. It is a static library that is linked into the Flash Player but kept separate, and can be incorporated into other programs.
783 Makefile - .mk files
No summary!
784 Marketplace
Technical review completed. Editorial review completed.
785 API Archive, Marketplace
Marketplace-related APIs that have been removed, therefore the information covering them has been archived.
786 App Installation and Management APIs Apps, Apps API, páginas_a_traducir
The Open Web Apps JavaScript API is a programmatic interface for installing Web apps and for managing a client-side collection of Web apps that a user has installed. This collection is called the application repository.
787 Error object Apps, Apps API
In the Open Web apps JavaScript API, a DOMError object is returned by a function when an error occurs.
788 navigator.mozApps.amInstalled Apps, Apps API
Provides a means for an app to check whether it is installed. This function is typically called from an origin that hosts an app.
789 navigator.mozApps.getInstalledBy Apps, Apps API
Returns, through the callback function, the apps that were installed by the calling domain. This allows an app directory or store to determine which app it has installed on behalf of the current user.
790 navigator.mozApps.mgmt.clearWatch Apps, Apps API, NeedsExample
Removes a watch callback function. After this function is called, the specified watch callback is no longer called.
791 navigator.mozApps.mgmt.list Apps, Apps API
Lists all installed apps in the user's repository.
792 navigator.mozApps.mgmt.uninstall Apps, Apps API, NeedsExample
Uninstalls an app from the user's repository.
793 navigator.mozApps.mgmt.watchUpdates Apps, Apps API
Sets up a callback function to be called whenever an app is installed or removed from the repository.
794 DOMApplicationsManager API, Apps, Apps API, DOMApplicationsManager, DomApplicationsManager, Firefox OS, Interface
Provides support for managing and installing Open Web apps in a browser. A manager can be accessed via Navigator.mozApps.mgmt
795 DOMApplicationsManager.getAll() API, Apps, Apps API, B2G, DOMApplicationsManager, DomApplicationsManager, Firefox OS, Method, Non-standard, Reference, Référence, getAll
The getAll() method of the DOMApplicationsManager interface lists all installed apps in the user's repository.
796 DOMApplicationsManager.onenabledstatechange API, B2G, DOMApplicationsManager, DomApplicationsManager, Events, Firefox OS, Non-standard, Property, Reference, events, onenabledstatechange
The onenabledstatechange property of the DOMApplicationsManager interface defines an event handler for the statechange event; this is received when an app is enabled or disabled using DOMApplicationsManager.setEnabled().
797 DOMApplicationsManager.setEnabled() API, B2G, DOMApplicationsManager, DomApplicationsManager, Firefox OS, Method, Non-standard, Reference, setEnabled
The setEnabled() method of the DOMApplicationsManager interface sets an application to be enabled or disabled.
798 DOMApplicationsRegistry API, Apps, Apps API, B2G, Firefox OS, Non-standard, Reference, Réference, Référence
Provides support for installing, managing, and controlling Open Web apps in a browser for installation on Firefox OS. Currently implemented as navigator.mozApps.
799 DOMApplicationsRegistry.checkInstalled() API, Apps, Apps API, Method
Gets information about the given app. This can be used to determine if the app is installed.
800 DOMApplicationsRegistry.getInstalled() API, Apps, Apps API, Method
Get a list of all installed apps from this origin. For example, if you call this on the Firefox Marketplace, you will get the list of apps installed by the Firefox Marketplace.
801 DOMApplicationsRegistry.getSelf() API, Apps, Apps API, Method
Returns information about the calling app, if any. You can use this to determine if an app is installed (i.e. if it is running in the browser, or in a separate app context.)
802 DOMApplicationsRegistry.install() API, Apps, Apps API, Method
Triggers the installation of an app. During the installation process, the app is validated and the user is prompted to approve the installation.
803 DOMApplicationsRegistry.installPackage API, Apps, DOMApplicationsRegistry, Firefox OS, Method, NeedsContent
Installs a packaged app.
804 DOMApplicationsRegistry.mgmt API, Apps API, Property, Read-only, Reference, Référence
The DOMApplicationsRegistry.mgmt read-only is an object implementing the DOMApplicationsManager interface that exposes functions that let dashboards manage and launch apps on a user's behalf.
805 Navigator_(Marketplace) Archive, Marketplace
Marketplace-specific navigator extensions that have now been deprecated/obsoleted.
806 Navigator.mozPay() API, Apps, Firefox OS, Method, Non Standard, Web Payment
The mozPay function is used to perform payments. It enables an app to use in-app payments.
807 Monetization Apps, Marketplace
Monetization topics that have now been archived due to relevant functionality being removed from the Firefox Marketplace.
808 App pricing tiers Apps, Firefox OS, Marketplace, Web Payment
Pricing on the Firefox Marketplace can be tricky because pricing varies in across regions. This page tells you what you need to know about app pricing in terms of setting prices, revenue split, taxes, payment methods, receiving payments, fraud prevention, and more.
809 App payout - Brazil Apps, Web Payment
No summary!
810 App payout - Colombia Apps, Web Payments
No summary!
811 App payout - Germany Apps, Web Payments
No summary!
812 App payout - Hungary Apps, Web Payments
No summary!
813 App payout - Mexico Apps, Web Payments
No summary!
814 App payout - Poland Apps, Web Payment
No summary!
815 App payout - Spain Apps, Web Payment
No summary!
816 App payout - United Kingdom Apps, Web Payments
App pricing
817 App payout - United States Apps, Web Payments
No summary!
818 App payout - Venezuela Apps, Web Payment
No summary!
819 Building a Paid app Monetization, Web Payment
There are two kinds of payments made by app users in Firefox Marketplace apps: a payment made to purchase an app (a paid app) and a payment made to buy digital goods after the app is installed (an in-app payment). This page covers the code and workflow required to create paid apps.
820 In-app Payments Structure
In-app payments information.
821 In-app Payments with fxPay Apps, Firefox OS, Guide, JavaScript, Marketplace, Payments, Validation, fxpay, iap, in-app payments, paid
fxPay is a JavaScript library for web applications to process in-app payments and restore purchased products from receipts.
822 In-app payments with mozPay Apps, Firefox OS, In-app, Marketplace, Web Payment
This article explains how to use the navigator.mozPay API and Web Payment Provider services to process in-app payments.
823 Introduction — In-app Payments Apps, Beginner, Firefox OS, Intro, Marketplace, beginner
This section describes the options you have for handling In-app Payments (IAP) within your apps and provides the technical information you need to deploy either of the options. You've two options: fxPay and mozPay.
824 Introduction — Monetization Apps, Beginner, Firefox OS, Intro, Marketplace, beginner
No summary!
825 Payment processing and your revenue Beginner, Firefox OS, Marketplace, Tutorial, beginner
Mozilla has worked with partners to create a system that is easy for both you and end users to navigate. Mozilla connects you with Bango and Boku to offer credit cards to a global audience and the convenience of direct carrier billing in a growing number of markets. Mozilla currently supports 14 local currencies through credit cards and has Direct Carrier Billing in 6 countries. The countries that aren't supported by local currency billing have credit card billing in USD available.
826 Publishing your app for profit Apps, Firefox OS, Marketplace, Monetization, Payments
To offer a premium (paid) app you need to set it so it's installed from Firefox Marketplace. Then include code to verify a receipt issued by Marketplace, to make sure the app has been paid for before allowing it to run. For more information, see the App payments guide.
827 Refunds
Where the user has purchase your app they may request a refund, refunds may be authorized by Mozilla, the payment processor, or the mobile network operator. These refunds will be authorized according to our refund policy in compliance with local consumer laws, the mobile operator's refund policy, and credit card refund policies.
828 Validating a receipt Apps, Firefox OS, Marketplace, Receipts, Web Payment
If you have a paid app, you should check that a user has a valid receipt. If you do not check, someone can buy the app, get an immediate refund, and then have the app for free. Or someone can simply install the app by referencing the manifest file directly from your site. This article goes through the code and workflow needed to build in your own receipt validation.
829 Options Archive, Marketplace
Publishing options that are no longer available, hence the information being archived.
830 Creating your own store Advanced, Apps, Firefox OS, Guide, Marketplace
The method of installing and managing apps in Firefox OS, Firefox for Android, and Firefox for Desktop is independent of Firefox Marketplace. This opens up the possibility for you to not only self-publish apps, but also to create and host your own marketplace. Ultimately you could also implement an independent marketplace using the open source software. This page describes your options and provides an overview to implementing each.
831 Open Web Apps for Android Beginner, Firefox, Firefox OS, Guide, Marketplace, beginner
Open Web Apps for Android enables free Marketplace apps to be packaged into an APK (Android installation package), which is then installed and run in the same way as any other Android app. The APK package consists of web content (in the case of packaged apps) or a pointer to web content (in the case of hosted apps). This content is then enclosed in a thin Java/Android wrapper, which provides the integration with the Android OS. Once installed on an Android device the app is executed by Web Runtime for Android, a component of Firefox for Android.
832 Open Web Apps for Desktop Apps, Beginner, Firefox OS, Guide, Marketplace, beginner
Open Web Apps for Desktop enables free Marketplace apps to be installed by Firefox Desktop into a user's Windows, Mac, or Linux computer.  Once installed on a desktop computer, these apps run similarly to any other desktop app. These apps are executed using Web Runtime for Desktop, a component of Firefox for Desktop.
833 Publishing Archive, Marketplace
Publishing details that are no longer available, hence the information being archived.
834 Pricing
Marketplace pricing information that is now obsolete, since this functionality has been removed from the Firefox Marketplace.
835 Bango Apps, Beginner, Firefox OS, Guide, Marketplace, beginner
Bango is the payment provider for credit card and operator payment transactions on Firefox Marketplace. To receive payments for app and in-app purchases processed by Bango you'll need to create at least one Bango payment account. This page provides a guide to the account creation process.
836 Boku Apps, Beginner, Firefox OS, Guide, Marketplace, beginner
If you're unclear about any of the following instructions, please refer to the Step by step guide.
837 In-app products Apps, Beginner, Firefox OS, Guide, Marketplace, beginner
This page describes how to create in-app products within Firefox Marketplace for use with fxPay.
838 Introduction — Pricing your app Apps, Beginner, Firefox OS, Intro, Marketplace, beginner
This section provides a guide to setting up your paid Open Web Apps and their in-app products on Firefox Marketplace, as well as providing useful additional information.
839 Payment Accounts Apps, Beginner, Firefox OS, Marketplace, Payments, beginner
This page explain why Firefox Marketplace uses multiple payment providers, describes where setup is done in the submission process and provides links to details on setting up accounts with each payment provider.
840 Promote as upgrade to free version Apps, Beginner, Firefox OS, Guide, Marketplace, beginner
As part of your app's Compatibility and Payments options, it's possible to identify a paid app as a premium upgrade to a free one, which is then promoted in Firefox Marketplace. This option enables you to offer users the ability to try a restricted version of the app before buying the full version, offer a free version with ads and a paid one without, or similar combinations. This page explains how to use the setting and how the upgrade information is presented in Firefox Marketplace.
841 Publishing an existing mobile app to Desktop Apps, Desktop, Marketplace, publishing
842 Mozilla release FAQ Developing Mozilla, NeedsHelp, NeedsUpdate, Outdated_articles
This document may be distributed and modified freely. No guarantee of factuality in this FAQ is made, and it is maintained by Pat Gunn, who is not affiliated with Netscape. Various other people have contributed to this FAQ.
843 Newsgroup summaries
No summary!
844 Format
No summary!
845 Mozilla.dev.apps.firefox-2006-09-29
None this week.
846 Mozilla.dev.apps.firefox-2006-10-06
None this week.
847 mozilla-dev-accessibility
No summary!
848 2006-10-06
No summary!
849 2006-11-10
No summary!
850 2006-11-22
No summary!
851 mozilla-dev-apps-calendar
No summary!
852 2006-09-29
No summary!
853 2006-10-06
No summary!
854 mozilla-dev-apps-firefox
No summary!
855 2006-09-29
None this week.
856 2006-10-06
None this week.
857 2006-10-13
No summary!
858 2006-10-20
None this week.
859 2006-10-26
None this week.
860 2006-10-27
None this week.
861 2006-11-03
None this week.
862 2006-11-04
None this week.
863 2006-11-10
None this week.
864 2006-11-17
None this week.
865 2006-11-24
None this week.
866 2006-12-01
None this week.
867 mozilla-dev-apps-thunderbird
No summary!
868 2006-09-29
No summary!
869 2006-10-06
No summary!
870 2006-10-13
No summary!
871 2006-10-20
No summary!
872 2006-10-27
No summary!
873 2006-11-03
No summary!
874 2006-11-10
No summary!
875 2006-11-17
No summary!
876 2006-11-24
No summary!
877 2006-12-01
No summary!
878 mozilla-dev-builds
No summary!
879 2006-09-29

880 2006-10-06
No summary!
881 2006-10-13
No summary!
882 2006-10-20
No summary!
883 2006-10-27
No summary!
884 2006-11-03
No summary!
885 2006-11-10
No summary!
886 2006-11-17
No summary!
887 2006-11-24
No summary!
888 2006-12-01
No summary!
889 mozilla-dev-embedding
No summary!
890 mozilla-dev-extensions
No summary!
891 2006-09-29
Return to mozilla-dev-extensions
892 2006-10-06
Return to mozilla-dev-extensions
893 2006-10-13
Return to mozilla-dev-extensions
894 2006-10-20
Return to mozilla-dev-extensions
895 2006-10-27
Return to mozilla-dev-extensions
896 2006-11-03
Return to mozilla-dev-extensions
897 2006-11-10
Return to mozilla-dev-extensions
898 2006-11-17
Return to mozilla-dev-extensions
899 2006-11-24
Return to mozilla-dev-extensions
900 2006-12-01
Return to mozilla-dev-extensions
901 2006-12-08
Return to mozilla-dev-extensions
902 Extentsions FAQ
Return to mozilla-dev-extensions
903 mozilla-dev-i18n
No summary!
904 2006-09-22
No summary!
905 mozilla-dev-l10n
No summary!
906 2006-10-06
No summary!
907 2006-10-13
No summary!
908 2006-10-20
No summary!
909 2006-10-27
No summary!
910 2006-11-10
No summary!
911 2006-11-17
No summary!
912 2006-11-24
No summary!
913 2006-11-3
No summary!
914 2006-12-01
No summary!
915 2006-12-08
No summary!
916 mozilla-dev-planning
No summary!
917 2006-07-17
No summary!
918 2006-09-22
No summary!
919 2006-10-06
Beltzner announced FF2 RC2 is availabe for all 3 major platforms in some 40 langauges.
920 2006-10-13
No summary!
921 2006-10-20
No summary!
922 2006-10-27
No summary!
923 2006-11-03
No summary!
924 2006-11-10
No summary!
925 2006-11-17
No summary!
926 2006-11-24
No summary!
927 2006-12-01
No summary!
928 mozilla-dev-platform
Newsgroup summary for mozilla.dev.platform (Google Groups link) is for people working on the Mozilla Application Framework ("Mozilla-the-platform").
929 2006-09-29
Summary of newsgroup moz.dev.platform
930 2006-10-06
No summary!
931 2006-10-13
No summary!
932 2006-10-20
No summary!
933 2006-10-27
Summary: mozilla.dev.platform - October 21st to October 27th 2006
934 2006-11-03
Summary: mozilla.dev.platform - October 28th - November 3rd, 2006
935 2006-11-10
No summary!
936 2006-11-17
Summary: mozilla.dev.platform - November 11th - November 17th, 2006
937 2006-12-01
Summary: mozilla.dev.platform - November 25th - December 1st, 2006
938 2006-18-24
Summary: mozilla.dev.platform - November 18th - November 24th, 2006
939 mozilla-dev-quality
No summary!
940 2006-09-29
None
941 2006-10-06
No summary!
942 2006-10-13
No summary!
943 2006-10-20
No summary!
944 2006-10-27
None
945 2006-11-03
None
946 2006-11-10
None
947 2006-11-17
None
948 2006-11-24
None
949 2006-12-01
No summary!
950 mozilla-dev-security
No summary!
951 2006-09-29
No summary!
952 2006-10-06
No summary!
953 2006-10-13
No summary!
954 2006-10-20
No summary!
955 2006-10-27
No summary!
956 2006-11-03
No summary!
957 2006-11-10
No summary!
958 2006-11-17
No summary!
959 2006-11-24
No summary!
960 2006-12-01
No summary!
961 mozilla-dev-tech-js-engine
No summary!
962 2006-09-22
No summary!
963 2006-09-29
No summary!
964 2006-10-06
No summary!
965 2006-10-13
No summary!
966 2006-11-03
No summary!
967 2006-11-10
No summary!
968 2006-11-17
No summary!
969 2006-11-24
No summary!
970 2006-12-01
No summary!
971 JS-Engine FAQ
No summary!
972 mozilla-dev-tech-layout
No summary!
973 2006-09-29
No summary!
974 2006-10-27
None this week.
975 2006-11-03
None this week.
976 2006-11-10
None this week.
977 2006-11-17
None this week.
978 2006-11-24
None this week.
979 2006-12- 02
None this week.
980 2006-12- 08
None this week.
981 2006-12-24
None this week.
982 mozilla-dev-tech-xpcom
No summary!
983 2006-09-06
No summary!
984 2006-09-22
No summary!
985 2006-09-30
No summary!
986 2006-10-13
No summary!
987 2006-10-27
No summary!
988 2006-11-10
No summary!
989 2006-11-17
No summary!
990 2006-11-24
No summary!
991 2006-11-3
No summary!
992 2006-12-01
No summary!
993 2006-12-08
No summary!
994 mozilla-dev-tech-xul
XUL FAQ
995 2006-09-22
No summary!
996 2006-09-29
No summary!
997 2006-10-06
No summary!
998 2006-10-13
No summary!
999 2006-10-20
No summary!
1000 2006-10-27
No summary!
1001 2006-11-03
No summary!
1002 2006-11-10
No summary!
1003 2006-11-17
No summary!
1004 2006-11-24
No summary!
1005 2006-12-01
No summary!
1006 mozilla.dev.apps.calendar
No summary!
1007 2006-10-13
None this week.
1008 2006-10-20
[Back to Weekly Summaries ]
1009 2006-10-27
[Back to Weekly Summaries ]
1010 2006-11-03
[Back to Weekly Summaries ]
1011 2006-11-10
[Back to Weekly Summaries ]
1012 2006-11-17
[Back to Weekly Summaries ]
1013 2006-11-24
[Back to Weekly Summaries ]
1014 2006-12-01
[Back to Weekly Summaries ]
1015 mozilla.dev.tech.js-engine
No summary!
1016 2006-10-06
No summary!
1017 Obsolete: XPCOM-based scripting for NPAPI plugins
Plugins that used to take advantage of being scriptable via LiveConnect in 4.x Netscape browsers lost this possibility in the new world. The main reason for this is that there is no guarantee of Java compatibility on a binary level due to the jri/jni switch. The new Mozilla XPCOM architecture allows XPCOM components be scriptable via a different mechanism called XPConnect. We leverage some of these ideas to help you make your Netscape Communicator 4.x plugins exposed to JavaScript in Mozilla based browsers.
1018 Responsive Web design Mobile, Responsive Design, Web Development
With Web users increasingly using mobile devices to browse Web sites and apps, Web designers and developers need to be sure that their creations look as good and work as well on mobile devices as on traditional desktop computers. Prominent designer Luke Wroblewski advocates designing for "Mobile First", rather than as an afterthought to designing for desktops. Whether you design for mobile devices as a primary target or as a nice extra, you can use the power of CSS to ensure that the same content can be accessed across all hardware platforms, from mobile phones to wide-screen high-resolution displays.
1019 SAX Add-ons, Extensions, add-ons
No summary!
1020 Security
Relying on these obsolete security articles is highly discouraged. Doing so may put your systems at risk.
1021 Digital Signatures Security, Tutorial
Encryption and decryption address the problem of eavesdropping, one of the three Internet security issues mentioned at the beginning of this document. But encryption and decryption, by themselves, do not address another problem: tampering.
1022 Encryption and Decryption Security, Tutorial
Encryption is the process of transforming information so it is unintelligible to anyone but the intended recipient. Decryption is the process of transforming encrypted information so that it is intelligible again.
1023 Introduction to Public-Key Cryptography Security, Tutorial
Public-key cryptography and related standards and techniques underlie the security features of many products such as signed and encrypted email, single sign-on, and Secure Sockets Layer (SSL) communications. This document introduces the basic concepts of public-key cryptography. For an overview of SSL, see "Introduction to SSL." For an overview of encryption and decryption, see "Encryption and Decryption." Information on digital signatures is available from "Digital Signatures."
1024 Introduction to SSL Security
This document introduces the Secure Sockets Layer (SSL) protocol. SSL has been universally accepted on the World Wide Web for authenticated and encrypted communication between clients and servers.
1025 NSPR Release Engineering Guide NSPR
This paper is for engineers performing formal release for the NetScape Portable Runtime (NSPR) across all platforms.
1026 SSL and TLS Security, Tutorial
The Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols are universally accepted standards for authenticated and encrypted communication between clients and servers. Both client and server authentication occur over SSL/TLS.
1027 Solaris 10 Build Prerequisites
No summary!
1028 Sunbird Theme Tutorial Add-ons, Themes, add-ons
This tutorial is a step-by-step guide to making a theme for Sunbird 0.3a1 and later versions. It is designed for beginners. It does not cover advanced topics.
1029 Table Reflow Internals Gecko
Key:
1030 Tamarin Tracing Build Documentation
The following instructions are for obtaining and building the Tamarin Tracing source code. For instructions on Tamarin Central, please see
1031 The Basics of Web Services SOAP, XML, XML Web Services
Summary: A current hot topic on the web right now are Web Services. This short guide will allow you to learn more about web services.
1032 Using IO Timeout And Interrupt On NT NSPR
This technical memo is a cautionary note on using NetScape Portable Runtime's (NSPR) IO timeout and interrupt on Windows NT 3.51 and 4.0. Due to a limitation of the present implementation of NSPR IO on NT, programs must follow the following guideline:
1033 Using SSH to connect to CVS Developing Mozilla
No summary!
1034 XQuery
XQuery is a W3C standard language which is meant to be for XML what SQL is for relational data--i.e., the ability to search, sort, extract, and remold data. It offers powerful and yet intuitive searching based on XPath, has SQL-like syntax for the query portion, and has scripting features such as function and variable definitions, XML-inclusion, etc.
1035 XUL Booster Extensions, Extensions:Tools, Tools, XUL, XUL:Tools
XUL Booster is a third party Eclipse / WebTools build that offers some support for XUL Editing and awesome support for extension packaging.
1036 XUL Parser in Python Outdated_articles, Python, XUL
v.00001

Document Tags and Contributors

 Contributors to this page: fscholz
 Last updated by: fscholz,