Search completed in 1.92 seconds.
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.
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
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
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 chrome
developers 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
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
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
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
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().
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.
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
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).
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.
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
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!
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.
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
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.
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.
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
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
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 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.
HTML documentation index - HTML: Hypertext Markup Language
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
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
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
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
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
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...
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.
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.
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...
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.
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.
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-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-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.
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.
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.
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 ...
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.
Game development
in this area of the site, we provide resources for web
developers wanting to develop games.
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.
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
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.
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.
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).
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.
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).
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.
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().
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.
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) ...
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.
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.
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 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.
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 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.
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.
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.
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
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
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 and now with red hat.
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, 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
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
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.
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.
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.
XPCOM array guide
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.
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.
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.
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 ...
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.
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.
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
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.
File.type - Web APIs
developers are advised not to rely on this property as a sole validation scheme.
Gamepad.timestamp - Web APIs
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.
IDBIndexSync - Web APIs
it may however be reintroduced in the future if there is enough demand from web
developers.
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.
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
with gecko 28.0 (firefox 28 / thunderbird 28 / seamonkey 2.25 / firefox os 1.3)), the console warned
developers not to omit the argument.
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.
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.
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
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
(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.
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
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
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 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.
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.
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.
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.
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.
display - CSS: Cascading Style Sheets
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
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
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...
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
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.
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.
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.
A typical HTTP session - HTTP
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
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).
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.
display - Web app manifests
type string mandatory no the display member is a string that determines the
developers’ preferred display mode for the website.
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 ...
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
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 - 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.