Search completed in 1.92 seconds.
738 results for "developers":
Your results are loading. Please wait...
Zest usecase: Reporting Security Vulnerabilities to Developers
when security teams find vulnerabilities they typically describe them to developers using words, for example in a pdf or via a bug tracker.
... unfortunately in many cases developers may lack the security knowledge to understand or reproduce the problem.
... also security teams often use tools which the developers do not have access to or have no experience with.
...And 5 more matches
Web technology for developers
the open web presents incredible opportunities for developers.
... documentation for web developers web developer reference a list of all references for web technologies, including those for html, css, and so on.
... tutorials for web developers a list of tutorials to take you step-by-step through learning apis, technologies, or broad topic areas.
...And 2 more matches
Information for External Developers Dealing with Accessibility
implementing an msaa server, a practical guide a document for developers who need to support microsoft active accessibility (msaa) in a desktop application, in order to make it accessible with 3rd party assistive technologies, containing practical tips and the details of mozilla's implementation.
... join the mozilla accessibility community live chat both end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
Accessibility Information for Core Gecko Developers
join the mozilla accessibility community live chat both end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
Accessibility information for UI designers and developers
see also: heading elements join the mozilla accessibility community live chat both end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
Articles for new developers
also, before you go any further, we'd like to welcome you to the mozilla community of developers!
Index - Archive of obsolete content
these type of extensions have many advantages for both users and developers compared to the old xpinstall/-style extensions.
... 296 security best practices in extensions add-ons, best practices, extensions, guide, security this document is intended as a guide for developers to promote best practices in securing your extension.
...when the mozilla developers make changes like this, they increase the skin version number.
...And 22 more matches
Index - Web APIs
WebAPIIndex
this interface exists to define timeline features (inherited by documenttimeline and future timeline types) and is not itself directly used by developers.
... 397 css painting api api, css, css paint api, houdini, painting, reference the css painting api — part of the css houdini umbrella of apis — allows developers to write javascript functions that can draw directly into an element's background, border, or content.
... 398 using the css painting api css, css paint api, canvas, houdini, learn the css paint api is designed to enable developers to programmatically define images which can then be used anywhere a css image can be invoked, such as css background-image, border-image, mask-image, etc.
...And 15 more matches
The Joy of XUL - Archive of obsolete content
this guide is designed to introduce application developers and their managers to xul so they can not only understand why mozilla's platform is based on it, but how they might adopt it for their own use.
...web developers already familiar with dynamic html (dhtml) will learn xul quickly and can start building applications right away.
... also described are some reasons application developers might choose to leverage xul and mozilla technology for building cross-platform applications.
...And 14 more matches
Developing New Mozilla Features - Archive of obsolete content
our portability requirements may be new to even seasoned developers.
... develop relationships with existing developers in the area of your feature if you want to add a big new feature to mail, spend some time helping the existing mail developers.
... talk to the developers about fixing some of their bugs.
...And 11 more matches
Mozilla Application Framework in Detail - Archive of obsolete content
gecko is the first browser engine ever to deliver the full web standards support that developers have been calling for.
...by meeting the needs of developers and companies who are working to provide consumers with new interactive applications, solutions and services, gecko will become a key catalyst for new growth and innovation and for delivering anytime, anywhere access to millions of new users.
...with its unprecedented power, speed and standards support, the gecko browser engine represents a major advance for developers.
...And 11 more matches
The Business Benefits of Web Standards - Archive of obsolete content
these things come naturally to standards developers without additional effort, time or thought.
... happier staff good developers - both agency and inhouse - simply do not want to work using outdated methodologies and platforms with uncertain standards, with all the consequent uncertainty in quality.
...it supplies a far better development framework, for content providers, for web developers, and for css stylists alike.
...And 8 more matches
Introduction to client-side frameworks - Learn web development
developers who worked with javascript wrote tools to solve the problems they faced, and packaged them into reusable packages called libraries, so they could share their solutions with others.
...at build time, transparently to developers, the framework's compiler translates the templates to optimized javascript instructions.
...react is used in combination with other libraries to make applications — react and react native enable developers to make mobile applications; react and reactdom enable them to make web applications, etc.
...And 8 more matches
Index
if you want to work with nss, it's often helpful to use the command line utilities that are provided by the nss developers.
... mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat.
... mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat.
...And 7 more matches
Mozilla Crypto FAQ - Archive of obsolete content
shortly thereafter the nss developers began work on an open source implementation of the rsa algorithm; that code, together with code previously developed for other cryptographic algorithms, will be included in a new version 3.1 of the nss open source cryptographic and pki library.
...also note that the nss developers are creating code for support of s/mime secure messages; however full s/mime support within mozilla will require further development, and may not be available until after the mozilla 1.0 release.
... yes, as long as patent or other legal issues do not prevent such code from being used by the general community of mozilla developers.
...And 6 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
for instance, script-src allows developers to allow trusted sources of script to execute on a page, while font-src controls the sources of web fonts.
... 207 houdini css, css api, glossary, houdini, reference houdini is a set of low level apis that give developers the power to extend css, providing the ability to hook into the styling and layout process of a browser’s rendering engine.
... houdini gives developers access to the css object model (cssom), enabling developers to write code the browser can parse as css.
...And 6 more matches
Mozilla
add-ons add-ons allow developers to extend and modify the functionality of firefox.
... an introduction to hacking mozilla this guide introduces the mozilla project and provides an overview for developers interested in contributing to or exploring the various parts of the codebase.
...fortunately, over the years, mozilla developers have come up with not just technologies and features to help you debug code, but have devised tips and techniques that can help too.
...And 6 more matches
Performance fundamentals - Web Performance
to display graphics, developers can use html or css (i.e.
...text and images reflow automatically, ui elements automatically receive the system theme, and the system provides "built-in" support for some use cases developers may not think of initially, like different-resolution displays or right-to-left languages.
... the canvas element offers a pixel buffer directly for developers to draw on.
...And 6 more matches
Handling common JavaScript problems - Learn web development
the main browser choices back then (internet explorer and netscape) had scripting implemented in different language flavours (netscape had javascript, ie had jscript and also offered vbscript as an option), and while at least javascript and jscript were compatible to some degree (both based on the ecmascript specification), things were often implemented in conflicting, incompatible ways, causing developers many nightmares.
...see the code snippet in how to make an http request) so developers only have to write one simple bit of code (see jquery.ajax()).
... when developers make use of new/nascent javascript features (for example ecmascript 6 / ecmascript next features, modern web apis...) in their code, and find that such features don't work in older browsers.
...And 5 more matches
Browser Detection and Cross Browser Support - Archive of obsolete content
due to bugs, incomplete implementations of the standards and legacy browsers, web developers must be able to determine which browser a visitor is using and provide the appropriate content and scripting code path.
...for more specific gecko recommendations, please see the gecko compatibility handbook gecko although many web developers are aware of firefox, mozilla, and netscape browsers, far fewer are aware that these browsers are members of an entire family of user agents based upon the gecko layout engine which includes the commercial browser compuserve 7, and open source browsers such as epiphany, galeon, camino, kmeleon, and seamonkey.
...this means web developers and authors are forced to continue to support other browsers which do not comply with the standards as fully.
...And 4 more matches
Gecko FAQ - Gecko Redirect 1
gecko enables a pioneering new class of dynamic content that is more interactive and offers greater presentation control to web developers, using open and recommended internet standards instead of proprietary apis.
...likewise, many software developers want to include web browsing capability in their applications, but don't want to independently develop browser software.
... these developers can pick and choose the browser components they want from among those that gecko offers, and package these components alongside their own within their finished products.
...And 4 more matches
Server-side web frameworks - Learn web development
@app.route("/") def hello(): return "hello world!" while django expects developers to define a list of url mappings between a url pattern and a view function.
...this allows developers to optimize for the characteristics of different databases based on their usage.
...get it yourself: some web frameworks include tools/libraries that address every problem their developers can think "by default", while more lightweight frameworks expect web developers to pick and choose solution to problems from separate libraries (django is an example of the former, while flask is an example of a very light-weight framework).
...And 4 more matches
Client-side tooling overview - Learn web development
although it is still entirely reasonable to write html, css, and javascript "by hand" there is now a wealth of tools that developers can use to speed up the process of building a web site, or app.
... from time to time, even the most experienced of web developers get stuck on a tooling problem; it is possible to waste hours attempting to get a tooling pipeline working before even touching a single line of application code.
... this part of the tooling should be specific to your own development environment, though it’s not uncommon for companies to have some kind of policy or pre-baked configuration available to install so that all their developers are all using the same processes.
...And 4 more matches
An overview of accessible web applications and widgets - Accessibility
since the html4 specification doesn't provide built-in tags that semantically describe these kinds of widgets, developers typically resort to using generic elements such as <div> and <span>.
... aria aria enables developers to describe their widgets in more detail by adding special attributes to the markup.
... many of these were later added in html5, and developers should always prefer using the correct semantic html element over using aria.
...And 4 more matches
2015 MDN Fellowship Program - Archive of obsolete content
2015 mdn fellowship program launching in q1 2015, the mozilla developer fellowship intends to accelerate the involvement of highly-skilled and experienced web developers with the open web.
... who web and mobile developers with an established track record of contributions and expertise in a specific web technology, function or domain who wish to increase the effectiveness of their teaching and communications.
... activities and deliverables help us develop a curriculum on mdn for teaching developers new to graphics programming the webgl apis.
...And 3 more matches
SDK API Lifecycle - Archive of obsolete content
developers using the sdk's apis need to know how far they can trust that a given api will not change in future releases.
... at the same time, developers maintaining and extending the sdk's apis need to be able to introduce new apis that aren't yet fully proven, and to retire old apis when they're no longer optimal or supported by the underlying platform.
...it has two main components: a stability index that defines how stable each module is a deprecation process that defines when and how stable sdk apis can be changed or removed from future versions of the sdk while giving developers enough time to update their code.
...And 3 more matches
Using the viewport meta tag to control layout on mobile browsers
to mitigate this problem, apple introduced the "viewport meta tag" in safari ios to let web developers control the viewport's size and scale.
...apple's documentation does a good job explaining how web developers can use this tag, but we had to do some detective work to figure out exactly how to implement it in fennec.
...to get sharper images on these screens, web developers may want to design images – or whole layouts – at a higher scale than their final size and then scale them down using css or viewport properties.
...And 3 more matches
An Overview of XPCOM
the xpcom solution the cross platform component object module (xpcom) is a framework which allows developers to break up monolithic software projects into smaller modularized pieces.
...using xpcom, developers create components that can be reused in different applications or that can be replaced to change the functionality of existing applications.
...this book focuses on the latter - extending gecko - but the fundamental ideas in the book will be important to developers embedding gecko as well.
...And 3 more matches
Index - Archive of obsolete content
ArchiveMozillaXULIndex
421 building accessible custom components in xul accessibility, dhtml, xul dhtml accessibility is a new technology which enables developers to construct accessible controls within (x)html pages.
... developers have been doing this for some time, but the resulting controls were never as accessible as similar controls in desktop applications.
... 953 the joy of xul guide, mozilla, xpcom, xpconnect, xul this guide is designed to introduce application developers and their managers to xul so they can not only understand why mozilla's platform is based on it, but how they might adopt it for their own use.
...And 2 more matches
From object to iframe — other embedding technologies - Learn web development
a little while later (late 90s, early 2000s), plugin technologies became very popular, such as java applets and flash — these allowed web developers to embed rich content into webpages such as videos and animations, which just weren't available through html alone.
... browser makers and web developers have learned the hard way that iframes are a common target (official term: attack vector) for bad people on the web (often termed hackers, or more accurately, crackers) to attack if they are trying to maliciously modify your webpage, or trick people into doing something they don't want to do, such as reveal sensitive information like usernames and passwords.
... because of this, spec engineers and browser developers have developed various security mechanisms for making <iframe>s more secure, and there are also best practices to consider — we'll cover some of these below.
...And 2 more matches
Index - Learn web development
there are also are times when you'll get stuck and feel frustrated — even professional web developers feel like this regularly — and it pays to know about the most effective ways to try and get help so you can progress in your work.
... 268 git and github beginner, github, learn, web, git all developers will use some kind of version control system (vcs), a tool to allow them to collaborate with other developers on a project without danger of them overwriting each other's work, and roll back to previous versions of the code base if a problem is discovered later on.
... the most popular vcs (at least among web developers) is git, along with github, a site that provides hosting for your repositories and several tools for working with them.
...And 2 more matches
Aprender y obtener ayuda - Learn web development
there are also are times when you'll get stuck and feel frustrated — even professional web developers feel like this regularly — and it pays to know about the most effective ways to try and get help so you can progress in your work.
...professional web developers use tools like mdn web docs to look up things they have forgotten all the time.
...youtube is an obvious one, with channels such as mozilla layout land, mozilladeveloper, and google chromedevelopers providing many useful videos.
...And 2 more matches
Getting started with React - Learn web development
to build for the web, developers use react in tandem with reactdom.
... react's primary goal is to minimize the bugs that occur when developers are building uis.
...adding a compiler like babel to a website makes the code on it run slowly, so developers often set up such tooling with a build step.
...And 2 more matches
Handling common HTML and CSS problems - Learn web development
the trouble with html and css some of the trouble with html and css lies with the fact that both languages are fairly simple, and often developers don't take them seriously, in terms of making sure the code is well-crafted, efficient, and semantically describes the purpose of the features on the page.
...this is particularly a problem when developers decide to only use say, the -webkit- version of a property — meaning that the site won't work in other browsers.
... note: historically web developers used to use css files called resets, which removed all the default browser styling applied to html, and then applied their own styles for everything over the top — this was done to make styling on a project more consistent, and reduce possible cross browser issues, especially for things like layout.
...And 2 more matches
Accessibility and Mozilla
in fact, the same keyboard commands are still available, so users can become comfortable and productive right away.accessibility information for core gecko developersboth end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
... since this is a worldwide effort, there is always a good chance to find someone to chat with there, day or night.accessibility information for ui designers and developerswhen you design user interfaces with accessibility in mind, they will work for more people.
... this developer's guide lays out general guidelines that assistive technology (at) developers can use in developing live region support.
...And 2 more matches
WebReplayRoadmap
to that end, this document will be revised over time as we find new and better ways of helping developers.
... retroactive console logging console logging is one of the primary tools most developers use to debug a page.
... this section describes some analyses that could be performed and be helpful for developers who are either debugging a problem, or trying to understand or improve a complex code base.
...And 2 more matches
Index
MozillaTechXPCOMIndex
this can create a difficult situation for extension developers trying to support multiple gecko versions (firefox 2 and 3, for example).
...it is meant for use by extension developers who have exception handler blocks which want to "eat" an exception, but still want to report it to the console.
... 96 xpcom glue guide, xpcom, xpcom glue the xpcom glue is a static library which component developers and embedders can link against.
...And 2 more matches
XPCOM
this can create a difficult situation for extension developers trying to support multiple gecko versions (firefox 2 and 3, for example).creating a python xpcom componentcreating applications with mozilla already provides a tutorial for making a simple javascript or c++ component (implementing the nsisimple interface).
...however, such decoders relied on servers sending correct mime types; images sent with incorrect mime types would not be correctly displayed.xpcom gluethe xpcom glue is a static library which component developers and embedders can link against.
... it allows developers to link only against the frozen xpcom method symbols and maintain compatibility with multiple versions of xpcom.xpcom guidethese articles provide tutorials and usage documentation for xpcom, including how to use it in your own projects and how to build xpcom components for your firefox add-ons and the like.xpcom ownership guidelines...naturally.
...And 2 more matches
Accessibility documentation index - Accessibility
the following is intended to provide implementation guidance that respects screen readers developers' need to try different things.
...if you notice an implementation issue, please take a little time and let the developers know.
...since the html4 specification doesn't provide built-in tags that semantically describe these kinds of widgets, developers typically resort to using generic elements such as and .
...And 2 more matches
WebAssembly Concepts - WebAssembly
javascript frameworks could make use of webassembly to confer massive performance advantages and new features while still making functionality easily available to web developers.
...instead, it is designed to complement and work alongside javascript, allowing web developers to take advantage of both languages' strong points: javascript is a high-level language, flexible and expressive enough to write web applications.
... the javascript api provides developers with the ability to create modules, memories, tables, and instances.
...And 2 more matches
Chrome Authority - Archive of obsolete content
developers should stick to simple require statements, with a single static string, one per line of code.
...var xhr = require("x"+"hr"); var modname = "xpcom"; var xpcom = require(modname); var one = require("one"); var two = require("two"); the intention is that developers use require() statements for two purposes: to declare (to security reviewers) what sorts of powers the module wants to use, and to control how those powers are mapped into the module's local namespace.
...these warnings will serve to guide developers to use the correct pattern.
... all module developers should heed the warnings and correct their code until the warnings go away.
Chapter 1: Introduction to Extensions - Archive of obsolete content
this document was authored by hideyuki emura and was originally published in japanese for the firefox developers conference summer 2007.
...e with the version of firefox you're using manages a whitelist of sites trusted for installing add-ons helps troubleshoot add-ons by disabling them and offering a safe mode confirms and runs updates provides access to add-ons' settings dialogs provides access to add-ons' support sites development environment amenities initially, there wasn't adequate documentation available, and extension developers were largely left to fend for themselves1; however, now there's a considerable store of knowledge.
... this lowers the threshold both to using and to developing extensions; that fact, combined with firefox's rapidly growing popularity, has created a positive feedback loop, with the number of extension users and extension developers growing explosively—there are now more than 7000 extensions and themes published at the firefox add-ons site (https://addons.mozilla.org).
... 1 one of the authors of this special edition, piro, is world-famous as one of the original developers.
Building accessible custom components in XUL - Archive of obsolete content
introduction dhtml accessibility is a new technology which enables developers to construct accessible controls within (x)html pages.
... developers have been doing this for some time, but the resulting controls were never as accessible as similar controls in desktop applications.
...by implementing dhtml accessibility techniques, web developers can declare that generic html elements are really acting as specific gui controls (such as a treeitem within a treeview).
...this would allow xul developers to add a single spreadsheet element to their xul applications (for example), with rowheader, columnheader, and cell elements as children, without requiring them to manage the accessibility support for each spreadsheet control.
Cascade and inheritance - Learn web development
even experienced developers don't remember all the details.
... normal declarations in author style sheets (these are the styles set by us, the web developers).
... important declarations in author style sheets important declarations in user style sheets it makes sense for web developers' stylesheets to override user stylesheets, so the design can be kept as intended, but sometimes users have good reasons to override web developer styles, as mentioned above — this can be achieved by using !important in their rules.
...this is definitely the most complicated thing we've covered so far in the course, and is something that even professional web developers sometimes find tricky.
Getting started with Ember - Learn web development
in ember, opinions are a set of conventions that help increase the efficiency of developers at the cost of having to learn those conventions.
... developers are then more easily able to switch between projects and applications without having to completely relearn the architecture, patterns, conventions, etc.
... ember is built on javascript technologies and is a thin layer on top of traditional object-oriented programming, while still allowing developers to utilize functional programming techniques.
...designers and other non-developers can contribute to page templates without any knowledge of javascript, and interactivity can be added later.
Framework main features - Learn web development
typescript is useful for the strictness it allows developers to enforce on their code.
...each framework names these lifecycle phases differently, and not all give developers access to the same phases.
... all of the frameworks follow the same general model: they allow developers to perform certain actions when the component mounts, when it renders, when it unmounts, and at many phases in between these.
...to avoid a broken experience in sufficiently complex apps with lots of views, each of the frameworks covered in this module provides a library (or more than one library) that helps developers implement client-side routing in their applications.
Package management basics - Learn web development
parcel is a(nother) tool that developers commonly use in their development process.
... reducing your app's file size however, as with all tools that "help" developers there's often a trade off.
... webpack requires some configuration (though “some” might be understating the complexity of some developers’ webpack configurations).
...this is important to developers because there can be a significant amount of time wasted on waiting for dependencies to install (and copy to the computer).
How Mozilla's build system works
this documentation is for mozilla developers who need to work on mozilla's build system.
... for many developers, typing mach build to build the tree is sufficient to work with the source tree.
... note: this document is not intended for developers who just want to build mozilla.
... how moz.build processing works for most developers, knowing that moz.build files are python scripts that are executed and emit python dictionaries describing the build configuration is enough.
Contributing to the Mozilla code base
project skills documentation/onboarding firefox browser (core layers) c++ firefox developers documentation firefox (front-end) javascript and/or html/css firefox developers documentation devtools javascript and/or html/css contribute to devtools add-ons javascript and/or html/css contribute to add-ons firefox focus for android java contribute to firefox focus for android firefox for fire tv java contribute to fire...
...browse this component on bugzilla for related bugs ask in our matrix channels : #introduction:mozilla.org or #developers:mozilla.org find a bug we've identified as a good fit for new contributors.
...here are some further resources to help: ask for help in a comment on the bug, or in #introduction:mozilla.org or #developers:mozilla.org check out https://developer.mozilla.org/docs/developer_guide and its parent document, https://developer.mozilla.org/docs/mozilla our reviewer checklist is very useful, if you have a patch near completion, and seek a favorable review utilize our build tool mach, its linting, static analysis, and other code checking features step 3: get your code reviewed once you fix the bug, you...
...if they don't respond within a day or two, you can ask for help on matrix in the #introduction:mozilla.org or #developers:mozilla.org channels, or contact mike hoye directly.
Security best practices for Firefox front-end engineers
this article will help firefox developers understand the security controls in place and avoid common pitfalls when developing front-end code for firefox.
... the last flag ensures that developers will identify and avoid the problems early on in the development cycle and before shipping the code.
...the linter makes an exception for code that uses string literals that are hard coded in the source code, assuming benevolent developers.
... developers are able to avoid tripping the rule by using escaping functions in combination with template strings, for example: bar.innerhtml = escapehtml`<a href='${url}'>about</a>`; in system-privileged chrome code, any kind of remaining scripts will still be removed by our sanitizer.
Firefox
with broad compatibility, the latest in web technologies, and powerful development tools, firefox is a great choice for both web developers and end users.
...the most useful is the url about:config, which displays preferences and settings that can be inspected and changed.firefox ui considerations for web developersthere are a number of places within the firefox user interface where web sites are listed for the user to choose a destination to visit or a site to manage in some way.
...you can find details about profiles on mozilla's end-user support site.performance best practices for firefox front-end engineersthis guide will help firefox developers working on front-end code produce code which is as performant as possible—not just on its own, but in terms of its impact on other parts of firefox.
... always keep in mind the side effects your changes may have, from blocking other tasks, to interfering with other user interface elements.privacythis document lists privacy-related documentation.security best practices for firefox front-end engineersthis article will help firefox developers understand the security controls in place and avoid common pitfalls when developing front-end code for firefox.site identity buttonthe site identity button is a feature in firefox that gives users more information about the sites they visit.
Gecko Keypress Event
if gecko doesn't replace the charcode with an ascii character, the web application developers would need to consider all non-latin keyboard layouts (arabic, greek, hebrew, russian, etc.).
...therefore, web application developers should use only letters, ascii numerals, plus sign, and minus sign for custom shortcut keys.
... alternative charcodes for internal key handling this section documents only gecko internal keypress event handling, so web application developers can ignore this section.
...xul application developers should use key elements for handling accel keys, so as to make use of the handling logic already provided for these elements.
Performance
performance best practices in extensions a performance "best practices" guide for extension developers.
... measuring add-on startup performance a guide for add-on developers on how to set up a performance testing environment.
... xul school: add-on performance tips for add-on developers to help them avoid impairing application performance.
...they are slow and not particular easy to use, and thus most suitable for use by expert developers.
L20n
s a simple, straightforward example showing an english string being provided: <brandname "firefox"> <about "about {{ brandname }}"> here is the same string being provided in slovenian: <brandname { nominative: "firefox", genitive: "firefoxa", dative: "firefoxu", accusative: "firefox", locative: "firefoxu", instrumental: "firefoxom" }> <about "o {{ brandname.locative }}"> for developers documentation for developers wanting to implement localization functionality on their web apps using l20n.
... internationalization for your web app first read for developers looking to use the l20n infrastructure.
... l20n syntax cheatsheet for developers a simple cheatsheet to help developers as they add l20n to their localization infrastructure.
... additional resources some additional resources for developers and localizers involved with l20n.
Finishing the Component
the interfaces needed to block certain urls from loading are not frozen, and there is still some debate about how exactly this functionality should be exposed to embedders and component developers, so the apis are not ready to be published.
... this puts you in the same situation as many developers using mozilla - you want to use some specific functionality, but the interfaces seem to change on a daily basis.
... gecko developers could change the interface's iid, and some do.
... before attempting to use unfrozen interfaces, you should contact the developers who are responsible for the code you're trying to use (i.e., module owners) and ask them how best to do what you are trying to do.
Thunderbird Binaries
thunderbird current release can be downloaded from https://www.mozilla.org/thunderbird/ past thunderbird releases can be downloaded from https://releases.mozilla.org/pub/thunderbird/releases/ early preview releases whilst writing new versions of thunderbird, developers release preview versions, known as betas.
... these builds are made to get feedback from testers and extension developers.
... warning: whilst developers try to ensure that nightly builds are stable, it is possible that errors can get into nightly builds that can destroy your data or harm it.
... many developers prefer to work on areas of the code which are too risky to change when approaching a release.
Content Index API - Web APIs
the content index api allows developers to register their offline enabled content with the browser.
...content indexing allows developers to tell the browser about their specific offline content.
... this allows users to discover and view what is available, whilst giving developers the ability to add and manage this content.
... the content index api is an extension to service workers, which allows developers to add urls and metadata of already cached pages, under the scope of the current service worker.
CSS Houdini
houdini is a set of low-level apis that exposes parts of the css engine, giving developers the power to extend css by hooking into the styling and layout process of a browser’s rendering engine.
... houdini is a group of apis that give developers direct access to the css object model (cssom), enabling developers to write code the browser can parse as css, thereby creating new css features without waiting for them to be implemented natively in browsers.
... css typed om reference css typed om guide css layout api designed to improve the extensibility of css, this api enables developers to write their own layout algorithms, like masonry or line snapping.
... css painting api developed to improve the extensibility of css — allows developers to write javascript functions that can draw directly into an element's background, border, or content via the paint() css function.
cfx - Archive of obsolete content
there are also a number of internal commands, which are more likely to be useful to sdk developers than to add-on developers.
... this flag is particularly useful for sdk developers or people working with the development version of the sdk, who may want to run an add-on using newer versions of the modules than than those shipping in firefox.
... this flag is particularly useful for sdk developers or people working with the development version of the sdk, who may want to run an add-on using newer versions of the modules than than those shipping in firefox.
Developing add-ons - Archive of obsolete content
add-ons topics submitting an add-on to amo provides helpful information for add-on developers to help them properly package and deliver their add-ons.
...jetpack developers only need to know the tools of the modern web: html, css, and javascript.
... addons.mozilla.org (amo) api developers' guide the amo developers' guide describes how to use the amo api to fetch information about add-ons from the addons.mozilla.org site.
Downloading JSON and JavaScript in extensions - Archive of obsolete content
the json decoding methods available to extension developers protect the extension from malicious json and javascript.
...this usually happens because the extension is trying to keep some of its code fresh and dynamic, and the developers don't want to create a new version of the extension for each script change.
...sandboxing is not without its dangers and developers should read the sandboxing page carefully to make sure untrusted code is not leaked out of the sandbox.
Enhanced Extension Installation - Archive of obsolete content
extension installation and registration is also prohibitively difficult/annoying for developers, who are forced to either dangerously hand-edit all the appropriate manifest files, or package their code as a xpi and install it that way every time they make a change.
...this should prevent against random file deletions and allow developers to easily reset their state by deleting one of the required system files.
...making the database file format human readable would also help developers debug their installation problems.
Install Manifests - Archive of obsolete content
this means that the add-on will work with the application identified by the id property (<em:id>) specified (for a comprehensive list of application ids and valid min/maxversions for them see valid application versions for add-on developers), from the minimum version (<em:minversion>) up to and including the maximum version (<em:maxversion>).
... examples <em:description>advanced foo tools.</em:description> developer the name(s) of co-developers.
... you may specify more than one of this value to specify multiple developers.
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
« previousnext » this document was authored by taiga (gomita) gomibuchi and was originally published in japanese for the firefox developers conference summer 2007.
... an easier method of building a firefox/thunderbird addon for developers who are well-acquainted with ides like netbeans, eclipse, etc.
...the extension will actually work fine even if these are located in the content package, but putting them in the skin package has the benefit of making it possible to design guis that match specific firefox themes, and allowing theme developers to create special visual effects for extensions.
Appendix D: Loading Scripts - Archive of obsolete content
because there are such a diverse array of add-ons, and because the needs of developers have grown organically over time, the gecko runtime provides a number of means to dynamically load and execute javascript files.
... <script> tags xul script tags are traditionally the primary means of loading scripts for extension developers.
... advantages familiarity: these tags are very similar to the html script tags familiar to most web developers.
Mozilla Documentation Roadmap - Archive of obsolete content
the amo developer hub the amo developer hub is a great guide for add-on developers.
...this is a great place to ask questions and have them answered by experienced developers.
... irc and newsgroups mozilla developers use their irc channels heavily.
Source code directories overview - Archive of obsolete content
this document is a guide for developers to the directory structure of the mozilla source code tree.
... config contains scripts and programs used by mozilla developers to manipulate the code base and to perform special actions inside makefiles.
...this code is also known by the names, "nglayout" and "gecko." lib contains c code used for reference by developers in programming the mac.
JavaScript Client API - Archive of obsolete content
therefore, developers outside of the sync core should know that their code could require significant refactoring in future releases.
... before developing against the javascript api, it is recommended to speak to developers of the api.
...if in doubt, consult the sync developers.
WinProfile Object - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
... winprofile (windows only) windows developers use this object to manipulate the content of a windows .ini file.
WinReg Object - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
... winreg (windows only) windows developers use this object to manipulate the content of the windows registry.
XML - Archive of obsolete content
information developers create languages particular to their applications, any time they need a very specific way to represent the structure of some data.
... when we say language, we mean that developers create a set of terms, orlexicon, and a relationship between these terms, or what some people call agrammar.
...it will consist of a lexicon of four terms: memo, to, from, body -- all of which fit together into a syntax represented in most xml circles as: <!element memo (from, to, body)> for developers accustomed to reading and using xml, this definition indicates that the root element "memo" is constituted by a "from" element, then a "to" element, then a "body" element.
Archived Mozilla and build documentation - Archive of obsolete content
dtrace dtrace is sun microsystem's dynamic tracing framework that allows developers to instrument a program with probes that have little to no effect on performance when not in use and very little when active.
...it's meant as a guide to developers wishing to understand or extend the mozilla http implementation.
...it is mainly of interest to gecko developers.
Mozilla release FAQ - Archive of obsolete content
in return for this, netscape (aol) contributes developers to work on the project.
...mozilla currently has far more developers than documenters.
... what's the best way to feel part of the community and talk to other developers?
Using the Right Markup to Invoke Plugins - Archive of obsolete content
this is, in fact, the unique identifier of macromedia's flash plugin, and developers are expected to know such unique identifiers in order to invoke the component of their choice.
...however, there are a few caveats that developers ought to bear in mind when using the object element with mozilla-based browsers such as netscape 7 and in ie: caveats if you use one single object element for both browsers (as in the above example), it is not possible to provide a cross-browserobtainment mechanism for streamlined download.
...in order to work around this, developers are encouraged to use the data attribute to the object element: <object type="application/x-shockwave-flash" data="animation.swf"..../>.
Building up a basic demo with A-Frame - Game development
mozilla's a-frame framework provides a markup language allowing us to build 3d vr landscapes using a system familiar to web developers, which follows game development coding principles; this is useful for quickly and successfully building prototypes and demos, without having to write a lot of javascript or glsl.
...it is based on the entity component system, which is known in the game development world, but it targets web developers with a familiar markup structure, manipulable with javascript.
...a-frame targets web developers by offering easy to use web markup and all the advantages that brings, such as javascript manipulation.
Audio for Web games - Game development
there are a couple of differences between desktop and mobile browsers that may have caused browser vendors to make choices that can make web audio difficult for game developers to work with.
...there is further information about it here from the google developers site.
...developers can generate audio and manipulate audio samples as well as positioning sound in 3d game space.
Houdini - MDN Web Docs Glossary: Definitions of Web-related terms
houdini is a set of low level apis that give developers the power to extend css, providing the ability to hook into the styling and layout process of a browser’s rendering engine.
... houdini gives developers access to the css object model (cssom), enabling developers to write code the browser can parse as css.
... the benefit of houdini is that developers can create css features without waiting for web standards specifications to define them and without waiting for every browser to fully implement the features.
Vendor Prefix - MDN Web Docs Glossary: Definitions of Web-related terms
browser vendors sometimes add prefixes to experimental or nonstandard css properties and javascript apis, so developers can experiment with new ideas while—in theory—preventing their experiments from being relied upon and then breaking web developers' code during the standardization process.
... developers should wait to include the unprefixed property until browser behavior is standardized.
...web developers have been using them on production web sites, despite their experimental nature.
WCAG - MDN Web Docs Glossary: Definitions of Web-related terms
wcag uses three levels of conformance: priority 1: web developers must satisfy these requirements, otherwise it will be impossible for one or more groups to access the web content.
... priority 2: web developers should satisfy these requirements, otherwise some groups will find it difficult to access the web content.
... priority 3: web developers may satisfy these requirements, in order to make it easier for some groups to access the web content.
Organizing your CSS - Learn web development
some developers put all of the rules onto a single line, like so: .box { background-color: #567895; } h2 { background-color: black; color: white; } other developers prefer to break everything onto a new line: .box { background-color: #567895; } h2 { background-color: black; color: white; } css doesn't mind which one you use.
... however, you do gain a lot of structure by adopting one and, as many of these systems are very widely used, other developers are more likely to understand the approach you are using and be able to write their css in the same way, rather than having to work out your own personal methodology from scratch.
... build systems for css another way to organise css is to take advantage of some of the tooling that is available for front-end developers, which allows you to take a slightly more programmatic approach to writing css.
What is CSS? - Learn web development
sometimes because a particular browser is interested in having some capability, other times because web designers and developers are asking for a feature, and sometimes because the working group itself has identified a requirement.
... as a newcomer to css, it is likely that you will find the css specs overwhelming — they are intended for engineers to use to implement support for the features in user agents, not for web developers to read to understand css.
... many experienced developers would much rather refer to mdn documentation or other tutorials.
Introduction to the server side - Learn web development
web developers can't control what browser every user might be using to view a website — browsers provide inconsistent levels of compatibility with client-side code features, and part of the challenge of client-side programming is handling differences in browser support gracefully.
... developers typically write their code using web frameworks.
... store session/state information server-side programming allows developers to make use of sessions — basically, a mechanism that allows a server to store information on the current user of a site and send different responses based on that information.
Git and GitHub - Learn web development
all developers will use some kind of version control system (vcs), a tool to allow them to collaborate with other developers on a project without danger of them overwriting each other's work, and roll back to previous versions of the code base if a problem is discovered later on.
... the most popular vcs (at least among web developers) is git, along with github, a site that provides hosting for your repositories and several tools for working with them.
...don't worry, even professional web developers find git confusing sometimes, and often solve problems by searching for solutions on the web, or consulting sites like flight rules for git and dangit, git!
Command line crash course - Learn web development
many developers today are using unix-based tools (e.g.
... there's pros and cons each way — and this list of pros and cons for globally installing is far from exhaustive: pros of installing globally cons of installing globally accessible anywhere in your terminal may not be compatible with your project's codebase only install once other developers in your team won't have access to these tools, for example if you are sharing the codebase over a tool like git.
... prettier is an opinionated code formatting tool for front end developers, focusing around javascript-based languages and adding support for html, css, scss, json and more.
Tools and testing - Learn web development
understanding client-side javascript frameworks javascript frameworks are an essential part of modern front-end web development, providing developers with tried and tested tools for building scalable, interactive web applications.
... git and github all developers will use some kind of version control system (vcs), a tool to allow them to collaborate with other developers on a project without danger of them overwriting each other's work, and roll back to previous versions of the code base if a problem is discovered later on.
... the most popular vcs (at least among web developers) is git, along with github, a site that provides hosting for your repositories and several tools for working with them.
Accessibility/LiveRegionDevGuide
this developer's guide lays out general guidelines that assistive technology (at) developers can use in developing live region support.
...sometimes the very best guide for some developers is the code itself.
...it was originally intended to give web developers a means to force a live region message to go to a separate output device.
Information for Assistive Technology Vendors
mozilla support for linux/unix assistive technology developers mozilla supports the at-spi (assistive technology service provider interface) in html and in our user interface (based on xul technology).
... this makes it possible for the developers of linux and unix accessibility software, such as screen readers, voice dictation packages and screen magnifiers to provide support for mozilla.
... join the mozilla accessibility community live chat both end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
Software accessibility: Where are we today?
mozilla developers follow the general front-end accessibility requirements: there are a number of potential "gotchas" when developing xul ui.
... other developers no matter what kind of work you do, the basis of accessibility is the need to understand that every user is different.
...see see also below for information and tools for both web and desktop application developers.
Debugging on Mac OS X
try server builds in most cases, developers needing to debug a build as close as possible to the production environment should use a try build.
...at this time, developers can obtain a hardened runtime build with the com.apple.security.get-task-allow entitlement allowed by submitting a try build and downloading the dmg generated by the "rpk" shippable build job.
... try asking in our irc channels #developers or #macdev.
Eclipse CDT
download "eclipse ide for c/c++ developers" (not eclipse ide for enterprise java developers) from the eclipse download page, install it, and add the directory containing the eclipse binary to your path (/applications/eclipse.app/contents/eclipse/ on mac).
...eclipse doesn't have good facilities for building incrementally in individual directories in the way that mozilla developers generally require.
... there is mercurialeclipse, but probably most mozilla developers will just prefer to use the command line.
Index
10 firefox ui considerations for web developers activity stream, firefox, icons, mozilla, new tab, newtab, ui, web, web development, favicon there are a number of places within the firefox user interface where web sites are listed for the user to choose a destination to visit or a site to manage in some way.
... 168 performance best practices for firefox front-end engineers best practices, developing firefox, developing mozilla, firefox, front-end, mozilla, performance this guide will help firefox developers working on front-end code produce code which is as performant as possible—not just on its own, but in terms of its impact on other parts of firefox.
... 172 security best practices for firefox front-end engineers best practices, developing firefox, developing mozilla, firefox, front-end, mozilla, performance this article will help firefox developers understand the security controls in place and avoid common pitfalls when developing front-end code for firefox.
Following the Android Toasts Tutorial from a JNI Perspective
this article is a work in progress and is based on githubgist :: _ff-addon-tutorial-jniandroidtoast.js this article will follow the android developers :: api guides - toasts tutorial.
...this article teaches developers how to port java code to jni by reading the java and android documentation.
... context context = getapplicationcontext(); charsequence text = "hello, firefox!"; int duration = toast.length_short; toast toast = toast.maketext(context, text, duration); toast.show(); nativewindow code as mentioned earlier, toasts are a very popular feature, so mozilla developers chose to bring it to the privileged javascript scope via the nativewindow object.
Localization content best practices
this document provides best practices for developers to create localizable code, and describes how to avoid some localizability (l12y) common mistakes.
...this would waste everybody's time and create unnecessary frustration: localizers have to translate strings that are destined to change, developers will need to use new ids later to update them.
...generalsiteidentity=this website is owned by %1$s\nthis has been verified by %2$s avoid concatenations, use placeholders instead consider this string: tos-text = by proceeding you accept the tos-link = terms of services most developers would consider this a good solution and display the concatenation of tos-text+tos-link, with an active link on the second part.
Localization Use Cases
in all presented examples, we try to show the existing code, explain the problem from the localizers' or developers' perspective, and suggest a solution.
...ich strings might need pluralization in other languages, and pluralize them even in english: availablesize = {[ plural(size) ]} availablesize[other] = {{$size}} {{$unit}} available an italian translation might look like this: availablesize = {[ plural(size) ]} availablesize[one] = {{$size}} {{$unit}} disponibile availablesize[other] = {{$size}} {{$unit}} disponibili it's easy to imagine how developers might forget to pluralize some strings that in other languages might require pluralization (or other grammatical features that the framework supports).
...this takes the responsibility away from the developers and puts it in the hands of localizers, at the same time transforming it from a burden into an opportunity.
Shumway
this article will help you understand shumway — mozilla's open standards-based flash renderer — and what it means for the community of developers currently creating the adobe flash platform.
... end-users and less involved developers may report issues by hovering over "shumway" within flash content, clicking "report problems", and filling the form.
...please note that source code will be requested for the shumway developers to use as small test cases.
Mozilla Projects
david baron that helps extension and chrome developers to find memory leaks.
... shumway this article will help you understand shumway — mozilla's open standards-based flash renderer — and what it means for the community of developers currently creating the adobe flash platform.
...to that end, this document will be revised over time as we find new and better ways of helping developers.
Using the Gamepad API - Web APIs
the gamepad api is a way for developers and designers to access and use gamepads and other game controllers.
... performing such checks tends to involve using the gamepad object in conjunction with an animation loop (e.g., requestanimationframe), where developers want to make decisions for the current frame based on the state of the gamepad or gamepads.
... timestamp: this returns a domhighrestimestamp representing the last time the data for this gamepad was updated, allowing developers to determine if the axes and button data have been updated from the hardware.
Web Push API Notifications best practices - Web APIs
“if done well, it's nice to have, but if not done well, it's really annoying.” — overheard conversation between two browser developers discussing the ethics of push notifications.
... overview of web push notifications web push notifications (created using a combination of the notifications, push, and service worker apis) are part of the rising noise that product developers and marketers are using to get attention for their sites.
... browser mitigations because of abuses of push notifications in the past, web browser developers have begun to implement strategies to help mitigate this problem.
Fundamentals of WebXR - Web APIs
as browser developers built support for webvr and allowed developers to experiment, it became clear that in order to finish an api for virtual environments on the web, it would make more sense to start a new specification than to try to "fix" webvr.
... important health and safety reminders because the entire act of creating a virtual 3d world is, in essence, a trick which takes advantage of our understanding of how eyes collect light and how the brain interprets the collected data, it is important to keep in mind that as such, software designers and developers have a responsibility to be even more careful than usual to ensure that the results are correct.
... a-frame (specifically designed for creating webxr-based apps) babylon.js three.js game toolkits the game toolkits are designed for game developers and often include gaming-specific features such as physics models, input control systems, asset management, 3d sound playback, and the like.
Web Audio API - Web APIs
the web audio api provides a powerful and versatile system for controlling audio on the web, allowing developers to choose audio sources, add effects to audio, create audio visualizations, apply spatial effects (such as panning) and much more.
... timing is controlled with high precision and low latency, allowing developers to write code that responds accurately to events and is able to target specific samples, even at a high sample rate.
...with that in mind, it is suitable for both developers and musicians alike.
Web applications and ARIA FAQ - Accessibility
unfortunately, there isn't a more semantic tag available to developers in html 4, so we need to include aria roles and properties.
...aria includes many roles, states, and properties that aren't available in html5, so these will continue to be useful to developers who use html5.
... free-aria google group -- for developers and users of free tools and resources.
ARIA - Accessibility
many of these widgets were later incorporated into html5, and developers should prefer using the correct semantic html element over using aria, if such an element exists.
...unfortunately, there isn't a more semantic tag available to developers in html 4, so we need to include aria roles and properties.
... using aria a practical guide for developers.
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
practical tips for developers and how mozilla does it contents this document is for developers working to support msaa in an application in order to make it accessible with 3rd party assistive technologies, as well as for hackers wishing to be involved in mozilla's msaa support specifically.
...zoomtext and dragon can get by with your msaa support., and jaws can be scripted (even by external developers) to support alternative interfaces.
... deciding which msaa features to support msaa methods - cheat sheet for developers the iaccessible interface is used in a tree of iaccessible's, each one representing a data node, similar to a dom.
Web Accessibility: Understanding Colors and Luminance - Accessibility
currently, the rgb color space predominates as the space web developers work in.
... the implication is that web developers who seek to improve legibility of text against a background can take advantage of the principles of local adaptation.
... the implication is that web developers who seek to improve legibility of text in which the ambient conditions of a room have changed can take advantage of css media queries 5 environment media features, when these features become available.
WAI ARIA Live Regions/API Support - Developer guides
these notes are for developers of screen readers.
... developers should use the aria live regions developer documentation.
...these features will help screen reader developers improve the quality and performance of live region support, both for pages that are marked up with aria live region markup, and for pages where the author did not add any additional markup.
Cross-Origin Resource Sharing (CORS) - HTTP
WebHTTPCORS
more specifically, this article is for web administrators, server developers, and front-end developers.
...another article for server developers discussing cross-origin sharing from a server perspective (with php code snippets) is supplementary reading.
...developers using cross-site xmlhttprequest capability do not have to set any cross-origin sharing request headers programmatically.
HTTP Index - HTTP
WebHTTPIndex
37 feature policy feature policy, feature-policy, http, reference, security, header feature policy allows web developers to selectively enable, disable, and modify the behavior of certain features and apis in the browser.
...it allows web developers to have more control over the data stored locally by a browser for their origins.
... 107 content-security-policy-report-only csp, http, https, reference, security, header the http content-security-policy-report-only response header allows web developers to experiment with policies by monitoring (but not enforcing) their effects.
HTTP Messages - HTTP
WebHTTPMessages
web developers, or webmasters, rarely craft these textual http messages themselves: software, a web browser, proxy, or web server, perform this action.
... http frames are now transparent to web developers.
...no changes are needed in the apis used by web developers to utilize http frames; when available in both the browser and the server, http/2 is switched on and used.
XUL Migration Guide - Archive of obsolete content
using third party packages the sdk is extensible by design: developers can create new modules filling gaps in the sdk, and package them for distribution and reuse.
... add-on developers can install these packages and use the new modules.
Creating Reusable Modules - Archive of obsolete content
once you've done this, you can package the modules and distribute them independently of your add-on, making them available to other add-on developers and effectively extending the sdk itself.
...module developers can publish sdk modules to npm, and add-on developers can install them from npm and build them into their add-ons.
Preferences - Archive of obsolete content
this article provides examples for extension developers that wish to use the mozilla preferences system.
...however, there is a concept of complex types, which makes it easier for developers to save and load nsilocalfile and nsisupportsstring objects in preferences (as strings — note that from the preferences system's point of view, complex values have a nsiprefbranch.pref_string type.) there are two nsiprefbranch methods implementing the concept — setcomplexvalue() and getcomplexvalue().
Appendix: What you should know about open-source software licenses - Archive of obsolete content
this document was authored by yutaka kachi and was originally published in japanese for the firefox developers conference summer 2007.
... developers who contribute to the free office suite openoffice.org are requested to enter into a joint copyright assignment with sun microsystems, the initial developer.
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
« previous this document was authored by taro (btm) matsuzawa and was originally published in japanese for the firefox developers conference summer 2007.
... tools for extension developers fixme: are we sure we'll talking about venkman since it's not well maintained fixme: we maybe should talk about firebug and chromebug fixme: and what about console 2 and docked-js console?
Introduction - Archive of obsolete content
we have poured years of xul experience into it, providing many solutions for problems extension developers commonly run into.
...a team of over a dozen xul developers conformed glaxstar at the time this tutorial was created, and the combined experiences of years creating firefox extensions are reflected here.
Setting Up a Development Environment - Archive of obsolete content
for mac os x developers, there is also a way to set up "shortcuts".
...one of the most common errors developers make is to register a js event listener or observer, and never removing it.
Extensions support in SeaMonkey 2 - Archive of obsolete content
these type of extensions have many advantages for both users and developers compared to the old xpinstall/-style extensions.
...these are so commonly available that developers often forget that they are not built-ins.
Signing an XPI - Archive of obsolete content
in the downloading certificate dialog, tick trust this ca to identify software developers.
...you can get a free certificate for open-source developers from unizeto certum, in 2010 it is a certum level iii ca.
Add-ons - Archive of obsolete content
these type of extensions have many advantages for both users and developers compared to the old xpinstall/-style extensions.
... security best practices in extensions this document is intended as a guide for developers to promote best practices in securing your extension.
An Interview With Douglas Bowman of Wired News - Archive of obsolete content
besides the five minutes it recently took for one of our developers to rearrange a module when he thought it would take him an hour or two?
...and if we need to make a template change, or add in a piece of content, our data is now structured in a way that surprises our developers in how easy it is to make a change.
Inner-browsing extending the browser navigation paradigm - Archive of obsolete content
for web developers, for example, it provides less fine-grained control over the experience, and it can strain bandwidth and other resources.
...extending traditional hypertext navigation the hypertext approach to developing web pages, in which developers format text layouts into pages and link those pages to related content, is analogous to a book or a magazine: readers view pages, go to other pages for more information, and view resources listed as references on that page.
Install.js - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
MMgc - Archive of obsolete content
this is a lot to ask from our c++ developers, so instead, mmgc assumes that every memory location might potentially contain a gc pointer.
...this would mean that developers would only have to take into account #2 really when writing new code.
FAQ - Archive of obsolete content
when the mozilla developers make changes like this, they increase the skin version number.
... developers try to keep changes like this to a minimum, but sometimes it just can't be helped.
DTrace - Archive of obsolete content
dtrace is sun microsystem's dynamic tracing framework that allows developers to instrument a program with probes that have little to no effect on performance when not in use and very little when active.
... dtrace for web developers how to use dtrace to profile your web application.
Menu - Archive of obsolete content
ArchiveMozillaJetpackUIMenu
xulid string the id of the menuitem's backing xul element, exposed for the benefit of advanced developers.
...(ok, slightly less.) this is only a recommended practice; developers are of course free to do as they wish.
Plug-n-Hack - Archive of obsolete content
this can include application developers and testers, exactly the sort of people we would like to use these tools more!
...implementing the above features in firefox and the tools that we work on and support gives our team an advantage, however we believe that opening up such capabilities to all browsers and all security tools is much more useful for security researchers and application developers and testers.
Venkman Introduction - Archive of obsolete content
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.
Creating XPI Installer Modules - Archive of obsolete content
xul, javascript, or css files) in the chrome subdirectories and editing them with a text editor has been replaced by something a lot of developers find more confusing and esoteric.
...mozilla is alerted to these content specifications and the resources they manage either through registration as part of an installation process (as described in this tutorial) or by way of a shortcut file called installed-chrome.txt, in which developers can point at their new contents.rdf files and have them registered as they develop (a process we do not describe here).
Using XPInstall to Install Plugins - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Methods - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
File Object - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
InstallVersion Object - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Methods - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Properties - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Install Object - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Methods - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Methods - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
XPInstall API reference - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Learn XPI Installer Scripting by Example - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
XPInstall - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
SVG And Canvas In Mozilla - Archive of obsolete content
presentation view online download summary today's web browsers offer somewhat limited graphics capabilities to web developers.
...this work provides additional benefits to web developers such as the ability to apply svg effects to html content.
XTech 2005 Presentations - Archive of obsolete content
rich web: svg and canvas in mozilla - robert o'callahan today's web browsers offer somewhat limited graphics capabilities to web developers.
...this work provides additional benefits to web developers such as the ability to apply svg effects to html content.
A XUL Bestiary - Archive of obsolete content
events events are also a source of confusion for many less-hardened developers.
...in addition to the small matter of programming these serious things in c++ and compiling them platform for platform, the architects and developers of mozilla use three "xp" technologies to link the core with the interface.
Complete - Archive of obsolete content
to make it eaiser to support different locales, developers usually place anything that might depend on the locale in separate files in a separate directory.
... classic for seamonkey modern for seamonkey to make it easier to support different themes, developers place anything that might depend on the theme in separate files in a separate directory.
Creating an Installer - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
Trees - Archive of obsolete content
ArchiveMozillaXULTutorialTrees
this is an important point and many xul developers have trouble understanding this aspect.
... that the treeitems are unlike other xul elements is a common source of confusion for xul developers.
Deploying XULRunner - Archive of obsolete content
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.
... windows on windows, xulrunner does not yet have a complete built-in installation solution; app developers should use pre-existing solutions for a native windows installer.
Dialogs in XULRunner - Archive of obsolete content
in an effort to make things easier for developers and more consistent for users, xul has a mechanism to automatically create and position the core dialog buttons ("ok," "cancel," and "help" for example).
...it makes creating an application easier for developers; in addition, the consistent user experience also makes applications easier to use.
2006-11-17 - Archive of obsolete content
going to fosdem 2007 fosdem 2007 (free and open source software developers' european meeting), february 24th - 25th.
... mozilla developers will be having a room, and everyone is invited.
NPAPI plugin developer guide - Archive of obsolete content
mozilla encourages website developers to avoid using plugins wherever possible.
... if there are plugin features which are not available in the web platform, we encourage developers to post their use cases to mozilla.dev.platform project list, so that mozilla can prioritize web platform work to make those use cases possible.
Monitoring plugins - Archive of obsolete content
this article discusses how developers can make use of this new feature.
... below are a number of javascript snippets that would be useful to developers trying to use this feature: registration to register for runtime notifications with the observer service you must create a class with an observe method which receives 3 parameters (subject, topic and data) as well as a register method that contains the following code: var observerservice = components.classes["@mozilla.org/observer-service;1"] .getservice (components.i...
Plugins - Archive of obsolete content
mozilla encourages website developers to avoid using plugins wherever possible and use standard web apis instead.
... if there are plugin features which are not available in the web platform, we encourage developers to post their use cases to mozilla.dev.platform project list, so that mozilla can prioritize web platform work to make those use cases possible.
Building a Theme - Archive of obsolete content
rather than load the browser from disk using a file:// uri (since the location of firefox on the system can change from platform to platform and system to system), mozilla developers came up with a solution for creating uris to content that the installed add-on knows about.
... visit https://addons.mozilla.org/developers/ to create an account and begin distributing your themes!
Common Firefox theme issues and solutions - Archive of obsolete content
the purpose of this page is to provide provide theme developers with notes on how to fix common issues.
... mozillazine themes forum mozillazine is not an official mozilla website, but it does have the largest community of firefox theme developers and is a great resource.
Theme changes in Firefox 4 - Archive of obsolete content
this article covers changes in firefox 4 that affect theme developers.
...however, this does impact theme developers, since many of the files that they need to pull out and work with are now in a new place.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
wouldn't being able to use the same language on both client and server simplify life for us developers?
...now more than 10 years later, with netscape's technology group having been transformed into the mozilla foundation, server-side javascript is seeing a strong resurgence because of the simplicity it provides to web developers reinvigorated by the fact that today's cpus can process javascript more than 10x faster than the cpus of the mid-90's ever could.
Writing JavaScript for XHTML - Archive of obsolete content
problem: my favourite js library still breaks if you use javascript libraries like the famous prototype.js or yahoo's one, there is bad news for you: as long as the developers don't apply the fixes mentioned above, you won't be able to use them in your xml-xhtml applications.
... two possible ways still are there, but neither is very promissing: take the library, recode it and publish it or e-mail the developers, e-mail your friends to e-mail the developers and e-mail your customers to e-mail the developers.
Windows Media in Netscape - Archive of obsolete content
netscape 7.1 has the ability to load the microsoft® windows media player™ as an activex control, and thus developers can now build multimedia experiences that script the windows media player in netscape 7.1, just as they do in internet explorer.
... activexobject is used by many web developers to detect the presence of internet explorer in much the same fashion as document.all is used.
XQuery - Archive of obsolete content
while xquery is currently not supported in firefox (whether through javascript to developers or to browser users), at least one extension has been developed to give a preliminary support for xquery for browser users (and serving as a simple model for how xquery can be implemented within extensions).
... notes for developers wishing to access xquery in their own extensions at present, the extension works simply by using liveconnect to work with berkeley db xml's java api (and via a java wrapper class which circumvents liveconnect's current inability to handle some types of java exceptions properly).
Index - Game development
mozilla's a-frame framework provides a markup language allowing us to build 3d vr landscapes using a system familiar to web developers, which follows game development coding principles; this is useful for quickly and successfully building prototypes and demos, without having to write a lot of javascript or glsl.
... 17 building up a basic demo with babylon.js 3d game engines, babylon.js, beginner, webgl babylon.js is one of the most popular 3d game engines used by developers.
Game distribution - Game development
you can put your html5 games into the same arena (see native desktop, later on) and you should because it's good to diversify the platforms you support, but you have to remember that developers creating desktop games have years of experience, great tools and stable distribution channels.
...the biggest desktop store for games is definitely steam — indie developers can get on steam via the steam direct program.
Game promotion - Game development
manakeep is a website builder made for indie game developers and provides a great starting point to create your website.
...you can also sell a full version of the game from inside your browser demo version, which will be a great move considering high competition, some developers even manage to make full browser versions.
3D games on the Web - Game development
there's an ongoing effort on releasing webgl 2.0 (based on opengl es 3.0) in the near future, which will bring many improvements and will help developers build games for the modern web using current, powerful hardware.
... building up a basic demo with babylon.js babylon.js is one of the most popular 3d game engines used by developers.
JavaScript - MDN Web Docs Glossary: Definitions of Web-related terms
javascript is primarily used in the browser, enabling developers to manipulate webpage content through the dom, manipulate data with ajax and indexeddb, draw graphics with canvas, interact with the device running the browser through various apis, and more.
...node.js - built using chrome's v8 javascript engine - allows developers to use javascript as a scripting language to automate things on a computer and build fully functional http and web sockets servers.
Polyfill - MDN Web Docs Glossary: Definitions of Web-related terms
it was essentially a compilation of browser-specific workarounds so that javascript developers could have a single common api that worked in all browsers.
... at the time, javascript developers were grasping at straws trying to get their website to work across all devices because there was such a discrepancy between browsers that the website might have to be programmed radically differently and have a much different user interface based upon the user's browser.
WAI-ARIA basics - Learn web development
for example, html5 introduced a number of semantic elements to define common page features (<nav>, <footer>, etc.) before these were available, developers would simply use <div>s with ids or classes, e.g.
...as a result, developers quite often rely on javascript libraries that generate such controls as a series of nested <div>s or table elements with classnames, which are then styled using css and controlled using javascript.
Advanced styling effects - Learn web development
this is not an official standard, but has been implemented across multiple browsers, as it is popular, and used fairly widely by developers.
...mainly for browser compatibility — so many web developers have started implementing websites with -webkit- prefixes that it started to look like the other browsers were broken, whereas in actual fact they were following the standards.
Images, media, and form elements - Learn web development
html5 also contains attributes that enable web developers to indicate which fields are required, and even the type of content that needs to be entered.
...this includes all the items mentioned in the last three sections: button, input, select, textarea { font-family: inherit; font-size: 100%; box-sizing: border-box; padding: 0; margin: 0; } textarea { overflow: auto; } note: normalizing stylesheets are used by many developers to create a set of baseline styles to use on all projects.
Floats - Learn web development
the background of floats the float property was introduced to allow web developers to implement simple layouts involving an image floating inside a column of text, with the text wrapping around the left or right of it.
... but web developers quickly realized that you can float anything, not just images, so the use of float broadened, for example to fun layout effects such as drop-caps.
What text editors are available? - Learn web development
for text editors, check for two different kinds of support: user-oriented content (faq, manual, online help) discussion with developers and other users (forum, email, irc) use the written documentation when you're learning how to use the editor.
...the developers will give you an .exe or .msi file.
The HTML5 input types - Learn web development
because html form control appearance may be quite different from a designer's specifications, web developers sometimes build their own custom form controls.
... date and time pickers gathering date and time values has traditionally been a nightmare for web developers.
HTML forms in legacy browsers - Learn web development
all web developers learn very quickly (and sometimes painfully) that the web is a very rough place for them.
... the webkit blog and planet webkit aggregate the best articles by webkit core developers.
JavaScript basics - Learn web development
developers have written a variety of tools on top of the core javascript language, unlocking a vast amount of functionality with minimum effort.
... third-party apis that allow developers to incorporate functionality in sites from other content providers, such as twitter or facebook.
Video and audio content - Learn web development
video and audio on the web web developers have wanted to use video and audio on the web for a long time, ever since the early 2000s when we started to have bandwidth fast enough to support any kind of video (video files are much larger than text or even images.) in the early days, native web technologies such as html didn't have the ability to embed video and audio on the web, so proprietary (or plugin-based) technologies like flash (and...
...due to these legal and preferential reasons, web developers find themselves having to support multiple formats to capture their entire audience.
Introduction to events - Learn web development
for example, node.js is a very popular javascript runtime that enables developers to use javascript to build network and server-side applications.
...e/evt/event are most commonly used by developers because they are short and easy to remember.
Fetching data from the server - Learn web development
fetch the fetch api is basically a modern replacement for xhr; it was introduced in browsers recently to make asynchronous http requests easier to do in javascript, both for developers and other apis that build on top of fetch.
... the following block does the same thing as our original example, but is written in a different style: fetch(url).then(function(response) { return response.text() }).then(function(text) { poemdisplay.textcontent = text; }); many developers like this style better, as it is flatter and arguably easier to read for longer promise chains — each subsequent promise comes after the previous one, rather than being inside the previous one (which can get unwieldy).
Third-party APIs - Learn web development
provide apis allowing developers to make use of their data (e.g.
... third party apis have a slightly different permissions system — they tend to use developer keys to allow developers access to the api functionality, which is more to protect the api vendor than the user.
TypeScript support in Svelte - Learn web development
there seems to be a broad consensus that typescript is particularly well suited for large-scale projects, with many developers working on the same code base.
...nevertheless, some developers prefer to use it even on small projects like the one we are developing.
Getting started with Svelte - Learn web development
web developers with basic html, css, and javascript knowledge can easily grasp svelte specifics in a short time and start building web applications.
...extensions to the javascript language are minimal and carefully picked in order to not break javascript syntax nor alienate developers.
Introduction to cross browser testing - Learn web development
this situation is a lot less bad than it used to be; back when ie4 and netscape 4 were competing to be the dominant browser in the 1990s, browser companies deliberately implemented things differently to each other to try to gain competitive advantage, which made life hell for developers.
...rowsers; see the following links: firefox developer edition edge insider preview safari technology preview chrome canary opera developer this is especially prevalent if you are using very new technologies in your site, and you want to test against the latest implementations, or if you are coming across a bug in the latest release version of a browser, and you want to see if the browser's developers have fixed the bug in a newer version.
Introducing a complete toolchain - Learn web development
git is currently the most popular source code revision control tool available to developers — revision control provides many advantages, such as a way to backup your work in a remote place, and a mechanism to work in a team on the same project without fear of overwriting each other's code.
... finally, it can help you undo changes or revert your code back to a time "when it was working" if a mistake has been introduced somewhere and you are having trouble fixing it — something all developers need to do once in a while!
Accessibility Features in Firefox
the mozilla firefox community welcomes bug reports, ideas, documentation, answering questions in the support forums -- and nearly any kind of community involvement resulting in a browser built for a broader audience of users and developers.
...developers, please see our dhtml accessibility documentation and get involved in writing tools and websites using this new technology.
Mozilla accessibility architecture
accessible tree contains only a subset of nodes from the dom tree not all dom nodes are exposed through accessibility api toolkits -- only those objects deemed important by the developers of the toolkit.
...join the community live chat both end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
Add-ons
add-ons allow developers to extend and modify the functionality of firefox.
... publishing add-ons addons.mozilla.org, commonly known as "amo," is mozilla's official site for developers to list add-ons, and for users to discover them.
Creating JavaScript callbacks in components
remember (or discover) that addeventlistener is a method of the nsidomeventtarget interface and is defined as such: void addeventlistener(in domstring type, in nsidomeventlistener listener, in boolean usecapture); however, it is extremely common to see developers pass a normal javascript function for the listener instead of an nsidomeventlistener implementation: function doload(event) { // do something here } window.addeventlistener("load", doload, false); revealing the magic how is this possible?
...using javascript functions as callback handlers for components can be a nice convenience to developers and there is virtually zero work to expose the feature.
Debugging
fortunately, over the years, mozilla developers have come up with not just technologies and features to help you debug code, but have devised tips and techniques that can help too.
... miscellaneous debugging safari some tips for debugging safari debugging chrome some tips for debugging chrome debugging internet explorer some tips for debugging internet explorer providing useful information to the mozilla developers how to get a stacktrace for a bug report useful information you can provide about a crash.
Creating Custom Events That Can Pass Data
example tbp note for extension developers in order for your event to work the way it is described here it must be derived from nsdomevent.
... the problem that extension developers will hit is that you are not allowed derive from nsdomevent in an extension.
Developer guide
for new mozilla developers a directory of articles which are particularly helpful for new mozilla developers.
... mozilla platform development cheat sheet (archive.org) brian bondy's list of frequently referenced information for platform developers.
Multiple Firefox profiles
web developers might want a secondary profile for testing websites, apps, or other projects on different firefox channels.
...nightly contains the latest code from firefox developers and is the least stable channel.
Getting Started with Chat
channels here is a list of channels you should be aware of as a member of the mozilla community: (remember to use irc.mozilla.org and port 6697 or 6667 for your server settings) #qa a channel for qa discussion #developers a channel for mozilla development discussion #sumo a channel for support with firefox for more information about the mozilla irc network and more channels, go here.
...for instance, firebot automatically posts messages to #developers about the status of automated tests.
How to Report a Hung Firefox
note: this article is intended for developers and technically-knowledgeable users.
... instead of crashing firefox, more advanced developers who know how to use a debugger can try attaching to the firefox process and debugging in place.
Index
9 localization content best practices apps, extensions, internationalization, localization, mozilla, l10n, l12y this document provides best practices for developers to create localizable code, and describes how to avoid some localizability (l12y) common mistakes.
...it is aimed at mozilla and extension developers.
Writing localizable code
it is aimed at mozilla and extension developers.
... about localizers a few notes about localizers for developers who rarely deal with them: localizers like tools, and they don't like editors, localization tools are often based on key-value pairs, at least some localizers have their talents focused on language skills and are not savvy in programming, or even building applications.
Mozilla Development Tools
bugzilla bugzilla is where developers can report bugs in the mozilla source releases, and browse an online database of already-reported bugs.
...it lets developers and others edit pages on the mozilla.org web site without having to use cvs.
Memory Profiler
developers have to infer how an object might be allocated and freed by himself/herself.
...however, it still relies on developers' wisdom, and sometimes chances, to dig out the problematical code snippet.
Profiling with the Firefox Profiler
in addition to profiler.firefox.com, the firefox devtools have a simplified interface targeted towards web developers, but does not include as much information as the firefox profiler web app.
... reporting a performance problem has a step-by-step guide for obtaining a profile when requested by firefox developers.
Emscripten
with emscripten, c/c++ developers don’t have the high cost of porting code manually to javascript — or having to learn javascript at all.
... web developers also benefit, as they can use the many thousands of pre-existing native utilities and libraries in their sites.
MailNews automated testing
it allows reviewers to quickly pick up regressions in patches and helps developers to think about different cases.
... this page and its sub-pages describe (and link to) the available test mechanisms within mailnews, and provide supporting information for developers and testers.
NSS Developer Tutorial
the proper use of tabs has often been confusing for new nss developers, so in nss/lib/ssl, we're gradually removing the use of tabs.
...we wish to increase the number of nss developers, who have broad understanding of nss.
Python binding for NSS
it is suggested python developers using python-nss periodically run their code with deprecation warnings enabled.
...this is primarily so the developers can make changes to the api as experiece grows with it.
SpiderMonkey 1.8
however, one of the most important advances for jsapi application developers is that the documentation is much improved.
... two new functions, js_setgczeal and js_dumpheap, aim to help developers debug gc-related problems.
Running Automated JavaScript Tests
developers will often want to use the -d option: jstests.py -d path_to_js_shell the -d option skips tests that are marked as randomly failing; random failures are usually just noise when being run for day-to-day developer testing.
...basic usage is the same: jit_test.py path_to_js_shell developers will usually want to run like this to skip the slow tests and cover the most important options: jit_test.py --no-slow path_to_js_shell you can select specific tests to run in the same way as the jstests shell harness.
The Rust programming language
rust is a new open-source systems programming language created by mozilla and a community of volunteers, designed to help developers create fast, secure applications which take full advantage of the powerful features of modern multi-core processors.
... rust and the future of systems programming unlocking the power of parallelism with rust rust for web developers safe systems programming with rust growing the rust community putting rust into production at mozilla ...
Exploitable crashes
finding exploitable crashes exploitable crashes are most often discovered through normal testing and usage, when developers recognize a crash stack in gdb or submitted to a bug as exploitable.
... additionally, mozilla developers make heavy use of two tools in particular to find exploitable situations before they show up as exploitable crash reports.
Handling Mozilla Security Bugs
this work is separate from the work of developers adding new security features (cryptographically-based or otherwise) to mozilla, although obviously many of the same people will be involved in both sets of activities.
...each and every member of the mozilla security bug group will automatically have access to all mozilla bugs marked "security-sensitive." the members of the mozilla security bug group will be drawn primarily from the following groups: security developers (i.e., those whose bugs are often singled out as security-relevant or who have security-relevant bugs assigned to them), and security qa people who are the qa contacts for those bugs.
History Service Design
this system provides additional performance, flexibility, and querying capabilities over the old one, for both end users and extensions developers.
... objectives the primary objectives of the new history service implementation in places are: improve access to browsing history allow association of useful metadata with urls flexible query system for both end-users and add-ons developers clean architecture for ease of code reuse and maintainability the most known and visible feature of history are views.
Places Developer Guide
this document is for extension and application developers who want to use the bookmarks and history apis in firefox 3.
...however, firefox developers can take advantage of several helper apis that are browser-specific: fuel - a collection of wrapper apis for easing access to a number of firefox utilities and services nsiplacestransactionsservice - a firefox service for modifying bookmarks in a transactional manner, providing facilities for undo/redo places utilities for javascript - accessors and helper functions for firefox and extensi...
FUEL
consider using the add-ons sdk instead fuel is a javascript library designed to help developers build extensions using terminology and interfaces that are familiar to them.
... fuel is about making it easier for extension developers to be productive, by minimizing some of the xpcom formality and adding some "modern" javascript ideas.
SMILE
this article covers features introduced in seamonkey 2 smile is a javascript library designed to help developers build extensions using terminology and interfaces that are familiar to them.
... smile is about making it easier for extension developers to be productive, by minimizing some of the xpcom formality and adding some "modern" javascript ideas.
XML Extras
the xml extras module contains several features that allow developers to treat xml as data i.e.
...file new bugs for additional documentation contributions, either specifically aimed at javascript developers or to complete & clarify the javadoc-style comments in the idl files.
XPCOM glue
MozillaTechXPCOMGlue
the xpcom glue is a static library which component developers and embedders can link against.
... it allows developers to link only against the frozen xpcom method symbols and maintain compatibility with multiple versions of xpcom.
Creating the Component Code
or you can use one of the special "bots" on irc in #developers, where you can also get help from human beings.
... irc irc.mozilla.org /join #developers /msg firebot uuid this command makes the bot generate and return a uuid, which you can then copy into your component source code.
XPConnect wrappers
developers in the know understand that wrappers play a large role in xpconnect, and that we have a lot of them.
... less informed developers understand that wrappers exist and are somehow important, but they don't know when they should use what wrappers, or if they should be seeing a wrapper.
Address Book examples
there are several hooks in the address book code exposed to add-on developers to help extend the behavior of the address book.
... photo handlers photo handlers allow developers to customize the behavior of the contact editor when loading or saving contact photos.
Index
73 an overview of thunderbird components thunderbird the thunderbird mail application is a group of components built on a set of technologies that can seem daunting to new developers.
... 110 tips and tricks from the newsgroups thunderbird the following discussions on mozilla.dev.apps.thunderbird and mozilla.dev.extensions include useful tips for thunderbird add-on developers.
Mail composition back end
this will change in the coming weeks and allow for developers to write javascript to take advantage of the back end services.
... send later developers also have the ability to do "send later" operations.
Activity Manager examples
if the default implementation of nsiactivityprocess, nsiactivitywarning and nsiactivityevent are not sufficient for the activity initiator, activity developers can provide their own components to extend the capabilities.
... if activity developers would like to extend the default ui representation of the activity types, they can provide their own xbl elements for their own activity types.
Index - Firefox Developer Tools
143 validators tools, website validator, html5 validator, validator this document lists different resources for developers to validate web pages.
...to activate view source: 145 web audio editor firefox, mozilla, tools, web audio api with the web audio api, developers create an audio context.
Console messages - Firefox Developer Tools
security the security messages shown in the web console help developers find potential or actual vulnerabilities in their sites.
... additionally, many of these messages help educate developers because they end with a “learn more” link that takes you to a page with background information and advice for mitigating the issue.
CSS Painting API - Web APIs
the css painting api — part of the css houdini umbrella of apis — allows developers to write javascript functions that can draw directly into an element's background, border, or content.
... concepts and usage essentially, the css painting api contains functionality allowing developers to create custom values for paint(), a css <image> function.
Element: mousewheel event - Web APIs
this difference makes a serious issue for web application developers.
... that is, web developers cannot know if mousewheel event is caused by which device.
compareVersion - Web APIs
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
getVersion - Web APIs
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an install.rdf manifest.
... in particular plugin developers should see how to package a plugin as an extension.
MSCandidateWindowShow - Web APIs
example in ie11, developers can detect the opening of the ime candidate window by listening to mscandidatewindowshow event, then call getcandidatewindowclientrect() function to find out where the candidate window is and position the suggestion ui away from it: var context = document.getelementbyid("mysearchbox").msgetinputcontext(); context.addeventlistener("mscandidatewindowshow", candidatewindowshowhandler); function ca...
...developers could listen to them and shift the suggestion ui accordingly.
Media Capabilities API - Web APIs
the media capabilities api allows developers to determine decoding and encoding abilities of the device, exposing information such as whether media is supported and whether playback should be smooth and power efficient, with real time feedback about playback to better enable adaptive streaming, and access to display property information.
...with the media capabilities api, developers can ensure each user is getting the best bitrate and storage savings for their browser, device, and os capabilities.
Using the Permissions API - Web APIs
let's face it, permissions on the web are a necessary evil, and they are not much fun to deal with as developers.
... the permissions api provides the tools to allow developers to implement a better user experience as far as permissions are concerned.
Reporting API - Web APIs
concepts and usage there are a number of different features and problems on the web platform that generate information useful to web developers when they are trying to fix bugs or improve their websites in other ways.
... the reporting api's purpose is to provide a consistent reporting mechanism that can be used to make such information available to developers in the form of reports represented by javascript objects.
SubtleCrypto.exportKey() - Web APIs
/* convert an arraybuffer into a string from https://developers.google.com/web/updates/2012/06/how-to-convert-arraybuffer-to-and-from-string */ function ab2str(buf) { return string.fromcharcode.apply(null, new uint8array(buf)); } /* export the given key and write it into the "exported-key" space.
... /* convert an arraybuffer into a string from https://developers.google.com/web/updates/2012/06/how-to-convert-arraybuffer-to-and-from-string */ function ab2str(buf) { return string.fromcharcode.apply(null, new uint8array(buf)); } /* export the given key and write it into the "exported-key" space.
SubtleCrypto.importKey() - Web APIs
/* convert a string into an arraybuffer from https://developers.google.com/web/updates/2012/06/how-to-convert-arraybuffer-to-and-from-string */ function str2ab(str) { const buf = new arraybuffer(str.length); const bufview = new uint8array(buf); for (let i = 0, strlen = str.length; i < strlen; i++) { bufview[i] = str.charcodeat(i); } return buf; } const pemencodedkey = `-----begin private key----- miievqibadanbgkqhkig9w0baqefaascbkcwggsjageaaoib...
... // from https://developers.google.com/web/updates/2012/06/how-to-convert-arraybuffer-to-and-from-string function str2ab(str) { const buf = new arraybuffer(str.length); const bufview = new uint8array(buf); for (let i = 0, strlen = str.length; i < strlen; i++) { bufview[i] = str.charcodeat(i); } return buf; } const pemencodedkey = `-----begin public key----- miibijanbgkqhkig9w0baqefaaocaq8ami...
Geometry and reference spaces in WebXR - Web APIs
reference spaces because of the variety of xr hardware available, coming in a wide variety of form factors from many developers, it's impractical and non-scalable to expect developers to have to directly communicate with the tracking technology being used.
... instead, the webxr device api is designed to have developers plan their users' experiences and request an appropriate reference space that best represents those needs.
Using the Web Animations API - Web APIs
meet the web animations api the web animations api opens the browser’s animation engine to developers and manipulation by javascript.
... writing css animations with the web animations api one of the more familiar ways to approach learning the web animations api is to start with something most web developers have played with before: css animations.
Web Animations API Concepts - Web APIs
the web animations api (waapi) provides javascript developers access to the browser’s animation engine and describes how animations should be implemented across browsers.
... the internet explorer team requested an animations api to consolidate and normalize animation functionality across all browsers, and thus efforts began in earnest among mozilla firefox and google chrome developers to create the one animation spec to rule them all: the web animations api.
Web Animations API - Web APIs
concepts and usage the web animations api provides a common language for browsers and developers to describe animations on dom elements.
...this interface exists to define timeline features (inherited by documenttimeline and future timeline objects) and is not itself accessed by developers.
Tools for analyzing Web Audio usage - Web APIs
edge add information for developers using microsoft edge.
... safari add information for developers working in safari.
Synchronous and asynchronous requests - Web APIs
but developers typically don't notice the problem because the hang only manifests with poor network conditions or when the remote server is slow to respond.
...the recommendation is that developers move away from the synchronous api and instead use asynchronous requests.
Accessibility: What users can do to browse more safely - Accessibility
they can be addressed by the design and speed of the display and computer" hardware and operating systems on many computers offer control that is not afforded to developers.
...isiting prefers-reduced-motion, the reduced motion media query, "while microsoft edge does not have support for prefers-reduced-motion, it will become chrome under the hood soon." safari 10.1 and above (desktop) do not enable auto-play (does not work for gifs) ios safari 10.3 and above (mobile and tablet) select the "reduce motion option" in os accessibility settings for apple (image source: developers.google.com from thomas steiner's article "move ya!
Web accessibility for seizures and physical reactions - Accessibility
the point is, seizures most definitely can be and are fatal, and developers and designers are incredibly important to making the web a safer place for those with sensitivities to photosensitive or musicogenic triggers.
... @media (prefers-color-scheme: dark) { /* adust styles for dark mode */ } window​.match​media() there is a powerful tool available to developers via window.matchmedia().
Accessibility
keyboard-navigable javascript widgets until now, web developers who want to make their styled <div> and <span> based widgets accessible have lacked the proper techniques.
... assistive technology (at) development a collection of articles intended for at developers mobile accessibility checklist this document provides a concise checklist of accessibility requirements for mobile app developers.
Using multi-column layouts - CSS: Cascading Style Sheets
conclusion css3 columns are a layout primitive that will help web developers make the best use of screen real estate.
... imaginative developers may find many uses for them, especially with the automatic height balancing feature.
CSS Grid Layout and Accessibility - CSS: Cascading Style Sheets
the specification warns authors (the csswg term for web developers) not to do this reordering.
...however the onus is on us as developers to remember to go back to our source and update it to maintain logical order.
Grid template areas - CSS: Cascading Style Sheets
these can quickly become difficult to read for other developers, or even your future self.
... however they are part of the specification and it is likely you will come across them in examples or in use by other developers, even if you choose not to use them.
CSS: Cascading Style Sheets
WebCSS
css reference our exhaustive css reference for seasoned web developers describes every property and concept of css.
... reference css reference: this exhaustive reference for seasoned web developers describes every property and concept of css.
HTML5 Parser - Developer guides
WebGuideHTMLHTML5HTML5 Parser
changed parser behaviors some changes to the way that the gecko 2 parser behaves, as compared to earlier versions of gecko, may affect web developers, depending on how you've written your code in the past and what browsers you've tested it on.
...this change has the following consequences for web developers: if you omit the closing tag for <title>, <style>, <textarea>, or <xmp>, the page will fail to be parsed.
Introduction to HTML5 - Developer guides
this requirement helps web developers quite a bit.
...the web browsers' developers have done everything for you!
Introduction to Web development - Developer guides
eloquent javascript — a comprehensive guide to intermediate and advanced javascript methodologies intermediate a re-introduction to javascript — a recap on the javascript programming language aimed at intermediate-level developers essential javascript design patterns — an introduction to essential javascript design patterns introduction to object-oriented javascript — learn about the javascript object model.
... google's html, css, and javascript from the ground up these easily digestible video tutorials from google's expert web developers cover the basics of html, css and javascript.
Writing forward-compatible websites - Developer guides
ask the authors of any javascript libraries you use to also follow these guidelines suggest to the developers of your favorite libraries that they follow these guidelines too.
... prefixed, non-standard features are provided by browser developers for you to experiment with and offer feedback on, and aren't meant to be deployed.
<strong>: The Strong Importance element - HTML: Hypertext Markup Language
WebHTMLElementstrong
<strong> it is often confusing to new developers why there are so many ways to express the same thing on a rendered website.
... <b> and <strong> are perhaps one of the most common sources of confusion, causing developers to ask "should i use <b> or <strong>?
HTML documentation index - HTML: Hypertext Markup Language
WebHTMLIndex
51 the html autocomplete attribute addresses, attribute, email addresses, forms, html, input, phone numbers, reference, select, text, usernames, autocomplete, form, passwords, textarea autocomplete lets web developers specify what if any permission the user agent has to provide automated assistance in filling out form field values, as well as guidance to the browser as to the type of information expected in the field.
... 127 <input type="hidden"> element, forms, html, html forms, input, input types, reference, hidden <input> elements of type hidden let web developers include data that cannot be seen or modified by users when a form is submitted.
HTTP caching - HTTP
WebHTTPCaching
web developers invented a technique that steve souders called revving[1].
...in order to have the new versions, all the links to them must be changed, that is the drawback of this method: additional complexity that is usually taken care of by the tool chain used by web developers.
HTTP conditional requests - HTTP
besides the setting of the validators on the server side, this mechanism is transparent: all browsers manage a cache and send such conditional requests without any special work to be done by web developers.
... for locking mechanisms, it is the opposite: web developers need to issue a request with the proper headers, while webmasters can mostly rely on the application to carry out the checks for them.
Feature Policy - HTTP
feature policy allows web developers to selectively enable, disable, and modify the behavior of certain features and apis in the browser.
... the general principle is that there should be an intuitive or non-breaking way for web developers to detect or handle the case when the feature is disabled.
Index - HTTP
WebHTTPHeadersIndex
it allows web developers to have more control over the data stored locally by a browser for their origins.
... 52 content-security-policy-report-only csp, http, https, reference, security, header the http content-security-policy-report-only response header allows web developers to experiment with policies by monitoring (but not enforcing) their effects.
HTTP headers - HTTP
WebHTTPHeaders
content-security-policy-report-only allows web developers to experiment with policies by monitoring, but not enforcing, their effects.
... nel defines a mechanism that enables developers to declare a network error reporting policy.
An overview of HTTP - HTTP
WebHTTPOverview
this role is primarily performed by the web browser; other possibilities are programs used by engineers and web developers to debug their applications.
...http messages can be read and understood by humans, providing easier testing for developers, and reduced complexity for newcomers.
HTTP
WebHTTP
cors allows web developers to control how their site reacts to cross-site requests.
... firefox developer tools network monitor mozilla observatory a project designed to help developers, system administrators, and security professionals configure their sites safely and securely.
Inheritance and the prototype chain - JavaScript
javascript is a bit confusing for developers experienced in class-based languages (like java or c++), as it is dynamic and does not provide a class implementation per se (the class keyword is introduced in es2015, but is syntactical sugar, javascript remains prototype-based).
... prototype and object.getprototypeof javascript is a bit confusing for developers coming from java or c++, as it's all dynamic, all runtime, and it has no classes at all.
Object.setPrototypeOf() - JavaScript
because this feature is a part of the language, it is still the burden on engine developers to implement that feature performantly (ideally).
... until engine developers address this issue, if you are concerned about performance, you should avoid setting the [[prototype]] of an object.
Strict mode - JavaScript
javascript was designed to be easy for novice developers, and sometimes it gives operations which should be errors non-error semantics.
... var a = 0o10; // es2015: octal novice developers sometimes believe a leading zero prefix has no semantic meaning, so they use it as an alignment device — but this changes the number's meaning!
JavaScript
intermediate understanding client-side javascript frameworks javascript frameworks are an essential part of modern front-end web development, providing developers with proven tools for building scalable, interactive web applications.
... learn javascript an excellent resource for aspiring web developers — learn javascript in an interactive environment, with short lessons and interactive tests, guided by automated assessment.
Web audio codec guide - Web media technologies
for web developers, an even bigger concern is the network bandwidth needed in order to transfer audio, whether for streaming or to download it for use during gameplay.
...re chrome edge firefox internet explorer opera safari aac support yes[2] yes yes[1] 9 yes 3.1 container support mp4, adts, 3gp rtp / webrtc compatible yes licensing for streaming or distributing aac-encoded content: no license required; developers of codecs are required to obtain a patent license through via licensing [1] due to patent issues, firefox does not directly support aac.
Codecs used by WebRTC - Web media technologies
google and some other browser developers have adopted it for webrtc, but it is not available in all browsers and is not one of the mandatory codecs.
...if you select avc, make sure you're; aware of any potential fees you may need to pay; that said, the patent holders have generally said that most typical web site developers shouldn't need to worry about paying the license fees, which are typically focused more on the developers of the encoding and decoding software.
Web media technologies
references html these articles cover html features for media developers.
... accessibility guide for media in web design in this guide, we cover ways web designers and developers can create content that is accessible to people with different capabilities.
CSS and JavaScript animation performance - Web Performance
css animations, on the other hand, allow developers to make animations between a set of starting property values and a final set rather than between two states.
...developers can create an animation by simply changing an element's style each time the loop is called (or updating the canvas draw, or whatever.) note: like css transitions and animations, requestanimationframe() pauses when the current tab is pushed into the background.
Web Performance
web fonts are more prominent in web design than ever, yet many developers simply embed them from a third party service and think nothing of it.
... lazy-loading javascript with dynamic imports when developers hear the term "lazy loading", they immediately think of below-the-fold imagery that loads when it scrolls into the viewport.
Privacy, permissions, and information security
monitoring and auditing certificates, creating a database of public logs that can be used to help identify incorrect or malicious certificates content security policy provides the ability to define the extent to which a document's content can be accessed by other devices over the web; used in particular to prevent or mitigate attacks on the server feature policy lets web developers selectively enable, disable, and modify the behavior of certain features and apis both for a document and for subdocuments loaded in <iframe>s <iframe>'s allow attribute technically part of feature policy, the allow attribute on an <iframe> specifies which web features the document in the frame should be allowed to access http public key pinning (hpkp) hpkp is used by serv...
...in order to decrease the likelihood of man-in-the-middle attacks http strict transport security (hsts) hsts is used by servers to let them protect themselves from protocol downgrade and cookie hijack attacks by letting sites tell clients that they can only use https to communicate with the server http/2 while http/2 technically does not have to use encryption, most browser developers are only supporting it when used with https, so it can be thought of in that regard as being security-related permissions api provides a way to determine the status of permissions for the current browser context transport layer security (tls); formerly known as secure sockets layer (ssl) tls provides security and privacy by encrypting data during transport over the network...
Graphic design for responsive sites - Progressive web apps (PWAs)
javascript javascript has functions that enable developers to create animations, and any other type of interactivity you want.
... it is very powerful when combined with other technologies, although its complexity is a barrier for non-developers.
The building blocks of responsive design - Progressive web apps (PWAs)
for web developers, it is now fairly common to be called upon to create a web site or app that changes its user interface depending on the browser or device accessing the site to provide an optimized experience.
...but this doesn't help us responsible web developers, who have written small screen layouts into our css using media queries and want mobile devices to display those!
Progressive web apps (PWAs)
with service workers, web developers can create reliably fast web pages and offline experiences.
... progressive web apps on google developers.
Tutorials
these resources are created by forward-thinking companies and web developers who have embraced open standards and best practices for web development and that provide or allow translations, through an open content license such as creative commons.
... a re-introduction to javascript a recap of the javascript programming language aimed at intermediate-level developers.
Builder - Archive of obsolete content
the add-on builder was a web-based development environment that allowed developers to create add-ons using the sdk apis, but without needing to use the jpm command line tool.
/loader - Archive of obsolete content
globals: { // provide developers with well known `console` object, hopefully // with a more advanced implementation.
places/history - Archive of obsolete content
example let { search } = require("sdk/places/history"); // simple query search( { url: "https://developers.mozilla.org/*" }, { sort: "visitcount" } ).on("end", function (results) { // results is an array of objects containing // data about visits to any site on developers.mozilla.org // ordered by visit count }); // complex query // the query objects are or'd together // let's say we want to retrieve all visits from before a week ago // with the query of 'ruby', but from last week onwards, we want // all results with 'javas...
cfx to jpm - Archive of obsolete content
with jpm, you must specify the path to "my-addon" explicitly, using a relative path: var my_addon = require("../lib/my-addon"); third-party modules the sdk has always supported third-party modules: developers can write their own modules that extend the sdk's apis or add new apis, and other add-on developers can make use of these modules in the same way that they use the sdk's built-in modules.
Add a Menu Item to Firefox - Archive of obsolete content
but it's extensible by design, so anyone can build and publish modules for add-on developers to use.
Creating Event Targets - Archive of obsolete content
this is especially useful if you want to build your own modules, either to organize your add-on better or to enable other developers to reuse your code.
Using third-party modules (jpm) - Archive of obsolete content
module developers can publish sdk modules to npm, and add-on developers can install them from npm and build them into their add-ons.
Tutorials - Archive of obsolete content
create reusable packages containing your modules, so other add-on developers can use them too.
Dialogs and Prompts - Archive of obsolete content
most web developers are familiar with the alert() function: this is a prime example of a prompt.
Finding window handles - Archive of obsolete content
mozilla developers have put the reference to the gtkwindow* into the gdkwindow* "user data", as a back reference.
On page load - Archive of obsolete content
this article is for xul/javascript developers who want to have custom code executed each time a new page is loaded in browser/mail.
Code snippets - Archive of obsolete content
this is a quick list of useful code snippets (small code samples) available for developers of extensions for the various mozilla applications.
Creating custom Firefox extensions with the Mozilla build system - Archive of obsolete content
many intelligent developers have been driven to the brink of insanity trying to build it for the first time.
Migrating raw components to add-ons - Archive of obsolete content
as we roll this new behavior out, this document will be updated with additional information addressing scenarios we see developers encountering.
Chapter 3: Introduction to XUL—How to build a more intuitive UI - Archive of obsolete content
and was originally published in japanese for the firefox developers conference summer 2007.
Chapter 2: Technologies used in developing extensions - Archive of obsolete content
and was originally published in japanese for the firefox developers conference summer 2007.
Chapter 4: Using XPCOM—Implementing advanced processes - Archive of obsolete content
and was originally published in japanese for the firefox developers conference summer 2007.
Appendix A: Add-on Performance - Archive of obsolete content
add-on developers need to make sure that they minimize their add-ons' performance impact, and here are a few simple guidelines that should be followed to achieve that.
Connecting to Remote Content - Archive of obsolete content
luckily, firefox now provides a few alternatives for extension developers.
Getting Started with Firefox Extensions - Archive of obsolete content
firefox provides a very rich and flexible architecture that allows extension developers to add advanced features, customize the user's experience, and completely replace and remove parts of the browser.
Local Storage - Archive of obsolete content
some extension developers prefer to leave the data there, so that if the user chooses to install the extension again, all the previous data will be recovered.
The Essentials of an Extension - Archive of obsolete content
this division allows other developers to create themes that replace skins, and translators to create localizations in different languages, all of this without having to change your extension or your code.
Useful Mozilla Community Sites - Archive of obsolete content
developers submit their extensions using the web translation system (wts) and volunteers around the world translate them to different languages.
Overlay extensions - Archive of obsolete content
javascript code modules javascript modules available to extension developers.
Security best practices in extensions - Archive of obsolete content
this document is intended as a guide for developers to promote best practices in securing your extension.
Firefox addons developer guide - Archive of obsolete content
gen's opinion: yes, because it is important for developers to make informed decisions regarding oss licenses and it was a part of the original guide.
CSS3 - Archive of obsolete content
css box alignment module level 3 working draft selectors level 4 working draft css lists module level 3 working draft extends the list counter mechanism so that list markers can be styled and web developers can define new list counter schemes.
Creating a status bar extension - Archive of obsolete content
some of the samples in this series may be similar to samples you've seen elsewhere, but the goal of this series of articles is to help compile information for new extension developers into one place to make it easy to jump in and get started.
JXON - Archive of obsolete content
the lack of standards for xml to json conversion leads developers to choose a variety of property names for the text content of xml element nodes that also contain other child nodes.
Installing plugins to Gecko embedding browsers on Windows - Archive of obsolete content
since the prospect of embedded gecko browsers raises the scenario of more than one gecko-based browser that a netscape-style plugin can work with, it becomes important to let plugin developers know how to discover these browsers on a windows machine.
No Proxy For configuration - Archive of obsolete content
audience mozilla users, mozilla developers, mozilla testers.
ActiveX Control for Hosting Netscape Plug-ins in IE - Archive of obsolete content
a note to developers if you intend to modify this control in any way then you must also change the clsid from {dbb2de32-61f1-4f7f-beb8-a37f5bc24ee2} to something else and any other guids this control relies upon (iid, libids etc).
Chromeless - Archive of obsolete content
the aim is to enable developers to create full blown desktop applications using only web technologies.
Layout System Overview - Archive of obsolete content
consider for example a large paragraph of text sitting in paragraph: <p> we need documentation for users, web developers, and developers working on mozilla.
Firefox Sync - Archive of obsolete content
related info javascript client api (useful for interacting with sync from mozilla applications, including developing extensions against sync) syncing custom preferences (useful for extension developers) code snippets (demonstrates common actions with the javascript api) ...
HTTP Class Overview - Archive of obsolete content
it's meant as a guide to developers wishing to understand or extend the mozilla http implementation.
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
javascript console evaluating mozilla's javascript engine has built-in support for debugging, and thus can provide powerful tools for javascript developers.
Mozilla Application Framework - Archive of obsolete content
lxr a web interface to the mozilla codebase that shows you every file in the repository as well as a line-by-line breakdown of who changed which line when in each file bonsai a web interface to the checkin log that you can query for checkins between certain dates, of certain files, or by certain developers.
Plugin Architecture - Archive of obsolete content
it is mainly of interest to gecko developers.
Prism - Archive of obsolete content
it should be possible for developers to include prism-style extension directly in their web app.
Tamarin Acceptance Testing - Archive of obsolete content
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.
Tamarin build documentation - Archive of obsolete content
the tamarin codebase contains a cross-platform build system for mozilla developers.
Tamarin mercurial commit hook - Archive of obsolete content
it is highly recommended that all developers enable the mercurial commit hook for tamarin.
Using addresses of stack variables with NSPR threads on win16 - Archive of obsolete content
original document information author: larryh@netscape.com, wan teh chang last updated date: december 1, 2004 this note is about writing win16-portable code that uses nspr threads, probably not interesting to today's developers ...
[Deprecated] The Mozilla build VM - Archive of obsolete content
you can also ask your getting-started questions in the introduction chat room on matrix, and any firefox development questions in the developers room.
Mozilla Web Developer Community - Archive of obsolete content
get news from developer.mozilla.org and connect with developers involved in cross-browser, standards-based web development.
XBL - Archive of obsolete content
custom xul elements with xbl from the xul school tutorial for add-on developers xbl chapter of "rapid application development with mozilla" xbl 2.0 primer (draft) xbl 2.0 cross-browser implementation in javascript more xbl resources...
Install script template - Archive of obsolete content
ry installation fails var nosecondaryinstall = 1; // error return codes need some memory var err; // error return codes when we try and install to the current browser var errblock1; // error return codes when we try and do a secondary installation var errblock2 = 0; // global variable containing our secondary install location var secondaryfolder; //special error values used by the cycore developers (www.cycore.com) who helped make this install script var exceptionoccurederror = -4711; var winregisnullerror = -4712; var invalidrootkeyerror = -4713; var registrykeynotwritableerror = -4714; //initinstall block //the installation is initialized here -- if we fail here, cancel the installation // initinstall is quite an overloaded method, but i have invoked it here wi...
WinRegValue - Archive of obsolete content
description advanced windows developers can use this object to manipulate non-string values for the windows registry.
Dynamically modifying XUL-based user interface - Archive of obsolete content
it is written for beginner to intermediate xul developers.
Special per-platform menu considerations - Archive of obsolete content
notes for firefox extension developers on the mac, some elements, once moved to the application menu, are no longer accessible from xul overlays or from javascript injected into browser.xul.
Creating toolbar buttons (Customize Toolbar Window) - Archive of obsolete content
its intended audience is extension developers with a basic knowledge of xul and css.
Accesskey display rules - Archive of obsolete content
however, xul application developers should not make same mistake.
Adding Methods to XBL-defined Elements - Archive of obsolete content
they are hidden so that developers do not need to know how the element is implemented to use it.
Document Object Model - Archive of obsolete content
the window object isn't defined by any dom specification, but in mozilla is sometimes considered part of dom level 0, a name used by some developers to refer to the dom-like functions before they were added to specifications.
XUL Questions and Answers - Archive of obsolete content
overlaying elements without ids the original developers only tend to put ids where they need them.
XUL accessibility guidelines - Archive of obsolete content
in addition, there is an active community of accessibility developers within the mozilla project that will be happy to help you with any concerns or questions you have in regards to making your xul applications fully accessible.
The Implementation of the Application Object Model - Archive of obsolete content
what content developers want from the next release of mozilla is a standards-compliant browser.
Creating XULRunner Apps with the Mozilla Build System - Archive of obsolete content
in most cases, developers of xulrunner applications can download an existing sdk and follow the instructions in getting started with xulrunner.
How to enable locale switching in a XULRunner application - Archive of obsolete content
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.
nsIContentPolicy - Archive of obsolete content
char* previous = nsnull; nscomptr<nsicategorymanager> catman; servman->getservicebycontractid(ns_categorymanager_contractid, ns_get_iid(nsicategorymanager), getter_addrefs(catman)); rv = catman->addcategoryentry("content-policy", component_classname, component_contractid, pr_true, pr_true, &previous); javascript developers can also implement an xpcom component that extends nsicontentpolicy.
Gecko Compatibility Handbook - Archive of obsolete content
this is unfortunate since the html validator is one of the primary vehicles web developers have for learning about the standards.
2006-10-06 - Archive of obsolete content
discussions w3c sets road map for web app accessibility the w3c introduced its wai-aria (web accessibility initiative for accessible rich internet applications) roadmap--a set of guidelines for developers to make accessible web content.
2006-10-13 - Archive of obsolete content
user questions about a open/saveas bug that already exisits: https://bugzilla.mozilla.org/show_bug.cgi?id=347230 installer for 2.0rc2 ehume gives the developers a thumbs up for the new installer for 2.0rc2 having a textfield where you can type in the installation directory.
2006-11-03 - Archive of obsolete content
xml in firefox is a major problem a user draws attention to what they think is a bug, but the developers say it's proper browser behaviour.
2006-11-04 - Archive of obsolete content
in firefox is a major problem a user draws attention to what they think is a bug, but the developers say it's propwer browser behaviour.
2006-09-29 - Archive of obsolete content
he is also asking if there are developers out there who know the tb core and are willing to help him out.
2006-10-06 - Archive of obsolete content
discussion highlights: ziga sancin suggests writing an introductory article for potential developers containing basic project information (history, list of main developers, project goals, roadmap and available communication channels, etc), tools needed to start developing and building tb, documentation on source structure as well as links to help one get started on the project.
2006-10-27 - Archive of obsolete content
jonathan pritchard has clarified that announcement does not mean thunderbird will be changing direction, just certain areas of development that are of interest to the eudora developers will have more attention paid to them.
2006-10-20 - Archive of obsolete content
feedback from localizers regarding sunbird/lightning 0.3 release the sunbird/lightning developers are requesting feedback on release 0.3.
2006-10-06 - Archive of obsolete content
also invites people to help extension developers test for compatibility (link to a bunch of extension compatability bugs) discussions reining in the release process a discussion of what can be done to speed up the release process.
2006-11-10 - Archive of obsolete content
benjamin smedberg crossposted a notice about unit testing for the mozilla toolkit, letting developers know about the importance of testing for the improvement of mozilla 2, and asks for complete coverage.
2006-09-30 - Archive of obsolete content
developers should use this sample instead: http://developer.mozilla.org/en/docs/xpcom_glue discussions dynamic load overlay a short discussion about the possibilities of loading and unloading xul overlay runtime reading binary data from file discusses about the code to read binary data from file how to build xpcom component on mac os x discusses about the make file code used to build xpcom components on mac os x successfully meetings none during this week.
NPP_New - Archive of obsolete content
this gives developers a chance to use private attributes to communicate instance-specific options or other information to the plug-in.
NPVariant - Archive of obsolete content
number npvarianttype_int32 or npvarianttype_double string npvarianttype_string all other types npvarianttype_object functions npn_releasevariantvalue() npn_getstringidentifier() npn_getstringidentifiers() npn_getintidentifier() npn_identifierisstring() npn_utf8fromidentifier() npn_intfromidentifier() macros plugin developers are not expected to directly manipulate or access the members of the npvariant instance, instead, the function npn_releasevariantvalue(), and the following macros are provided: npvariant_is_void() evaluates to true if v is of type npvarianttype_void.
Adobe Flash - Archive of obsolete content
with fscommands, developers may choose to use macromedia's actionscript language to make a call back into the environment that contains the flash animation -- in this case, the html page.
Use Case - Archive of obsolete content
and help give developers more insight.
Introduction to Public-Key Cryptography - Archive of obsolete content
software developers and others who wish to sign files using object-signing technology must first obtain an object-signing certificate.
Introduction to SSL - Archive of obsolete content
this document is primarily intended for administrators of red hat server products, but the information it contains may also be useful for developers of applications that support ssl.
Tamarin Tracing Build Documentation - Archive of obsolete content
the tamarin codebase contains a cross-platform build system for mozilla developers.
Using Web Standards in your Web Pages - Archive of obsolete content
the problem lies with designers and developers chained to the browser-quirk-oriented markup of the 1990s-often because they don't realize it is possible to support current standards while accommodating old browsers." -web standards project this article provides an overview of the process for upgrading the content of your web pages to conform to the world wide web consortium (w3c) web standards.
:-moz-system-metric(images-in-menus) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
:-moz-system-metric(mac-graphite-theme) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
:-moz-system-metric(scrollbar-end-backward) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
:-moz-system-metric(scrollbar-end-forward) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
:-moz-system-metric(scrollbar-start-backward) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
:-moz-system-metric(scrollbar-start-forward) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
:-moz-system-metric(scrollbar-thumb-proportional) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
:-moz-system-metric(windows-default-theme) - Archive of obsolete content
this selector is intended for use mainly by theme developers.
Date.prototype.toLocaleFormat() - Archive of obsolete content
extension and xulrunner developers should know that just loading the format string from a .dtd or .properties file using a chrome://somedomain/locale/somefile.ext uri should be avoided, as the .dtd/.properties file and the tolocaleformat() method does not not necessarily use the same locale, which could result in odd looking or even ambiguous or unreadable dates.
Server-Side JavaScript - Archive of obsolete content
sounds obvious, but for at least the first twelve years of the web's evolution, developers have pretty much had to use different languages on the server from those available in the browser, leading to segregated teams, disparate and inconsistent know-how, and plenty of server-side string manipulation gymnastics to generate html or ajax pages.
background-size - Archive of obsolete content
(sheppy 07 december 2009) we should encourage web developers to ask for layout engines, not for browsers.
XForms Custom Controls - Archive of obsolete content
if you would like to do this kind of heroic work then please contact the mozilla xforms developers before you start.
Archive of obsolete content
web standards the web standards project windows media in netscape netscape 7.1 has the ability to load the microsoft® windows media player™ as an activex control, and thus developers can now build multimedia experiences that script the windows media player in netscape 7.1, just as they do in internet explorer.
Community - Extensions
mozillazine extensions & themes forum #extdev channel on moznet irc network — extension development questions #addons channel on moznet irc network — questions about http://addons.mozilla.org mozdev project owners mailing list mozillazine knowledge base allyourideas — ideas for extensions ((really needs a unique captcha)) babelzilla — a community for developers and translators of extension for mozilla applications ...
Introduction to game development for the Web - Game development
web technologies for game developers for the tech folks, let's dig into the apis the web brings to the table that cater to game developers.
Building up a basic demo with Babylon.js - Game development
babylon.js is one of the most popular 3d game engines used by developers.
Building up a basic demo with PlayCanvas - Game development
the online editor is free for public projects with up to two team members, but there are also paid plans if you'd like to run a commercial private project with more developers.
Mobile touch controls - Game development
overview: control mechanisms next the future of mobile gaming is definitely web, and many developers choose the mobile first approach in their game development process — in the modern world, this generally also involves implementing touch controls.
Unconventional controls - Game development
leapmotion is becoming more and more popular due to very good integration with vr headsets — demoing rainbow membrane on an oculus rift with leap motion attached to it was voted one of the best webvr experiences by javascript developers visiting demo booths at conferences around the world.
Crisp pixel art look with image-rendering - Game development
developers have been manually scaling up graphics so they are shown with blocks that represent pixels.
Game development
in this area of the site, we provide resources for web developers wanting to develop games.
Plug-in Development Overview - Gecko Plugin API Reference
handling memory plug-in developers can take advantage of the memory features provided in the plug-in api to allocate and free memory.
Fetch directive - MDN Web Docs Glossary: Definitions of Web-related terms
for instance, script-src allows developers to allow trusted sources of script to execute on a page, while font-src controls the sources of web fonts.
Forbidden header name - MDN Web Docs Glossary: Definitions of Web-related terms
names starting with `sec-` are reserved for creating new headers safe from apis using fetch that grant developers control over headers, such as xmlhttprequest.
Google Chrome - MDN Web Docs Glossary: Definitions of Web-related terms
android ios desktop for web developers if you want to try the latest chrome features, install one of the pre-stable builds.
Graceful degradation - MDN Web Docs Glossary: Definitions of Web-related terms
it is a useful technique that allows web developers to focus on developing the best possible websites, given that those websites are accessed by multiple unknown user-agents.
Idempotent - MDN Web Docs Glossary: Definitions of Web-related terms
another implication of delete being idempotent is that developers should not implement restful apis with a delete last entry functionality using the delete method.
Middleware - MDN Web Docs Glossary: Definitions of Web-related terms
it is the software that handles communication between components and input/output, so developers can focus on the specific purpose of their application.
Network throttling - MDN Web Docs Glossary: Definitions of Web-related terms
the internet speeds for developers creating web applications in a corporate office building on a powerful computer are generally very fast.
Node.js - MDN Web Docs Glossary: Definitions of Web-related terms
node.js is a cross-platform javascript runtime environment that allows developers to build server-side and network applications with javascript.
Preflight request - MDN Web Docs Glossary: Definitions of Web-related terms
a preflight request is automatically issued by a browser and in normal cases, front-end developers don't need to craft such requests themselves.
Progressive Enhancement - MDN Web Docs Glossary: Definitions of Web-related terms
progressive enhancement is a useful technique that allows web developers to focus on developing the best possible websites while making those websites work on multiple unknown user agents.
Progressive web apps - MDN Web Docs Glossary: Definitions of Web-related terms
learn more the app center on mdn progressive web apps on google developers ...
QUIC - MDN Web Docs Glossary: Definitions of Web-related terms
the creation of quic allows developers to conduct experiments and try new things faster.
Robots.txt - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge robots.txt on wikipedia https://developers.google.com/search/reference/robots_txt standard specification draft: https://tools.ietf.org/html/draft-rep-wg-topic https://www.robotstxt.org/ ...
SVN - MDN Web Docs Glossary: Definitions of Web-related terms
it allows developers to keep a history of text and code modifications.
WebDAV - MDN Web Docs Glossary: Definitions of Web-related terms
webdav (web distributed authoring and versioning) is an http extension that lets web developers update their content remotely from a client.
World Wide Web - MDN Web Docs Glossary: Definitions of Web-related terms
this consortium consists of core web interest groups, such as web browser developers, government entities, researchers, and universities.
HTML: A good basis for accessibility - Learn web development
note: aria-labelledby is part of the wai-aria spec, which allows developers to add in extra semantics to their markup to improve screen reader accessibility where needed.
HTML: A good basis for accessibility - Learn web development
note: aria-labelledby is part of the wai-aria spec, which allows developers to add in extra semantics to their markup to improve screen reader accessibility where needed.
Mobile accessibility - Learn web development
long gone are the days when mobile devices ran completely different web technologies to desktop browsers, forcing developers to use browser sniffing and serve them completely separate sites (although quite a few companies still detect usage of mobile devices and serve them a separate mobile domain).
The box model - Learn web development
.box { box-sizing: border-box; } if you want all of your elements to use the alternative box model, and this is a common choice among developers, set the box-sizing property on the <html> element, then set all other elements to inherit that value, as seen in the snippet below.
Introduction to CSS layout - Learn web development
table layout html tables are fine for displaying tabular data, but many years ago — before even basic css was supported reliably across browsers — web developers used to also use tables for entire web page layouts — putting their headers, footers, different columns, etc.
Legacy layout methods - Learn web development
however these days, with css grid layout, many developers are moving away from these frameworks to use the inbuilt native grid that css provides.
Practical positioning examples - Learn web development
note: some web developers take things even further, only having one page of information loaded at once, and dynamically changing the information shown using a javascript feature such as xmlhttprequest.
Supporting older browsers - Learn web development
in my experience, developers are often very worried about the experience of 1% of users in an old version of internet explorer, while not considering at all the far greater number who have accessibility needs.
CSS FAQ - Learn web development
LearnCSSHowtoCSS FAQ
for example, many developers only using the -webkit- prefixed version of a property when the non-prefixed version is supported across all browsers meant that a feature relying on that property would break in non-webkit-based browsers, completely needlessly.
create fancy boxes - Learn web development
it will not be done in one day, and some web developers spend their whole life having fun with it.
Fundamental text and font styling - Learn web development
most of the time, as web developers we want to have more specific control over the fonts used to display our text content.
Web fonts - Learn web development
this takes one or more font family names, and the browser travels down the list until it finds a font it has available on the system it is running on: p { font-family: helvetica, "trebuchet ms", verdana, sans-serif; } this system works well, but traditionally web developers' font choices were limited.
How much does it cost to do something on the Web? - Learn web development
some of them, like microsoft visual studio, can cost hundreds, or thousands of dollars; though visual studio express is free for individual developers or open source projects.
How do I start to design my website? - Learn web development
musicians will never make any music unless they first have an idea of what they want to play—and the same is true for painters, writers, and web developers.
What is a URL? - Learn web development
note: there are some extra parts and some extra rules regarding urls, but they are not relevant for regular users or web developers.
What software do I need to build a website? - Learn web development
(if you're going that route, microsoft has some tools for developers including a ready-to-use virtual machine at modern.ie.) by all means run some tests on a real device, especially on real mobile devices.
Advanced form styling - Learn web development
firefox settled on this because web developers mostly seemed to be using the -webkit- prefixed version, so it was better for compatibility.
Basic native form controls - Learn web development
due to the on-off nature of checkboxes, the checkbox is considered a toggle button, with many developers and designers expanding on the default checkbox styling to create buttons that look like toggle switches you can see an example in action here (also see the source code).
Front-end web developer - Learn web development
we all get stuck, whether we are beginner or professional web developers.
The web and web standards - Learn web development
recent published figures say that there are currently around 19 million web developers in the world, and that figure is set more than double in the next decade.
General asynchronous programming concepts - Learn web development
note: ok, in our case, it is ugly and we are faking the blocking effect, but this is a common problem that developers of real apps fight to mitigate all the time.
Introduction to web APIs - Learn web development
application programming interfaces (apis) are constructs made available in programming languages to allow developers to create complex functionality more easily.
Manipulating documents - Learn web development
this is a "tree structure" representation created by the browser that enables the html structure to be easily accessed by programming languages — for example the browser itself uses it to apply styling and other information to the correct elements as it renders a page, and developers like you can manipulate the dom with javascript after the page has been rendered.
Client-side web APIs - Learn web development
provide apis allowing developers to make use of their data (e.g.
What is JavaScript? - Learn web development
comments as with html and css, it is possible to write comments into your javascript code that will be ignored by the browser, and exist simply to provide instructions to your fellow developers on how the code works (and you, if you come back to your code after six months and can't remember what you did).
Object building practice - Learn web development
for such physics simulations, developers tend to use a games or physics library such as physicsjs, matter.js, phaser, etc.
HTML performance features - Learn web development
it is our job, as developers, to ensure that we preserve these two properties when creating or editing html code.
The business case for web performance - Learn web development
definining and promoting a budget helps performance proponent advocates for good user experience against competing interests, such as marketing, sales, or even other developers that may want to add videos, 3rd party scripts, or even frameworks.
Properly configuring server MIME types - Learn web development
for example, a web site oriented for web developers might wish to send certain example html documents as either text/html or text/plain in order to have the documents either processed and displayed as html or as source code.
Server-side website programming - Learn web development
similarly, expertise in client-side coding is not required, but a basic knowledge will help you work better with the developers creating your client-side web "front end".
Routing in Ember - Learn web development
router.js behaves as a "sitemap" for developers to be able to quickly see how the entire app is structured.
Componentizing our React app - Learn web development
note: all_caps constant names have no special meaning in javascript; they’re a convention that tells other developers "this data will never change after being defined here”.
Starting our Svelte Todo list app - Learn web development
the intention is to encourage developers to write more accessible code "by default".
Understanding client-side JavaScript frameworks - Learn web development
javascript frameworks are an essential part of modern front-end web development, providing developers with tried and tested tools for building scalable, interactive web applications.
Strategies for carrying out testing - Learn web development
some larger companies have device labs that stock a very large selection of different devices, enabling developers to hunt down bugs on very specific browser/device combinations.
Learn web development
tools and testing this topic covers the tools developers use to facilitate their work, such as cross-browser testing tools, linters, formatters, transformation tools, version control systems, deployment tools, and client-side javascript frameworks.
Chrome Worker Modules
this module loader should not surprise developers familiar with commonjs, as it implements a minimal commonjs require().
ChromeWorkers and the Chrome worker loader
this module loader should not surprise developers familiar with commonjs, as it implements a minimal commonjs require().
CSUN Firefox Materials
the mozilla firefox community welcomes bug reports, ideas, documentation, answering questions in the support forums -- and nearly any kind of community involvement resulting in a browser built for a broader audience of users and developers.
Gecko info for Windows accessibility vendors
to help web developers in that regard, there is the wonderful memory leak monitor, a firefox 1.5+ extension from david baron, which warns chrome and extension developers about one particular type of memory leak.
Information for users
llent access firefox website, you will find many valuable resources, including a list of firefox themes that have been specially designed for those with low vision: themes with high color constrast themes with big icons themes with extra large and bright icons themes with extra large and extra bold text join the mozilla accessibility community live chat both end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
Links and Resources
accessibility information resource center for developers at adobe - flash mx accessibility, pdf document accessibility and actionscript accessibility.
Mozilla’s UAAG evaluation report
developers interested in this problem can look at the getalternatetext() method -- see the cvs history for suggestions.
Index
found 689 pages: # page tags and summary 1 add-ons add-ons, extension, extensions, landing, mozilla add-ons allow developers to extend and modify the functionality of firefox.
Theme concepts
opera takes an entirely different approach, and microsoft edge themes are not yet open to developers.
Benchmarking
another option that is on by default in non-release builds is the preference javascript.options.asyncstack, which provides better debugging information to developers.
Testopia
links faq wiki docs bugs (please read the bug reporting guide) official testopia blog irc: #testopia or #bugzilla user help support-webtools@lists.mozilla.org developers dev-apps-webtools@lists.mozilla.org downloads download 2.5 (bugzilla 4.2) download 2.4 (bugzilla 3.6 and 4.0) archived versions developers greg hendricks vance baarda (former developer) ed fuentetaja (former developer) ...
What to do and what not to do in Bugzilla
these fields are reserved for the developers.
Chrome registration
note: extensions can't currently (bug 1131065) register components to load in the content process using the manifest file so this flag is largely useless to extension developers.
Debugging JavaScript
this document is intended to help developers writing javascript code in mozilla, mainly for mozilla itself, but it may also be useful for web developers.
Debugging on Windows
if you think you know a cool mozilla debugging trick, feel free to discuss it with #developers and then post it here.
Configuring Build Options
developers should generally not use this option.
Updating NSPR or NSS in mozilla-central
(because some developers might not be aware that nspr/nss are separately maintained and released, the mozilla hg server rejects accidental changes/forking, if the required keywords are missing in the commit comment.) if nspr or nss must be upgraded to a new static tag, follow this procedure: before starting, make sure your local repository is updated to mozilla-central tip and that there are no local changes: $ hg status -mard pull the new sources $ python client.py update_nspr nspr...
mach
mach (german for to make) is a program via the "command-line interface" to help developers perform installation tasks such as installing firefox from its c++ source code.
Frame script loading and lifetime
chrome: urls extension developers usually use a chrome:// url to refer to the frame scripts.
Performance best practices for Firefox front-end engineers
this guide will help firefox developers working on front-end code produce code which is as performant as possible—not just on its own, but in terms of its impact on other parts of firefox.
::-moz-tree-cell-text(hover)
this selector is intended for use mainly by theme developers.
::-moz-tree-row(hover)
this selector is intended for use mainly by theme developers.
Embedding the editor
composer embedded in a xul application developers need to embed composer widgets in their xul applications, by using the <editor> tag as we do today.
Embedding Mozilla
gecko allows third-party developers to use the same technology as found in mozilla.
Gecko
gecko home page on mozillawiki home for the active developers.
How to get a stacktrace for a bug report
a stacktrace will tell mozilla developers what crashed and provide a starting point for investigating its cause.
How to get a stacktrace with WinDbg
you can easily produce minidumps from windbg and provide them to developers.
How to implement a custom autocomplete search component
because creating an xpcom component in order to build a custom autocomplete source can be enough to discourage some developers, below is an example javascript xpcom component called "simple-autocomplete" that implements the necessary interfaces.
JavaScript libraries from Mozilla projects
in addition to firefox and other applications, mozilla developers have created a number of useful javascript libraries you can use in your projects.
Addon
developers read only addonauthor[] an array of strings holding the developers of the add-on.
OS.File for the main thread
use with extreme caution: this api may be useful for application developers but must not be used by add-ons, as it changes the state of the complete application.
OSFile.jsm
one thing that all developers need to remember is that the duration of a file i/o operation is unbounded.
JavaScript code modules
mozilla labs js modules this page features a list of javascript modules, along with download links and documentation, that extension developers can use in their code.
Bootstrapping a new locale
(read more about tools at l10n:tools.) after you have downloaded your editor of choice, type the following command in the same path from above (~/ab-cd/browser/chrome/browser) $ edit ab-cd/browser/chrome/browser/aboutcerterror.dtd read the top of the file to get any context on how to translate contained in the notes written by the developers or l10n-drivers.
Localizing XLIFF files for iOS
<note> tags contain localizer notes from developers and should not be translated.
Localizing extension descriptions
localizing before gecko 1.9 before gecko 1.9, add-on developers must go through a special process to define localized add-on descriptions for add-ons targeting toolkit-based apps (such as firefox or thunderbird).
Localizing without a specialized tool
(read more about tools at l10n:tools.) after you have downloaded your editor of choice, type the following command in the same path from above (l10n-mozilla-1.9.2/x-testing/browser/chrome/browser) $ edit l10n-mozilla-1.9.2/x-testing/browser/chrome/browser/aboutcerterror.dtd read the top of the file to get any context on how to translate contained in the notes written by the developers or l10n-drivers.
Localization formats
advantages to html good for small projects very simple for web developers gives localizers the exact context of translations a localizer who knows basic html can style translations to make sure translations display correctly...we can allow slight modifications (e.g.
Localization at Mozilla
they are for developers and all contributors.
MathML Accessibility in Mozilla
mozilla and nvda developers essentially do not have control on how mathematical formulas are read, please contact design science for any inquiries.
Mozilla Development Strategies
this article offers some strategies and suggestions to help developers stay productive.
Activity Monitor, Battery Status Menu and top
(apple support documentation specifically recommends it for troubleshooting battery life problems.) unfortunately "energy impact" is not a good measure for either users or software developers and it should be avoided.
Gecko Profiler FAQ
if the issue you are trying to avoid is not profiling on fast machines that mozilla developers typically use to build firefox on, a better solution may be using a less high-end machine that actually has lower spec’d hardware instead of artificially slowing down just the cpu.
Intel Power Gadget
the api is otherwise unlikely to be of interest to mozilla developers.
Power profiling overview
processors can have dozens of p-states, but the transitions are controlled by the hardware and os and so p-states are of less interest to application developers than c-states.
Leak Monitor
david baron that helps extension and chrome developers to find memory leaks.
MailNews
it allows reviewers to quickly pick up regressions in patches and helps developers to think about different cases.
Midas editor module security preferences
:23 pst, see: bugs 38966 and 913734 note: if you've reached this page from a message box in firefox or another mozilla product, try using keyboard shortcuts for the cut, copy, and paste commands: copy: ctrl+c or ctrl+insert (command+c on mac) paste: ctrl+v or shift+insert (command+v on mac) cut: ctrl+x or shift+delete (command+x on mac) the information on the rest of this page is for web developers and advanced users.
Introduction to NSPR
the current implementation of nspr allows developers to compile a single source code base on macintosh (ppc), win32 (nt 3.51, nt 4.0, win'95), and over twenty versions of unix.
An overview of NSS Internals
if you want to work with nss, it's often helpful to use the command line utilities that are provided by the nss developers.
NSS FAQ
MozillaProjectsNSSFAQ
nss was designed from the ground up for use by commercial developers.
Getting Started With NSS
you could contribute by organizing it in a better way.) nss sample code a good place to start learning how to write nss applications are the command line tools that are maintained by the nss developers.
4.3.1 Release Notes
you can also give feedback directly to the developers on the mozilla cryptography forums...
4.3 Release Notes
you can also give feedback directly to the developers on the mozilla cryptography forums...
NSS 3.28 release notes
please give feedback to the nss developers for any compatibility issues that you encounter in your tests.
NSS API Guidelines
developers dealing with ssl and pkcs #7 layers should not have to see any of these functions.
nss tech note6
any offer of binary support that may have been previously made to you by nss developers is null and void.
Overview of NSS
nss includes a framework to which developers and oems can contribute patches, such as assembler code, to optimize performance on their platforms.
NSS tools : certutil
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, sun, oracle, mozilla, and google.
NSS tools : cmsutil
mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat.
NSS tools : crlutil
mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, sun, oracle, mozilla, and google.
NSS tools : modutil
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, sun, oracle, mozilla, and google.
NSS tools : pk12util
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, sun, oracle, mozilla, and google.
NSS tools : ssltab
mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat and sun.
NSS tools : ssltap
mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat and sun.
NSS tools : vfychain
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
NSS tools : vfyserv
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
NSS Tools
nss security tools newsgroup: mozilla.dev.tech.crypto overview the nss security tools allow developers to test, debug, and manage applications that use nss.
certutil
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
NSS tools : cmsutil
MozillaProjectsNSStoolscmsutil
mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat.
NSS tools : crlutil
MozillaProjectsNSStoolscrlutil
mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat.
NSS tools : modutil
MozillaProjectsNSStoolsmodutil
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
NSS tools : pk12util
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
NSS tools : signtool
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
NSS tools : signver
MozillaProjectsNSStoolssignver
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
NSS tools : ssltap
MozillaProjectsNSStoolsssltap
mailing lists: pki-devel@redhat.com and pki-users@redhat.com irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape and now with red hat and sun.
NSS tools : vfychain
mailing lists: https://lists.mozilla.org/listinfo/dev-tech-crypto irc: freenode at #dogtag-pki authors the nss tools were written and maintained by developers with netscape, red hat, and sun.
Necko Architecture
necko has been designed to accommodate pluggable protocols so developers can contribute their own protocol libraries that can be dynamically loaded and used by applications utilizing necko.
The Necko HTTP module
it's meant as a guide to developers wishing to extend the http implementation.
SpiderMonkey Build Documentation
building your application while "how to build your complete application" is clearly out of scope for this document, here are some tips that will help get you on your way: the spidermonkey developers frequently and deliberately change the jsapi abi.
Setting up CDT to work on SpiderMonkey
luckily, improvements in cdt have reduced the basic process to manageable five steps: download and extract "eclipse ide for c/c++ developers" from the eclipse downloads page.
Web Replay
this will be part of gecko itself, rather than a separate tool, which means both that developers won't need additional software to use it and that this can't be used to debug other software.
Zest
zest topics usecases reporting security vulnerabilities to developers reporting security vulnerabilities to companies defining active and passive scanner rules deep integration with security tools runtimes the runtime environments that support zest tools the tools that include support zest implementation the state of zest development videos simon demoed zest at appsec usa in november 2013, and the full video of my talk is avail...
Redis Tips
it is intended primarily for developers, and deliberately omits some topics that will be important in any redis deployment, like security and backups.
Secure Development Guidelines
introduction provide developers with information on specific security issues cover common coding mistakes and how they affect a product how to avoid making them how to mitigate them everything is oriented toward c/c++ introduction: gaining control specifics about the underlying architecture, using x86 as an example 6 basic registers (eax, ebx, ecx, edx, edi, esi) 2 stack-related registers (esp, ebp) mark top and bottom of current stack frame status register (eflags) contains various state information instruction pointer (eip) points to register being executed; can’t be modified dir...
Security and the jar protocol
this ordinarily isn't a big deal, since site developers wouldn't put up dangerous files and set them up to download like zip archives.
Task graph
the result of each task is sent to treeherder where developers and sheriffs can track the status of the push.
Gecko object attributes
applied to: any visible accessible id any value, defined by ui/content developers.
Implementation Details
under msaa/ia2, watch for event_hide under atk/at-spi, watch for children-changed:remove to help developers in that regard, there is memory leak monitor, a firefox extension.
Bundling multiple binary components
this can create a difficult situation for extension developers trying to support multiple gecko versions (firefox 2 and 3, for example).
XPCOM array guide
MozillaTechXPCOMGuideArrays
array guidelines here are a few simple rules which will keep your code clean and your developers happy: use typesafe arrays like nscomarray<t> nstarray<t> wherever possible.
Preface
creating xpcom components is meant for c++ developers.
Starting WebLock
instead of starting with the implementation, developers use xpidl (see xpidl and type libraries for more information about xpidl) to define the interface to the component: how the functionality should be organized, expressed, and exposed to its clients.
Using XPCOM Components
cookie manager cookie management is one of the many sets of functionality that is made available to the browser in the form of an xpcom component and that can be reused by developers who want similar functionality in their applications.
Mozilla internal string guide
string guidelines follow these simple rules in your code to keep your fellow developers, reviewers, and users happy.
Interfacing with the XPCOM cycle collector
the intended audience is mozilla c++ developers.
Components.utils.reportError
it is meant for use by extension developers who have exception handler blocks which want to "eat" an exception, but still want to report it to the console.
Community
#pyxpcom on irc.mozilla.org chat with other pyxpcom developers on mozilla's irc network.
PyXPCOM
mozilla defines many external interfaces available to embeddors and component developers.
XPConnect
wrappers what sorts of wrappers xpconnect generates and uses xpconnect security membranes tools xpcshell join the xpcom community choose your preferred method for joining the discussion: mailing list newsgroup rss feed irc: #developers (learn more)tools: javascript component wizard, visual c++ component wizard, visual c++ component wizard for visual studio 2010 ...
Language bindings
it is meant for use by extension developers who have exception handler blocks which want to "eat" an exception, but still want to report it to the console.components.utils.sandboxcomponents.utils.sandbox is used to create a sandbox object for use with evalinsandbox().components.utils.scheduleprecisegcthis method lets scripts schedule a garbage collection cycle.
RefPtr
it was derived from an old #developers discussion.
nsIWinTaskbar
fails if a jump list build operation has already been initiated, developers should make use of a single instance of nsijumplistbuilder for building lists within an application.
nsIXMLHttpRequest
this page contains documentation, specific to mozilla application and add-on developers.
nsPIPromptService
embedding/components/windowwatcher/public/nspipromptservice.idlscriptable this interface is for the dialog implementers, not for other developers.
XPCOM reference
the contents herein are oriented primarily toward extension developers and people embedding xpcom in other projects.
Using nsIDirectoryService
getting a location: most developers need to find where a file or directory is located.
XSLT 2.0
for developers saxon-ce a javascript api is provided for initiating an xslt 2.0 transform from a web page.
Mozilla technologies
these services include:viewing and searching mozilla source code onlinesource code for all mozilla projects hosted in the mercurial repositories can be searched and viewed online using searchfox, a fast indexed search engine that runs on aws.xml extrasthe xml extras module contains several features that allow developers to treat xml as data i.e.
Testing Mozilla code
fuzzing interfacethe fuzzing interface is glue code living in mozilla-central in order to make it easier for developers and security researchers to test c/c++ code with either libfuzzer or afl-fuzz.measuring code coverage on firefoxcode coverage essentially is about measuring how often certain lines are hit, branches taken or conditions met in a program, given some test that you run on it.
Building a Thunderbird extension 1: introduction
however, most developers use an editing program optimized for writing code (also known as an integrated development environment).
Creating a Custom Column
one of the new and exciting features available to thunderbird extension developers in thunderbird 2.0 is the ability to easily create and handle custom columns in thunderbird's main view.
Tips and Tricks from the newsgroups
the following discussions on mozilla.dev.apps.thunderbird and mozilla.dev.extensions include useful tips for thunderbird add-on developers.
customDBHeaders Preference
ated 44%) adding: chrome/content/ (stored 0%) adding: chrome/content/superfluous.js (deflated 57%) adding: chrome/content/superfluous_overlay.xul (deflated 44%) adding: install.rdf (deflated 50%) end result ultimately, you want to be able to compose a message like this: and see the superfluous column displayed in your inbox like this: thanks many thanks go out to the thunderbird developers for the fine product that it is.
Thunderbird extensions
ably easier) thunderbird api docs (mostly a collection of out-of-date pages, relevance is rather dubious) general links finding the code for a feature mozillazine articles on thunderbird community / communications thunderbird specific : add-ons section on developer.thunderbird.net thunderbird communication channels add-on developers forum/mailing list #maildev irc channel more general : mozillazine extension development forum general developer channels related topics xul, javascript, xpcom, themes, developing mozilla categori ...
Thunderbird
community thunderbird product home page thunderbird project community pages user support is handled at mozilla support development discussion happens on the tb-planning mailing list: subscribe archives add-on developers forum/mailing list mozillazine forums mozilla messaging web page #thunderbird on irc.mozilla.org (for users) #maildev on irc.mozilla.org (for developers) a list of all thunderbird communication channels ...
Using Mozilla code in other projects
building xul applications the joy of xul an introduction to xul; a must read for new developers.
Add to iPhoto
closing remarks this is a fairly simple example of how to use js-ctypes, but it actually does something useful, and should be a helpful demonstration not just for how to use js-ctypes, but also more specifically for developers that want to interface with mac os x system frameworks.
Standard OS Libraries
although jni is done completely through js-ctypes, a jsm was created to abstract away the js-ctypes so developers can focus on the jni aspect.
Int64
warning: do not rely on the value returned by this method, as it's subject to change at any time, depending on the debugging needs of the developers.
UInt64
warning: do not rely on the value returned by this method, as it's subject to change at any time, depending on the debugging needs of the developers.
js-ctypes
unlike binary xpcom components, it allows developers to ship a single binary for use with multiple versions of firefox.
Flash Activation: Browser Comparison - Plugins
this guide will help outline the similarities and differences between the browsers so web developers can provide the best user experience.
Plug-in Development Overview - Plugins
handling memory plug-in developers can take advantage of the memory features provided in the plug-in api to allocate and free memory.
Debugger.Memory - Firefox Developer Tools
web developers need to know their pages’ actual memory consumption on real browsers, so it is correct for the tool to expose these behaviors, as long as it is done in a way that helps developers make decisions about their own code.
Debugger - Firefox Developer Tools
(this is not an ideal way to handle debugger bugs, but the hope here is that some sort of backstop, even if imperfect, will make life easier for debugger developers.
Debugger-API - Firefox Developer Tools
javascript is both the debuggee language and the tool implementation language, so the qualities that make javascript effective on the web can be brought to bear in crafting tools for developers.
Examine and edit HTML - Firefox Developer Tools
whitespace-only text nodes web developers don’t write all their code in just one line of text.
Style Editor - Firefox Developer Tools
source map support web developers often create css files using a preprocessor like sass, less, or stylus.
Validators - Firefox Developer Tools
this document lists different resources for developers to validate web pages.
Web Audio Editor - Firefox Developer Tools
with the web audio api, developers create an audio context.
AnimationTimeline - Web APIs
this interface exists to define timeline features (inherited by documenttimeline and future timeline types) and is not itself directly used by developers.
Beacon API - Web APIs
however, ensuring that the data is sent during the unloading of a document is something that has traditionally been difficult for developers.
Using the CSS Painting API - Web APIs
the css paint api is designed to enable developers to programmatically define images which can then be used anywhere a css image can be invoked, such as css background-image, border-image, mask-image, etc.
CSS Properties and Values API - Web APIs
the css properties and values api — part of the css houdini umbrella of apis — allows developers to explicitly define their css custom properties, allowing for property type checking, default values, and properties that do or do not inherit their value.
Finale - Web APIs
WebAPICanvas APITutorialFinale
web audio the web audio api provides a powerful and versatile system for controlling audio on the web, allowing developers to choose audio sources, add effects to audio, create audio visualizations, apply spatial effects (such as panning) and much more.
ClipboardItem - Web APIs
the benefit of having the clipboarditem interface to represent data, is that it enables developers to cope with the varying scope of file types and data easily.
Console API - Web APIs
the console api provides functionality to allow developers to perform debugging tasks, such as logging messages or the values of variables at set points in your code, or timing how long an operation takes to complete.
ContentIndex - Web APIs
the contentindex interface of the content index api allows developers to register their offline enabled content with the browser.
DOMTokenList.values() - Web APIs
the values() method of the domtokenlist interface returns an iterator allowing developers to go through all values contained in the domtokenlist.
Detecting device orientation - Web APIs
the motion event contains four properties: devicemotionevent.acceleration devicemotionevent.accelerationincludinggravity devicemotionevent.rotationrate devicemotionevent.interval motion values explained the devicemotionevent objects provide web developers with information about the speed of changes for the device's position and orientation.
DeviceLightEvent - Web APIs
the devicelightevent provides web developers with information from photo sensors or similiar detectors about ambient light levels near the device.
DeviceMotionEvent - Web APIs
the devicemotionevent provides web developers with information about the speed of changes for the device's position and orientation.
DeviceOrientationEvent - Web APIs
the deviceorientationevent provides web developers with information from the physical orientation of the device running the web page.
Document.importNode() - Web APIs
with gecko 28.0 (firefox 28 / thunderbird 28 / seamonkey 2.25 / firefox os 1.3), the console warns developers not to omit the argument.
How whitespace is handled by HTML, CSS, and in the DOM - Web APIs
e the following document, for example: <!doctype html> <html> <head> <title>my document</title> </head> <body> <h1>header</h1> <p> paragraph </p> </body> </html> the dom tree for this looks like so: conserving whitespace characters in the dom is useful in many ways, but there are certain places where this makes certain layouts more difficult to implement, and causes problems for developers who want to iterate through nodes in the dom.
Comparison of Event Targets - Web APIs
todo: only suitable for extension-developers?
File.type - Web APIs
WebAPIFiletype
developers are advised not to rely on this property as a sole validation scheme.
Gamepad.timestamp - Web APIs
WebAPIGamepadtimestamp
the idea behind this is to allow developers to determine if the axes and button data have been updated from the hardware.
Gamepad API - Web APIs
the gamepad api is a way for developers to access and respond to signals from gamepads and other game controllers in a simple, consistent way.
In depth: Microtasks and the JavaScript runtime environment - Web APIs
the addition of queuemicrotask(), exposing it to web developers, creates a unified queue for microtasks which is used wherever it's necessary to have the ability to schedule code to run safely when there are no execution contexts left on the javascript execution context stack.
Using microtasks in JavaScript with queueMicrotask() - Web APIs
using microtasks before getting farther into this, it's important to note again that most developers won't use microtasks much, if at all.
IDBCursorSync - Web APIs
it may however be reintroduced in the future if there is enough demand from web developers.
IDBDatabaseSync - Web APIs
it may however be reintroduced in the future if there is enough demand from web developers.
IDBEnvironmentSync - Web APIs
it may however be reintroduced in the future if there is enough demand from web developers.
IDBFactorySync - Web APIs
it may however be reintroduced in the future if there is enough demand from web developers.
IDBIndexSync - Web APIs
it may however be reintroduced in the future if there is enough demand from web developers.
IDBLocaleAwareKeyRange - Web APIs
developers should always use idblocaleawarekeyrange when dealing with locale-aware indexes.
IDBObjectStoreSync - Web APIs
it may however be reintroduced in the future if there is enough demand from web developers.
IDBTransactionSync - Web APIs
it may however be reintroduced in the future if there is enough demand from web developers.
Browser storage limits and eviction criteria - Web APIs
storage is temporary by default; developers can choose to use persistent storage for their sites using the storagemanager.persist() method available in the storage api.
Using IndexedDB - Web APIs
this new functionality enables developers to specify a locale when creating an index using idbobjectstore.createindex() (check out its parameters.) in such cases, when a cursor is then used to iterate through the dataset, and you want to specify locale-aware sorting, you can use a specialized idblocaleawarekeyrange.
IndexedDB API - Web APIs
however, the synchronous api may be reintroduced if there is enough demand from web developers.
InputDeviceCapabilities API - Web APIs
to deal with this, developers make assumptions and use heuristics to normalize behavior on web pages.
KeyboardEvent.keyCode - Web APIs
web developers shouldn't use the keycode attribute for printable characters when handling keydown and keyup events.
Navigator.msLaunchUri() - Web APIs
this enables developers to provide a custom fallback experience for the user.
Web-based protocol handlers - Web APIs
:</p> <textarea> <?php echo(htmlspecialchars($value, ent_quotes, 'utf-8')); ?> </textarea> </body> </html> references http://www.w3.org/tr/2011/wd-html5-20110525/timers.html#custom-handlers see also window.navigator.registercontenthandler nsiprotocolhandler (xul only) registerprotocolhandler enhancing the federated web at mozilla webdev register a custom protocolhandler at google developers.
Node.cloneNode() - Web APIs
WebAPINodecloneNode
with gecko 28.0 (firefox 28 / thunderbird 28 / seamonkey 2.25 / firefox os 1.3)), the console warned developers not to omit the argument.
Using the Notifications API - Web APIs
because of abuses of push notifications in the past, web browsers and developers have begun to implement strategies to help mitigate this problem.
Page Visibility API - Web APIs
t advance to the next slide unless the user is viewing the page an application showing a dashboard of information doesn't want to poll the server for updates when the page isn't visible a page wants to detect when it is being prerendered so it can keep accurate count of page views a site wants to switch off sounds when a device is in standby mode (user pushes power button to turn screen off) developers have historically used imperfect proxies to detect this.
PaymentDetailsBase - Web APIs
it is never directly used by developers and is included here only to be used as the basis for those documents.
Payment Request API - Web APIs
accessibility: as the browser controls the input elements of the payment sheet, it can assure consistent keyboard and screen reader accessibility on every website without developers needing to do anything.
PerformanceObserver.observe() - Web APIs
unrecognized types are ignored, though the browser may output a warning message to the console to help developers debug their code.
Permissions API - Web APIs
the permissions api provides the tools to allow developers to implement a better user experience as far as permissions are concerned.
Pointer events - Web APIs
this section contains information about pointer event and mouse event interaction and the ramifications for application developers.
Push API - Web APIs
WebAPIPush API
this lets developers deliver asynchronous notifications and updates to users that opt in, resulting in better engagement with timely new content.
RTCIceServer - Web APIs
because many older books and examples still use this, we include it to help developers update their code or make sense of older examples.
RTCRtpStreamStats - Web APIs
this is a fairly technical part of how codecs work and while the higher this value is, the more errors occurred in the stream, generally most of the time this value is only interesting to very intensively hardcore media developers.
RenderingContext - Web APIs
horthand renderingcontext, methods and properties which can make use of any of these interfaces can be specified and written more easily; since <canvas> supports several rendering systems, it's helpful from a specification and browser implementation perspective to have a shorthand that means "one of these interfaces." as such, renderingcontext is an implementation detail, and isn't something web developers directly use.
ServiceWorkerGlobalScope - Web APIs
developers should keep in mind that the serviceworker state is not persisted across the termination/restart cycle, so each event handler should assume it's being invoked with a bare, default global state.
Using Service Workers - Web APIs
note: as of firefox 44, when appcache is used to provide offline support for a page a warning message is now displayed in the console advising developers to use service workers instead (bug 1204581.) service workers should finally fix these issues.
Storage.setItem() - Web APIs
WebAPIStoragesetItem
(safari sets the quota to 0 bytes in private mode, unlike other browsers, which allow storage in private mode using separate data containers.) hence developers should make sure to always catch possible exceptions from setitem().
Streams API - Web APIs
examples from other developers: progress indicators with streams, service workers, & fetch.
SubtleCrypto - Web APIs
the specification expects that most developers will use the indexeddb api to store cryptokey objects.
Supporting both TouchEvent and MouseEvent - Web APIs
below are some details about the interaction and the ramifications for application developers.
URL API - Web APIs
WebAPIURL API
more interesting to most developers is the api itself.
Visual Viewport API - Web APIs
the visual viewport lets web developers solve this by positioning elements relative to what's shown on screen.
Lifetime of a WebRTC session - Web APIs
for developers trying to do peer-to-peer networking, this introduces a conundrum: without a unique identifier for every user device, it’s not possible to instantly and automatically know how to connect to a specific device on the internet.
Using DTMF with WebRTC - Web APIs
this article offers a brief high-level overview of how dtmf works over webrtc, then provides a guide for everyday developers about how to send dtmf over an rtcpeerconnection.
Migrating from webkitAudioContext - Web APIs
this article attempts to summarize the areas where developers are likely to encounter these problems and provide examples on how to port such code to standards based audiocontext, which will work across different browser engines.
Window.open() - Web APIs
WebAPIWindowopen
and even if and when this happens, you can expect developers of browsers with tab-browsing to give the user entire veto power and full control over how links can open web pages.
window.requestIdleCallback() - Web APIs
this enables developers to perform background and low priority work on the main event loop, without impacting latency-critical events such as animation and input response.
Worklet - Web APIs
WebAPIWorklet
the worklet interface is a lightweight version of web workers and gives developers access to low-level parts of the rendering pipeline.
XRInputSource.profiles - Web APIs
e separated by hyphen ("-") characters if the platform makes it available, the usb vendor and product id may be provided but cannot be relied upon does not uniquely identify a specific device; rather, it identifies a configuration that the product is capable of using does not provide information about handedness of the device, if applicable the webxr input profiles registry is used by device developers and browser developers to attempt to ensure that a given device will report the same profile strings regardless of which browser or other user agent you use.
ARIA Screen Reader Implementors Guide - Accessibility
the following is intended to provide implementation guidance that respects screen readers developers' need to try different things.
ARIA Test Cases - Accessibility
reference to link example note regarding dojo/dijit test files the main purpose of dojo's dijit test files are for dojo developers to exercise and debug the code.
How to file ARIA-related bugs - Accessibility
if you notice an implementation issue, please take a little time and let the developers know.
ARIA: alert role - Accessibility
with javascript, developers control the adding and removing of alerts as appropriate.
ARIA: Complementary role - Accessibility
developers should always prefer using the correct semantic html element over using aria.
ARIA: contentinfo role - Accessibility
developers should always prefer using the correct semantic html element over using aria, making sure to test for known issues in voiceover.
ARIA: form role - Accessibility
developers should always prefer using the correct semantic html element over using aria.
ARIA: Main role - Accessibility
developers should always prefer using the correct semantic html element over using aria.
ARIA: Navigation Role - Accessibility
developers should always prefer using the correct semantic html element over using aria.
ARIA: Region role - Accessibility
developers should always prefer using the correct semantic html element, in this case <section>, over using aria.
ARIA: dialog role - Accessibility
it is important for developers to ensure that content outside of the modal dialog is inaccessible to all users while the modal dialog is active.
Basic form hints - Accessibility
web developers typically use presentational strategies to indicate required or invalid fields.
Architecture - Accessibility
using this technique is about twice as fast as visiting all nodes in the tree, according to tests run by the developers of nvda.
Cognitive accessibility - Accessibility
in this document, we focus on steps developers should take to improve the cognitive accessibility of their web sites and applications.
Accessibility Information for Web Authors - Accessibility
join the mozilla accessibility community live chat both end users and developers are invited for discussion on the live irc channel at irc.mozilla.org/#accessibility.
Mobile accessibility checklist - Accessibility
this document provides a concise checklist of accessibility requirements for mobile app developers.
:-moz-broken - CSS: Cascading Style Sheets
note: this selector is mainly intended to be used by theme developers.
:-moz-focusring - CSS: Cascading Style Sheets
note: developers tend to use :-moz-focusring to differentiate between the focus state when the user focuses an element via a mouse click versus keyboard tabbing.
:-moz-handler-blocked - CSS: Cascading Style Sheets
note: this selector is mainly intended to be used by theme developers.
:-moz-handler-crashed - CSS: Cascading Style Sheets
note: this selector is mainly intended to be used by theme developers.
:-moz-handler-disabled - CSS: Cascading Style Sheets
note: this selector is mainly intended to be used by theme developers.
:-moz-loading - CSS: Cascading Style Sheets
note: this selector is mainly intended to be used by theme developers.
:-moz-suppressed - CSS: Cascading Style Sheets
note: this selector is mainly intended to be used by theme developers.
:-moz-user-disabled - CSS: Cascading Style Sheets
note: this selector is mainly intended to be used by theme developers.
:blank - CSS: Cascading Style Sheets
WebCSS:blank
syntax :blank examples simple :blank example in eventual supporting browsers, the :blank pseudo-class will enable developers to highlight in some way input controls that are not required, but still have no content filled in, perhaps as a reminder to users.
:hover - CSS: Cascading Style Sheets
WebCSS:hover
web developers should make sure that content is accessible on devices with limited or non-existent hovering capabilities.
Using feature queries - CSS: Cascading Style Sheets
feature queries are created using the css at-rule @supports, and are useful as they give web developers a way to test to see if a browser has support for a certain feature, and then provide css that will only run based on the result of that test.
CSS Containment - CSS: Cascading Style Sheets
the aim of the css containment specification is to improve performance of web pages by allowing developers to isolate a subtree of the page from the rest of the page.
Aligning Items in a Flex Container - CSS: Cascading Style Sheets
one of the reasons that flexbox quickly caught the interest of web developers is that it brought proper alignment capabilities to the web for the first time.
Backwards Compatibility of Flexbox - CSS: Cascading Style Sheets
the idea of these prefixes was to allow implementations of the spec to be tested and explored by browser engineers and web developers alike without clashing with other implementations.
Typical use cases of Flexbox - CSS: Cascading Style Sheets
center item before flexbox, developers would joke that the hardest problem in web design was vertical centering.
Introducing the CSS Cascade - CSS: Cascading Style Sheets
WebCSSCascade
to simplify the development process, web developers often use a css reset style sheet, forcing common properties values to a known state before beginning to make alterations to suit their specific needs.
Layout and the containing block - CSS: Cascading Style Sheets
each box is divided into four areas: content area padding area border area margin area many developers believe that the containing block of an element is always the content area of its parent, but that isn't necessarily true.
Questions about CSS - CSS: Cascading Style Sheets
WebCSSFAQ
cascading style sheets (css) is a rule-based language allowing developers to define styles to apply to html elements (or other markup structures).
Privacy and the :visited selector - CSS: Cascading Style Sheets
*/ } :visited { outline-color: orange; /* visited links have an orange outline */ background-color: green; /* visited links have a green background */ color: yellow; /* visited links have yellow colored text */ } impact on web developers overall, these restrictions shouldn't affect web developers too significantly.
CSS Tutorials - CSS: Cascading Style Sheets
WebCSSTutorials
understanding z-index controlling superposition of boxes is a basic feature that is very quickly needed by web developers.
Viewport concepts - CSS: Cascading Style Sheets
to tell a mobile browser to use the viewport width instead of the default 980px as the width of the screen, developers can include a viewport meta tag, like the following: <meta name="viewport" content="width=device-width"> the width property controls the size of the viewport.
Visual formatting model - CSS: Cascading Style Sheets
developers sometimes clear floats by changing the value of the overflow property, as this creates a new block formatting context.
background-image - CSS: Cascading Style Sheets
note: even if the images are opaque and the color won't be displayed in normal circumstances, web developers should always specify a background-color.
<color> - CSS: Cascading Style Sheets
it was essentially added to allow developers to override an inherited solid color.
display - CSS: Cascading Style Sheets
WebCSSdisplay
the <display-legacy> methods allow the same results with single keyword values, and should be favoured by developers until the two keyword values are better supported.
env() - CSS: Cascading Style Sheets
WebCSSenv
originally provided by the ios browser to allow developers to place their content in a safe area of the viewport, the safe-area-inset-* values defined in the specification can be used to help ensure content is visible even to viewers using non‑rectangular displays.
Guide to scroll anchoring - CSS: Cascading Style Sheets
in bug 1584285 the layout.css.scroll-anchoring.suppressions.enabled flag was added to firefox nightly in order to allow the disabling of these triggers further reading explainer document on the wicg site scroll anchoring for web developers on the chromium blog implement a pin-to-bottom scrolling element using scroll anchoring ...
text-size-adjust - CSS: Cascading Style Sheets
supporting inflation, none in other cases (and then not modifiable).applies toall elementsinheritedyespercentagesyes, refer to the corresponding size of the text fontcomputed valueas specifiedanimation typediscrete formal syntax none | auto | <percentage> examples basic disabling usage as hinted at above, on a properly designed responsive site the text-size-adjust behavior is not needed, so developers can elect to turn it off by specifying a vlaue of none: p { -webkit-text-size-adjust: none; text-size-adjust: none; } specifications specification status comment css mobile text size adjustment module level 1the definition of 'text-size-adjust' in that specification.
regexp:match() - EXSLT
WebEXSLTregexpmatch
for example: <xsl:for-each select="regexp:match('http://developer.mozilla.org/en/docs/firefox_3_for_developers', '(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)')"> part <xsl:value-of select="position()" /> = <xsl:value-of select="." /> </xsl:for-each> this code generates the following output: part 1 = http://developer.mozilla.org/en/docs/firefox_3_for_developers part 2 = http part 3 = developer.mozilla.org part 4 = part 5 = /en/docs/firefox_3_for_developers specifications e...
Writing Web Audio API code that works in every browser - Developer guides
if they aren't, you might be able to change them into something "acceptable" for the time being, and count on the talented audio developers to implement those very soon.
Creating a cross-browser video player - Developer guides
using the media api html5 comes with a javascript media api that allows developers access to and control of html5 media.
Overview of events and handlers - Developer guides
documents three sources on the mdn (mozilla developer network) web site are particularly useful for programmers wanting to work with events: this event guide which is part of the web developers' guide, the event reference, the web api documentation for the event object.
Constraint validation - Developer guides
visual styling of constraint validation apart from setting constraints, web developers want to control what messages are displayed to the users and how they are styled.
HTML5 - Developer guides
WebGuideHTMLHTML5
designed to be usable by all open web developers, this reference page links to numerous resources about html5 technologies, classified into several groups based on their function.
Using HTML sections and outlines - Developer guides
it is important for developers to use these semantic elements in line with their intended purposes.
Mobile Web Development - Developer guides
WebGuideMobile
also see jason grlicky's guide to mobile-friendliness for web developers.
User input and controls - Developer guides
pointer events help developers more easily manage events across devices by normalizing the handling of each one.
The HTML autocomplete attribute - HTML: Hypertext Markup Language
autocomplete lets web developers specify what if any permission the user agent has to provide automated assistance in filling out form field values, as well as guidance to the browser as to the type of information expected in the field.
<acronym> - HTML: Hypertext Markup Language
WebHTMLElementacronym
instead web developers should use the <abbr> element.
<big>: The Bigger Text element - HTML: Hypertext Markup Language
WebHTMLElementbig
instead web developers should use the css font-size property to adjust the font size.
<em>: The Emphasis element - HTML: Hypertext Markup Language
WebHTMLElementem
<em> new developers are often confused at seeing multiple elements that produce similar results.
<input type="datetime"> - HTML: Hypertext Markup Language
WebHTMLElementinputdatetime
instead, browsers are implementing (and developers are encouraged to use) <input type="datetime-local">.
<input type="hidden"> - HTML: Hypertext Markup Language
WebHTMLElementinputhidden
<input> elements of type hidden let web developers include data that cannot be seen or modified by users when a form is submitted.
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
WebHTMLElementinput
as web developers, it's important that we never assume that people will know all the things that we know.
<script>: The Script element - HTML: Hypertext Markup Language
WebHTMLElementscript
developers must use a valid mime type that is not a javascript mime type to denote data blocks.
class - HTML: Hypertext Markup Language
though the specification doesn't put requirements on the name of classes, web developers are encouraged to use names that describe the semantic purpose of the element, rather than the presentation of the element.
dir - HTML: Hypertext Markup Language
as the directionality of the text is semantically related to its content and not to its presentation, it is recommended that web developers use this attribute instead of the related css properties when possible.
Microdata - HTML: Hypertext Markup Language
web developers can design a custom vocabulary or use vocabularies available on the web, such as the widely used schema.org vocabulary.
Using the application cache - HTML: Hypertext Markup Language
as of firefox 44+, when appcache is used to provide offline support for a page, a warning message displays in the console advising developers to use service workers instead (bug 1204581).
Evolution of HTTP - HTTP
this amassed interest from developers working on both browsers and servers.
MIME types (IANA media types) - HTTP
important mime types for web developers application/octet-stream this is the default for binary files.
Resource URLs - HTTP
note: it is recommended that web and extension developers don’t try to use resource urls anymore.
Compression in HTTP - HTTP
in practice, web developers don't need to implement compression mechanisms, both browsers and servers have it implemented already, but they have to be sure that the server is configured adequately.
Connection management in HTTP/1.x - HTTP
http pipelining http pipelining is not activated by default in modern browsers: buggy proxies are still common and these lead to strange and erratic behaviors that web developers cannot foresee and diagnose easily.
Using Feature Policy - HTTP
for example, allow all browsing contexts within this iframe to use fullscreen: <iframe src="https://example.com..." allow="fullscreen"></iframe> this is equivalent to: <iframe src="https://example.com..." allow="fullscreen 'src'"></iframe> this example allows <iframe> content on a particular origin to access the user's location: <iframe src="https://google-developers.appspot.com/demos/..." allow="geolocation https://google-developers.appspot.com"></iframe> similar to the http header, several features can be controlled at the same time by specifying a semicolon-separated list of policy directives.
Clear-Site-Data - HTTP
it allows web developers to have more control over the data stored locally by a browser for their origins.
Content-Security-Policy-Report-Only - HTTP
the http content-security-policy-report-only response header allows web developers to experiment with policies by monitoring (but not enforcing) their effects.
A typical HTTP session - HTTP
WebHTTPSession
to work around this problem, web developers use several techniques: ping the server periodically via the xmlhttprequest, fetch apis, using the websockets api, or similar protocols.
304 Not Modified - HTTP
WebHTTPStatus304
many developer tools' network panels of browsers create extraneous requests leading to 304 responses, so that access to the local cache is visible to developers.
About JavaScript - JavaScript
each of mozilla's javascript engines expose a public api which application developers can use to integrate javascript into their software.
Memory Management - JavaScript
this automaticity is a potential source of confusion: it can give developers the false impression that they don't need to worry about memory management.
Date - JavaScript
it needs real-world feedback from web developers, but is not yet ready for production use!
FinalizationRegistry - JavaScript
notes on cleanup callbacks some notes on cleanup callbacks: developers shouldn't rely on cleanup callbacks for essential program logic.
Planned changes to shared memory - JavaScript
there is standardization work ongoing that enables developers to create sharedarraybuffer objects again, but changes are needed in order to be use these across threads (i.e., postmessage() for sharedarraybuffer objects throws by default).
String.prototype.big() - JavaScript
instead web developers should use css properties.
String.prototype.fontcolor() - JavaScript
instead web developers should use css properties.
String.prototype.fontsize() - JavaScript
instead web developers should use css properties.
WebAssembly.Instance() constructor - JavaScript
syntax important: since instantiation for large modules can be expensive, developers should only use the instance() constructor when synchronous instantiation is absolutely required; the asynchronous webassembly.instantiatestreaming() method should be used at all other times.
WebAssembly.Module() constructor - JavaScript
syntax important: since compilation for large modules can be expensive, developers should only use the module() constructor when synchronous compilation is absolutely required; the asynchronous webassembly.compilestreaming() method should be used at all other times.
WebAssembly.Module.customSections() - JavaScript
(read high level structure for information on section structures, and how normal sections ("known sections") and custom sections are distinguished.) this provides developers with a way to include custom data inside wasm modules for other purposes, for example the name custom section, which allows developers to provide names for all the functions and locals in the module (like "symbols" in a native build).
instanceof - JavaScript
note for mozilla developers: in code using xpcom, instanceof has special effect: obj instanceof xpcominterface (e.g.
new operator - JavaScript
the new operator lets developers create an instance of a user-defined object type or of one of the built-in object types that has a constructor function.
Transitioning to strict mode - JavaScript
this article aims at providing guidance for developers.
categories - Web app manifests
developers are encouraged to use lower case in the first place.
description - Web app manifests
type string mandatory no the description member is a string in which developers can explain what the application does.
display - Web app manifests
type string mandatory no the display member is a string that determines the developers’ preferred display mode for the website.
Digital audio concepts - Web media technologies
for details about the most important and useful ones for web developers to be familiar with, see the article guide to audio codecs used on the web.
Web video codec guide - Web media technologies
licensing is managed by mpeg la; fees are charged to developers rather than to content producers and distributors.
Media type and format guide: image, audio, and video content - Web media technologies
WebMediaFormats
references images image file type and format guide covers support of image file types and content formats across the major web browsers, as well as providing basic information about each type: benefits, limitations, and use cases of interest to web designers and developers.
Mapping the width and height attributes of media container elements to their aspect-ratio - Web media technologies
to keep images from breaking out of their containers when the container becomes narrower than the image, developers started using css like the following: img { max-width: 100%; height: auto; } this is really useful for responsive layouts, but unfortunately it causes the jank problem to return — the above css overrides the width and height attribute information, meaning that if the image has not loaded for some reason, its height will be set to 0.
OpenSearch description format
in addition, the search plugin service provides a logging mechanism that may be useful to plugin developers.
Populating the page: how browsers work - Web Performance
to be fast to load, the developers’ goals include sending requested information as fast as possible, or at least seem super fast.
Using dns-prefetch - Web Performance
dns-prefetch helps developers mask dns resolution latency.
Progressive web app structure - Progressive web apps (PWAs)
the streams api allows developers to have direct access to data streaming from the server — if you want to perform an operation on the data (for example, adding a filter to a video), you no longer need to wait for all of it to be downloaded and converted to a blob (or whatever) — you can start right away.
PWA developer guide - Progressive web apps (PWAs)
using service workers to run offline description alerting the user using notifications description creating a web app from an existing site description advanced topics pushing data from the server to your web application some description resource management description integration with the host device description security and privacy description gaming topics for web app developers description polishing web apps web api equivalents for common native apis some description platform-specific tips and issues description web application performance guide description ensuring a good user experience description related topics some topic some description ...
Introduction to progressive web apps - Progressive web apps (PWAs)
this means developers should take into account the differences in implementation of some pwa features and technologies between different browser implementations.
Making PWAs work offline with Service workers - Progressive web apps (PWAs)
they finally fix issues that front-end developers have struggled with for years — most notably how to properly cache the assets of a website and make them available when the user’s device is offline.
Structural overview of progressive web apps - Progressive web apps (PWAs)
the streams api allows developers to have direct access to data streaming from the server.
SVG animation with SMIL - SVG: Scalable Vector Graphics
although chrome 45 deprecated smil in favor of css animations and web animations, the chrome developers have since suspended that deprecation.
Introduction - SVG: Scalable Vector Graphics
hopefully, along with the tutorial here, mdn can help developers keep up with the differences between gecko and some of the other major implementations.
Paths - SVG: Scalable Vector Graphics
WebSVGTutorialPaths
however, paths are used so often in drawing svg that developers may be more comfortable using them instead.
SVG: Scalable Vector Graphics
WebSVG
this allows developers to create rich animations and interactive images.
Insecure passwords - Web security
web developers of the news site may be less motivated to secure their site and their user credentials.
Mixed content - Web security
to make it easier for web developers to find mixed content errors, all blocked mixed content requests are logged to the security pane of the web console, as seen below: to fix this type of error, all requests to http content should be removed and replaced with content served over https.
Web Components
concepts and usage as developers, we all know that reusing code as much as possible is a good idea.
Comparison of CSS Selectors and XPath - XPath
xslt/xpath reference: xslt elements, exslt functions, xpath functions, xpath axes this article seeks to document the difference between css selectors and xpath for web developers to be able to better choose the right tool for the right job.
Index - XPath
WebXPathIndex
16 comparison of css selectors and xpath css, draft, needscontent, reference, selectors, xpath this article seeks to document the difference between css selectors and xpath for web developers to be able to better choose the right tool for the right job.
Index - XSLT: Extensible Stylesheet Language Transformations
WebXSLTIndex
9 introduction gecko, intro, javascript, xslt with modern browsers supporting xslt, developers can now use javascript to access the power that xslt provides.
Introduction - XSLT: Extensible Stylesheet Language Transformations
introduction with modern browsers supporting xslt, developers can now use javascript to access the power that xslt provides.
Index - WebAssembly
4 compiling an existing c module to webassembly c++, compiling, emscripten, webassembly, wasm a core use-case for webassembly is to take the existing ecosystem of c libraries and allow developers to use them on the web.
Using the WebAssembly JavaScript API - WebAssembly
starting soon in firefox, in addition to viewing webassembly as text, developers will be able to debug (place breakpoints, inspect the callstack, single-step, etc.) webassembly using the text format.
Compiling an Existing C Module to WebAssembly - WebAssembly
a core use-case for webassembly is to take the existing ecosystem of c libraries and allow developers to use them on the web.
WebAssembly
compiling an existing c module to webassembly a core use-case for webassembly is to take the existing ecosystem of c libraries and allow developers to use them on the web.