Search completed in 1.18 seconds.
2694 results for "About":
Your results are loading. Please wait...
about:debugging - Firefox Developer Tools
the about:debugging page provides a single place from which you can attach the firefox developer tools to a number of debugging targets.
... opening the about:debugging page there are two ways to open about:debugging: type about:debugging in the firefox url bar.
... when about:debugging opens, on the left-hand side, you'll see a sidebar with two options and information about your remote debugging setup: setup use the setup tab to configure the connection to your remote device.
...And 17 more matches
about:debugging (before Firefox 68) - Firefox Developer Tools
the about:debugging page provides a single place from which you can attach the firefox developer tools to a number of debugging targets.
... opening the about:debugging page there are several different ways to open about:debugging: type "about:debugging" in the firefox url bar.
... when about:debugging opens, on the left-hand side, you'll see a sidebar enabling you to switch between the two main views: one for add-ons and one for workers.
...And 10 more matches
Firefox and the "about" protocol
there is a lot of useful information about firefox hidden away behind the about: url protocol.
... the most useful is the url about:config, which displays preferences and settings that can be inspected and changed.
... available about: urls depend on your specific firefox version.
...And 9 more matches
nsIAboutModule
netwerk/protocol/about/nsiaboutmodule.idlscriptable this interface is implemented to add an 'about:' page.
... the contract id ends with a parameter that corresponds to the name of the about page.
...if it is, web pages and so forth will be allowed to link to this about: uri.
...And 7 more matches
Custom about: URLs - Archive of obsolete content
this page describes how to register a new about: url for your extension.
... setup for firefox 4+ this is a simple example of a custom about page for bootstrapped addons.
... this example creates an about page with url about:myaboutpage which takes a user to a page that writes some text out.
...And 6 more matches
about:memory
about:memory is a special page within firefox that lets you view, save, load, and diff detailed measurements of firefox's memory usage.
...perhaps you want to investigate it yourself, or perhaps someone has asked you to use about:memory to generate "memory reports" so they can investigate a problem you are having.
...once firefox's memory usage has gotten high) open a new tab and type "about:memory" into the address bar and hit "enter".
...And 6 more matches
Appendix: What you should know about open-source software licenses - Archive of obsolete content
appendix: what you should know about open-source software licenses draft this page is not complete.
... about copyright to put it very broadly, copyright is a creator’s right to decide how a work is published and how it is used.
... the different meanings of the word “use” when we talk about the ways an author uses a work, we mean printing or recording and distributing it.
...And 5 more matches
About the JavaScript reference - JavaScript
the javascript reference serves as a repository of facts about the javascript language.
... functions chapter about javascript functions.
... classes chapter about javascript classes introduced in ecmascript 2015.
...And 2 more matches
Index - Web APIs
WebAPIIndex
126 audiocontext.createjavascriptnode() api, audio, method, obsolete, reference, web, createjavascriptnode the following script illustrates the use of createjavascriptnode(): 127 audiocontext.createmediaelementsource() api, audiocontext, method, reference, référence(2), web audio api, createmediaelementsource for more details about media element audio source nodes, check out the mediaelementaudiosourcenode reference page.
... 129 audiocontext.createmediastreamsource() api, audio, audiocontext, audionode, media, mediastream, mediastreamtrack, method, reference, web, web audio, web audio api, createmediastreamsource for more details about media stream audio source nodes, check out the mediastreamaudiosourcenode reference page.
... 263 battery status api api, apps, battery, battery api, battery status api, guide, mobile, obsolete, overview the battery status api, more often referred to as the battery api, provides information about the system's battery charge level and lets you be notified by events that are sent when the battery level or charging status change.
...And 138 more matches
Index - Archive of obsolete content
or perhaps you're just curious about the history of an obsolete feature or api, and how it worked.
... 4 api api, archive archived documentation about obsolete web standards apis.
... 109 system/runtime access to information about firefox's runtime environment.
...And 58 more matches
Index - Learn web development
5 css and javascript accessibility best practices accessibility, article, css, codingscripting, guide, javascript, learn, color, contrast, hiding, unobtrusive we hope this article has given you a good amount of detail and understanding about the accessibility issues surrounding css and javascript use on web pages.
... 8 mobile accessibility accessibility, article, beginner, codingscripting, learn, mobile, responsive, screenreader, touch in this article, we have provided you with some details about common mobile accessibility-specific issues and how to overcome them.
...you should now also have a thirst to learn about the implementation details that can make sites accessible, and we'll start on that in the next section, looking at why html is a good basis for accessibility.
...And 57 more matches
Index
that's a good opportunity to talk about ssl/tls connections to servers in general (not just ev, not just websites).
...but if you don't care about modifying the default trust permanently (recorded on disk), you can use the no-database init calls.
... 74 nss 3.21 release notes 2016-01-07, this page has been updated to include additional information about the release.
...And 29 more matches
Index
MozillaTechXPCOMIndex
2 accessing the windows registry using xpcom add-ons, code snippets, extensions, needsclassification, windows registry when implementing windows-specific functionality, it is often useful to access the windows registry for information about the environment or other installed programs.
...the resources here provide information about this language binding and how to use it.
...it lets you get pointers to components inside mozilla, and it lets you talk about their interfaces as well.
...And 29 more matches
XUL controls - Archive of obsolete content
<button label="save" accesskey="s"/> more information about the button element.
... <button type="menu" label="view"> <menupopup> <menuitem label="list"/> <menuitem label="details"/> </menupopup> </button> more information about this type of menu button element.
... <button type="menu-button" label="new"> <menupopup> <menuitem label="new document"/> <menuitem label="new image"/> </menupopup> </button> more information about this type of menu button element.
...And 16 more matches
sslfnc.html
see the description below for more information about this option.
...for information about the options available and the possible values to pass in this parameter, see the description of the option parameter under ssl_optionsetdefault.
...applications may disable any cipher suites that they don't know about (for example, that they cannot present to the user via a gui).
...And 15 more matches
Mozilla
the articles below include content about downloading and building mozilla code.
... in addition, you'll find helpful articles about how the code works, how to build add-ons for mozilla applications and the like.
...see the gecko overview for more information about the style system.
...And 14 more matches
Event reference
each event is represented by an object which is based on the event interface, and may have additional custom fields and/or functions used to get additional information about what happened.
... beforeunload the window, the document and its resources are about to be unloaded.
... focusin an element is about to receive focus (does bubble).
...And 14 more matches
@font-feature-values - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 9.1webview android no support nochrome android no support nofirefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 9.3samsung internet android no support no@annotationchrome no support noedge no support nofirefox full support 34 full support ...
...to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 9.1webview android no support nochrome android no support nofirefox android full support 34 full support 34 full support ...
...And 13 more matches
Game promotion - Game development
there are many ways to promote your game — most of them being free, so even if you're struggling to make a living as an indie dev with zero budget you can still do a lot to let people know about your great new game.
... website and blog you should definitely create your own website containing all the information about your games, so people can see what you've worked on.
... you should also blog about everything related to your gamedev activities.
...And 12 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.
... this article provides some hints and tips in both of these areas that will help you get more out of learning web development, as well as further reading so you can find out more information about each sub-topic should you wish..
... effective learning let's move straight on and think about effective learning.
...And 12 more matches
TypeScript support in Svelte - Learn web development
previous overview: client-side javascript frameworks next in the last article we learned about svelte stores and even implemented our own custom store to persist the app's information to web storage.
...there are different opinions about it, and in this chapter we will talk briefly about the pros and cons of using typescript.
... note: if you are curious about how typescript transpiles our code to javascript you can have a look at the typescript playground.
...And 12 more matches
Zombie compartments
viewing live compartments if you want to see a list of live compartments, type "about:memory" into the address bar and click on the measure button.
... js-compartment([system principal], 0x7f10f1250000) compartment(atoms) js-compartment(about:home) js-compartment(about:blank) compartment([system principal], resource://gre/modules/addons/xpiprovider.jsm) when looking at user compartments there are a couple of things to be aware of.
... for example, if i open https://bugzilla.mozilla.org/show_bug.cgi?id=668871 in one tab, then compartment(https://bugzilla.mozilla.org/show_bug.cgi?id=668871) will show up in about:memory.
...And 12 more matches
Introduction to client-side frameworks - Learn web development
overview: client-side javascript frameworks next we begin our look at frameworks with a general overview of the area, looking at a brief history of javascript and frameworks, why frameworks exist and what they give us, how to start thinking about choosing a framework to learn, and what alternatives there are to client-side frameworks.
... objective: to understand how client-side javascript frameworks came to exist, what problems they solve, what alternatives there are, and how to go about choosing one.
...a framework is a library that offers opinions about how software gets built.
...And 11 more matches
JSAPI User Guide
(this is a mere nicety if the process is about to exit anyway.
...it amounts to about 80 lines of code, as shown below.
...the garbage collector is rather eager about its job.
...And 11 more matches
BasicCardResponse - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
...to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...And 11 more matches
Introduction to XPCOM for the DOM
the use of xpcom and nscomptr's described in this document covers about 80% of what you need to know to read the dom code, and even write some.
...a tutorial about how to add a new interface is also provided, and eventually, a more detailed discussion of class inheritance in c++.
...interface to a set of methods that manipulate an object (often represented by a class), without worrying about the details of the implementation.
...And 10 more matches
Plug-in Basics - Plugins
go to the help menu, and click help and then about plug-ins.
... type "about:plugins" in the location bar.
...for more information about helper applications, refer to the netscape online help.
...And 10 more matches
Index - Archive of obsolete content
ArchiveMozillaXULIndex
for more information about how to use an overlay to modify a menu, see using menus and popups in extensions 441 methods xul methods, xul reference no summary!
... 612 tooltips xul, xul popup guide a tooltip is used to provide descriptive help to the user about the control that the mouse is over.
...this is a useful means of providing additional details about a user interface without cluttering up the main interface.
...And 9 more matches
Plug-in Development Overview - Gecko Plugin API Reference
also see making plug-ins scriptable for more information about making plug-ins accessible from the browser.
...for information about the html elements to use, see using html to display plug-ins.
...for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different platforms.
...And 9 more matches
What is accessibility? - Learn web development
we traditionally think of this as being about people with disabilities, but the practice of making sites accessible also benefits other groups such as those using mobile devices, or those with slow network connections.
... caring about accessibility demonstrates good ethics and morals, which improves your public image.
...the key lesson here is to think beyond your own computer and how you use the web, and start learning about how others use it — you are not your users.
...And 9 more matches
Storing the information you need — Variables - Learn web development
but one special thing about variables is that their contained values can change.
... to understand why this is so useful, let's think about how we'd write this example without using a variable.
... variables just make sense, and as you learn more about javascript they will start to become second nature.
...And 9 more matches
Client-Server Overview - Learn web development
an html file containing information about a product, or a list of products).
... head: get the metadata information about a specific resource without getting the body like get would.
...cookies contain session data about the client, including keys that the server can use to determine their login status and permissions/accesses to resources.
...And 9 more matches
Handling common accessibility problems - Learn web development
however, it is wrong to say that accessibility is just about disabilities.
... in a way, this whole module is about accessibility — cross browser testing makes sure that your sites can be used by as many people as possible.
...we've already talked about other spheres such as responsive design and performance in other places in the module.
...And 9 more matches
Application Translation with Mercurial
the page which opens has a bar holding information about how many texts (strings) have already been translated, how many there are in english and your locale and have the same text, and how many are missing in your local.
...in this example, the file aboutdialog can be found in the folder browser/chrome/browser/.
...in this example we will translate the one new text with the id privatebrowsingpage.howtostart4 in the file aboutprivatebrowsing.dtd.
...And 9 more matches
Gecko Profiler FAQ
this documents lists a number of questions asked by people in preparation for a tutorial session about the gecko profiler.
... the gecko profiler currently doesn’t have the ability to show you information about line numbers, neither for js code nor for native code.
... for js code, the profiler platform doesn’t capture any information about lines.
...And 9 more matches
Plug-in Development Overview - Plugins
also see making plug-ins scriptable for more information about making plug-ins accessible from the browser.
...for information about the html elements to use, see using html to display plug-ins.
...for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different platforms.
...And 9 more matches
RTCStatsReport - Web APIs
codec an rtccodecstats object containing statistics about a codec currently being used by rtp streams to send or receive data for the rtcpeerconnection.
... data-channel an rtcdatachannelstats object which contains statistics about each rtcdatachannel on the connection.
... inbound-rtp an rtcinboundrtpstreamstats object providing statistics about inbound data being received from remote peers.
...And 9 more matches
RTCStatsType - Web APIs
codec an rtccodecstats object containing statistics about a codec currently being used by rtp streams to send or receive data for the rtcpeerconnection.
... data-channel an rtcdatachannelstats object which contains statistics about each rtcdatachannel on the connection.
... inbound-rtp an rtcinboundrtpstreamstats object providing statistics about inbound data being received from remote peers.
...And 9 more matches
Using Service Workers - Web APIs
however, it made many assumptions about what you were trying to do and then broke horribly when your app didn’t follow those assumptions exactly.
...if however you find that demo code is not working in your installed versions, you might need to enable a pref: firefox nightly: go to about:config and set dom.serviceworkers.enabled to true; restart browser.
... microsoft edge: go to about:flags and tick enable service workers; restart browser.
...And 9 more matches
Introduction to Public-Key Cryptography - Archive of obsolete content
for more information about the role of cas, see "how ca certificates are used to establish trust".
...for more detailed information about ssl, see "introduction to ssl." signed and encrypted email some email programs support digitally signed and encrypted email using a widely accepted protocol known as secure multipurpose internet mail extension (s/mime).
...(for information about the way digital signatures work, see "digital signatures".) s/mime also makes it possible to encrypt email messages.
...And 8 more matches
HTML: A good basis for accessibility - Learn web development
html and accessibility as you learn more about html — read more resources, look at more examples, etc.
...after all, you can use a combination of css and javascript to make just about any html element behave in whatever way you want.
... good semantics we've already talked about the importance of proper semantics, and why we should use the right html element for the job.
...And 8 more matches
HTML: A good basis for accessibility - Learn web development
html and accessibility as you learn more about html — read more resources, look at more examples, etc.
...after all, you can use a combination of css and javascript to make just about any html element behave in whatever way you want.
... good semantics we've already talked about the importance of proper semantics, and why we should use the right html element for the job.
...And 8 more matches
HTML text fundamentals - Learn web development
(you'll find out more about these later on in the course.) we've applied some css to it to make it look like a top level heading, but since it has no semantic value, it will not get any of the extra benefits described above.
...lists are everywhere on the web, too, and we've got three different types to worry about.
...that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; } updatecode(); }; ordered ordered lists are lists in which the order of the items does matter—let's take a set of directions as an example: drive to the end of the road turn right go straight across the first two roundabouts turn left at the third roundabout the school is on your right, 300 meters up the road the markup structure is the same as for unordered lists, except that you have to wrap the list items in an <ol> element, rather than <ul>: <ol> <li>drive to the end of the road</li> <li>turn right</li> <li>go straight across the first two roundabouts</li> <li>turn left at the third roundabout</li> <...
...And 8 more matches
An Overview of XPCOM
« previousnext » this is a book about xpcom.
... the book is presented as a tutorial about creating xpcom components, but it covers all major aspects, concepts, and terminology of the xpcom component model along the way.
...the difference here is that a "helloworld" application in xpcom finds this screen-printing functionality at runtime and never has to know about stdio when it's compiled.
...And 8 more matches
Mail and RDF
you should learn about rdf before reading this document or you will be hopelessly confused.
... datasources we have a few primary datasources used in mail: nsmsgaccountdatasource - answers queries about arcs coming out of msgaccounts:/.
...note that it does not actually know anything about the servers who's uris it returns.
...And 8 more matches
Fullscreen API - Web APIs
see using feature policy to learn more about using feature policy to control access to an api.
...to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.
...And 8 more matches
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
if you're interested in more about gecko's msaa implementation, read gecko info for windows accessibility vendors to learn how msaa clients can utilize gecko's msaa support.
...they need to know about focus changes and other events, and it needs to know what objects are contained in the current document or dialog box.
...for example, gecko support isimpledomnode to provide information about the dom node for an accessible object.
...And 8 more matches
HTTP Index - HTTP
WebHTTPIndex
70 content-disposition http, reference, header in a multipart/form-data body, the http content-disposition general header is a header that can be used on the subpart of a multipart body to give information about the field it applies to.
... 123 feature-policy: accelerometer accelerometer, directive, feature policy, http, reference the http feature-policy header accelerometer directive controls whether the current document is allowed to gather information about the acceleration of the device through the accelerometer interface.
... 124 feature-policy: ambient-light-sensor ambient light sensor, feature policy, http the http feature-policy header ambient-light-sensor directive controls whether the current document is allowed to gather information about the amount of light in the environment around the device through the ambientlightsensor interface.
...And 8 more matches
JavaScript modules - JavaScript
it has therefore made sense in recent years to start thinking about providing mechanisms for splitting javascript programs up into separate modules that can be imported when needed.
... the good news is that modern browsers have started to support module functionality natively, and this is what this article is all about.
...to change preferences in firefox, visit about:config.ie no support noopera full support 48safari full support 10.1webview android full support 61chrome android full support 61firefox android full support ...
...And 8 more matches
test/assert - Archive of obsolete content
you can use this object to make assertions about your program's state.
... assert an object used to make assertions about a program's state in order to implement unit tests.
... message : string optional message to log, providing extra information about the test.
...And 7 more matches
Popup Guide - Archive of obsolete content
tooltips when the mouse is positioned over a ui control, a tooltip provides a small box with descriptive help about that control.
... working with popups the following additional information is available about manipulating menus and popups.
...for detailed information about how to open a popup see opening a popup or opening a menu.
...And 7 more matches
Mozilla release FAQ - Archive of obsolete content
general questions about the mozilla project what is mozilla?
...for example, if you were to make a proposal to compress whole webpages before sending them, devise a new protocol to do so, research how http works, how html works, and think about all the good *and* bad points of reworking things.
...when i try to use cvs on windows, i get an error about no home directory you need to set the home environment variable to a valid directory, as cvs was designed with unix in mind, and wants to put a file in your home directory (the password file) i'm on a unix system, and still am having problems building here's a brief guide to common build problems: cc1: invalid option 'foo' cc: no such file or directory 'foo' these are almost always caused by you...
...And 7 more matches
WAI-ARIA basics - Learn web development
an important point about wai-aria attributes is that they don't affect anything about the web page, except for the information exposed by the browser's accessibility apis (where screenreaders get their information from).
... next, you need to worry about whether the browsers in question support aria features and expose them via their apis, but also whether screenreaders recognise that information and present it to their users in a useful way.
...instead, we will cover the most critical wai-aria features for you to know about; if we don't mention any support details, you can assume that the feature is well-supported.
...And 7 more matches
What’s in the head? Metadata in HTML - Learn web development
it contains information such as the page <title>, links to css (if you choose to style your html content with css), links to custom favicons, and other metadata (data about the html, such as the author, and important keywords that describe the document.) in this article we'll cover all of the above and more, in order to give you a good basis for working with markup.
... objective: to learn about the html head, its purpose, the most important items it can contain, and what effect it can have on the html document.
...instead, the head's job is to contain metadata about the document.
...And 7 more matches
CustomizableUI.jsm
note that it is expressly not really aware about the specific ui used by users to make customizations.
...customizableui assumes that each area it is told about is present in every browser window.
...anode is the dom node changed, anextnode the dom node (if any) before which a widget will be inserted, acontainer the actual dom container (could be an overflow panel in case of an overflowable toolbar), and awasremoval is true iff the action about to happen is the removal of the dom node.
...And 7 more matches
DevTools API - Firefox Developer Tools
a definition is a js light object that exposes different information about the tool (like its name and its icon), and a build method that will be used later-on to start an instance of this tool.
... parameters: tooldefinition {tooldefinition} - an object that contains information about the tool.
... parameters: themedefinition {themedefinition} - an object that contains information about the theme.
...And 7 more matches
HTTP headers - HTTP
WebHTTPHeaders
request headers contain more information about the resource to be fetched, or about the client requesting the resource.
... response headers hold additional information about the response, like its location or about the server providing it.
... entity headers contain information about the body of the resource, like its content length or mime type.
...And 7 more matches
Extension Versioning, Update and Compatibility - Archive of obsolete content
compatibility updates during the automatic update checks, applications look for both new versions and updated compatibility information about the currently installed version of an add-on.
...it lists information about 2 different versions of the extension with id foobar@developer.mozilla.org.
... it is important to get the initial rdf:description's about attribute correct.
...And 6 more matches
Install Manifests - Archive of obsolete content
firefox or thunderbird) uses to determine information about an add-on as it is being installed.
... it contains metadata identifying the add-on, providing information about who created it, where more information can be found about it, which versions of what applications it is compatible with, how it should be updated, and so on.
... layout the basic layout of an install manifest is like so: <?xml version="1.0" encoding="utf-8"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <!-- properties --> </description> </rdf> some properties are required, some are optional.
...And 6 more matches
The box model - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to learn about the css box model, what makes up the box model and how to switch to the alternate model.
...any direct children of this box will become flex items and will be laid out according to the rules set out in the flexbox spec, which you'll learn about later on.
... note: to read more about the values of display, and how boxes work in block and inline layout, take a look at the mdn guide to block and inline layout.
...And 6 more matches
Deployment and next steps - Learn web development
previous overview: client-side javascript frameworks in the previous article we learning about svelte's typescript support, and how to use it to make your application more robust.
...there are different opinions about it, and in this chapter we will talk briefly about the pros and cons of using typescript.
... learning more about svelte in this section we'll give you some resources and projects to go and check out, to take your svelte learning further.
...And 6 more matches
Introduction to cross browser testing - Learn web development
you need to think about: different browsers other than the one or two that you use regularly on your devices, including slightly older browsers that some people might still be using, which don't support all the latest, shiniest css and javascript features.
...to start with, when we talk about sites "working cross browser", we are really saying that they should provide an acceptable user experience across different browsers.
... second, when we say "across an acceptable number of web browsers", we don't mean 100% of the browsers in the world — this is just about impossible.
...And 6 more matches
Package management basics - Learn web development
a project dependency can be an entire javascript library or framework — such as react or vue — or a very small utility like our human-readable date library, or it can be a command line tool such as prettier or eslint, which we talked about in previous articles.
...type in something really simple, like "a simple npm package to learn about using npm", then press return.
...open it up and it should look something like this: { "name": "parcel-experiment", "version": "1.0.0", "description": "a simple npm package to learn about using npm", "main": "index.js", "scripts": { "test": "echo \"error: no test specified\" && exit 1" }, "author": "chris mills", "license": "isc" } so this is the config file that defines your package.
...And 6 more matches
Creating the Component Code
using xpcom utilities to make things easier shows some simpler and more elegant ways to create an xpcom component using generic macros, and this chapter is more about learning the basics.
...in this case, the long-hand implementation gives us an opportunity to talk about various features of xpcom.
...instead, the nsimodule can ask for implementation details about the xpcom object.
...And 6 more matches
Observer Notifications
see receiving startup notifications for more information about how this works.
... quit-application the application is about to quit.
...see working with bfcache for information about the bfcache, and inner and outer windows for details about how the window hierarchy works.
...And 6 more matches
WebIDL bindings
the webidl bindings are generated at build time based on two things: the actual webidl file and a configuration file that lists some metadata about how the webidl should be reflected into gecko-internal code.
... the configuration file, dom/bindings/bindings.conf, is basically a python dict that maps interface names to information about the interface, called a descriptor.
... add an entry to dom/bindings/bindings.conf that sets some basic information about the implementation of the interface.
...And 6 more matches
Network request details - Firefox Developer Tools
this pane provides more detailed information about the request.
... network request details clicking on a row displays a new pane in the right-hand side of the network monitor, which provides more detailed information about the request.
... this includes: information about the request status: the response status code for the request; click the "?" icon to go to the reference page for the status code.
...And 6 more matches
Using IndexedDB - Web APIs
about this document this tutorial walks you through using the asynchronous api of indexeddb.
... if you are not familiar with indexeddb, you should first read basic concepts about indexeddb.
...(to learn more about how much storage you can have for each browser, see storage limits.) obviously, browsers do not want to allow some advertising network or malicious website to pollute your computer, so browsers used to prompt the user the first time any given web app attempts to open an indexeddb for storage.
...And 6 more matches
WebGLRenderingContext - Web APIs
webglrenderingcontext.getbufferparameter() returns information about the buffer.
... webglrenderingcontext.getframebufferattachmentparameter() returns information about the framebuffer.
... webglrenderingcontext.getrenderbufferparameter() returns information about the renderbuffer.
...And 6 more matches
WebRTC Statistics API - Web APIs
rtcicecandidatepairstats rtcstats certificate statistics about a certificate being used by an rtcicetransport.
... rtccertificatestats rtcstats codec statistics about a specific codec being used by streams being sent or received by this connection.
... rtcdatachannelstats rtcstats ice-server statistics about the connection to an ice server (stun or turn.
...And 6 more matches
Viewpoints and viewers: Simulating cameras in WebXR - Web APIs
there are a few articles about the fundamental math, geometry, and other concepts behind webgl and webxr which may be useful to read before or while reading this one, including: explaining basic 3d theory matrix math for the web webgl model view projection geometry and reference spaces in webxr ed.
... cameras and relative movement when a classic live-action movie is filmed, the actors are on a set and move about the set as they perform, with one or more cameras watching their moves.
... points of view since the camera is a virtual object which, rather than necessarily representing a physical object in the virtual world, represents a viewer's position and viewing direction, it's useful to think about the kinds of situation that call for the use of a camera.
...And 6 more matches
Geometry and reference spaces in WebXR - Web APIs
you can learn more about the individual operations in matrix math for the web.
...in virtual reality (vr), it's all about creating a sense of space in which the user's movements are precisely matched by the imagery presented on the virtual display, to prevent disjoints and disconnects that could cause discomfort or worse.
... thus it's all about creating a sense of space.
...And 6 more matches
Media container formats (file types) - Web media technologies
in this guide, we'll look at the container formats used most commonly on the web, covering basics about their specifications as well as their benefits, limitations, and ideal use cases.
...see codecs used by webrtc for information about codecs commonly used for making webrtc calls, as well as browser compatibility information around codec support in webrtc.
... index of media container formats (file types) to learn more about a specific container format, find it in this list and click through to the details, which include information about what the container is typically useful for, what codecs it supports, and which browsers support it, among other specifics.
...And 6 more matches
Codecs used by WebRTC - Web media technologies
you'll find details about this on page 47 of rfc 6184.
... mandatory audio codecs codec name browser compatibility opus chrome, edge, firefox, safari g.711 pcm (a-law) chrome, firefox, safari g.711 pcm (µ-law) chrome, firefox, safari see below for more details about any webrtc-specific considerations that exist for each codec listed above.
...you can find more general information about opus and its capabilities, and how other apis can support opus, in the corresponding section of our guide to audio codecs used on the web.
...And 6 more matches
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
true javascript.options.strict (present in firefox 3.5+) enforces strict error output from javascript true table 1: preferences to set for developing extensions to make these changes, start your development profile, type about:config into firefox’s location bar and open the preferences window; find the preferences listed in table 1 and double-click on them to set them accordingly.
...you can learn more about chromebug and download it at http://getfirebug.com/wiki/index.php/chromebug_user_guide you may also find this extension to be valuable: extension developer https://addons.mozilla.org/firefox/addon/7434 developing extensions: what you need to know let’s delve into chrome, something you’ll need to know about in order to develop extensions.
...ensions └───helloworld │ chrome.manifest │ install.rdf │ └───content clock.js clock.xul overlay.xul table 2: how files are used in phase 1 fixme: make the table cleaner file name role install.rdf called the install manifest, this gives basic information about the extension, and is required in order for the extension to be installed in firefox..
...And 5 more matches
The Essentials of an Extension - Archive of obsolete content
you can read about different possible types in the install.rdf specification.
...here's more about the version format.
... you also probably noticed how we format our code, and wonder about the rules we follow.
...And 5 more matches
Creating toolbar buttons (Customize Toolbar Window) - Archive of obsolete content
explaining overlays is beyond the scope of this tutorial -- you can read about them in the xul tutorial.
... here are some discussions at mozillazine about adding a toolbar button in a bootstrap addon: programmatically add a button to toolbar palette?
...the dimensions of the icons in various applications for both modes are summarized in the following table (feel free to add information about other applications): application (theme name) big icon size small icon size firefox 1.0 (winstripe) 24x24 16x16 thunderbird 1.0 (qute) 24x24 16x16 the stylesheet to set the image for your toolbar button, use the following css rules: /* skin/toolbar-button.css */ #myextension-button { list-style-image: url("chrome://myextension/skin/btn_la...
...And 5 more matches
Archive of obsolete content
or perhaps you're just curious about the history of an obsolete feature or api, and how it worked.
... api archived documentation about obsolete web standards apis.
... archived mozilla and build documentation these articles are archived, obsolete documents about mozilla, gecko, and the process of building mozilla projects.
...And 5 more matches
Game distribution - Game development
this article covers all you need to know about the ways in which you can distribute your newly created game into the wild.
... you don't need to have separate teams to work on the same title targeting different platforms with only one code base to worry about.
...you don't even have to worry about looking for a hosting provider as it's possible to host games on github pages.
...And 5 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
144 fetch metadata request header fetch metadata request headers, glossary a fetch metadata request header is a http request header that provides additional information about the context the request originated from.
... 202 head codingscripting, glossary, html, head, metadata the head is the part of an html document that contains metadata about that document, such as author, description, and links to css or javascript files that should be applied to the html.
...hoisting was thought up as a general way of thinking about how execution contexts (specifically the creation and execution phases) work in javascript.
...And 5 more matches
CSS and JavaScript accessibility best practices - Learn web development
screen reader users don't care about any of this — they are happy with the content as long as the source order makes sense, and they can get to it all.
...think carefully about whether you need that shiny javascript-powered 3d information box, or whether plain old text would do.
... think carefully about whether you need a complex non-standard form widget, or whether a text input would do.
...And 5 more matches
Organizing your CSS - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to learn some tips and best practices for organizing stylesheets, and find out about some of the naming conventions and tools in common usage to help with css organization and team working.
...you will thank yourself when you come back to this project in a year or so, and can vaguely remember there was a great tutorial about that thing, but where is it?
...for example, look at the classes applied to this html from the page about bem naming conventions: <form class="form form--theme-xmas form--simple"> <input class="form__input" type="text" /> <input class="form__submit form__submit--disabled" type="submit" /> </form> the additional classes are similar to those used in the oocss example, however they use the strict naming conventions of bem.
...And 5 more matches
create fancy boxes - Learn web development
it's fun because it's all about turning a design idea into working code; it's challenging because of annoying constraints and crazy freedom in the use of css.
... on the technical side, creating fancy boxes are all about mastering css border and background properties and how to apply them to a given box.
... but beyond the technics its also all about unleashing your creativity.
...And 5 more matches
Cooperative asynchronous JavaScript: Timeouts and intervals - Learn web development
clearing intervals setinterval() keeps running a task forever, unless you do something about it.
...have a think about it: the number of seconds in an hour is 3600.
... things to keep in mind about settimeout() and setinterval() there are a few things to keep in mind when working with settimeout() and setinterval().
...And 5 more matches
Basic math in JavaScript — numbers and operators - Learn web development
before you start to get worried about your brain melting, stop right there!
... for a start, we are just going to stick to decimal numbers throughout this course; you'll rarely come across a need to start thinking about other types, if ever.
...but for the purposes of this course, we'll just worry about number values.
...And 5 more matches
Getting started with Svelte - Learn web development
it should take you about 30 minutes to complete.
...�── public │ ├── favicon.ico │ ├── index.html │ ├── global.css │ └── build │ ├── bundle.css │ ├── bundle.css.map │ ├── bundle.js │ └── bundle.js.map └── src ├── app.svelte └── main.js the contents are as follows: package.json and package-lock.json: contains information about the project that node.js/npm uses to keep it organized.
... you don't need to understand this file at all to complete this tutorial, however, if you'd like to learn more about it, you can read what is the file package.json?
...And 5 more matches
Understanding client-side JavaScript frameworks - Learn web development
as an aspiring front-end developer, it can be hard to work out where to begin when learning frameworks — there are so many different frameworks to choose from, new ones appear all the time, they mostly work in a similar way but do some things differently, and there are some specific things to be careful about when using frameworks.
...we are not aiming to exhaustively teach you everything you need to know about react/reactdom, or vue, or some other specific framework; the framework teams' own docs (and other resources) do that job already.
...we want you to go forward and learn about frameworks in a pragmatic way that doesn't forget about web platform fundamental best practices such as accessibility.
...And 5 more matches
Handling common JavaScript problems - Learn web development
confusion about this, in terms of what scope it applies to, and therefore if its value is what you intended.
... linters as with html and css, you can ensure better quality, less error-prone javascript code using a linter, which points out errors and can also flag up warnings about bad practices, etc., and be customized to be stricter or more relaxed in their error/warning reporting.
... other uses there are other ways to use such linters; you can read about them on the jshint and eslint install pages.
...And 5 more matches
Introducing a complete toolchain - Learn web development
three stages of tools as we talked about in chapter 1, the toolchain will be structured into the following phases: safety net: making the software development experience stable and more efficient.
...however, bear in mind that if you want to refine and enforce a rule about how your code looks (or validates), it's very likely that it can be done with the right eslint configuration.
...here is an example eslint output: ./my-project/src/index.js 2:8 error 'react' is defined but never used no-unused-vars 22:20 error 'body' is defined but never used no-unused-vars 96:19 error 'b' is defined but never used no-unused-vars ✖ 3 problems (3 errors, 0 warnings) note: we'll install eslint in the next section; don't worry about this for now.
...And 5 more matches
Client-side tooling overview - Learn web development
in these articles, we won’t answer every question about web tooling, but we will provide you with a useful starting point of understanding the fundamentals, which you can then build from.
... linters linters are tools that check through your code and tell you about any errors that are present, what error types they are, and what code lines they are present on.
...you can find more information about it at git and github.
...And 5 more matches
Mozilla accessibility architecture
accessibility apis are used by 3rd party software like screen readers, screen magnifiers, and voice dictation software, which need information about document content and ui controls, as well as important events like changes of focus.
...accessibility apis on each operating system have built-in assumptions about what is the most important information, and how an accessibility server like mozilla should use the api's programmatic interfaces to expose this information to an accessibility client (the assistive technology).
...the shared code makes itself available to the toolkit-specific code via generic xpcom interfaces that return information about objects we want to expose.
...And 5 more matches
Displaying Places information using views
see querying places for information about obtaining and using nsinavhistoryresult objects, which this page assumes you are familiar with.
...see the tree reference and trees tutorial for general information about trees.
...how do you ask it about the data it displays?
...And 5 more matches
Getting Started with Chat
for example, do not talk about thunderbird issues in #firefox.
... 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.
... /whois nickname display information about the specified user.
...And 5 more matches
Mozilla DOM Hacking Guide
we will talk a lot about xpconnect in this document, since it is so important for the dom.
...i'm talking about the "scriptable flags".
...see section 1.5 for more information about the init() method.
...And 5 more matches
Investigating leaks using DMD heap scan mode
if your leak is a ghost window, it can be handy to get an about:memory report and write down the pid of the leaking process.
... the output will look something like this, after a message about loading progress: 0x7f0882fe3230 [fragmentorelement (xhtml) script https://www.example.com] --[[via hash] mlistenermanager]--> 0x7f0899b4e550 [eventlistenermanager] --[mlisteners event=onload listenertype=3 [i]]--> 0x7f0882ff8f80 [callbackobject] --[mincumbentglobal]--> 0x7f0897082c00 [nsglobalwindowinner # 2147483662 inner https://www.example.com] root 0x7f0882fe3230 is a re...
...together, these lines show a chain of strong references from an object the cycle collector thinks needs to be kept alive, 0x7f0899b4e550, to the object 0x7f0897082c00 that you asked about.
...And 5 more matches
Memory reporting
this is most obviously used in about:memory and telemetry.
... they provide more information to dmd, which is a tool that helps keep about:memory's "heap-unclassified" number low.
...if slop bytes aren't measured they'll end up in about:memory's heap-unclassified entry, which is bad.
...And 5 more matches
NSS tools : modutil
-list [modulename] display basic information about the contents of the secmod.db file.
... specifying a modulename displays detailed information about a particular module and its slots and tokens.
... "./pk11inst.dir/setup.sh" executed successfully installed module "example pkcs #11 module" into module database installation completed successfully adding module spec each module has information stored in the security database about its configuration and parameters.
...And 5 more matches
NSS tools : modutil
MozillaProjectsNSStoolsmodutil
-list [modulename] display basic information about the contents of the secmod.db file.
... specifying a modulename displays detailed information about a particular module and its slots and tokens.
... "./pk11inst.dir/setup.sh" executed successfully installed module "example pkcs #11 module" into module database installation completed successfully adding module spec each module has information stored in the security database about its configuration and parameters.
...And 5 more matches
NSS tools : signtool
for more information about the syntax used with this file, see "tips and techniques".
...for example, you can use it with the -l option to get detailed information about a particular signing certificate.
...for more information about the use of the -g option, see "generating test object-signing certificates""generating test object-signing certificates" on page 1241.
...And 5 more matches
Handling Mozilla Security Bugs
thus people have strong feelings about how security-related bugs are handled, and in particular about the degree to which information about such bugs is publicly disclosed.
...in particular, we understand and acknowledge the concerns of those who believe that all information about security vulnerabilities should be publicly disclosed as soon as it is known, so that users may take immediate steps to protect themselves and so that problems can get the maximum amount of developer attention and be fixed as soon as possible.
... full information about security bugs will be restricted to a known group of people, using the bugzilla access control restrictions described above.
...And 5 more matches
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.
...see the following sidebar for information about how frozen and unfrozen interfaces can affect your component development, and for technical details about how interface changes beneath your code can cause havoc.
...they may be able to suggest a supported alternative, or they may be able to notify you about pending changes.
...And 5 more matches
Starting WebLock
you can then use the service manager to add the component to the category: nsresult rv; nscomptr<nsiservicemanager> servman = do_queryinterface((nsisupports*)acompmgr, &rv); if (ns_failed(rv)) return rv; do_queryinterface the previous code uses the special nscomptr function do_queryinterface that lets you queryinterface without having to worry about reference counting, error handling, and other overhead.
... 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.
... as a strongly typed and implementation-agnostic language, xpidl requires that you be quite specific about the apis, the list of parameters, their order, and their types.
...And 5 more matches
Using XPCOM Components
component examples you can find out more about how you can use the particular components described here in the xpcom api reference.
... see http://www.mozilla.org/scriptable/ for more information about xpconnect and javascript.
...in object-oriented programming, it's typical to design the interface first-to define the functionality that's going to be provided in the abstract, without worrying about how this functionality will be achieved.
...And 5 more matches
mozIRegistry
it's not really about any "registry interface" so much as it's about how mozilla supports a more dynamic binding between interface clients and the code that actually provides the implementation of those interfaces.
... it happens that this objective requires storing information about which implementation to use in a place distinct from your source code.
...the information below is intended to tell you everything you need to know about how to do that.
...And 5 more matches
Working with windows in chrome code
opening windows from a <script> in a window or an overlay to open a new window, we usually use a window.open or window.opendialog dom call, like this: var win = window.open("chrome://myextension/content/about.xul", "aboutmyextension", "chrome,centerscreen"); the first parameter to window.open is the uri of the xul file that describes the window and its contents.
... var ww = components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getservice(components.interfaces.nsiwindowwatcher); var win = ww.openwindow(null, "chrome://myextension/content/about.xul", "aboutmyextension", "chrome,centerscreen", null); window object note the win variable in the above section, which is assigned the return value of window.open.
... finding already opened windows the window mediator xpcom component (nsiwindowmediator interface) provides information about existing windows.
...And 5 more matches
Slottable - Web APIs
WebAPISlottable
to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.ie no support noopera full support 40safari full support 10.1webview android full support 53chrome android full support 53firefox android full support 63 full support 63 ...
...to change preferences in firefox, visit about:config.
...And 5 more matches
Inputs and input sources - Web APIs
a full webxr experience isn't just about showing the user a wholly virtual scene or augmenting reality by adding to or altering the world around them.
... managing input sources when multiple input sources are available, you need to be able to obtain information about each one, including its position and orientation, its targeting ray (if applicable to your needs), and details that can help you decide how to present the input source visually, if at all.
... to manage input sources, then, you need to be able to enumerate input sources, examine profile information about each input source, and decide how to use each input controller.
...And 5 more matches
Rendering and the WebXR frame animation callback - Web APIs
so if the center of the viewer's head is located at [0.0, 2.0, 0.0] (about two meters above ground level at the center of the space horizontally), we first need to render the scene from, say, [-0.032, 2.0, 0.0] (32mm to the left of center) and then render it again at [0.032, 2.0, 0.0].
...because each eye is offset to one side or the other of the head's centerline, and each eye sees about the same field of view, the result is that each eye sees a slightly different part of the world in front of it, and from a slightly different angle.
...and because of those differences between what is seen by the left eye versus the right eye, the brain is able to infer a great deal of information about how deep the object is, its size, and more.
...And 5 more matches
Applying color to HTML elements using CSS - HTML: Hypertext Markup Language
these can be used on just about any element.
...see box properties in the box model to learn about the relationship between elements and their borders, and the article styling borders using css to learn more about applying styles to borders.
... you can use the border shorthand property, which lets you configure everything about the border in one shot (including non-color features of borders, such as its width, style (solid, dashed, etc.), and so forth.
...And 5 more matches
Web video codec guide - Web media technologies
a fairly typical 30 minute video conference would need about 447.9 gb of storage, and a 2-hour movie would take almost 1.79 tb (that is, 1790 gb).
...each codec provides a link to a section below which offers additional details about the codec, including specific capabilities and compatibility issues you may need to be aware of.
...l mpeg, quicktime mpeg-2 mpeg-2 part 2 visual mp4, mpeg, quicktime theora theora ogg vp8 video processor 8 3gp, ogg, webm vp9 video processor 9 mp4, ogg, webm factors affecting the encoded video as is the case with any encoder, there are two basic groups of factors affecting the size and quality of the encoded video: specifics about the source video's format and contents, and the characteristics and configuration of the codec used while encoding the video.
...And 5 more matches
SVG documentation index - SVG: Scalable Vector Graphics
WebSVGIndex
13 svg attribute reference drawing, landing, needshelp, overview, responsive design, svg, svg attribute, svg reference, vector graphics svg elements can be modified using attributes that specify details about exactly how the element should be handled or rendered.
... 48 color-rendering svg, svg attribute the color-rendering attribute provides a hint to the svg user agent about how to optimize its color interpolation and compositing operations.
... 107 image-rendering needsexample, svg, svg attribute the image-rendering attribute provides a hint to the browser about how to make speed vs.
...And 5 more matches
Bootstrapped extensions - Archive of obsolete content
backward compatibility because older versions of firefox don't know about the bootstrap property or bootstrap.js file, it's not overly difficult to create an xpi that will work on both as a bootstrappable extension and as a traditional extension.
... shutdown called when the extensidisableon needs to shut itself down, such as when the application is quitting or when the extension is about to be upgraded or disabled.
... bootstrap data each of the entry points is passed a simple data structure containing some useful information about the add-on being bootstrapped.
...And 4 more matches
List of Mozilla-Based Applications - Archive of obsolete content
this list is likely to be incomplete since we think there are many dark matter projects that we don't know about.
... if you have information about a new project or extra information about an existing project, please feel free to update this page.
... name description additional information 389 directory server ldap server uses nss a380 seatback entertainment system media software this blog post mentions a reference to mozilla being used but i couldn't find more information about it.
...And 4 more matches
Mozilla Crypto FAQ - Archive of obsolete content
in this document i try to answer some frequently asked questions about the mozilla web browser and mail/news client and its support for ssl, s/mime, and related features based on cryptographic technology.
... for the very latest information about psm, nss, and other crypto-related mozilla developments, see the mozilla.dev.tech.crypto newsgroup or the corresponding dev-tech-crypto mailing list.
...specific questions about licensing of the psm and nss source code should be directed to the netscape.public.mozilla.license newsgroup or the associated mozilla-license mailing list.
...And 4 more matches
Venkman Introduction - Archive of obsolete content
for more information about the latest improvements and versions, see the venkman development page.
...for more information about this counter and the data, see item 2.2 in the venkman faq.) when you first start venkman, the basic views are arranged as in the screenshot above—though you can customize the layout and presence of the different views however you want, as we describe in the view customization section below.
... the scripts that have been loaded by the javascript engine appear in the loaded scripts window (for more information about how scripts are loaded and accessed in venkman, see "loading scripts into the debugger").
...And 4 more matches
SeaMonkey - making custom toolbar (SM ver. 1.x) - Archive of obsolete content
you can also use this page to learn about extensions, and as a starting point if you plan to write a more complex extension.
... note: for information about how to find the directory where you installed seamonkey, see: installation directory if you cannot easily find the directory, you can use the following method to find it.
...paste it into the new file: <?xml version="1.0" encoding="utf-8"?> <!doctype rdf:rdf> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <rdf:seq rdf:about="urn:mozilla:package:root"> <rdf:li rdf:resource="urn:mozilla:package:custombutton"/> </rdf:seq> <rdf:description rdf:about="urn:mozilla:package:custombutton" chrome:displayname="custom button" chrome:description="my custom toolbar button" chrome:author="my name" chrome:name="custombutton" chrome:localeversion="1.8" chrome:skinversion="1.5" chrome:extensio...
...And 4 more matches
Manifest Files - Archive of obsolete content
for more information about this feature, see xpcnativewrapper.
...for more information about themes, see themes.
... for more information about locales, see localization.
...And 4 more matches
The Implementation of the Application Object Model - Archive of obsolete content
by enforcing this distinction, we can successfully defend ourselves from any claims that we were "mucking about with strange new html" when we could have been working on our standards story.
...this inability to provide a cleanly inherited system argues for a different approach, namely that all content node implementations be the same kind of object, and that those objects communicate with their pluggable content through this new streamlined interface we talked about earlier.
...in order to achieve aggregation of data, a content node implementation cannot make any assumptions about what kind of children it holds.
...And 4 more matches
2006-10-13 - Archive of obsolete content
summary: mozilla.dev.apps.firefox - october 6, 2006 - october 13, 2006 announcements firefox vista compatible and versioning heads up robert strong describes the compatibility between windows vista and firefox, also about the versioning change.
... large discussion about why the use of the sequence 2.0.0.*.
... discussions everyone and his goldfish thinks bug 300198 should be fixed large response to the discussion about the bug: https://bugzilla.mozilla.org/show_bug.cgi?id=300198, regarding middle clicking on a tab.
...And 4 more matches
2006-10-26 - Archive of obsolete content
discussions should be easier to import bookmark backups user asking for thoughts about having bookmarks manager's import wizard import from backups in the bookmarkbackups folder.
...(what it is, how to use it) cross-post-and followup fx2 announcment to support-firefox request for when the announcement about firefox 2's release to be posted on the mozilla.dev.apps.firefox newsgroup.
... debug minefield on intel mac an inqury about how to debug minefield on an intel mac.
...And 4 more matches
2006-10-27 - Archive of obsolete content
discussions should be easier to import bookmark backups user asking for thoughts about having bookmarks manager's import wizard import from backups in the bookmarkbackups folder.
...(what it is, how to use it) cross-post-and followup fx2 announcment to support-firefox request for when the announcement about firefox 2's release to be posted on the mozilla.dev.apps.firefox newsgroup.
... debug minefield on intel mac an inqury about how to debug minefield on an intel mac.
...And 4 more matches
Common Firefox theme issues and solutions - Archive of obsolete content
@media all and (-moz-windows-compositor) { /* make transition to fullscreen mode seamlessly in firefox 10+ */ #main-window[infullscreen="true"] { -moz-appearance: none; background-color: -moz-dialog!important; } } for more information about this issue please see bug 732757 and bug 732757 and this mozillazine thread.
...vicon { -moz-image-region: rect(0, 32px, 16px, 16px); } #identity-box:hover:active > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon, #identity-box[open=true] > #identity-box-inner > #page-proxy-stack > #page-proxy-favicon { -moz-image-region: rect(0, 48px, 16px, 32px); } #page-proxy-favicon[pageproxystate="invalid"] { opacity: 0.5; } for more information about identity boxes please see the identity box section of the amo editors theme review guidelines no visual clue for disabled url bars there needs to be a visual clue when url bar is disabled.
... "about" pages about:addons disabled add-on icons are not grey scale in tools > add-ons, the icons of disabled icons need to be converted to grey scale.
...And 4 more matches
Index - Game development
without promotion, they wouldn't even be able to learn about it and play it.
...you have a whole lot of options to chose from with most of them being free, so it's only about your enthusiasm and available time.
...it is assumed that before reading this you have read our 3d collision detection introductory article first, and have basic knowledge about three.js.
...And 4 more matches
Desktop gamepad controls - Game development
pure javascript approach let's think about implementing pure javascript gamepad controls in our little controls demo first to see how it would work.
... useful variables and functions: var gamepadapi = { active: false, controller: {}, connect: function(event) {}, disconnect: function(event) {}, update: function() {}, buttons: { layout: [], cache: [], status: [], pressed: function(button, state) {} } axes: { status: [] } }; the controller variable stores the information about the connected gamepad, and there's an active boolean variable we can use to know if the controller is connected or not.
...the next function is update(), which updates the information about the pressed buttons and axes.
...And 4 more matches
Beginner's guide to media queries - Learn web development
media queries are a key part of responsive web design, as they allow you to create different layouts depending on the size of the viewport, but they can also be used to detect other things about the environment your site is running on, for example whether the user is using a touchscreen rather than a mouse.
... in this lesson you will first learn about the syntax used in media queries, and then move on to use them in a worked example showing how a simple design might be made responsive.
... <body> <div class="wrapper"> <header> <nav> <ul> <li><a href="">about</a></li> <li><a href="">contact</a></li> <li><a href="">meet the team</a></li> <li><a href="">blog</a></li> </ul> </nav> </header> <main> <article> <div class="content"> <h1>veggies!</h1> <p> ...
...And 4 more matches
Responsive images - Learn web development
previous overview: multimedia and embedding next in this article, we'll learn about the concept of responsive images — images that work well on devices with widely differing screen sizes, resolutions, and other such features — and look at what tools html provides to help implement them.
...css arguably has better tools for responsive design than html, and we'll talk about those in a future css module.
...screen widths) and indicates what image size would be best to choose, when certain media conditions are true — these are the hints we talked about earlier.
...And 4 more matches
What went wrong? Troubleshooting JavaScript - Learn web development
note: see our typeerror: "x" is not a function reference page for more details about this error.
... let's think about what the problem could be.
... note: see our typeerror: "x" is (not) "y" reference page for more details about this error.
...And 4 more matches
Framework main features - Learn web development
this component needs to display a portrait of the author and a short byline about them.
... </figcaption> </figure> state we talked about the concept of state in the previous chapter — a robust state-handling mechanism is key to an effective framework, and each component may have data to control the state of.
...all of them track the current rendered version of your browser's dom, and each makes slightly different decisions about how the dom should change as components in your application re-render.
...And 4 more matches
Getting started with React - Learn web development
we'll discover a little bit of detail about its background and use cases, set up a basic react toolchain on our local computer, and create and play with a simple starter app — learning a bit about how react works in the process.
... to read more about jsx, check out the react team's jsx in depth article.
... the package.json file contains information about our project that node.js/npm uses to keep it organized.
...And 4 more matches
Advanced Svelte: Reactivity, lifecycle, accessibility - Learn web development
we also need to learn a bit about component lifecycle, to understand when these dom nodes get mounted and and unmounted from the dom and how we can access them.
... we will also learn about the action directive, which will allow us to extend the functionality of html elements in a reusable and declarative way.
... finally, we will learn a bit more about components.
...And 4 more matches
Initial setup
add a request about creating your locale's repository to the new locales newsgroup.
...see this wiki page about how to gain access to svn.
...add a request about creating your locale's repository to the new locales newsgroup.
...And 4 more matches
Profiling with the Firefox Profiler
you can check out some frequently asked questions about the firefox profilers.
... synchronous re-flow can be caused by js that, for example, makes changes to the page content in a loop and queries about the layout of the page in that same loop.
... it's a good idea to search bugzilla before filing a bug about a performance problem in firefox but sometimes it's hard to find issues that have already been reported.
...And 4 more matches
Shell global objects
stackdump(showargs, showlocals, showthisprops) tries to print a lot of information about the current stack.
... arrayinfo(a1, a2, ...) report statistics about arrays.
...if fun is not careful, hook could be asked to retrieve the source code for compilations that occurred long before it was set, and that it knows nothing about.
...And 4 more matches
Introduction to DOM Inspector - Firefox Developer Tools
now, once you have selected a node like the "search-go-button" node, you can select any one of several viewers to display information about that node in the object pane of the dom inspector application window, all of which are available from the menupopup accessed from the upper left corner of the the object pane.
... the list of viewers available from the viewer menu gives you some idea about how extensive the dom inspector's inspecting capabilities are.
... the following descriptions provide an overview of what these viewers are about: the dom nodes viewer shows attributes of nodes that can take them, or the text content of text nodes, comments, and processing instructions.
...And 4 more matches
Debugger.Object - Firefox Developer Tools
this means that the debugger can use the == operator to recognize when two debugger.object instances refer to the same debuggee object, and place its own properties on a debugger.object instance to store metadata about particular debuggee objects.
...this allows the code using each debugger instance to place whatever properties it likes on its own debugger.object instances, without worrying about interfering with other debuggers.
... hostannotations a javascript object providing further metadata about the referent, or null if none is available.
...And 4 more matches
Window.open() - Web APIs
WebAPIWindowopen
if url is an empty string, then a new blank, empty window (url about:blank) is created with the default toolbars of the main window.
...when window.open() returns, the window always contains about:blank.
...see rel="noopener" for more information and for browser compatibility details, including information about ancillary effects.
...And 4 more matches
Intercepting Page Loads - Archive of obsolete content
you can close the tab, redirect the tab to about:blank or another page, or tell the browser to stop loading this page, but in general you don't want to do this because it will be visible to the user and it will look like a bug.
... the aforementioned observer notifications page has more information about these notifications and links to other useful documentation.
...we're being careful about removing all listeners, as not doing it has the potential of causing memory leaks.
...And 3 more matches
XPCOM Objects - Archive of obsolete content
then you'll see a list of all members of this object, with some documentation about it.
...in many cases you only need to use one interface, and you won't have to worry about queryinterface.
...you can read more about it in the xpcom string guide.
...And 3 more matches
Setting up an extension development environment - Archive of obsolete content
this will utilize distinctive development preferences in about:config.
... development preferences there is a set of development preferences that, when enabled, allows you to view more information about application activity, thus making debugging easier.
... accessing firefox development preferences to change preference settings in firefox or seamonkey, type about:config in the location bar.
...And 3 more matches
MMgc - Archive of obsolete content
another way to think about it: unmanaged memory is c++ operators new and delete managed memory is c++ operator new, with optional delete mmgc contains a page allocator called gcheap, which allocates large blocks (megabytes) of memory from the system and doles out 4kb pages to the unmanaged memory allocator (fixedmalloc) and the managed memory allocator (gc).
...a finalizer is a method which will be invoked by the gc when an unreachable object is about to be destroyed.
...finalizers may not perform any of the following actions: fire any write barriers dereference a pointer to any gc object, including member variables (except see below about rcobject references) allocate any gc memory (gc::alloc), explicitly free gc memory (gc::free) change the set of gc roots (create a gcroot object or derivative) cause itself to become reachable if a finalized object holds a reference to an rcobject, it may safely call decrementref on the rcobject.
...And 3 more matches
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
situation int-evry manages about 3000 users (mostly students) who share computers in labs and "self service" computer rooms.
...= getenv("homepath"); } var env_mozdebug= getenv("mozilla_debug"); // 2) define here (because if set after "3)" below it doesn't work !) processldapvalues which is eventually called by getldapattributes() just below, // check getldapattributes() code from $mozilla_home/defaults/autoconfig/prefcalls.js to see the inside call to "user defined" processldapvalues /* commented all this section about ldap calls, not supported in ff5 packages :-( function processldapvalues (values) { if(values) { // set the global var with the values returned from the ldap query ldap_values = values; var uid = getldapvalue ( values ,"uid" ); var cn = getldapvalue ( values ,"cn" ); var mail = getldapvalue ( values ,"mail" ); var url = getldapvalue ( values ,"labeleduri" ...
...one can check how firefox has been compiled by opening about:buildconfig (don't know the equivalent for thunderbird!
...And 3 more matches
Creating a Help Content Pack - Archive of obsolete content
next, you'll need to insert a rdf:description element into the file, inside the rdf:rdf element just created: <rdf:description rdf:about="urn:root" nc:title="" nc:defaulttopic="" nc:base=""> </rdf:description> fill in the attributes as follows: rdf:about must be urn:root or your pack won't work.
... this attribute marks the start point in the rdf graph described by the file, and the help viewer searches for this element in order to query for further information (stored in child elements) about the content pack being parsed.
...(the index, table of contents, and search data sources are more likely to be nested, complicating their formats.) create a new rdf file (for now let's name it glossary.rdf), and add the following lines to it: <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:nc="http://home.netscape.com/nc-rdf#"> <rdf:description rdf:about="urn:root"> <nc:subheadings> <rdf:seq> </rdf:seq> <nc:subheadings> </rdf:description> </rdf:rdf> this forms the outer framework of a glossary description file.
...And 3 more matches
Measuring add-on startup performance - Archive of obsolete content
using about:startup the about startup add-on provides a much simpler way to measure startup performance.
... once installed, it will gather startup data and display it in the about:startup page.
... to test with about:startup, you should set up a new firefox profile, install this add-on, and then open and quit firefox repeatedly.
...And 3 more matches
Using XPInstall to Install Plugins - Archive of obsolete content
this article is about how you can use xpinstall to install plugins to the browsers that support xpinstall.
... write keys in the windows registry which store information about this secondary location, in particular the plugin path and the xpt path (if applicable) so that netscape gecko browsers can pick up the plugin from the secondary location if they are installed after the plugin is (and thus, if a particular netscape gecko browser follows or replaces the current browser).
...this value is actually entered in the client version registry upon installation, a mozilla-browser file that stores metadata about the software that has just been installed.
...And 3 more matches
IO - Archive of obsolete content
ArchiveMozillaXULFileGuideIO
files and streams this section describes how to access and get information about files, read from files and create and write files.
... retrieve a file object for information about getting a file object, see accessing files get information about a file available information about a file include the permissions, size, and last modified date of a file.
...reading from a file for information about reading from text and binary files, see reading from files.
...And 3 more matches
Complete - Archive of obsolete content
this page is for readers who have followed the custom toolbar button tutorial for firefox, thunderbird and sunbird, or the custom toolbar button:seamonkey tutorial for seamonkey, and who want to learn more about developing extensions.
...for more information about developing extensions, see the main extensions page here.
...the xpi contains: install.rdf information about the extension chrome.manifest registration data for firefox etc.
...And 3 more matches
Custom toolbar button - Archive of obsolete content
you can also use this page to learn about extensions, and as a starting point if you plan to write a more complex extension.
... note: for information about how to find the profile directory, see: profile folder explanation: the profile directory contains information specific to a user, keeping it separate from the application.
...there is more information about identifiers in a later section of this tutorial.
...And 3 more matches
Gecko Compatibility Handbook - Archive of obsolete content
you can verify the string got changed by looking under help | about.
... upgrade web authoring tool to versions that support the w3 standards and gecko browsers content differs in gecko browsers and internet explorer the javascript console in netscape 6.x and netscape 7.x displays errors about document.all, document.layers, document.<property> not being defined because of an incorrect browser sniffing, or use of proprietary javascript.
...(more about css) content differs in gecko browsers and internet explorer incorrect layout mode specified by doctype.
...And 3 more matches
Introduction to SSL - Archive of obsolete content
these capabilities address fundamental concerns about communication over the internet and other tcp/ip networks: ssl server authentication allows a user to confirm a server's identity.
... for more information about the handshake process, see "the ssl handshake." ciphers used with ssl the ssl protocol supports the use of a variety of different cryptographic algorithms, or ciphers, for use in operations such as authenticating the server and client to each other, transmitting certificates, and establishing session keys.
... decisions about which cipher suites a particular organization decides to enable depend on trade-offs among the sensitivity of the data involved, the speed of the cipher, and the applicability of export rules.
...And 3 more matches
LiveConnect Overview - Archive of obsolete content
in the earlier example about the redwood corporation, for example, the reference packages.redwood is a javapackage object.
...most of the time, you don't have to worry about the javapackage and javaclass objects—you just work with java packages and classes, and liveconnect creates these objects transparently.
...} catch (e) { if (e instanceof java.io.filenotfound) { // handling for filenotfound } else { throw e; } } see exception handling statements for more information about javascript exceptions.
...And 3 more matches
Anatomy of a video game - Game development
think about whether your function really needs to be called on a strict interval of time, every frame, or only after something else happens.
... being more specific with the browser about when your function needs to be called allows the browser to optimize when it is called.
... you can think about developing realtime applications as having a budget of time to do work.
...And 3 more matches
Introduction to CSS layout - Learn web development
the fact that you can change the value of display for any element means that you can pick html elements for their semantic meaning, without being concerned about how they will look.
...this gives us the effect of text wrapped around that box, and is most of what you need to know about floats as used in modern web design.
...positioning isn’t a method for creating your main page layouts, it is more about managing and fine-tuning the position of specific items on the page.
...And 3 more matches
What are hyperlinks? - Learn web development
objective: learn about links on the web and why they matter.
...we'll talk about designing website navigation in another article, but as a rule, whenever you add a new webpage, make sure at least one of your other pages links to that new page.
... on the other hand, if your site has more than about ten pages, it's counter-productive to link to every page from every other page.
...And 3 more matches
Advanced form styling - Learn web development
<input type="color"> date-related controls such as <input type="datetime-local"> <input type="range"> <input type="file"> <progress> and <meter> let's first talk about the appearance property, which is pretty useful for making all of the above more stylable.
...ype="checkbox"]::before { content: "✔"; position: absolute; font-size: 1.2em; right: -1px; top: -0.3em; visibility: hidden; } input[type="checkbox"]:checked::before { /* use `visibility` instead of `display` to avoid recalculating layout */ visibility: visible; } input[type="checkbox"]:disabled { border-color: black; background: #ddd; color: gray; } you'll find more out about such pseudo-classes and more in the next article; the above ones do the following: :checked — the checkbox (or radio button) is in a checked state — the user has clicked/activated it.
... what can be done about the "ugly" elements?
...And 3 more matches
UI pseudo-classes - Learn web development
note: a number of the pseudo-classes discussed here are concerned with styling form controls based on their validation state (is their data valid, or not?) you'll learn much more about setting and controlling validation constraints in our next article — client-side form validation — but for now we'll keep things simple with regards to form validation, so it doesn't confuse things.
... using generated content with pseudo-classes in previous articles, we've seen the usage of generated content, but we thought now would be a good time to talk about it in a bit more detail.
... styling controls based on whether their data is valid the other really important, fundamental concept in form validation is whether a form control's data is valid or not (in the case of numerical data, we can also talk about in-range and out-of-range data).
...And 3 more matches
Your first form - Learn web development
objective: to gain familiarity with what web forms are, what they are used for, how to think about designing them, and the basic html elements you'll need for simple cases.
...the controls can be single or multi-line text fields, dropdown boxes, buttons, checkboxes, or radio buttons, and are mostly created using the <input> element, although there are some other elements to learn about too.
... designing your form before starting to code, it's always better to step back and take the time to think about your form.
...And 3 more matches
Getting started with HTML - Learn web development
attributes look like this: attributes contain extra information about the element that won't appear in the content.
... title: the title attribute specifies extra information about the link, such as a description of the page that is being linked to.
...you'll learn more about this in the next article of the series.
...And 3 more matches
Video and audio content - Learn web development
such companies offer a convenient, easy way to host and consume videos, so you don't have to worry about the enormous bandwidth consumption.
...as we talked about before, different browsers support different video and audio formats, and different container formats (like mp3, mp4, and webm, which in turn can contain different types of video and audio).
...each codec offers its own advantages and drawbacks, and each container may also offer its own positive and negative features affecting your decisions about which to use.
...And 3 more matches
Graceful asynchronous programming with Promises - Learn web development
obviously, that's not an acceptable option; without promises, everything in the browser becomes unusable until the user decides what to do about the camera and microphone.
... note: you can learn more about this somewhat advanced topic, if you're interested, in the article signaling and video calling.
... let's talk about ordering pizza as an analogy.
...And 3 more matches
Functions — reusable blocks of code - Learn web development
in fact, we've been using functions all the way through the course so far; we've just not been talking about them very much.
... now is the time, however, for us to start talking about functions explicitly, and really exploring their syntax.
...you don't need to learn about the inner workings of structured javascript objects yet — you can wait until our later module that will teach you all about the inner workings of objects, and how to create your own.
...And 3 more matches
Function return values - Learn web development
previous overview: building blocks next there's one last essential concept about functions for us to discuss — return values.
...you've already met return values a number of times, although you may not have thought about them explicitly.
... next, we're going to include a way to print out information about the number entered into the text input.
...And 3 more matches
Drawing graphics - Learn web development
graphics on the web as we talked about in our html multimedia and embedding module, the web was originally just text, which was very boring, so images were introduced — first via the <img> element and later via css properties such as background-image, and svg.
...you can't do anything to change this, so you have to think carefully about the order in which you draw the graphics.
... note: to find out more about advanced path drawing features such as bézier curves, check out our drawing shapes with canvas tutorial.
...And 3 more matches
Useful string methods - Learn web development
previous overview: first steps next now that we've looked at the very basics of strings, let's move up a gear and start thinking about what useful operations we can do on strings with built-in methods, such as finding the length of a text string, joining and splitting strings, substituting one character in a string for another, and more.
...you really don't need to know about most of these early on in your learning journey.
... first think about how you could test whether the message in each case is a christmas message.
...And 3 more matches
Measuring performance - Learn web development
objective: to provide information about web performance metrics that you can collect through various web performance apis and tools that you can use to visualize that data.
... we'll talk about both categories in this course.
... and as well as talking about performance metrics we will of course talk about the metrics that you'll use to measure whether your site's performance is improving.
...And 3 more matches
Server-side web frameworks - Learn web development
objective: to understand how web frameworks can simplify development/maintenance of server-side code and to get readers thinking about selecting a framework for their own development.
... the next section provides a bit more detail about how web frameworks can ease web application development.
...the http request may also include information about the current session or user in a client-side cookie.
...And 3 more matches
React resources - Learn web development
objective: to provide further resources for learning more about react.
... you can read more about component stylesheets in the create-react-app docs.
... you can read more about react devtools on the react blog.
...And 3 more matches
Developer guide
mozilla modules and module ownership this article provides information about mozilla's modules, what the role of a module owner is, and how module owners are selected.
... the mozilla platform information about the workings of the mozilla platform.
... mozilla much more additional information about mozilla coding practices.
...And 3 more matches
Firefox
here you can learn about how to contribute to the firefox project and you will also find links to information about the construction of firefox add-ons, using the developer tools in firefox, and other topics.
... project documentation get detailed information about the internals of firefox and its build system, so you can find your way around in the code.
... contents experimental features in firefoxthis page lists features that are in nightly versions of firefox along with information on how to activate them, if necessary.firefox and the "about" protocolthere is a lot of useful information about firefox hidden away behind the about: url protocol.
...And 3 more matches
How to get a stacktrace for a bug report
if you file a bug report in bugzilla about a crash you should include a stacktrace (call stack) in your report.
...if you have any additional information about the crash, such as additional detail on what you were doing at the time that may have triggered the crash, please enter it into the comments box.
... be sure that you check the "tell mozilla about this crash" checkbox and click the restart button.
...And 3 more matches
DMD
it helps us reduce the "heap-unclassified" value in firefox's about:memory page, and also detects if any heap blocks are reported twice.
...for instance, on osx, you can run something like: dmd=1 /applications/firefox\ nightly.app/contents/macos/firefox you can tell it is working by going to about:memory and looking for "save dmd output".
... visit about:memory and click the dmd button (depending on how old your build is, it might be labelled "save" or "analyze reports" or "dmd").
...And 3 more matches
GCIntegration - SpiderMonkey Redirect 1
we're still thinking about how the apis for moving gc should work.
...the troublesome spots are the pointers in gecko that spidermonkey doesn't know about.
... if a pointer is not traced via js_call_tracer or any similar mechanism, then there's no need for a write barrier (although see below about read barriers).
...And 3 more matches
Mork
MozillaTechMork
meta-tables are used to establish some facts about the table as well as the default row scope.
...if inside the meta-dictionary, the only cell we care about is if the key is 'a' (for atom scope).
...the meta-row of the table (different from the meta-row of a row) contains a few things you might care about.
...And 3 more matches
nsIDOMWindowUtils
void garbagecollect( in nsicyclecollectorlistener alistener optional ); parameters alistener optional listener that receives information about the cc graph (see @mozilla.org/cycle-collector-logger;1 for a logger component) getcursortype() get current cursor type from this window.
... return value a json string summarizing the information profiled about the script.
... getpccountscriptcontents() returns detailed information about the profile information for a script.
...And 3 more matches
nsIDocShell
method overview void addsessionstorage(in nsiprincipal principal, in nsidomstorage storage); void addstate(in nsivariant adata, in domstring atitle, in domstring aurl, in boolean areplace); void beginrestore(in nsicontentviewer viewer, in boolean top); void createaboutblankcontentviewer(in nsiprincipal aprincipal); void createloadinfo(out nsidocshellloadinfo loadinfo); void detacheditorfromwindow(); violates the xpcom interface guidelines void finishrestore(); void firepagehidenotification(in boolean isunload); native code only!
... printpreview nsiwebbrowserprint if the current content viewer is not initialized for print preview, it is replaced with one which is and to which an about:blank document is loaded.
... createaboutblankcontentviewer() create a new about:blank document and content viewer.
...And 3 more matches
nsITreeView
layout/xul/base/src/tree/public/nsitreeview.idlscriptable this interface is used by the tree widget to get information about what and how to display a tree widget.
... further information about creating treeviews is given in the xul tutorial.
... boolean iscontainer( in long index ); parameters index the index of the row being asked about.
...And 3 more matches
nsIURI
about:blank) note: characters are not escaped.
...about:blank) note: characters are not escaped.
...about:blank) note: some characters may be escaped.
...And 3 more matches
Accessibility Inspector - Firefox Developer Tools
here we are mainly talking about exposing information to people with visual disabilities — this is done via the accessibility apis available inside web browsers, which expose information on what roles the different elements on your page play (e.g., are they just text, or are they buttons, links, form elements, etc.?).
...this is a bit like the dom tree, except that it contains a more limited set of elements and slightly different information about them.
... if you don't wish to allow the accessibility features to be automatically enabled, you can use the configuration editor (also known as about:config) to define the preference devtools.accessibility.auto-init.enabled, and set it to false.
...And 3 more matches
ByteLengthQueuingStrategy - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera full support 46safari ?
...to change preferences in firefox, visit about:config.opera android full support 43safari ios ?
...to change preferences in firefox, visit about:config.ie no support noopera full support 46safari ?
...And 3 more matches
CountQueuingStrategy - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera full support 46safari ?
...to change preferences in firefox, visit about:config.opera android full support 43safari ios ?
...to change preferences in firefox, visit about:config.ie no support noopera full support 46safari ?
...And 3 more matches
Using the Media Capabilities API - Web APIs
more and more finely-detailed information about the display's properties, so that informed decisions can be made when choosing the best format to play on the user's device.
... support for getting real-time feedback about the playback of media, so your code can make informed decisions about adapting the stream's quality or other settings to manage the user's perceived media performance and quality.
...you can, therefore, test for the presence of the api like so: if ("mediacapabilities" in navigator) { // mediacapabilities is available } else { // mediacapabilities is not available } taking video as an example, to obtain information about video decoding abilities, you create a video decoding configuration which you pass as a parameter to mediacapabilities.decodinginfo() method.
...And 3 more matches
RTCRemoteOutboundRtpStreamStats.localId - Web APIs
together, these two objects provide statistics about the inbound and outbound sides of the same synchronization source (ssrc).
...both of these provide information about the same batch of packets being transmitted from the remote peer to the local device.
... the difference is that remote-outbound-rtp describes statistics about the transmission(s) from the perspective of the remote peer, while inbound-rtp offers statistics about the incoming data from the local peer's perspective.
...And 3 more matches
Lighting a WebXR setting - Web APIs
you can learn more about how to perform lighting in webgl in the article lighting in webgl.
...you can learn all about the proposed api and a fair amount about the concept of lighting estimation in the explainer documnent that's included in the specification's github repository.
... in essence, lighting estimation collects this information about the light sources and the shape and orientation of the objects in the scene, along with information about the materials they're made of, then returns data you can use to create virtual light source objects that approximately match the real world's lighting.
...And 3 more matches
Starting up and shutting down a WebXR session - Web APIs
emulator issues and notes while this isn't the place for a full article about the extension, there are some specific things worth mentioning.
... for more specifics about securing webxr actitvities and usage, see the article permissions and security for webxr.
... const immersiveok = await navigator.xr.issessionsupported("immersive-vr"); if (immersiveok) { // create and use an immersive vr session } else { // create an inline session instead, or tell the user about the // incompatibility if inline is required } creating and starting the session a webxr session is represented by an xrsession object.
...And 3 more matches
Web audio spatialization basics - Web APIs
we need to change the x orientation and the z orientation of the panner coordinates, to move around the y-axis for our left rotation: case 'rotate-left': transform.rotatey -= degreesy; // 'left' is rotation about y-axis with negative angle increment z = panner.orientationz.value*math.cos(q) - panner.orientationx.value*math.sin(q); x = panner.orientationz.value*math.sin(q) + panner.orientationx.value*math.cos(q); y = panner.orientationy.value; panner.orientationx.value = x; panner.orientationy.value = y; panner.orientationz.value = z; break; this is a little confusing, but what we're doing i...
... case 'rotate-right': transform.rotatey += degreesy; // 'right' is rotation about y-axis with positive angle increment z = panner.orientationz.value*math.cos(-q) - panner.orientationx.value*math.sin(-q); x = panner.orientationz.value*math.sin(-q) + panner.orientationx.value*math.cos(-q); y = panner.orientationy.value; panner.orientationx.value = x; panner.orientationy.value = y; panner.orientationz.value = z; break; case 'rotate-up': transform.rotatex += degreesx; // 'up' is rotation about x-axis with negative angle incre...
...ment z = panner.orientationz.value*math.cos(-q) - panner.orientationy.value*math.sin(-q); y = panner.orientationz.value*math.sin(-q) + panner.orientationy.value*math.cos(-q); x = panner.orientationx.value; panner.orientationx.value = x; panner.orientationy.value = y; panner.orientationz.value = z; break; case 'rotate-down': transform.rotatex -= degreesx; // 'down' is rotation about x-axis with positive angle increment z = panner.orientationz.value*math.cos(q) - panner.orientationy.value*math.sin(q); y = panner.orientationz.value*math.sin(q) + panner.orientationy.value*math.cos(q); x = panner.orientationx.value; panner.orientationx.value = x; panner.orientationy.value = y; panner.orientationz.value = z; break; one last thing — we need to update the css and keep a ...
...And 3 more matches
CSS Grid Layout and Accessibility - CSS: Cascading Style Sheets
in moving to css we often spoke about css for layout enabling a separation of content and markup and presentation.
...if so that would be a sign that you need to address something about the layout.
...the nice thing about using css grid layout is that you should be able to move an item in the source to match the logical order, without needing to make big changes to your layout.
...And 3 more matches
HTML elements reference - HTML: Hypertext Markup Language
WebHTMLElement
for more information about the basics of html elements and attributes, see the section on elements in the introduction to html article.
... document metadata metadata contains information about the page.
... this includes information about styles, scripts and data to help software (search engines, browsers, etc.) use and render the page.
...And 3 more matches
Digital audio concepts - Web media technologies
therefore, a typical three-minute song requires about 34.5 mb of memory.
...for details about the most important and useful ones for web developers to be familiar with, see the article guide to audio codecs used on the web.
... you can apply a filter that narrows the audio bandwidth, removing any audio frequencies that you don't care about.
...And 3 more matches
Media type and format guide: image, audio, and video content - Web media technologies
WebMediaFormats
references images image file type and format guide covers support of image file types and content formats across the major web browsers, as well as providing basic information about each type: benefits, limitations, and use cases of interest to web designers and developers.
... image file types for web designers fundamental information about the various image file types that may be useful for web designers, including best practices and use cases for each type, and guidelines for choosing the right image file format for specific types of content.
... web video codec guide this article provides basic information about the video codecs supported by the major browsers, as well as some that are not commonly supported but that you might still run into.
...And 3 more matches
Compiling from Rust to WebAssembly - WebAssembly
note: pay attention to the post-install note about needing cargo's bin directory in your system path.
...it has three main parts; let's talk about them in turn.
... we give a high-level explanation here, and gloss over some details; to learn more about rust, please check the free online book the rust programming language.
...And 3 more matches
Preferences - Archive of obsolete content
if you haven't yet, read other documents about mozilla preferences on mdn (links below in resources section).
... you can see the list of preferences in about:config (where available).
... more about preferences "branches" preference names consist of a few strings separated with dots, and related preferences usually share the same prefix.
...And 2 more matches
Creating custom Firefox extensions with the Mozilla build system - Archive of obsolete content
this file should be located in the main extension directory and look something like this: <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>myextension@mycompany.com</em:id> <em:version>0.1</em:version> <em:targetapplication> <!-- firefox --> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.0+</em:minversion> <em:maxversion>1.0+</em:maxversion> </description> </em:targetapplication> <!-- front-end...
...rcdir = @srcdir@ vpath = @srcdir@ include $(depth)/config/autoconf.mk module = myextension xpidl_module = myextension xpi_name = myextension exports = \ myheader.h \ $(null) xpidlsrcs = \ myifirstcomponent.idl \ myisecondcomponent.idl \ $(null) include $(topsrcdir)/config/rules.mk xpidl_module is the name of the generated xpt file that contains type information about your idl interfaces.
...don't worry about this; all you need are the generated header files that contain the c++ implementation stubs.
...And 2 more matches
Enhanced Extension Installation - Archive of obsolete content
in the profile directory, the file compatibility.ini stores information about the version of the application (build info) that last started this profile - during startup this file is checked and if the version info held by the running app disagrees with the info held by this file, a compatibility check is run on all installed items.
...if it is, a small set of metadata about it is written to the appropriate datasource (name, version, a flag to tell the system to properly install it on the next startup), and it is added to the appropriate type container.
...by default, the application knows about and maintains three install locations: app-profile a directory-based install location for items living in the application profile extensions directory.
...And 2 more matches
Extension Etiquette - Archive of obsolete content
about dialogs there is a default popup about dialog that is created from install.rdf data; creating a new xul about box is usually unnecessary.
... you can decrease download size by omitting a customized about box.
... about: page urls.
...And 2 more matches
Listening to events in Firefox extensions - Archive of obsolete content
gecko uses events to pass information about interesting things that have occurred along to the parties that may wish to know about them.
... there are several different categories of events; this article will help you learn about them and direct you to more specific documentation covering each of them.
... types of events there are multiple types of events that application and extension authors can use to receive notifications from <xul:browser> and <xul:tabbrowser> elements to hear about changes relating to loads of the content contained within them.
...And 2 more matches
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
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?
... also, because it works with the javascript in extensions and firefox itself, the debugger can be a good way to learn about design methods.
...open the about:config screen and edit the extensions.mozlab.mozunit.editor property.
...And 2 more matches
Local Storage - Archive of obsolete content
in general this is the only directory flag you'll need, but sometimes you'll need access to other system directories, and you don't want to have to worry about which operating system or system language your extension is running on.
...you can read more about reading and writing files here.
...others feel concerned about privacy and storing private information locally without deleting it.
...And 2 more matches
Getting Started - Archive of obsolete content
on every line that references <code>classic.jar we need to make some changes (there are about 5 lines).
...skin info when switching skins in mozilla, it displays a preview image and some information about the theme.
...list all the skins being supplied by this theme <rdf:seq about="urn:mozilla:skin:root"> <rdf:li resource="urn:mozilla:skin:myskin/1.0" /> in the code search for the part listed above.
...And 2 more matches
Microsummary XML grammar reference - Archive of obsolete content
warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) this article provides detailed information about the xml grammar used to build microsummary generators, describing each element and their attributes.
...the following example identifies a generator as being able to summarize all pages on the www.example.com web site except pages named about.html: <pages> <include> ^http://www\.example\.com/ </include> <exclude>/about\.html</exclude> </pages> note: regular expressions intended to match the beginnings of page urls should start with the caret (^) to ensure they do not inadvertently match urls which merely contain the urls they intend to match.
...for more information about the use of this element, see the entry for #the_<pages>_element.
...And 2 more matches
Modularization techniques - Archive of obsolete content
the mechanism we're using is based on the principles laid down by com, so pretty much anything you know about com can be applied here, and any reference on com can provide you with more interesting and complex examples than the ones provided here.
...inheriting from nsisupports allows any interface to be interrogated about other interfaces that its instance may support, and insures that reference counting facilities are always available.
... about nsiids and nscids to simplify the process of dynamically finding, loading and binding interfaces, all classes and interfaces are assigned unique ids.
...And 2 more matches
Frequently Asked Questions - Archive of obsolete content
mozilla is strict about this, and no, it's not a bug.
... if you discover any problems with our svg implementation that you think we should know about then we'd like to hear from you.
...to access the pref type about:config into the url bar, then type svg.enabled into the filter field.
...And 2 more matches
A XUL Bestiary - Archive of obsolete content
there are, unfortunately, different document object models corresponding to different types of documents and also to different proprietary notions about what in a document should be exposed programmatically.
... near synonyms for xul there is much confusion about the words that begin with "x" in the mozilla open source project.
... xul parts people sometimes get confused about the syntax for describing the parts of a widget.
...And 2 more matches
Using Spacers - Archive of obsolete content
we'll talk more about this in the next section but it essentially allows you to divide a window into a series of boxes that hold elements.
...before we get into detail about boxes, we'll introduce another xul element that is useful for layout, the spacer.
... <spacer flex="1"/> <button id="find-button" label="find"/> more about flexibility xul lays out elements on a window by calculating suitable widths and heights for the elements and then adding space where they are flexible.
...And 2 more matches
Creating XULRunner Apps with the Mozilla Build System - Archive of obsolete content
everything you ever wanted to know about building mozilla (and thus xulrunner) can be found in the build documentation.
...you can find out more about which options to use in configuring build options.
...don't think to hard about this, just copy mccoy's file and adapt accordingly.
...And 2 more matches
2006-11-03 - Archive of obsolete content
source code for the nsinstall contained in moztools a user asks for advice about building nsinstall on windows.
... picking an alternate search engine for a particular search large discussion about how the search engine could be imporved.
... firing pageshow/pagehide when users change tabs discussion about using events that could be fired when the user changes a tab.
...And 2 more matches
2006-11-04 - Archive of obsolete content
code for the nsinstall contained in moztools a user asks for advice about building nsinstall on windows.
... an alternate search engine for a particular search large discussion about how the search engine could be imporved.
... pageshow/pagehide when users change tabs discussion about using events that could be fired when the user changes a tab.
...And 2 more matches
2006-11-10 - Archive of obsolete content
event in firefox similar to ondownloadcomplete event in ie an inquiry about how to change the font of a web page before it is displayed using an extenstion.
... favicon as microsummary/feed/other stuff indicator suggestion about making the favicon create a bookmark for the page with a microsummary.
... firefox 2.0 - net accessed when bookmark properties viewed question about whether firefox 2.0 downlads the web page again when the properties of the bookmark are viewed.
...And 2 more matches
2006-10-06 - Archive of obsolete content
extension compatibility for firefox 2 chris hofmann reminds about the push to have extensions work with ff2.
... also invites people to file bugs about extensions that don't work.
...adam gutherie replied that cbeard's blog post from nov 2005 is as close to a roadmap as exists right now and agrees that needs to be done about this.
...And 2 more matches
NPEvent - Archive of obsolete content
ws typedef xevent npevent; fields npevent on microsoft windows the data structure has the following fields: event one of the following event types: wm_paint wm_lbuttondown wm_lbuttonup wm_lbuttondblclk wm_rbuttondown wm_rbuttonup wm_rbuttondblclk wm_mbuttondown wm_mbuttonup wm_mbuttondblclk wm_mousemove wm_keyup wm_keydown wm_setcursor wm_setfocus wm_killfocus for information about these events, see the microsoft windows developer documentation.
...values: 0 nullevent 1 mousedown 2 mouseup 3 keydown 4 keyup 5 autokey 6 updateevt 7 diskevt 8 activateevt 15 osevt 23 khighlevelevent getfocusevent 0, 1 (true, false) losefocusevent adjustcursorevent 0, 1 (true, false) for information about these events, see the mac os developer documentation.
...additional information about the event.
...And 2 more matches
Theme changes in Firefox 2 - Archive of obsolete content
global/about.css new file; css used in the application's about box.
... mozapps/extensions/about.css updated with a simplified set of style names, since several styles were identical.
... #enginelist treechildren::-moz-tree-image(enginename) changes in global about.css this is a new file for firefox 2.
...And 2 more matches
Reference - Archive of obsolete content
i was wondering what should be done about those examples, since they would no longer be valid with fx 1.5+ and family.
...--nickolay 00:58, 26 aug 2005 (pdt) (more coding style questions) --maian 04:06, 31 aug 2005 (pdt) i'd say, just make a note here about decisions you make.
...i'm very confused about the way function and object in the javascript core are related at first i thought it was something like this : function -> object -> instance instance is for example the math object, it behaves same way as creating new object.
...And 2 more matches
Game monetization - Game development
the technology is mature enough; now it's just about chosing the right approach.
...it varies, but around one person in every thousand is about average.
...they follow various strategies to earn money via your games, but you don't have to worry about all that as selling the license is usually a one-time deal.
...And 2 more matches
Unconventional controls - Game development
leap motion have you ever thought about controlling a game only with your hands?
...you can also check out the tutorial about using leap motion plugin for kiwi.js, or the case study of building a web game with leap motion and pixi.js.
... be sure to visit the leapjs repository on github to learn about the javascript client for the leap motion controller and read the documentation there.
...And 2 more matches
Debugging CSS - Learn web development
this article will give you guidance on how to go about debugging a css problem, and show you how the devtools included in all modern browsers can help you to find out what is going on.
... find out more about the firefox devtools there is a lot of information about the firefox devtools here on mdn.
... debugging problems in css devtools can be a great help when solving css problems, so when you find yourself in a situation where css isn't behaving as you expect, how should you go about solving it?
...And 2 more matches
CSS values and units - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to learn about the different types of values and units used in css properties.
...the page on mdn for each value will give you information about browser support.
... the standard color system available in modern computers is 24 bit, which allows the display of about 16.7 million distinct colors via a combination of different red, green and blue channels with 256 different values per channel (256 x 256 x 256 = 16,777,216.) let's have a look at some of the ways in which we can specify colors in css.
...And 2 more matches
What is CSS? - Learn web development
this article explains what css is, with a simple syntax example, and also covers some key terms about the language.
...browsers are the main type of user agent we think of when talking about css, however, it is not the only one.
...alternatively, you should get used to searching for "mdn css-feature-name" in your favourite search engine whenever you need to find out more information about a css feature.
...And 2 more matches
How do I start to design my website? - Learn web development
talk about your music.
... talk about your music.
...again, there are so many web services already available for showcasing photos that it isn't worth the effort to build a new site just to spread the word about how cute our cats are.
...And 2 more matches
What is a Domain Name? - Learn web development
deeper dive structure of domain names a domain name has a simple structure made of several parts (it might be one part only, two, three...), separated by dots and read from right to left: each of those parts provides specific information about the whole domain name.
...each dns server that knows about a given domain stores the information for some time before it is automatically invalidated and then refreshed (the dns server queries an authoritative server and fetches the updated information from it).
... thus, it takes some time for dns servers that know about this domain name to get the up-to-date information.
...And 2 more matches
Document and website structure - Learn web development
we use color and font size to draw sighted users' attention to the most useful parts of the content, like the navigation menu and related links, but what about visually impaired people for example, who might not find concepts like "pink" and "large font" very useful?
... line breaks and horizontal rules two elements that you'll use occasionally and will want to know about are <br> and <hr>: <br> creates a line break in a paragraph; it is the only way to force a rigid structure in a situation where you want a series of fixed short lines, such as in a postal address or a poem.
...you might also want to include notes about how things might be presented.
...And 2 more matches
HTML table advanced features and accessibility - Learn web development
objective: to learn about more advanced html table features, and the accessibility of tables.
...rather than have a screenreader read out the contents of many cells just to find out what the table is about, he or she can rely on a caption and then decide whether or not to read the table in greater detail.
...you'll learn more about this when you go through our css modules (introduction to css is a good place to start; we also have an article specifically on styling tables).
...And 2 more matches
HTML table basics - Learn web development
LearnHTMLTablesBasics
data about the planets of our solar system (planetary facts taken from nasa's planetary fact sheet - metric.
...in this module we are focusing on the html part; to find out about the css part you should visit our styling tables article after you've finished here.
... tables headers also have an added benefit — along with the scope attribute (which we'll learn about in the next article), they allow you to make tables more accessible by associating each header with all the data in the same row or column.
...And 2 more matches
Introduction to events - Learn web development
previous overview: building blocks next events are actions or occurrences that happen in the system you are programming, which the system tells you about so you can respond to them in some way if desired.
... you don't need to understand anything about other such environments at this stage in your learning; we just wanted to make it clear that events can differ in different programming environments.
...these are often used to display information about filling in form fields when they are focused, or displaying an error message if a form field is filled with an incorrect value.
...And 2 more matches
Fetching data from the server - Learn web development
let's think about the significance of this: go to one of your favorite information-rich sites, like amazon, youtube, cnn, etc., and load it.
... aside on promises promises are a bit confusing the first time you meet them, but don't worry too much about this for now.
... you'll get used to them after a while, especially as you learn more about modern javascript apis — most of the newer ones are heavily based on promises.
...And 2 more matches
A first splash into JavaScript - Learn web development
previous overview: first steps next now you've learned something about the theory of javascript, and what you can do with it, we are going to give you a crash course in the basic features of javascript via a completely practical tutorial.
...you create a variable with the keyword let (or var) followed by a name for your variable (you'll read more about the difference between the keywords in a future article).
... note: you'll learn a lot more about variables/constants later on in the course, starting with the next article.
...And 2 more matches
What is JavaScript? - Learn web development
you can find out much more about these in our client-side web apis module.
... let's briefly recap the story of what happens when you load a web page in a browser (first talked about in our how css works article).
...in this module we are explicitly talking about client-side javascript.
...And 2 more matches
Inheritance in JavaScript - Learn web development
the technique we covered here is not the only way to create inheriting classes in javascript, but it works ok, and it gives you a good idea about how to implement inheritance in javascript.
... object member summary to summarize, you've got four types of property/method to worry about: those defined inside a constructor function that are given to object instances.
... if you are not sure which is which, don't worry about it just yet — you are still learning, and familiarity will come with practice.
...And 2 more matches
Website security - Learn web development
with great regularity, we hear about websites becoming unavailable due to denial of service attacks, or displaying modified (and often damaging) information on their homepages.
... the rest of this article gives you more details about a few common threats and some of the simple steps you can take to protect your site.
... note: this is an introductory topic, designed to help you start thinking about website security, but it is not exhaustive.
...And 2 more matches
Starting our Svelte Todo list app - Learn web development
once we have put our styles in place, though, any element with this class will be hidden from sighted users and still available to screen reader users — this is because these words are not needed by sighted users; they are there to provide more information about what the button does for screenreader users that do not have the extra visual context to help them.
...a <ul> is treated like a list by default, but the styles we're about to add will break that functionality.
...if you want to learn more about why this is necessary, you can check out scott o'hara’s article, “fixing lists”.
...And 2 more matches
Setting up your own test automation environment - Learn web development
ration options for browsers to be tested, for example you can set a specific version and os to test in the forbrowser() method: let driver = new webdriver.builder() .forbrowser('firefox', '46', 'mac') .build(); you could also set these options using an environment variable, for example: selenium_browser=firefox:46:mac let's create a new test to allow us to explore this code as we talk about it.
... add this line to the bottom of quick_test.js now: driver.get('http://mdn.github.io/learning-area/tools-testing/cross-browser-testing/accessibility/native-keyboard-accessibility.html'); interacting with the document now we've got a document to test, we need to interact with it in some way, which usually involves first selecting a specific element to test something about.
... test best practices there has been a lot written about best practices for writing tests.
...And 2 more matches
Learn web development
you should feel at home whether you are a student learning web development (on your own or as part of a class), a teacher looking for class materials, a hobbyist, or someone who just wants to understand more about how web technologies work.
... frameworks and tooling: after mastering the essentials of vanilla html, css, and javascript, you should learn about client-side web development tools, and then consider digging into client-side javascript frameworks, and server-side website programming.
...besides, if you have a specific question about web development, our common questions section may have something to help you.
...And 2 more matches
Gecko info for Windows accessibility vendors
anything that is focusable or conveys important information about the structure of the document is exposed in the msaa tree of iaccessibles.
...there are currently two techniques for parsing tables: 1) use acclocation() to get the coordinates for each cell and feed that into an algorithm that builds up your own table data structure, or 2) use isimpledomnode and parse the table see below for the complete list of roles and notes about what we support intentional differences with internet explorer for the most part, where we support an msaa feature, we have tried to duplicate internet explorer's use of it.
... page loading is tracked via state_change events when a new document is about to be loaded, an event_state_change occurs on the root role_document object for a window.
...And 2 more matches
Creating a Language Pack
while in that directory, issue the following command: $ make merge-x-testing locale_mergedir=$(pwd)/mergedir x-testing: browser chrome browser aboutcerterror.dtd // add and localize this file ...
... // lots of notifications about missing entities ...
...you can either use the locale switcher extension, or set it in about:config.
...And 2 more matches
How Mozilla's build system works
you don't have to worry about how you obtain a configure file: the build system does this for you.
... to view information about the tiers, you can execute the following special make targets: command effect make echo-tiers show the final list of tiers.
...in this section, we'll talk about how moz.build files actually work.
...And 2 more matches
Eclipse CDT
basically, you want to do something similar to the steps in the initial project properties section above, but use "make -j1 -wb" (or just "make" if you don't care about keeping code assistance working) instead of using just-print-mozilla-build.py.
...however, when the object directory is outside the source directory, eclipse doesn't know about it - or the headers it contains - unless the user takes extra steps to tell it.
... if you are trying to dig into a particular parser errors to figure out what it's about, here are a few things you can try: select your project in the project explorer, then from the context menu select "index > search for unresolved includes".
...And 2 more matches
Eclipse CDT Manual Setup
before you proceed any further, check that your changes to eclipse's memory limits have taken effect and are present in eclipse/help > about eclipse > installation details > configuration.
...this script will complete in about 30 seconds on a warm tree (files cached in ram) if your object directory is up to date, although eclipse will take several minutes to process the "build output" that it produces.
...it should take about 5-10 minutes for eclipse to finish processing the output.
...And 2 more matches
Multiple Firefox profiles
you can find details about profiles on mozilla's end-user support site.
... mac os x multifirefox by dave martorana profile management determining the profile while firefox is running to determine the profile of a currently-running firefox instance in windows, macos or linux, type about:profiles into the browser url search bar.
... from profile manager inside firefox if you already have firefox instance running, you can open another profile from the integrated profile manager on any platform: type about:profiles into the browser url search bar.
...And 2 more matches
AddonListener
a listener only needs to implement the methods corresponding to the events it cares about; missing methods will not cause any problems.
... void oninstalling(in addon addon, in boolean needsrestart) void oninstalled(in addon addon) void onuninstalling(in addon addon, in boolean needsrestart) void onuninstalled(in addon addon) void onoperationcancelled(in addon addon) void onpropertychanged(in addon addon, in string properties[]) methods onenabling() called when an add-on is about to be enabled.
... void onenabled( in addon addon, ) parameters addon the addon that has been enabled ondisabling() called when an add-on is about to be disabled.
...And 2 more matches
Add-on Manager
through its apis information about all installed add-ons can be retrieved and new add-ons can be installed.
... accessing installed add-ons information about installed add-ons can be retrieved through the main addonmanager api.
...for example: components.utils.import("resource://gre/modules/addonmanager.jsm"); addonmanager.getalladdons(function(aaddons) { // here aaddons is an array of addon objects }); // this code will execute before the code inside the callback notifications about changes to installed add-ons are dispatched to any registered addonlisteners.
...And 2 more matches
Localizing without a specialized tool
you should see something like this: x-testing browser chrome browser aboutcerterror.dtd // add and localize this file aboutdialog.dtd +aboutlink +aboutlink.accesskey +aboutversion +closecmdgnome.accesskey +closecmdgnome.label +copyright +copyright.accesskey +copyrightgnome.accesskey +copyrightinfo1 +copyrightinfo2 +licen...
...selink +licenselinktext aboutprivatebrowsing.dtd // add and localize this file aboutrobots.dtd // add and localize this file ...
... you should see // add and localize this file aboutcerterror.dtd notice from the compare-locales output that this file is located in the directory /browser/chrome/browser.
...And 2 more matches
Creating localizable web applications
don't forget about right-to-left locales.
... app logic detect the locale correctly be smart about detecting the user's locale correctly.
...you can learn more about the choice of the format for your project at file formats.
...And 2 more matches
L20n HTML Bindings
<p data-l10n-id="about"></p> notice that you don't have to put the text content in the html anymore (you still can if you want to).
...for instance, a string could use the information about the user's gender to provide two variants of the translation, like in the example below.
... see l20n by example to learn more about l20n's syntax.
...And 2 more matches
Localization Use Cases
declensions in gaia's browser app, there's an about-browser string defined as follows in apps/browser/locales/browser: about-browser=about {{browserbrandshortname}} problem definition in many inflected languages (e.g.
... german, finnish, hungarian, all slavic languages), the about preposition governs the grammatical case of the complement.
...browser, to give about the firefox browser.
...And 2 more matches
NSS tools : certutil
-l list all the certificates, or display information about a named certificate, in a certificate database.
...pnb163v2, c2pnb163v3, c2pnb176v1, c2tnb191v1, c2tnb191v2, c2tnb191v3, c2pnb208w1, c2tnb239v1, c2tnb239v2, c2tnb239v3, c2pnb272w1, c2pnb304w1, c2tnb359w1, c2pnb368w1, c2tnb431r1, secp112r1, secp112r2, secp128r1, secp128r2, sect113r1, sect113r2 sect131r1, sect131r2 -r display a certificate's binary der encoding when listing information about that certificate with the -l option.
... the --upgrade-merge command must give information about the original database and then use the standard arguments (like -d) to give the information about the new databases.
...And 2 more matches
certutil
-l list all the certificates, or display information about a named certificate, in a certificate database.
... -r display a certificate's binary der encoding when listing information about that certificate with the -l option.
... the --upgrade-merge command must give information about the original database and then use the standard arguments (like -d) to give the information about the new databases.
...And 2 more matches
Index
127 jsnewresolveop jsapi reference, obsolete, spidermonkey like jsresolveop, but flags provide contextual information about the property access.
... 328 js_getpropertyattrsgetterandsetter jsapi reference, obsolete, spidermonkey see js_getpropertyattributes for details about these functions.
...for more details about contexts, see jscontext.
...And 2 more matches
TPS Tests
you can sign up for an fxa account on stage or dev by creating an fxa account after adding the identity.fxaccounts.autoconfig.uri preference (with the appropriate value) to about:config.
... inspect about:sync-log.
...it will include log output written by the python driver, which includes information about where the temporary profiles it uses are stored.
...And 2 more matches
Redis Tips
so rather than thinking about redis as a database with some kind of non-existent relationship to sql, think of it as a data structure server with a rich set of commands for querying and manipulating those data structures over a network connection.
... the redis command watch lets you name keys you're worried about; it causes your next transaction to be immediately aborted if any of the watched keys has been modified by anyone else.
... i recommend instead reading about redis's memory optimizations for small zsets: http://oldblog.antirez.com/post/everything-about-redis-24.html.
...And 2 more matches
XPCOM array guide
MozillaTechXPCOMGuideArrays
these enumerators maintain state about the current position in the array.
...this allows direct processing of array elements without worrying about calling release().
...d-only because of const void printsize(const nscomarray<nsielements>& elements) { printf("there are %d elements.\n", elements.count()); } // no const, so we can modify the array void tweakarray(nscomarray<nsielement>& elements, nsielement* newelement) { elements.removeobjectat(0); elements.appendobject(newelement); } in-place enumeration the callback-based enumeration in nscomarray<t> is about as fast as, if not faster than, standard loop-based iteration.
...And 2 more matches
Preface
next » this is a book about gecko, and about creating xpcom components for gecko-based applications.
...accordingly, the book is arranged so that you can follow along and create your own components or learn about different xpcom topics individually, as in a reference work.
...by the end of the book, if we've done our job, you will have learned how to build a component and you will know something about the framework for these components in gecko, which is xpcom.
...And 2 more matches
nsIAnnotationService
toolkit/components/places/public/nsiannotationservice.idlscriptable stores arbitrary data about a web page.
...otherwise, uris can exist in history as annotations but the user has no way of knowing it, potentially violating their privacy expectations about actions such as clear history.
...otherwise, uris can exist in history as annotations but the user has no way of knowing it, potentially violating their privacy expectations about actions such as clear history.
...And 2 more matches
nsICacheVisitor
netwerk/cache/nsicachevisitor.idlscriptable this interface provides information about cache devices and entries.
... inherits from: nsisupports last changed in gecko 1.7 method overview boolean visitdevice(in string deviceid, in nsicachedeviceinfo deviceinfo); boolean visitentry(in string deviceid, in nsicacheentryinfo entryinfo); methods visitdevice() this method is called to provide information about a cache device.
...deviceinfo specifies information about this device.
...And 2 more matches
nsINavHistoryObserver
the specified page and all its visits are about to be deleted.
... note: see using onbeforedeleteuri() in gecko 1.9.1 for how to implement this in gecko 1.9.1 void onbeforedeleteuri( in nsiuri auri, in acstring aguid ); parameters auri the uri of the page about to be deleted.
... onbeginupdatebatch() notifies you that a batch of things are about to change.
...And 2 more matches
nsISupports proxies
for more information about alternatives, see making cross-thread calls using runnables.
... about xpcom proxies a proxy, in this context, is a stub object which enables a method of any class which is derived from nsisupports and has a typelib to be called on any in-process thread.
... warning about proxy_async: you must take very special care when using this flag.
...And 2 more matches
Setting HTTP request headers
(and yes, "http-on-modify-request" is a string.) note: there are many topics, besides just "http-on-modify-request", that you can get notifications about, for example "http-on-examine-response" and "xpcom-shutdown".
... for more information about notifications framework and a list of common notification topics, see observer notifications.
... observers to get notified about some topic (like "http-on-modify-request") we need to create an observer.
...And 2 more matches
Getting Started Guide
a good place to learn about the basic rules and reasoning behind com is in essential com by don box.
...clients don't get to know much about the implementation of any such object.
... nsresult rv; nscomptr<nsifoo> foo(do_queryinterface(bar, &rv)); // or, if you don't care about the |nsresult| nscomptr<nsifoo> foo(do_queryinterface(bar)); nscomptr happily calls addref and release implicitly.
...And 2 more matches
Deprecated tools - Firefox Developer Tools
you may see a warning message, as in the following image, when trying to activate a deprecated panel: in addition, if you open the panel for one of these tools, you will also see a warning message about its removal.
... alternatives remote debugging is available in about:debugging as of firefox 68.
... features not ported to about:debugging are: wifi debugging for firefox for android, application development.
...And 2 more matches
Index - Firefox Developer Tools
41 dominators with a garbage-collected language, like javascript, the programmer doesn't generally have to worry about deallocating memory.
...this pane provides more detailed information about the request.
...we don’t care about the internal implementation of these libraries.
...And 2 more matches
Migrating from Firebug - Firefox Developer Tools
it also provides information about html parsing or layout.
...while firebug focuses on javascript performance and provides detailed information about javascript function calls during the profiling session, the performance tool in the devtools offers a broad spectrum of information regarding a website's performance but doesn't go into detail regarding javascript function calls.
... inspect request information both firebug and the firefox devtools' network monitor allow you to inspect the information about a request by clicking on it.
...And 2 more matches
Network request list - Firefox Developer Tools
there's an icon next to the domain that gives you extra information about the security status of that request.
...you can configure the threshhold in the configuration editor (about:config) by modifying the devtools.netmonitor.audits.slow setting.
... transferred: the number of bytes that were actually transferred to load the resource, or a message about why the resource was not transferred.
...And 2 more matches
The HTML DOM API - Web APIs
each node is based on the node interface, which provides properties for getting information about the node as well as methods for creating, deleting, and organizing nodes within the dom.
... the htmlelement interface is generic, however, providing only the functionality common to all html elements such as the element's id, its coordinates, the html making up the element, information about scroll position, and so forth.
...to learn more about the actual structure of the dom, see introduction to the dom.
...And 2 more matches
Basic concepts - Web APIs
about this document this introduction discusses essential concepts and terminology in indexeddb.
... to learn more about indexeddb terms, see the definitions section.
...you're storing critical data that cannot be recomputed later) you can force a transaction to flush to disk before delivering the complete event by creating a transaction using the experimental (non-standard) readwriteflush mode (see idbdatabase.transaction.) this is currently experimental, and can only be used if the dom.indexeddb.experimental pref is set to true in about:config.
...And 2 more matches
Navigator - Web APIs
WebAPINavigator
navigator.battery read only returns a batterymanager object you can use to get information about the battery charging status.
... navigator.connection read only provides a networkinformation object containing information about the network connection of a device.
... navigator.locks read only returns a lockmanager object which provides methods for requesting a new lock object and querying for an existing lock object navigator.mediacapabilities read only returns a mediacapabilities object that can expose information about the decoding and encoding capabilities for a given format and output capabilities.
...And 2 more matches
WebGL2RenderingContext - Web APIs
renderbuffers webgl2renderingcontext.getinternalformatparameter() returns information about implementation-dependent support for internal formats.
... webgl2renderingcontext.getqueryparameter() returns information about a query.
... webgl2renderingcontext.gettransformfeedbackvarying() returns information about varying variables from webgltransformfeedback buffers.
...And 2 more matches
Signaling and video calling - Web APIs
you can learn more about the codecs which webrtc requires browsers to support, which additional codecs are supported by which browsers, and how to choose the best codecs to use in the guide codecs used by webrtc.
... function createpeerconnection() { mypeerconnection = new rtcpeerconnection({ iceservers: [ // information about ice servers - use your own!
... rtcpeerconnection.oniceconnectionstatechange the iceconnectionstatechange event is sent by the ice layer to let you know about changes to the state of the ice connection.
...And 2 more matches
Fundamentals of WebXR - Web APIs
assuming a person has two healthy eyes, their total field of view is about 200° to 220° wide.
...for more details about this, see the optics of 3d in rendering and the webxr frame animation callback.
... for more information about using webxr to create augmented reality experiences, see augmented reality with webxr.
...And 2 more matches
Web Speech API - Web APIs
speech synthesis speechsynthesis the controller interface for the speech service; this can be used to retrieve information about the synthesis voices available on the device, start and pause speech, and other commands besides.
... speechsynthesiserrorevent contains information about any errors that occur while processing speechsynthesisutterance objects in the speech service.
... speechsynthesisevent contains information about the current state of speechsynthesisutterance objects that have been processed in the speech service.
...And 2 more matches
Window.customElements - Web APIs
the customelements read-only property of the window interface returns a reference to the customelementregistry object, which can be used to register new custom elements and get information about previously registered custom elements.
...to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.ie no support noopera full support 41safari full support 10.1webview android full support 54chrome android full support 54firefox android full support 63 full support ...
...And 2 more matches
Window - Web APIs
WebAPIWindow
window.customelements read only returns a reference to the customelementregistry object, which can be used to register new custom elements and get information about previously registered custom elements.
... deviceorientation fired when fresh data is available from the magnetometer orientation sensor about the current orientation of the device as compared to the earth coordinate frame.
... load & unload events beforeunload fired when the window, the document and its resources are about to be unloaded.
...And 2 more matches
Web Accessibility: Understanding Colors and Luminance - Accessibility
at the surface, the subject seems simple, but it is actually a complex subject because color is as much about the physiology of the eye and human perception as it is about light emitting from a computer screen.
... according to the article, hypersensitive cones, the authors note that "by population, about 64% of the cones are red-sensitive, about 32% green sensitive, and about 2% are blue sensitive." surprisingly, although cones that are blue-sensitive typically make up the fewest number of cones, they are also the most "sensitive" to color.
... to summarize, color is as much about human physiology and perception in the brain as it is the measurement of light coming from a computer screen.
...And 2 more matches
:scope - CSS: Cascading Style Sheets
WebCSS:scope
sorry about that.
...<style scoped> made it possible to explicitly set up element scopes, but ongoing discussions about the design of this feature as well as lack of other implementations resulted in the decision to remove it.
...to change preferences in firefox, visit about:config.ie no support noopera full support 15safari full support 7webview android full support ≤37chrome android full support 27firefox android full support 32notes full support 32notes notes firefox 55 removes support for <style scop...
...And 2 more matches
Visual formatting model - CSS: Cascading Style Sheets
much of the information about the visual formatting model is defined in css2, however, various level 3 specifications have added to this information.
... something to consider about these anonymous boxes is that they inherit styles from their direct parent, but you cannot change how they look by targeting the anonymous box.
... read more about flow layout in css.
...And 2 more matches
Adapting to the new two-value syntax of display - CSS: Cascading Style Sheets
one of the first things we learn about css is that some elements are block-level and some are inline-level.
... the flow-root value makes sense if you think about block and inline layout, which is sometimes called normal flow.
...what about the matched pair display: inline flow-root?
...And 2 more matches
Media buffering, seeking, and time ranges - Developer guides
this is usually contiguous but if the user jumps about while media is buffering, it may contain holes.
...(learn more about timeranges).
... without any user interaction there is usually only one time range, but if you jump about in the media more than one time range can appear, as illustrated by the below visualization.
...And 2 more matches
HTML5 - Developer guides
WebGuideHTMLHTML5
designed to be usable by all open web developers, this reference page links to numerous resources about html5 technologies, classified into several groups based on their function.
... improvement in <iframe> using the sandbox and srcdoc attributes, authors can now be precise about the level of security and the wished rendering of an <iframe> element.
... 2d/3d graphics and effects canvas tutorial learn about the new <canvas> element and how to draw graphs and other objects in firefox.
...And 2 more matches
A hybrid approach - Developer guides
instead of maintaining two completely different sites, we simply redirect users to pages for the content they care about.
...for example, an often-criticized point about responsive web design is that full-resolution images are sent to all devices, including phones that show the images scaled down anyway.
... we’ve talked about incorporating server-side techniques into a responsive design, but there are even ways to use the hybrid approach if your use cases for mobile and desktop are very different.
...And 2 more matches
User input and controls - Developer guides
for example if you want to add controls when any key gets pressed, you need to add an event listener on the window object: window.addeventlistener("keydown", handlekeydown, true); window.addeventlistener("keyup", handlekeyup, true); where handlekeydown and handlekeyup are the functions implementing the controls about the keydown and keyup events.
... note: have a look at the events reference and keyboardevent guide to find out more about keyboard events.
... note: for further information about what you can do with touch events, please read our touch events guide.
...And 2 more matches
A re-introduction to JavaScript (JS tutorial) - JavaScript
javascript supports object-oriented programming with object prototypes, instead of classes (see more about prototypical inheritance and es2015 classes).
...they have methods as well that allow you to manipulate the string and access information about the string: 'hello'.charat(0); // "h" 'hello, world'.replace('world', 'mars'); // "hello, mars" 'hello'.touppercase(); // "hello" other types javascript distinguishes between null, which is a value that indicates a deliberate non-value (and is only accessible through the null keyword), and undefined, which is a value of type undefined that indicates an uninitialized variable — that is, a va...
...we'll talk about variables later, but in javascript it is possible to declare a variable without assigning a value to it.
...And 2 more matches
Introduction - JavaScript
if you are new to programming, try one of the tutorials linked on the main page about javascript.
... javascript guide (this guide) provides an overview about the javascript language and its objects.
...see new in javascript to learn more about different versions of javascript and ecmascript specification editions.
...And 2 more matches
JavaScript
read more about javascript.
...for information about api specifics to web pages, please see web apis and dom.
...this module gives you some fundamental background knowledge about how client-side frameworks work and how they fit into your toolset, before moving on to tutorial series covering some of today's most popular ones.
...And 2 more matches
Web audio codec guide - Web media technologies
for information about the fundamental concepts behind how digital audio works, see the article digital audio concepts.
... factors affecting the encoded audio there are two general categories of factors that affect the encoded audio which is output by an audio codec's encoder: details about the source audio's format and contents, and the codec and its configuration during the encoding process.
... for more information about these and other features of audio data, see audio data format and structure in digital audio concepts.
...And 2 more matches
Privacy, permissions, and information security
security and privacy defined before we go into any depth about the various security and privacy features available to users on the web, let's define some important terms.
... personally identification can include information like usernames, real names, passwords, phone numbers or addresses (or even portions of them), information about medical history, social security numbers, driver licenses, or any other form of id or id number, credit card information, and so forth.
...everyone has some idea what it means to keep something private, but when talking about the privacy of data, it becomes murky.
...And 2 more matches
Mobile first - Progressive web apps (PWAs)
this rings true, yes, but in our experience mobile first is more about having the mobile implementation as a default layer to build on.
...our html looks like this: <article> <nav> <ul> <li><a href="#">home</a></li> <li><a href="#">articles</a></li> <li><a href="#">videos</a></li> <li><a href="#">work</a></li> <li><a href="#">about</a></li> <li><a href="#">contact</a></li> </ul> </nav> <header> <a id="top" href="#bottom">jump to menu</a> <h1>my article</h1> </header> <div class="main"> <p>lorem ipsum … </p> <a id="bottom" href="#top">back to top</a> </div> </article> <button id="install-btn">install</button> default mobile css for the css, i first added some styles into our app.cs...
... one word of warning about this technique though - positioning doesn't work as expected on elements with display: table set on them.
...And 2 more matches
The building blocks of responsive design - Progressive web apps (PWAs)
it is usually much better to create a single version of your code which doesn't care about what browser or platform is accessing the site, but instead uses feature tests to find out what code features the browser supports or what the values of certain browser features are, and then adjusts the code appropriately.
...read more about responsive design advantages and disadvantages.
...we have used brick to create the mobile layout for snapshot, which you will read more about below.
...And 2 more matches
Progressive web apps (PWAs)
this set of docs tells you all you need to know about them.
...to find out more about what these mean, read progressive web app advantages.
...this guide explains how a2hs is used, and what you need to do as a developer to allow your users to take advantage of it.how to make pwas installablein this article, we learned about how we can make pwas installable with a properly-configured web manifest, and how the user can then install the pwa with the "add to home screen" feature of their browser.how to make pwas re-engageable using notifications and pushhaving the ability to cache the contents of an app to work offline is a great feature.
...And 2 more matches
WebAssembly Concepts - WebAssembly
(note that webassembly has the high-level goal of supporting languages with garbage-collected memory models in the future.) with the advent of webassembly appearing in browsers, the virtual machine that we talked about earlier will now load and run two types of code — javascript and webassembly.
... above we talked about the raw primitives that webassembly adds to the web platform: a binary format for code and apis for loading and running this binary code.
... now let’s talk about how we can use these primitives in practice.
...And 2 more matches
Content Scripts - Archive of obsolete content
to learn about how to interact with the content for a given user interface module, please see the module-specific documentation: panel, sidebar, frame.
...second, it means that content scripts can create objects without worrying about whether they might clash with objects added by page scripts.
...if you need to do this, read about interacting with page scripts.
...to learn about communicating with content scripts loaded using context-menu, see the context-menu documentation.
context-menu - Archive of obsolete content
read more about patterns.
... a special event named "context" is emitted in your content scripts whenever the context menu is about to be shown.
... to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
... parameters predicatefunction : function(context) a function which will be called with an object argument that provide information about the invocation context.
/loader - Archive of obsolete content
don't get too excited about configuration options, keep in mind that modules are more useful if they can be used across loader instances.
...these graphs can be used to reason about modules without diving into implementation details.
... if (subject.wrappedjsobject === unloadsubject) console.log("i am about to unload, reason is " + reason); }}; observerservice.addobserver(observer, 'sdk:loader:destroy', false); unload the loader module exposes an unload() function that can be used to unload specific loader instance and undo changes made by modules loaded into it.
...it takes the following set of configuration options: name: a string value which identifies the sandbox in about:memory.
Developing add-ons - Archive of obsolete content
this includes information about addons.mozilla.org, mozilla's add-on distribution web site.
... plugins information about how to create plugins, which are binary components that let mozilla based software display content they can't handle natively.
... 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.
... the mozilla platform information about the mozilla platform, including all of its apis and technologies, as well as how to use them in your own projects.
Chapter 4: Using XPCOM—Implementing advanced processes - Archive of obsolete content
« previousnext » fixme: we should include a link to the mdc list of snippets fixme: we need to add a part about 'why and how to create your own component' c++/js this document was authored by hiroshi shimoda of clear code inc.
... about xpcom xpcom is a framework for developing platform-independent components.
...type about:config into the location bar to confirm that the value has been stored correctly.
...again, you can use about:config to check that the value has been stored correctly.
Adding Toolbars and Toolbar Buttons - Archive of obsolete content
read more about this in the type attribute specification.
...this makes it easy to keep the themes separate and to make changes to one of them without having to worry about the rest.
...now you just need to be careful about when to use chrome://xulschoolhello/skin/ and when to use chrome://xulschoolhello-os/skin/.
...keep in mind that you shouldn't assume anything about the location (or presence!) of any specific buttons; remember users could have moved them or removed them altogether.
Appendix F: Monitoring DOM changes - Archive of obsolete content
non-mutation triggers it is usually possible to tell when a mutation has occurred or is about to occur without resorting to mutation events or observers.
...you can read more about event delegation here.
... * * @param {string} selector the css selector of nodes about which you * want to be notified.
...for instance, if you need to know about attribute changes to a particular node, then you should replace its setattribute method with a function that calls the original setattribute function as originalsetattribute.apply(this, arguments) before running your necessary event code.
Handling Preferences - Archive of obsolete content
to access all other preferences, enter "about:config" into the location bar.
...all changes done in about:config are saved to the prefs.js file.
... the list in about:config is not complete.
...you'll see this preference appear in about:config after installing the extension.
Firefox addons developer guide - Archive of obsolete content
the stuff about installing the dom inspector (https://developer.mozilla.org/en/firefox_addons_developer_guide/let%27s_build_a_firefox_extension#install_the_dom_inspector) is not accurate for firefox 3 or later, since it's no longer included in the firefox installer and must be downloaded from amo.
...certainly appendix 2 doesn't care what version of firefox you're using, since it's just about open source software licenses.
...es inside the documents; add abbreviation definition to acronyms; add some link to the internal mdc documentation when it makes sense; indent source code; make sure documentation is relevant for all platforms: gnu/linux, macos, windows; add anchor links to figures & listings; add credits to original authors and license; completed sometimes, interfaces names are misspelled: s/nsl/nsi; talk about fuel; titles of chapters and sub-headings should have caps for first letter of each word; we should add a part about bad and good practices (leaks, global scopes, ...); add external resources (mozdev.org/community/books.html); add to chapter 3 or 5 more informations about overlay (how to overlay some interesting part of firefox like status bar, menus or toolbar) add previous/next at the end ...
... opinions: i think we should be careful about adding new contents to this guide.
An Interview With Douglas Bowman of Wired News - Archive of obsolete content
besides the fact that the engineers can finally focus on building out the working functionality of the site rather than worrying about appearance or where the next spacer.gif is supposed to go?
...we don't make any claims about past archived content, but we've taken many efforts to make sure even stories from a few years ago are as valid as possible.
...but some users may write in, frustrated and complaining about the horrible design decisions we've made.
...what are the browser percentages of your current user base, and what about your target user base (which may be different)?
XML data - Archive of obsolete content
for more information about xml in mozilla, see the xml page in this wiki.
... notes about this demonstration: the superscript 2 (in "million km²") a unicode character, coded as \b2 in the css file.
...if you had difficulty understanding this page, or if you have other comments about it, please contribute to its discussion page.
...for more information about css in mozilla, see the main css page in this wiki.
Creating a status bar extension - Archive of obsolete content
download the sample the install manifest the install manifest, install.rdf, is a text file containing information that tells the host application important information about the extension.
... <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>status-bar-sample-1@example.com</em:id> <em:version>1.0</em:version> <em:type>2</em:type> <!-- front end metadata --> <em:name>status bar sample 1</em:name> <em:description>sample static status bar panel</em:description> <em:creator>my name</em:creator> <em:homepageurl>http://developer.mozilla.org/en/docs/creating_a_status_bar_extension</em:homepageurl> <!-- describe the firefox versions we support --> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>2.0.0.
... homepageurl the url of a web site the user can visit to get information about the extension, or to look for updates.
...you can also find more details about format of chrome manifests in the chrome manifest section.
JXON - Archive of obsolete content
if you want a complete bidirectional jxon library (modelled on the json global object), skip to the dedicated paragraph (but please read the note about the const statement compatibility).
... now let's serialize doc — the dom tree — to a javascript object tree (you can read more about working with objects and how javascript is object-oriented).
...before implementing it in a working environment, please read the note about the const statement compatibility.
... about this library the jxon.build() method summarizes all our four ways of conversion (see: #1, #2, #3, #4).
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
one concrete example is window.open, which opens a new window: <script> function doopenwindow(){ var mywindow = window.open("about:blank"); mywindow.location.href = "http://www.ibm.com"; } </script> the problem with the code is that window.open is asynchronous -- it does not block the javascript execution until the window has finished loading.
...this is because the parser has no knowledge about javascript (or any other language) when in strict mode.
...i'll discuss more about doctypes in the next section.
...zilla uses almost standards mode for the following conditions: for any "loose" doctype (for example, <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en">, <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">) for the ibm doctype (<!doctype html system "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd">) you can read more about the image gap issue.
Space Manager High Level Design - Archive of obsolete content
during reflow, the space manager stores the space taken up by floats (updatespacemanager in nsblockframe) and provides information about the space available for other elements (getavailablespace in nsblockreflowstate).
... data model class/component diagram nsspacemanager: the central point of management of the space taken up by floats in a block nsbanddata: provides information about the frames occupying a band of occupied or available space nsblockbanddata: a specialization of nsbanddata that is used by nsblockreflowstate to determine the available space, float impacts, and where floats are cleared.
... frameinfo: a structure that keeps information about the rectangle associated with a specific frame, in a linked list.
...this is used to communicate information about the space in the band to the clients of the space manager.
Menus - Archive of obsolete content
for information about submenus, see submenus below.
...for details about adding shortcut keys to menus, see adding shortcut keys to menu items.
... for details about adding icons to menus, see adding icons to menu items.
... for details about creating checkbox menu items or radio menu items see checkbox menu items or radio menu items.
Panels - Archive of obsolete content
for more information about positioning the popup, see positioning popups.
...for more information about this attribute and other possible values that can be used, see positioning popups.
...for more details about both methods, see opening and closing popups.
... for more information about these types of panels, see floating panels.
Cross Package Overlays - Archive of obsolete content
applying overlays to other packages note: this section talks about contents.rdf which has been replaced in gecko 1.8 by manifest files.
... <rdf:seq about="urn:mozilla:overlays"> <rdf:li resource="chrome://navigator/content/navigator.xul"/> </rdf:seq> this declares that we are adding a overlay window, a child of the root overlay node (urn:mozilla:overlays).
... <rdf:seq about="chrome://navigator/content/navigator.xul"> <rdf:li>chrome://findfile/content/foverlay.xul</rdf:li> </rdf:seq> mozilla reads this information and builds a list of overlays that are applied to other windows.
...the following example shows how: <rdf:seq about="urn:mozilla:stylesheets"> <rdf:li resource="chrome://messenger/content/messenger.xul"/> </rdf:seq> <rdf:seq about="chrome://messenger/content/messenger.xul"> <rdf:li>chrome://blueswayedshoes/skin/myskinfile.css</rdf:li> </rdf:seq> next, we'll see how to create an installer for a xul application.
Using the Editor from XUL - Archive of obsolete content
the xul contains an <editor> tag, e.g.: <editor type="content-primary" id="content-frame" src="about:blank" flex="1"/> the attribute type="content-primary" identifies this as the window content element, i.e.
... when the xul was parsed, the src attribute on the content frame was set to about:blank (our default 'blank page' url).
...one thing to note about editor initialization is that we pass into the editor's init() method an nsicontent* that corresponds to the root of the content tree that the editor is allowed to work with.
... now, we initialize a nstextrulesinfo with the information about the string being inserted, and call willdoaction() on the current editing rules.
XUL accessibility guidelines - Archive of obsolete content
titles provide users the most basic information about the application.
... flexible sizing one of the great things about xul is that visual layout is easy to control.
... animation user has control over animation and is warned about flashing content.
... no control over animation or warnings about flashing exist.
Debugging a XULRunner Application - Archive of obsolete content
see: preference reference for more information about these preferences.
... jsdump(str) (function defined below) will output str as a "message" with a speech bubble icon next to it: function jsdump(str) { components.classes['@mozilla.org/consoleservice;1'] .getservice(components.interfaces.nsiconsoleservice) .logstringmessage(str); } for more information about the error console see the error console and browser console article.
...bugger has changed: components.utils.import('resource://gre/modules/devtools/dbg-server.jsm'); if (!debuggerserver.initialized) { debuggerserver.init(); debuggerserver.addbrowseractors(); debuggerserver.allowchromeprocess = true; } let dbglistener=debuggerserver.createlistener(); dbglistener.portorpath=6000; dbglistener.open(); add the following to your prefs.js: (in recent ffox, edit about:config instead) pref("devtools.debugger.remote-enabled", true); in firefox, go to tools > web developer > connect...
... note the "new in firefox 3" attribute "contentaccessible" on https://developer.mozilla.org/en/chrome_registration so as per http://markmail.org/message/ezbomhkw3bgqjllv#query:x-jsd+page:1+mid:xvlr7odilbyhn6v7+state:results change the manifest to have this line: content venkman jar:venkman.jar!/content/venkman/ contentaccessible=yes i get errors about not being able to open contentareautils.js, contentareadd.js, findutils.js, or contentareautils.js...
Archived Mozilla and build documentation - Archive of obsolete content
these articles are archived, obsolete documents about mozilla, gecko, and the process of building mozilla projects.
... califiletype the califiletype interface provides information about a specific file type.
... mozilla application framework the mozilla application framework: for powerful, easy to develop cross-platform applications mozilla crypto faq in this document i try to answer some frequently asked questions about the mozilla web browser and mail/news client and its support for ssl, s/mime, and related features based on cryptographic technology.
... sxsw 2007 presentations presentations about the mozilla project given at the sxsw 2007 event in austin, texas.
2006-11-24 - Archive of obsolete content
discussions about functions that display the events/tasks of the calendars in month view.
... filing bugs for prototype implementations discussions about explicitly address bugs in the prototype implementations.
... proposal for an event summary dialog discussions about design for an event summary dialog.
... treating calendars as tags discussions concerning about the layout of calendar list in lightning/sunbird.
2006-12-01 - Archive of obsolete content
discussions cancellable async requests discussions about a bug of calicalendar's async methods.
... tasks in sunbird & lightning discussion about how to accessing the tasks in view in sunbird and lightning.
... discussions about universal binaries for sunbird.
... override a method (xbl) discussions about how to override a js function in a js file.
Sunbird Theme Tutorial - Archive of obsolete content
making a theme a theme consists of: a unique identifier a file containing information about the theme a file that registers the theme with sunbird some files containing the theme itself set up your theme in sunbird's profile directory.
... creating information about your theme in your theme directory, create a plain text file named <tt>install.rdf</tt>.
... copy and paste the content from here, making sure that you scroll to get all of it: <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest" em:id="just-testing@example.com" em:name="just testing" em:creator="rod whiteley" em:description="a test theme for sunbird" em:homepageurl="http://developer.mozilla.org/" em:version="0.1" em:internalname="testing" em:type="4" > <em:targetapplication><!-- sunbird --> <description em:id="{718e30fb-e89b-41dd-9da7-e25a45638b28}" em:minversion="0.2.9" em:maxversion="0.4" /> </em:targetapplication> </description> </rdf> in the line that starts <tt>em:id</tt>, ...
...make an image file about 200 by 100 pixels, and save it as <tt>preview.png</tt> in your theme directory.
Building a Theme - Archive of obsolete content
note: this tutorial is about building themes for firefox 29 and later.
... create the install manifest open the file called install.rdf that you created at the top of your extension's folder hierarchy and put this inside: <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>sample@example.net</em:id> <em:version>1.0</em:version> <em:type>4</em:type> <!-- target application this theme can install into, with minimum and maximum supported versions.
...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.
... test first, we need to tell firefox about your theme.
Audio for Web games - Game development
there is further information about it here from the google developers site.
...you can find out more about best practises with the autoplay policy here.
... testing and support here's a table that shows what mobile platforms support the features talked about above.
... the pannernode harnesses the positional capabilities of the web audio api so we can relate further information about the game world to the player.
Backgrounds and borders - Learn web development
this example demonstrates two things about background images.
... you can read more about the different types of gradients and things you can do with them on the mdn page for the <gradient> data type.
... borders when learning about the box model, we discovered how borders affect the size of our box.
...do explore the different property pages if you want to find out more about any of the features we have discussed.
Cascade and inheritance - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to learn about the cascade and specificity, and how inheritance works in css.
... note: on mdn css property reference pages you can find a technical information box, usually at the bottom of the specifications section, which lists a number of data points about that property, including whether it is inherited or not.
... something to note here is that although we are thinking about selectors, and the rules that are applied to the thing they select, it isn't the entire rule which is overwritten, only the properties which are the same.
...we'd advise that you return to this article a few times as you continue through the course, and keep thinking about it.
Handling different text directions - Learn web development
instead they will talk about start and end along with this idea of inline and block.
... don't worry too much about that right now, but keep these ideas in mind as you start to look at layout; you will find it really helpful in your understanding of css.
... logical properties and values the reason to talk about writing modes and direction at this point in your learning however, is because of the fact we have already looked at a lot of properties which are tied to the physical dimensions of the screen, and make most sense when in a horizontal writing mode.
... logical margin, border, and padding properties in the last two lessons we have learned about the css box model, and css borders.
Images, media, and form elements - Learn web development
you need to make a decision about what happens with the overflow.
... so what can we do about the overflowing issue?
... you can make other choices about images inside containers.
...you learned about the box-sizing property in our box model lesson and you can use this knowledge when styling forms to ensure a consistent experience when setting widths and heights on form elements.
How CSS works - Learn web development
javascript is handled a bit later on in the process, and we won't talk about it here to keep things simpler.
... about the dom a dom has a tree-like structure.
... the updated output is as follows: in our debugging css article in the next module we will be using browser devtools to debug css problems, and will learn more about how the browser interprets css.
...old browsers will use the pixel version, ignoring the line about calc() as they don't understand it.
Fundamental text and font styling - Learn web development
verdana sans-serif note: among various resources, the cssfontstack.com website maintains a list of web safe fonts available on windows and macos operating systems, which can help you make your decision about what you consider safe for your usage.
...the maths can be complicated, so you need to be careful about how you style things.
...if you are going to use this, you should also think about using something else along with it, such as hyphens, to break some of the longer words across lines.
...the next article will give you all you need to know about styling html lists.
What text editors are available? - Learn web development
in this article we highlight some things to think about when installing a text editor for web development.
... prerequisites: you should already know about various software you need to build a website.
...you will learn more about customizing your editors and tools as you gain experience, and more importantly you will learn what features are more useful to your purposes.
... dig deeper choice criteria so, in more detail, what should you be thinking about when you choose a text editor?
How to build custom form controls - Learn web development
we have to think a little further: what about the escape key?
...if you want to learn more about this topic, you should check out the following helpful resources: uxmatters.com uxdesign.com the ux design section of smashingmagazine note: also, in most systems there is a way to open the <select> element with the keyboard to look at all the available choices (this is the same as clicking the <select> element with a mouse).
... .select .optlist.hidden { /* this is a simple way to hide the list in an accessible way; we will talk more about accessibility in the end */ max-height: 0; visibility: hidden; } note: we could also have used transform: scale(1, 0) to give the optionlist no height and full width.
... making the job easier in the code we are about to build, we will use the standard javascript and dom apis to do all the work we need.
CSS property compatibility table for form controls - Learn web development
font yes yes see the note about line-height letter-spacing yes yes text-align yes yes text-decoration partial partial see the note about opera text-indent partial[1] partial[1] ie9 supports this property only on <textarea>s, whereas opera only supports it on single line text fields.
... text and font color yes yes font yes yes see the note about line-height.
... text and font color yes yes font yes yes see the note about line-height.
... text and font color yes yes font yes yes see the note about line-height.
JavaScript basics - Learn web development
to learn more about alternative approaches, see script loading strategies.
...(see this section about naming rules.) if you are unsure, you can check your variable name to see if it's valid.
... note: for more details about the difference between var and let, see the difference between var and let.
...(read more about variable scoping.) events real interactivity on a website requires events handlers.
The web and web standards - Learn web development
this article provides some useful background on the web — how it came about, what web standard technologies are, how they work together, why "web developer" is a great career to choose, and what kinds of best practices you'll learn about through the course.
... web best practices we have briefly talked about the technologies that you'll use to build websites.
...it also goes beyond people with disabilities — how about young or old people, people from different cultures, people using mobile devices, or people with unreliable or slow network connections?
...privacy refers to allowing people to go about their business privately and not spying on them or collecting more of their data than you absolutely need to.
Creating hyperlinks - Learn web development
the title contains additional information about the link, such as which kind of information the page contains, or things to be aware of on the web site.
... <p>i'm creating a link to <a href="https://www.mozilla.org/" title="the best place to find more information about mozilla's mission and how to contribute">the mozilla homepage</a>.
... inside the html body, add one or more paragraphs or other types of content you already know about.
... <a href="https://www.mozilla.org/"> <img src="mozilla-image.png" alt="mozilla logo that links to the mozilla homepage"> </a> note: you'll find out more about using images on the web in a future article.
Adding vector graphics to the Web - Learn web development
you can also go to the svg element reference, find out more details about other toys you can use in svg, and try those out too.
... this section is all about practising your research skills, and having some fun.
...nt to save the state when the user code is being shown, // not the solution, so that solution is not saved over the user code if(solution.value === 'show solution') { userentry = textarea.value; } else { solutionentry = textarea.value; } updatecode(); }; summary this article has provided you with a quick tour of what vector graphics and svg are, why they are useful to know about, and how to include svg inside your webpages.
...we've included some links below that might help you if you wish to go and find out more about how it works.
From object to iframe — other embedding technologies - Learn web development
the online world is very familiar with youtube, but many people don't know about some of the sharing facilities it has available.
...ie 10 and above) requests heightened security settings; we'll say more about this in the next section.
...if you are using different hosting and are not sure, ask your hosting provider about it.
...and then you constantly got annoying alerts about updating flash player and your java runtime environment.
Introduction to web APIs - Learn web development
as a real-world example, think about the electricity supply in your house, apartment, or other dwellings.
... relationship between javascript, apis, and other javascript tools so above, we talked about what client-side javascript apis are, and how they relate to the javascript language.
...find out more about these types of api in manipulating documents.
...find out more about such apis in fetching data from the server.
Arrays - Learn web development
if we had 10 items to add to the invoice it would already be annoying, but what about 100 items, or 1000?
... as in previous articles, let's learn about the real basics of arrays by entering some examples into browser developer console.
...so for example: let sequence = [1, 1, 2, 3, 5, 8, 13]; for (let i = 0; i < sequence.length; i++) { console.log(sequence[i]); } you'll learn about loops properly later on (in our looping code article), but briefly, this code is saying: start looping at item number 0 in the array.
...we'll be teaching you all the useful basics there are to know about loops in the next module, but for now you should give yourself a clap and take a well-deserved break; you've worked through all the articles in this module!
Object-oriented JavaScript for beginners - Learn web development
objects can contain related data and code, which represent information about the thing you are trying to model, and functionality or behavior that you want it to have.
... defining an object template let's consider a simple program that displays information about the students and teachers at a school.
...there are lots of things you could know about a person (their address, height, shoe size, dna profile, passport number, significant personality traits ...) , but in this case we are only interested in showing their name, age, gender, and interests, and we also want to be able to write a short introduction about them based on this data, and get them to say hello.
...think about how the sentences should be structured differently depending on gender, and depending on whether the number of listed interests is 1, 2, or more than 2.
What is web performance? - Learn web development
previous overview: performance next web performance is all about making web sites fast, including making slow processes seem fast.
... how content is rendered to effectively understand web performance, the issues behind it, and the major topic areas we mentioned above, you really should understand some specifics about how browsers work.
...you can read all about this topic at understanding latency.
... conclusion that's it for now; we hope our brief overview of the web performance topic helped you to get an idea of what it is all about, and made you excited to learn more.
The "why" of web performance - Learn web development
overview: performance next web performance is all about making websites fast, including making slow processes seem fast.
... why care about performance?
...our example 22.6 mb cnn.com experience would cost about 11% of the average indian's daily wage to download.
...this is why you should care about web performance.
Introduction to the server side - Learn web development
in the modern world of web development, learning about server-side development is highly recommended.
... customised user experience servers can store and use information about clients to provide a convenient and tailored user experience.
... data analysis a website may collect a lot of data about users: what they search for, what they buy, what they recommend, how long they stay on each page.
... summary congratulations, you've reached the end of the first article about server-side programming.
React interactivity: Editing, filtering, conditional rendering - Learn web development
objective: to learn about conditional rendering in react, and implementing list filtering and an editing ui in our app.
...we're about to create this.
... editing from the ui much of what we're about to do will mirror the work we did in form.js: as the user types in our new input field, we need to track the text they enter; once they submit the form, we need to use a callback prop to update our state with the new name of the task.
... back to the filter buttons now that our main features are complete, we can think about our filter buttons.
Beginning our React todo list - Learn web development
once we have put our styles in place, though, any element with this class will be hidden from sighted users and still available to screen reader users — this is because these words are not needed by sighted users; they are there to provide more information about what the button does for screenreader users that do not have the extra visual context to help them.
...a <ul> is treated like a list by default, but the styles we're about to add will break that functionality.
...if you want to learn more about why this is necessary, you can check out scott o'hara’s article, “fixing lists”.
...don't worry too much about this for now — we will cover this later on when we get to using events.
Strategies for carrying out testing - Learn web development
studying analytics data now you should be able to go back to the analytics web homepage, and start looking at the data you've collected about your site (you need to leave a little bit of time for some data to actually be collected, of course.) by default, you should see the reporting tab, like so: there is a huge amount of data you could look at using google analytics — customized reports in different categories, etc.
...u are not able to have multiple versions of the default browser installed side by side, so you might want to build up a library of virtual machines to handle different tests as required, e.g.: windows 10 with edge 14 windows 10 with edge 13 windows 8.1 with ie11 windows 8 with ie10 windows 7 with ie9 windows xp with ie8 windows xp with ie7 windows xp with ie6 note: another good thing about virtual machines is that the virtual disk images are fairly self-contained.
... there are also commercial tools available such as sauce labs, browser stack and lambdatest that do this kind of thing for you, without you having to worry about the setup, if you wish to invest some money in your testing.
... user testing before we move on, we'll finish this article off by talking a bit about user testing — this can be a good option if you have a willing user group to test your new functionality on.
Git and GitHub - Learn web development
this module aims to teach you what you need to know about both of them.
... in terms of prerequisite knowledge, you don't need to know anything about web development, git/github or vcses to start this module.
... about pull requests (from github) a useful guide to managing pull requests, the way that your suggested code changes are delivered to people's repositories for consideration.
...this articles gives you what you need to know about issues.
Command line crash course - Learn web development
we’ll see how to install some tools later on in this chapter, and we’ll learn more about package registries in the next chapter.
... you don’t need to worry too much about whether a command is a built-in or not, but bear in mind that built-ins appear on all unix-based systems.
...simple commands do not carry too much danger, but as you start putting together more complex commands, you need to think carefully about what the command will do, and try testing them out first before you finally run them in the intended directory.
...you can find a lot more information about using prettier in different ways in the prettier docs.
Adding a new CSS property
see the gecko overview for more information about the style system.
... issues about how to write such a specification (including things such as whether it is appropriate to use prefixes or when properties should be inherited by default) are not covered here.
... again, see the documentation at the top of the file and the other entries for examples, and also see the next section for details about parsing.
... while we implement the string api in terms of the value api, we generally don't care much about the deprecated primitive value api, so in cases where there's some new structure, you should generally create the simplest structure of primitive values that will produce the right string.
Application cache implementation overview
nsiapplicationcacheservice::chooseapplicationcache is given the url the channel is about to load.
...associating the top level document with offline cache this happens between document load start and the first sub-resource download start and is not about associating nsiapplicationcache object with the channel, but with the document object the load is performed for.
... until steps described further the document doesn't know anything about its appcache.
...when the update is about to actually start, the scheduling service calls nsofflinecacheupdate::begin() method, that switches the update to checking state (+invokes onchecking event) and starts fetch of the manifest file.
Creating reftest-based unit tests
sorry about this, but the released builds and the nightly builds are built with the "--disable-tests" option and reftest will not work - see bug 369809.
... there is one thing about automated tests that may not be obvious.
...the cost of thinking about and managing the execution of a manual test is fairly high.
... reftests and preferences in order to use preferences that are not listed in the browser's built-in preferences files such as all.js (in other words, preferences that will not show up in about:config) it is necessary to add the preference to testing/profiles/reftest/user.js.
Debugging JavaScript
to enable it, go to about:config in the url bar and set devtools.chrome.enabled to true, or set the "enable chrome and add-on debugging" option in the developer tool settings.
... go to about:config and set the following two prefs: devtools.chrome.enabled: true devtools.debugger.remote-enabled: true after you restart the browser, you can access the browser debugger through tools > web developer > browser toolbox.
... (note that before firefox 28, this was labeled "browser debugger" and only the debugger was available, not the whole toolbox.) note that you must accept the incoming connection : (you may disable the pop-up above with the devtools.debugger.prompt-connection set to false in about:config.
...in about:config (add new pref, it doesn't exist per default).
HTTP logging
using about:networking this is available starting with firefox 52.
... open a new tab and type in "about:networking" into the url bar.
... logging http activity by manually setting environment variables sometimes the about:networking approach won't work, for instance if your bug occurs during startup, or you're running on mobile, etc.
... this will cause each log message to be immediately written (and fflush()'d), which is likely to give us more information about your crash.
Debugging
debugging the mozilla platform using debuggers with mozilla debugging mozilla on windows faq questions (and answers) about debugging mozilla on windows.
... debugging mozilla on os x questions (and answers) about debugging mozilla on os x.
... debugging a minidump windows crash reports include a minidump, which contains a lot of information about the application when it crashed.
... 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.
The Firefox codebase: CSS Guidelines
the overriding css section contains more information about this.
... testing to test for rtl layouts, you can go to about:config and set intl.uidirection to -1.
... if you are not using windows, one way to test against those adjustments on other platforms is: going to about:preferences clicking on the "colors..." button in the "fonts & colors" sub-section of the "language and appearance" section under "override the colors specified by the page with your selections above", select the "always" option chrome area the automatic adjustments previously mentioned only apply to pages rendered in the content area.
... reflows and style flushes see performance best practices for firefox front-end engineers for more information about this.
Index
found 172 pages: # page tags and summary 1 firefox firefox, landing, mozilla here you can learn about how to contribute to the firefox project and you will also find links to information about the construction of firefox add-ons, using the developer tools in firefox, and other topics.
... 11 firefox and the "about" protocol firefox, guide, mozilla, protocols there is a lot of useful information about firefox hidden away behind the about: url protocol.
... the most useful is the url about:config, which displays preferences and settings that can be inspected and changed.
...you can find details about profiles on mozilla's end-user support site.
Limitations of chrome scripts
in this case, the shim will return a javascript object that looks somewhat like a window or a document for about:blank.
... nsiaboutmodule by default, custom about: pages registered using nsiaboutmodule are loaded in the chrome process.
... you can change this default in the code you use to register the about: uri.
... see about: and chrome: uris.
Limitations of frame scripts
nsiaboutmodule by default, custom about: pages registered using nsiaboutmodule are loaded in the chrome process.
... there is a shim for this that makes the content of about: pages registered by the add-on transparently available in the content process.
... to avoid the shim: if you need to access the content of your about page from the content process, you need to register the nsiaboutmodule in the content process as well as the chrome process.
... by default, about: pages (except for a small whitelist) are loaded in the chrome process when browsed to from the awesomebar.
Performance best practices for Firefox front-end engineers
detecting and avoiding synchronous reflow this is also sometimes called “sync layout”, "sync layout flushes" or “sync layout calculations” sync reflow is a term bandied about a lot, and has negative connotations.
... here's a list of things that javascript can ask for that can cause uninterruptible reflow, to help you think about the problem.
...there’s plenty of excellent documentation on mdn about the gecko profiler: basic instructions for gathering and sharing a performance profile advanced profile analysis don’t guess—measure.
... if you’re working on a performance improvement, this should go without saying: ensure that what you care about is actually improving by measuring before and after.
AsyncShutdown.jsm
info optionally, a function returning information about the current state of the blocker as an object.
... // execute this code during profilebeforechange // no specific guarantee about completion of profilebeforechange }); if the promise returned by condition is not resolved/rejected within one minute, the process will crash to avoid blocking system shutdown, preventing the user from restarting firefox or burning through battery.
... properties attribute type description profilebeforechange read only phase the profile is about to be unmounted.
... webworkersshutdown read only phase javascript threads are about to be killed.
OS.File for the main thread
os.file.stat() obtain information about a file, such as size, creation date, etc.
... promise resolves to an instance of file.info holding information about a file.
... stat() obtain information about the file, such as size, creation date, etc.
... promise<file.info> stat() promise resolves to an instance of file.info holding information about the file.
Localizing with Mozilla Translator
the directory structure will look like this: (ab-cd jar root) locale |-- branding | |-- brand.dtd | `-- brand.properties |-- browser | |-- aboutdialog.dtd .
... |-- browser-region | `-- region.properties `-- ab-cd |-- alerts | `-- notificationnames.properties |-- autoconfig | `-- autoconfig.properties |-- cookie | |-- cookieacceptdialog.dtd | `-- cookieacceptdialog.properties |-- global | |-- about.dtd | |-- apppicker.dtd .
...rt looks like this: toolkit |-- locales | |-- en-us | | |-- chrome | | | |-- alerts | | | | `-- notificationnames.properties | | | |-- autoconfig | | | | `-- autoconfig.properties | | | |-- cookie | | | | |-- cookieacceptdialog.dtd | | | | `-- cookieacceptdialog.properties | | | |-- global | | | | |-- about.dtd | | | | |-- apppicker.dtd .
... browser |-- locales | |-- en-us | | |-- readme.txt | | |-- chrome | | | |-- branding | | | | |-- brand.dtd | | | | `-- brand.properties | | | |-- browser | | | | |-- aboutdialog.dtd as you see, there is ''link'' point, usually at chrome (in cvs & mozilla-central), sometimes in a deeper point.
GC and CC logs
gc and cc logs garbage collector (gc) and cycle collector (cc) logs give information about why various js and c++ objects are alive in the heap.
... generating logs from within firefox to manually generate gc and cc logs, navigate to about:memory and use the buttons under "save gc & cc logs." "save concise" will generate a smaller cc log, "save verbose" will provide a more detailed cc log.
... about:cc is simple, ugly, but rather powerful.
... about:ccdump is prettier but a bit slower.
Power profiling overview
this article covers important background information about power profiling, with an emphasis on intel processors used in desktop and laptop machines.
... the other thing to note about c-states is that they apply both to cores and the entire package — i.e.
...see section 14.9 of volume 3 of the intel software developer's manual for more details about rapl.
... further reading chapter 13 of the intel optimization manual has many details about optimizing for power consumption.
Performance
about:memory about:memory is the easiest-to-use tool for measuring memory usage in mozilla code, and is the best place to start.
...about:memory is built on top of firefox's memory reporting infrastructure.
... dmd dmd is a tool that identifies shortcomings in about:memory's measurements, and can also do multiple kinds of general heap profiling.
... investigating css performance how to figure out why restyle is taking so long power profiling power profiling overview this page provides an overview of relevant information, including details about hardware, what can be measured, and recommended approaches.
Debugging out-of-memory problems
by the time about:memory is loaded in a new tab and you have clicked the "measure" button to diagnose what's happened, the memory usage causing the spike has gone away, making temporary memory spikes difficult to diagnose.
... out-of-memory exceptions from js setting memory.dump_reports_on_oom in about:config to true will cause the browser to automatically write about:memory dumps to a temp file printed to the browser console (note: not web console) when an oom crash is encountered.
... ideally, memory.dump_reports_on_oom would generate an about:memory dump, but it does not currently.
... firefox android on firefox android, an about:memory dump may be triggered from a connect desktop machine with the command: adb shell am broadcast -a org.mozilla.gecko.memory_dump the location of the dump file will be printed to the android log (viewed with adb logcat | grep geckoconsole) and can be retrieved via adb pull.
Midas
examples this example shows the basic structure described in the notes section : <html> <head> <title>simple edit box</title> </head> <body> <iframe id="midasform" src="about:blank" onload="this.contentdocument.designmode='on';" ></iframe> </body> </html> methods document.execcommand executes the given command.
...see: more about security preferences note: the shortcut key will automatically trigger this command (typically accel-c) with or without the signed js or any code on the page to handle it.
...see: more about security preferences note: the shortcut key will automatically trigger this command (typically accel-x) with or without the signed js or any code on the page to handle it.
...user_pref("capability.policy.policynames", "allowclipboard"); user_pref("capability.policy.allowclipboard.clipboard.paste", "allaccess"); see: more about security preferences note: the shortcut key will automatically trigger this command (typically accel-v) with or without the signed js or any code on the page to handle it.
PR_GetFileInfo
gets information about a file with a specified pathname.
... syntax #include <prio.h> prstatus pr_getfileinfo( const char *fn, prfileinfo *info); parameters the function has the following parameters: fn the pathname of the file to get information about.
...on output, pr_getfileinfo writes information about the given file to the file information object.
... description pr_getfileinfo stores information about the file with the specified pathname in the prfileinfo structure pointed to by info.
PR_GetFileInfo64
gets information about a file with a specified pathname.
... syntax #include <prio.h> prstatus pr_getfileinfo64( const char *fn, prfileinfo64 *info); parameters the function has the following parameters: fn the pathname of the file to get information about.
...on output, pr_getfileinfo64 writes information about the given file to the file information object.
... description pr_getfileinfo64 stores information about the file with the specified pathname in the prfileinfo64 structure pointed to by info.
PKCS11 FAQ
MozillaProjectsNSSPKCS11FAQ
nss never attempts to cache this information, because login state can change instantly without nss knowing about it (for example, when the user removes the card).
...nss knows about all the mechanisms defined in pkcs #11 version 2.01, but will not perform those that aren't defined by nss's policy mechanism.
... questions about keys and tokens is the pkcs #11 token treated in a read-only manner?
... questions about pins will a password change ever be done on the token?
NSS Tools
for information about downloading the nss source, see https://developer.mozilla.org/nss/building.
...this newsgroup is the preferred forum for all questions about nss and nss tools.
...for additional information about this tool, see object signing.
...for additional information about this tool, see form signing ...
NSS Tools modutil
-list [modulename] display basic information about the contents of the secmod.db file.
... use modulename to display detailed information about a particular module and its slots and tokens.
... creating a set of security management database files (key3.db, cert8.db, and secmod.db): -create displaying basic module information or detailed information about the contents of a given module: -list [modulename] adding a pkcs #11 module, which includes setting a supporting library file, enabling ciphers, and setting default provider status for various security mechanisms: -add modulename -libfile library-file [-ciphers cipher-enable-list] [-mechanisms mechanism-list] adding a pkcs #11 module from an existing jar file: -jar jar-file -installdi...
... displaying module information this example gives detailed information about the specified module: modutil -list "netscape internal pkcs #11 module" -dbdir c:\databases the security module database tool displays information similar to this: using database directory c:\databases...--------------------------------------------------------name: netscape internal pkcs #11 modulelibrary file: **internal only module**manufacturer: netscape communications corp description: com...
Network Security Services
nss faq answers basic questions about nss.
... introduction to ssl introduces the ssl protocol, including information about cryptographic ciphers supported by ssl and the steps involved in the ssl handshake.
... getting started nss releases this page contains information about the current and past releases of nss.
... nss api guidelines explains how the libraries and code are organized, and guidelines for developing code (naming conventions, error handling, thread safety, etc.) nss technical notes links to nss technical notes, which provide latest information about new nss features and supplementary documentation for advanced topics in programming with nss.
Garbage collection
mark bits are allocated based on the minimum cell size, thus an object comprised of larger cells consumes multiple bits in the bitmap (but only uses two of them.) exact stack rooting api note: the information here is about the implementation of gc roots and their use within spidermonkey.
...the barrier fires whenever the mutator is about to overwrite a location that holds a gc pointer.
...thus, if whenever we're about to overwrite a pointer to an object we mark the object black first, then no objects can get 'lost'.
...in other words, it is an updatable pointer to a gc thing (it is essentially a cell** that the gc knows about.) root a starting point to the gc graph traversal, a root is known to be alive for some external reason (one other than being reachable by some other part of the gc heap.) weak pointer in common cs terminology, a weak pointer is one that doesn't keep the pointed-to value live for gc purposes.
Web Replay
when the code creates a debugger object, that debugger provides information about the child process rather than the current (middleman) process.
... as with the devtools js code, this debugger lives in the middleman process, and instead of wrapping things from another compartment the debug objects hold heap structures with information about some thing in the child process.
... appendix: debugger details here is some more detailed information about how a recording/replaying process affects the debugger, and options for future improvements.
... appendix: impacts on gecko development web replay is designed to minimize the places where other parts of gecko need to know about it or interact with it.
Querying Places
a new session starts when the user types a new url or follows a bookmark (xxx link to more details about what constitutes a session).
...the results are of type result_type_full_visit and have additional information about the visit, such as the referring visit, and how the transition happened (typed, redirect, link, etc).
... and deserializing two queries and an options object: let querystring = placesutils.history.queriestoquerystring([query1, query2], 2, options); let queriesref = { }; let querycountref = { }; let optionsref = { }; placesutils.history.querystringtoqueries(querystring, queriesref, querycountref, optionsref); // now use queriesref.value, optionsref.value see places query uris for more information about the terms available for "place:" uris.
... nsinavhistoryfullvisitresultnode: derived from nsinavhistoryvisitresultnode, contains information about how the user navigated to this page.
nsIProtocolHandler
if the protocol doesn't need a port (for example, the "about" protocol), this attribute is -1.
... uri_norelative 1<<0 the protocol doesn't support relative uris (for example, about and javascript).
...(many servers do not support utf-8 iris at the present time, so we must be careful about tracking the native charset of the origin server.) nsiuri newuri( in autf8string aspec, in string aorigincharset, in nsiuri abaseuri ); parameters aspec the uri string in utf-8 encoding.
... see also nsiproxiedprotocolhandler adding a new protocol to mozilla writing a firefox protocol handler custom about: urls - similar to adding new protocol but adding onto the existing about: protocol ...
Storage
if you end up finalizing the statement (see mozistoragestatement.finalize()) you do not need to worry about calling mozistoragestatement.reset().
...of course, if your statement is local only to the function, you do not have to worry about calling reset since the object will be destroyed.
...this method will manage the transactions for you, so you don't have to worry about them.
... you can use them quite simply in your select queries, like this: var stmt = aconn.createstatement("select * from foo order by name collate locale asc"); var results = []; while (stmt.executestep()) { results.push(stmt.row.t); } stmt.finalize(); how to corrupt a database sqlite is very good about maintaining database integrity, but there are a few things you can do that can lead to database corruption.
Reference Manual
you're more likely to see it in a form like this nscomptr<nsifoo> foo( do_queryinterface(alist->elementat(i)) ); // |elementat|, like all good getters, |addrefs| it's result // which would be dropped on the floor, after querying it for the needed // interface bugzilla bug 8221 is specifically about finding and fixing this particular kind of leak.
...they know about each other, but neither holds an owning reference to the other.
...several reasons: it would become inconvenient take the address of an nscomptr in all other situations; the name "getter_addrefs" enforces the notion that a certain behavior is required of the getter; and once upon a time, there was another possibility (as you're about to learn).
... nsifoo* temp; nsresult rv = getfoo_withoutaddref(&temp); // note to self: must report |getfoo_withoutaddref| as a bug, all getters // must |addref| nscomptr<nsifoo> foo = temp; "in/out" parameters what about "in/out" parameters?
Using the clipboard
this section provides information about cutting, copying, and pasting to and from the clipboard.
... tell the transferring object about the type of data being copied.
... tell the transferring object about the data to copy.
... tell the transferring object about the flavor of data you want to get.
XPCOM
accessing the windows registry using xpcomwhen implementing windows-specific functionality, it is often useful to access the windows registry for information about the environment or other installed programs.
... troubleshooting xpcom components registrationoften the first time you create an xpcom component, it may fail to register correctly.using nscomptrthis document is the sum total of everything written down about nscomptr.
... if you have a question about nscomptr, and this document doesn't answer it, there probably isn't a document that answers it.
...this implementation will allow you to get(), set(), define(), and undefine() nsifile.using nsipasswordmanagertechnical review completed.using nsisimpleenumeratorusing the clipboardthis section provides information about cutting, copying, and pasting to and from the clipboard.using the gecko sdkweak referencein xpcom, a weak reference is a special object that contains a pointer to an xpcom object, but doesnot keep that object alive.
Index
(see this document for info about that.) for the addressbook card pane, the icon will show is on disk at: <profile home>/nim/<value of pref aim.session.screenname>/picture/<screenname for card>.gif if aim.session.screenname is not set, the icon will not appear.
... 32 index index found 72 pages: 33 ldap support administration, enterprise, thunderbird this document is intended to "fill in the gaps" about how enterprise customers can leverage and customize ldap support in mozilla thunderbird.
...when this tutorial is finished, our extension will look like this: 76 building a thunderbird extension 3: install manifest extensions, thunderbird the install.rdf file is an xml file that provides general information about the extension.
...bug 493414), but in the meantime, it would be helpful to be able to get useful output on stderr about exceptions, events and pretty-printed objects.
Thunderbird
(from early 2007 to early 2011 thunderbird was developed by mozilla messaging, a subsidiary owned by mozilla.) documentation building thunderbird information about building thunderbird with the comm-central repository.
... there's also information about how the review process works and how to use the mozilla symbol server to help with debugging.
... mailnews protocols rough documentation about mail protocols..
... database views backend information about nsimsgdbview and related interfaces.
CSS Flexbox Inspector: Examine Flexbox layouts - Firefox Developer Tools
in the infobar when you hover over an element in the html pane, you will see a tooltip that gives you more information about the element.
...once you select an element whose display is defined as flex, the panel will include a number of options for viewing details about the flex container and flex items within it.
... you can find out more about those in the section below.
... if you click on the item, the display shifts to show details about that element: this view shows information about the calculations for the size of the selected flex item: a diagram visualizing the sizing of the flex item content size - the size of the component without any restraints imposed on it by its parent flexibility - how much a flex item grew or shrunk based on its flex-grow value when there is extra free space or its flex-shrink value when ther...
Work with animations - Firefox Developer Tools
the bar is: blue if a transition was used to animate a property orange if a @keyframes animation was used green if the web animations api was used the bar contains a lightning bolt icon if the property was animated using the compositor thread (see more about the cost of animating different css properties).
... if you hover over the bar, a tooltip appears, giving you more detailed information about the animation or transition, including: the type of animation: css transition, css animation, or web animations api the duration of the animation the animation's start and end delay the animation's easing (or timing function).
... the animation's fill the playback rate of the animation information about the animated element to the left of each bar is a selector for the element that the animation applies to.
... further information about animation compositing if you open animation-inspector-compositing.html and click the red rectangle, a simple opacity animation will start.
UI Tour - Firefox Developer Tools
select element button the inspector gives you detailed information about the currently selected element.
...to learn more about the structure of the html pane, see the guide to examining and editing html.
... to learn more about the layout view, see examine and edit the box model.
... to learn more about the css declarations listed in this view, see examine computed css.
UI Tour - Firefox Developer Tools
to learn much more about the waterfall, see the separate waterfall page.
... to learn much more about the call tree, see the separate call tree page.
... flame chart if the call tree tells you, statistically, which functions your site is spending most time executing across the whole recording, the flame chart tells you the call stack at any given point during the recording: to learn much more about the flame chart, see the separate flame chart page.
... the allocations view only appears if you checked "record allocations" in the performance tool settings, before recording a profile: to learn much more about the allocations view, see the separate allocations page.
Settings - Firefox Developer Tools
if common preferences is not included in the settings, web console logs can be persisted by using the 'about:config' url in browser address bar, searching for: 'devtools.webconsole.persistlog' then toggling this value to true inspector show browser styles a setting to control whether styles applied by the browser (user-agent styles) should be displayed in the inspector's rules view.
...this setting works by toggling the about:config preference "devtools.markup.collapseattributes".
... to change the threshold at which attributes are truncated, you can edit the about:config preference "devtools.markup.collapseattributelength".
...learn more about style editor support for css source maps.
Background Tasks API - Web APIs
getting the most out of idle callbacks because idle callbacks are intended to give your code a way to cooperate with the event loop to ensure that the system is utilized to its full potential without over-tasking it, resulting in lag or other performance problems, you should be thoughtful about how you go about using them.
... html content in order to be oriented about what we're trying to accomplish, let's have a look at the html.
...on"> start </div> <div class="label counter"> task <span id="currenttasknumber">0</span> of <span id="totaltaskcount">0</span> </div> </div> <div class="logbox"> <div class="logheader"> log </div> <div id="log"> </div> </div> the progress box uses a <progress> element to show the progress, along with a label with sections that are changed to present numeric information about the progress.
... variable declarations let tasklist = []; let totaltaskcount = 0; let currenttasknumber = 0; let taskhandle = null; these variables are used to manage the list of tasks that are waiting to be performed, as well as status information about the task queue and its execution: tasklist is an array of objects, each representing one task waiting to be run.
Using the Frame Timing API - Web APIs
the performanceframetiming interface provides frame timing data about the browser's event loop.
...this means the browser should process a frame in about 16.7ms.
... an application can register a performanceobserver for "frame" performance entry types and the observer will have data about the duration of each frame event.
...see performance profiling with the timeline for more information about this tool.
Guide to the Fullscreen API - Web APIs
to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.
GlobalEventHandlers.onanimationend - Web APIs
note that there's nothing there about animation.
...we'll use this to show information about the events we receive.
... note the use of animationevent.animationname and animationevent.elapsedtime to get information about the event which occurred.
...for information about why, and how to support running an animation more than once, see run an animation again in css animations tips and tricks.
GlobalEventHandlers.onanimationstart - Web APIs
note that there's nothing there about animation.
...we'll use this to show information about the events we receive.
... note the use of animationevent.animationname and animationevent.elapsedtime to get information about the event which occurred.
...for information about why, and how to support running an animation more than once, see run an animation again in css animations tips and tricks.
HTMLSlotElement.name - Web APIs
to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.ie no support noopera full support 40safari full support 10.1webview android full support 53chrome android full support 53firefox android full support 63 full support 63 ...
...to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10.3samsung internet android full support 6.0legend full support full support no support no supportexperimental.
HTML Drag and Drop API - Web APIs
see interoperability for more information about drag-and-drop interoperability.
... for more information about drag data, see drag data.
... let img = new image(); img.src = 'example.gif'; ev.datatransfer.setdragimage(img, 10, 10); } learn more about drag feedback images in: setting the drag feedback image define the drag effect the dropeffect property is used to control the feedback the user is given during a drag-and-drop operation.
... for more information about handling the end of a drag operation, see: finishing a drag interoperability as can be seen in the datatransferitem interface's browser compatibility table, drag-and-drop interoperability is relatively broad among desktop browsers (except the datatransferitem and datatransferitemlist interfaces have less support).
RTCPeerConnection - Web APIs
see signaling in lifetime of a webrtc session for more details about the signaling process.event handlersalso inherits event handlers from: eventtargetonaddstream the rtcpeerconnection.onaddstream event handler is a property containing the code to execute when the addstream event, of type mediastreamevent, is received by this rtcpeerconnection.
...the answer contains information about any media already attached to the session, codecs and options supported by the browser, and any ice candidates already gathered.
...h rtp receiver manages the reception and decoding of data for a mediastreamtrack on an rtcpeerconnectiongetsenders()the rtcpeerconnection method getsenders() returns an array of rtcrtpsender objects, each of which represents the rtp sender responsible for transmitting one track's data.getstats()the rtcpeerconnection method getstats() returns a promise which resolves with data providing statistics about either the overall connection or about the specified mediastreamtrack.getstreambyid() the rtcpeerconnection.getstreambyid() method returns the mediastream with the given id that is associated with local or remote end of the connection.
...<<<add a link to info about multiplexed rtcp.
Slottable: assignedSlot - Web APIs
to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.ie no support noopera full support 40safari full support 10.1webview android full support 53chrome android full support 53firefox android full support 63 full support 63 ...
...to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10.3samsung internet android full support 6.0legend full support full support no support no supportexperimental.
WebRTC connectivity - Web APIs
the description includes information about the kind of media being sent, its format, the transfer protocol being used, the endpoint's ip address and port, and other information needed to describe a media transfer endpoint.
...this description includes all the information about the caller's proposed configuration for the call.
... see the individual articles on these properties and methods for more specifics, and codecs used by webrtc for information about codecs supported by webrtc and which are compatible with which browsers.
... ice candidates as well as exchanging information about the media (discussed above in offer/answer and sdp), peers must exchange information about the network connection.
A simple RTCDataChannel sample - Web APIs
we'll cover the mechanics of accomplishing the connection and transmitting and receiving data, but we will save the bits about locating and linking to a remote computer for another example.
... set up the ice candidates the next step is to set up each connection with ice candidate listeners; these will be called when there's a new ice candidate to tell the other side about.
... the next step is to connect the local peer to the remote by telling the remote peer about it.
...now the remoteconnection knows about the connection that's being built.
WebRTC API - Web APIs
to learn more about adapter.js, see improving compatibility using webrtc adapter.js.
...details about using webrtc statistics can be found in webrtc statistics api.
... rtcicetransport represents information about an ice transport.
... rtcrtpcontributingsource contains information about a given contributing source (csrc) including the most recent time a packet that the source contributed was played out.
Using XMLHttpRequest - Web APIs
these tell the client making the xmlhttprequest important information about the status of the response.
...read the article about html in xmlhttprequest to learn how to do this.
...if you want to perform the same effects using javascript you have to instruct the interpreter about everything.
...*/ ifhaschanged("yourpage.html", function (nmodif, nvisit) { console.log("the page '" + this.filepath + "' has been changed on " + (new date(nmodif)).tolocalestring() + "!"); }); if you want to know if the current page has changed, please read the article about document.lastmodified.
Web applications and ARIA FAQ - Accessibility
for more information about how to create accessible widgets with aria, see the overview of accessible web applications and widgets.
...user interface library (yui) for more information about javascript toolkit accessibility: steve faulkner's wai-aria implementation in javascript ui libraries can you show me an example of aria in action?
... .tab-panel[aria-hidden="true"] { display: none; } .tab-panel[aria-hidden="false"] { display: block; } what about validation?
... where can i learn more about aria?
Cognitive accessibility - Accessibility
providing warnings about inactivity that could result in data loss.
... all users benefit from information about where they are in a site's hierarchy, especially for sites or applications with large amounts of content or many subsections.
...for example, this document has an average grade level of about 11.
...if you need to redirect a user, let the user know about it beforehand.
@supports - CSS: Cascading Style Sheets
WebCSS@supports
to change preferences in firefox, visit about:config.ie no support noopera full support 12.1safari full support 9webview android full support ≤37chrome android full support 28firefox android full suppor...
...to change preferences in firefox, visit about:config.opera android full support 12.1safari ios full support 9samsung internet android full support 1.5selector()chrome full support 83edge full support 83firefox full support 69 ...
...to change preferences in firefox, visit about:config.ie no support noopera full support 69safari no support nonotes no support nonotes notes see bug 199237webview android full support 83chrome android full support 83firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nonotes no support nonotes notes see bug 979041.safari ios no support nonotes no support nonotes notes see bug 199237samsung internet android no support nonotes no support nonotes notes see bug 979041.legend ...
Basic concepts of flexbox - CSS: Cascading Style Sheets
start and end lines another vital area of understanding is how flexbox makes no assumption about the writing mode of the document.
... you can read more about the relationship between flexbox and the writing modes specification in a later article; however, the following description should help explain why we do not talk about left and right and top and bottom when we describe the direction that our flex items flow in.
... after a while, thinking about start and end rather than left and right becomes natural, and will be useful to you when dealing with other layout methods such as css grid layout which follow the same patterns.
... find out more about wrapping flex items in the guide mastering wrapping of flex items.
CSS Scrollbars - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android no support nochrome android no support nofirefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportuser must explicitly enable this feature.user must explici...
...to change preferences in firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android no support nochrome android no support nofirefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportsee implementation notes.see implementation notes.user mus...
Event developer guide - Developer guides
WebGuideEvents
our hope is that everything you need to know about events will go under here.
... two common styles are: the generalized addeventlistener() and a set of specific on-event handlers.media eventsvarious events are sent when handling media that are embedded in html documents using the <audio> and <video> elements; this section lists them and provides some helpful information about using them.mouse gesture eventsgecko 1.9.1 added support for several mozilla-specific dom events used to handle mouse gestures.
... these are special movements that can be made with a mouse or trackpad and can be interpreted to perform specific tasks.mutation eventsmutation events provide a mechanism for a web page or an extension to get notified about changes made to the dom.
...this article provides details about the coordinate systems at play and how you use them.overview of events and handlersevents and event handling provide a core technique in javascript for reacting to incidents occurring when a browser accesses a web page, including events from preparing a web page for display, from interacting with the content of the web page, relating to the device on which the browser is running, and from many other causes such as media stream playback or animation timing.touch events (mozilla experimental)the experimental touch events api described on this page was avail...
Index - Developer guides
WebGuideIndex
20 media events intermediate, media various events are sent when handling media that are embedded in html documents using the <audio> and <video> elements; this section lists them and provides some helpful information about using them.
... 22 mutation events advanced, dom, guide mutation events provide a mechanism for a web page or an extension to get notified about changes made to the dom.
...this article provides details about the coordinate systems at play and how you use them.
...decisions like these are at the heart of mobile web development: be specific about what you would like to accomplish, and pick a practical approach while being aware of the tradeoffs.
<a>: The Anchor element - HTML: Hypertext Markup Language
WebHTMLElementa
linking to an email address to create links that open in the user's email program to let them send a new message, use the mailto: scheme: <a href="mailto:nowhere@mozilla.org">send email to nowhere</a> for details about mailto: urls, such as including a subject or body, see email links or rfc 6068.
... see rfc 3966 for syntax, additional features, and other details about the tel: url scheme.
... inaccessible, weak link text a sadly common mistake is to only link the words “click here” or “here”: <p> learn more about our products <a href="/products">here</a>.
... <p> learn more <a href="/products">about our products</a>.
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
WebHTMLElementinput
tip: if using the pattern attribute, inform the user about the expected format by including explanatory text nearby.
...when it is, the position and size of the element's size and positioning within its frame can be adjusted using the css object-position and object-fit properties styling for more information about adding color to elements in html, see: applying color to html elements using css.
...the <label> element provides explanatory information about a form field that is always appropriate (aside from any layout concerns you have).
...for more information about labels in general see labels .
Link types - HTML: Hypertext Markup Language
<a>, <area>, <link> <form> help if the element is <a> or <area>, it indicates that the hyperlink leads to a resource giving further help about the parent of the element, and its descendants.
... if the element is <link> it indicates that the hyperlink leads to a resource giving further help about the page as a whole.
... this is especially useful when opening untrusted links, in order to ensure they cannot tamper with the originating document via the window.opener property (see about rel=noopener for more details), while still providing the referer http header (unless noreferrer is used as well).
... <a>, <area>, <form> <link> pingback defines an external resource uri to call if one wishes to make a comment or a citation about the webpage.
Browser detection using the user agent - HTTP
browser makers do pay attention to bug reports, and the analysis may hint about other workarounds for the bug.
... lastly, the above code snippets bring about a critical issue with cross-browser coding that must always be taken into account.
...let us imagine a page composed of boxes of information; each box is about a different feline breed or canine breed.
...always be very deliberate about choosing the right media query and choosing the right >=, <=, >, or < in any corresponding javascript because it is very easy to get these mixed up, resulting in the website looking wonking right at the screen size where the layout changes.
Using HTTP cookies - HTTP
WebHTTPCookies
for details about the header attributes mentioned below, refer to the set-cookie reference article.
...however, it can be helpful when subdomains need to share information about a user.
... as a defence-in-depth measure, however, it is possible to use cookie prefixes to assert specific facts about the cookie.
... for more information about cookie prefixes and the current state of browser support, see the prefixes section of the set-cookie reference article.
Feature-Policy - HTTP
directives accelerometer controls whether the current document is allowed to gather information about the acceleration of the device through the accelerometer interface.
... ambient-light-sensor controls whether the current document is allowed to gather information about the amount of light in the environment around the device through the ambientlightsensor interface.
... gyroscope controls whether the current document is allowed to gather information about the orientation of the device through the gyroscope interface.
... magnetometer controls whether the current document is allowed to gather information about the orientation of the device through the magnetometer interface.
Index - HTTP
WebHTTPHeadersIndex
22 content-disposition http, reference, header in a multipart/form-data body, the http content-disposition general header is a header that can be used on the subpart of a multipart body to give information about the field it applies to.
... 82 index http, http header, index found 115 pages: 83 keep-alive general header, http, http header, reference the keep-alive general header allows the sender to hint about how the connection may be used to set a timeout and a maximum amount of requests.
... 98 server http, reference, header the server header contains information about the software used by the origin server to handle the request.
... 115 warning general header, http, reference, header the warning general http header contains information about possible problems with the status of the message.
Link prefetching FAQ - HTTP
add this line to your prefs.js file located in your profile directory (or make the appropriate change via about:config): user_pref("network.prefetch-next", false); however, the theory is that if link prefetching needs to be disabled then there must be something wrong with the implementation.
... what about folks who pay-per-byte for network bandwidth?
...you can block 3rd party cookies in firefox, see disabling third party cookies.) what about...?
... if you have any questions or comments about link prefetching, please feel free to send them my way :-) see also...
Control flow and error handling - JavaScript
the javascript reference contains exhaustive details about the statements in this chapter.
...see expressions and operators for complete information about expressions.
... throw statement try...catch statement exception types just about any object can be thrown in javascript.
...you can use this identifier to get information about the exception that was thrown.
The "codecs" parameter in common media types - Web media technologies
for instance, just describing a video in an mpeg-4 file with the mime type video/mp4 doesn't say anything about what format the actual media within takes.
... this guide briefly examines the syntax of the media type codecs parameter and how it's used with the mime type string to provide details about the contents of audio or video media beyond simply indicating the container type.
...the table below provides a basic list of the audio object types and in the case of the more common object ypes provides a list of the profiles supporting it, but you should refer to the specification for details if you need to know more about the inner workings of any given mpeg-4 audio type.
...the following table lists permitted values; see chroma subsampling in digital video concepts for additional information about this topic and others.
Web Performance
this article starts the module off with a good look at what performance actually is — this includes the tools, metrics, apis, networks, and groups of people we need to consider when thinking about performance, and how we can make performance part of our web development workflow.
... frame timing api the performanceframetiming interface provides frame timing data about the browser's event loop.
...from there, we'll go on to talk about how browsers text, and how you can use css and javascript features to ensure your fonts render quickly, and with minimal disruption to the user experience.
...in this guide we'll talk about the dynamic import() statement, which is a feature in modern browsers that loads a javascript module on demand.
Progressive loading - Progressive web apps (PWAs)
this is all about deferring loading of as many resources as possible (html, css, javascript), and only loading those immediately that are really needed for the very first experience.
...if you're past that point, then you can start thinking about optimizing the image loading using javascript.
... remember about the progressive enhancement approach — offer a usable product no matter the device or platform, but be sure to enrich the experience to those using modern browsers.
... final thoughts that's all for this tutorial series — we went through the source code of the js13kpwa example app and learned about the use of progressive web apps features including an introduction, pwa structure, offline availability with service workers, installable pwas, and finally notifications.
SVG Presentation Attributes - SVG: Scalable Vector Graphics
value: auto|srgb|linearrgb|<name>|<iri>|inherit; animatable: yes color-rendering it provides a hint to the browser about how to optimize its color interpolation and compositing operations.
... value: auto|<angle>|inherit; animatable: no image-rendering it provides a hint to the browser about how to make speed vs.
... value: bounding-box|visiblepainted|visiblefil|visiblestroke|visible |painted|fill|stroke|all|none; animatable: yes shape-rendering hints about what tradeoffs to make as the browser renders <path> element or basic shapes.
... value: none|underline|overline|line-through|blink|inherit; animatable: yes text-rendering hints about what tradeoffs to make as the browser renders text.
Guides - Archive of obsolete content
this page lists more theoretical in-depth articles about the sdk.
... modules learn about the module system used by the sdk (which is based on the commonjs specification), how sandboxes and compartments can be used to improve security, and about the built-in sdk module loader, known as cuddlefish.
... classes and inheritance learn how classes and inheritance can be implemented in javascript, using constructors and prototypes, and about the helper functions provided by the sdk to simplify this.
page-mod - Archive of obsolete content
to learn much more about communicating with content scripts, see the guide to content scripts and in particular the chapter on communicating using port.
...sometimes, though, we don't care about the url: we just want to execute a script on demand in the context of a particular tab.
... to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
panel - Archive of obsolete content
it means that the panel's about // to be shown.
...pe="text/css" media="all"> textarea { margin: 10px; } body { background-color: gray; } </style> </head> <body> <textarea rows="13" cols="33" id="edit-box"></textarea> </body> </html> finally, save these three icon files to the "data" directory: icon-16.png icon-32.png icon-64.png to learn much more about content scripts, see the working with content scripts guide.
...it means that the panel's about // to be shown.
platform/xpcom - Archive of obsolete content
to learn more about this, see registering and unregistering.
...to learn more about this, see registering and unregistering.
... if the object implements an interface that's already defined in xpcom, you can pass that in here: var about = aboutfactory.createinstance(null, ci.nsiaboutmodule); // you can now access the nsiaboutmodule interface of the 'about' object if you will be getting the wrappedjsobject property from the returned object to access its javascript implementation, pass ci.nsisupports here: var custom = factory.createinstance(null, ci.nsisupports).wrappedjsobject; // you can now access the interface defined for t...
Display a Popup - Archive of obsolete content
it means that the panel's about // to be shown.
... learning more to learn more about the panel module, see the panel api reference.
... to learn more about buttons, see the action button and toggle button api reference.
List Open Tabs - Archive of obsolete content
you'll see output in the command line console that looks something like this: info: http://www.mozilla.org/about/ info: http://www.bbc.co.uk/ you don't get direct access to any content hosted in the tab.
...document: require("sdk/ui/button/action").actionbutton({ id: "list-tabs", label: "list tabs", icon: "./icon-16.png", onclick: listtabs }); function listtabs() { var tabs = require("sdk/tabs"); for (let tab of tabs) runscript(tab); } function runscript(tab) { tab.attach({ contentscript: "document.body.style.border = '5px solid red';" }); } learning more to learn more about working with tabs in the sdk, see the tabs api reference.
... to learn more about running scripts in tabs, see the tutorial on using tab.attach().
Listen for Page Load - Archive of obsolete content
you can get notifications about new pages loading using the tabs module.
...adds a red border to the tab's document: require("sdk/tabs").on("ready", runscript); function runscript(tab) { tab.attach({ contentscript: "if (document.body) document.body.style.border = '5px solid red';" }); } (this example is only to show the idea: to implement something like this, you should instead use page-mod, and specify "*" as the match-pattern.) learning more to learn more about working with tabs in the sdk, see the tabs api reference.
... to learn more about running scripts in tabs, see the tutorial on using tab.attach().
JS XPCOM - Archive of obsolete content
xpcomutils - about protocol handler this example implements a quick about protocol handler in js using xpcomutils.jsm.
... components.utils.import("resource://gre/modules/services.jsm"); components.utils.import("resource://gre/modules/xpcomutils.jsm"); const cc = components.classes; const ci = components.interfaces; function abouthandler() {} abouthandler.prototype = { newchannel: function(uri) { var channel = services.io.newchannel("chrome://mystuff/content/mystuff.xul", null, null); channel.originaluri = uri; return channel; }, geturiflags: function(uri) { // do not return ci.nsiaboutmodule.uri_safe_for_untrusted_content unless // you make sure to set a non-system principal in newchannel.
... return 0; }, classdescription: "about mystuff page", classid: components.id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"), contractid: "@mozilla.org/network/protocol/about;1?what=mystuff", queryinterface: xpcomutils.generateqi([ci.nsiaboutmodule]) } var nsgetmodule = xpcomutils.generatensgetmodule([abouthandler]); } ...
Deploying a Plugin as an Extension - Archive of obsolete content
normally, this plugin is installed in a local directory, and a registry item is used to let firefox know about the plugin.
...this contains information about our extension; all extensions have one.
... here's what a basic install.rdf file looks like: <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>rhapsodyplayerengine@rhapsody.com</em:id> <em:name>rhapsody player engine</em:name> <em:version>1.0.0.487</em:version> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>1.5.0.*</em:maxversion> </description> </em:targetapplication> </description> </rdf> you can get more detailed information about this file at install.rdf.
Multiple item extension packaging - Archive of obsolete content
<rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:nc="http://home.netscape.com/nc-rdf#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <!-- nsiupdateitem type for a multiple item package --> <em:type nc:parsetype="integer">32</em:type> ...
...<rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <!-- nsiupdateitem type for a multiple item package --> <em:type>32</em:type> ...
... structure of an installable bundle: describes the common structure of installable bundles, including extensions, themes, and xulrunner applications extension packaging: specific information about how to package extensions theme packaging: specific information about how to package themes multiple-item extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration ...
Adding windows and dialogs - Archive of obsolete content
you may be asking yourself what's the big deal about defining a simple xul window with an ok and maybe a cancel button.
...there are also subtle aspects about window size, margins and paddings that are not the same for all systems, so you should avoid making dialogs from scratch or overriding the default dialog css styles.
...all of this without having to worry about your dialog looking odd in some operating systems.
Appendix C: Avoiding using eval in Add-ons - Archive of obsolete content
what about jsonp?
... you don't have to care about parameter naming (or changes in naming in future application versions) or short-hand/arrow functions.
... of course, the issues given in the previous section about functions remain.
Custom XUL Elements with XBL - Archive of obsolete content
but there is one thing you need to know about moving or cloning your node: all internal state in the node will be lost.
...you do need to be careful about keeping all anonid attributes consistent, and even some dom structure if the code does node traversal.
...it's very easy to break the ui of the application or other extensions if you do this the wrong way, so be very careful about it.
Getting Started with Firefox Extensions - Archive of obsolete content
this tutorial is about extension development, but themes and language packs are developed in a very similar way.
...you can read more about plugins and their development in the plugins page.
...unsigned add-ons can still be installed in developer edition, nightly, and esr versions of firefox, after toggling the xpinstall.signatures.required preference in about:config.
Mozilla Documentation Roadmap - Archive of obsolete content
the about:mozilla newsletter is a weekly publication that includes the highlights of what is posted at planet mozilla.
...posts on about:mozilla also make it to planet mozilla.
...be sure to look at the license the extension's code is released with before thinking about copying large sections of it.
Setting Up a Development Environment - Archive of obsolete content
more about this further ahead.
...there is also a mention about building c++ xpcom, which is something much more complicated.
... you can learn about setting up multiple firefox profiles in the mozilla support article managing profiles.
User Notifications and Alerts - Archive of obsolete content
« previousnext » it is often the case that extensions need to notify users about important events, often requiring some response.
... the alerts service this is a very good option when you want to alert users about events without requiring input from them.
...this usually means that the box will be hovering on top of the page's content, and there are a few things you must know about this.
Session store API - Archive of obsolete content
knowing when to restore each time firefox is about to restore a tab, an event of type sstabrestoring is sent.
... firefox 3 note in firefox 3 and later, if you need to detect when a tab is about to be closed so that you can update data associated with the tab before it is closed, you can watch for the "sstabclosing" event, which is sent to the tab.
... the session restore process the exact sequence of events that occurs when a session is being restored is: a session state is about to be restored.
Add-ons - Archive of obsolete content
how to convert an overlay extension to restartless first off, what kind of add-on are we talking about here?
...firefox or thunderbird) uses to determine information about an add-on as it is being installed.
... it contains metadata identifying the add-on, providing information about who created it, where more information can be found about it, which versions of what applications it is compatible with, how it should be updated, and so on.
Creating reusable content with CSS and XBL - Archive of obsolete content
more details for more information about xbl bindings, see the xbl page in this wiki.
...it looks something like this, before and after you press the button: notes about this demonstration: the html document links the document stylesheet as usual, but it does not link any javascript code.
...if you had difficulty understanding this page, or if you have other comments about it, please contribute to its discussion page.
XUL user interfaces - Archive of obsolete content
more details for more information about xul user interfaces, see the xul page in this wiki.
... it looks something like this: xul demonstration day of week calculator date: 6/27/2005 day: sunday monday tuesday wednesday thurdsay friday saturday clear today june 27, 2005 notes about this demonstration: the xul document links the stylesheet as usual, and it also links the script.
...if you had difficulty understanding this page, or if you have other comments about it, please contribute to its discussion page.
Creating a Firefox sidebar extension - Archive of obsolete content
see building an extension for more detailed information about structuring, packaging, and deploying extensions.
...install.rdf <?xml version="1.0" encoding="utf-8"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>emptysidebar@yourdomain.com</em:id> <em:name>emptysidebar extension</em:name> <em:version>1.0</em:version> <em:creator>your name</em:creator> <em:description>example extension for creation and registration of a sidebar.</em:description> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</e...
...first, we need to tell firefox about your extension.
Creating a Skin for Firefox/Getting Started - Archive of obsolete content
skin\classic\communicator doesn't do a whole lot and can typically be forgotten about promptly.
... <description about="urn:mozilla:install-manifest"> <em:id>{themes_uuid}</em:id> <em:version>themes_version</em:version> the first section requires that you establish a uuid for your theme and that you give your theme a version number.
... see install manifests for the reference information about the install.rdf file.
Creating regular expressions for a microsummary generator - Archive of obsolete content
by the end of the tutorial, you should know some basics about regular expressions and understand how to create expressions that match urls.
... for detailed documentation about regular expressions, see core_javascript_1.5_reference:global_objects:regexp.
... conclusion if we include both of these regular expressions in a microsummary generator for ebay auction item pages, the generator will then apply to just about all ebay auction item pages (at least all the ones we've seen so far!).
Layout System Overview - Archive of obsolete content
the decision about when to apply css-specified formatting and when to apply legacy formatting is controlled by the document's doctype specification.
...the presentation shell also receives notifications about changes in cursor and focus states, whereby the selection and caret updates can be made visible.
...the frame manager uses the frame constructor state class to manage the important information about the container of a frame being created (and lots of other state-stuff too - need to describe more fully).
Repackaging Firefox - Archive of obsolete content
notice: the article is about repackaging firefox 2.0 and is obsolete when working on 3.x repackaging.
...more about this below.
... install.rdf meta-information about your extension, such as the creator (your organization), a unique id, and which versions of firefox are supported.
JavaScript Client API - Archive of obsolete content
before starting before you start learning the javascript api, you should spend some time on http://docs.services.mozilla.com/ reading about how the sync service operates.
...you can find out more about registering as an observer here: [link].
...when your tracker detects that an item has changed, you should add it to this list by calling: this.addchangedid(guid); these guids correspond to the .id fields of your record objects; see the section on the store class for more about defining and maintaining the mapping between guids and records.
How to Write and Land Nanojit Patches - Archive of obsolete content
in this case, you have to look through the converted revisions you're about to push (run hg outgoing to list them) and figure out which patch(es) caused the breakage.
...at this point the set of changes you are about to push will consist of a sequence of converted revisions from nanojit-central, followed by one of more "fixups" to tr/tm to make them work properly.
...if you are at all confused about this, ask in #nanojit irc.
Space Manager Detailed Design - Archive of obsolete content
the primary goal of the space manager is to provide information about those bands of space to support the css notion of floated elements.
...); } prbool intersectsdamage(nscoord aintervalbegin, nscoord aintervalend) { return mfloatdamage.intersects(aintervalbegin + my, aintervalend + my); } #ifdef debug /** * dump the state of the spacemanager out to a file */ nsresult list(file* out); void sizeof(nsisizeofhandler* ahandler, pruint32* aresult) const; #endif private: // structure that maintains information about the region associated // with a particular frame struct frameinfo { nsiframe* const mframe; nsrect mrect; // rectangular region frameinfo* mnext; frameinfo(nsiframe* aframe, const nsrect& arect); #ifdef ns_build_refcnt_logging ~frameinfo(); #endif }; // doubly linked list of band rects struct bandrect : prcliststr { nscoord mleft, mtop; ...
... */ nsiframe* getframe() const { return mframe; } implementation notes algorithm 1: getbanddata getbanddata is used to provide information to clients about what space if available and unavailable in a band of space.
URIs and URLs - Archive of obsolete content
simply speaking it's scheme and non-scheme, separated by a colon, like "about".
...nssimpleuri one implementation of nsiuri is nssimpleuri which is the basis for protocols like "about".
...also to be somewhat tolerant to syntax errors the parser has to know more about the specific syntax of the urls for that scheme.
Install Wizards (aka: Stub Installers) - Archive of obsolete content
to learn more about the xpinstall and installer packages please refer to the annotated browser xpi installer and the xpinstall api reference.
...to learn more about the three platform-specific versions of the stub installer follow the links below: unix stub installer mac stub installer windows stub installer what do we mean by xpistub?
...complete details about this library is available at libxpnet: architecture and api overview.
Learn XPI Installer Scripting by Example - Archive of obsolete content
about browser.xpi browser.xpi is the xpi archive in which the main components of the mozilla browser are archived for installation.
...the browser.xpi install script does not demonstrate the use of these objects, but see the xpinstall api reference for more information about registering software with the win32 operating systems and other operating systems.
... see registerchrome in the xpinstall api reference for more information about registering new packages with the chrome registry.
Reading from Files - Archive of obsolete content
to learn more about file objects, see files and streams.
...however, a number of other character encodings are available; see reading other character encodings below for details about reading text in other encodings.
...this method handles all the different types of end of line characters and combinations, so you do not need to worry about platform specific conventions.
Writing to Files - Archive of obsolete content
to learn more about file objects, see files and streams.
...see below for more details about this.
...other character encodings are available; see writing other character encodings below for details about writing text in other encodings.
Extensions - Archive of obsolete content
in this example, the thumbnailsshowhideitems function will be called when the popup is about to be shown.
... for more details about hiding and showing items on a context menu, see hiding and showing menu items based on context.
... determining what element was context clicked for general information about how to determine which element was the target of the context menu, that is, the element that was context clicked, see determining what was context clicked firefox uses its own popupshowing event listener to adjust the items on the context menu.
PopupEvents - Archive of obsolete content
for more information about how to use this event, see context menu events.
... popuphiding this event is fired on a menupopup, panel or tooltip once it is about to be hidden.
... the popupshowing event just before a popup is about to be displayed, a popupshowing event will fired on the popup.
Adding Event Handlers - Archive of obsolete content
there are about thirty or so different events that may be handled in several different ways.
...this is used to get specific information about the event.
... find files example so far : source view next, we'll look at some more details about the event object.
Box Objects - Archive of obsolete content
« previousnext » this section describes the box object, which holds display and layout related information about a xul box as well as some details about xul layout.
... about mozilla layout mozilla divides things into two sets of trees, the content tree and the layout tree.
...however, there are a number of subtypes, about 25 or so, for specific xul elements.
Install Scripts - Archive of obsolete content
the registry also stores the set of files and version information about the installed components.
...you don't need to know much about it to create xul applications unless you are creating your own xpcom components.
... what you do need to know for an installation is that the registry stores a set of information about your application, such as the file list and versions.
Introduction to RDF - Archive of obsolete content
for more information about rdf, see the rdf specification.
...<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:animals="http://www.some-fictitious-zoo.com/rdf#"> <rdf:seq about="http://www.some-fictitious-zoo.com/all-animals"> <rdf:li> <rdf:description about="http://www.some-fictitious-zoo.com/mammals/lion"> <animals:name>lion</animals:name> <animals:species>panthera leo</animals:species> <animals:class>mammal</animals:class> </rdf:description> </rdf:li> <rdf:li> <rdf:description about="http://www.some-fictitio...
...us-zoo.com/arachnids/tarantula"> <animals:name>tarantula</animals:name> <animals:species>avicularia avicularia</animals:species> <animals:class>arachnid</animals:class> </rdf:description> </rdf:li> <rdf:li> <rdf:description about="http://www.some-fictitious-zoo.com/mammals/hippopotamus"> <animals:name>hippopotamus</animals:name> <animals:species>hippopotamus amphibius</animals:species> <animals:class>mammal</animals:class> </rdf:description> </rdf:li> </rdf:seq> </rdf:rdf> here, three records have been described, one for each animal.
Templates - Archive of obsolete content
if you are using your own rdf file as a datasource, the value will usually correspond to the value of an about attribute on an rdf bag, seq or alt element.
...we'll see more about this when we get to creating templates for trees.
...more about resource syntax (xulplanet).
Trees - Archive of obsolete content
ArchiveMozillaXULTutorialTrees
these functions will be called by the tree as necessary to retrieve data and state about the tree.
...by using this element, you can specify additional information about how the data in the columns are sorted and if the user can resize the columns.
...this may be a bit confusing, but essentially, one of the built-in tree views uses a set of tags which can be used to specify information about the data in the tree.
XUL Questions and Answers - Archive of obsolete content
return to mozilla-dev-tech-xul summaries the frequently asked questions should be moved to xul faq (make sure they have a clear answer.) where can i get more information about creating mozsearch plugins?
... creating mozsearch plugins contains more help information about creating mozsearch plugin on firefox 2.
... someelement { font-family: "my font", "trebuchet ms"; } for more information about platform specific questions, please visit mozilla.dev.platform ...
XML - Archive of obsolete content
you must be very careful about your syntax, and in particular about these four cardinal rules of xul: all events and attributes must be written in lowercase.
... xul is made out of xml you don't need to know all about xml in order to use xul, but you may want to read through this article to get a sense of xul's pedigree as a specialized markup language.
...it does not describe the way in which this data is to be presented, like its semantically-challenged cousin html does, and it doesn't have much to say about the data itself.
editor - Archive of obsolete content
to edit a new document, set the src attribute to about:blank.
... see the rich text editing and midas pages for more information about gecko's built-in rich text editor.
..., makeeditable examples this example shows how to made the editor editable by setting the designmode property of the loaded html document: <script language="javascript"> function initeditor(){ // this function is called to set up the editor var editor = document.getelementbyid("myeditor"); editor.contentdocument.designmode = 'on'; } </script> <editor id="myeditor" editortype="html" src="about:blank" flex="1" type="content-primary"/> once editable, the document can have special formatting and other html pieces added to it using the document.execcommand method: var editor = document.getelementbyid("myeditor"); // toggle bold for the current selection editor.contentdocument.execcommand("bold", false, null); see the midas overview for more command strings.
prefwindow - Archive of obsolete content
help: a help button for displaying help about the dialog.
... help: a help button for displaying help about the dialog.
...if you put other elements before the first <prefpane>, you possibly see strange behaviors about switching panes.
Application Update - Archive of obsolete content
pref("app.update.auto", true); // defines how the application update service notifies the user about updates: // // aum set to: minor releases: major releases: // 0 download no prompt download no prompt // 1 download no prompt download no prompt if no incompatibilities // 2 download no prompt prompt // // see chart in nsupdateservice.js.in for more details // pref("app.update.mode", 1); // if set to true, the update service will p...
...pref("app.update.url.manual", "http://yourserver.net/yourpage"); // a default value for the "more information about this update" link // supplied in the "an update is available" page of the update wizard.
... update.xml contains only information about the update.
Getting started with XULRunner - Archive of obsolete content
main.js: function showmore() { document.getelementbyid("more-text").hidden = false; } for more information about xul see: xul.
... for information about mixing html elements into your xul read adding html elements.
... for now, click the "next" link to learn about windows and menus in xulrunner!
Mozilla.dev.apps.firefox-2006-09-29 - Archive of obsolete content
uncements bon echo 20060921 nightly to recieve "major update" offer mike beltnzer announced that 'users running the bon echo 20060921 nightly build will be offered the chance to upgrade to a "new version"' firefox start up performance boris zbarsky recently performed some profiling of firefox's start up - these are some of the details discussions problem handling dmg files on mac discussion about why sometimes dmg files are not mounted correctly after they are downloaded.
... binding tab bar to new theme discussion about how to bind a new theme to a tab bar without losing its original binding.
... firefox 2 on windows vista discussion about the "state of affairs" of firefox 2 on windows vista rc1 - update for rc1 listed in update history as 'install pending' right-click "copy email address" - bug 353102 a proposed bug fix to the 'copy email address' bug how to use the rss feeds discovery & parsing tool in another open source project?
2006-09-29 - Archive of obsolete content
uncements bon echo 20060921 nightly to recieve "major update" offer mike beltnzer announced that 'users running the bon echo 20060921 nightly build will be offered the chance to upgrade to a "new version"' firefox start up performance boris zbarsky recently performed some profiling of firefox's start up - these are some of the details discussions problem handling dmg files on mac discussion about why sometimes dmg files are not mounted correctly after they are downloaded.
... binding tab bar to new theme discussion about how to bind a new theme to a tab bar without losing its original binding.
... firefox 2 on windows vista discussion about the "state of affairs" of firefox 2 on windows vista rc1 - update for rc1 listed in update history as 'install pending' right-click "copy email address" - bug 353102 a proposed bug fix to the 'copy email address' bug how to use the rss feeds discovery & parsing tool in another open source project?
2006-12-01 - Archive of obsolete content
discussion november 29th gecko 1.9/gran paradiso status meeting other than annoucing the meeting, this thread discusses where else can info about what happens at the meetings be found (since the agenda often seems bare).
... mitchell baker asks where should topics about organization and governance, moz.dev.planning or moz.governance?
... mozilla.org staff, project drivers, and technical oversight mike connor starts a discussion about the need for a "buck stops here" group and the replacement of drivers@mozilla.org.
2006-11-03 - Archive of obsolete content
discussions extended validation certificates major discussion this week started by gervase markham about security certificates, more specifically extended validation certificates.
...all questions about the cabf are welcome.
... more information about ca can be found at http://www.cabforum.org/ meetings none during this week.
2006-10-13 - Archive of obsolete content
discussions how to change between lightning and mail discussion about how to view folder pane and lightning pane again after you closed them.
...discussion about the ability to list and search all the events in a calendar.
...discussion about the problem remotely connecting to a particular calendar meetings none this week.
2006-11-03 - Archive of obsolete content
aborting a new event/edit event dialog discussions about behaves of new event/edit event.
... wcap calendar subscription discussions about calendar subscriptions.
... last check-ins on sun-calendar-event-dialog.* files discussions about some localization issues with sun-calendar-event-dialog.
2006-11-10 - Archive of obsolete content
discussions hunting down the "sunbird fails to start" bug -- please help discussion about a crash when starting sunbird 0.2.
... calendar:improving the calendar views discussion about improving the layout of calendar.
... next steps for 24 hours view discussion about the improving of some features of calendar ex.
2006-11-17 - Archive of obsolete content
discussions itip and imip new designs for sending invitations available for comment discussion about the new interface designs for itip.
... view performance discussion about tests on view performance.
... calendar xpcom component discussion about a debug error of additem function from calicalendar.
NPWindow - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary contains information about the target into which the plug-in instance can draw.
... ws_info unix: contains information about the plug-in's unix window environment; points to an npsetwindowcallbackstruct.
...(the drawable is provided in a graphicsexpose event, when the paint is requested.) description the npwindow structure represents the native window or a drawable, and contains information about coordinate position, size, whether the plug-in is windowed or windowless, and some platform-specific information.
NPAPI plugin reference - Archive of obsolete content
npp_destroystream tells the plug-in that a stream is about to be closed or destroyed.
... npsetwindowcallbackstruct contains information about the plug-in's unix window environment.
... npwindow contains information about the target into which the plug-in instance can draw.
The First Install Problem - Archive of obsolete content
the solution suggests that plugin vendors ought to leave dlls on a windows desktop whether or not a netscape gecko browser is detected, and then write keys in the windows registry giving future netscape gecko browsers the path where the plugin resides and meta-information about how to load the plugin.
...this document proposes a meta-information model in the win32 registry similar to the one used by microsoft's hkey_classes_root\clsid\ where a new activex control (ocx) on the system presents its uuid as a registry key (identifying the activex control) as well as information about where to find the ocx (e.g.
...the same mimetype description that apears when you type "about:plugins" as a url in mozilla's location bar.
Plugins - Archive of obsolete content
for more information about plugin roadmap, see non-archived plugin information.
...more information about these tools can be found on the external resources page.
... gecko plugin api reference (npapi) this reference describes the application programming interfaces for npapi plugins and provides information about how to use these interfaces.
RSS - Archive of obsolete content
documentation why rss slash is popular - counting your comments charles iliya krempeaux talks about the rss slash module, why it is popular among some, and how it is used to give a count for your comments.
... why well-formed web rss module is popular - syndicating your comments charles iliya krempeaux talks about the rss well-formed web module, why it is popular among some, and how it is used to link to your comments.
... atomic rss tim bray talks about using atom 1.0 as a micro format and extension module for rss 2.0; keeping rss 2.0 as your sydication format but bringing in and using selected atom 1.0 elements.
Scratchpad - Archive of obsolete content
but even with possible limitations present, the html code can be either manually entered or copied from the source and pasted into the "about:blank" page (a new empty tab) with the use page inspector's edit as html context menu command.
... to select these, visit about:config, select the setting devtools.editor.keymap, and assign "vim" or "emacs", or "sublime" to that setting.
... from firefox 33 onwards, the key binding preference is exposed in the editor preferences section of the developer tools settings, and you can set it there instead of about:config.
Browser Detection and Cross Browser Support - Archive of obsolete content
introduction in an ideal world, we could author html, xml, css and javascript and only worry about the w3c and ecma standards.
... if (document.body && typeof(document.body.offsetheight) == 'number') { height = document.body.offsetheight; } else if (typeof(window.innerheight) == 'number') { height = window.innerheight; } else { height = 0; } note how the previous example does not make assumptions about which browser is being used.
...if you are concerned about a specific security issue in gecko and know for example that all gecko browsers contain a fix for the issue after a certain date, you can check that the navigator.productsub value is after that date.
XForms - Archive of obsolete content
this extension, while supporting a significant subset of the xforms 1.0 and 1.1 candidate recommendations, is not actively maintained any more since about 2010.
... for more details about the future of the mozilla xforms extension see this blog post.
... xforms user preferences a description of the about:config variables that xforms uses.
RDF in Fifty Words or Less - Archive of obsolete content
the rdf graph provides a perfect data model upon which to build a "universal" bookmarking service as described above: the graph can contain pointers to arbitrary resources and can group them in just about any way that you can imagine.
...the cgi script actually generatesserialized rdf, which is basically just a way of formatting a graph into xml: <rdf:rdf xmlns:rdf="http://www.w3.org/tr/wd-rdf-syntax#" xmlns:sm="http://www.mozilla.org/smart-mail/schema#"> <rdf:description about="http://www.mozilla.org/smart-mail/get-mail.cgi?user=waterson&folder=inbox"> <sm:message id="4025293"> <sm:recipient> chris waterson "waterson@netscape.com" </sm:recipient> <sm:sender> aunt helga "helga@netcenter.net" </sm:sender> <sm:received-by>x-wing.mcom.com</sm:received-by> <sm:subject>great recipe for yam soup!</sm:sub...
...dy> http://www.mozilla.org/smart-mail/get-body.cgi?id=4025294 </sm:body> </sm:message> </rdf:description> </rdf:rdf> upon receipt of the above monstrosity, the rdf engine folds the rdf into the graph at the appropriate place, and the tree control that actually implements the ui to the bookmarks is notified that it should begin drawing some icons for the latest message about yam soup from aunt helga.
Using the Right Markup to Invoke Plugins - Archive of obsolete content
this article is about how to invoke a plugin with the correct use of html.
... it discusses the object element and the embed element, with details about using the most apt html to invoke java in a web page as well.
...the references section gathers resources about the use of the applet element.
XUL Parser in Python - Archive of obsolete content
v.00001 to celebrate activestate's recent announcement about support for perl and python in mozilla, i have put together this little python script that parses your local xul and builds a list of all the xul elements and their attributes in an html page.
...in the explanation section below, i try to say a little something about how this script works.
...but mozilla's upcoming support for languages like perl and python will really open up the mozilla platform to tools and approaches of this kind--and make now a good time to start thinking about how these various technologies will be put together.
Introduction to game development for the Web - Game development
and we're not talking about simple card games or multi-player social games that have in the olden days been done using flash®.
... we're talking about kick-ass 3d action shooters, rpgs, and more.
...instead of relying on someone else to make all the decisions about what analytics you need, you can collect your own -- or choose the third party that you like the best -- to gather information about your sales and your game's reach.
Explaining basic 3D theory - Game development
coordinate system 3d essentially is all about representations of shapes in a 3d space, with a coordinate system used to calculate their position.
... vertex processing vertex processing is about combining the information about individual vertices into primitives and setting their coordinates in the 3d space for the viewer to see.
...read the camera paragraph in the three.js article to learn about those.
3D games on the Web - Game development
support on modern browsers is very good, even on mobile, so you don't have to worry about that too much.
...there are some advanced concepts which you should dive into and learn more about — like shaders, collision detection, or the latest hot topic: virtual reality on the web.
...you should definitely check out glsl shaders article to learn more about them.
Desktop mouse and keyboard controls - Game development
the good thing about using phaser is that it offers helper variables and functions for easier and faster development, but it's totally up to you which approach you chose.
... pure javascript approach let's think about implementing pure javascript keyboard/mouse controls in the game first to see how it would work.
... how to play we've implemented the controls, and now we should inform the player about their options to control the game — they wouldn't know about them otherwise.
Tiles and tilemaps overview - Game development
think about any game that uses regularly repeating squares of background, and you'll probably find it uses tilemaps.
...a high-level algorithm could be: for (var column = 0; column < map.columns; column++) { for (var row = 0; row < map.rows; row++) { var tile = map.gettile(column, row); var x = column * map.tilesize; var y = row * map.tilesize; drawtile(tile, x, y); } } you can read more about this and see an example implementation in square tilemaps implementation: static maps.
... you can read more about implementing scrolling tilemaps and see some example implementations in square tilemaps implementation: scrolling maps.
2D breakout game using pure JavaScript - Game development
frameworks are just tools built with the javascript language; so even if you plan on working with them, it's good to learn about the language itself first to know what exactly is going on under the hood.
... note: if you are interested in learning about 2d web game development using a game library, consult this series' counterpart, 2d breakout game using phaser.
...you can also make use of the gamedev canvas content kit based on this tutorial if you want to give a talk about game development in general.
Game development
we've also included a reference section so you can easily find information about all the most common apis used in game development.
... port native games to the web if you are a native developer (for example writing games in c++), and you are interested in how you can port your games over to the web, you should learn more about our emscripten tool — this is an llvm to javascript compiler, which takes llvm bytecode (e.g.
... to get started, see: about emscripten for an introduction including high-level details.
Gecko FAQ - Gecko Redirect 1
the original mozilla browser, first released as navigator 1.0, was developed rapidly by a small team that was passionate about creating the next killer app, and they succeeded.
... xml 1.0: full support, except for processing to manipulate default attributes rdf: full support, except for abouteach, abouteachprefix, and parsetype javascript 1.5, including ecma-262 edition 3 (ecmascript) compliance, except for date.todatestring and date.totimestring, which are not implemented transfer protocols: http 1.1 (including gzip compression), ftp ssl unicode oji (open java interface) image formats png gif jpeg, pjpeg does "full support" mean that gecko has zero bugs today...
...: see dom0, dom1, dom2 and event handling components xml rdf core javascript language interpreter (javascript engine) http 1.1 compliance bugs should generally be found on the networking, networking - general, and networking: cache components oji imagelib image library (see also jpeg image handling and png image handling) ssl-related bugs are filed on the crypto component for information about the known bugs of a specific commercial product based on gecko, see that product's release notes.
HTTP header - MDN Web Docs Glossary: Definitions of Web-related terms
request header: headers containing more information about the resource to be fetched or about the client itself.
... response header: headers with additional information about the response, like its location or about the server itself (name, version, …).
... entity header: headers containing more information about the body of the entity, like its content length or its mime-type.
Mobile accessibility - Learn web development
responsive design — make sure layouts work on mobile, conserve image download sizes, and think about the provision of images for high-resolution screens.
... thinking about high resolutions.
... summary in this article, we have provided you with some details about common mobile accessibility-specific issues and how to overcome them.
Accessible multimedia - Learn web development
as well as giving deaf users access to the information contained in the audio, think about a user with a low bandwidth connection, who would find downloading the audio inconvenient.
... think also about a user in a noisy environment like a pub or bar, who is trying to access the information but can't hear it over the noise.
...remember that accessibility is about doing as much as you can, rather than striving for 100% accessibility all the time, which is often impossible.
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.
... another popular way to find out about how well a feature is supported is the can i use website.
... this site lists the majority of web platform features with information about their browser support status.
CSS layout - Learn web development
we have covered the necessary prerequisites so we can now dive deep into css layout, looking at different display settings, modern layout tools like flexbox, css grid, and positioning, and some of the legacy techniques you might still want to know about.
...media queries are a key part of responsive web design, as they allow you to create different layouts depending on the size of the viewport, but they can also be used to detect other things about the environment your site is running on, for example whether the user is using a touchscreen rather than a mouse.
... in this lesson you will first learn about the syntax used in media queries, and then move on to use them in a worked example showing how a simple design might be made responsive.
CSS first steps - Learn web development
this article explains what css is, with a simple syntax example, and also covers some key terms about the language.
... getting started with css in this article we will take a simple html document and apply css to it, learning some practical things about the language along the way.
... how css is structured now that you have an idea about what css is and the basics of using it, it is time to look a little deeper into the structure of the language itself.
CSS FAQ - Learn web development
LearnCSSHowtoCSS FAQ
in this article, you'll find some frequently-asked questions (faqs) about css, along with answers that may help you on your quest to become a web developer.
...(see eric meyer's note about the working group's stance).
...more detailed information about how selector specificity is calculated can be found in the css 2.1 specification chapter 6.4.3.
Learn to style HTML using CSS - Learn web development
in that module, you will learn about: css, starting with the introduction to css module more advanced html modules javascript, and how to use it to add dynamic functionality to web pages once you understand the fundamentals of html, we recommend that you learn html and css at the same time, moving back and forth between the two topics.
...we have covered the necessary prerequisites so we can now dive deep into css layout, looking at different display settings, modern layout tools like flexbox, css grid, and positioning, and some of the legacy techniques you might still want to know about.
...one of the best things about learning css is that once you know the fundamentals, usually you have a pretty good feel for what can and can't be done, even if you don't actually know how to do it yet!
What do common web layouts contain? - Learn web development
prerequisites: make sure you've already thought about what you want to accomplish with your web project.
... summary there's a reason we talk about web design.
...remember that word "float"--it will ring a bell when you start learning about css.
What are browser developer tools? - Learn web development
find out more find more out about the inspector in different browsers: firefox page inspector ie dom explorer chrome dom inspector (opera's inspector works the same as this) safari dom inspector and style explorer the javascript debugger the javascript debugger allows you to watch the value of variables and set breakpoints, places in your code that you want to pause execution and identify the problems that prevent your c...
... find out more find more out about the javascript debugger in different browsers: firefox javascript debugger microsoft edge debugger chrome debugger safari debugger the javascript console the javascript console is an incredibly useful tool for debugging javascript that isn't working as expected.
... find out more find more out about the javascript console in different browsers: firefox web console ie javascript console chrome javascript console (opera's inspector works the same as this) safari console ...
What is accessibility? - Learn web development
in general, we must think about our product from the viewpoints of all our target customers, and adapt accordingly.
... more details please refer to: wikipedia article about accessibility wai (w3c's web accessibility initiative) next steps accessibility can impact both a website's design and technical structure.
... from a design point of view, we suggest learning about designing for all types of users.
HTML forms in legacy browsers - Learn web development
learn about the issues to understand common patterns, it helps to read browser documentation.
...rather, it's about simplicity, intuitivess, and ease of user interaction.
...as a last reminder, just always think about the end users.
Sending forms through JavaScript - Learn web development
let's first talk about why this requires a different approach.
...to learn more about that, see the example in accessing the element list's contents in htmlformelement.elements.
...to learn more about the filereader api, see using files from web applications.
CSS basics - Learn web development
css comments are a way for you to write helpful notes about your code or logic.
...your work-in-progress should look similar to this: css: all about boxes something you'll notice about writing css: a lot of it is about boxes.
...you can find more information about different display values on mdn's display reference page.
Dealing with files - Learn web development
don't worry about what it all means for now — we'll look at the structures in more detail later in the series.
... for now, this is about all you need to know.
... that is about it for now.
HTML basics - Learn web development
elements can also have attributes that look like the following: attributes contain extra information about the element that you don't want to appear in the actual content.
... find out more about accessibility in our accessibility learning module.
... wrap the text in an <a> element, as shown below: <a>mozilla manifesto</a> give the <a> element an href attribute, as shown below: <a href="">mozilla manifesto</a> fill in the value of this attribute with the web address that you want the link to link to: <a href="https://www.mozilla.org/about/manifesto/">mozilla manifesto</a> you might get unexpected results if you omit the https:// or http:// part, called the protocol, at the beginning of the web address.
Use JavaScript within a webpage - Learn web development
about javascript javascript is a programming language mostly used client-side to make webpages interactive.
...if you already know something about javascript or if you have a background with other programming languages, we suggest you jump directly into our javascript guide.
...to make javascript work in your favor, it's worth knowing about certain best practices for adding javascript: make all content available as (structured) text.
Debugging HTML - Learn web development
however, error messages can quickly get more complicated and less easy to interpret as programs get bigger, and even simple cases can look a little intimidating to someone who doesn't know anything about rust.
...in a small example like the one seen above, it is easy to search through the lines and find the errors, but what about a huge, complex html document?
... if you can't work out what every error message means, don't worry about it — a good idea is to try fixing a few errors at a time.
Introduction to HTML - Learn web development
it contains information such as the page <title>, links to css (if you want to style your html content with css), links to custom favicons, and metadata (data about the html, such as who wrote it, and important keywords that describe the document).
...the elements here are less well-known, but still useful to know about.
... in this article, you'll learn about marking up quotations, description lists, computer code and other related text, subscript and superscript, contact information, and more.
Making decisions in your code — conditionals - Learn web development
cheese available for making cheese on toast.'); } else { console.log('no cheese on toast for you today.'); } and, returning to our previous example about the child doing a chore for their parent, you could write it like this: let shoppingdone = false; if (shoppingdone) { // don't need to explicitly specify '=== true' let childsallowance = 10; } else { let childsallowance = 5; } nesting if ...
... think about which number of days is the most common, and use that as a default value.
... conclusion and that's all you really need to know about conditional structures in javascript right now!
Client-side storage - Learn web development
elsewhere in the mdn learning area we talked about the difference between static sites and dynamic sites.
... you'll learn more about these apis below.
...you can store just about anything you want, including complex objects such as video or image blobs.
JavaScript First Steps - Learn web development
a first splash into javascript now you've learned something about the theory of javascript, and what you can do with it, we are going to give you a crash course in the basic features of javascript via a completely practical tutorial.
...in this article we'll look at all the common things that you really ought to know about strings when learning javascript, such as creating strings, escaping quotes in string, and joining them together.
... useful string methods now we've looked at the very basics of strings, let's move up a gear and start thinking about what useful operations we can do on strings with built-in methods, such as finding the length of a text string, joining and splitting strings, substituting one character in a string for another, and more.
Server-side website programming first steps - Learn web development
in this module we answer a few fundamental questions about server-side programming — "what is it?", "how does it differ from client-side programming?", and "why is it so useful?".
...finally, we provide a high-level introductory article about web server security.
...we do hope that at this point you have a good understanding of what sorts of functionality you can deliver using server-side programming, and that you have made a decision about what server-side web framework you will use to create your first website.
Getting started with Ember - Learn web development
there are a couple of github issues open about this on the todomvc family of projects: add keyboard access to demos re-enable outline on focusable elements ember has a strong commitment to being accessible by default and there is an entire section of the ember guides on accessibility on what it means for website / app design.
... installing the shared assets for todomvc projects installing shared assets, as we're about to do, isn't normally a required step for new projects, but it allows us to use existing shared css so we don't need to try to guess at what css is needed to create the todomvc styles.
...ember-cli-build.js is responsible for configuring details about how your project is built — including bundling all your files together, asset minification, and creating sourcemaps — with reasonable defaults, so you don't typically need to worry about this file.
Routing in Ember - Learn web development
previous overview: client-side javascript frameworks next in this article we learn about routing, or url-based filtering as it is sometimes referred to.
... objective: to learn about implementing routing in ember.
...study the code to learn more about ember, and also check out the next article, which provides links to more resources and some troubleshooting advice.
Working with Svelte stores - Learn web development
for example, information about the logged in user, or whether the dark theme is selected or not.
... to learn more about detecting and fixing accessibility issues check out our handling common accessibility problems article.
...having a unique place to handle state modifications makes it easier to reason about the state flow and spot issues.
Getting started with Vue - Learn web development
note: if you don't have the above installed, find out more about installing npm and node.js here.
...these small blocks can help you reason about and test your code.
...we've learnt about some of the ideas behind vue, created some scaffolding for our example app to live inside, inspected it, and made a few preliminary changes.
Focus management with Vue refs - Learn web development
in order to set focus, we need to understand a little bit more about how vue works internally.
...for custom vue components, you can also use refs to directly access the internal structure of a child component, however this should be done with caution as it can make code harder to reason about and understand.
...since the <h2> is always rendered in the app, you do not need to worry about using $nexttick of lifecycle methods to handle focusing it.
Vue resources - Learn web development
further resources here’s where you should go to learn more about vue: vue docs — the main vue site.
...you are required to be explicit about "reactive" properties when using this api.
...to read more about the changes involved with vue 3, refer to this article by vue school which goes over most of the major changes in vue 3.
Introduction to automated testing - Learn web development
there are two main ways in which we can automate the tests we've been talking about in this module: use a task runner such as grunt or gulp, or npm scripts to run tests and clean up code during your build process.
... you can run your gulp task with the following commands — try this now: gulp adding some real tasks to gulp to add some real tasks to gulp, we need to think about what we want to do.
... device info — displays information about the testing device.
Tools and testing - Learn web development
this module gives you some fundamental background knowledge about how client-side frameworks work and how they fit into your toolset, before moving on to tutorial series covering some of today's most popular ones.
...this module aims to teach you what you need to know about both of them.
...what users, browsers and devices do you most need to worry about?), how to go about testing, the main issues that you'll face with different types of code and how to fix/mitigate those, what tools are most useful in helping you test and fix problems, and how to use automation to speed up testing.
Accessibility API cross-reference
however, only about one third of the states and roles in sun's accessibility api's are the same as in msaa.
... fill out tagged pdf column (relevant documents from pdf association) add missing aria properties fill out events cross reference table use this info to expand mozilla's accessibility api coverage to include mac, so that we can start to freeze them talk about the fact that msaa uses one interface (iaccessible), wherease gnome accessibility uses a lot of different interfaces depending on the type of object go through the atk info and make sure it's up-to-date accessible roles description & notes msaa role (role_system_*) java accessibility role gnome accessibility role (atk_role_*) mac os x accessibility role aria (role=*) ...
... composite (abstract role) a large perceivable region that contains information about the parent document such as copyright, authors' names etc.
Accessibility Features in Firefox
you can furthermore control javascript capabilities to remove scrollbars, toolbars or system buttons like minimize, close and maximize by editing the about:config related properties or by editing accordingly the user.js file as explained in this "disable other javascript window features" document.
...also, usercontent.css allows users knowledgeable about cascading style sheets to customize the appearance of all pages that are displayed.
... that's the great thing about the open firefox community model and source code license -- anyone can contribute, and everyone benefits.
Accessibility information for UI designers and developers
this is specifically important in these cases: the user input is about legal commitments or financial transactions it updates or removes the user's data in a system when recording tests responses in those cases, ensure users can change submissions, automatically check for errors.
...that way, users of screen readers and screen magnifiers can reliably make assumptions about them and skip over them.
...the most important thing about consistent headings is that no levels are skipped.
Multiprocess on Windows
note: if your new interface does not contain either of these annotations, then you do not need to worry about this step.
... a word about smart pointers as long as you're manipulating an object in its home apartment, it is okay to just use refptr.
... simple example now you know about mainthreadhandoff::wrapinterface and about the smart pointers, you're ready to wrap an interface: accessible* myaccessible = ....; mozilla::mscom::stauniqueptr<iaccessible> acctowrap; myaccessible->getnativeinterface(mozilla::mscom::getter_addrefs(acctowrap)); mozilla::mscom::proxyuniqueptr<iaccessible> wrapped; hresult hr = mozilla::mscom::mainthreadhandoff::wrapinterface(mozilla::move(acctow...
Software accessibility: Where are we today?
one great place to go and learn about this industry is the csun conference in los angeles, which takes place every year in mid-late march.
...without the application somehow notifying a blind person about the meaning of the light bulb image, the blind person is unable to understand what the application is attempting to convey.
... similarly, voice recognition software often needs information about the context of a user's interaction, in order to make sense of what the user is speaking.
Mozilla’s UAAG evaluation report
we use 16 bit strings, not sure about utf-16 6.8 dom css access.
... does not provide information about whether link is internal or external, except through url itself.
... provides information about whether link will open in same window does not support fee links 10.7 highlight current viewport.
Benchmarking
in about:addons > plugins, set shockwave flash to "never activate".
...they are currently reduce to a multiple of 2ms; which is controlled by the privacy.reducetimerprecision about:config flag.
... the exact value of the precision is controlled by the privacy.resistfingerprinting.reducetimerprecision.microseconds about:config flag.
What to do and what not to do in Bugzilla
when in doubt about resolving a bug, leave it alone!
...in general you should make sure that the bug has been resolved for a few months and no complaints about the resolution have come up.
... bug reports about crashes, hangs, data-loss, or severe security exploits (e.g.
Creating a spell check dictionary add-on
this file contains information about your add-on such as name and version number (see below).
... <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>locale-code@dictionaries.addons.mozilla.org</em:id> <em:version>version number</em:version> <em:type>64</em:type> <em:unpack>true</em:unpack> <em:name>name</em:name> <!-- other install.rdf metadata such as em:localized, em:description, em:creator, em:developer, em:translator, em:contributor or em:homepageurl -...
...2.0</em:maxversion> </description> </em:targetapplication> <!-- seamonkey --> <em:targetapplication> <description> <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <em:minversion>2.15a1</em:minversion> <em:maxversion>2.49</em:maxversion> </description> </em:targetapplication> </description> </rdf> there are some rules about how you should adapt the install.rdf file: if you are creating a new dictionary add-on, we recommend that the em:id consists of your locale code followed by @dictionaries.addons.mozilla.org, but if there is more than one dictionary for your language (for example the german "old spelling" versus "new spelling" dictionaries), you may need to choose another id, that follows the rules of em:id.
Contributing to the Mozilla code base
fix your pet peeve if there's something you'd like to fix about firefox, thunderbird, or your other favorite mozilla application, this can be a great place to start.
...they're all about small changes, sometimes as little as a few lines, but they're a great way to learn about setting up your development environment, navigating bugzilla, and making contributions to the mozilla codebase.
... now that you've got your first bug fixed you should request level 1 access to the repository to push to the try server and get automated feedback about your changes on multiple platforms.
mach
without this decorator, mach will not know about any commands defined within, even if they have decorators.
... @commandargument this is a method decorator that tells mach about an argument to a mach command.
...this object holds state from the mach driver, including the current directory, a handle on the logging manager, the settings object, and information about available mach commands.
Limitations of frame scripts
nsiaboutmodule by default, custom about: pages registered using nsiaboutmodule are loaded in the chrome process.
... you can change this default in the code you use to register the about: uri.
... see about: and chrome: uris.
How to Report a Hung Firefox
type "about:crashes" in the url bar and click on the top listing.
...type "about:crashes" in the url bar and click on the top listing.
...type "about:crashes" in the url bar and click on the top listing.
Addon
optional properties attribute type description abouturl read only string the url of the about dialog to display for this add-on.
... this is passed to window.opendialog() when presenting the about dialog.
... if you don't provide an abouturl, a generic about dialog is displayed.
Bootstrapping a new locale
we'll first navigate to the directory called "browser" by running the following commands one after the other from your command line: $ cd [ab-cd]/browser/chrome/browser to see what is contained in "browser" type $ ls and, you should see the following output from your terminal: aboutcerterror.dtd pageinfo.dtd aboutdialog.dtd pageinfo.properties aboutprivatebrowsing.dtd pagereportfirsttime.dtd aboutrobots.dtd places aboutsessionrestore.dtd preferences aboutsupport.dtd quitdialog.properties basemenuoverlay.dtd safemode.dtd browser.dtd safebrowsing browser.properties ...
... (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.
...you can either use the locale switcher extension, or set it in about:config.
Index
for more detailed documentation about localization in general, see our localization page.
... 21 localizing extension descriptions add-ons, extensions, guide, internationalization, localization this article provides details on how to go about localizing the descriptions of mozilla add-ons, as well as for other metadata about your add-on.
...infrastructure, localization, php, svn, unix first, make your project's file type decision (see localization formats for details): 40 what every mozilla translator should know internationalization, localization l10n stands for localization = l + another 10 letters + n 41 writing localizable code internationalization, localization this page tells you about best practices and guidelines when dealing with ui code with respect to localization.
Localization content best practices
if you have any doubts about the quality of strings, ask a copywriter to do a copy review of this text.
...in general, localizers should make the decision about capitalization.
...if you have doubts about the localizability of some text or structure (not about the text itself, that would need copywriters), it's definitely good to ask feedback.
Localizing with Koala
koala features a very handy tool called compare-locales, which compares the files from en-us with your files in x-testing and gives you statistics about new, changed, missing and obsolete files and strings.
...it is a good practice to be descriptive about the changes you made in this revision.
... a good way of doing that is to ask yourself a question: "if i was a new person to this project and new nothing about the work already done in this repository, would this message help me understand what changes were made in this revision?".
Localizing with Mercurial
if you see a message about the version of mercurial (e.g.
...if you see a message about the version of mercurial (e.g.
...if you see a message about the version of mercurial (e.g.
Localization quick start guide
along the way, you'll learn about the variety of projects you can contribute to and the tools used to localize them.
...visit the l10n process page to learn about the whole process.
...to learn more about any of these, click on any of the links above.
Mozilla Web Developer FAQ
different people have different ideas about what x should be.
... try asking in the newsgroup relevant to your question in the comp.infosystems.www.authoring.* hierarchy or, if your question is about javascript/ecmascript or the dom, in comp.lang.javascript (after reading the group faqs first, of course).
... please do not ask web authoring questions in the newsgroups intended for discussion about the development of mozilla.
Mozilla projects on GitHub
to learn more about setting up a github account, visit the github website.
... codefirefox the codefirefox site, with videos and tutorials about how to contribute to the firefox project and mozilla code in general.
... mozilla-metrics tools used to collect metrics about mozilla code.
Profiling with Xperf
to see your xperf version, either run 'xperf' on a command line with no arguments, or start 'xperfview' and look at help -> about performance analyzer.
... (note that it's not the first version number in the about window; that's the windows version.) if you have an older version, you will experience bugs, especially around symbol loading for local builds.
...the stock windows crt allocator is horrible about fragmentation, and causes memory usage to rise drastically even if only a small fraction of that memory is in use.
A guide to searching crash reports
please read the documentation about individual crash reports before reading this page.
... the first link in each "signature" column cell links to a signature report, which contains additional details about crash reports with that signature.
...one way to learn about them is to read lots of individual crash reports; note that all fields shown in the details tab of an individual crash report have a tool-tip that indicates its key for search.
NSPR's Position On Abrupt Thread Termination
in the general course of events when programming with threads, it is very advantageous for a thread to have resources that it and only it knows about.
...that is not what this memo is about.
... this is about providing an api that coaxes people to do the right thing in as many ways as possible.
NSS FAQ
MozillaProjectsNSSFAQ
more information about nspr may be found at netscape portable runtime.
... how can i learn more about tls?
... for more information about u.s.
NSS 3.21 release notes
2016-01-07, this page has been updated to include additional information about the release.
... in ssl.h ssl_getpreliminarychannelinfo - obtains information about a tls channel prior to the handshake being completed, for use with the callbacks that are invoked during the handshake ssl_signatureprefset - configures the enabled signature and hash algorithms for tls ssl_signatureprefget - retrieves the currently configured signature and hash algorithms ssl_signaturemaxcount - obtains the maximum number signature algorithms that can be configured with...
...y_mat_params{_ptr} - parameters {or pointer} for ckm_tls12_key_and_mac_derive ck_tls_kdf_params{_ptr} - parameters {or pointer} for ckm_tls_kdf ck_tls_mac_params{_ptr} - parameters {or pointer} for ckm_tls_mac in sslt.h sslhashtype - identifies a hash function sslsignatureandhashalg - identifies a signature and hash function sslpreliminarychannelinfo - provides information about the session state prior to handshake completion new macros in nss.h nss_rsa_min_key_size - used with nss_optionset and nss_optionget to set or get the minimum rsa key size nss_dh_min_key_size - used with nss_optionset and nss_optionget to set or get the minimum dh key size nss_dsa_min_key_size - used with nss_optionset and nss_optionget to set or get the minimum dsa key siz...
NSS API Guidelines
the areas which need the most work (both here and throughout the code) is: the relationship of the certificate library with just about every other component (most noticeably pkcs #12, pkcs #7, and pkcs #11) splitting low key and high key components more clearly the crypto wrappers (pkcs #11 wrappers) and high key pkcs #12 and pkcs #5 libraries nss compiles into the libraries described below.
...these rules are derived from existing coding practices inside the security library, since consistency is more important than debates about what might look nice.
... there are a number of strategies, and entire books about how to safely access data on lists.
NSS PKCS11 Functions
more information about module spec is available at pkcs11_module_specs.
...the caller should ask for one new database per call if the caller wants to get meaningful information about the new database.
...for example, mozilla uses the parameter to pass information about which window is associated with the modal dialog box requesting the password from the user.
FC_GetInfo
name fc_getinfo - return general information about the pkcs #11 library.
... syntax ck_rv fc_getinfo(ck_info_ptr pinfo); parameters fc_getinfo has one parameter: pinfo points to a ck_info structure description fc_getinfo returns general information about the pkcs #11 library.
... /* invoke fc_getinfo as pfunctionlist->c_getinfo */ crv = pfunctionlist->c_getinfo(&info); assert(crv == ckr_ok); printf("general information about the pkcs #11 library:\n"); printf(" pkcs #11 version: %d.%d\n", (int)info.cryptokiversion.major, (int)info.cryptokiversion.minor); printf(" manufacturer id: %.32s\n", info.manufacturerid); printf(" flags: 0x%08lx\n", info.flags); printf(" library description: %.32s\n", info.librarydescription); printf(" library version: %d.%d\n", (int)info.libraryversion.major, (int)info.li...
TLS Cipher Suite Discovery
when a new version of a tls implementation is made available for use by applications, those applications may wish to immediately use the newly supported cipher suites found in the new version, without the application needing to be modified and re-released to know about these new cipher suites.
...libssl provides enough information about each of the supported cipher suites that the application can construct a display of that information from which the user can choose which cipher suites his application will attempt to use.
...*/ ssl_import const pruint16 ssl_numimplementedciphers; of course, the raw integer numbers of the cipher suites are not likely to be known to most users, so libssl provides a function by which the application can obtain a wealth of information about any supported cipher suite, by its number.
Necko FAQ
everything you wanted to know about the networking library in mozilla...
... todo what about proxy auto config?
... todo what about socks support?
Bytecode Descriptions
also emitted at end of every script so consumers don't need to worry about running off the end.
...when jsop::gosub runs, it leaves two values on the stack that the stack depth math doesn't know about.
...the lineno operand should agree with this script's source notes about the line number of the preceding *eval instruction.
Tracing JIT
this document is talking about deprecated feature.
...the nanojit component is language agnostic, and contains no knowledge about spidermonkey or any other part of the mozilla codebase.
...bailing from a regular guard involves executing precise per-guard write-flushing code, as the guard encodes a specific failed condition on a specific set of operands, and so the exit code can be much more fine-grained about and reconstructing the pre-bail state.
SpiderMonkey Internals
this document is talking about partially obsolete things.
...the emitter does some constant folding and a few codegen optimizations; about the fanciest thing it does is to attach source notes to the script for the decompiler's benefit.
...the jsopcode.tbl file is a c preprocessor source that defines almost everything there is to know about js bytecodes.
SpiderMonkey 1.8.7
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
...spidermonkey 1.8.7 includes type inference, which boosts the speed of the jägermonkey jit by about 30% over version 1.8.5.
... jsxdrapi changes were missed jsstrictpropertyop for setters (affects jsclass) - maybe general notes about es5 strict mode changes in jsapi tricks like argv[-2] not guaranteed to work any more; is js_callee or similar instead ...
Using the Places history service
the main url table stores the information about the page: url, host name, title, visit count, hidden, and typed.
... this separation of the global page information and the visit allows us to store information about each time the page was visited instead of just the last time.
... nsiglobalhistory3.setgeckoflags: called by gecko to store rendering information about a page.
Component Internals
xpcom registry manifests xpcom uses special files called manifests to track and persist information about the components to the local system.
... the next section describes how to hook into the xpcom startup and registration process and make the data about your component available in these manifests, so that your component will be found and registered at startup.
...there are two supported ways to go about registering your xpcom component.
Mozilla internal string guide
have the string "forget" about it and hand off ownership to other code.
... ns_free(val); } with getter_copies() you never have to worry about this.
... beginwriting(iterator) endwriting(iterator) setcapacity() - inform the string about buffer size need before a sequence of calls to append() or converting appends that convert between utf-16 and latin1 in either direction.
Interfacing with the XPCOM cycle collector
what the cycle collector does the cycle collector spends most of its time accumulating (and forgetting about) pointers to xpcom objects that might be involved in garbage cycles.
... handling jsobjects fields if your class needs to store a pointer to a jsobject then you need to tell the cycle collector about it.
...hence, we need to tell the cycle collector about any such member variables.
XPConnect wrappers
they are implicitly created by xpconnect and you should not have to worry about how that happens.
... these wrappers are created by xpconnect, so you should not have to worry about how to construct them or whether to construct them.
... security wrappers exposed to chrome to learn about security wrappers, see the article on script security in gecko.
IAccessibleValue
see the section about.
...see the section about.
...see the section about.
nsIAccessible
can also be used by in-process accessibility clients to get information about objects in the accessible tree.
...use nsiaccessible.groupposition() to get information about this accessible in its group.
...descriptions nsiaccessible.description and nsiaccessible.help provides additional text information about accessible.
nsIAccessibleEvent
event_dragdrop_start 0x0022 0x001f an application is about to enter drag-and-drop mode.
... event_dragdrop_end 0x0023 0x0020 an application is about to exit drag-and-drop mode.
... event_minimize_start 0x0028 0x0025 a window object is about to be minimized or maximized.
nsIDownloadManager
toolkit/components/downloads/public/nsidownloadmanager.idlscriptable this interface lets applications and extensions communicate with the download manager, adding and removing files to be downloaded, fetching information about downloads, and being notified when downloads are completed.
...whereas canceldownload() simply cancels the transfer while retaining information about it, removedownload() removes all knowledge of it.
... startbatchupdate() obsolete since gecko 1.9.1 (firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) indicate that a batch update (for example mass removal) is about to start.
nsIDynamicContainer
the service need not worry about removing any created nodes, they will be automatically removed when this call completes.
... oncontainernodeopening() this method is called when the given container node is about to be populated so that the service can populate the container if necessary.
... oncontainerremoving() this method is called when the given container is about to be deleted from the bookmarks table, so that the service can do any necessary cleanup.
nsINavBookmarkObserver
this method notifies this observer that an item is about to be removed.
... aitemtype the type of the item that is about to be removed; this is one of the nsinavbookmarksservice.type constants.
...this means that the visit the observer is told about may not be the most recent visit for that page.
nsITreeBoxObject
the nsitreeboxobject interface contains information about the size and layout of a tree.
... further information about trees is given in the xul tutorial.
...inform the tree about this change by calling rowcountchanged(rowindex+1, -1); beginupdatebatch() notify the tree that the view is about to perform a batch update, that is, add, remove or invalidate several rows at once.
nsIUpdate
this object also contains information about the update that the front end and other application services can use to learn more about what is going on.
... detailsurl astring the url to a page which offers details about the content of this update.
... errorcode long a numeric error code that conveys additional information about the state of a failed update or failed certificate attribute check during an update check.
nsIWindowWatcher
embedding clients need do nothing special about that requirement.
...ication or mozilla extension, if the window object is unavailable (for example, when opening a window from xpcom component code), you might want to use this interface for opening a new window: var ww = components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getservice(components.interfaces.nsiwindowwatcher); var win = ww.openwindow(null, "chrome://myextension/content/about.xul", "aboutmyextension", "chrome,centerscreen", null); note: versions of gecko before gecko 2.0 would ignore some of the chrome flags when opening a chrome window without an opener window, instead behaving as if the "all" flag was present.
... void registernotification( in nsiobserver aobserver ); parameters note: be careful about generating open/close window events inside nsiobserver.observe().
nsIXULAppInfo
xpcom/system/nsixulappinfo.idlscriptable this interface provides information about the host application.
...be careful about which one you want.
...be careful about which one you want!
Mail event system
if the object just needs to be notified about one folder, it should call that folder's addlistener method.
... if the object wants to know about all notifications on all folders, then it should register with the mail session.
... getservice(components.interfaces.nsimsgmailsession); mailsession.addlistener(folderlistener); // now test to see if integer stuff is firing at all // let's say "folder" is a folder we know about // first we need an atom to play with atomservice = components.classes["component://netscape/atom-service"].
Theme Packaging
install.rdf your install.rdf manifest will look something like this: <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:type>4</em:type> more properties </description> </rdf> required install.rdf properties your install.rdf file must have the following properties.
... sample install.rdf file <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>{18b64b56-d42f-428d-a88c-baa413bc413f}</em:id> <em:version>1.0</em:version> <em:type>4</em:type> <!-- target application this extension can install into, with minimum and maximum supported versions.
... structure of an installable bundle: describes the common structure of installable bundles, including extensions, themes, and xulrunner applications extension packaging: specific information about how to package extensions theme packaging: specific information about how to package themes multiple-item extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration ...
Add to iPhoto
the interesting things to note about the declaration of corefoundation.cfurlcreatefromfilesystemrepresentation() are: it returns a cfurlref, which is an opaque pointer similar to the cfstringref we noted above.
... cfmutablearray one thing about core foundation types that is interesting is the use of regular and mutable versions of the same data types.
... there's nothing particularly interesting about how we declare this api, but it will be noteworthy when we look at how we use cfmutablearray objects with methods that accept a cfarray as input, so i introduce this concept here.
Using js-ctypes
about declaring the function how we knew how to declare the function was by going to msdn site and looking at the messagebox (messageboxw is just a unicode version of same function) function.
... also learn about the lib.declare function used here: lib.declare.
... learn about the data types used here: data types.
Plugins
roadmap plugin roadmap information about the roadmap for adobe flash and other plugin support in firefox.
... tutorials and references the articles below are developer information about the developing for click-to-play, and plugin blocking.
... archived information legacy documentation about developing npapi plugins.
Debugger.Object - Firefox Developer Tools
this means that the debugger can use the == operator to recognize when two debugger.object instances refer to the same debuggee object, and place its own properties on a debugger.object instance to store metadata about particular debuggee objects.
...this allows the code using each debugger instance to place whatever properties it likes on its own debugger.object instances, without worrying about interfering with other debuggers.
... once a promise is settled, it will generally notify its dependent promises and forget about them, so this is most useful on pending promises.
All keyboard shortcuts - Firefox Developer Tools
to select these, visit about:config, select the setting devtools.editor.keymap, and assign "vim" or "emacs", or "sublime" to that setting.
... from firefox 33 onwards, the key binding preference is exposed in the editor preferences section of the developer tools settings, and you can set it there instead of about:config.
... show/hide more information about current property (computed view only, when a property is selected) enter or space return or space enter or space open mdn reference page about current property (computed view only, when a property is selected) f1 f1 f1 open current css file in style editor (computed view only, when more information is shown for a property and a css file reference is focused).
Storage Inspector - Firefox Developer Tools
clicking on a tree item will display detailed information about that item in the table widget on the right.
... add and refresh storage you'll also have buttons available to add a new storage entry or refresh the view of the currently viewed storage type where applicable (you can't add new entries to indexeddb or cache): sidebar when you select any row in the storage table widget, the sidebar is shown with details about that row.
... if a cookie is selected, it will list all the details about that cookie.
Web Console remoting - Firefox Developer Tools
to better understand the architecture of the web console we recommend learning about the debugger architecture.
...see evalinglobalwithbindings() for information about bindings.
... the getrequestheaders and other packets to get more details about a network event you can use the following packet requests (and replies).
A basic ray-caster - Web APIs
after realizing, to my delight, that the nifty <canvas> element i'd been reading about was not only soon to be supported in firefox, but was already supported in the current version of safari, i had to try a little experiment.
... the canvas overview and tutorial i found here at mdn are great, but nobody had written about animation yet, so i thought i'd try a port of a basic raycaster i'd worked on a while ago, and see what sort of performance we can expect from a javascript-controlled pixel buffer.
...not exactly a new member of the id software family, but pretty decent considering it's a fully interpreted environment, and i didn't have to worry about memory allocation or video modes or coding inner routines in assembler or anything.
Applying styles and colors - Web APIs
« previousnext » in the chapter about drawing shapes, we used only the default line and fill styles.
...it is then equal to the cosecant of half the minimum inner angle of connecting segments below which no miter join will be rendered, but only a bevel join: miterlimit = max miterlength / linewidth = 1 / sin ( min θ / 2 ) the default miter limit of 10.0 will strip all miters for sharp angles below about 11 degrees.
...ntext('2d'); ctx.shadowoffsetx = 2; ctx.shadowoffsety = 2; ctx.shadowblur = 2; ctx.shadowcolor = 'rgba(0, 0, 0, 0.5)'; ctx.font = '20px times new roman'; ctx.fillstyle = 'black'; ctx.filltext('sample string', 5, 30); } <canvas id="canvas" width="150" height="80"></canvas> draw(); screenshotlive sample we will look at the font property and filltext method in the next chapter about drawing text.
Credential Management API - Web APIs
interfaces credential provides information about an entity as a prerequisite to a trust decision.
... federatedcredential provides information about credentials from a federated identity provider, which is an entity that a website trusts to correctly authenticate a user, and which provides an api for that purpose.
... passwordcredential provides information about a username/password pair.
DeviceMotionEvent.rotationRate - Web APIs
syntax var rotationrate = devicemotionevent.rotationrate; value the rotationrate property is a read only object describing the rotation rates of the device around each of its axes: alpha the rate at which the device is rotating about its z axis; that is, being twisted about a line perpendicular to the screen.
... beta the rate at which the device is rotating about its x axis; that is, front to back.
... gamma the rate at which the device is rotating about its y axis; that is, side to side.
Introduction to the DOM - Web APIs
dom interfaces this guide is about the objects and the actual things you can use to manipulate the dom hierarchy.
... but the relationship between objects and the interfaces that they implement in the dom can be confusing, and so this section attempts to say a little something about the actual interfaces in the dom specification and how they are made available.
...however, you design your test pages, testing the interfaces as you read about them is an important part of learning how to use the dom effectively.
How whitespace is handled by HTML, CSS, and in the DOM - Web APIs
there are rules in the browser engine that decide which whitespace characters are useful and which aren’t — these are specified at least in part in css text module level 3, and especially the parts about the css white-space property and whitespace processing details, but we also offer an easier explanation below.
... spaces in between inline and inline-block elements let's move on to look at a few issues that can arise due to whitespace, and what can be done about them.
...when you’re only dealing with block-level elements such as <p> that only contain inline elements such as <em>, <strong>, <span>, etc., you don’t normally care about this because the extra whitespace that does make it to the layout is helpful to separate the words in the sentence.
EventTarget.addEventListener() - Web APIs
options optional an options object specifies characteristics about the event listener.
... you can learn more from the article about eventlisteneroptions from the web incubator community group.
... you don't need to worry about the value of passive for the basic scroll event.
Introduction to the File and Directory Entries API - Web APIs
about this document this introduction discusses essential concepts and terminology in the file and directory entries api.
...to learn more about terminology used in this api, see the definitions section.
...to learn more about the chrome-specific implementation, see managing html5 offline storage.
GamepadEvent - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera full support 22 full support 22 no support 15 — 21prefixed prefixed implemented with the vendor prefix: webkitsafari full support 10.1webview android ...
...to change preferences in firefox, visit about:config.ie no support noopera full support 22safari full support 10.1webview android no support nochrome android full support yesfirefox android full support ...
...to change preferences in firefox, visit about:config.ie no support noopera full support 22 full support 22 no support 15 — 21prefixed prefixed implemented with the vendor prefix: webkitsafari full support 10.1webview android ...
Using the Gamepad API - Web APIs
%d buttons, %d axes.", gp.index, gp.id, gp.buttons.length, gp.axes.length); }); the gamepad object's properties are as follows: id: a string containing some information about the controller.
...once we have a reference to it, we can query its properties for information about the current state of the gamepad.
...when one is connected, we grab the gamepad using navigator.getgamepads()[0], print information about the gamepad into our gamepad info div, and fire the gameloop() function that starts the whole ball movement process up.
GlobalEventHandlers.onanimationcancel - Web APIs
we'll use this to show information about the events we receive.
... note the use of animationevent.animationname and animationevent.elapsedtime to get information about the event which occurred.
... result assembled together, you get this: if your browser supports animationcancel, hiding the box using the button will cause a message to be displayed about the event.
InputDeviceCapabilities API - Web APIs
the inputdevicecapabilities api provides details about the underlying sources of input events.
... what about when the mousedown event is triggered?
... if (!e.sourcecapabilities.firestouchevents) mybutton.classlist.add("pressed"); }); interfaces inputdevicecapabilities provides logical information about an input device.
MediaDevices.getUserMedia() - Web APIs
while information about a user's cameras and microphones are inaccessible for privacy reasons, an application can request the camera and microphone capabilities it needs and wants, using additional constraints.
... for additional details on these requirements and rules, how they are reflected in the context in which your code is running, and about how browsers manage user privacy and security issues, read on.
...here, indicate we need the ability to use both camera and microphone: <iframe src="https://mycode.example.net/etc" allow="camera;microphone"> </iframe> read our guide, using feature policy, to learn more about how it works.
MediaRecorder.mimeType - Web APIs
see our media type and format guide for information about container and codec support across browsers.
...this string may include the codecs parameter, giving details about the codecs and the codec configurations used by the media recorder.
...see also media types to learn more about media types and how they're used in web content and by web browers.
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.
...the api also provides abilities to access display property information such as supported color gamut, dynamic range abilities, and real-time feedback about the playback.
... media capabilities interfaces mediacapabilities provides information about the decoding abilities of the device, system and browser based on codecs, profile, resolution, and bitrates.
Capabilities, constraints, and settings - Web APIs
the twin concepts of constraints and capabilities let the browser and web site or app exchange information about what constrainable properties the browser's implementation supports and what values it supports for each one.
... overview the process works like this (using mediastreamtrack as an example): if needed, call mediadevices.getsupportedconstraints() to get the list of supported constraints, which tells you what constrainable properties the browser knows about.
... finally, the track's applyconstraints() method is called to configure the api as desired by specifying the values or ranges of values it wishes to use for any of the constrainable properties about which it has a preference.
NavigatorPlugins.plugins - Web APIs
in chrome) return flash.description.replace(/shockwave flash /,""); } } the following example displays information about the installed plugin(s).
...ow = table.insertrow(); newrow.insertcell().textcontent = navigator.plugins[i].name; newrow.insertcell().textcontent = navigator.plugins[i].filename; newrow.insertcell().textcontent = navigator.plugins[i].description; newrow.insertcell().textcontent = navigator.plugins[i].version?navigator.plugins[i].version:""; } notes the plugin object exposes a small interface for getting information about the various plugins installed in your browser.
... a list of plugins is also available by entering about:plugins in the browser's location bar.
PerformanceFrameTiming - Web APIs
performanceframetiming is an abstract interface that provides frame timing data about the browser's event loop.
...this means the browser should process a frame in about 16.7ms.
... an application can register a performanceobserver for "frame" performance entry types and the observer can retrieve data about the duration of each frame event.
Using Pointer Events - Web APIs
lienty + ");"); ctx.lineto(evt.clientx, evt.clienty); ctx.linewidth = 4; ctx.strokestyle = color; ctx.stroke(); ongoingtouches.splice(idx, 1, copytouch(evt)); // swap in the new touch record log("."); } else { log("can't figure out which touch to continue: idx = " + idx); } } this function looks in our cached touch information array for the previous information about each touch to determine the starting point for each touch's new line segment to be drawn.
... after drawing the line, we call array.splice() to replace the previous information about the touch point with the current information in the ongoingtouches array.
... copying a touch object some browsers may re-use touch objects between events, so it's best to copy the bits you care about, rather than referencing the entire object.
RTCDtlsTransport - Web APIs
the rtcdtlstransport interface provides access to information about the datagram transport layer security (dtls) transport over which a rtcpeerconnection's rtp and rtcp packets are sent and received by its rtcrtpsender and rtcrtpreceiver objects.
... a dtls transport is also used to provide information about sctp packets transmitted and received by an connection's data channels.
... features of the dtls transport include the addition of security to the underlying transport; the rtcdtlstransport interface can be used to obtain information about the underlying transport and the security added to it by the dtls layer.
Using the Resource Timing API - Web APIs
the interface also includes other properties that provide data about the size of the fetched resource as well as the type of resource that initiated the fetch.
...for more details about the interfaces, including examples, see each interface's reference page and the references in the see also section.
...the performanceresourcetiming interface has three properties that can be used to obtain size data about a resource.
Resource Timing API - Web APIs
the interface also includes other properties that provide data about the size of the fetched resource as well as the type of resource that initiated the fetch.
...for more details about the interfaces including examples see each interface's reference page, using the resource timing api, and the references in the see also section.
... resource size the performanceresourcetiming interface has three properties that can be used to obtain size data about a resource.
Sensor APIs - Web APIs
if (error.name === 'securityerror') { // see the note above about feature policy.
... magnetometersecure context provides information about the magnetic field as detected by the device’s primary magnetometer sensor.
... sensorerroreventsecure context provides information about errors thrown by a sensor or related interface.
Using readable streams - Web APIs
it has a number of advantages, and what is really nice about it is that browsers have recently added the ability to consume a fetch response as a readable stream.
...for example, our simple stream pump example goes on to enqueue each chunk in a new, custom readablestream (we will find more about this in the next section), then create a new response out of it, consume it as a blob, create an object url out of that blob using url.createobjecturl(), and then display it on screen in an <img> element, effectively creating a copy of the image we originally fetched.
...we’ll explain more about the custom stream in the next section.
Touch events - Web APIs
newidth = 4; ctx.strokestyle = color; ctx.stroke(); ongoingtouches.splice(idx, 1, copytouch(touches[i])); // swap in the new touch record console.log("."); } else { console.log("can't figure out which touch to continue"); } } } this iterates over the changed touches as well, but it looks in our cached touch information array for the previous information about each touch to determine the starting point for each touch's new line segment to be drawn.
... after drawing the line, we call array.splice() to replace the previous information about the touchpoint with the current information in the ongoingtouches array.
... copying a touch object some browsers (mobile safari, for one) re-use touch objects between events, so it's best to copy the properties you care about, rather than referencing the entire object.
WebGL constants - Web APIs
constant name value description static_draw 0x88e4 passed to bufferdata as a hint about whether the contents of the buffer are likely to be used often and not change often.
... stream_draw 0x88e0 passed to bufferdata as a hint about whether the contents of the buffer are likely to not be used often.
... dynamic_draw 0x88e8 passed to bufferdata as a hint about whether the contents of the buffer are likely to be used often and change often.
Matrix math for the web - Web APIs
// manually rotating a point about the origin without matrices let point = [10, 2]; // calculate the distance from the origin let distance = math.sqrt(point[0] * point[0] + point[1] * point[1]); // the equivalent of 60 degrees, in radians let rotationinradians = math.pi / 3; let transformedpoint = [ math.cos(rotationinradians) * distance, math.sin(rotationinradians) * distance ]; it is possible to encode these type of ste...
...below is the representation of a rotation about the x axis: let sin = math.sin; let cos = math.cos; // note: there is no perspective in these transformations, so a rotation // at this point will only appear to only shrink the div let a = math.pi * 0.3; //rotation amount in radians // rotate around z axis let rotatezmatrix = [ cos(a), -sin(a), 0, 0, sin(a), cos(a), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]; view on jsfiddle here are a set of functions that return rotation matrices for rotating around each of the three axes.
...for instance, to scale something down by 80%, move it down 200 pixels, and then rotate about the origin 90 degrees would look something like the following in pseudo-code.
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.
... if you'd like to know more about how this works, read rfc 3550: rtp: a transport protocol for real-time applications and rfc 4733: rtp payload for dtmf digits, telephony tones, and telephony signals.
...if so, we log the fact that we're about to send the dtmf, then we call dtmf.insertdtmf() to send the dtmf on the same track as the audio data method on the rtcdtmfsender object we previously stored in dtmfsender.
Using the Web Animations API - Web APIs
in the @keyframes block we can see that 30% of the way through each loop (about .9 seconds in), alice’s color changes from black to a deep burgundy then back again by the end of the loop.
... pausing and playing animations we’ll talk more about alice’s animation later, but for now, let’s look closer at the cupcake’s animation: var nommingcake = document.getelementbyid('eat-me_sprite').animate( [ { transform: 'translatey(0)' }, { transform: 'translatey(-80%)' } ], { fill: 'forwards', easing: 'steps(4, end)', duration: alicechange.effect.timing.duration / 2 }); the element.animate() method will immediately run after it i...
...for instance, in the growing and shrinking alice game example, you might have noticed something odd about the cake’s duration: duration: alicechange.effect.getcomputedtiming().duration / 2 to understand what’s happening here, let’s take a look at alice’s animation: var alicechange = document.getelementbyid('alice').animate( [ { transform: 'translate(-50%, -50%) scale(.5)' }, { transform: 'translate(-50%, -50%) scale(2)' } ], { duration: 8000, easing: 'ease-in-out', ...
Advanced techniques: Creating and sequencing audio - Web APIs
if you are about to embark on building something more complex, tone.js would be a good place to start.
...ttime(0, audioctx.currenttime); // set our attack sweepenv.gain.linearramptovalueattime(1, audioctx.currenttime + attacktime); // set our release sweepenv.gain.linearramptovalueattime(0, audioctx.currenttime + sweeplength - releasetime); osc.connect(sweepenv).connect(audioctx.destination); osc.start(); osc.stop(audioctx.currenttime + sweeplength); } note: we'll talk about the property baseaudiocontext.currenttime later, so don't worry if you're unsure of it for now.
...this is what we shall use for timing within our step sequencer — it's extremely accurate, returning a float value accurate to about 15 decimal places.
Using the Web Audio API - Web APIs
you can learn more about this in our article autoplay guide for media and web audio apis.
...gain can be set to a minimum of about -3.4 and a max of about 3.4.
... more examples there are other examples available to learn more about the web audio api.
Web Authentication API - Web APIs
note most javascript programmers that are creating an application will only really care about steps 1 and 5 where the create() function is called and subsequently returns; however, steps 2, 3, and 4 are essential to understanding the processing that takes place in the browser and authenticator and what the resulting data means.
... interfaces credential provides information about an entity as a prerequisite to a trust decision.
... publickeycredential provides information about a public key / private key pair, which is a credential for logging in to a service using an un-phishable and data-breach resistant asymmetric key pair instead of a password.
Web Bluetooth API - Web APIs
bluetoothadvertisingdata provides advertising data about a particular bluetooth device.
... bluetoothremotegattcharacteristic represents a gatt characteristic, which is a basic data element that provides further information about a peripheral’s service.
... bluetoothremotegattdescriptor represents a gatt descriptor, which provides further information about a characteristic’s value.
Using the Web Speech API - Web APIs
think about dictation on macos, siri on ios, cortana on windows 10, android speech, etc.
...]; var grammar = '#jsgf v1.0; grammar colors; public <color> = ' + colors.join(' | ') + ' ;' the grammar format used is jspeech grammar format (jsgf) — you can find a lot more about it at the previous link to its spec.
... browser support support for web speech api speech synthesis is still getting there across mainstream browsers, and is currently limited to the following: firefox desktop and mobile support it in gecko 42+ (windows)/44+, without prefixes, and it can be turned on by flipping the media.webspeech.synth.enabled flag to true in about:config.
ARIA live regions - Accessibility
dropdown box updates useful onscreen information a website specializing in providing information about planets provides a dropdown box.
... when a planet is selected from the dropdown, a region on the page is updated with information about the selected planet.
... the paciello group has some information about the state of the support of live regions (2014).
Using the alert role - Accessibility
when this role is added to an element, the browser will send out an accessible alert event to assistive technology products which can then notify the user about it.
... the alert role is most useful for information that requires the user's immediate attention, for example: an invalid value was entered into a form field the user's login session is about to expire the connection to the server was lost, local changes will not be saved because of its intrusive nature, the alert role must be used sparingly and only in situations where the user's immediate attention is required.
...for example, a form control may have instruction about the expected value.
ARIA: textbox role - Accessibility
description when an element has the textbox role, the browser sends an accessible textbox event to assistive technologies, which can then notify the user about it.
... aria-placeholder attribute represents a hint (word or phrase) to the user about what to enter into the text field.
... the hint should be a sample value or a brief description of the expected format.this information should not be used as a substitute for a label: a label is focusable, permanent, indicates what kind of information is expected, and increases the hit area for setting focus on the control, whereas placeholder text is only temporary hint about the expected value, which if implemented incorrectly can decrease accessibility.
Architecture - Accessibility
nstextaccessible serves 2 purposes it is used by nshypertextaccessible to collect information about itself it is still exposed in msaa for backward compatibility by old windows assistive technologies.
... those at's don't yet know about any iaccessibletext yet, and want to see the hierarchy how they always did -- with text in leaf nodes.
...using this technique is about twice as fast as visiting all nodes in the tree, according to tests run by the developers of nvda.
Accessibility Information for Web Authors - Accessibility
wave 4.0 beta (web accessibility versatile evaluator) from webaim and sponsored by temple university institute on disabilities wave 4.0 beta is another powerful, free online webpage accessibility validation service that identifies accessibility errors and reports accessibility warnings about webpage related to section 508 standards and/or the wcag guidelines.
...(...) about one-third complained about low contrast between text and background." top ten web design mistakes of 2005: 1.
...a study has established that about 8 percent of all men have some form of color deficiency.
Web accessibility for seizures and physical reactions - Accessibility
ause seizures and other disorders is documented in such articles as “gamma oscillations and photosensitive epilepsy”, where it is noted “certain visual images, even in the absence of motion or flicker, can trigger seizures in patients with photosensitive epilepsy” the epilepsy foundation, in its article, "shedding light on photosensitivity, one of epilepsy's most complex conditions" talks about static images and patterns.
...only a few types of epilepsies are photosensitive though, and the vast majority of epilepsies are not." in addition to seizures brought about by photosensitivity, listening to certain pieces of music can also trigger what are called musicogenic seizures, although these types of seizures seem to be much more rare.
... light-level from w3c's draft document, media queries level 5 section on light-level: "the light-level media feature is used to query about the ambient light-level in which the device is used, to allow the author to adjust style of the document in response." this will be a godsend to those who have motor-skills problems, or for some with cognitive difficulties, who cannot find the right "button" to change their screen settings.
Using CSS animations - CSS: Cascading Style Sheets
animation-name: fadeinout, moveleft300px, bounce; animation-duration: 2.5s, 5s; animation-iteration-count: 2, 1; using animation events you can get additional control over animations — as well as useful information about them — by making use of animation events.
... we'll modify the sliding text example to output some information about each animation event when it occurs, so we can get a look at how they work.
... the html just for the sake of completeness, here’s the html that displays the page content, including the list into which the script inserts information about the received events: <h1 id="watchme">watch me move</h1> <p> this example shows how to use css animations to make <code>h1</code> elements move across the page.
Typical use cases of Flexbox - CSS: Cascading Style Sheets
you can read more about the difference between flexbox and css grid layout in relationship of flexbox to other layout methods, where we discuss how flexbox fits into the overall picture of css layout.
...you can read more about this property in aligning items in a flex container, which deals with aligning items on the main axis.
... think about the best way to present the content that you have and then see how flexbox or other layout methods can help you achieve it.
Block and inline layout in normal flow - CSS: Cascading Style Sheets
you can read more about margin collapsing in our article mastering margin collapsing.
... find out more about how block and inline boxes behave in our guide to the visual formatting model.
...in the css display model level 3, we can learn more about how the display property changes the behaviour of boxes and the boxes they generate.
Variable fonts guide - CSS: Cascading Style Sheets
variable fonts: what they are, and how they differ to better understand what's different about variable fonts, it is worth reviewing what non-variable ones are like and how they compare.
...that file would be larger than a single font, but in most cases smaller or about the same size as the 4 you might load for body copy.
... a note about font families, weights, and variants you might notice that we have been talking about having a specific font file for every weight and style (i.e.
box-direction - CSS: Cascading Style Sheets
see flexbox for information about the current standard.
...to change preferences in firefox, visit about:config.ie no support noopera full support 15prefixed full support 15prefixed prefixed implemented with the vendor prefix: -webkit-safari full support 3prefixed full support ...
...to change preferences in firefox, visit about:config.opera android full support 14prefixed full support 14prefixed prefixed implemented with the vendor prefix: -webkit-safari ios full support 1prefixed full support 1prefixed prefixed implemented with the vendor p...
max-block-size - CSS: Cascading Style Sheets
everything else about the two boxes is identical, including the values used for max-block-size.
...some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, i thought i would sail about a little and see the watery part of the world.
...some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, i thought i would sail about a little and see the watery part of the world.
WAI ARIA Live Regions/API Support - Developer guides
please read the aria spec or the live region report to learn about aria live region markup.
... atk/at-spi event iaccessible2 event object about to be hidden or removed children_changed::remove (fired on the parent, with event data pointing to the child index of the accessible object to be removed) event_object_hide* (fired on the actual accessible object about to go away) object shown or inserted children_changed::add (fired on the parent, with event data pointing to the child index of the inserted accessible object) event_object_show* (fired on the actual new accessible object) object replaced with different object (this happens especially if an object's interfaces or role changes) chi...
...determining if event was from user input all events will now provide information about whether the event was caused by user input, or was something that the web page caused.
Mouse gesture events - Developer guides
if you only care about the end results of the pinch gesture, you can simply watch for this event; however, if you want to provide feedback during the handling of the gesture, you should also watch the mozmagnifygesturestart and mozmagnifygestureupdate events.
...if you only care about the end results of the rotate gesture, you can simply watch for this event; however, if you want to provide feedback during the handling of the gesture, you should also watch the mozrotategesturestart and mozrotategestureupdate events.
...event fields mouse gesture events have additional fields providing information about the gesture.
Orientation and motion data explained - Developer guides
this article provides details about the coordinate systems at play and how you use them.
... about coordinate frames a coordinate frame is a system whereby the orientation of the three axes (x, y, and z) are defined in reference to an object.
... about rotation rotation is described about any given axis in terms of the number of degrees of difference between the device's coordinate frame and the earth coordinate frame, and is measured in degrees.
<iframe>: The Inline Frame element - HTML: Hypertext Markup Language
WebHTMLElementiframe
notes about sandboxing: when the embedded document has the same origin as the embedding page, it is strongly discouraged to use both allow-scripts and allow-same-origin, as that lets the embedded document remove the sandbox attribute — making it no more secure than not using the sandbox attribute at all.
...use a value of about:blank to embed an empty page that conforms to the same-origin policy.
...via element.removeattribute()) causes about:blank to be loaded in the frame in firefox (from version 65), chromium-based browsers, and safari/ios.
<input type="time"> - HTML: Hypertext Markup Language
WebHTMLElementinputtime
you can learn more about the format of the time value used by this input type in time strings in date and time formats used in html.
... basic uses of time the simplest use of <input type="time"> involves a basic <input> and <label> element combination, as seen below: <form> <label for="appt-time">choose an appointment time: </label> <input id="appt-time" type="time" name="appt-time"> </form> controlling input size <input type="time"> doesn't support form sizing attributes such as size, since times are always about the same number of characters long.
...no information is yet available about when or if safari will add it.
HTML: Hypertext Markup Language
WebHTML
the articles below can help you learn more about html.
... html tutorials for articles about how to use html, as well as tutorials and complete examples, check out our html learning area.
... html reference in our extensive html reference section, you'll find the details about every element and attribute in html.
HTTP caching - HTTP
WebHTTPCaching
this page will mostly talk about browser and proxy caches, but there are also gateway caches, cdn, reverse proxy caches and load balancers that are deployed on web servers for better reliability, performance and scaling of web sites and web applications.
...for more details see the information about the vary header below.
... no caching the cache should not store anything about the client request or server response.
A typical HTTP session - HTTP
WebHTTPSession
an absolute url without the protocol or domain name the http protocol version subsequent lines represent an http header, giving the server information about what type of data is appropriate (e.g., what language, what mime types), or other data altering its behavior (e.g., not sending an answer if it is already cached).
... subsequent lines represent specific http headers, giving the client information about the data sent (e.g.
... type, data size, compression algorithm used, hints about caching).
Grammar and types - JavaScript
(for more information, see the detailed reference about javascript's lexical grammar.) it is considered best practice, however, to always write a semicolon after a statement, even when it is not strictly needed.
... if (true) { let y = 5; } console.log(y); // referenceerror: y is not defined variable hoisting another unusual thing about variables in javascript is that you can refer to a variable declared later, without getting an exception.
...to learn more about javascript's language constructs, see also the following chapters in this guide: control flow and error handling loops and iteration functions expressions and operators in the next chapter, we will have a look at control flow constructs and error handling.
Using Promises - JavaScript
one of the great things about using promises is chaining.
...you can read more about the syntax here.
... if you think microtasks may help solve this problem, see the microtask guide to learn more about how to use queuemicrotask() to enqueue a function as a microtask.
Intl.Locale - JavaScript
additional information about the locale is stored in the optional extension tags.
... extension tags hold information about locale aspects such as calendar type, clock type, and numbering system type.
... instance properties intl.locale.prototype.basename returns basic, core information about the locale in the form of a substring of the complete data string.
Lexical grammar - JavaScript
see also the page about parseint() exponential the decimal exponential literal is specified by the following format: ben; where b is a base number (integer or floating), followed by e char (which serves as separator or exponent indicator) and n, which is exponent or power number – a signed integer (as per 2019 ecma-262 specs): 0e-5 // => 0 0e+5 // => 0 5e1 // => 50 175e-2 // => 1.75 1e3 // => 1000 1e-3 ...
... var n = 0o755; // 493 var m = 0o644; // 420 // also possible with just a leading zero (see note about decimals above) 0755 0644 hexadecimal hexadecimal number syntax uses a leading zero followed by a lowercase or uppercase latin letter "x" (0x or 0x).
... // 123456789123456789 0o777777777777n // 68719476735 0x123456789abcdefn // 81985529216486895‬ 0b11101001010101010101n // 955733 note that legacy octal numbers with just a leading zero won't work for bigint: // 0755n // syntaxerror: invalid bigint syntax for octal bigint numbers, always use zero followed by the letter "o" (uppercase or lowercase): 0o755n for more information about bigint, see also javascript data structures.
How to make PWAs installable - Progressive web apps (PWAs)
previous overview: progressive next in the last article, we read about how the example application, js13kpwa, works offline thanks to its service worker, but we can go even further and allow users to install the web app on mobile and desktop browers that support doing so.
... the manifest file the key element is a web manifest file, which lists all the information about the website in a json format.
... summary in this article, we learned about how we can make pwas installable with a properly-configured web manifest, and how the user can then install the pwa with the "add to home screen" feature of their browser.
How to make PWAs re-engageable using Notifications and Push - Progressive web apps (PWAs)
see the web push data encryption test page for detailed information about securing the server.
...this, for example, can be used to remind the user about something, or let them know about new content being available in the app.
...to learn more about vapid keys you can read the sending vapid identified webpush notifications via mozilla’s push service blog post.
transform - SVG: Scalable Vector Graphics
form="scale(4)" /> <!-- vertical scale --> <circle cx="0" cy="0" r="10" fill="yellow" transform="scale(1,4)" /> <!-- horizontal scale --> <circle cx="0" cy="0" r="10" fill="pink" transform="scale(4,1)" /> <!-- no scale --> <circle cx="0" cy="0" r="10" fill="black" /> </svg> rotate the rotate(<a> [<x> <y>]) transform function specifies a rotation by a degrees about a given point.
... if optional parameters x and y are not supplied, the rotation is about the origin of the current user coordinate system.
... if optional parameters x and y are supplied, the rotation is about the point (x, y).
<metadata> - SVG: Scalable Vector Graphics
WebSVGElementmetadata
metadata is structured information about data.
... example <svg width="400" viewbox="0 0 400 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <metadata> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:connect="http://www.w3.org/1999/08/29-svg-connections-in-rdf#"> <rdf:description about="#cablea"> <connect:ends rdf:resource="#socket1"/> <connect:ends rdf:resource="#computera"/> </rdf:description> <rdf:description about="#cableb"> <connect:ends rdf:resource="#socket2"/> <connect:ends rdf:resource="#computerb"/> </rdf:description> <rdf:description about="#cablen"> <connect:ends rdf:resource="#socket5"/> <conne...
...ct:ends>everything</connect:ends> </rdf:description> <rdf:description about="#hub"> <connect:ends rdf:resource="#socket1"/> <connect:ends rdf:resource="#socket2"/> <connect:ends rdf:resource="#socket3"/> <connect:ends rdf:resource="#socket4"/> <connect:ends rdf:resource="#socket5"/> </rdf:description> </rdf:rdf> </metadata> <title>network</title> <desc>an example of a computer network based on a hub.</desc> <style> svg { /* default styles to be inherited */ fill: white; stroke: black; } text { fill: black; stroke: none; } path { fill: none; } </style> <!-- define symbols used in the svg --> <defs> <!-- hubplug symbol.
SVG: Scalable Vector Graphics
WebSVG
documentation svg element reference details about each svg element.
... svg attribute reference details about each svg attribute.
... svg dom interface reference details about the svg dom api, for interaction with javascript.
Mixed content - Web security
the attacker could also infer information about the user's activities by watching which images are served to the user; often images are only served on a specific page within a website.
...malicious active content can steal the user's credentials, acquire sensitive data about the user, or attempt to install malware on the user's system (by leveraging vulnerabilities in the browser or its plugins, for example).
...if the webpage is public and has no sensitive data about the user, using mixed active content still provides the attacker with the opportunity to redirect the user to other http pages and steal http cookies from those sites.
Same-origin policy - Web security
pany.com/dir/inner/another.html same origin only the path differs https://store.company.com/page.html failure different protocol http://store.company.com:81/dir/page.html failure different port (http:// is port 80 by default) http://news.company.com/dir/page.html failure different host inherited origins scripts executed from pages with an about:blank or javascript: url inherit the origin of the document containing that url, since these types of urls do not contain information about an origin server.
... for example, about:blank is often used as a url of new, empty popup windows into which the parent script writes content (e.g.
...it is often necessary to prevent embedding because embedding a resource always leaks some information about it.
Using templates and slots - Web Components
the truth about templates when you have to reuse the same markup structures repeatedly on a web page, it makes sense to use some kind of a template rather than repeating the same structure over and over again.
... <dl slot="attributes"> <dt>name</dt> <dd>the name of the slot.</dd> </dl> </element-details> <element-details> <span slot="element-name">template</span> <span slot="description">a mechanism for holding client- side content that is not to be rendered when a page is loaded but may subsequently be instantiated during runtime using javascript.</span> </element-details> about that snippet, notice these points: the snippet has two instances of <element-details> elements which both use the slot attribute to reference the named slots "element-name" and "description" we put in the <element-details> shadow root .
... screenshotlive sample notice the following points about this rendered result: even though the instances of the <element-details> element in the document do not directly use the <details> element, they get rendered using <details> because the shadow root causes them to get populated with that.
Understanding WebAssembly text format - WebAssembly
(note that when this text gets converted to binary, though, the binary will contain only the integer.) stack machines before we can write a function body, we have to talk about one more thing: stack machines.
...also see webassembly.instantiatestreaming() for more details about the instantiate function.
...the same manner as we did before, e.g.: (export "getanswerplus1" (func $functionname)) the javascript code to call our above module looks like so: webassembly.instantiatestreaming(fetch('call.wasm')) .then(obj => { console.log(obj.instance.exports.getanswerplus1()); // "43" }); importing functions from javascript we have already seen javascript calling webassembly functions, but what about webassembly calling javascript functions?
simple-storage - Archive of obsolete content
currently this limit is about five megabytes (5,242,880 bytes).
... to read about how to opt into private browsing mode and how to use the sdk to avoid storing user data associated with private windows, refer to the documentation for the private-browsing module.
tabs - Archive of obsolete content
to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
... this event is not emitted when the tab is made the active tab: to get notified about that, you need to listen to the activate event.
widget - Archive of obsolete content
ta; var player = widgets.widget({ id: "player", width: 72, label: "player", contenturl: data.url("buttons.html"), contentscriptfile: data.url("button-script.js") }); player.port.on("play", function() { console.log("playing"); }); player.port.on("pause", function() { console.log("pausing"); }); player.port.on("stop", function() { console.log("stopping"); }); to learn much more about content scripts, see the working with content scripts guide.
... to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
io/file - Archive of obsolete content
for now, you need to require("chrome") and use the xpcom directory service as described in this article about file i/o.
... read more about escaping characters in strings.
places/history - Archive of obsolete content
usage this module exports a single function, search(), which synchronously returns a placesemitter object which then asynchronously emits data and end or error events that contain information about the state of the operation.
... 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 'javascript' in the url or title.
ui/button/action - Archive of obsolete content
read more about specifying icons in the reference documentation for the actionbutton constructor.
...refox-16.png", "32": "./firefox-32.png" }, onclick: disableforthiswindow }); function disableforthiswindow(state) { button.state("window", { disabled: true }); } to fetch the state for a specific window or tab, call state(), passing in the window or tab you are interested in, and it will return the state: var labelforactivetab = button.state("tab").label; to learn more about this, see the api documentation for state().
ui/button/toggle - Archive of obsolete content
read more about specifying icons in the reference documentation for the togglebutton constructor.
...refox-16.png", "32": "./firefox-32.png" }, onclick: disableforthiswindow }); function disableforthiswindow(state) { button.state("window", { disabled: true }); } to fetch the state for a specific window or tab, call state(), passing in the window or tab you are interested in, and it will return the state: var labelforactivetab = button.state("tab").label; to learn more about this, see the api documentation for state().
Low-Level APIs - Archive of obsolete content
system/runtime access to information about firefox's runtime environment.
... system/xul-app information about the application on which your add-on is running.
cfx - Archive of obsolete content
to do this, include a url in the xpi called the updateurl: the host application will go here to get information about updates.
... the default value of --static-args is "{}" (an empty object), so you don't have to worry about checking whether staticargs exists in system.
console - Archive of obsolete content
console.error(object[, object, ...]) logs the arguments to the console, preceded by "error:" and the name of your add-on: console.error("this is an error message"); error: my-addon: this is an error message console.exception(exception) logs the given exception instance as an error, outputting information about the exception's stack traceback if one is available.
... both these preferences can be set programmatically using the preferences/service api, or manually using about:config.
Adding a Button to the Toolbar - Archive of obsolete content
read more about specifying multiple icons.
...read more about updating state.
Getting Started (jpm) - Archive of obsolete content
navigate to it, type jpm init, and hit enter: mkdir my-addon cd my-addon jpm init you'll then be asked to supply some information about your add-on: this will be used to create your add-on's package.json file.
...during development, or if you don't plan to distribute, you can open about:config and set xpinstall.signatures.required to false to run it unsigned.
Modifying Web Pages Based on URL - Archive of obsolete content
var pagemod = require("sdk/page-mod").pagemod({ include: "*", contentstylefile: require("sdk/self").data.url("my-style.css") }); or, from firefox 34, you can use the simpler version: var pagemod = require("sdk/page-mod").pagemod({ include: "*", contentstylefile: "./my-style.css" }); learning more to learn more about page-mod, see its api reference page.
... to learn more about content scripts in general, see content scripts guide.
Modifying the Page Hosted by a Tab - Archive of obsolete content
learning more to learn more about working with tabs in the sdk, see the open a web page tutorial, the list open tabs tutorial, and the tabs api reference.
... to learn more about content scripts, see the content scripts guide.
Open a Web Page - Archive of obsolete content
this add-on loads a page, then attaches a script to the page which adds a red border to it: var tabs = require("sdk/tabs"); tabs.open({ url: "http://www.example.com", onready: runscript }); function runscript(tab) { tab.attach({ contentscript: "document.body.style.border = '5px solid red';" }); } learning more to learn more about working with tabs in the sdk, see the tabs api reference.
... to learn more about running scripts in tabs, see the tutorial on using tab.attach().
Add-on SDK - Archive of obsolete content
development techniques learn about common development techniques, such as unit testing, logging, creating reusable modules, localization, and mobile development.
... guides contributor's guide learn how to start contributing to the sdk and about the most important idioms used in the sdk code such as modules, classes and inheritance, private properties, and content processes.
Downloading Files - Archive of obsolete content
swordrealm, savepassword, pwd) { pwd.value = hardcodedpassword; return true; }, promptusernameandpassword: function(dialogtitle, text, passwordrealm, savepassword, user, pwd) { user.value = hardcodedusername; pwd.value = hardcodedpassword; return true; } }; persist.saveuri(urltosave, null, null, null, "", nsfileinstance, privacy); the above is going to give you errors about missing nsidownloadprogresslistener methods, so you should implement that as well.
... for example, with empty dummy methods if you are not interested about the progress.
HTML to DOM - Archive of obsolete content
; frame.webnavigation.allowjavascript = false; frame.webnavigation.allowmetaredirects = true; frame.webnavigation.allowplugins = false; frame.webnavigation.allowsubframes = false; // listen for load frame.addeventlistener("load", function (event) { // the document of the html in the dom var doc = event.originaltarget; // skip blank page or frame if (doc.location.href == "about:blank" || doc.defaultview.frameelement) return; // do something with the dom of doc alert(doc.location.href); // when done remove frame or set location "about:blank" settimeout(function (){ var frame = document.getelementbyid("sample-frame"); // remove frame // frame.destroy(); // if using browser element instead of iframe frame.parentnode.removechild...
...(frame); // or set location "about:blank" // frame.contentdocument.location.href = "about:blank"; },10); }, true); } // load a page frame.contentdocument.location.href = "http://www.mozilla.org/"; // or // frame.webnavigation.loaduri("http://www.mozilla.org/",components.interfaces.nsiwebnavigation,null,null,null); if you are starting with an html string, you can convert it to a data uri and use that to load in the browser element.
JavaScript Daemons Management - Archive of obsolete content
about the “callback arguments” polyfill in order to make this framework compatible with internet explorer (which doesn't support sending additional parameters to timers' callback function, neither with settimeout() or setinterval()) we included the ie-specific compatibility code (commented code), which enables the html5 standard parameters' passage functionality in that browser for both timers (po...
... mydaemon.forceposition(index) sets the internal index property equal to the index argument without any kind of control about the range.
Displaying web content in an extension without security issues - Archive of obsolete content
this means for example that javascript code top.location.href = "about:blank" will only unload the content document but won’t have any effect on the chrome.
...it won’t harm disabling everything else as well unless it is really required: frame.docshell.allowauth = false; frame.docshell.allowimages = false; frame.docshell.allowjavascript = false; frame.docshell.allowmetaredirects = false; frame.docshell.allowplugins = false; frame.docshell.allowsubframes = false; but what about interactivity, for example if you want a certain reaction to mouse clicks?
Extension Packaging - Archive of obsolete content
every extension must provide an install.rdf file, which contains metadata about the extension, such as its unique id, version, author, and compatibility information.
... official references for toolkit api structure of an installable bundle: describes the common structure of installable bundles, including extensions, themes, and xulrunner applications extension packaging: specific information about how to package extensions theme packaging: specific information about how to package themes multiple-item extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration printing in xul apps ...
How to convert an overlay extension to restartless - Archive of obsolete content
requirements first off, what kind of add-on are we talking about here?
...it does still work if you don't have restartlessness to worry about, though the protocol (or scheme, or whatever term you prefer) really should be avoided at this point.
Migrating from Internal Linkage to Frozen Linkage - Archive of obsolete content
for errors about undeclared do_createinstance: #include "nscomponentmanagerutils.h" for errors about undeclared do_getservice: #include "nsservicemanagerutils.h" for errors about undeclared ns_getspecialdirectory: #include "nsdirectoryserviceutils.h" utility classes some utility classes could previously be created with ns_new* utility functions.
...nichar str[] = {'f','o','o','\0'}; - pruint32 len = nscrt::strlen(str); + pruint32 len = ns_strlen(str); - #include "nscrt.h" + #include "nsmemory.h" + #include "nscrtglue.h" prunichar* anotherstr = (prunichar*) ns_alloc(100 * sizeof(prunichar)); - prunichar *str = nscrt::strdup(anotherstr); - nscrt::free(str); + prunichar *str = ns_strdup(anotherstr); + ns_free(str); linking for information about the correct libraries to link to when using frozen linkage, see xpcom glue.
Chapter 2: Technologies used in developing extensions - Archive of obsolete content
figure 1: role of each technology in firefox in addition to these technologies, extension development will require you to learn about how to confer privileges to overcome security restrictions on code that you write, and how to embed your code into the firefox ui.
...to learn more about the dom, please take a look at the mdc documentation.
Adding menus and submenus - Archive of obsolete content
instead of setting the menupopup directly in the xul, you can use the onpopupshowing event to fill the children when the popup is about to be displayed.
...here's a list of the known issues we've run into when handling menus on mac: the about, preferences and quit menu items are located under the "firefox" menu, not the usual places you would find them.
Appendix A: Add-on Performance - Archive of obsolete content
note: see the newer article performance best practices in extensions for more up-to-date information about how to optimize the performance of your add-on.
...if your add-on is too simple for jsm, don’t worry about it.
Connecting to Remote Content - Archive of obsolete content
you would of course need to be very careful about escaping characters and protecting yourself against sql injection attacks.
...you can discover some interesting things about firefox like this, such as the automatic update urls for extensions, and the behavior of web applications such as gmail.
Security best practices in extensions - Archive of obsolete content
many of the items talked about so far in this document apply in this sphere, but here are some additional tips: api providers should use the https protocol, which provides better protection for data passed over the network.
...this article is about websites, but gives some insights into the general risks.
Updating addons broken by private browsing changes - Archive of obsolete content
idls nsitransferable: see using the clipboard for information about the new init method.
...the supporting per-window private browsing article explains further about the equivalent notifications, which are all backwards compatible through to firefox 12 (and are sent side-by-side with the global private browsing notifications in older versions).
Using Dependent Libraries In Extension Components - Archive of obsolete content
we don't care about that either.
... we don't care about that either.
Index of archived content - Archive of obsolete content
windows xml-related code snippets xml:base support in old browsers xpath getattributens common pitfalls communication between html and your extension creating custom firefox extensions with the mozilla build system custom about: urls default preferences deploying a plugin as an extension developing add-ons displaying web content in an extension without security issues downloading json and javascript in extensions enhanced extension installation extension etiquette extension library extension packaging extension samples ...
...events in firefox extensions migrating from internal linkage to frozen linkage migrating raw components to add-ons multiple item extension packaging offering a context menu for form controls overlay extensions firefox addons developer guide appendix: what you should know about open-source software licenses chapter 1: introduction to extensions chapter 2: technologies used in developing extensions chapter 3: introduction to xul—how to build a more intuitive ui chapter 4: using xpcom—implementing advanced processes chapter 5: let's build a firefox extension chapter 6: firefox extensio...
Defining Cross-Browser Tooltips - Archive of obsolete content
on the other hand, the html 4.01 definition of the title attribute states: title = text cs this attribute offers advisory information about the element for which it is set.
... unlike the title element, which provides information about an entire document and may only appear once, the title attribute may annotate any number of elements.
Images, Tables, and Mysterious Gaps - Archive of obsolete content
this placement can be changed with vertical-align-- we'll talk about that in a bit-- but almost nobody ever changes the value from its default.
... how about a fix?
Installing plugins to Gecko embedding browsers on Windows - Archive of obsolete content
you now have information about the plugins directory for gecko embedding browsers.
...hkey_local_machine\software\mozilla\netscape 6 6.1\bin\ access the pathtoexe value and value-data pair, e.g: pathtoexe=c:\program files\netscape\netscape 6\netscp6.exe you now have information about the location of the exe on windows for gecko embedding browsers.
Notes on HTML Reflow - Archive of obsolete content
when reflow begins, the root reflow state is initialized with information about the top-level container for the document's presentation; e.g., the width and height of the application window.
...a frame requests a incremental reflow (or one is requested on a frame's behalf) when something about the frame itself has changed.
Using content preferences - Archive of obsolete content
var value = prefservice.getpref(uri, "devmo.somesetting"); built-in site-specific preferences preference name menu equivalent values notes browser.content.full-zoom view / zoom example: "1.10000002384186" (rounding variant of "1.1") related about:config preferences: browser.zoom.full boolean, set by the menu item view / zoom / zoom text only.
... browser.zoom.sitespecific toolkit.zoommanager.zoomvalues zoom.maxpercent and zoom.minpercent browser.download.lastdir path of a filesystem directory related about:config preferences: browser.download.lastdir the last directory for any site use downloadlastdir.jsm for access to these preferences.
Autodial for Windows NT - Archive of obsolete content
"what's a system service" they might ask when told about how autodial is supposed to work now.
...there also has been some confusion about what online/offline means.
Compiling The npruntime Sample Plugin in Visual Studio - Archive of obsolete content
8.3?) and copy it in mozilla's "plugins" folder start mozilla and open about:plugins to verify the plugin is detected open the file "test.html" and begin testing.
... visual c++ 2008 express don't support c99 standard about int32_t, uint32_t.
Enabling the behavior - updating the status periodically - Archive of obsolete content
this allows users to get relatively frequent updates about tinderbox without overloading the tinderbox server or slowing down mozilla with requests.
... our code is now ready to run, but mozilla doesn't know about it yet.
Making it into a dynamic overlay and packaging it up for distribution - Archive of obsolete content
ss.png"); } statusbarpanel#tinderbox-status[status="testfailed"] { list-style-image: url("chrome://tinderstatus/content/tb-testfailed.png"); } statusbarpanel#tinderbox-status[status="busted"] { list-style-image: url("chrome://tinderstatus/content/tb-busted.png"); } then we need to create two files in the directory, one called contents.rdf which contains information for the chrome registry about the component being installed and one called install.js that contains the code to install the component.
... contents.rdf goes in the content sub-subdirectory: <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <rdf:seq about="urn:mozilla:package:root"> <rdf:li resource="urn:mozilla:package:tinderstatus"/> </rdf:seq> <rdf:description about="urn:mozilla:package:tinderstatus" chrome:displayname="mozilla tinderstatus extension" chrome:author="myk melez" chrome:name="tinderstatus" chrome:extension="true" chrome:description="displays tinderbox status for the mozilla codebase."> </rdf:description> <rdf:seq about="urn:mozilla:overlays"> <rdf:li resource="chrome://navigator/content/navigator.xul"/> </rdf:seq> <rdf:seq about="chrome://navigator/content/navigator.xul"> <rdf:...
Getting Started - Archive of obsolete content
<description about="urn:mozilla:install-manifest"> <em:id>{themes_uuid}</em:id> <em:version>themes_version</em:version> the first section requires that you establish a uuid for your theme and that you give your theme a version number.
...see install manifests for the reference information about the install.rdf file.
install.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "install.rdf": <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>author@oftheme.com</em:id> <em:version>2.0b1</em:version> <!-- seamonkey --> <em:targetapplication> <description> <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <em:minversion>2.0b1pre</em:minversion> <em:maxversion>2.0b2pre</em:maxversion> </description> </em:targetapplication> <!-- front end metadata --> <em:name>my_theme</em:name> <em:description>my first theme</em:description> <!-- front end integration hooks (used by th...
...eme manager)--> <em:creator>john johnson</em:creator> <em:contributor>john johnson</em:contributor> <em:homepageurl>https://mycoolskin.com/</em:homepageurl> <em:updateurl>https://mycoolskin.com/</em:updateurl> <em:abouturl>https://mycoolskin.com/</em:abouturl> <em:internalname>my_theme</em:internalname> </description> </rdf> ...
contents.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "contents.rdf": <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <!-- list all the skins being supplied by this theme --> <rdf:seq about="urn:mozilla:skin:root"> <rdf:li resource="urn:mozilla:skin:myskin/1.0" /> </rdf:seq> <rdf:description about="urn:mozilla:skin:myskin/1.0" chrome:displayname="my skin" chrome:accesskey="m" chrome:author="me" chrome:description="this is my custom skin for mozilla" chrome:name="myskin/1.0" chrome:image="preview.png"> <chrome:packages> <rdf:seq about="urn:mozilla:skin:myskin/1.0:packages"> <rdf:li resource="u...
...--> <rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:communicator"/> <rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:editor"/> <rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:global"/> <rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:messenger"/> <rdf:description chrome:skinversion="1.0" about="urn:mozilla:skin:myskin/1.0:navig...
Developing New Mozilla Features - Archive of obsolete content
talk to the developers about fixing some of their bugs.
... help the existing developers to understand that you are “for real” that you have a clue about mozilla development; that your team is going to ship a product.
Download Manager improvements in Firefox 3 - Archive of obsolete content
download manager interfaces nsidownloadmanager gives applications and extensions access to the download manager, allowing them to add and remove files to the download list, retrieve information about past and present downloads, and request notifications as to the progress of downloads.
... the download manager schema this article describes the database format used to store and track information about each download.
Downloading Nightly or Trunk Builds - Archive of obsolete content
the same machines produce about every 24 hours a "nightly" build which can be downloaded by anyone if you know where to get it: these are the nightly builds, and testers all over the world download them and test them, reporting as they go along on any bugs that hit them.
...if one has questions about the way a particular nightly was built, the best way to get that information is to download the executable, launch it, and then go to the "about:buildconfig" page, by typing this into the location bar.
Code snippets - Archive of obsolete content
to access a chrome-privileged console, open an about page (like about:about) then open a web console via the web developer menu.
...+ collection, recordtype); coll.full = true; coll.limit = null; coll.recordhandler = function(item) { item.collection = collection; item.decrypt(); if (item.deleted) { deleted++; } else { items[item.type] = 1 + (items[item.type] || 0); } }; coll.get(); console.log("deleted: " + deleted + ", " + json.stringify(items)); get a log from xul fennec view about:sync-log.
Makefile.mozextension.2 - Archive of obsolete content
u {136c295a-4a5a-41cf-bf24-5cee526720d5} #mozilla suite {86c18b42-e466-45a9-ae7a-9b95ba6f5640} #seamonkey {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} #sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28} #netscape browser {3db10fab-e461-4c80-8b97-957ad5f8ea47} ###### define install_rdf <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <id>$(project_id)</id> <name>$(project_name)</name> <version>$(project_version)</version> <description>$(project_desc)</description> <creator>$(project_author)</creator> <contributor>here is a place for you who helped me</contributor> <homepageurl>http://$(project).mozdev.org/</homepageurl> <optionsurl>chrome://$(project)/content/settings.xul</optionsurl> <about...
...url>chrome://$(project)/content/about.xul</abouturl> <iconurl>chrome://$(project)/skin/mainicon.png</iconurl> <updateurl>http://$(project).mozdev.org/update.rdf</updateurl> <type>2</type> <targetapplication> <description> <id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id> <minversion>2.0</minversion> <maxversion>9.0</maxversion> </description> </targetapplication> </description> </rdf> endef export install_rdf install.rdf: @echo generating $(project)/install.rdf @echo "$$install_rdf" > $(project)/install.rdf ###### define overlay_xul <overlay id="$(project)-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><script src="overlay.js"/></overlay> ...
Message Summary Database - Archive of obsolete content
the mail summary files (.msf) are used to store summary information about messages and threads in a folder, and some meta information about the folder.
...mdb is a schema-less db interface, so it's trivial to add new attributes without regenerating the db, and it's trivial for older code to read newer databases, because the code can ignore but maintain the attributes it doesn't know about.
Metro browser chrome tests - Archive of obsolete content
a simple test looks like this: gtests.push({ desc: "test loading about:blank", setup: function () { }, teardown: function () { }, run: function () { yield addtab("about:blank"); is(tab.browser.currenturi.spec, "about:blank", "about:blank is loaded"); } }); function test() { runtests(); } gtests contains individual tests that make up the library of tests your test file will contain.
...be careful about changing existing helpers as changes may impact tests in other libraries.
New Skin Notes - Archive of obsolete content
--dria how about modifying style for the side-bar to have a :hover class added which modifies (to a slightly lighter shade) the background color of the link, this will help to make items "appear as links" to many users, possibly add a text-decoration: underline as well.
...also see about improving accessibility of default skin.
RDF Datasource How-To - Archive of obsolete content
the "rdf universe" consists of a set of statements about internet resources; for example, "my home page was last modified april 2nd", or "that news article was sent by bob".
...this can be useful if your datasource is "read-only", and you aren't worried about modification using assert(), etc.
Tamarin Build System Documentation - Archive of obsolete content
the compile phase takes about 20-25 minutes.
... the smoke test including downloading the shell takes about 3-4 minutes.
The life of an HTML HTTP request - Archive of obsolete content
nsicontent::appendchild() is used to build the content tree but appendchild takes a "anotify" argument that marks if it should notify the document about the content model changes or not.
...the content sink tells the document about content model changes (notifybody()) in places like nshtmlcontentsink::willinterrupt() and nshtmlcontentsink::didbuildmodel().
URIScheme - Archive of obsolete content
and the size number by 1 to 127 mailto:emailaddress@domain.com about: chrome:// ...
... about: about: about:config about:crashes about:mozilla about:plugins about:robots ...
Venkman Internals - Archive of obsolete content
if the file is not currently loaded, the js engine doesn't know anything about the file.
... scriptwrapper newsgroup, 2002, rgrinda here is a bit more information about how venkman tracks files and functions...
Using Breakpoints in Venkman - Archive of obsolete content
using breakpoints to debug when you set a breakpoint, you give venkman (or whatever debugger you're using) the opportunity to display information about the execution environment.
... for more information about the sorts of actions you can take in venkman when you're at a breakpoint, see the debugging basics section of the introductory venkman article.
Video presentations - Archive of obsolete content
the mozilla community (part 1, part 2) this presentation talks about the mozilla community and how you can get involved smoothly.
... (as quicktime; 170 mb and 80 mb) mozilla-seneca projects q&a with mike shaver (part 1, part 2) mike shaver answers questions about the mozilla project.
addDirectory - Archive of obsolete content
a relative pathname is appended to the registry name of the package as specified by the package parameter to the initinstall method.this parameter can also be null, in which case the xpisourcepath parameter is used as a relative pathname.note that the registry pathname is not the location of the software on the computer; it is the location of information about the software inside the client version registry.
...also see the note about binaries on the macintosh platform in addfile.
addFile - Archive of obsolete content
ublic int addfile ( string registryname, string xpisourcepath, object localdirspec, string relativelocalpath); public int addfile ( string registryname, string version, string xpisourcepath, object localdirspec, string relativelocalpath); parameters the addfile method has the following parameters: registryname the pathname in the client version registry about the file.
...this parameter can also be null, in which case the xpisourcepath parameter is used as a relative pathname.note that the registry pathname is not the location of the software on the machine; it is the location of information about the software inside the client version registry.
Dynamically modifying XUL-based user interface - Archive of obsolete content
you may also want to read some introductory documents about dom, like the about the document object model article or the introduction page of the gecko dom reference.
...(read more about this in working with windows in chrome code.) when your script is included using a <script> tag, the document property references the dom document that includes the script.
XUL Events - Archive of obsolete content
event is executed when a <menu> or a <menuitem> has been hovered or highlighted.dommenuiteminactivethe dommenuiteminactive event is executed when a <menu> or a <menuitem> in no longer hovered or highlighted.popuphiddenthe popuphidden event is executed when a <menupopup>, <panel> or <tooltip> has become hidden.popuphidingthe popuphiding event is executed when a <menupopup>, <panel> or <tooltip> is about to be hidden.popupshowingthe popupshowing event is executed when a <menupopup>, <panel> or <tooltip> is about to become visible.
... attribute: onpopuphidden popuphiding this event is sent to a popup when it is about to be hidden.
Introduction to XUL - Archive of obsolete content
but proper ui descriptions which take into account various platforms' differing ideas about proper placement of such things as dialog buttons will require some platform-specific work.
...our current code tends not to be strict about enforcing this, especially for tags and attributes in the html namespace.
Special per-platform menu considerations - Archive of obsolete content
aboutseparator the separator just before the about item.
... aboutname the item which opens the about dialog for the application.
Tooltips - Archive of obsolete content
tooltips a tooltip is used to provide descriptive help to the user about the control that the mouse is over.
...this is a useful means of providing additional details about a user interface without cluttering up the main interface.
Printing from a XUL App - Archive of obsolete content
this document will talk about printutils, and the ways that xul applications can trigger print-related behaviors.
... structure of an installable bundle: describes the common structure of installable bundles, including extensions, themes, and xulrunner applications extension packaging: specific information about how to package extensions theme packaging: specific information about how to package themes multiple-item extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration printing in xul apps ...
Additional Navigation - Archive of obsolete content
<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:r="http://www.xulplanet.com/rdf/"> <rdf:seq rdf:about="http://www.xulplanet.com/rdf/myphotos"> <rdf:li rdf:resource="http://www.xulplanet.com/ndeakin/images/t/palace.jpg"/> <rdf:li rdf:resource="http://www.xulplanet.com/ndeakin/images/t/canal.jpg"/> <rdf:li rdf:resource="http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg"/> </rdf:seq> <rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/palace.jpg" ...
... dc:title="palace from above"> <r:country resource="http://www.daml.org/2001/09/countries/iso#it"/> </rdf:description> <rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/canal.jpg" dc:title="canal"> <r:country resource="http://www.daml.org/2001/09/countries/iso#nl"/> </rdf:description> <rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg" dc:title="obelisk"> <r:country resource="http://www.daml.org/2001/09/countries/iso#it"/> </rdf:description> <rdf:description about="http://www.daml.org/2001/09/countries/iso#it" dc:title="italy"/> <rdf:description about="http://www.daml.org/2001/09/countries/iso#nl" dc:title="netherlands"/> </rdf:rdf>...
Simple Example - Archive of obsolete content
<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:seq rdf:about="http://www.xulplanet.com/rdf/myphotos"> <rdf:li rdf:resource="http://www.xulplanet.com/ndeakin/images/t/palace.jpg"/> <rdf:li rdf:resource="http://www.xulplanet.com/ndeakin/images/t/canal.jpg"/> <rdf:li rdf:resource="http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg"/> </rdf:seq> <rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/palace.jpg" dc:title="palace from above"/> ...
...<rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/canal.jpg" dc:title="canal"/> <rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/obelisk.jpg" dc:title="obelisk"/> </rdf:rdf> in this example, we have three images, which can be identified by urls.
Sorting Results - Archive of obsolete content
here is a sample of how to specify this in the rdf/xml datasource: <rdf:rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:r="http://www.xulplanet.com/rdf/" xmlns:nc="http://home.netscape.com/nc-rdf#"> <rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/palace.jpg"> <r:date nc:parsetype="date">1125966767295<r:date> </rdf:description> </rdf:rdf> you can also specify parsetype="integer" for numbers which will allow sorting numerically.
...for instance: <treecol id="name" label="name" sort="rdf:http://purl.org/dc/elements/1.1/title" flex="1"/> note that all of this discussion about sorting only applies to tree builders.
Using Multiple Queries to Generate More Results - Archive of obsolete content
if we add the following data about people to the neighbourhood datasource: <rdf:description rdf:about="http://www.xulplanet.com/rdf/myneighbourhood"> <r:people> <rdf:seq> <rdf:li rdf:resource="http://www.xulplanet.com/rdf/person/1"/> <rdf:li rdf:resource="http://www.xulplanet.com/rdf/person/2"/> </rdf:seq> </r:people> </rdf:description> <rdf:description rdf:about="http://www.xulplanet.co...
...m/rdf/person/1" dc:title="nathan"/> <rdf:description rdf:about="http://www.xulplanet.com/rdf/person/2" dc:title="karen"/> we can then use two queries to generate results from different parts of the datasource.
Toolbars - Archive of obsolete content
the following articles provide details about implementing and working with toolbars.
... mailing list newsgroup rss feed #extdev irc channel mozillazine forum about:addons newsletter mozilla's web-tech blog mozdev project owners planet mozilla other community links...
Tree Widget Changes - Archive of obsolete content
this object implements the nsitreecolumn interface and holds information about a single column in the tree.
...from there you can get specific columns, the current sort column, and position and size info about the columns.
Commands - Archive of obsolete content
however, a command has the advantage that it can be disabled when needed and can be invoked without needing to know about the details of its implementation.
...(see discussion about opening this example).
More Event Handlers - Archive of obsolete content
if a capturing event stops the event propagation, none of the later capturing listeners, nor any of the bubbling listeners will ever receive notification about the events.
...we'll learn more about the box object in a later section, but it holds information pertaining to how the element is displayed, including the x and y position of the element.
Persistent Data - Archive of obsolete content
one possibility would be to write a script to collect information about what you would like to save and then save it to a file.
...it holds state information about each window.
Skinning XUL Files by Hand - Archive of obsolete content
this needs rewording: , which, like the windows registry, is a database in which information about a user's software and environment can be recorded and accessed as necessary.
...xul represents, as one evangelist put it, the "democratization" of interface design and ofapplications development, about which we will have more to say in a later article.
Updating Commands - Archive of obsolete content
you will need to think about when a command is valid and when it is not.
...note that the command updater will receive notifications about all focus events on all elements, even if other event handlers respond to the event.
Using Remote XUL - Archive of obsolete content
in our case, the iframe will be the only flexible element in our document, so we don't have to worry about its value and give it a standard value of 1.
... [optionally add something about how flex only applies to one axis] note that for remote xul documents you can see changes you make to the ui by reloading the document with your browser's "reload" function, just as with a typical html page.
Using nsIXULAppInfo - Archive of obsolete content
note: nsixulappinfo provides information about the application and the platform, be careful to use the right one, especially when dealing with xulrunner-based applications.
... platform version nsixulappinfo provides version information about both the xul application (such as firefox) and the platform (i.e.
XULBrowserWindow - Archive of obsolete content
defaults to about:addons but extensions can append specific urls to the array.
...by default, chrome is hidden for about:addons and any other pages in the in content whitelist.
XUL Event Propagation - Archive of obsolete content
events are used for different purposes, but they play a particularly important role in creating interactive xul-based user interfaces, since it is events that bring the information about user actions to the code behind the interface.
...any element that is interested in the event -- any part of the interface, in other words, that needs to know about and respond to the user's click action on the button -- "handles" the event with an event handler, or chunk of code to be executed when the given event is "heard".
dialog - Archive of obsolete content
help: a help button for displaying help about the dialog.
... help: a help button for displaying help about the dialog.
menupopup - Archive of obsolete content
item 1"/> <menuitem label="submenu1 item 2"/> </menupopup> </menu> <menu id="submenu2" label="submenu 1"> <menupopup id="submenu2-popup"> <menuitem label="submenu2 item 1"/> <menuitem label="submenu2 item 2"/> </menupopup> </menu> <menupopup/> onpopuphiding type: script code this event is sent to a popup when it is about to be hidden.
... hiding: the popup is about to be hidden.
panel - Archive of obsolete content
ArchiveMozillaXULpanel
item 1"/> <menuitem label="submenu1 item 2"/> </menupopup> </menu> <menu id="submenu2" label="submenu 1"> <menupopup id="submenu2-popup"> <menuitem label="submenu2 item 1"/> <menuitem label="submenu2 item 2"/> </menupopup> </menu> <menupopup/> onpopuphiding type: script code this event is sent to a popup when it is about to be hidden.
... hiding: the popup is about to be hidden.
tooltip - Archive of obsolete content
item 1"/> <menuitem label="submenu1 item 2"/> </menupopup> </menu> <menu id="submenu2" label="submenu 1"> <menupopup id="submenu2-popup"> <menuitem label="submenu2 item 1"/> <menuitem label="submenu2 item 2"/> </menupopup> </menu> <menupopup/> onpopuphiding type: script code this event is sent to a popup when it is about to be hidden.
... hiding: the popup is about to be hidden.
Deploying XULRunner - Archive of obsolete content
other executables and libraries the core changes to xul and gecko that require this new file layout were implemented in gecko 34, except that the xulrunner application was not updated to know about the change, so it will report an error: "unable to load xpcom." xulrunner was fixed in gecko 39.
... see this blog post for additional background about this change.
Using LDAP XPCOM with XULRunner - Archive of obsolete content
see the build_documentation for more information about how to build xulrunner.
...we don't care about that either.
XULRunner tips - Archive of obsolete content
window url window type extension manager chrome://mozapps/content/extensions/extensions.xul?type=extensions extension:manager-extensions theme manager chrome://mozapps/content/extensions/extensions.xul?type=themes extension:manager-themes javascript console chrome://global/content/console.xul global:console about:config chrome://global/content/config.xul developer extensions venkman need a custom build or a compatible extension need to edit compatibility in needs a method to start venkman (usually by overlaying the main xul file, similar to existing code for firefox, suite, etc.) the function toopenwindowbytype() needs to be defined.
...in addition, a branding content package must be registered to include the application logos: content branding chrome/branding/ 3 files should be provided in this folder: about.png, icon48.png and icon64.png.
2006-11-17 - Archive of obsolete content
firefox 2.0 javascript popup issue user seeks advice about a line of javascript code that worked in firefox 1.5.0.x, but not in firefox 2.0 balloon help user inquires if anyone can explain how to disable the balloon help in firefox 2.0.
... two questions: (1) launching a separate intance of firefox.exe, and (2) programmatically closing a window user has two questions about using adobe flex builder debugger in firefox 2.0.
2006-10-27 - Archive of obsolete content
discussions effect of eudora/thunderbird re-write joes is voicing a concern about the recent announcement regarding the eudora/thunderbird rewrite: "is thunderbird destined to become a hybrid of the existing code and eudora?".
... calling tb with a specific message to be displayed there's a new question by guenter about calling tb from an external program (eg.
2006-10-20 - Archive of obsolete content
summary: mozilla.dev.builds - october 14th to october 20th 2006 linux reference platform 1.8.1 october 18th: marcus is wondering about the linux platform that is currently used to compile both public releases of firefox and xulrunner.
...paul reed's post: robert kaiser shared the following information about comet and btek machines: comet and btek are used as machines that upload nightly gtk1 builds.
Extentsions FAQ - Archive of obsolete content
there's a bug in bugzilla about stacking other widgets on top of browser/iframe, which hopefully will be fixed for gecko 1.9.
... asking about the feasibility of making an extension that has the same functionality as “trace route”.
2006-12-01 - Archive of obsolete content
discussions convert ooo .dic to .xpi convert ooo .dic to .xpi mozillatranslator and sourceforge.net about the best way to organize things creating a <locale>.jar file from the cvs structure discussion on how to package a <locale>.jar from the cvs structure without having to download the entire mozilla source.
...there's a question about the roles of peer in the team meetings none for this week.
2006-11-10 - Archive of obsolete content
summary: mozilla.dev.platform - november 4th - november 10th, 2006 announcements no announcements this week traffic beaufour moves the discussion about xulrunner unit-tests like xpcshell from mozilla.dev.platform to mozilla.dev.quality.
... 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-10-20 - Archive of obsolete content
discussion about the missing ability to list and search all the events in a calendar in lightning 0.3.
... location of files discussion about where are the calendar files stored and can they be moved.
contents.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "contents.rdf": <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <!-- list all the skins being supplied by this theme --> <rdf:seq about="urn:mozilla:skin:root"> <rdf:li resource="urn:mozilla:skin:my_theme"/> </rdf:seq> <rdf:description about="urn:mozilla:skin:my_theme" chrome:displayname="my theme" chrome:accesskey="n" chrome:author="" chrome:authorurl="" chrome:description="" chrome:name="my_theme" chrome:image="preview.png"> <chrome:packages> <rdf:seq about="urn:mozilla:skin:my_theme:packages"> <rdf:li resource="urn:mozilla:skin:my_th...
...--> <rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:browser"/> <rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:communicator"/> <rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:global"/> <rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:mozapps"/> <rdf:description chrome:skinversion="1.5" about="urn:mozilla:skin:my_theme:help"/> </rdf:rd...
install.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "install.rdf": <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>{themes_uuid}</em:id> <em:version>themes_version</em:version> <!-- target application this extension can install into, with minimum and maximum supported versions.
...f_version</em:maxversion> </description> </em:targetapplication> <!-- front end metadata --> <!-- my_theme --> <em:name>my_theme</em:name> <em:description>my_theme</em:description> <em:creator>your_name</em:creator> <em:contributor>contributors_names</em:contributor> <em:homepageurl>themes_homepage</em:homepageurl> <em:updateurl> url_of_update_location </em:updateurl> <em:abouturl> url_of_about_page </em:abouturl> <!-- front end integration hooks (used by theme manager)--> <em:internalname>my_theme</em:internalname> </description> </rdf> ...
Developing cross-browser and cross-platform pages - Archive of obsolete content
it requires from the web author to make assumptions about what will happen with future browsers or to decide to provide future browsers a safe fallback service.
...with this approach, you ensure that all browsers -- including future releases and browsers whose useragent strings you do not know about -- will continue working with your code.
Using workers in extensions - Archive of obsolete content
if there is no data field, the refreshinformation() method is called to fetch the latest information about the stock and pass it back to the main thread.
... a note about chromeworkers requires gecko 2.0(firefox 4 / thunderbird 3.3 / seamonkey 2.1) gecko 2.0 added the new chromeworker object, which provides a special chrome-only worker that can be used by applications and extensions.
New in JavaScript - Archive of obsolete content
this chapter contains information about javascript's version history and implementation status for mozilla/spidermonkey-based javascript applications, such as firefox.
... ecmascript versions language resources learn more about the ecmascript standards on which the javascript language is based on.
RDF: Resource Description Framework for metadata - Archive of obsolete content
ArchiveWebRDF
the rdf metadata model is based upon the idea of making statements about resources in the form of a subject-predicate-object expression, called a triple in rdf terminology.
...the predicate is a trait or aspect about that resource, and often expresses a relationship between the subject and the object.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
} // define the namespaces, first the default, // then additional namespaces default xml namespace = "http://purl.org/rss/1.0/"; var dc = new namespace( "http://purl.org/dc/elements/1.1/" ); var rdf = new namespace( "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ); // use e4x to process the feed var x = new xml( str ); for each( var i in x..item ) { print( "title: " + i.title + "\n" ); print( "about: " + i.@rdf::about + "\n" ); print( "link: " + i.link + "\n" ); print( "date: " + i.dc::date + "\n" ); } the first half of this script is standard java code used to retrieve the feed data.
...notice during the processing of the item element where we use the rdf and dc namespace to access the about attribute of the item element, and the date element respectively.
background-size - Archive of obsolete content
it's hard to get reliable information about its css support without having this browser (read: multiple versions of this browser) installed.
... i tried locating the part of the spec about <body>'s background extending to <html> but it didn't seem to be explicitly mentioned in the cascading and inheritance section and both the background-image and border-image say 'inherited: no'.
XForms Custom Controls - Archive of obsolete content
please keep in mind that just about everything we mention here may change to some degree as we continue to work on it.
...to give you an idea of what we are talking about, it could look something like this: <content> <xf:input xbl:inherits="ref=ref1" anonid="ref1"/> <xf:input xbl:inherits="ref=ref2" anonid="ref2"/> </content> <implementation> <method name="refresh"> <body> // here we should refresh custom control.
RDF in Mozilla FAQ - Archive of obsolete content
statements about the same rdf resource can then be intermingled: for example, the "last visit date" of a particular website comes from the "browser global history" datasource, and the "shortcut keyword" that you can type to reach that website comes from the "browser bookmarks" datasource.
...in fact, you can change anything about a template using the w3c dom apis.
The Business Benefits of Web Standards - Archive of obsolete content
instead of worrying about each engine and attempting to artificially manipulate the results, web standards pages index and rank properly (where they deserve to) across all search engines.
... assumptions about the user and their platform based on erroneous thinking about the anticipated user community are inevitably always wrong.
Publishing games - Game development
game distribution provides all you need to know about the ways you can distribute your newly created game into the wild — including hosting it yourself online, submitting it to open marketplaces, and submitting it to closed ones like google play or the ios app store.
...there are many game promotion techniques — many of them free — so even if you're struggling to make a living as an indie dev with zero budget you can still do a lot to let people know about your great new game.
Building up a basic demo with Babylon.js - Game development
creating a camera now the setup code is in place we need to think about implementing the standard scene components: camera, light and objects.
...the good thing about objects is that we can move them on the scene however we want, for example rotating and scaling.
Building up a basic demo with the PlayCanvas engine - Game development
app.setcanvasfillmode(pc.fillmode_fill_window); app.setcanvasresolution(pc.resolution_auto); camera now when the setup code is in place we need to think about implementing the standard scene components: camera, lights and objects.
...let's move the cube 2 units to the left to make space for some friends — add the following line just below the previous code: box.translate(-2, 0, 0); now let's add a new shape — how about a cylinder?
Building up a basic demo with Three.js - Game development
50 feels about right.
...the good thing about objects, is that we can move them on the scene, however we want.
GLSL Shaders - Game development
the calculations result in a variable containing the information about the rgba color.
... note: you can learn more about model, view, and projection transformations from the vertex processing paragraph, and you can also check out the links at the end of this article to learn more about it.
WebVR — Virtual Reality for the Web - Game development
get the devices to get information about devices connected to your computer, you can use the navigator.getvrdevices method: navigator.getvrdevices().then(function(devices) { for (var i = 0; i < devices.length; ++i) { if (devices[i] instanceof hmdvrdevice) { ghmd = devices[i]; break; } } if (ghmd) { for (var i = 0; i < devices.length; ++i) { if (devices[i] instanceof positionsensorvrdevice && ...
... boris smus has written about the concept of responsive webvr, where a single web game can be played on various devices like laptops without vr hardware, pcs with oculus rift, or smartphones inside google cardboard and still deliver a unique and valuable experience across all of them.
Mobile touch controls - Game development
the good thing about using phaser is that it offers helper variables and functions for easier and faster development, but it's entirely up to you which approach you to choose.
...the pointer variable will contain the information about the pointer that activated the event.
Bounce off the walls - Game development
the code above would deal with the ball bouncing off the top edge, so now let's think about the bottom edge: if(y + dy > canvas.height) { dy = -dy; } if the ball's y position is greater than the height of the canvas (remember that we count the y values from the top left, so the top edge starts at 0 and the bottom edge is at 320 pixels, the canvas' height), then bounce it off the bottom edge by reversing the y axis movement as before.
... bouncing off the left and right we have the top and bottom edge covered, so let's think about the left and right ones.
Paddle and keyboard controls - Game development
from that you can get useful information: the key holds the information about the key that was pressed.
... the paddle moving logic we've now set up the variables for storing the info about the pressed keys, event listeners, and relevant functions.
Visual-js game engine - Game development
014 tappali ekanathan keestu (keestu@gmail.com) gnu general public license obj loader : https://github.com/frenchtoast747/webgl-obj-loader textures download from http://textures.com more texture downloads http://www.textures4photoshop.com/ female body v3.blend this file has been released by andrescuccaro under the following license: creative commons attribution 3.0 about gui for windows (canvas2d part only) : windows gui application version 1.0 (using visual-js 0.9 lib) important : you will need net 4.5.2 minimum also redistribution pack for c++ how to start project ?
... online demo examples at : https://jsfiddle.net/user/zlatnaspirala/fiddles/ demo slot mashine basic demo at : https://jsfiddle.net/zlatnaspirala/7d0d8v6d/ help about new 2d part - implementation of matter.js based typescript .
CSS pixel - MDN Web Docs Glossary: Definitions of Web-related terms
as such, it generally suffices to say that when the unit px is used, the goal is to try to have the distance 96px equal about 1 inch on the screen, regardless of the actual pixel density of the screen.
... learn more technical reference css values and units module, section 5.2: absolute lengths learn about it css length explained on the mdn hacks blog ...
Client hints - MDN Web Docs Glossary: Definitions of Web-related terms
basically, with the client hints header, the developer or application can tell the browser to advertise information about itself to the server, such as the device pixel ratio, the viewport width, and the display width.
... the client can then give the server information about the client's environment, and the server can determine which resources to send based on that information.
Fetch metadata request header - MDN Web Docs Glossary: Definitions of Web-related terms
a fetch metadata request header is a http request header that provides additional information about the context the request originated from.
... fetch metadata request headers provide the server with additional information about where the request originated from, enabling it to ignore potentially malicious requests.
Page load time - MDN Web Docs Glossary: Definitions of Web-related terms
in addition, web performance isn't just about when the load event happens.
... it's also about perceived performance, responsiveness, jank and jitter.
REST - MDN Web Docs Glossary: Definitions of Web-related terms
rest(representational state transfer) refers to a group of software architecture design constraints that bring about efficient, reliable and scalable distributed systems.
... learn about it restapitutorial.com restcookbook.com general knowledge rest on wikipedia rest architecture ...
Signature (functions) - MDN Web Docs Glossary: Definitions of Web-related terms
a signature can include: parameters and their types a return value and type exceptions that might be thrown or passed back information about the availability of the method in an object-oriented program (such as the keywords public, static, or prototype).
...a signature in javascript can still give you some information about the method: myobject.prototype.myfunction(value) the method is installed on an object called myobject.
Advanced styling effects - Learn web development
prerequisites: html basics (study introduction to html) and an idea of how css works (study css first steps.) objective: to get an idea about how to use some of the advanced styling effects available in modern browsers.
... the really nice thing about filters however, is that they work on the exact shapes of the content inside the box, not just the box itself as one big chunk, so it is worth knowing the difference.
Fundamental CSS comprehension - Learn web development
this could affect the values you need, although in this simple example this is not an issue.) other things to think about: you'll get bonus marks if you write your css for maximum readability, with a separate declaration on each line.
... when trying to work out the em value you need to represent a certain pixel length, think about what base font size the root (<html>) element has, and what it needs to be multiplied by to get the desired value.
Attribute selectors - Learn web development
previous overview: building blocks next as you know from your study of html, elements can have attributes that give further detail about the element being marked up.
... next steps now we are done with attribute selectors, you can continue on to the next article and read about pseudo-class and pseudo-element selectors.
Type, class, and ID selectors - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to learn about the different css selectors we can use to apply css to a document.
...for example, if i wanted to select the first child of any descendant element of <article> , no matter what element it was, and make it bold, i could use the :first-child selector, which we will learn more about in the lesson on pseudo-classes and pseudo-elements, as a descendant selector along with the <article> element selector: article :first-child { } this could be confused however with article:first-child, which will select any <article> element that is the first child of another element.
Styling tables - Learn web development
well, i say typical — most html table examples are about shoes, or the weather, or employees; we decided to make things more interesting by making it about famous punk bands from the uk.
... first of all, we've found a font on google fonts that is suitable for a table about punk bands.
Flexbox - Learn web development
you can always refer back to it if you get confused about any of the terms being used.
...let's talk about how this works in a bit more detail: by default, all flex items have an order value of 0.
Floats - Learn web development
cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> body { width: 90%; max-width: 900px; margin: 0 auto; font: .9em/1.2 arial, helvetica, sans-serif } .box { float: left; margin-right: 15px; width: 150px; height: 150px; border-radius: 5px; background-color: rgb(207,232,220); padding: 1em; } so let's think about how the float works — the element with the float set on it (the <div> element in this case) is taken out of the normal layout flow of the document and stuck to the left-hand side of its parent container (<body>, in this case).
... summary you now know all there is to know about floats in modern web development.
Grids - Learn web development
a fairly basic fact about the web is that you never really know how tall something is going to be; additional content or larger font sizes can cause problems with designs that attempt to be pixel perfect in every dimension.
... as many columns as will fit we can combine some of the things we have learned about track listing, repeat notation and minmax() to create a useful pattern.
Legacy layout methods - Learn web development
if you read our previous article about flexbox, you might think that flexbox is the ideal solution for creating a grid system.
... they also don’t respect the grid used by the items above because they don’t know anything about it.
Practical positioning examples - Learn web development
you won't need to understand the javascript itself at this stage, but you should think about learning some basic javascript as soon as possible — the more complex your ui features become, the more likely it is that you'll need some javascript to implement your desired functionality.
...we told you it was a hack.) you will learn a lot more about...
Responsive design - Learn web development
you can find out more about this approach to create a grid in the learn layout grids topic, under flexible grids with the fr unit.
...because mobile browsers tend to lie about their viewport width.
Getting started with CSS - Learn web development
previous overview: first steps next in this article we will take a simple html document and apply css to it, learning some practical things about the language along the way.
...when we talk about accessibility we are referring to the requirement for our webpages to be understandable and usable by everyone.
How CSS is structured - Learn web development
note: you will learn more about selectors in the next module: css selectors.
...mdn's css reference is a good resource for more information about any shorthand property.
Styling links - Learn web development
you can find more information about this problem (and solutions) at fighting the space between inline block elements.
... summary we hope this article has provided you with all you'll need to know about links — for now!
Styling lists - Learn web development
previous overview: styling text next lists behave like any other text for the most part, but there are some css properties specific to lists that you need to know about, and some best practices to consider.
...there are three properties you should know about to start with, which can be set on <ul> or <ol> elements: list-style-type: sets the type of bullets to use for the list, for example, square or circle bullets for an unordered list, or numbers, letters or roman numerals for an ordered list.
Web fonts - Learn web development
there are two important things to bear in mind about web fonts: browsers support different font formats, so you'll need multiple font formats for decent cross-browser support.
... using an online font service online font services generally store and serve fonts for you, so you don't have to worry about writing the @font-face code, and generally just need to insert a simple line or two of code into your site to make everything work.
How do you make sure your website works properly? - Learn web development
you won't see this much in your browser, but it's good to know about "301" since search engines use this information a lot to update their indexes.
...it's time to learn more about css.
How does the Internet work? - Learn web development
note: for the rest of this article, we will only talk about physical cables, but wireless networks work the same.
...but what about connecting hundreds, thousands, billions of computers?
What is the difference between webpage, website, web server, and search engine? - Learn web development
some are generic, some are specialized about certain topics.
...the distinction will help you quite a bit, but even some professionals speak loosely, so don't feel anxious about it.
Client-side form validation - Learn web development
summary client-side form validation sometimes requires javascript if you want to customize styling and error messages, but it always requires you to think carefully about the user.
... be permissive about the input format.
The HTML5 input types - Learn web development
as we mentioned earlier, the pattern attribute can be used to enforce constraints, which you'll learn about in client-side form validation.
...there are a few other control types that cannot be easily grouped together due to their very specific behaviors, but which are still essential to know about.
How to structure a web form - Learn web development
we'd love to hear about your experiences too.
...don't worry about this for now; you'll find out how they work in the next article (basic native form controls).
Sending form data - Learn web development
an http request consists of two parts: a header that contains a set of global metadata about the browser's capabilities, and a body that can contain information necessary for the server to process the specific request.
... if you've worked your way through these tutorials in order, you now know how to markup and style a form, do client-side validation, and have some idea about submitting a form.
Installing basic software - Learn web development
that looks like a scary list, but fortunately, you can get started in web development without knowing anything about most of these.
...you usually don't need to worry about making your web projects compatible with it, as very few people still use it — certainly don't worry too much about it while you are learning.
Tips for authoring fast-loading HTML pages - Learn web development
it allows for efficient page caching; by means of this header, information is conveyed to the user agent about the file it wants to load, such as when it was last modified.
...switching to lazy loading of images tells the browser to hold off on loading images until they're about to be needed to draw the visual viewport.
Advanced text formatting - Learn web development
the elements described in this article are less known, but still useful to know about (and this is still not a complete list by any means).
... here you'll learn about marking up quotations, description lists, computer code and other related text, subscript and superscript, contact information, and more.
Test your skills: Links - Learn web development
you'll get a bonus point if you also set it so that the subject line of the email is automatically filled in as "question about whales".
... links 3 the following links link to an info page about narwhals, a support email address, and a pdf factfile that is 4mb in size.
Images in HTML - Learn web development
if you are interested in more information about this, read the trials and tribulations of the title attribute by scott o'hara.
... note: you'll learn a lot more about css background images in our css topic.
Mozilla splash page - Learn web development
previous overview: multimedia and embedding in this assessment, we'll test your knowledge of some of the techniques discussed in this module's articles, getting you to add some images and video to a funky splash page all about mozilla!
... project brief in this assessment we are presenting you with a mostly-finished mozilla splash page, which aims to say something nice and interesting about what mozilla stands for, and provide some links to further resources.
Multimedia and Embedding - Learn web development
responsive images in this article, we'll learn about the concept of responsive images — images that work well on devices with widely differing screen sizes, resolutions, and other such features — and look at what tools html provides to help implement them.
... assessments the following assessments will test your understanding of the html basics covered in the guides above: mozilla splash page in this assessment, we'll test your knowledge of some of the techniques discussed in this module's articles, getting you to add some images and video to a funky splash page all about mozilla!
HTML Tables - Learn web development
LearnHTMLTables
coupled with a little css for styling, html makes it easy to display tables of information on the web such as your school lesson plan, the timetable at your local swimming pool, or statistics about your favorite dinosaurs or football team.
... this module takes you through all you need to know about structuring tabular data using html.
Structuring the web with HTML - Learn web development
to build websites, you should know about html — the fundamental technology used to define the structure of a webpage.
... after learning html, you can then move on to learning about more advanced topics such as: css, and how to use it to style html (for example alter your text size and fonts used, add borders and drop shadows, layout your page with multiple columns, add animations and other visual effects.) javascript, and how to use it to add dynamic functionality to web pages (for example find your location and plot it on a map, make ui elements appear/disappear when y...
Making asynchronous programming easier with async and await - Learn web development
the downsides of async/await async/await is really useful to know about, but there are a couple of downsides to consider.
... if you want to use async/await but are concerned about older browser support, you could consider using the babeljs library — this allows you to write your applications using the latest javascript and let babel figure out what changes if any are needed for your user’s browsers.
Build your own function - Learn web development
you'll learn a lot more about these in our later events article.
...in a real application, such a message box would probably be called in response to new data being available, or an error having occurred, or the user trying to delete their profile ("are you sure about this?"), or the user adding a new contact and the operation completing successfully, etc.
Looping code - Learn web development
previous overview: building blocks next programming languages are very useful for rapidly completing repetitive tasks, from multiple basic calculations to just about any other situation where you've got a lot of similar items of work to complete.
...we haven't explicitly illustrated this above, but we could think about the farmer being able to collect say 2 portions of food per hour.
JavaScript building blocks - Learn web development
function return values the last essential concept you must know about a function is return values.
... introduction to events events are actions or occurrences that happen in the system you are programming, which the system tells you about so you can respond to them in some way if desired.
Manipulating documents - Learn web development
active learning: basic dom manipulation to start learning about dom manipulation, let's begin with a practical example.
... how about we use an event so that the div resizes as we resize the window?
Third-party APIs - Learn web development
what about google maps?
... we are not going to say too much more about this example in the article — the source code has detailed comments inserted inside it to explain how it works.
Object prototypes - Learn web development
in the next article, we talk about the modern way of doing things, which provides easier syntax to achieve the same things — see ecmascript 2015 classes.
... think about this for a moment.
Web performance resources - Learn web development
below is a quick review of best practices, tools, apis with links to provide more information about each topic.
... quick wins css web performance is all about user experience and perceived performance.
Server-side website programming - Learn web development
in the modern world of web development, learning about server-side development is highly recommended.
... server-side website programming first steps this module provides technology-agnostic information about server-side website programming such as "what is it?", "how does it differ from client-side programming?", and "why is it useful?".
Ember Interactivity: Footer functionality, conditional rendering - Learn web development
along the way, we'll learn about using conditional rendering in our templates.
... objective: to continue our learning about components classes, start looking at conditional rendering, and wire up some of our footer functionality.
Ember app structure and componentization - Learn web development
testing is outside the scope of this tutorial, although generally testing should be implemented as you develop, rather than after, otherwise it tends to be forgotten about.
... if you're curious about testing, or why you would want to have automated tests, check out the official ember tutorial on testing.
Accessibility in React - Learn web development
objective: to learn about implementing keyboard accessibility in react.
... most of the time, you can be an effective contributor to a react project even if all you do is think carefully about components and their state and props.
React interactivity: Events and state - Learn web development
objective: to learn about handling events and state in react, and use those to start making the case study app interactive.
...update your newtask constant declaration to this: const newtask = { id: "todo-" + nanoid(), name: name, completed: false }; save everything, and try your app again — now you can add tasks without getting that warning about duplicate ids.
Componentizing our Svelte app - Learn web development
it will help you understand how they relate to each other, it will promote reuse, and it will make your code easier to reason about, maintain, and extend.
...this pattern establishes a two-way flow of information, which is predictable and easier to reason about.
Dynamic behavior in Svelte: working with variables and props - Learn web development
always remember that svelte analyzes our code to find out dependencies, so it's better to be explicit about it and not rely on the visibility of top-level variables.
... besides, it's a good practice to make our code clear and explicit about what information it is using.
Creating our first Vue component - Learn web development
along the way, we'll learn about a few important concepts such as calling components inside other components, passing data to them via props, and saving data state.
...nothing about this is dynamic.
Handling common HTML and CSS problems - Learn web development
linters another good option to choose is a so-called linter application, which not only points out errors, but can also flag up warnings about bad practices in your css, and other points besides.
... summary now you should be familiar with the main types of cross browser html and css problems that you'll meet in web development, and how to go about fixing them.
Web APIs: Mozilla-specific documents
in the pages listed here, we provide mozilla-specific documents about standard web apis.
... this includes notes about any firefox-only features, or about any experiments or other deviations from the specification that may exist in mozilla code.
CSUN Firefox Materials
in addition to winning major awards such as pc world product of the year, firefox has attracted a huge following among savvy users who simply care enough about their web browsing experience to download a new piece of software.
...that's the great thing about the open firefox community model and source code license -- anyone can contribute, and everyone benefits.
Accessibility and Mozilla
these articles provide mozilla-specific details about accessibility.
...in addition to winning major awards such as pc world product of the year, firefox has attracted a huge following among savvy users who simply care enough about their web browsing experience to download a new piece of software.
Lightweight themes
read more about the types of creative common licenses.
... submit your theme now frequently asked questions for more information about lightweight themes, including content guidelines, please see these frequently asked questions.
Theme concepts
for example, we could use this image combined with a complementary background color, to create this effect in the header see details about this theme in the themes example weta_fade.
... return; } currenttheme = theme; browser.theme.update(themes[theme]); } learn more about dynamic themes and see an additional example in the following video: if you have not built a browser extension before, check out your first extension for a step-by-step guide.
A bird's-eye view of the Mozilla framework
the client object does not need to know anything about the internal structure or implementation of the provider object in order to take advantage of its services.
... let’s consider a resource description framework (rdf) example, where rdf is a framework for describing and interchangingmetadata, that is, information about information.
Bugzilla
documentation about b.m.o.
... testopia - test case management extension bugzilla.org - the project site wikipedia:bugzilla - general description of bugzilla (not specific to mozilla projects) bmo on wiki.mozilla.org - information about mozilla's customized bugzilla installation, including how to contribute to it tools bugzilla todos lists review and flag requests, patches to check in, unfulfilled requests you made of other people, and assigned bugs.
Chrome registration
component component {00000000-0000-0000-0000-000000000000} components/mycomponent.js [flags] informs mozilla about a component cid implemented by an xpcom component implemented in javascript (or another scripting language, if applicable).
... structure of an installable bundle: describes the common structure of installable bundles, including extensions, themes, and xulrunner applications extension packaging: specific information about how to package extensions theme packaging: specific information about how to package themes multiple-item extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration ...
Creating a Login Manager storage module
to see some debugging output in the console set signon.debug to true using about:config.
...see how_to_build_an_xpcom_component_in_javascript for more details about javascript components.
Capturing a minidump
sometimes a more complete form of minidump is needed to see additional details about a crash, in which case manual capture of a minidump is desired.
... when the program is about to crash, windbg will spit out more data, and the prompt at the bottom will change from saying "*busy*" to having a number in it.
Debugging a hang on OS X (Archived)
this article contains historical information about older versions of os x.
... after about 3-4 seconds, select the hanging application in the “detected hangs” window and click the “interrupt sampling” button.
Adding APIs to the navigator object
you can read about creating and registering xpcom components in javascript.
...you can learn more about contract ids are unique text identifiers for xpcom components.
Commenting IDL for better documentation
this is an * example of what an interface document should look like; however, it's not a * document about a real interface.
...this is where you would * provide additional information about the interface as necessary.
Cross Process Object Wrappers
to learn more about this, see the documentation on using the message manager.
... message ordering cpows can violate assumptions you might make about message ordering.
Tracking Protection
click the ⓘ symbol in the address bar to view information about the currently loaded page.
...example.com', event);"> visit example.com </a> <script> function tracklink(url,event) { event.preventdefault(); if (window.ga && ga.loaded) { ga('send', 'event', 'outbound', 'click', url, { 'transport': 'beacon', 'hitcallback': function() { document.location = url; } }); } else { document.location = url; } } </script> more information about this technique is available at google analytics, privacy, and event tracking.
Site Identity Button
the site identity button is a feature in firefox that gives users more information about the sites they visit.
...look for messages about weak ciphers (e.g.
Browser API
events in order to allow an application to manage the browser <iframe>, the application can listen for new events about what's happening within the browser <iframe>.
... mozbrowserfindchange sent when a search operation is performed on the browser <iframe> content (see htmliframeelement search methods.) mozbrowserfirstpaint sent when the <iframe> paints content for the first time (this doesn't include the initial paint from about:blank.) mozbrowsericonchange sent when a new icon (e.g.
Embedding the editor
(the current nseditorshell makes assumptions about the hosting xul document, which need to be broken.) composer embedded in a web page (<htmlarea>) ie 5 supports the <htmlarea> element; if mozilla is to support something similar, editor needs to be embeddable to the extent that this can be done.
... insulating editor from the chrome composer needs to not know anything about the ui that is driving it.
HTML parser threading
(how exactly data is inserted into the buffer list depends on parser keys when document.write() is invoked re-entrantly, but that's outside the scope of this document, since this document is about parser threading.) whenever the argument of document.write() isn't tokenized to completion synchronously, the part left unprocessed by the main document.write() tokenizer/tree builder is processed by the third tokenizer/tree builder pair.
...there speculative load operations are flushed to the main thread (via the staging area) whenever tree ops are flushed and also whenever nshtml5streamparser::parseavailabledata() is about to stop working.
How to add a build-time test
if a test is added, that test or its directory needs to be mentioned in a makefile.in file somewhere so that the build system knows about it.
... reference the test dir in a parent makefile (<tt>yourmoduledir/makefile.in</tt>): ifdef enable_tests dirs += tests_type endif (optional, but recommended) add the new makefile to allmakefiles.sh (todo: need more details about this) reconfigure (e.g.
How to get a stacktrace with WinDbg
if you are prompted for a command but don't see an error about a crash, go back to the debug menu and press go.
...a developer may ask you for a "minidump" or a "full memory dump", which are files containing more information about the process.
Implementing QueryInterface
; // i (may) have multiple |nsisupports| in me, // so first i cast to a specific base to avoid ambiguity else foundinterface = 0; nsresult status; if ( !foundinterface ) status = ns_nointerface; else { ns_addref(foundinterface); status = ns_ok; } *ainstanceptr = foundinterface; return status; } what's so good about it?
...in such cases, you'll probably want to call through to the underlying implementation, after you've tested for the particular iids that you care about.
UpdateInfo
updateinfo objects hold information about available versions of add-ons and are generated as a result of an update check performed by addonupdatechecker.
... targetapplications object[] information about what applications the update is compatible with.
Widget Wrappers
widget wrappers are objects that provide information about a widget.
... there are 'group' wrappers which provide information about the widget across all windows, and 'single' wrappers which provide information about a specific instance in a specific window.
Following the Android Toasts Tutorial from a JNI Perspective
toast description a toast provides simple feedback about an operation in a small popup.
...the go-to resource for learning about the api when writing scripts for fennec.
OSFile.jsm
we are talking about several seconds to execute operations that look trivial, such as closing a file, or checking when it was last modified.
... i/o efficiency is all about minimizing the number of actual i/o calls.
Examples
rejection handlers provide information about the exact error time and location, but the handlers may sometimes be forgotten.
... note: this warning is generated some time after the error occurred, and may provide less information about the error location.
WebRequest.jsm
the event listener receives detailed information about the request, and can modify or cancel the request.
... onbeforerequest this event is triggered when a request is about to be made, and before headers are available.
JavaScript code modules
see export and import to learn more about how to use standard modules.
...the event listener receives detailed information about the request, and can modify or cancel the request.
Localizing extension descriptions
this article provides details on how to go about localizing the descriptions of mozilla add-ons, as well as for other metadata about your add-on.
...the following example demonstrates this (most normal manifest properties have been removed for brevity): <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>tabsidebar@blueprintit.co.uk</em:id> <em:localized> <description> <em:locale>de-de</em:locale> <em:name>tab sidebar</em:name> <em:description>zeigt in einer sidebar vorschaubilder der inhalte aller offenen tabs an.</em:description> </description> </em:localized> <em:localized> <description> <e...
Localizing with Pontoon
read about implementing pontoon in your project or learn how to get involved on github.
... alright, how about we do some translating now?
Localization technical reviews
for more info about access keys in the technical review process, see bug 421893.
...for more info about utf-7 in firefox, see bug 441876.
What every Mozilla translator should know
discussion about localization take part here just as well as l10n-focused announcements.
... translate the mozilla web or mozilla.dev.l10n.web, we moved announcements and discussions about the translation of the mozilla web pages to this group.
Writing localizable code
this page tells you about best practices and guidelines when dealing with ui code with respect to localization.
... 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.
MathML In Action
or what about those things that just seem itchy, and that you wish could be done just a little better?
... or what about those things that were working before and are not working anymore (a.k.a.
MathML Demo: <msqrt>, <mroot> - radicals
about all you can do with them is see how the rendering stretches them in various ways: horizontally sin ⁡ x ⁢ cos ⁡ y , vertically 1 2 3 4 and det ( 1 2 3 4 ) 2 , as well as 2 x ⁢ y ⁢ z ⁢ w , 2 1 2 3 4 , and 2 ⌈ det ( 1 2 3 4 ) ⌉ .
...about all you can do with them is see how the rendering stretches them in various ways: horizontally sin ⁡ x ⁢ cos ⁡ y vertically 1 2 3 4 and det ( 1 2 3 4 ) 2 as well as 2 x ⁢ y ⁢ z ⁢ w 2 1 2 3 4 and 2 ⌈ det ( 1 2 3 4 ) ⌉ the formula of binet shows how the n-th term in the fibonacci series can be expressed using roots f n = 1 5 [ ( 1 + 5 2 ) n - ( 1 - 5 2 ) n ] ...
Using the viewport meta tag to control layout on mobile browsers
learn more about viewports in different mobile browsers in a tale of two viewports at quirksmode.org.
...peter-paul koch wrote about this problem in a pixel is not a pixel.
Preferences
these articles provide information about how to use the preference system.
... a brief guide to mozilla preferences an introductory guide to where preferences are stored and other useful information about the core preference system.
L20n
what l20n looks like here is 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 ...
... wiki page info about the project to develop l20n.
Introduction to NSPR
monitoring is about protecting data, not code.
... if ((db = delink()) == null) { wait(condition); db = delink(); } exit(monitor); return db; } the same function would be more appropriately written as follows: void *dequeue() { void *db; enter(monitor); while ((db = delink()) == null) wait(condition); exit(monitor); return db; } caution: the semantics of pr_waitcondvar assume that the monitor is about to be exited.
PRIOMethods
fileinfo get information about an open file.
...for information about each function, see the corresponding function description in this document.
PR_Bind
if you do not care about the exact ip address assigned to the socket, set the inet.ip field of prnetaddr to pr_htonl(pr_inaddr_any).
... if you do not care about the tcp/udp port assigned to the socket, set the inet.port field of prnetaddr to 0.
An overview of NSS Internals
that's a good opportunity to talk about ssl/tls connections to servers in general (not just ev, not just websites).
...but if you don't care about modifying the default trust permanently (recorded on disk), you can use the no-database init calls.
nss tech note1
this is used in a template array within a sequence, if you don't care about the fields at the end of it.
...see bug 175163 for more information about the reason for this recommendation.
NSS Tech Notes
nss technical notes newsgroup: mozilla.dev.tech.crypto nss technical notes provide latest information about new nss features and supplementary documentation for advanced topics in programming with nss.
... tn3: all about certificate extensions.
Migration to HG
most parts of the nss build instructions remain valid, especially the instructions about setting environment variables.
... updated instructions for building nss with nspr can be found at: /docs/nss_reference/building_and_installing_nss/build_instructions it's best to refer to the above document to learn about the various environment variables that you might have to set to build on your platform (this part hasn't changed).
FC_GetSessionInfo
name fc_getsessioninfo - obtain information about a session.
... description fc_getsessioninfo obtains information about a session.
FC_GetSlotInfo
name fc_getslotinfo - get information about a particular slot in the system.
... description fc_getslotinfo stores the information about the slot in the ck_slot_info structure that pinfo points to.
FC_GetTokenInfo
name fc_gettokeninfo - obtain information about a particular token in the system.
... syntax ck_rv fc_gettokeninfo(ck_slot_id slotid, ck_token_info_ptr pinfo); parameters fc_gettokeninfo has two parameters: slotid the id of the token's slot pinfo points to a ck_token_info structure description fc_gettokeninfo returns information about the token in the specified slot.
NSS tools : cmsutil
-h num generate email headers with info about cms message (decode only).
...for information specifically about nss, the nss project wiki is located at [2]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : pk12util
the default is to return information in a pretty-print ascii format, which displays the information about the certificates and public keys in the p12 file.
... o https://wiki.mozilla.org/nss_shared_db_howto o https://wiki.mozilla.org/nss_shared_db additional resources for information about nss and other tools related to nss (like jss), check out the nss project wiki at [1]http://www.mozilla.org/projects/security/pki/nss/.
sslintro.html
to avoid the overhead of repeating the full ssl handshake in situations like this, the ssl protocol supports the use of a session cache, which retains information about each connection, such as the master secret generated during the ssl handshake, for a predetermined length of time.
... if ssl can locate the information about a previous connection in the local session cache, it can reestablish the connection much more quickly than it can without the connection information.
NSS Tools certutil
-l list all the certificates, or display information about a named certificate, in a certificate database.
... -r display a certificate's binary der encoding when listing information about that certificate with the -l option.
NSS tools : cmsutil
MozillaProjectsNSStoolscmsutil
-h num generate email headers with info about cms message (decode only).
... for information specifically about nss, the nss project wiki is located at [2]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : pk12util
the default is to return information in a pretty-print ascii format, which displays the information about the certificates and public keys in the p12 file.
... o https://wiki.mozilla.org/nss_shared_db_howto o https://wiki.mozilla.org/nss_shared_db additional resources for information about nss and other tools related to nss (like jss), check out the nss project wiki at [1]http://www.mozilla.org/projects/security/pki/nss/.
Necko Architecture
mimetype - mime <-> file extension mapping nkabout - about: protocol nkdata - data: protocol nkfile - file: protocol nkftp - ftp: protocol nkkeyword - keyword: protocol nkresrc - resource: protocol cnvts - stream converters stremcnv - stream converter service these libraries will change with time and illustrate the modularity of necko.
...because a uri has no self knowledge about what "protocol" it represents, another component is responsible for deciding which channel implementation will be responsible for "loading" the uri.
Proxies in Necko
this means that callers can just create an nsichannel, not needing to worry about whether the channel will use a proxy or not the basic interfaces for proxies are: nsiproxyinfo, nsiprotocolproxyservice, and nsiproxiedprotocolhandler nsiproxyinfo is a simple helper which stores information about the type of the proxy, its host and its port.
...to be written xxx missing paragraphs are about pac, and more details about http proxying, and maybe some more details about socks proxies.
Tutorial: Embedding Rhino
faces adding java objects using javascript objects from java using javascript variables calling javascript functions javascript host objects defining host objects counter example counter's constructors class name dynamic properties defining javascript "methods" adding counter to runscript runscript: a simple embedding about the simplest embedding of rhino possible is the runscript example.
...a context stores information about the execution environment of a script.
SpiderMonkey Build Documentation
mkdir build_opt.obj cd build_opt.obj /bin/sh ../configure.in # use "mozmake" on windows make a few notes about this: the most common build problems are dependency problems.
...for example, if you're using the gnu toolchain, the following will pass the -g3 flag to the compiler, causing it to emit debug information about macros.
GC Rooting Guide
since spidermonkey has a moving gc, it is very important that it knows about each and every pointer to a gc thing in the system.
...a js::handle<t> is a reference to a js::rooted<t>, and is created implicitly by referencing a js::rooted<t>: it is not valid to create a js::handle<t> manually (the whole point of a handle is that it only reference pointers that the gc knows about so it can update them when they move).
Hacking Tips
the other being disable this check in "about:config", by temporarily switching "security.fileuri.strict_origin_policy" to false note 2: the files can be very big and take a long time to load in the browser.
... use the vixl debugger in the simulator (arm64) set a breakpoint (see the comments above about masm.breakpoint()) and run with the environment variable use_debugger=1.
Exact Stack Rooting
since the gc may move gcthings, it very important that spidermonkey know about each and every gcpointer in the system.
...by using js::handlet in the interface instead of direct gcpointers, we ensure that the gcthing is already rooted on some previous stack frame, freeing us from having to worry about rooting the gcthing for the duration of the call.
Invariants
a general rule about the state of all threads at a given time: either exactly one thread is "in gc" and no threads are in requests; or no thread is doing gc, in which case any number of threads may be in requests; or the gc lock is held.
...(note that the locking scheme applies to all objects and talks about properties being locked.
Introduction to the JavaScript shell
help([command ...]) displays brief help information about the specified commands, or about all available functions if none are specified.
...when the bytecode at the offset specified by pc in the function function is about to be executed, the expression is evaluated.
JIT Optimization Outcomes
this failure mode is unlikely and occurs if the target object is obtained in some roundabout way.
...the engine knows nothing definite about the type of the callee function object.
JSNewResolveOp
flags uint32_t obsolete since jsapi 31 flags giving contextual information about the ongoing property access.
... description like jsresolveop, but flags provide contextual information about the property access.
JS_DumpHeap
when tracing a thing, the gc needs to know about the layout of the object it is looking at.
... there are a fixed number of different layouts that the gc knows about.
JS_GetPropertyAttrsGetterAndSetter
description see js_getpropertyattributes for details about these functions.
...for more information about javascript getters and setters, see defining getters and setters.
JS_SET_TRACING_DETAILS
this article covers features introduced in spidermonkey 1.8 set debugging information about the next thing to be traced by a jstracer.
... description set debugging information about a reference to a traceable thing to prepare for the following call to js_calltracer.
JS_SetErrorReporter
report jserrorreport * an error report record containing additional details about the error.
...the error you log and display can make use of the information passed about the error condition in the jserrorreport structure.
SpiderMonkey 1.8.5
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
... jsxdrapi changes were missed jsstrictpropertyop for setters (affects jsclass) - maybe general notes about es5 strict mode changes in jsapi tricks like argv[-2] not guaranteed to work any more; is js_callee or similar instead ...
SpiderMonkey 38
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
...579) js_evaluateucscript (bug 1100579) js_executescriptversion (bug 1095660) js_getflatstringchars (bug 1037869) js_getfunctioncallback (bug 1103269) js_getinternedstringchars (bug 1037869) js_getinternedstringcharsandlength (bug 1037869) js_getstringcharsandlength (bug 1037869) js_getstringcharsz (bug 1037869) js_getstringcharszandlength (bug 1037869) js_gettypename (bug 1037718) js_isabouttobefinalized (bug 650161) js_lookupelement (bug 1094176) js_lookupproperty (bug 1094176) js_lookuppropertybyid (bug 1094176) js_lookupucproperty (bug 1094176) js_newpropertyiterator (bug 1081660) js_nextproperty (bug 1081660) js_resolvestub (bug 1103152) js_setfinalizecallback (bug 996785) js_setfunctioncallback (bug 1103269) jschar (bug 1063962) api changes jschar, a typedef for the...
Setting up CDT to work on SpiderMonkey
step 3 - index all the code to let cdt know about the build, it has to invoke make itself (or, as is done in the guide for the whole mozilla codebase on mdn, read a log of the build), which can be setup with these simple steps: open the project's properties by selecting its root and clicking "properties" in the "file" menu and select "c/c++ build".
... instead, change "build command" to read make -w (this is required because cdt needs detailed information about which directories make operates on, which using -w causes make to provide).
Exploitable crashes
a crash report from your debugger, your os, or mozilla crash-stats can tell you a lot about whether or not a crash is potentially exploitable.
...there is little public information about it, and it is hard to find even on the apple developer site.
Gecko events
is supported: no event_movesize_end the movement or resizing of a window has finished is supported: no event_contexthelp_start a window has entered context-sensitive help mode is supported: no event_contexthelp_end a window has exited context-sensitive help mode is supported: no event_dragdrop_start an application is about to enter drag-and-drop mode is supported: yes event_dragdrop_end an application is about to exit drag-and-drop mode is supported: no event_dialog_start a dialog box has been displayed is supported: no event_dialog_end a dialog box has been closed is supported: no event_scrolling_start scrolling has started on a scroll bar is supported: yes event_scrolling_end scrolling has ended on a sc...
...roll bar is supported: yes event_minimize_start a window object is about to be minimized or maximized is supported: no event_minimize_end a window object has been minimized or maximized is supported: no event_document_load_start is supported: yes event_document_load_complete the loading of the document has completed.
Gecko Roles
role_alert represents an alert or a condition that a user should be notified about.
... role_statusbar represents a status bar, which is an area at the bottom of a window that displays information about the current operation, state of the application, or selected object.
Gecko states
because objects with this state are not available to users, client applications should not communicate information about the object to users.
...if this second state is defined, then clients can communicate the information about the object to users.
XForms Accessibility
project there are set of tests at beaufour.dk w3c's xforms test at w3.org keyboard navigation issues navigation sequence though xforms spec declares navindex attribute to define the navigation sequence (see 1.0 specs or 1.1 specs) but rich schwerdtfeger (distinguished engineer, swg accessibility architect/strategist chair, ibm accessibility architecture review board) gave some clarification about navindex.
...so, yes we don't care about navindex in xforms.
History Service Design
history views should allow to quickly find a page in a certain timeframe remembering only small details about it.
... certain scheme are excluded from history, so they will never be added, for example: about, view-source, chrome.
Places Developer Guide
// create a bookmark observer var observer = { onbeginupdatebatch: function() { // this method is notified when a batch of changes are about to occur.
... var title = node.title; var url = node.uri; var visited = node.accesscount; var lastvisitedtimeinmicrosecs = node.time; var iconuri = node.icon; // is null if no favicon available } result.root.containeropen = false; querying history for redirects and from_visit results of type result_type_full_visit have information about the visit, such as the referring visit, and how the transition happened (typed, redirect, link, etc).
Places utilities for JavaScript
description_anno - this annotation stores description information about a bookmark.
... localstore warning: local store provided access to the local-store rdf data source, which stores persisted information about the browser.
Accessing the Windows Registry Using XPCOM
introduction when implementing windows-specific functionality, it is often useful to access the windows registry for information about the environment or other installed programs.
...dows productid: var wrk = components.classes["@mozilla.org/windows-registry-key;1"] .createinstance(components.interfaces.nsiwindowsregkey); wrk.open(wrk.root_key_local_machine, "software\\microsoft\\windows\\currentversion", wrk.access_read); var id = wrk.readstringvalue("productid"); wrk.close(); this example, while simple, shows several important things about using the interface.
How to build an XPCOM component in JavaScript
ihelloworld]" argument for the call to xpcomutils.generateqi() in queryinterface, then you can access your component like this: try { var mycomponent = components.classes['@dietrich.ganx4.com/helloworld;1'] .getservice().wrappedjsobject; alert(mycomponent.hello()); } catch (anerror) { dump("error: " + anerror); } for more information about wrappedjsobject, see here.
... using xpcom instantiation try { var mycomponent = components.classes['@dietrich.ganx4.com/helloworld;1'] .createinstance(components.interfaces.nsihelloworld); alert(mycomponent.hello()); } catch (anerror) { dump("error: " + anerror); } other resources rm lantwo mozillazine forums threads about implementing xpcom components in js with some explanations, example code, and troubleshooting tips: http://forums.mozillazine.org/viewtopic.php?t=308369 http://forums.mozillazine.org/viewtopic.php?t=367298 implementing xpcom components in javascript at kb.mozillazine.org using xpcom in javascript without leaking - a must-read.
Packaging WebLock
like the windows registry, the chrome registry is a database of information about applications, skins, and other extensions that have been installed in a gecko application.
... javascript apis from the xpinstall install object download the jar in which the installable files appear and call registration methods that tell mozilla about the new component and the ui it uses to access the weblock component.
Creating XPCOM components
next » this guide is about gecko, and about creating xpcom components for gecko-based applications.
...accordingly, the book is arranged so that you can follow along and create your own components or learn about different xpcom topics individually, as in a reference work.
XPCOM Stream Guide
MozillaTechXPCOMGuideStreams
in basic c++ programming for a console application, we usually talk about streams to access files, or to interact with the user.
... a note about unicode strings versus nsiinputstream nsiinputstream and nsioutputstream work with 8-bit characters.
IAccessibleHyperlink
see the section about.
...see the section about.
mozIStorageConnection
this method will manage the transactions for you, so you don't have to worry about them.
...this helps avoid disk fragmentation by letting you help sqlite make intelligent decisions about resizing of the file.
nsIAccessibleRole
role_alert 8 represents an alert or a condition that a user should be notified about.
... role_statusbar 23 represents a status bar, which is an area at the bottom of a window that displays information about the current operation, state of the application, or selected object.
nsIAccessibleStates
because objects with this state are not available to users, client applications should not communicate information about the object to users.
...if this second state is defined, then clients can communicate the information about the object to users.
nsIApplicationUpdateService
methods adddownloadlistener() adds a listener that receives progress and state information about the update that is currently being downloaded.
...removedownloadlistener() removes a listener that is receiving progress and state information about the update that is currently being downloaded.
nsIBrowserHistory
note: if removing fewer than 10 pages, calling this repeatedly is preferable over calling removepages(), since that's about the point at which the overhead of setting up a batch operation doesn't make sense anymore.
... note: if removing fewer than 10 pages, calling removepage() repeatedly is preferable over calling this, since that's about the point at which the overhead of setting up a batch operation doesn't make sense anymore.
nsICacheDeviceInfo
netwerk/cache/nsicachevisitor.idlscriptable this interface provides information about a cache device.
... usagereport string get a usage report, statistics, miscellaneous data about the cache device.
nsIChannelEventSink
this method notifies the sink that a redirect is about to happen, but also to gives the sink the right to veto the redirect by throwing an exception or passing a failure code in the callback.
... callback object to inform about the async result of this method.
nsIContentSecurityPolicy
given a bit of information about the request, decides whether or not the policy is satisfied.
...given a bit of information about the request, decides whether or not the policy is satisfied.
nsIFeed
it includes attributes that provide information about the feed, as well as access to the items or entries in the feed.
... textinput nsiwritablepropertybag2 information about a text box that can be displayed along with the feed by aggregators that support it, to allow the reader to send a response back to the source of the feed.
nsIFeedProgressListener
void handleentry( in nsifeedentry entry, in nsifeedresult result ); parameters entry pointer to an nsifeedentry containing information about the entry that was just processed.
... result pointer to an nsifeedresult containing the current information about the feed being processed.
nsIGlobalHistory2
docshell/base/nsiglobalhistory2.idlscriptable this interface provides information about global history to gecko.
...note: docshell will not filter out uri schemes like chrome:, data:, about: and view-source:.
nsIHttpChannel
there are no assumptions made about the charset of the returned text.
...this method allows, for example, the html content sink to inform the http channel about http-equiv headers found in html <meta> tags.
nsIMemoryReporter
this includes the about:memory page.
...paths are delimited with '/' characters to allow a hierarchy of memory to be displayed in about:memory.
nsIMessenger
getnavigatehistory() returns information about the current navigation history.
... ahistory an array of strings containing information about each entry in the history.
nsIMsgMessageService
acopylistener already knows about the destination folder.
...the good thing about this method is that you can extract a standard representation of any message, no matter if they are emails, rss, news, blogs, etc.
nsINavBookmarksService
beginupdatebatch() obsolete since gecko 1.9 (firefox 3) causes observers to be notified of a beginupdatebatch when a lot of things are about to change.
...use this when a lot of things are about to change, for example adding or deleting a large number of bookmark items.
nsINavHistoryResultObserver
methods batching() lets the observer know when a batch operation in places is about to start or end.
... the observer can then pause updates or events until the batch is completed, so that it won't handle the large number of updates that are about to be notified.
nsINavHistoryService
you don't have to worry about calling this, addpagetosession/adduri will always check before actually adding the page.
...use this when a lot of things are about to change.
nsIPrivateBrowsingService
netwerk/base/public/nsiprivatebrowsingservice.idlscriptable provides access to information about the state of the private browsing service.
... the nsiprivatebrowsingservice interface provides access to information about the state of the private browsing feature offered in firefox 3.5 and later.
nsIResumableChannel
entityid information about the file, to match before obtaining the file.
...entityid information about the file, to match before obtaining the file.
nsIThreadPoolListener
onthreadshuttingdown() called when a new thread is about to be destroyed by the thread pool.
... the notification happens on the thread that is about to be destroyed.
nsITransport
for a socket transport, these events can include status about the connection.
... see nsisockettransport for more info about socket transport specifics.
nsIURLFormatter
if the preference value cannot be retrieved, a fatal error is reported and the "about:blank" url is returned.
... return value the formatted url returned by formaturl(), or "about:blank".
nsIUserInfo
toolkit/components/startup/public/nsiuserinfo.idlscriptable these are things the system may know about the current user.
...to get the service, use: var userinfo = components.classes["@mozilla.org/userinfo;1"] .getservice(components.interfaces.nsiuserinfo); you can then look at the userinfo object's attributes to learn what the system knows about the user.
nsIWebProgressListener
location_change_error_page 0x00000002 this flag indicates that awebprogress redirected from the requested document to an internal page to show error status, such as about:neterror, about:certerror and so on.
... note: if the object also implements nsiwebprogresslistener2 and the caller knows about that interface, this function will not be called.
nsIXULRuntime
xpcom/system/nsixulruntime.idlscriptable provides information about the xul runtime to allow extensions and xul applications to determine information about the xul runtime.
... example display the user's operating system in an alert box: var xulruntime = components.classes["@mozilla.org/xre/app-info;1"] .getservice(components.interfaces.nsixulruntime); alert(xulruntime.os); see also nsixulappinfo - a related interface providing information about the host application, it's also implemented by xre/app-info.
Warnings
storage sometimes warns about things to stderr.
...sort operations this warning message will say something about the number of sort operations that have occurred for a sql statement.
Troubleshooting XPCOM components registration
if the error appears, you can use nspr logging to see additional information about the failure by running firefox from a command prompt: rem close all firefox windows!
...to learn more about enabling chrome errors, see "how can i see errors in my code" in the extension faqs.
Frequently Asked Questions
if you're looking here just to learn about nscomptrs, you'll get a better introduction in the getting started guide.
... people don box is a smart guy who has been writing about com programming for a long time.
Using nsCOMPtr
this document is the sum total of everything written down about nscomptr.
... if you have a question about nscomptr, and this document doesn't answer it, there probably isn't a document that answers it.
Using the Gecko SDK
introduction it is assumed that you already know something about xpcom component development.
...(<tt>about:buildconfig</tt> can be loaded in mozilla to reveal details about the compiler that was used.) for the remainder of this guide, we'll assume you are developing components under linux.
DB Views (message lists)
one unique thing about nsmsggroupview is that instead of using the message database's nsmsgthread objects like the other view classes, it uses an nsmsggroupthread object, which also implements nsimsgthread.
...see the tutorial for information about styling trees using css, and the thunderbird source for some example css.
LDAP Support
this document is intended to "fill in the gaps" about how enterprise customers can leverage and customize ldap support in mozilla thunderbird.
...some notes about the relationship: there is a many to one relationship between ldap attributes and its address book counterpart.
MailNews fakeserver
a daemon is information about the server that can be manipulated.
... the server is smart about the responses and will normalize all occurrences of '\n' (but not '\r') to '\r\n' for you, as well as append the '\r\n' to the response if not present.
Building a Thunderbird extension 3: install manifest
the install.rdf file is an xml file that provides general information about the extension.
... open the file called install.rdf that you created at the top of your extension's directory hierarchy and paste the following text into the file: <?xml version="1.0"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>myfirstext@jen.zed</em:id> <em:name>my first extension</em:name> <em:version>1.0</em:version> <em:creator>jenzed</em:creator> <em:targetapplication> <description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>5.0.*</em:maxversion> </description> </em:targetapplication> </description> </rdf> the following items (shown in bold) should be...
Thunderbird extensions
read about the main windows to learn about « thread pane », « preview pane », and « folder pane ».
...learn more about gloda: an overview of gloda how to create your first message query and read the gloda examples gloda internals: gloda debugging, gloda indexing more thunderbird-specific links some links may be out of date, but they still provide valuable information on the codebase.
Working with data
there are several ways you can go about creating new cdata objects.
... if you don't care about type equality, and simply want to compare two addresses, you can use type casting: if (ctypes.cast(p, ctypes.uintptr_t).value.tostring() == "5") { // the pointer p's address is 5 } this casts the pointer to a ctypes.uintptr_t, for which the value property returns a ctypes.uint64.
Drawing and Event Handling - Plugins
for information about the way html determines plug-in display mode, see using html to display plug-ins.
...this structure contains information about coordinate position, size, the state of the plug-in (windowed or windowless), and some platform-specific information.
Plug-in Side Plug-in API - Plugins
npp_destroystream tells the plug-in that a stream is about to be closed or destroyed.
... npp_setvalue sets information about the plug-in.
Structures - Plugins
npsetwindowcallbackstruct contains information about the plug-in's unix window environment.
... npwindow contains information about the target into which the plug-in instance can draw.
Debugging service workers - Firefox Developer Tools
debugging your service worker in any case, when the service worker is successfully registered, you'll see information about it displayed in the application > service workers view (along with any other service workers registered on the same domain): this gives you a variety of information about your service worker: the url that the service worker is registered on.
...if you want to see a list of information concerning all the service workers registered on your browser, you can visit about:debugging#/runtime/this-firefox.
Browser Console - Firefox Developer Tools
to enable it set the devtools.chrome.enabled preference to true in about:config, or set the "enable browser chrome and add-on debugging toolboxes" (firefox 40 and later) option in the developer tool settings.
...to enable it set the devtools.chrome.enabled preference to true in about:config, or set the "enable chrome debugging" option in the developer tool settings.
Examine, modify, and watch variables - Firefox Developer Tools
if you need to use it, you can, for now, switch back to the old debugger by visiting about:config and setting the "devtools.debugger.new-debugger-frontend" preference to false.
... pointing your cursor at a variable's name displays a tooltip that provides additional information about the variable.
Debugger.Environment - Firefox Developer Tools
this means that the debugger can use the == operator to recognize when two debugger.environment instances refer to the same environment in the debuggee, and place its own properties on a debugger.environment instance to store metadata about particular environments.
...this allows the code using each debugger instance to place whatever properties it likes on its own debugger.object instances, without worrying about interfering with other debuggers.) if a debugger.environment instance’s referent is not a debuggee environment, then attempting to access its properties (other than inspectable) or call any its methods throws an instance of error.
Debugger.Memory - Firefox Developer Tools
the statistics parameter is an object containing information about the gc cycle.
...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.Script - Firefox Developer Tools
this allows the code using each debugger instance to place whatever properties it likes on its debugger.script instances, without worrying about interfering with other debuggers.) a debugger.script instance is a strong reference to a jsscript object; it protects the script it refers to from being garbage collected.
... getoffsetscoverage(): if the instance refers to a jsscript, return null or an array which contains informations about the coverage of all opcodes.
Debugger - Firefox Developer Tools
onenterframe(frame) the stack frameframe is about to begin executing code.
... onerror(frame,report) spidermonkey is about to report an error inframe.report is an object describing the error, with the following properties: message the fully formatted error message.
Debugger-API - Firefox Developer Tools
thus, a tool can store metadata about a shadow’s referent as a property on the shadow itself, and count on finding that metadata again if it comes across the same referent.
... and since shadows are per-debugger, tools can do so without worrying about interfering with other tools that use their own debugger instances.
Dominators view - Firefox Developer Tools
the first two are call and window objects, and retain about 21% and 8% of the total size of the memory snapshot, respectively.
... taking a snapshot to see what it looks like in the dominators view: load the page enable the memory tool in the settings, if you haven't already open the memory tool check "record call stacks" press the button labeled "make monsters!" take a snapshot switch to the "dominators" view analyzing the dominators tree you'll see the three arrays as the top three gc roots, each retaining about 23% of the total memory usage: if you expand an array, you'll see the objects (monsters) it contains.
Examine and edit CSS - Firefox Developer Tools
read more about css source map support in the style editor documentation.
...(this calculated value is exactly the same as what getcomputedstyle would return.) you can tab through the styles to select them, and you can find more information about each property — pressing f1 on a selected property will open up its mdn reference page.
Call Tree - Firefox Developer Tools
we have about six times as many samples in bubble sort as in selection sort, and 13 times as many as in quicksort.
...let's expand that: this result is telling us that 614 of those samples, or about 20% of the total cost, are coming from our sort() call.
Flame Chart - Firefox Developer Tools
let's zoom in: this slice is about 140 ms long, and shows us more details of the functions being called by sort().
... let's zoom in one more time: this slice is about 20ms long.
Waterfall - Firefox Developer Tools
when a marker is selected you'll see more information about it in a sidebar on the right.
...see kyle huey's blog post about cycle collection.
Style Editor - Firefox Developer Tools
to select these, visit about:config, select the setting devtools.editor.keymap, and assign "vim" or "emacs", or "sublime" to that setting.
... from firefox 33 onwards, the key binding preference is exposed in the editor preferences section of the developer tools settings, and you can set it there instead of about:config.
AddressErrors - Web APIs
then a paymentdetailsupdate object is created with its error set to a generic message about address errors and with the reset of the object's values taken from shippingaddresserrors, and, using "...defaultpaymentdetails" as the final entry in the object, the remeainder of the properties' values are taken from defaultpaymentdetails.
... window.addeventlistener("load", function(ev) { document.getelementbyid("pay").addeventlistener("click", process, false); }, false); see addeventlistener() for information about event handlers and how they work.
BasicCardRequest.supportedNetworks - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.billingAddress - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.cardNumber - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.cardSecurityCode - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.cardholderName - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.expiryMonth - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
BasicCardResponse.expiryYear - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
Drawing shapes with canvas - Web APIs
the grid before we can start drawing, we need to talk about the canvas grid or coordinate space.
... note: to learn more about the arc() function, see the arcs section below.
Finale - Web APIs
WebAPICanvas APITutorialFinale
more examples and tutorials there are a variety of demos and further explanations about canvas on these sites: codepen.io front end developer playground & code editor in the browser.
... comments about this tutorial – the mdn documentation community if you have any comments about this tutorial or want to thank us, feel free to reach out to us!
DOMMatrixReadOnly.flipX() - Web APIs
the flipx() method of the dommatrixreadonly interface creates a new matrix being the result of the original matrix flipped about the x-axis.
... syntax dommatrix.flipx() return value returns a dommatrix containing a new matrix being the result of the original matrix flipped about the x-axis, which is equivalent to multiplying the matrix by dommatrix(-1, 0, 0, 1, 0, 0).
DOMMatrixReadOnly.scale() - Web APIs
if a scale is applied about the z-axis, the resulting matrix will be a 4x4 3d matrix.
... we then create a new matrix scaled about a given origin, using either three or six parameters depending on the browser support.
DeviceMotionEvent - Web APIs
the devicemotionevent provides web developers with information about the speed of changes for the device's position and orientation.
...take care about this while using them.
Document.onbeforescriptexecute - Web APIs
fired when the code in a <script> element declared in an html document is about to start executing.
...the event's target attribute is set to the script element that is about to be executed.
Element - Web APIs
WebAPIElement
also available via the onfocus property focusin fired when an element is about to gain focus.
... focusout fired when an element is about to lose focus.
EventTarget.removeEventListener() - Web APIs
options optional an options object that specifies characteristics about the event listener.
...but what about the options or usecapture parameters?
Using files from web applications - Web APIs
you need to use eventtarget.addeventlistener() to add the change event listener, like this: const inputelement = document.getelementbyid("input"); inputelement.addeventlistener("change", handlefiles, false); function handlefiles() { const filelist = this.files; /* now you can work with the file list */ } getting information about selected file(s) the filelist object provided by the dom lists all of the files selected by the user, each specified as a file object.
... there are three attributes provided by the file object that contain useful information about the file.
FileSystemEntry.getMetadata() - Web APIs
} the filesystementry interface's method getmetadata() obtains a metadata object with information about the file system entry, such as its modification date and time and its size.
...receives a single input parameter: a metadata object with information about the file.
FileSystemEntry - Web APIs
it includes methods for working with files—including copying, moving, removing, and reading files—as well as information about a file it points to—including the file name and its path from the root to the entry.
... getmetadata() obtains metadata about the file, such as its modification date and size.
FileSystemEntrySync - Web APIs
it includes methods for working with files—including copying, moving, removing, and reading files—as well as information about the file it points to—including the file name and its path from the root to the entry.
... methods getmetadata() look up metadata about this entry.
Frame Timing API - Web APIs
the performanceframetiming interface provides frame timing data about the browser's event loop.
...this means the browser should process a frame in about 16.7 ms.
HTMLImageElement.currentSrc - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera full support yessafari full support 10.1webview android full support 45chrome android full support 45firefox android full support...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 10.3samsung internet android full support 5.0legend full support full support no support no supportexperimental.
HTMLImageElement.sizes - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera full support yessafari no support nowebview android full support 45chrome android full support 45firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosamsung internet android full support 5.0legend full support full support no support no supportexperimental.
HTMLImageElement.srcset - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera full support 21safari full support 8webview android full support 37chrome android full support 34firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 8samsung internet android full support 2.0legend full support full support no support no supportexperimental.
HTMLImageElement.useMap - Web APIs
you can learn more about client-side image maps in our learning article add a hitmap on top of an image.
...a shape="circle" coords="25, 25, 75, 75" href="/index.html" alt="return to home page"> <area shape="rect" coords="25, 25, 100, 150" href="/index.html" alt="shop"> </map> given the image map named mainmenu-map, the image which uses it should look something like the following: <img src="menubox.png" usemap="#mainmenu-map"> for additional examples (including interactive ones), see the articles about the <map> and <area> elements, as well as the guide to using image maps.
HTMLMediaElement.audioTracks - Web APIs
see event handlers in audiotracklist to learn more about watching for changes to a media element's track list.
... each track is represented by a audiotrack object which provides information about the track.
HTMLMedia​Element​.textTracks - Web APIs
see event handlers in texttracklist to learn more about watching for changes to a media element's track list.
... each track is represented by a texttrack object which provides information about the track.
HTMLMediaElement.videoTracks - Web APIs
see event handlers in videotracklist to learn more about watching for changes to a media element's track list.
... each track is represented by a videotrack object which provides information about the track.
HTMLVideoElement.videoHeight - Web APIs
see about intrinsic width and height for more details.
... about intrinsic width and height a user agent calculates the intrinsic width and height of the element's media by starting with the media's raw pixel width and height, then taking into account factors including: the media's aspect ratio.
HTMLVideoElement.videoWidth - Web APIs
see about intrinsic width and height for more details.
... about intrinsic width and height a user agent calculates the intrinsic width and height of the element's media by starting with the media's raw pixel width and height, then taking into account factors including: the media's aspect ratio.
In depth: Microtasks and the JavaScript runtime environment - Web APIs
when debugging or, possibly, when trying to decide upon the best approach to solving a problem around timing and scheduling of tasks and microtasks, there are things about how the javascript runtime operates under the hood that may be useful to understand.
... a special note about recursive functions—that is, functions which call themselves, possibly over multiple levels of depth or recursion: each recursive call to the function creates a new execution context.
Using microtasks in JavaScript with queueMicrotask() - Web APIs
be cautious with how you go about recursively adding microtasks.
...generally, it's about capturing or checking results, or performing cleanup, after the main body of a javascript execution context exits, but before any event handlers, timeouts and intervals, or other callbacks are processed.
IDBIndex - Web APIs
WebAPIIDBIndex
to change preferences in firefox, visit about:config.ie no support noopera full support 35safari full support 10.1webview android full support 48chrome android full support 48firefox android full support ...
...to change preferences in firefox, visit about:config.opera android full support 35safari ios full support 10.3samsung internet android full support 5.0getkeychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox ...
IndexedDB API - Web APIs
read more about the concepts behind indexeddb.
...indexeddb is most commonly talked about.
Timing element visibility with the Intersection Observer API - Web APIs
since intersection observer only cares about the intersection between the targeted elements and the intersection root, and not the tab's visibility (which is a different issue entirely), we need to use the page visibility api to detect these tab switches and disable our timers for the duration.
... handling periodic actions our interval handler, handlerefreshinterval(), is called about once per second courtesy of the call to setinterval() made in the startup() function described above.
Intersection Observer API - Web APIs
the author of the web site may not even realize this is happening, since they may know very little about the inner workings of the two libraries they are using.
... it's useful to understand a bit about how the various properties provided by intersectionobserverentry describe an intersection.
LocalFileSystem - Web APIs
(to learn more about the storage types, see the basic concepts article.) in most cases, you need to create only one file system, but in a few cases, it might be useful to create a second one.
...for more information about restrictions, see the basic concepts article.
MediaCapabilities - Web APIs
the mediacapabilities interface of the media capabilities api provides information about the decoding abilities of the device, system and browser.
... the api can be used to query the browser about the decoding abilities of the device based on codecs, profile, resolution, and bitrates.
MediaDevices - Web APIs
enumeratedevices() obtains an array of information about the media input and output devices available on the system.
...see capabilities and constraints in media capture and streams api (media stream) to learn more about constraints and how to use them.
MediaSession.metadata - Web APIs
the metadata property of the mediasession interface contains a mediametadata object providing descriptive information about the currently playing media, or null if the metadata has not been set.
... syntax var mediametadata = navigator.mediasession.metadata; navigator.mediasession.metadata = mediametadata; value an instance of mediametadata containing information about the media currently being played.
MediaSession.setPositionState() - Web APIs
the mediasession method setpositionstate() is used to update the current document's media playback position and speed for presentation by user's device in any kind of interface that provides details about ongoing media.
... syntax navigator.mediasession.setpositionstate(statedict); parameters statedict optional an object conforming to the mediapositionstate dictionary, providing updated information about the playback position and speed of the document's ongoing media.
MediaStreamConstraints.audio - Web APIs
to learn more about how constraints work, see capabilities, constraints, and settings.
...this tells getusermedia() that we require an audio track, but we don't care about any specifics beyond that.
MediaStreamConstraints.video - Web APIs
to learn more about how constraints work, see capabilities, constraints, and settings.
...this tells getusermedia() that we require a video track, but we don't care about any specifics beyond that.
MediaTrackConstraints - Web APIs
to learn more about how constraints work, see capabilities, constraints, and settings.
...the value may be a single one of the following strings, or an array of them to allow the browser flexibility in deciding what to do about the cursor.
Media Capture and Streams API (Media Stream) - Web APIs
interfaces in these reference articles, you'll find the fundamental information you'll need to know about each of the interfaces that make up the media capture and streams api.
... capabilities, constraints, and settingsthe twin concepts of constraints and capabilities let the browser and web site or app exchange information about what constrainable properties the browser's implementation supports and what values it supports for each one.
MimeType - Web APIs
WebAPIMimeType
the mimetype interface provides contains information about a mime type associated with a particular plugin.
... mimetype.enabledplugin returns an instance of plugin containing information about the plugin itself.
Navigator.getBattery() - Web APIs
the getbattery() method provides information about the system's battery.
... syntax var batterypromise = navigator.getbattery(); return value a promise which, when resolved, calls its fulfillment handler with a single parameter: a batterymanager object which you can use to get information about the battery's state.
Navigator.mediaSession - Web APIs
the read-only navigator property mediasession returns a mediasession object that can be used to share with the browser metadata and other information about the current playback state of media being handled by a document.
... syntax let mediasession = navigator.mediasession; value a mediasession object the current document can use to share information about media it's playing and its current playback status.
NavigatorID.appVersion - Web APIs
returns either "4.0" or a string representing version information about the browser.
... syntax window.navigator.appversion value either "4.0" or a string representing version information about the browser.
Network Information API - Web APIs
the network information api provides information about the system's connection in terms of general connection type (e.g., 'wifi', 'cellular', etc.).
... let preloadvideo = true; var connection = navigator.connection || navigator.mozconnection || navigator.webkitconnection; if (connection) { if (connection.effectivetype === 'slow-2g') { preloadvideo = false; } } interfaces networkinformation provides information about the connection a device is using to communicate with the network and provides a means for scripts to be notified if the connection type changes.
PaymentAddress.toJSON() - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 61disabled full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android no support nolegend full support full support no support ...
PaymentRequest.abort() - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this featu...
PaymentRequest.canMakePayment() - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this featu...
PaymentRequest.prototype.id - Web APIs
WebAPIPaymentRequestid
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 60firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 8.0legend full support full support no support no supportsee implementation notes.see implementation notes.us...
PaymentRequest.onshippingaddresschange - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this featu...
PaymentRequest.onshippingoptionchange - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this featu...
PaymentRequest: paymentmethodchange event - Web APIs
for example, if the user switches from one credit card to another on their apple pay account, a paymentmethodchange event is fired to let you know about the change.
... servicefeeinfo = calculateservicefee(event.methoddetails); object.assign(detailsupdate, servicefeeinfo); } event.updatewith(detailsupdate); }, false); this begins by looking at the event's methodname property; if that indicates that the user is trying to use apple pay, we pass the methoddetails into a function called calculateservicefee(), which we might create to take the information about the transaction, such as the underlying credit card being used to service the apple pay request, and compute and return an paymentdetailsupdate object that specifies changes to be applied to the paymentrequest in order to add any service fees that the payment method might require.
PaymentRequest.shippingOption - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 53firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this featu...
PaymentRequest.shippingType - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support 11.1webview android no support nochrome android full support 55firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3samsung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.us...
PaymentResponse.complete() - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee im...
PaymentResponse.details - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee im...
PaymentResponse.payerEmail - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee im...
PaymentRequest.payerName - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 58firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 7.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature...
PaymentResponse.requestId - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 60firefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 8.0legend full support full support no support no supportsee implementation notes.see implementation notes.user...
PaymentResponse.shippingAddress - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee im...
PaymentResponse.shippingOption - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari full support yeswebview android no support nochrome android full support 56 full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessamsung internet android full support 6.0legend full support full support no support no supportsee im...
Permissions - Web APIs
to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.
Pointer Lock API - Web APIs
game players can now click buttons and swipe the mouse cursor back and forth without worrying about leaving the game play area and accidentally clicking another application that would take mouse focus away from the game.
...lockelement === canvas || document.mozpointerlockelement === canvas) { console.log('the pointer lock status is now locked'); } else { console.log('the pointer lock status is now unlocked'); } the document.exitpointerlock() method is used to exit pointer lock, and like requestpointerlock, works asynchronously using the pointerlockchange and pointerlockerror events, which you'll see more about below.
Multi-touch interaction - Web APIs
see the update_background function for more details about the color changes.
...h point ev.target.style.background = "yellow"; break; case 2: // two simultaneous touch points ev.target.style.background = "pink"; break; default: // three or more simultaneous touches ev.target.style.background = "lightblue"; } } event logging these functions are used send to event activity to the application window (to support debugging and learning about the event flow).
Web Push API Notifications best practices - Web APIs
in this document, we’ll talk about the ethical use of web push notifications.
... sometimes they can eliminate frustration and annoyance, and sometimes they can cause them, and it’s up to you as a developer to make wise recommendations (and decisions) about the use of push notifications.
RTCConfiguration - Web APIs
<<<add a link to info about multiplexed rtcp.
... <<<--- add link to information about identity --->>> example the configuration below establishes two ice servers.
RTCDataChannel: error event - Web APIs
bubbles yes cancelable no interface rtcerrorevent event handler property onerror the rtcerrorevent object provides details about the error that occurred; see that article for details.
...the message string is always output, as is information about the source file's name, line number, and column number at which the error occurred.
RTCIceCandidate.address - Web APIs
security notes it's important to note here that although webrtc does not require the two peers on an rtcpeerconnection to know one another's true ip addresses, the address property on rtcicecandidate can expose more information about the source of the remote peer than the user expects.
... the ip address can be used to derive information about the remote device's location, network topology, and so forth.
RTCIceCandidateStats - Web APIs
this function is then called for rtcstats objects whose type is local-candidate, indicating that the object is in fact an rtcicecandidatestats with information about a local ice candidate.
...rnet": case "vpn": return true; case "bluetooth": case "cellular": case "wimax": case "unknown": default: return false; } } if (rtcstats && rtcstats.type === "local-candidate") { if (!isusablenetworktype(rtcstats)) { abortconnection(); return; } } this code calls a function called abortconnection() if the rtcstats object represents information about a local candidate is which would be using a network connection other than ethernet or a vpn.
RTCIceTransport - Web APIs
the rtcicetransport interface provides access to information about the ice transport layer over which the data is being sent and received.
... this is particularly useful if you need to access state information about the connection.
RTCRtpContributingSource.source - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari ?
...to change preferences in firefox, visit about:config.opera android no support nosafari ios ?
RTCRtpReceiver - Web APIs
rtcrtpreceiver.getparameters() returns an rtcrtpparameters object which contains information about how the rtc data is to be decoded.
... rtcrtpreceiver.getstats() returns a promise whose fulfillment handler receives a rtcstatsreport which contains statistics about the incoming streams and their dependencies.
RTCRtpSender - Web APIs
the rtcrtpsender interface provides the ability to control and obtain details about how a particular mediastreamtrack is encoded and sent to a remote peer.
... with it, you can configure the encoding used for the corresponding track, get information about the device's media capabilities, and so forth.
RTCRtpStreamStats - Web APIs
the rtcrtpstreamstats dictionary is returned by the rtcpeerconnection.getstats(), rtcrtpsender.getstats(), and rtcrtpreceiver.getstats() methods to provide detailed statistics about webrtc connectivity.
...their primary purpose is to examine the error resiliency of the connection, as they provide information about lost packets, lost frames, and how heavily compressed the data is.
RTCStats - Web APIs
WebAPIRTCStats
for example, statistics about a received rtp stream are represented by rtcreceivedrtpstreamstats.
... rtcoutboundrtpstreamstats contains statistics about the local sending endpoint of an rtp stream.
Using the Screen Capture API - Web APIs
this effect can be amplified when capturing logical display surfaces, which may contain content that the user doesn't know about at all, let alone see.
... the dumpoptionsinfo() function—which we will look at in a moment—dumps information about the stream to the log box for educational purposes.
ServiceWorkerGlobalScope - Web APIs
pushsubscriptionchange occurs when a push subscription has been invalidated, or is about to be invalidated (e.g.
...about to fetch from network...'); return fetch(event.request).then(function(response) { console.log('response from network is:', response); return response; }, function(error) { console.error('fetching failed:', error); throw error; }); }) ); }); specifications specification status comment service workersthe defini...
ServiceWorkerRegistration.showNotification() - Web APIs
on android devices, the badge should accommodate devices up to 4x resolution, about 96 by 96 px, and the image will be automatically masked.
...for example, this could be in the past when a notification is used for a message that couldn’t immediately be delivered because the device was offline, or in the future for a meeting that is about to start.
Service Worker API - Web APIs
note: service workers win over previous attempts in this area such as; appcache because they don't make assumptions about what you are trying to do, and then break when those assumptions are not exactly right; you have granular control over everything.
...it contains information about the request and resulting response, and provides the fetchevent.respondwith() method, which allows us to provide an arbitrary response back to the controlled page.
TextEncoder.prototype.encodeInto() - Web APIs
see the next section about c strings.
...there are still edge-cases which are possible // in many circumstances, we can use the faster native textencoder var res8 = globaltextencoderinstance["encode"](string); var res8len = res8.length|0; if (res8len < u8len) { // if we dont have to worry about read/written u8arr.set( res8 ); return { "read": strlen, "written": res8.length|0 }; } } return polyfill_encodeinto(string, u8arr); }; } })(typeof global == "" + void 0 ?
Multi-touch interaction - Web APIs
see touch move for information about the background color changing when a 2-finger move/pinch/zoom is detected.
... // single tap` ev.target.style.background = "yellow"; break; case 2: // two simultaneous touches ev.target.style.background = "pink"; break; default: // more than two simultaneous touches ev.target.style.background = "lightblue"; } } event logging the functions are used to log event activity to the application window, to support debugging and learning about the event flow.
Using Touch Events - Web APIs
for more information about the interaction between mouse and touch events, see supporting both touchevent and mouseevent.
... what about pointer events?
UIEvent.initUIEvent() - Web APIs
the page on creating and triggering events gives more information about the way to use these.
... detail is an unsigned long specifying some detail information about the event, depending on the type of event.
UIEvent - Web APIs
WebAPIUIEvent
uievent.detailread only returns a long with details about the event, depending on the event type.
... uievent.sourcecapabilities read only returns an instance of the inputdevicecapabilities interface, which provides information about the physical device responsible for generating a touch event.
USBAlternateInterface - Web APIs
the usbalternateinterface interface of the webusb api provides information about a particular configuration of an interface provided by the usb device.
... constructor usbalternateinterface.usbalternateinterface creates a new usbalternateinterface object which will be populated with information about the alternate interface of the provided usbinterface with the given alternate setting number.
USBConfiguration - Web APIs
the usbconfiguration interface of the webusb api provides information about a particular configuration of a usb device and the interfaces that it supports.
... constructor usbconfiguration.usbconfiguration() creates a new usbconfiguration object which contains information about the configuration on the provided usbdevice with the given configuration value.
USBEndpoint - Web APIs
the usbendpoint interface of the webusb api provides information about an endpoint provided by the usb device.
... constructor usbendpoint.usbendpoint creates a new usbendpoint object which will be populated with information about the endpoint on the provided usbaltenateinterface with the given endpoint number and transfer direction.
USBInterface - Web APIs
the usbinterface interface of the webusb api provides information about an interface provided by the usb device.
... constructor usbinterface.usbinterface creates a new usbinterface object which will be populated with information about the interface on the provided usbconfiguration with the given interface number.
WEBGL_debug_renderer_info - Web APIs
the webgl_debug_renderer_info extension is part of the webgl api and exposes two constants with information about the graphics driver for debugging purposes.
... examples with the help of this extension, privileged contexts are able to retrieve debugging information about about the user's graphic driver: var canvas = document.getelementbyid('canvas'); var gl = canvas.getcontext('webgl'); var debuginfo = gl.getextension('webgl_debug_renderer_info'); var vendor = gl.getparameter(debuginfo.unmasked_vendor_webgl); var renderer = gl.getparameter(debuginfo.unmasked_renderer_webgl); console.log(vendor); console.log(renderer); specifications specification ...
WebGL2RenderingContext.getInternalformatParameter() - Web APIs
the webgl2renderingcontext.getinternalformatparameter() method of the webgl 2 api returns information about implementation-dependent support for internal formats.
... internalformat a glenum specifying the internal format about which to retrieve information (must be a color-renderable, depth-renderable or stencil-renderable format).
Boilerplate 1 - Web APIs
specifically, the html has a <p> element that contains some descriptive text about the page and may also hold error messages; a <canvas> element; and optionally a <button>.
... html <p>[ some descriptive text about the example.
WebGL by example - Web APIs
explanations about the examples are found in both the main text and in comments within the code.
... you should read all comments, because more advanced examples could not repeat comments about parts of the code that were previously explained.
Introduction to the Real-time Transport Protocol (RTP) - Web APIs
some of the more noteworthy things rtp doesn't include: editor's note: we should add information about where these deficiencies are compensated for, if they are at all.
... rtcrtpreceiver rtcrtpreceivers provide the ability to inspect and obtain information about incoming mediastreamtrack data.
Establishing a connection: The WebRTC perfect negotiation pattern - Web APIs
the best thing about perfect negotiation is that the same code is used for both the caller and the callee, so there's no repetition or otherwise added levels of negotiation code to write.
...doing so avoids error noise since we never informed our side about this offer.
Lifetime of a WebRTC session - Web APIs
this article doesn't get into details of the actual apis involved in establishing and handling a webrtc connection; it simply reviews the process in general with some information about why each step is required.
...the most important thing to know about the signaling process for webrtc: it is not defined in the specification.
Web Video Text Tracks Format (WebVTT) - Web APIs
we can also place comments in our .vtt file, to help us remember important information about the parts of our file.
...you'll find more about these in the below section.
Web Animations API Concepts - Web APIs
back then it was the only animation engine browsers had to worry about.
...(read more about how to use element.animate() in using the web animations api.) uses the api allows for the creation of dynamic animations that can be updated on the fly as well as more straightforward, declarative animations like those css creates.
Background audio processing using AudioWorklet - Web APIs
glitch project page see the code try it live creating an audio worklet processor fundamentally, an audio worklet processor (which we'll refer to usually as either an "audio processor" or simply as a "processor" because otherwise this article will be about twice as long) is implemented using a javascript module that defines and installs the custom audio processor class.
...which brings us to talking about those inputs and outputs.
Using IIR filters - Web APIs
if you are looking to learn more there's some information about the maths behind iir filters here.
...musicdsp.org is also a great resource if you want to read more about different filters and how they are implemented digitally.
Functions and classes available to Web Workers - Web APIs
10.0 (yes) 10.1 network information api provides information about the system's connection in terms of general connection type (e.g., 'wifi', 'cellular', etc.).
...in about:config, set gfx.offscreencanvas.enabled to true.
window.cancelIdleCallback() - Web APIs
to change preferences in firefox, visit about:config.ie no support noopera full support yessafari no support nowebview android full support 47chrome android full support 47firefox android full support ...
...to change preferences in firefox, visit about:config.opera android full support yessafari ios no support nosamsung internet android full support 5.0legend full support full support no support no supportexperimental.
window.dump() - Web APIs
WebAPIWindowdump
you can set the preference in about:config or in a user.js file.
... note: this preference is not listed in about:config by default, you may need to create it (right-click the content area -> new -> boolean).
Window.event - Web APIs
WebAPIWindowevent
to change preferences in firefox, visit about:config.ie full support 4opera full support 7safari full support 1.1webview android full support 1chrome android full support 18firefox android full support ...
...to change preferences in firefox, visit about:config.opera android full support 10.1safari ios full support 1samsung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.user must...
Privileged features - Web APIs
mozilla and firefox users can force new windows to always render the titlebar by setting dom.disable_window_open_feature.titlebar to true in about:config or in their user.js file.
... mozilla and firefox users can force new windows to always have a close button by setting dom.disable_window_open_feature.close to true in about:config or in their user.js file.
XRInputSourceEvent - Web APIs
to learn more about handling inputs in a webxr project, see the article inputs and input sources.
... properties frame read only an xrframe object providing the needed information about the event frame during which the event occurred.
XSLT Basic Example - Web APIs
the example will take an xml document that contains information (title, list of authors and body text) about an article and present it in an human readable form.
...the xml document (example.xml) contains the information about the article.
XSL Transformations in Mozilla FAQ - Web APIs
what about document.write?
... <xsl:if xmlns:msxsl="urn:schemas-microsoft-com:xslt" test="system-property('msxsl:version')=3"> <!-- msxml3 specific markup --> </xsl:if> what about media="print"?
ARIA Test Cases - Accessibility
(al) what about multiple selection?
...for example, what about reading the line number if the user requests that info?
ARIA annotations - Accessibility
you can learn more about this in the next section.
...� simply nest the comments inside one another, like so: <div role="comment" id="thread-1" data-author="chris"> <h3>chris said</h3> <p class="comment-text">i really think this moment could use more cowbell.</p> <p><time datetime="2019-03-30t19:29">march 30 2019, 19:29</time></p> <div role="comment" data-author="marcus"> <h3>marcus replied</h3> <p class="comment-text">i don't know about that.
Accessibility and Spacial Patterns - Accessibility
the web developer can do something about this in the manner in which he displays math.
...ty: what users can do to browse more safely web accessibiltity for seizures and physical reactions web accessibility: understanding colors and luminance braille part 3: a step-by-step guide to typesetting ada braille correctly in adobe illustrator spatial math in brailleblaster (4 of 5) government literature nasa: designing with blue math spatial reasoning: why math talk is about more than numbers scientific literature colour constancy in context: roles for local adaptation and levels of reference gamma oscillations and photosensitive epilepsy characterizing the patterned images that precipitate seizures and optimizing guidelines to prevent them arnold wilkins, john emmett, and graham harding contributers: heartfelt thanks to jim allan of the diagram center for...
Text labels and names - Accessibility
examples the title for the reference article about the <title> element is as follows: <title>&lt;title&gt;: the document title element - html: hypertext markup language</title> another example might look like so: <title>fill in your details to register — mygov services</title> to help the user, you can update the page title value to reflect significant page state changes (such as form validation problems): <title>2 errors — fill in your ...
... <input type="checkbox" id="terms"> </label> <input type="checkbox" id="emailoptin"> <label for="emailoptin">yes, please send me news about this product.</label> form elements should have a visible text label in addition to having a <label> for every form element, those labels should be visible, not hidden.
Understanding the Web Content Accessibility Guidelines - Accessibility
wcag 2.1 includes: all of wcag 2.0 (verbatim, word-for-word) 17 new success criteria at the a / aa / aaa levels primarily addressing user needs in these areas: mobile accessibility low vision cognitive read more about wcag 2.1: deque: wcag 2.1: what is next for accessibility guidelines tpg: web content accessibility guidelines (wcag) 2.1 legal standing this guide is intended to provide practical information to help you build better, more accessible websites.
...if you are worried about the legal implications of web accessibility, we'd recommend that you check the specific legislation governing accessibility for the web/public resources in your country or locale, and seek the advice of a qualified lawyer.
::slotted() - CSS: Cascading Style Sheets
WebCSS::slotted
to change preferences in firefox, visit about:config.ie no support noopera full support 37safari full support 10webview android full support 50chrome android full support 50firefox android full support ...
...to change preferences in firefox, visit about:config.opera android full support 37safari ios full support 10samsung internet android full support 5.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly e...
:host() - CSS: Cascading Style Sheets
WebCSS:host()
to change preferences in firefox, visit about:config.ie no support noopera full support 41safari full support 10notes full support 10notes notes certain css selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.webview andro...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10notes full support 10notes notes certain css selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.samsung internet android full support ...
:host - CSS: Cascading Style Sheets
WebCSS:host
to change preferences in firefox, visit about:config.ie no support noopera full support 41safari full support 10webview android full support 54chrome android full support 54firefox android full support ...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10samsung internet android full support 6.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly e...
:is() (:matches(), :any()) - CSS: Cascading Style Sheets
WebCSS:is
don't even think about it!
...to change preferences in firefox, visit about:config.
Using feature queries - CSS: Cascading Style Sheets
the difference is that with a media query you are testing something about the environment in which the web page is running, whereas with feature queries you are testing browser support for css features.
...once a floated item becomes a grid item, the float is removed — something you can read more about in supporting older browsers.
CSS Containment - CSS: Cascading Style Sheets
the browser can then use this information to make decisions about how to render the content.
...it tells the browser that the internal layout of the element is totally separate from the rest of the page, and that everything about the element is painted inside its bounds.
Backwards Compatibility of Flexbox - CSS: Cascading Style Sheets
you can also check can i use for information about when prefixes were removed in browsers to make your decision.
...the following feature query would include uc browser, which supports feature queries and old flexbox syntax, prefixed: @supports (display: flex) or (display: -webkit-box) { // code for supporting browsers } for more information about using feature queries see using feature queries in css on the mozilla hacks blog.
OpenType font features guide - CSS: Cascading Style Sheets
this article provides you with all you need to know about using opentype font features in css.
... more about alternates https://www.w3.org/tr/css-fonts-4/#propdef-font-variant-alternates /docs/web/css/font-variant-alternates ligatures (font-variant-ligatures) ligatures are glyphs that replace two or more separate glyphs in order to represent them more smoothly (from a spacing or aesthetic perspective).
Auto-placement in CSS Grid Layout - CSS: Cascading Style Sheets
a related issue may have already come to mind if you followed the last guide about named lines on the grid.
... it would be to define a rule that said “auto-place items against the next line named “n”, and grid would then skip other lines.there is an issue raised about this on the csswg github repository, and you would be welcome to add your own use cases to this.
CSS grids, logical values, and writing modes - CSS: Cascading Style Sheets
for this guide, we will look at this feature of grid and other modern layout methods, learning a little about writing modes and logical vs.
... logical properties and values logical properties and values do not make an assumption about text direction.
Line-based placement with CSS Grid - CSS: Cascading Style Sheets
we will learn more about the interaction between writing modes and grids in a later guide.
...one of the very nice things about grid layout is this ability to have white space in our designs without having to push things around using margins to prevent floats from rising up into the space we have left.
Privacy and the :visited selector - CSS: Cascading Style Sheets
before about 2010, the css :visited selector allowed websites to uncover a user's browsing history and figure out what sites the user had visited.
...this process was quick to execute, and made it possible not only to determine where the user had been on the web, but could also be used to guess a lot of information about the user's identity.
Scaling of SVG backgrounds - CSS: Cascading Style Sheets
it's worth noting that the sizing algorithm only cares about the image's dimensions and proportions, or lack thereof.
...it doesn't care what size it is, nor does it care about remaining at a particular aspect ratio.
animation-delay - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.
animation-direction - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.
...to change preferences in firefox, visit about:config.
aspect-ratio - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android partial support 79notes partial support 79notes notes webview 79 adds internal support only for mapped valueschrome android ...
...to change preferences in firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android full support 79chrome android full support 79firefox android no support ...
font-variant-caps - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.ie no support noopera full support 39safari no support nowebview android full support 52chrome android full support 52firefox android full support ...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios no support nosamsung internet android full support 6.0legend full support full support no support no supportuser must explicitly enable this f...
font-variant-position - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android no support nochrome android no support nofirefox android full support ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosamsung internet android no support nolegend full support full support no support no supportuser must explicitly enable this feature.user...
font-variant - CSS: Cascading Style Sheets
to change preferences in firefox, visit about:config.ie no support noopera full support 39safari full support 9.1webview android full support 52chrome android full support 52firefox android full support ...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 9.3samsung internet android full support 6.0greek accented characterschrome no support nonotes no support nonotes notes some operating systems may correctly omit accents in ...
position - CSS: Cascading Style Sheets
WebCSSposition
to change preferences in firefox, visit about:config.ie no support noopera full support 43safari full support 6.1prefixed full support 6.1prefixed prefixed implemented with the vendor prefix: -webkit-webview android full support ...
...to change preferences in firefox, visit about:config.opera android full support 43safari ios full support 6.1prefixed full support 6.1prefixed prefixed implemented with the vendor prefix: -webkit-samsung internet android full support 6.0legend ...
text-rendering - CSS: Cascading Style Sheets
the text-rendering css property provides information to the rendering engine about what to optimize for when rendering text.
... syntax values auto the browser makes educated guesses about when to optimize for speed, legibility, and geometric precision while drawing text.
will-change - CSS: Cascading Style Sheets
this property is intended as a method for authors to let the user-agent know about properties that are likely to change ahead of time.
... contents indicates that the author expects to animate or change something about the element’s contents in the near future.
CSS: Cascading Style Sheets
WebCSS
you might have heard about css1, css2.1, css3.
...we have covered the necessary prerequisites so we can now dive deep into css layout, looking at different display settings, modern layout tools like flexbox, css grid, and positioning, and some of the legacy techniques you might still want to know about.
Media events - Developer guides
various events are sent when handling media that are embedded in html documents using the <audio> and <video> elements; this section lists them and provides some helpful information about using them.
...information about the current amount of the media that has been downloaded is available in the media element's buffered attribute.
Making content editable - Developer guides
this article provides some information about this functionality.
...you can enable them by setting the preferences shown below using about:config: user_pref("capability.policy.policynames", "allowclipboard"); user_pref("capability.policy.allowclipboard.sites", "https://www.mozilla.org"); user_pref("capability.policy.allowclipboard.clipboard.cutcopy", "allaccess"); user_pref("capability.policy.allowclipboard.clipboard.paste", "allaccess"); example: a simple but complete rich text editor <!doctype html> <html> <head> <title>rich te...
Constraint validation - Developer guides
while marking up the form itself is easy, checking whether each field has a valid and coherent value is more difficult, and informing the user about the problem may become a headache.
... if (constraint.test(zipfield.value)) { // the zip follows the constraint, we use the constraintapi to tell it zipfield.setcustomvalidity(""); } else { // the zip doesn't follow the constraint, we use the constraintapi to // give a message about the format required for this country zipfield.setcustomvalidity(constraints[country][1]); } } then we link it to the onchange event for the <select> and the oninput event for the <input>: window.onload = function () { document.getelementbyid("country").onchange = checkzip; document.getelementbyid("zip").oninput = checkzip; } you can see a live example of the postal code validati...
Introduction to Web development - Developer guides
pt — 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.
... christian heilmann's javascript best practices — learn about some of the obvious and (not so) obvious best practices when writing javascript.
Mobile-friendliness - Developer guides
that’s why this first goal is all about presenting your content in a way that makes life easy for users on mobile device.
... goal #2 (content) “adjust your content for mobile users.” think about what your users want to do at your site if they are on a phone.
Date and time formats used in HTML - HTML: Hypertext Markup Language
fter 2:00 pm on april 1, 1977 [details] 1901-01-01t00:00z midnight utc on january 1, 1901 [details] 1901-01-01t00:00:01-04:00 1 second past midnight eastern standard time (est) on january 1, 1901 [details] basics before looking at the various formats of date and time related strings used by html elements, it is helpful to understand a few fundamental facts about the way they're defined.
...no information about the time zone is included in the string; the date and time is presumed to be in the user's local time zone.
<audio>: The Embed Audio element - HTML: Hypertext Markup Language
WebHTMLElementaudio
see our autoplay guide for additional information about how to properly use autoplay.
... preload this enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience.
<content>: The Shadow DOM Content Placeholder element (obsolete) - HTML: Hypertext Markup Language
WebHTMLElementcontent
to change preferences in firefox, visit about:config.ie no support noopera full support 26safari no support nowebview android full support 37chrome android full support 37firefox android no support ...
...to change preferences in firefox, visit about:config.opera android ?
<footer> - HTML: Hypertext Markup Language
WebHTMLElementfooter
a footer typically contains information about the author of the section, copyright data or links to related documents.
... usage notes enclose information about the author in an <address> element that can be included into the <footer> element.
<input type="reset"> - HTML: Hypertext Markup Language
WebHTMLElementinputreset
note: see the <input type="button"> page for more ideas about enabling and disabling buttons.
...there isn't really anything more to say about reset buttons.
<input type="submit"> - HTML: Hypertext Markup Language
WebHTMLElementinputsubmit
see the <input type="button"> page for more ideas about enabling and disabling buttons.
...there isn't really anything more to say about submit buttons.
Standard metadata names - HTML: Hypertext Markup Language
WebHTMLElementmetaname
the css device adaptation specification defines the following metadata name: viewport: gives hints about the size of the initial size of the viewport.
... to learn about this declaration in firefox for mobile, see this article.
<tbody>: The Table Body element - HTML: Hypertext Markup Language
WebHTMLElementtbody
basic example in this relatively simple example, we create a table listing information about a group of students with a <thead> and a <tbody>, with a number of rows in the body.
...note that all of the body cells including information about students are contained within a single <tbody> element.
<video>: The Video Embed element - HTML: Hypertext Markup Language
WebHTMLElementvideo
see our autoplay guide for additional information about how to properly use autoplay.
... preload this enumerated attribute is intended to provide a hint to the browser about what the author thinks will lead to the best user experience with regards to what content is loaded before the video is played.
HTML documentation index - HTML: Hypertext Markup Language
WebHTMLIndex
a footer typically contains information about the author of the section, copyright data or links to related documents.
... 108 <head>: the document metadata (header) element element, html, html document metadata, html:metadata content, reference, web the html <head> element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.
Microdata - HTML: Hypertext Markup Language
note: more about itemtype attributes can be found at http://schema.org/thing microdata vocabularies provide the semantics or meaning of an item.
... itemscope – itemscope (usually) works along with itemtype to specify that the html contained in a block is about a particular item.
Preloading content with rel="preload" - HTML: Hypertext Markup Language
note: there's more detail about these values and the web features they expect to be consumed by in the preload spec — see link element extensions.
... scripting and preloads another nice thing about these preloads is that you can execute them with script.
Evolution of HTTP - HTTP
during the same time, the need for an encrypted transport layer raised: the web left the relative trustiness of a mostly academic network, to a jungle where advertisers, random individuals or criminals compete to get as much private information about people, try to impersonate them or even to replace data transmitted by altered ones.
... the introduction of client-hints allows the browser, or client, to proactively communicate information about its requirements, or hardware constraints, to the server.
Configuring servers for Ogg media - HTTP
for apache, you can add the following to your configuration: addtype audio/ogg .oga addtype video/ogg .ogv addtype application/ogg .ogg you can find specific information about possible media file types and the codecs used within them in our comprehensive guide to media types and formats on the web.
... by default, ffmpeg2theora uses one key frame every 64 frames (or about every 2 seconds at 30 frames per second), which works pretty well.
Network Error Logging - HTTP
this experimental header allows web sites and applications to opt-in to receive reports about failed (and, if desired, successful) network fetches from supporting browsers.
...servfail) dns.address_changed for security reasons, if the server ip address that delivered the original report is different to the current server ip address at time of error generation, the report data will be downgraded to only include information about this problem and the type set to dns.address_changed.
An overview of HTTP - HTTP
WebHTTPOverview
new functionality can even be introduced by a simple agreement between a client and a server about a new header's semantics.
...the server can instruct proxies and clients, about what to cache and for how long.
Proxy servers and tunneling - HTTP
this page outlines some basics about proxies and introduces a few configuration options.
... to provide information about the proxy itself (not about the client connecting to it), the via header can be used.
HTTP response status codes - HTTP
WebHTTPStatus
207 multi-status (webdav) conveys information about multiple resources, for situations where multiple status codes might be appropriate.
...the webmaster must also take care about the caching-related headers that are sent along with this response, as these temporary condition responses should usually not be cached.
Equality comparisons and sameness - JavaScript
this is useful in representing certain mathematical solutions, but as most situations don't care about the difference between +0 and -0, strict equality treats them as the same value.
...which one is the better model for understanding depends on how you choose to view things.) however, this way of thinking about the built-in sameness operators is not a model that can be stretched to allow a place for es2015's object.is on this "spectrum".
Details of the object model - JavaScript
however, in talking about javascript, "instance" can be used informally to mean an object created using a particular constructor function.
...if you care about the exact value of this counter, one possible solution involves instead using the following constructor: function employee(name, dept) { this.name = name || ''; this.dept = dept || 'general'; if (name) this.id = idcounter++; } when you create an instance of employee to use as a prototype, you do not supply arguments to the constructor.
Expressions and operators - JavaScript
this section describes the operators and contains information about operator precedence.
... < <= > >= in instanceof equality == != === !== bitwise-and & bitwise-xor ^ bitwise-or | logical-and && logical-or || conditional ?: assignment = += -= *= /= %= <<= >>= >>>= &= ^= |= &&= ||= ??= comma , a more detailed version of this table, complete with links to additional details about each operator, may be found in javascript reference.
Functions - JavaScript
see also the exhaustive reference chapter about javascript functions to get to know the details.
...read more about objects and methods in working with objects.
Text formatting - JavaScript
0; console.log('fifteen is ' + (five + ten) + ' and not ' + (2 * five + ten) + '.'); // "fifteen is 15 and not 20." now, with template literals, you are able to make use of the syntactic sugar making substitutions like this more readable: const five = 5; const ten = 10; console.log(`fifteen is ${five + ten} and not ${2 * five + ten}.`); // "fifteen is 15 and not 20." for more information, read about template literals in the javascript reference.
... const germandictionary = new intl.collator('de-de-u-co-dict'); // as if sorting ["hochberg", "honigswald", "holzman"]: console.log(names.sort(germandictionary.compare).join(', ')); // logs "hochberg, holzman, hönigswald" for more information about the intl api, see also introducing the javascript internationalization api.
JavaScript Guide - JavaScript
if you need exhaustive information about a language feature, have a look at the javascript reference.
... chapters this guide is divided into several chapters: introduction about this guide about javascript javascript and java ecmascript tools hello world grammar and types basic syntax & comments declarations variable scope variable hoisting data structures and types literals control flow and error handling if...else switch try/catch/throw error objects loops and iteration for while do...while break/continue for..in for..of functions defining functions calling functions function scope closures arguments & parameters arrow functions expressions and operators assignment & comparisons arithmetic operators bitwise & logical operators conditional (ternary) operator numbers and dates num...
Warning: 08/09 is not a legal ECMA-262 octal constant - JavaScript
because this is not the case with 08 and 09, javascript warns about it.
...see the page about lexical grammar for more information.
ReferenceError: assignment to undeclared variable "x" - JavaScript
three things to note about declared and undeclared variables: declared variables are constrained in the execution context in which they are declared.
... errors about undeclared variable assignments occur in strict mode code only.
Array - JavaScript
nevertheless, trying to access an element of an array as follows throws a syntax error because the property name is not valid: console.log(arr.0) // a syntax error there is nothing special about javascript arrays and the properties that cause this.
...this array has properties and elements which provide information about the match.
FinalizationRegistry - JavaScript
it's common to use the object itself as the unregister token, which is just fine: registry.register(theobject, "some value", theobject); // ...some time later, if you don't care about `theobject` anymore...
... registry.unregister(theobject); it doesn't have to be the same object, though; it can be a different one: registry.register(theobject, "some value", tokenobject); // ...some time later, if you don't care about `theobject` anymore...
Intl.DateTimeFormat() constructor - JavaScript
for information about this option, see the intl page.
...see the following paragraphs for information about the use of this property.
Intl.Locale.prototype.baseName - JavaScript
the intl.locale.prototype.basename property returns a substring of the locale's string representation, containing core information about the locale.
...the basename property returns basic, core information about the locale in the form of a substring of the complete data string.
Number - JavaScript
a number only keeps about 17 decimal places of precision; arithmetic is subject to rounding.
... the largest value a number can hold is about 1.8×10308.
Promise - JavaScript
to learn about the way promises work and how you can use them, we advise you to read using promises first.
...states and fates contains more details about promise terminology.
WeakMap - JavaScript
you can learn more about weakmaps in the weakmap object guide (under keyed collections).
...native weakmaps can be particularly useful constructs when mapping keys to information about the key that is valuable only if the key has not been garbage collected.
import.meta - JavaScript
it contains information about the module, like the module's url.
... examples using import.meta given a module my-module.js <script type="module" src="my-module.js"></script> you can access meta information about the module using the import.meta object.
JavaScript reference - JavaScript
this part of the javascript section on mdn serves as a repository of facts about the javascript language.
... read more about this reference.
Web app manifests
the web app manifest provides information about a web application in a json text file, necessary for the web app to be downloaded and be presented to the user similarly to a native app (e.g., be installed on the homescreen of a device, providing users with quicker access and a richer experience).
...click each one for more information about it: background_colorcategoriesdescriptiondirdisplayiarc_rating_idiconslangnameorientationprefer_related_applicationsrelated_applicationsscopescreenshotsserviceworkershort_nameshortcutsstart_urltheme_color example manifest { "name": "hackerweb", "short_name": "hackerweb", "start_url": ".", "display": "standalone", "background_color": "#fff", "description": "a simply readable hacker news app.", "icons": [{ "src": "ima...
MathML
mathml reference mathml element reference details about each mathml element and compatibility information for desktop and mobile browsers.
... mathml attribute reference information about mathml attributes that modify the appearance or behavior of elements.
Digital video concepts - Web media technologies
because the eye has vastly more rods than cones (about 120 million rods to around 6 or 7 million cones), we see detail in greyscale, with color being far less detailed.
...the greyscale sensor is 120 megapixels, while the color sensor is only about 7 megapixels.
Using images in HTML - Web media technologies
WebMediaimages
image file type and format guide a guide to the various image file types commonly supported by web browsers including details about their individual use cases, capabilities, and compatibility factors.
... learn html: responsive images in this article, we'll learn about the concept of responsive images — images that work well on devices with widely differing screen sizes, resolutions, and other such features — and look at what tools html provides to help implement them.
CSS and JavaScript animation performance - Web Performance
enabling fps tools before going through the example, please enable fps tools first to see the current frame rate: in the url bar, enter about:config; click the i’ll be careful, i promise!
... to enable the omta (off main thread animation) in firefox, you can go to about:config and search for the layers.offmainthreadcomposition.async-animations.
Add to Home screen - Progressive web apps (PWAs)
note: you can find out a lot more about chrome install banners from the article web app install banners.
...it contains multiple fields that define certain information about the web app and how it should behave.
PWA developer guide - Progressive web apps (PWAs)
in the articles listed here, you'll find guides about every aspect of development specific to the greation of progressive web applications (pwas).
... for all other documentation about web development, which generally pertains to pwas as well, see our primary web development documentation.
Introduction to progressive web apps - Progressive web apps (PWAs)
an example application in this series of articles we will examine the source code of a super simple website that lists information about games submitted to the a-frame category in the js13kgames 2017 competition.
... you don't have to think about what the actual content on the website is; the main point is to learn how to use pwa features in your own projects.
Structural overview of progressive web apps - Progressive web apps (PWAs)
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>js13kgames a-frame entries</title> <meta name="description" content="a list of a-frame entries submitted to the js13kgames 2017 competition, used as an example for the mdn articles about progressive web apps."> <meta name="author" content="end3r"> <meta name="theme-color" content="#b12a34"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta property="og:image" content="icons/icon-512.png"> <link rel="shortcut icon" href="favicon.ico"> <link rel="stylesheet" href="style.css"> <link rel="manifest" href="js13kpwa.webmanifest"> <script src="data/games.
...de.</p> <button id="notifications">request dummy notifications</button> <section id="content"> // content inserted in here </section> </main> <footer> <p>© js13kgames 2012-2018, created and maintained by <a href="http://end3r.com"> andrzej mazur</a> from <a href="http://enclavegames.com">enclave games</a>.</p> </footer> </body> </html> the <head> section contains basic information about the app, including its title, description, and the needed references to its css file, web manifest, the main application javascript file (app.js, in which the app is initialized) as well as an additional javascript code file.
path - SVG: Scalable Vector Graphics
WebSVGAttributepath
for detailed information about the commands that can be used, see the explanation for the d attribute.
...for detailed information about the commands that can be used, see the explanation for the d attribute.
Namespaces crash course - SVG: Scalable Vector Graphics
in fact how does the user agent tell when xml content is something it knows about, and not just a meaningless xml file containing arbitrary element names unknown to it?
...in this case, we have chosen to use the prefix xlink (the second part) since the prefix will be used to tell the user agent about attributes that belong to xlink.
Patterns - SVG: Scalable Vector Graphics
WebSVGTutorialPatterns
they're also very powerful, so they're worth talking about and getting at least a fundamental grasp on.
... the confusing thing about patterns is defining a unit system and their size.
SVG and CSS - SVG: Scalable Vector Graphics
result notes about this demonstration: the svg document links the stylesheet in the usual way.
...there is some discussion about what rules apply to such referenced elements.
Transport Layer Security - Web security
the cipher names correspondence table on the mozilla opsec team's article on tls configurations lists these names as well as information about compatibility and security levels.
...the timeout value can be varied by editing the network.http.tls-handshake-timeout pref in about:config.
Web security
this article provides some information about signature algorithms known to be weak, so you can avoid them when appropriate.
... privacy and the :visited selector before about 2010, the css :visited selector allowed websites to uncover a user's browsing history and figure out what sites the user had visited.
Transforming XML with XSLT - XSLT: Extensible Stylesheet Language Transformations
the structure of an xml document is designed to reflect and clarify important relationships among the individual aspects of the content itself, unhindered by a need to provide any indication about how this data should eventually be presented.
...for further information about css, see eric meyer's css pages.
2015 MDN Fellowship Program - Archive of obsolete content
watch this space for information about our 2015 fellows!
API - Archive of obsolete content
archived documentation about obsolete web standards apis.
port - Archive of obsolete content
when messages are sent their payloads are automatically serialized, and when messages are received their payloads are automatically deserialized, so you don't need to worry about serialization.
Communicating using "port" - Archive of obsolete content
when messages are sent their payloads are automatically serialized, and when messages are received their payloads are automatically deserialized, so you don't need to worry about serialization.
Content Processes - Archive of obsolete content
afterwards, it was decided to keep the design the way it is: even though it's no longer necessary, it turns out that from a security point of view there are several important advantages to thinking about content and add-on code as living in different processes.
Modules - Archive of obsolete content
this makes it possible to reason about which modules have chrome capabilities and which don't.
Porting the Library Detector - Archive of obsolete content
tview.width = tab.libraries.length * icon_width; } main.js will use the tabs module to update the widget's content when necessary (for example, when the user switches between tabs): tabs.on('activate', function(tab) { updatewidgetview(tab); }); tabs.on('ready', function(tab) { tab.libraries = []; }); showing the library detail the xul library detector displayed the detailed information about each library on mouseover in a tooltip: we can't do this using a widget, so instead will use a panel.
SDK API Lifecycle - Archive of obsolete content
all warnings should include links to further information about what to use instead of the deprecated module and when the module will be completely removed.
Two Types of Scripts - Archive of obsolete content
to learn all about content scripts read the working with content scripts guide.
Working with Events - Archive of obsolete content
we talk about content scripts in more detail in the working with content scripts guide.
indexed-db - Archive of obsolete content
domexception provides more detailed information about an exception.
page-worker - Archive of obsolete content
to learn much more about content scripts, see the working with content scripts guide.
selection - Archive of obsolete content
to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
simple-prefs - Archive of obsolete content
this means that they're visible in about:config, and they can be accessed using the global simple-preferences module.
system - Archive of obsolete content
usage querying your environment using the system module you can access environment variables (such as path), find out which operating system your add-on is running on and get information about the host application (for example, firefox or fennec), such as its version.
windows - Archive of obsolete content
to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
dev/panel - Archive of obsolete content
optional dispose function a function that will be called when the panel is about to be destroyed.
event/core - Archive of obsolete content
emit(target, 'message', 'event'); // info: 'hello event' emit(target, 'data', { type: 'data' }, 'second arg'); // info: [object object] 'second arg' registered event listeners may be removed using off function: off(target, 'message'); emit(target, 'message', 'bye'); // info: 'hello bye' sometimes listener only cares about first event of specific type.
event/target - Archive of obsolete content
console.log(message); }); sometimes event listener may care only about very first event of specific type.
frame/utils - Archive of obsolete content
defaults to about:blank.
loader/sandbox - Archive of obsolete content
evaluate code module provides evaluate function that lets you execute code in the given sandbox: evaluate(scope, 'var a = 5;'); evaluate(scope, 'a + 2;'); //=> 7 more details about evaluated script may be passed via optional arguments that may improve exception reporting: // evaluate code as if it was loaded from 'http://foo.com/bar.js' and // start from 2nd line.
net/xhr - Archive of obsolete content
for more information about xmlhttprequest objects, see the mdn page on using xmlhttprequest and the security concerns section in this page.
preferences/event-target - Archive of obsolete content
these are the same preferences that are exposed to users in the about:config page.
preferences/service - Archive of obsolete content
these are the same preferences that are exposed to users in the about:config page.
system/runtime - Archive of obsolete content
access to information about firefox's runtime environment.
system/unload - Archive of obsolete content
note that if an add-on is unloaded with reason "disable", it will not be notified about "uninstall" while it is disabled.
system/xul-app - Archive of obsolete content
experimental information about the application on which your add-on is running.
tabs/utils - Archive of obsolete content
to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
util/uuid - Archive of obsolete content
for more details about uuid representations and what they are used for by the platform see the mdn documentation for jsid.
window/utils - Archive of obsolete content
to learn more about private windows, how to opt into private browsing, and how to support private browsing, refer to the documentation for the private-browsing module.
cfx to jpm - Archive of obsolete content
however, there are a few differences you have to know about.
jpm - Archive of obsolete content
mkdir my-addon cd my-addon jpm init you'll then be asked to supply some information about your add-on: this will be used to create your add-on's package.json file.
package.json - Archive of obsolete content
the package.json file contains manifest data for your add-on, providing not only descriptive information about the add-on for presentation in the add-ons manager, but other metadata required of add-ons.
Tools - Archive of obsolete content
package.json the package.json file contains manifest data for your add-on, providing not only descriptive information about the add-on for presentation in the add-ons manager, but other metadata required of add-ons.
Add a Context Menu Item - Archive of obsolete content
u.item({ label: "log selection", context: contextmenu.selectioncontext(), contentscript: 'self.on("click", function () {' + ' var text = window.getselection().tostring();' + ' self.postmessage(text);' + '});', accesskey: "l", onmessage: function (selectiontext) { console.log(selectiontext); } }); learning more to learn more about the context-menu module, see the context-menu api reference.
Creating annotations - Archive of obsolete content
annotation editor panel so far we have a page-mod that can highlight elements and send information about them to the main add-on code.
Developing for Firefox Mobile - Archive of obsolete content
see developing webextensions for firefox for android to learn more about development of webextensions for firefox for android.
Tutorials - Archive of obsolete content
this page lists practical hands-on articles about how to accomplish specific tasks using the sdk.
Autocomplete - Archive of obsolete content
turning autocomplete on for a xul widget this article is about xul widgets and not about html form inputs.
Canvas code snippets - Archive of obsolete content
for general information about using <canvas> see the canvas topic page.
Customizing the download progress bar - Archive of obsolete content
once again, a height of 12 pixels or so and a few pixels wide seems about right, though you might have to experiment with this a bit.
File I/O - Archive of obsolete content
storing nsifile in preferences the following two snippets show the right way to store a file path in user preferences (more about preferences in mozilla): absolute path (nsifile) to store an arbitrary path in user preferences, use this code: // |file| is nsilocalfile.
Finding window handles - Archive of obsolete content
// that child is hopefully the content window if (htemp) { htemp = ::getwindow(htemp, gw_child); hcontent = ::findwindowex(htemp, 0, "mozillacontentwindowclass", 0); } } // at this point hcontent is null or the content window hwnd i am not sure how "fragile" the assumptions are about the window structure, but it matched the values i got from spy++.
Forms related code snippets - Archive of obsolete content
date picker (before implementing it in a working environment, please read the note about the const statement compatibility) <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>datepicker example - mdn</title> <script type="text/javascript"> /*\ |*| |*| datepicker example mdndeveloper network |*| |*| https://developer.mozilla.org/docs/code_snippets/forms |*| https://developer.mozilla.org/user:fusionchess |*| |*| this snippet is released under the gnu public license, version 3 or later.
HTML in XUL for rich tooltips - Archive of obsolete content
that tooltip is empty now, but we will use the mouseover event to dynamically populate the tooltip (which is about to be shown) with a different message for each menuitem.
JavaScript Debugger Service - Archive of obsolete content
// your function here } }; jsd.errorhook = { onerror: function(message, filename, lineno, colno, flags, errnum, exc) { // your function here } }; // triggered when jsd.errorhook[onerror] returns false jsd.debughook = { onexecute: function(frame, type, rv) { // your function here } }; jsd.enumeratescripts({ // the enumeratescript method will be called once for every script jsd knows about enumeratescript: function(script) { // your function here } }); a simple stack trace here, we will show how to implement a simple javascript stack trace using the jsd.
Progress Listeners - Archive of obsolete content
var domwin = aprogress.domwindow; var domdoc = domwin.document; } } }; you can learn about this here: nsiwebprogresslistener - location change flags ...
Sidebar - Archive of obsolete content
users have been known to complain about this "feature", and if two or more extensions try to open their sidebars on startup, the user will see a flurry of sidebars opening and closing with which ever extension going last "winning".
Communication between HTML and your extension - Archive of obsolete content
i wasn't sure about the difference between the capture or bubbling flag that you pass to addeventlistener but every time i would catch the event in the extension, the element from the ajax request wasn't fully updated into the html page.
Downloading JSON and JavaScript in extensions - Archive of obsolete content
json is about state and does not allow functions to be decoded.
Extension Theming Guidelines - Archive of obsolete content
however these are rarely part of the style of the widgets but more about adding custom widgets.
Hiding browser chrome - Archive of obsolete content
this is done, for example, by the about:addons page.
Inline options - Archive of obsolete content
note: starting in gecko 13.0, you can also listen for the addon-options-hidden notification, which has the same subject and data as above, to find out when the ui is about to be removed.
Offering a context menu for form controls - Archive of obsolete content
there is ongoing discussion about this topic; please see bug 433168 for the latest information.
Chapter 1: Introduction to Extensions - Archive of obsolete content
about extensions management using the add-ons manager firefox's add-ons manager is an excellent way to manage extensions, and is a great step up in ease of use.
Chapter 3: Introduction to XUL—How to build a more intuitive UI - Archive of obsolete content
before you learn how to develop extensions, let's learn about xul, the xml-based user-interface language, which is one of the building blocks for extensions.
Firefox addons developer guide - Archive of obsolete content
the firefox add-ons developer guide was contributed by the mozilla japan community; it covers how to go about building firefox extensions using xpcom and xul.
Adding Events and Commands - Archive of obsolete content
for more advanced event handling, you should read about event propagation.
Adding sidebars - Archive of obsolete content
you can also read much more about trees in the xul tutorial page.
Appendix D: Loading Scripts - Archive of obsolete content
debugging: jsd knows nothing about workers and no javascript debuggers work on them.
Appendix E: DOM Building and Insertion (HTML & XUL) - Archive of obsolete content
for webextensions the most simple way is sanitize the output about javascript inline declaration and other wrong content.
Introduction - Archive of obsolete content
if you're unfamiliar with these terms, it's good that you take some time and learn a little about mozilla.
JavaScript Object Management - Archive of obsolete content
because of namespacing, we don't need to worry much about what to export, usually we just need the namespace object.
Observer Notifications - Archive of obsolete content
createinstance(components.interfaces.nsisupportsstring); // assign some text to data attribute subject.data = "this is a test."; // notify all registered observers observerservice.notifyobservers( subject, "xulschoolhello-test-topic", "hello"); } in the notifytest method, the notifyobservers call is used to notify all registered observers about the notification topic "xulschoolhello-test-topic".
Useful Mozilla Community Sites - Archive of obsolete content
if you decide to host your own extension, you'll have to learn about the update system in order to push your own updates.
Performance best practices in extensions - Archive of obsolete content
as well as looking for these specific kinds of leaks, it's worth exercising your extension's functionality and checking the contents of about:memory for any excessive memory usage.
Supporting search suggestions in search plugins - Archive of obsolete content
see creating opensearch plugins for firefox to learn more about how to implement a search plugin.
Tabbed browser - Archive of obsolete content
reusing by url/uri a common feature found in many extensions is to point the user to chrome:// uris in a browser window (for example, help or about information) or external (on-line http(s)://) html documents when the user clicks an extension's button or link.
Adding preferences to an extension - Archive of obsolete content
next, we call our own refreshinformation() method to immediately fetch and display the current information about the stock the extension is configured to monitor.
CSS3 - Archive of obsolete content
precision about the real size of the absolute length units, which are not really absolute, but defined in relation with the reference pixel .
Creating a dynamic status bar extension - Archive of obsolete content
specifically, this sample displays a stock quote in the status bar, and, when you mouse over it, displays a tooltip containing more detailed information about the stock.
dischargingtimechange - Archive of obsolete content
property type description batterymanager.dischargingtime double (float) the remaining time in seconds until the system's battery is completely discharged and the system is about to be suspended.
levelchange - Archive of obsolete content
returns 0 if the battery is empty and the system is about to suspend.
Inner-browsing extending the browser navigation paradigm - Archive of obsolete content
for example, if a given web site's framework uses xslt to format xml contents as html, would be appropriate to reuse xslt to format new data that is about to be part of the current document.
List of Former Mozilla-Based Applications - Archive of obsolete content
old article available about how borland embedded mozilla in kylix 2 mango im client last news item on site from january 2007 mobidvd dvd/vcd/cd ripping software site down mozilla suite internet application suite development shifted to firefox, thunderbird and seamonkey applications netscape navigator browser support for netscape ended on february 1, 2008 n...
Localizing an extension - Archive of obsolete content
update the chrome manifest to let firefox know about the locale files, we need to make a revision to our chrome.manifest file, adding one line for each localization: locale stockwatcher2 en-us chrome/locale/ this instructs firefox that the en-us localization is located in the chrome/locale/en-us directory.
Monitoring WiFi access points - Archive of obsolete content
code with universalxpconnect privileges can monitor the list of available wifi access points to obtain information about them including their ssid, mac address, and signal strength.
Source code directories overview - Archive of obsolete content
it is a good document for a new mozilla developer to start learning about the mozilla code base.
Working with BFCache - Archive of obsolete content
for more info about this, read how to use firefox caching.
How Thunderbird and Firefox find their configuration files - Archive of obsolete content
you'd obtain a file such as the following: [general] startwithlastprofile=1 [profile0] name=default isrelative=0 path=h:\thunderbird a discussion about this file can be found here ...
Locked config settings - Archive of obsolete content
} catch(e) { displayerror("test", e); } clear text configuration if you don't care about encoding the mozilla.cfg file, append this config to all.js instead : pref("general.config.obscure_value", 0); pref("general.config.filename", "mozilla.cfg"); ...
Other Mozilla customization pages - Archive of obsolete content
this because the program was developped for mozilla configuration in a german administration with about 2000 users.
Bonsai - Archive of obsolete content
if you're updating our cvs tree you'll need to learn about hacking with bonsai.
Structure of an installable bundle - Archive of obsolete content
official references for toolkit api structure of an installable bundle: describes the common structure of installable bundles, including extensions, themes, and xulrunner applications extension packaging: specific information about how to package extensions theme packaging: specific information about how to package themes multiple-item extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration printing in xul apps ...
Adding the structure - Archive of obsolete content
panel> <statusbarpanel class="statusbarpanel-iconic" id="tinderbox-status" status="none"/> <statusbarpanel class="statusbarpanel-iconic" id="offline-status"/> <statusbarpanel class="statusbarpanel-iconic" id="security-button" onclick="browserpageinfo(null, 'securitytab')"/> </statusbar> the statusbar xul element defines a horizontal status bar where informative messages about an application's state can be displayed.
Tinderbox - Archive of obsolete content
different platforms), most people only care about the overall situation, i.e.
Creating a hybrid CD - Archive of obsolete content
cii 'r*ch' 'text' "css file" .dtd ascii 'r*ch' 'text' "dtd file" .js ascii 'r*ch' 'text' "javascript file" .mp3 raw 'tvod' 'mpg3' "mpeg file" .mpg raw 'tvod' 'mpeg' "mpeg file" .mpeg raw 'tvod' 'mpeg' "mpeg file" .au raw 'tvod' 'ulaw' "audio file" * ascii 'ttxt' 'text' "text file" for more information about recording cds, see the cd-recordable faq.
Creating a Microsummary - Archive of obsolete content
for more information about microsummaries, see the microsummaries home page.
Dehydra Frequently Asked Questions - Archive of obsolete content
please see building with static checking for more information about static checking builds in mozilla.
Dehydra Object Reference - Archive of obsolete content
.bases array of objects inheritance information about the class.
Using Dehydra - Archive of obsolete content
as gcc compiles file, dehydra calls functions in the user analysis script with information about the code being compiled.
Download Manager preferences - Archive of obsolete content
browser.download.manager.alertonexeopen a boolean value that indicates whether the ui should alert the user about the dangers of opening (executing) an exe.
Drag and Drop JavaScript Wrapper - Archive of obsolete content
the first argument is the event object, the second is the flavor of the data and the third is a drag session object which provides more details about the drag that is occurring.
Drag and drop events - Archive of obsolete content
for more information about drag and drop, see the article drag and drop.
Error Console - Archive of obsolete content
for information about what javascript exceptions get logged into the error console, and how to make all exceptions get logged, read the article exception logging in javascript.
Using microformats - Archive of obsolete content
to use the api, you need to first load the object: components.utils.import("resource://gre/modules/microformats.js"); once you've loaded the microformats api, you can manage microformats using the methods listed here; for information about parsing microformats, see parsing microformats in javascript.
Firefox - Archive of obsolete content
out-of-date information about the firefox project.
GRE Registration - Archive of obsolete content
successfully embedding the gre requires that information about installed gres be stored on the system.
Java in Firefox Extensions - Archive of obsolete content
note bug 834918 about click-to-play effect on java plugins in chrome and bug 775301.
Basics - Archive of obsolete content
titlethe head of the notification message.string bodythe messagestringfalse iconthe url of an .ico file.string jetpack.notifications.show("hello world");var mybody = " my first message body on jetpack";var myicon = "http://www.mozilla.com/favicon.ico";jetpack.notifications.show({title: "my first message on jetpack", body: mybody, icon: myicon}); class tabs in this class you can find information about the tabs in your firefox window.
Extenders - Archive of obsolete content
manifest chief mechanism for allowing advanced api use within your jetpack superpowers similar to libraries, superpowers are for adding deeper platform coupling for your jetpack sandboxes safely abstracts library interoperability issues so you don't have to worry about them future api interface method for including not yet finalized functionality in your jetpack ...
Twitter - Archive of obsolete content
(you can read about the parameters of the various methods at twitter's api reference.) there are two special, optional properties: success and error.
Settings - Archive of obsolete content
the user can open this interface from the "settings" button next to your jetpack on the "installed features" tab of the about:jetpack page.
Settings - Archive of obsolete content
the user can open this interface from the "settings" button next to your jetpack on the "installed features" tab of the about:jetpack page.
System - Archive of obsolete content
clipboard interactions with the os clipboard system information get information about the platform on which jetpack is running visual effects os-level visual effects abilities devices methods for accessing and controlling devices (ex.
Tabs - Archive of obsolete content
ArchiveMozillaJetpackUITabs
in this class you can find information about the tabs in your firefox window.
slideBar - Archive of obsolete content
about status: in development instantiation: jetpack.future.import('slidebar') last update: v0.6 summary: slidebar is a reinvention of the old sidebar feature of browsers.
Mozilla Application Framework in Detail - Archive of obsolete content
that initiates installations windows registry access mozilla registration interfaces for registering new mozilla software facilities for detecting and maintaining application versions high-level objects for manipulating local directories and files complete reference documentation, including useful example installations the following snippet from an xpinstall installation gives you some idea about how easy it is to write cross-platform installations that use the mozilla browser: // register chrome registerchrome(package | delayed_chrome, getfolder("chrome","xmlterm.jar"), "content/xmlterm/"); registerchrome(skin | delayed_chrome, getfolder("chrome","xmlterm.jar"), "skin/modern/xmlterm/"); registerchrome(locale | delayed_chrome, getfolder("chrome","xmlterm.jar"), "locale/xmlterm/"); if (g...
Mozilla project presentations - Archive of obsolete content
community all about community this presentation provides a look at the mozilla community giving program.
New Security Model for Web Services - Archive of obsolete content
on the other hand, perhaps it is not so bad, since it permits independent management in domains where the top level owner may not care about providing access to web services.
Plug-n-Hack Get Involved - Archive of obsolete content
you can also talk to the mozilla security team about this project on the #websectools irc channel.
Configuration - Archive of obsolete content
configuration a webapp profile is a simple, ini-style text file that specifies some parameters about a webapp.
Prism - Archive of obsolete content
the configuration file is a simple, ini-style text file that specifies some parameters about a web application.
Priority Content - Archive of obsolete content
however, the link about signtool seems to be broken.
Reading textual data - Archive of obsolete content
var lis = fis.queryinterface(components.interfaces.nsilineinputstream); var linedata = {}; var cont; do { cont = lis.readline(linedata); var line = converter.converttounicode(linedata.value); // now you can do something with line } while (cont); fis.close(); see also writing textual data joel on software: the absolute minimum every software developer absolutely, positively must know about unicode and character sets ...
Remotely debugging Firefox for Metro - Archive of obsolete content
set up firefox for metro go to about:config in firefox for metro, and set the following required preference: devtools.debugger.remote-enabled = true you may also want to set these optional preferences: devtools.debugger.force-local = false (if you want to connect from a different machine over the network) devtools.debugger.remote-host (to change the tcp hostname where firefox will listen for connections) devtools.debugger.
Remote debugging - Archive of obsolete content
there give more information about the stack than a breakpad crash report: not only the names of the functions on the stack, but also the values they were passed.
SXSW 2007 presentations - Archive of obsolete content
presentations about the mozilla project given at the sxsw 2007 event in austin, texas.
Safely loading URIs - Archive of obsolete content
differences between the methods the three methods differ from each other in how the source of the uri is identified and in what is known about the uri to be loaded.
Merging TraceMonkey Repo - Archive of obsolete content
hg clone ssh://hg.mozilla.org/mozilla-central mozilla-central hg clone ssh://hg.mozilla.org/tracemonkey tm-merge cd tm-merge pull mozilla-central into tracemonkey via hg pull ../mozilla-central you will see a notice about adding at least one head to the repository -- this is the mozilla-central head that you are about to merge.
Static Analysis for Windows Code under Linux - Archive of obsolete content
troubles you can post any question about static check to the mozilla.dev.static-analysis newsgroup and any question about cross compiling to the mozilla.dev.builds newsgroup.
Table Cellmap - Archive of obsolete content
introduction the table layout use the cellmap for two purposes: quick lookup of table structural data store of the border collapse data the cellmap code is contained in nscellmap.cpp and nscellmap.h this document does currently describe only the quick lookup part of the game, border collapse is still far away cellmap data - overview the entries in the cellmap contain information about the table cell frame corresponding to a given row and column number (celldata.h).
Table Cellmap - Border Collapse - Archive of obsolete content
information storage each cellmap entry stores for tables in the border collapse mode additional information about its top and left edge and its top left corner.
Actionscript Performance Tests - Archive of obsolete content
see the --help usage for more details about performance tests.
Tamarin build documentation - Archive of obsolete content
the builtin.abc file provides internal information about the built-in classes (object, array, etc).
Tamarin - Archive of obsolete content
this page is a how-to about the changes, and what can be done to adapt source code to the changes.
Treehydra Manual - Archive of obsolete content
thus, top means the analysis has no information about that value or state.
Tuning Pageload - Archive of obsolete content
you use the url about:config or the file prefs.js in your profile to change these.
Using addresses of stack variables with NSPR threads on win16 - Archive of obsolete content
original document information author: larryh@netscape.com, wan teh chang last updated date: december 1, 2004 this note is about writing win16-portable code that uses nspr threads, probably not interesting to today's developers ...
[Deprecated] The Mozilla build VM - Archive of obsolete content
other links of interest may include: developer guide (documentation about developing on and for mozilla projects).
When To Use ifdefs - Archive of obsolete content
for instance, xpcom, the spidermonkey javascript engine, and the networking engine do not know anything about xul and should not have any ifdefs based on --disable-xul.
DOM Interfaces - Archive of obsolete content
see "not so anonymous nodes" on mozilla.dev.platform for some discussion about this.
Example Sticky Notes - Archive of obsolete content
fax - respond today.</p></div> <div class="sticker"><p>don't forget the eggs!</p></div> <div class="sticker"><p>the new project - who's on charge?</p></div> <div class="sticker"><p>learn more about xbl.</p></div> <p style="clear: left"><a href="http://validator.w3.org/check?uri=referer"><img src="https://udn.realityripple.com/samples/e2/dd625ef1cd.png" width="88" height="31" alt="valid html 4.01" style="border: 1px none"></a></p> </body> </html> notes.xml <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekee...
Creating XPI Installer Modules - Archive of obsolete content
in the following listing, the items in red are particular to the barley package and can be edited for your own distribution: <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <!-- list all the packages being supplied --> <rdf:seq about="urn:mozilla:package:root"> <rdf:li resource="urn:mozilla:package:barley"/> </rdf:seq> <!-- package information --> <rdf:description about="urn:mozilla:package:barley" chrome:displayname="barley grain" chrome:author="ian oeschger" chrome:name="barley"> </rdf:description> </rdf:rdf> create a contents.rdf file like the one in the listing above and put it in the content/ subdirect...
Install script template - Archive of obsolete content
errorcode="+myregstatus); return myregstatus; } } // ok were done, let's write info about our plugin, path, productname, etc // write a subkey to mozillaplugins with our plid //var mysetstrrc = winreg.setvaluestring(plidpath, plidid, dllabsolutepath); mymozillapluginpath = plidpath+"\\"+plidid; // for instance.
execute - Archive of obsolete content
see performinstall for more information about queued commands during the installation process.
execute - Archive of obsolete content
t in order to pass three command-line arguments (-c, -d, and -s) to the executable, you should format the args string as follows: err = file.execute(myfile, '"-c""-d""-s"', true); //technically, given the rules above, you could also pass the same //arguments with the following line, but the result is much less //readable: err = file.execute(myfile, "\"-c\"\"-d\"\"-s\"", true); also see the note about binaries on the macintosh platform in addfile.
gestalt - Archive of obsolete content
gestalt (macintosh only) retrieves information about the operating environment.
getFolder - Archive of obsolete content
you should be careful about using one of those directories, as it makes your installation platform-specific.
initInstall - Archive of obsolete content
the registry name provided here is not the location of the software on the machine, it is the location of information about the software inside the registry.
patch - Archive of obsolete content
note that the registry pathname is not the location of the software on the computer; it is the location of information about the software inside the client version registry.
Methods - Archive of obsolete content
gestalt retrieves information about the operating environment.
Properties - Archive of obsolete content
jarfile alias for archive platform contains information about the platform xpinstall was compiled for/runs on.
getValue - Archive of obsolete content
see winregvalue for information about these values.
setValue - Archive of obsolete content
see winregvalue for information about these values.
XPInstall - Archive of obsolete content
<?xml version="1.0" encoding="utf-8"?> <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <!-- properties --> </description> </rdf> cross-platform install (xpinstall) is a technology used by mozilla application suite, mozilla firefox, mozilla thunderbird and other xul-based applications for installing extensions.
XUL - Mozilla's XML User Interface Language - Archive of obsolete content
presentation view online download summary ben goodger, lead engineer for mozilla firefox talked about xul, mozilla's xml user interface toolkit.
XTech 2005 Presentations - Archive of obsolete content
xul - mozilla's xml user interface language - ben goodger ben goodger, lead engineer for mozilla firefox, talked about xul, mozilla's xml user interface toolkit.
buttons - Archive of obsolete content
help: a help button for displaying help about the dialog.
disablechrome - Archive of obsolete content
this is used to hide chrome when showing in-browser ui such as the about:addons page, and causes the toolbars to be hidden, with only the tab strip (and, if currently displayed, the add-on bar) left showing.
dlgtype - Archive of obsolete content
help a help button for displaying help about the dialog.
onpopuphiding - Archive of obsolete content
« xul reference home onpopuphiding type: script code this event is sent to a popup when it is about to be hidden.
ref - Archive of obsolete content
ArchiveMozillaXULAttributeref
this will correspond to the value of an about attribute on an rdf container.
textbox.type - Archive of obsolete content
for more information about autocomplete textboxes, see the autocomplete documentation (xpfe [thunderbird/seamonkey]) (firefox) number a textbox that only allows the user to enter numbers.
popuphiding - Archive of obsolete content
the popuphiding event is executed when a <menupopup>, <panel> or <tooltip> is about to be hidden.
popupshowing - Archive of obsolete content
the popupshowing event is executed when a <menupopup>, <panel> or <tooltip> is about to become visible.
Accessing Files - Archive of obsolete content
for more information about this, see working with directories.
Working With Directories - Archive of obsolete content
see creating directories below for information about this.
Getting File Information - Archive of obsolete content
the nsifile object has a number of useful attributes which may be used to retrieve information about a file.
Moving, Copying and Deleting Files - Archive of obsolete content
for more information about nsifile.append(), see working with directories.
findbar - Archive of obsolete content
attributes browserid, findnextaccesskey, findpreviousaccesskey, highlightaccesskey, matchcaseaccesskey properties browser, findmode methods close, onfindagaincommand, open, startfind, togglehighlight example <browser type="content-primary" flex="1" id="content" src="about:blank"/> <findbar id="findtoolbar" browserid="content"/> attributes browserid type: string the id of the browser element to which the findbar is attached.
Menus - Archive of obsolete content
for more information about how to use an overlay to modify a menu, see using menus and popups in extensions the following tables list the ids of menus in firefox that are commonly overlaid upon.
appendNotification - Archive of obsolete content
popup: null }; buttons.push(button2); //appendnotification( label , value , image (url) , priority , buttons, eventcallback ) notifybox.appendnotification("my notification text", "test notification unique id", "chrome://browser/content/aboutrobots-icon.png", notifybox.priority_info_high, buttons, testnotificationcallback); } ...
Namespaces - Archive of obsolete content
what about baz and quux?
Floating Panels - Archive of obsolete content
see closing a popup for more information about this.
MenuButtons - Archive of obsolete content
<menuitem label="save this document" default="true"/> see indicating_the_default_item for more information about the default attribute.
MenuItems - Archive of obsolete content
for more information about the popupshowing event, see the popupshowing event.
OpenClose - Archive of obsolete content
when a popup is about to be shown, the state property has a value of showing while it has the value hiding when the popup is about to be hidden.
PopupKeys - Archive of obsolete content
for more information about focus handling within panels, see focus in panels.
appLocale - Archive of obsolete content
« xul reference applocale obsolete since gecko 1.9.1 type: nsilocale returns the xpcom object which holds information about the user's locale.
buttons - Archive of obsolete content
help: a help button for displaying help about the dialog.
state - Archive of obsolete content
ArchiveMozillaXULPropertystate
hiding: the popup is about to be hidden.
Providing Command-Line Options - Archive of obsolete content
you can learn more about how the command line is interpreted by looking at the documentation for the nsicommandline interface.
Additional Template Attributes - Archive of obsolete content
it is also possible to be explicit about the two variables by using two attributes on the <template> element.
Bindings - Archive of obsolete content
<rdf:description rdf:about="http://www.xulplanet.com/ndeakin/images/t/palace.jpg" dc:title="palace from above"/> dc:description="view from the top of the tower looking east of the doges palace"/> if you try a full example based on this data, you will notice that only one result has been generated.
Building Hierarchical Trees - Archive of obsolete content
<rdf:bag rdf:about="http://www.xulplanet.com/rdf/myneighbourhood"> <rdf:li> <rdf:seq rdf:about="http://www.xulplanet.com/rdf/marion" dc:title="marion street"> the result is a two level tree with two columns.
Building Menus With Templates - Archive of obsolete content
there's nothing special about the way menus are handled -- the builder follows the same method for any type of content.
Containment Properties - Archive of obsolete content
the only difference between this and the previous example is a a couple of additional lines added to the rdf/xml: <rdf:seq rdf:about="http://www.xulplanet.com/rdf/a"> <rdf:li rdf:resource="http://www.xulplanet.com/rdf/e"/> <rdf:li rdf:resource="http://www.xulplanet.com/rdf/f"/> </rdf:seq> the effect is that there are five results instead of three.
Filtering - Archive of obsolete content
we need to add the type to the two countries in the datasource, as well as ensure that the namespace is declared on the root rdf tag: <nso:country about="http://www.daml.org/2001/09/countries/iso#it" dc:title="italy"/> <nso:country about="http://www.daml.org/2001/09/countries/iso#nl" dc:title="netherlands"/> the type of these two resources, when expanded with the namespace (not shown here), will be 'http://www.daml.org/2001/09/countries/country-ont#country'.
Introduction - Archive of obsolete content
for instance, you might use the built-in bookmarks datasource which holds the user's browser bookmarks and use your own datasource to add custom data about those bookmarks.
RDF Modifications - Archive of obsolete content
for instance, if the predicate of the triple being added was 'http://purl.org/dc/elements/1.1/date', the builder could ignore it since the template doesn't even care about the date field.
Result Generation - Archive of obsolete content
<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rel="http://www.xulplanet.com/rdf/"> <rdf:description rdf:about="http://www.xulplanet.com/rdf/a"> <rel:relateditem rdf:resource="http://www.xulplanet.com/rdf/b"/> <rel:relateditem rdf:resource="http://www.xulplanet.com/rdf/c"/> <rel:relateditem rdf:resource="http://www.xulplanet.com/rdf/d"/> </rdf:description> <rdf:description rdf:about="http://www.xulplanet.com/rdf/c"> <rel:relateditem rdf:resource="http://www.xulplanet.com/rdf/d"/> </...
Static Content - Archive of obsolete content
one interesting thing about this example is that only one menupopup will be created, even though there are two in the code, one outside the template and another one inside the action body.
Template Logging - Archive of obsolete content
the second line gives details about the new result.
textbox (Toolkit autocomplete) - Archive of obsolete content
for more information about autocomplete textboxes, see the autocomplete documentation (xpfe [thunderbird/seamonkey]) (firefox) number a textbox that only allows the user to enter numbers.
Textbox (XPFE autocomplete) - Archive of obsolete content
for more information about autocomplete textboxes, see the autocomplete documentation (xpfe [thunderbird/seamonkey]) (firefox) number a textbox that only allows the user to enter numbers.
The Joy of XUL - Archive of obsolete content
later, as the developers learned more about xul and the implementation of the basic components matured, better ways were identified to simplify the composition of the ui.
Advanced Rules - Archive of obsolete content
let's say you have a list of cities described in the following rdf/xml fragment: <rdf:seq about="http://www.xulplanet.com/rdf/weather/cities"> <rdf:li resource="http://www.xulplanet.com/rdf/weather/city/paris"/> <rdf:li resource="http://www.xulplanet.com/rdf/weather/city/manchester"/> <rdf:li resource="http://www.xulplanet.com/rdf/weather/city/melbourne"/> <rdf:li resource="http://www.xulplanet.com/rdf/weather/city/kiev"/> </rdf:seq> <rdf:description about="http://www.xulplanet.com...
Box Model Details - Archive of obsolete content
next, we will learn about a more specialized type of box, the groupbox.
Broadcasters and Observers - Archive of obsolete content
the observes element there is also a way to be more specific about which attribute of the broadcaster to observe.
Content Panels - Archive of obsolete content
a back button, a forward button and a field for typing is urls has been added to the only toolbar (we'll learn about toolbar in a later section).
Creating a Window - Archive of obsolete content
note: the local xul document can be opened in the browser as mentioned above only if |dom.allow_xul_xbl_for_file| preference in "about:config" has been set to |true| .
Creating a Wizard - Archive of obsolete content
t is best for you." </description> <label value="why do you want a dog?"/> <menulist> <menupopup> <menuitem label="to scare people away"/> <menuitem label="to get rid of a cat"/> <menuitem label="i need a best friend"/> </menupopup> </menulist> </wizardpage> <wizardpage description="dog details"> <label value="provide additional details about the dog you would like:"/> <radiogroup> <caption label="size"/> <radio value="small" label="small"/> <radio value="large" label="large"/> </radiogroup> <radiogroup> <caption label="gender"/> <radio value="male" label="male"/> <radio value="female" label="female"/> </radiogroup> </wizardpage> </wizard> this wizard has two pages, one that h...
Document Object Model - Archive of obsolete content
« previousnext » the document object model (dom) can be used with xul elements to get information about them or modify them.
Introduction - Archive of obsolete content
once you are familiar with xul, you can use the xul reference to find out about other features supported by specific elements.
Keyboard Shortcuts - Archive of obsolete content
refer to the mozilla keyboard planning faq and cross reference for more information about selecting keyboard shortcuts to use in applications.
List Controls - Archive of obsolete content
in the next section, we'll learn about creating progress meters.
Manipulating Lists - Archive of obsolete content
similar to the dom appendchild() function except that it takes a string label, and you do not have to worry about where to add it in the list structure.
Modifying a XUL Interface - Archive of obsolete content
the next section will provide more details about manipulating radio groups as well as manipulating lists.
Modifying the Default Skin - Archive of obsolete content
« previousnext » as of firefox 69, you must set the toolkit.legacyuserprofilecustomizations.stylesheets preference to true in about:config in order to load userchrome.css or usercontent.css files.
More Button Features - Archive of obsolete content
next, we will learn more details about how xul elements are positioned in a window.
More Tree Features - Archive of obsolete content
more about tree columns one additional attribute you can add to the tree is enablecolumndrag.
RDF Datasources - Archive of obsolete content
if we wanted to, we could set the ref attribute to any of the other about attribute values to limit the set of data that is returned.
Styling a Tree - Archive of obsolete content
these return information about an individual row, column and cell.
Tabboxes - Archive of obsolete content
there is really nothing special about the tab elements that make them different than boxes.
The Box Model - Archive of obsolete content
we should really use the grid element here to fix this which we'll learn about in a later section.
The Chrome URL - Archive of obsolete content
this makes it much easier to write applications that have lots of files since you don't have to worry about the details of locating files.
Toolbars - Archive of obsolete content
for more information about customizable toolbars, see creating toolbar buttons.
Tree Box Objects - Archive of obsolete content
about the tree box object box objects were described in an earlier section.
Tree Selection - Archive of obsolete content
the tree's view has a selection property which holds information about the selected rows.
Trees and Templates - Archive of obsolete content
the following example shows a sample column: <treecol id="date" label="date" flex="1" persist="width ordinal hidden sortactive sortdirection" sort="rdf:http://home.netscape.com/web-rdf#lastmodifieddate"/> more details about the persist attribute will be described in the later section.
XPCOM Interfaces - Archive of obsolete content
after learning this section, you can search suitable interfaces using xulplanet xpcom reference about xpcom mozilla is constructed from a collection of components, each of which performs a certain task.
XUL Structure - Archive of obsolete content
in firefox, this preference may be added to the user preferences by typing "about:config" in the address field, and setting this value to true.
Using the standard theme - Archive of obsolete content
for more information on how to do this, read about theming a custom toolbar button.
XUL Accesskey FAQ and Policies - Archive of obsolete content
toolbar buttons tree items list items column headers are there any crucial bugs i should know about?
XUL FAQ - Archive of obsolete content
this document contains answers to frequently asked questions about xul, mozilla's markup language for describing application's user interface.
XUL element attributes - Archive of obsolete content
this will correspond to the value of an about attribute on an rdf container.
XUL Template Primer - Bindings - Archive of obsolete content
<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:nc="http://home.netscape.com/nc-rdf#"> <rdf:description about="urn:root"> <nc:friends> <rdf:seq> <rdf:li> <rdf:description nc:name="alison appel"> <nc:address resource="#home"/> </rdf:description> </rdf:li> <rdf:li> <rdf:description nc:name="jack"> <nc:address resource="#doghouse"/> </rdf:description> </rdf:li> <rdf:li> <rdf:descriptio...
browser - Archive of obsolete content
are you here looking for information about the firefox web browser, or because you'd like to download the latest version of firefox?
button - Archive of obsolete content
help a help button for displaying help about the dialog.
columns - Archive of obsolete content
more information about columns is available in the xul tutorial.
grid - Archive of obsolete content
ArchiveMozillaXULgrid
note: this page is about grids in mozilla's xul technology.
rule - Archive of obsolete content
ArchiveMozillaXULrule
for more information about this, see the simple query syntax.
stringbundle - Archive of obsolete content
width, mousethrough, observes, ordinal, orient, pack, persist, popup, position, preference-editable, querytype, ref, removeelement, sortdirection, sortresource, sortresource2, statustext, style, template, tooltip, tooltiptext, top, uri, wait-cursor, width properties applocale obsolete since gecko 1.9.1 type: nsilocale returns the xpcom object which holds information about the user's locale.
textbox - Archive of obsolete content
for more information about autocomplete textboxes, see the autocomplete documentation (xpfe [thunderbird/seamonkey]) (firefox) number a textbox that only allows the user to enter numbers.
toolbarbutton - Archive of obsolete content
help a help button for displaying help about the dialog.
treecell - Archive of obsolete content
this will correspond to the value of an about attribute on an rdf container.
treecol - Archive of obsolete content
it displays the column header and holds the size and other information about the column.
window - Archive of obsolete content
this is used to hide chrome when showing in-browser ui such as the about:addons page, and causes the toolbars to be hidden, with only the tab strip (and, if currently displayed, the add-on bar) left showing.
XULRunner 2.0 Release Notes - Archive of obsolete content
see gecko sdk for information about the sdk.
Building XULRunner - Archive of obsolete content
you can also check the user agent string in firefox help/about menu to get the mapping from a certain binary firefox version to the corresponding xulrunner version.
Dialogs in XULRunner - Archive of obsolete content
here is the code needed to open a dialog: function opendialog() { window.opendialog("chrome://basicapp/content/dialog.xul", "newdlg", "modal"); } the resulting dialog looks like this on windows 2000, and will look similar on other operating systems: the first thing that caught my eye about dialog is the button-related attributes on the element.
XULRunner FAQ - Archive of obsolete content
this page is intended to answer frequently asked questions and correct common misconceptions about xulrunner.
MacFAQ - Archive of obsolete content
to enable the mac "about" menu make sure that you use "aboutname" as the id for your menu item to enable the mac "preferences" menu make sure that you use "menu_preferences" as the id for your options/preferences menu item toolbars mac windows have a small "jelly bean" button in the top right corner.
Make your xulrunner app match the system locale - Archive of obsolete content
the first step is to get the code we're about to write to run before any of the locale specific resources are loaded.
Opening a Link in the Default Browser - Archive of obsolete content
extps.loaduri(uritoopen, null); by default, the external protocol service will warn the user about opening the link in another application.
Using SOAP in XULRunner 1.9 - Archive of obsolete content
manual implementation - the author doesn't know enough about soap to implement a robust client in an afternoon.
XUL Application Packaging - Archive of obsolete content
the [app] section the app section specifies metadata about the application name specifies the application name.
ant script to assemble an extension - Archive of obsolete content
<filterchain> <replacetokens> <token key="version" value="${version}"/> <token key="description" value="${description}"/> </replacetokens> </filterchain> </copy> <copy file="chrome/content/blogmark/about.xul.tpl.xml" tofile="chrome/content/blogmark/about.xul" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> </replacetokens> </filterchain> </copy> ...
calIFileType - Archive of obsolete content
summary the califiletype interface provides information about a specific file type.
mozilla.dev.platform FAQ - Archive of obsolete content
0x00016b50 in xre_createappdata () a: when you <tt>--disable-libxul</tt>, the xpcom glue doesn't have information about how to load all the dependent libraries like <tt>libgfx.dylib</tt>.
Mozprocess - Archive of obsolete content
for more information about mozprocess as part of the mozbase project, please see the mozbase project page.
Mozrunner - Archive of obsolete content
for more information about mozrunner as part of the mozbase project, please see the mozbase project page.
nsIContentPolicy - Archive of obsolete content
shouldprocess() will be called once all the information passed to it has been determined about the resource, typically after part of the resource has been loaded.
2006-11-22 - Archive of obsolete content
discussions image labelling for blind help machines frank hecker brought up a valid discussion about the problem of getting images tagged for use by screen.
2006-10-20 - Archive of obsolete content
also a debate about which browser is "beating" which to a lesser extent further in the discussion.
2006-10-06 - Archive of obsolete content
david bienvenu suggests a top down architectural description of tb's data structures along with documentation about extracting them.
2006-09-29 - Archive of obsolete content
summary: mozilla.dev.builds - september 22nd to 29th 2006 .mar packages peter weilbacher posted a question and asked: how does one go about creating a .mar package that can be used in updating firefox and thunderbird?
2006-10-27 - Archive of obsolete content
cédric's posting was about a french site which had already announced the availablity of ff 2.0 final release and provided download links, even though the release was on october 24.
2006-11-03 - Archive of obsolete content
on october 30th boris zbarsky boris expresses his opinion about paul taking down one of the two build boxes that produces nightly builds for linux.
2006-10-20 - Archive of obsolete content
discussion about how to file a legal approval for a dictionary.
2006-11-10 - Archive of obsolete content
discussions help about firefox 3 a discussion on how to syncronise mozilla_1_8_branch with the trunk, which tag should be used to check-in files on trunk, and when files will be pulled from trunk to create another branch (mozilla_1_9_branch?) for firefox 3.
2006-09-22 - Archive of obsolete content
discussions discussion of l10n builds some discussion about the firefox 2 rc1 l10n builds happened, including why some locales are missing.
2006-11-10 - Archive of obsolete content
discussion version numbering changes some discussion about paul's announcement of version number changes meetings november 6 project status meeting (notes) november 7 bon echoe status meeting (notes) november 8 gecko 1.9/gran paradiso status meeting: (agenda) ...
2006-11-17 - Archive of obsolete content
version numbering changes continuation of the discussion about preed's announcement of version number changes meetings project status meeting (notes) ...
2006-11-24 - Archive of obsolete content
announcments bon echo status mike beltzner posted a small to-do list with regards to bon echo firefox 1.5.0.9/2.0.0.1 jay patel posted an update of bugs for the firefox 1.5.0.9/2.0.0.1 releases discussion non-ascii rendering performance boris zbarsky made some suggestions on how to improve international font rendering cvs commit access changes a large discussion went on about changes to policies surrounding cvs commit access project drivers and technical oversight mike connor suggested ways to better organize project management, policy making, and technical oversight.
2006-10-13 - Archive of obsolete content
summary: mozilla.dev.platform - october 7th to october 13th 2006 announcements no announcments this week other traffic javascript package system for 1.9/ff3 on sun, oct 8 2006 robert sayre inquires about the javascript package system for 1.9 for firefox 3, robert would like to know if there is any chance we'll get this?
2006-10-20 - Archive of obsolete content
nickolay ponomarev, benjamin smedberg, axel hecht clarify some misconceptions about front-end and back-end programming with xulrunner, including the difficulty of writing the backends in c++ (since that would require a recompilation on every platform frank wanted to support).
mozilla-dev-platform - Archive of obsolete content
about newsgroup summary for mozilla.dev.platform (google groups link) is for people working on the mozilla application framework ("mozilla-the-platform").
2006-09-29 - Archive of obsolete content
discussions file: vs resource: vs chrome: from a security point of view boris zbarsky gives a summary the current setup for checkloaduri (which type of security principal can load what) and asks for comments about whether that is the desired behaviour.
2006-11-17 - Archive of obsolete content
extended validation certificates a note as to how opera is handling extended validation certificates http://labs.opera.com/news/2006/10/09/ fwd: re: mozilla questions regarding the ev standard gervase markham posted a summary of questions emailed to kelvin yiu about the extended validation certificates.
2006-11-03 - Archive of obsolete content
announcements developer chat with javascript developer brendan eich on tuesday, november 7th at 10am pst (utc-8) brendan eich and some special guests will be hosting a developer chat about new technologies comming to mozilla 2.
2006-11-24 - Archive of obsolete content
discussions java versus tamarin discussion about possibility of implementing java technology in mozilla products.
2006-12-01 - Archive of obsolete content
r wilson's reply was to add a method that does the deleting with a native implementation that releases the resources held by the object as seen in this database interface: var mydbase = new pgsqlconnection; mydbase.connect("database"); mydbase.exec("select * from mytable where ..."); // use the result data - (native implementation function) mydbase.close() spidermonkey for server side inquiry about why javascript hasn't caught on for general server-side scripting.
2006-11-17 - Archive of obsolete content
discussions testing accesskey conflicts discussion about the complexity of access keys and how to detect conflicts there in the l10n community.
2006-11-24 - Archive of obsolete content
discussions backed out view manager hierarchy unification discussion aboutthe view manager hierarchy unification and the problems with tp regressions that occuring whenever update batching interacts it.
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.
2006-10-27 - Archive of obsolete content
discussions evalinsandbox and xmlhttprequest a discussion about writing something that calls a function defined by the page that the user is currently on chrome files and last modified date ways to retrieve the last modified date of a chrome file that may be in a jar or on the file system.
2006-11-24 - Archive of obsolete content
h it's com interface tutorals and references related to extension development tutorials on developing extensions which use the third party libraries for firefox references to mozilla api exposed javascript component + xmldocument not accessible a discussion on error: uncaught exception: permission denied to get property xmldocument.textcontent creating xpcom components a good discussion about "components.classes[cid] has no properties" error firefox http explanation about how firefox handles the http aspect meetings none during this week.
External resources for plugin creation - Archive of obsolete content
t two: discusses the basic lifecycle of a npapi plugin building a firefox plugin - part three: discusses npobjects and how to use them memory management in npapi: discusses how memory is managed in a npapi plugin browser plugins vs extensions (add-ons) -- the difference: discusses the oft-misunderstood difference between a plugin and an extension wikipedia npapi: history and general information about npapi plugins and extensions: the general difference between them boom swagger boom writing an npapi plugin for mac os x ...
Logging Multi-Process Plugins - Archive of obsolete content
when multi-process plugins are enabled, firefox has the ability to dump additional information about interactions between the browser and a plugin.
NPN_GetURL - Archive of obsolete content
the following recommendations about target choice apply to other methods that handle urls as well.
NPN NewStream - Archive of obsolete content
for parameter values and information about how to use them, see npn_geturl.
NPN_PostURLNotify - Archive of obsolete content
see npn_geturl for information about this parameter.
NPP - Archive of obsolete content
the npp_destroy() function informs the plug-in when the npp instance is about to be deleted; after this call returns, the npp pointer is no longer valid.
NPP_DestroyStream - Archive of obsolete content
« gecko plugin api reference « plug-in side plug-in api summary tells the plug-in that a stream is about to be closed or destroyed.
NPP_New - Archive of obsolete content
it is called after np_initialize and is passed the mime type, embedded or full-screen display mode, and, for embedded plug-ins, information about html embed arguments.
NPP_NewStream - Archive of obsolete content
for more information about each of these values, see directions in this section.
NPP_Print - Archive of obsolete content
for information about printing on your platform, see your platform documentation.
NPP_SetWindow - Archive of obsolete content
before setting the window parameter to point to a new window, it is a good idea to compare the information about the new window to the previous window (if one existed) to account for any changes.
NPRegion - Archive of obsolete content
for information about the region type definition used by your platform, see your platform documentation.
NPSetWindowCallbackStruct - Archive of obsolete content
contains information about the plug-in's unix window environment.
NPStream - Archive of obsolete content
the browser informs the plug-in when the stream is about to be deleted through npp_destroystream, after which the npstream object is no longer valid.
Adobe Flash - Archive of obsolete content
when information about when this problem on mac os x will be addressed becomes available, the constant can be updated to reflect something less arbitrary.
Shipping a plugin as a Toolkit bundle - Archive of obsolete content
for a plugin the manifest only needs to be very simple: <rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <description about="urn:mozilla:install-manifest"> <em:id>mypluginid@myplugin.com</em:id> <em:name>my plugin</em:name> <em:version>1.0</em:version> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>4.0.*</em:maxversion> </description> </em:targetapplication> <em:unpa...
XEmbed Extension for Mozilla Plugins - Archive of obsolete content
nperror np_initialize(npnetscapefuncs* nstable, nppluginfuncs* pluginfuncs) { nperror err = nperr_no_error; prbool supportsxembed = pr_false; npntoolkittype toolkit = 0; [ code that copies all of the function tables and does ] [ other standard checks ] /* * make sure that the browser supports functionality we care * about.
How RSS Works - Archive of obsolete content
you will not yet be creating your own rss files, but you will be learning about the different systems that come into play with rss syndication.
Syndicating content with RSS - Archive of obsolete content
when this is the case, the html web page can let people and machines know about the feed by using the <link> element, like this: <link rel="alternate" type="application/rss+xml" href="http://example.com/feed" /> adding the <a> while use of the html <link> element is powerful, it is mostly hidden.
What is RSS - Archive of obsolete content
and were designed to give you an idea about what rss basically looks like.
Why use RSS - Archive of obsolete content
you will not yet be creating your own rss files, but you will be learning about reasons to use it.
Getting Started - Archive of obsolete content
however, those experienced with rss may also find this useful as an aid in filling in any missing information about rss that they were not aware of, or as a refresher guide.
Atomic RSS - Archive of obsolete content
ArchiveRSSModuleAtom
documentation selected articles atomic rss tim bray talks about using atom 1.0 as a micro format and extension module for rss 2.0; keeping rss 2.0 as your sydication format but bringing in and using selected atom 1.0 elements.
Content - Archive of obsolete content
documentation selected articles why rss content module is popular - including html contents charles iliya krempeaux talks about the rss content module, why it is popular among some, and how it is used to include html contents.
Slash - Archive of obsolete content
ArchiveRSSModuleSlash
documentation selected articles up to 10 why rss slash is popular: counting your comments charles iliya krempeaux talks about the rss slash module, why it is popular among some, and how it is used to give a count for your comments (2005-08-22).
Well-Formed Web - Archive of obsolete content
documentation selected articles why well-formed web rss module is popular - syndicating your comments charles iliya krempeaux talks about the rss well-formed web module, why it is popular among some, and how it is used to link to your comments (2005-08-22).
Digital Signatures - Archive of obsolete content
(information about the hashing algorithm used is sent with the digital signature, although this isn't shown in the figure.) finally, the receiving software compares the new hash against the original hash.
Encryption and Decryption - Archive of obsolete content
(for more information about rc4 and other ciphers used with ssl, see "introduction to ssl.") an encryption key is considered full strength if the best known attack to break the key is no faster than a brute force attempt to test every key possibility.
The Basics of Web Services - Archive of obsolete content
this short guide will allow you to learn more about web services.
Create Your Own Firefox Background Theme - Archive of obsolete content
read more about the types of creative common licenses.
Making sure your theme works with RTL locales - Archive of obsolete content
the important thing to understand about these locales, is that the entire interface is mirrored right-to-left.
Using SSH to connect to CVS - Archive of obsolete content
there are a few things to note about the commands for the ms-dos command prompt.
Using Web Standards in your Web Pages - Archive of obsolete content
the last section offers excellent and best references for those wishing to learn more about upgrading techniques presented in this article and more for those wishing to perfect their web pages.
-ms-filter - Archive of obsolete content
for more information about filters, see introduction to filters and transitions.
-ms-hyphenate-limit-zone - Archive of obsolete content
for more information about supported length units, see css basic data types.
-ms-wrap-flow - Archive of obsolete content
for more information about the impact of an exclusion element on content flow, see the terminology section of the css exclusions module level 1 specification.
-ms-wrap-through - Archive of obsolete content
for more information about exclusion elements' impact on content flow, see the terminology section of the css exclusions module level 1 specification.
New in JavaScript 1.8.5 - Archive of obsolete content
some information about why: spidermonkey change du jour: the special __parent__ property has been removed bug 551529 & bug 552560.
for each...in - Archive of obsolete content
firefox now warns about the usage of for each...in and it no longer works starting with firefox 57.
Archived JavaScript Reference - Archive of obsolete content
to make the function a legacy generator, the function body should contain at least one yield expression.microsoft javascript extensionsmicrosoft browsers (internet explorer, and in a few cases, microsoft edge) support a number of special microsoft extensions to the otherwise standard javascript apis.new in javascriptthis chapter contains information about javascript's version history and implementation status for mozilla/spidermonkey-based javascript applications, such as firefox.number.tointeger()the number.tointeger() method used to evaluate the passed value and convert it to an integer, but its implementation has been removed.object.getnotifier()the object.getnotifer() method was used to create an object that allows to synthetically trigger a c...
JSObject - Archive of obsolete content
see the core javascript 1.5 guide for more information about data type conversions.
JavaArray - Archive of obsolete content
see the core javascript 1.5 guide for more information about data type conversions.
JavaObject - Archive of obsolete content
see the core javascript 1.5 guide for more information about data type conversions.
Examples - Archive of obsolete content
please refer to the article to learn more about these examples.
Properly Using CSS and JavaScript in XHTML Documents - Archive of obsolete content
xhtml is xml, not html one of the primary misunderstandings about xhtml is that it is just another version of html.
Server-Side JavaScript - Archive of obsolete content
server-side javascript is another way in which, as this article quotes eich, "mozilla wants to 'get people thinking about javascript as a more general-purpose language' and show them that 'it really is a platform for writing full applications.'" many vendors today are embedding mozilla rhino or mozilla spidermonkey into web server environments.
Styling the Amazing Netscape Fish Cam Page - Archive of obsolete content
at the end of it, there were a series of div elements that contained a picture of the fish, the name of the fish, and one or more paragraphs of text about the fish.
Writing JavaScript for XHTML - Archive of obsolete content
i read about e4x.
XForms API Reference - Archive of obsolete content
ming convention the xforms interfaces has the following naming convention: nsixforms...element interfaces implemented by the c++ part of a control nsixformsns...element interfaces extending xforms specification interfaces nsixforms...uielement interfaces implemented by the js part of a control nsixforms...accessors interface exposing states about the bound instance node for a given control frozen interfaces nsixformsmodelelement the model interface experimental interfaces nsixformsdelegate the delegate interface for xforms:custom_controls nsixformsaccessors the accessors interface for xforms:custom_controls nsixformsnsmodelelement custom extension(s) to the nsixformsmodelelem...
Implementation Status - Archive of obsolete content
mozilla xforms is not actively maintained any more since about 2010!
Mozilla XForms Specials - Archive of obsolete content
information about how to whitelist domain can be found in the release notes the cross domain check also includes forms loaded from file://.
Requests For Enhancement - Archive of obsolete content
ArchiveWebXFormsRFE
you can also contact the xforms team about your request.
XForms Input Element - Archive of obsolete content
picker - used to represent data of type xsd:date (xhtml/xul) calendar - used to represent data of type xsd:date when appearance attribute also has the value 'full' (xhtml/xul) month list - used to represent data of type xsd:gmonth (xhtml only) days list - used to represent data of type xsd:gday (xhtml only) number field - used to represent data of numeric type (fx 3.0 only, xul only) more detail about each of these widgets follows below.
XForms Config Variables - Archive of obsolete content
a description of the about:config preferences that xforms uses.
Archived open Web documentation - Archive of obsolete content
the documentation listed below is archived, obsolete material about open web topics.
Fixing Table Inheritance in Quirks Mode - Archive of obsolete content
because it is not actually part of css, it is marked with the prefix -moz- in order to avoid confusion about what is or isn't part of css.
Popup Window Controls - Archive of obsolete content
<html> <head> <title>detecting popup controls</title> <script type="text/javascript"> <!-- // attempt to open an unsolicited window var popup = window.open('about:blank', 'popup'); if (!popup) { // the user has suppressed the popup } // --> </script> </head> <body> <!-- your page here --> </body> </html> if your popup window is crucial to the operation of your web site you can notify the user and ask them to add your site to the list of sites which are allowed to use unsolicited popup windows.
Windows Media in Netscape - Archive of obsolete content
for the sake of brevity, we've made the following code snippet shorter to illustrate the relevant points about the api: var player; try { if(window.activexobject) { player = new activexobject("wmplayer.ocx.7"); } else if (window.geckoactivexobject) { player = new geckoactivexobject("wmplayer.ocx.7"); } } catch(e) { // handle error -- no wmp 7 or 9 control // can use wmp 6 also if necessary, but this is legacy software nowadays } if (player) { // windows media player control exists a...
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 ...
Bounding volume collision detection with THREE.js - Game development
it is assumed that before reading this you have read our 3d collision detection introductory article first, and have basic knowledge about three.js.
Building up a basic demo with A-Frame - Game development
after that it's all about setting the proper attributes: color, height, radius and position.
Building up a basic demo with PlayCanvas editor - Game development
even though it's a blank new project we don't have to start entirely from scratch — the camera and directional light are prepared already, so you don't have to worry about them.
Async scripts for asm.js - Game development
to see the difference, toggle javascript.options.parallel_parsing in about:config.
Implementing controls using the Gamepad API - Game development
gamepad object there's lots of useful information contained in the gamepad object, with the states of buttons and axes being the most important: id: a string containing information about the controller.
Square tilemaps implementation: Scrolling maps - Game development
the camera the camera is an object that holds information about which section of the game world or level is currently being shown.
WebRTC data channels - Game development
this article explains more about this, and shows you how to use libraries to implement data channels in your game.
asm.js - Game development
it makes it easier to collaborate across multiple js engines because it's easy to talk about and benchmark.
Build the brick field - Game development
first however we need to set up some variables to define information about the bricks such as their width and height, rows and columns, etc.
Collision detection - Game development
we need to think about adding collision detection so it can bounce off the bricks and break them.
Create the Canvas and draw on it - Game development
next steps now we've set up the basic html and learned a bit about canvas, lets continue to the second chapter and work out how to move the ball in our game.
Track the score and win - Game development
score++; } } } } } calling drawscore() from the draw() function keeps the score up to date with every new frame — add the following line inside draw(), just below the drawpaddle() call: drawscore(); displaying a winning message when all bricks have been destroyed collecting the points works well, but you won't be adding them forever — what about when all the bricks have been destroyed?
Initialize the framework - Game development
compare your code here's the full source code of the first lesson, running live in a jsfiddle: next steps now we've set up the basic html and learned a bit about phaser initialization, let's continue to the second lesson and learn about scaling.
Scaling - Game development
we can make the game scale to fit on any screen size automatically during the preload stage, so we don't have to worry about it later.
2D breakout game using Phaser - Game development
you can also make use of the gamedev phaser content kit based on this tutorial if you want to give a talk about game development with phaser.
2D maze game with device orientation - Game development
note: to find more out about implementing device orientation and what raw code would look like, read keep it level: responding to device orientation changes.
Visual JS GE - Game development
.5", path_of_node_app : "d:/path_to_server_instance_folder/server/" , // edit here path_of_www : "d:/xamp/htdocs/project_instance/", // path_to_www edit here editor_port : "1013", reg_path : "users/", account_port : 3666 , destroy_session_after_x_mseconds : 20000, }; local node.js application tools (uses in developer mode only) the following section provides information about the tools involved in visual-js game engine.
Attribute - MDN Web Docs Glossary: Definitions of Web-related terms
<input required> <!-- is the same as… --> <input required=""> <!-- or --> <input required="required"> learn more technical reference html attribute reference information about html's global attributes ...
Block (scripting) - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about it javascript block statement ...
Bootstrap - MDN Web Docs Glossary: Definitions of Web-related terms
you don't need to worry about compatibility with other browsers either, as bootstrap is compatible with all modern browsers and newer versions of internet explorer.
Bézier curve - MDN Web Docs Glossary: Definitions of Web-related terms
hereʼs an animated illustration demonstrating the creation of the curve: learn more genreal knowledge bézier curve on wikipedia learn about it cubic bézier timing functions in css keysplines svg attribute cubic bézier generator ...
Conditional - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge condition on wikipedia control flow on mdn learn about it making decisions in your code — conditionals control flow and error handling in javascript on mdn ...
Control flow - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge control flow on wikipedia technical reference javascript reference - control flow on mdn learn about it statements (control flow) on mdn ...
Cross-site scripting - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge cross-site scripting (xss) cross-site scripting on wikipedia cross-site scripting on owasp another article about cross-site scripting xss attack – exploit & protection ...
DMZ - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge dmz on wikipedia learn about it web servers and firewall - maximum security against attack on mdn ody> ...
DOM (Document Object Model) - MDN Web Docs Glossary: Definitions of Web-related terms
dom was not originally specified—it came about when browsers began implementing javascript.
Digital certificate - MDN Web Docs Glossary: Definitions of Web-related terms
a digital certificate contains information about an organization, such as the common name (e.g., mozilla.org), the organization unit (e.g., mozilla corporation), and the location (e.g., mountain view).
Dynamic typing - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about it javascript data types and data structures general knowledge type system on wikipedia ...
Encryption - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn more about encryption and decryption ...
FTU - MDN Web Docs Glossary: Definitions of Web-related terms
timezone, wifi details, default language, importing contacts), or take the "phone tour" to find out more about your device.
Function - MDN Web Docs Glossary: Definitions of Web-related terms
is way // error (https://en.wikipedia.org/wiki/immediately-invoked_function_expression) /* ​function foo() { console.log('hello foo'); }(); */ // function expressions, named or anonymous, can be called immediately (function foo() { console.log("hello foo"); }()); (function food() { console.log("hello food"); })(); (() => console.log('hello world'))(); if you'd like to know more about iifes, check out the following page on wikipedia : immediately invoked function expression learn more technical reference functions arrow functions ...
Fuzz testing - MDN Web Docs Glossary: Definitions of Web-related terms
jesse's blog posts about fuzzing wikipedia: fuzz testing fuzzdb jsfuzz - coverage guided javascript fuzzer ...
Global scope - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about it introduction to variable scope in javascript scope on wikipedia ...
Head - MDN Web Docs Glossary: Definitions of Web-related terms
the head is the part of an html document that contains metadata about that document, such as author, description, and links to css or javascript files that should be applied to the html.
Hoisting - MDN Web Docs Glossary: Definitions of Web-related terms
hoisting was thought up as a general way of thinking about how execution contexts (specifically the creation and execution phases) work in javascript.
Hyperlink - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge hyperlink on wikipedia the hyperlink guide on mdn technical reference links in html documents - w3c html5 a - hyperlink - w3c learn about it <a> on mdn <link> on mdn ...
I18N - MDN Web Docs Glossary: Definitions of Web-related terms
(the w3c definition) among other things, i18n requires support for multiple character sets (usually via unicode) units of measure (currency, °c/°f, km/miles, etc.) time and date formats keyboard layouts text directions learn more general knowledge i18n on wikipedia technical reference i18n on w3c i18n on gala-global.org learn about it i18n material on i18nguy.com ...
IMAP - MDN Web Docs Glossary: Definitions of Web-related terms
clients accessing a mailbox can receive information about state changes made from other clients.
ITU - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge itu web site learn about it itu history portal ...
Inheritance - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about it inheritance and the prototype chain ...
Internet - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about it how the internet works (introduction for beginners) ...
Key - MDN Web Docs Glossary: Definitions of Web-related terms
encrypted messages should remain secure even if everything about the cryptosystem, except for the key, is public knowledge.
MIME type - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge internet media type on wikipedia technical reference list of mime types properly configuring server mime types details information about the usage of mime types in a web context.
Media - MDN Web Docs Glossary: Definitions of Web-related terms
the term media is an overloaded one when talking about the web; it takes on different meanings depending on the context.
Method - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about it method (computer programming) in wikipedia defining a method in javascript (comparison of the traditional syntax and the new shorthand) technical reference list of javascript built-in methods ...
Microsoft Internet Explorer - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge internet explorer on wikipedia history of internet explorer on wikipedia internet explorer versions on wikipedia learning about internet explorer http://windows.microsoft.com/en-us/internet-explorer/download-ie http://windows.microsoft.com/en-us/windows7/getting-started-with-internet-explorer-9 http://windows.microsoft.com/en-us/internet-explorer/internet-explorer-help http://windows.microsoft.com/en-us/internet-explorer/make-ie-default-browser#ie=ie-11 technical reference http://windows.microsoft.com/en-us/int...
NNTP - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge nntp at wikipedia technical reference from the ietf: rfc 3977 about nntp (2006) ...
Node - MDN Web Docs Glossary: Definitions of Web-related terms
another use of the word is when talking about node.js ...
PAC - MDN Web Docs Glossary: Definitions of Web-related terms
*/ } ret = findproxyforurl(url, host) see proxy auto-configuration (pac) file for details about how these are used and how to create new ones.
Privileged - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge privilege (computing) on wikipedia learn about it information security tutorial ...
RGB - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge rgb color model on wikipedia learn about it css data type: <color> ...
RTCP (RTP Control Protocol) - MDN Web Docs Glossary: Definitions of Web-related terms
rtcp is used to provide control and statistical information about an rtp media streaming session.
Recursion - MDN Web Docs Glossary: Definitions of Web-related terms
def recurse(x): if x > 0: print(x) recurse(x - 1) recurse(10) the output will look like this: 10 9 8 7 6 5 4 3 2 1 0 learn more general knowledge recursion (computer science) on wikipedia more details about recursion in javascript ...
Reference - MDN Web Docs Glossary: Definitions of Web-related terms
on mdn, we could be talking about the javascript reference itself.
SLD - MDN Web Docs Glossary: Definitions of Web-related terms
additional subdomains can be created in order to provide additional information about various functions of a server or to delimit areas under the same domain.
SVN - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge apache subversion on wikipedia official website learn about it svn guide for localizers on mdn ...
Second-level Domain - MDN Web Docs Glossary: Definitions of Web-related terms
additional subdomains can be created in order to provide additional information about various functions of a server or to delimit areas under the same domain.
State machine - MDN Web Docs Glossary: Definitions of Web-related terms
looking at the final state, you can discern something about the series of inputs leading to that state.
Synthetic monitoring - MDN Web Docs Glossary: Definitions of Web-related terms
unlike rum, synthetic monitoring provides a narrow view of performance that doesn't account for user differences, making it useful in getting basic data about an application's performance and spot-checking performance in development environments.
Texel - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge texel (graphics) on wikipedia learn about it using textures in webgl lighting in webgl animating textures in webgl ...
Type - MDN Web Docs Glossary: Definitions of Web-related terms
types also provides us with useful knowledge about the comparison between different values.
URL - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge url on wikipedia learn about it understanding urls and their structure specification the syntax of urls is defined in the url living standard.
UTF-8 - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge utf-8 on wikipedia faq about utf-8 on unicode website ...
W3C - MDN Web Docs Glossary: Definitions of Web-related terms
it consists of over 350 member-organizations that jointly develop web standards, run outreach programs, and maintain an open forum for talking about the web.
WebSockets - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge websocket on wikipedia technical reference websocket reference on mdn learn about it writing websocket client applications writing websocket servers ...
Web performance - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about web performance perceived performance ...
World Wide Web - MDN Web Docs Glossary: Definitions of Web-related terms
learn more learn about it learn the web web literacy map (an inventory of skills needed in web development) general knowledge world wide web on wikipedia the w3c website ...
XHR (XMLHttpRequest) - MDN Web Docs Glossary: Definitions of Web-related terms
the documentation on mdn about how to use xmlhttprequest.
XQuery - MDN Web Docs Glossary: Definitions of Web-related terms
learn more general knowledge official website xquery on wikipedia technical reference discussion about using xquery from firefox ...
beacon - MDN Web Docs Glossary: Definitions of Web-related terms
beacons are generally included to provide information about the user for statistical purposes.
Character encoding - MDN Web Docs Glossary: Definitions of Web-related terms
for example, in html we normally declare a character encoding of utf-8, using the following line: <meta charset="utf-8"> this ensures that you can use characters from just about any human language in your html document, and they will display reliably.
Assessment: Accessibility troubleshooting - Learn web development
project brief for this project, you are presented with a fictional nature site displaying a "factual" article about bears.
Test your skills: HTML accessibility - Learn web development
you don't need to worry too much about recreating the exact same look and text sizing, as long as the semantics are good.
A cool-looking box - Learn web development
write a comment about how you worked out the value.
Combinators - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to learn about the different combinator selectors that can be used in css.
Pseudo-classes and pseudo-elements - Learn web development
prerequisites: basic computer literacy, basic software installed, basic knowledge of working with files, html basics (study introduction to html), and an idea of how css works (study css first steps.) objective: to learn about the pseudo-class and pseudo-element selectors.
CSS selectors - Learn web development
the following for example selects paragraphs that are direct children of <article> elements using the child combinator (>): article > p { } next steps you can take a look at the reference table of selectors below for direct links to the various types of selectors in this learn section or on mdn in general, or continue on to start your journey by finding out about type, class, and id selectors.
Sizing items in CSS - Learn web development
note: find out more about responsive image techniques.
CSS building blocks - Learn web development
this article will give you guidance on how to go about debugging a css problem, and show you how the devtools included in all modern browsers can help you find out what is going on.
Normal Flow - Learn web development
if you want to control the size of an inline element in this manner, you need to set it to behave like a block level element with display: block; (or even,display: inline-block; which mixes characteristics from both.) that explains individual elements, but what about how elements interact with one another?
Positioning - Learn web development
what about when we have more than one?
Styling text - Learn web development
styling lists lists behave like any other text for the most part, but there are some css properties specific to lists that you need to know about, and some best practices to consider.
How can we design for all types of users? - Learn web development
line width there is a longstanding debate about line length on the web, but here's the story.
How much does it cost to do something on the Web? - Learn web development
read on about how to choose and install a text editor.
What is a URL? - Learn web development
don't worry about this, you don't need to know them to build and use fully functional urls.
What is a web server? - Learn web development
next steps now that you are familiar with web servers, you could: read up on how much it costs to do something on the web learn more about various software you need to create a website move on to something practical like how to upload files on a web server.
What software do I need to build a website? - Learn web development
if you'd like to learn more about text editors, read our article about how to choose and install a text editor.
Common questions - Learn web development
in this article we highlight some things to think about when choosing and installing a text editor for web development.
Styling web forms - Learn web development
before we do that however, we'd like to say a few words about specific aspects of form styling that are worth knowing about.
Test your skills: Advanced styling - Learn web development
this can be anything you like, but you probably want to set a width and height (of somewhere between about 18 and 24 pixels), and a subtle border and/or background color.
Publishing your website - Learn web development
publishing a website is a complex topic because there are many ways to go about it.
What will your website look like? - Learn web development
to begin, you'll need to answer these questions: what is your website about?
Getting started with the Web - Learn web development
how the web works when you access your favorite website, a lot of complicated things happen in the background that you may not know about.
Add a hitmap on top of an image - Learn web development
if your image map is wider than about 240px, you’ll need to make further adjustments to make your website responsive.
Use HTML to solve common problems - Learn web development
LearnHTMLHowto
how to create a basic html document how to divide a webpage into logical sections how to set up a proper structure of headings and paragraphs basic text-level semantics html specializes in providing semantic information for a document, so html answers many questions you might have about how to get your message across best in your document.
Structuring a page of content - Learn web development
previous overview: introduction to html structuring a page of content ready for laying it out using css is a very important skill to master, so in this assessment you'll be tested on your ability to think about how a page might end up looking, and choose appropriate structural semantics to build a layout on top of.
Assessment: Structuring planet data - Learn web development
project brief you are working at a school; currently your students are studying the planets of our solar system, and you want to provide them with an easy-to-follow set of data to look up facts and figures about the planets.
Choosing the right approach - Learn web development
if you want to use async/await but are concerned about older browser support, you could consider using the babeljs library — this allows you to write your applications using the latest javascript and let babel figure out what changes if any are needed for your user’s browsers.
Introducing asynchronous JavaScript - Learn web development
note: you'll learn a lot more about promises later on in the module, so don't worry if you don't understand them fully yet.
Asynchronous JavaScript - Learn web development
a set number of times per second), talk about what they are useful for, and look at their inherent issues.
Test your skills: Conditionals - Learn web development
we want you to create a conditional that checks whether season contains the string "summer", and if so assigns a string to response that gives the user an appropriate message about the season.
Client-side web APIs - Learn web development
for this tutorial, we will assume that you are knowledgable about the core javascript language, and we will explore common web apis in a bit more detail.
Handling text — strings in JavaScript - Learn web development
in this article, we'll look at all the common things that you really ought to know about strings when learning javascript, such as creating strings, escaping quotes in strings, and joining strings together.
Test your skills: Arrays - Learn web development
the items can be anything you want — how about your favourite foods or bands?
Test your skills: variables - Learn web development
the results panel should be outputting the name chris, and a statement about how old chris will be in 20 years' time.
JavaScript object basics - Learn web development
note: it is useful to think about the way objects communicate as message passing — when an object needs another object to perform some kind of action often it sends a message to another object via one of its methods, and waits for a response, which we know as a return value.
Object building practice - Learn web development
this handles the properties, but what about the methods?
Test your skills: JSON - Learn web development
json data about some mother cats and their kittens is available in sample.json.
JavaScript — Dynamic client-side scripting - Learn web development
after getting familiar with the basics of javascript, you should be in a position to learn about more advanced topics, for example: javascript in depth, as taught in our javascript guide web apis modules this topic contains the following modules, in a suggested order for working through them.
HTML performance features - Learn web development
objective: to learn about the impact of html elements and attributes on web performance optimization.
Multimedia: Images - Learn web development
objective: to learn about the various image formats, their impact on performance, and how to reduce the impact of images on overall page load time.
Perceived performance - Learn web development
performance is about user perception.
JavaScript performance - Learn web development
objective: to learn about the effects of javascript on performance optimization, and how a javascript file size is not the only impact on web performance.
Multimedia: video - Learn web development
objective: to learn about the various video formats, their impact on performance, and how to reduce video impact on overall page load time while serving the smallest video file size based on each browsers file type support.
Web performance - Learn web development
this article introduces the components of performance, from web page loading and rendering, including how your content makes it into your users browser to be viewed, to what groups of people we need to consider when thinking about performance, how do users perceive performance?
Learning area release notes - Learn web development
also see our hacks post — introducing the mdn web docs front-end developer learning pathway — for more information about the rationale behind it.
Properly configuring server MIME types - Learn web development
if the media type is displayed using a plug-in in netscape gecko, install the plug-in and then look in the help->about plug-ins menu to see what mime types are associated with the media type.
Ember interactivity: Events, classes and state - Learn web development
when beginning to think about interactivity, it's good to declare what each component's goals and responsibilities are.
Ember resources and troubleshooting - Learn web development
mut was not covered in this tutorial and is really baggage from a transitional time when ember was moving from two-way bound data to the more common and easier-to-reason-about one-way bound data flow.
Vue conditional rendering: editing existing todos - Learn web development
add this line at the top of your <script> element: import todoitemeditform from "./todoitemeditform"; and add a components property about the props property inside the component object: components: { todoitemeditform }, now, if you go to your app and click a todo item's "edit" button, you should see the checkbox replaced with the edit form.
Adding a new todo form: Vue events, methods, and models - Learn web development
objective: to learn about handling forms in vue, and by association, events, models, and methods.
Rendering a list of Vue components - Learn web development
key attribute before we do that, there's one other piece of syntax to know about that is used with v-for, the key attribute.
Styling Vue components with CSS - Learn web development
objective: to learn about styling vue components.
Implementing feature detection - Learn web development
the mother of all feature detection libraries is modernizr, and it can detect just about everything you'll ever need.
Cross browser testing - Learn web development
what users, browsers, and devices do you most need to worry about?), how to go about doing testing, the main issues that you'll face with different types of code and how to mitigate them, what tools are most useful in helping you test and fix problems, and how to use automation to speed up testing.
Deploying our app - Learn web development
as this project is deploying to netlify, and netlify only asks about the build command, we will have to make the tests part of the build.
Accessibility/LiveRegionDevGuide
for more information about live regions, please read the aria properties spec or the live region report to learn about aria live region markup and the live region api support document for the latest firefox api with regards to live regions.
Embedding API for Accessibility
/* behavior: 0=accept, 1=accept images from originating server only, 2=no images */ moz 0.8 cookies setintpref("network.cookie.cookiebehavior", behavior); /* behavior: 0=accept, 1=accept cookies from originating server only, 2=no cookies */ setboolpref("network.cookie.warnaboutcookies", boolwarn); moz 0.8 fonts setcharpref("font.name.monospace.x-western", newfontname); setcharpref("font.name.serif.x-western", newfontname); setcharpref("font.name.sans-serif.x-western", newfontname); /* for other i18n charsets, change x-western to x-c...
Information for External Developers Dealing with Accessibility
other useful resources links for those who wish to learn more about web accessibility or open source accessibility.
Links and Resources
wave 3.0 (web accessibility versatile evaluator) from webaim and sponsored by temple university institute on disabilities wave 3.0 is another powerful, mature, free online webpage accessibility validation service that identifies accessibility errors and reports accessibility warnings about webpage related to section 508 standards and/or the wcag guidelines.
Mozilla's Section 508 Compliance
(d) sufficient information about a user interface element including the identity, operation and state of the element shall be available to assistive technology.
Accessible Toolkit Checklist
the checklist this checklist is currently only for microsoft windows, but should be expanded to include information about linux and os x.
ZoomText
our main focus is on the browser itself, so you you only need to install mailnews or address book if curious about the other apps.
Frequently Asked Questions for Lightweight themes
to get started read more about how to create a theme.
Add-ons
for more information about transition support, please visit our wiki page.
Adding phishing protection data providers
installing a new data provider to install a data provider for phishing protection, it's necessary to set a series of preferences to provide details about the provider.
Choosing the right memory allocator
ns_alloc() == nsimemory::alloc() ns_realloc() == nsimemory::realloc() ns_free() == nsimemory::free() nsmemory::clone() (note: not part of nsimemory) see infallible memory allocation for information about how to allocate memory infallibly; that is, how to use memory allocators that will only return valid memory buffers, and never return null.
Cookies Preferences in Mozilla
(the old prefs are network.cookie.lifetime.enabled, network.cookie.lifetime.behavior, and network.cookie.warnaboutcookies.) true = prefs have been migrated false = migrate prefs on next startup original document information author(s): mike connor last updated date: may 22, 2004 copyright information: portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a creative commons license | details.
Creating Sandboxed HTTP Connections
channel.asyncopen(listener, null); http notifications the above mentioned listener is a nsistreamlistener, which gets notified about events such as http redirects and data availability.
Debugging update problems
useful preferences enabling the following preferences in about:config can help troubleshoot problems with updates: app.update.log - for application updates; extensions.logging.enabled - for add-on updates.
Debugging on Windows
by default it will be: vc++ 6.0: c:\program files\microsoft visual studio\common\msdev98\bin\autoexp.dat vc++ 7.0: c:\program files\microsoft visual studio .net 2003\common7\packages\debugger\autoexp.dat the file has information about the format in the beginning, and after a little practice you should be well on your way.
Building Firefox with Debug Symbols
see https://dxr.mozilla.org/mozilla/source/toolkit/crashreporter/tools/upload_symbols.sh for more information about the environment variables used by this target.
Configuring Build Options
omm/mail to build firefox, run the following commands: export mozconfig=/path/to/mozilla/mozconfig-firefox ./mach build to build thunderbird, run the following commands: export mozconfig=/path/to/mozilla/mozconfig-thunderbird ./mach build using mozconfigwrapper mozconfigwrapper is similar to using multiple mozconfig files except that it abstracts and hides them so you don't have to worry about where they live or which ones you've created.
Simple SeaMonkey build
this requires more disk space, about 3 gb, and twice as much available ram.
Simple Sunbird build
this requires more disk space, about 2.5 gb.
pymake
usage if you use mach for everything, you don't have to worry about gmake and pymake: mach will run whatever is best for the current machine.
Callgraph
the callgraph project uses gcc and treehydra to generate information about function and method calls at compile time, and aggregates it into a sqlite database.
Creating Custom Events That Can Pass Data
as of gecko 1.8, if your event names do not start with "nsdom" and their interfaces do not start with "nsidom" then you can forget about passing data.
ESLint
no-undef (eslint) if you don't understand a rule, you can look it up on eslint.org for more information about it.
Reviewer Checklist
[fennec: when writing tests that use paintedsurface, ensure the paintedsurface is closed when you're done with it.] performance impact check for main-thread io [fennec: android may warn about this with strictmode].
Working with Mozilla source code
navigating the mozilla source code learn about the various folders in the mozilla source tree, and how to find what you're looking for.
Frame script environment
this means you don't have to worry about global variables you define conflicting with global variables defined by another frame script.
Frame script environment
this means you don't have to worry about global variables you define conflicting with global variables defined by another frame script.
Frame script loading and lifetime
var gcontentframemessagemanager = this; addeventlistener('unload', function(aevent) { if (aevent.target == gcontentframemessagemanager) { sendasyncmessage('my-addon-id', 'framescript-died'); // if you did not set third argument of `services.mm.addmessagelistener` to `true`, then this will fail to send a message } }, false); note about unload during uninstallation/upgrade when your add-on is uninstalled, or disabled, you should: cancel it, if you have used allowdelayedload, by calling removedelayedframescript; ensuring the frame script is not loaded into any new tabs.
Process scripts
in just about every respect, using process scripts is like using frame scripts: you can pass the allowdelayedload to loadprocessscript().
Errors
you can find further information about them by clicking on the links below: a request to access cookies or storage was blocked because of a custom cookie permission blocked because it came from a tracker and content blocking is enabled blocked because we are blocking all storage access requests blocked because we are blocking all third-party storage access requests and content blocking is enabled granted partitioned access because it came from a third-party and dynamic first-party isolation is enabled ...
Storage access policy: Block cookies from trackers
to do so: type about:config in your address bar.
Security best practices for Firefox front-end engineers
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 Operational Information Database: SQLite
a large amount of operational information about websites visited and browser configuration is stored in relational databases in sqlite used by firefox.
Using the Browser API
MozillaGeckoChromeAPIBrowser APIUsing
zoomin.addeventlistener('touchend',function() { zoomfactor += 0.1; browser.zoom(zoomfactor); }); zoomout.addeventlistener('touchend',function() { zoomfactor -= 0.1; browser.zoom(zoomfactor); }); controlling the stop/reload button next, let's talk about the stop/reload button.
HTMLIFrameElement.addNextPaintListener()
this event provides information about what has been repainted.
HTMLIFrameElement.clearMatch()
invoking this method results in a mozbrowserfindchange event firing, which carries details about the search results.
HTMLIFrameElement.findAll()
invoking this method results in a mozbrowserfindchange event firing, which carries details about the search results.
HTMLIFrameElement.findNext()
invoking this method results in a mozbrowserfindchange event firing, which carries details about the search results.
mozbrowsercaretstatechanged
details the details property returns an anonymous javascript object with the following properties: rect an object that defines information about the bounding rectangle of the current selection.
mozbrowserfirstpaint
the mozbrowserfirstpaint event is fired when the <iframe> paints content for the first time (this doesn't include the initial paint from about:blank).
mozbrowserselectionstatechanged
commands an object that stores information about what commands can be executed on the current selection.
Embedding Mozilla
embedding tips some frequently asked questions about embedding.
Gecko SDK
contents of the sdk the sdk contains the following: 1.9.2 idl files for frozen interfaces (under idl/) header files for frozen interfaces, xpcom functions, and nspr functions (under include/) import libraries or shared libraries (under lib/) static utility libraries (under lib/) various tools (under bin/) for more information about safely linking xpcom components using the xpcom "glue" library, see xpcom glue.
Gecko Keypress Event
(bug 359638 partially addressed this issue by trying both characters on the key, but bug 303192 would provide a complete solution.) solution the following rules apply: key handlers should be provided with information about all the possible meanings of the event.
Gecko
gecko faq frequently asked questions about gecko.
Gecko's "Almost Standards" Mode
authors outside of ibm do not need to worry about the custom doctype that will also trigger "almost standards" mode.
Getting from Content to Layout
nscssframeconstructor gets notified from the document's presshell (which implements nsidocumentobserver and observes the document) about all nodes in the document.
HTTP Cache
k and memory cache content or purge any intermediate memory structures: clear – after it returns, all entries are no longer accessible through the cache apis; the method is fast to execute and non-blocking in any way; the actual erase happens in background purgefrommemory – removes (schedules to remove) any intermediate cache data held in memory for faster access (more about the intermediate cache below) nsiloadcontextinfo distinguishes the scope of the storage demanded to open.
Hacking with Bonsai
read the introduction to bonsai for more information about queries.
How to implement a custom autocomplete search component
basic example for gecko 2.0 and up (firefox 4 / thunderbird 3.3 / seamonkey 2.1) this example is your first best try because: it has no specific logic (it just returns a dummy array of choices) it doesn't care about compatibility with older gecko versions first copy the following javascript code into a file named basic_autocomplete.js into the components directory (or whatever components folder is appropriate in your case): warning: the uuid used below in chrome.manifest and assigned to class_id must be changed before use.
How to investigate Disconnect failures
under about:crashes we have links to all the crashes submitted by firefox to crash-stats.
IME handling guide
imestatemanager works more complicated because imestatemanagers in each processe need to negotiate about owner ship of managing input context.
IPDL Best Practices
while this can be worked around with actordestroy, being explicit about deleting the protocol with send__delete__ is easier to maintain, with symmetric alloc/deallocpprotocol functions also being easier to reason about.
Extending a Protocol
we need to add the following things: at the top of the file: include protocol pecho; after "manager pbrowser or pinprocess;", add: manages pecho; finally, under parent: add async pecho(); - this is the "constructor" part we talked about before, which will allow us to eventually send messages.
PBackground
this allows the dom code to generally not worry about what thread (main vs.
Internationalized Domain Names (IDN) Support in Mozilla Browsers
if you find idn test sites under the .com and .net top domains, and if you cannot successfully access these sites, you can use the following workaround until the conversion to punycode is completed for these top domains: using netscape 7.1 or mozilla 1.4: type about:config into the location/url bar.
JavaScript-DOM Prototypes in Mozilla
ok, so that's how class constructor and their prototype properties are set up, what about the actual prototype chain of a xpconnected dom object?
JavaScript Tips
xpconnect knows all about tearoffs and modifies the object that you queryinterface or instanceof to cache all its known interfaces.
AddonAuthor
url optional string an optional url with details about the person.
AddonManager
the addonmanager object is the global api used to access information about add-ons installed in the application and to manipulate them.
AddonType
add-on types hold useful information about each type of add-on that may be installed.
AddonUpdateChecker
if all you care about is finding the newest version for an addon then you probably want to use findupdates() instead.
DeferredTask.jsm
promise finalize(); example firefox 28 note this section describes about deferredtask.jsm in firefox 28.0 or higher.
DownloadError
a downloaderror object provides detailed information about a download failure.
JNI.jsm
a note about firefox for android, this jsm file is already globally imported and is available from the privileged window scope as window.jni.
Log.jsm
something bad happened!"); log.debug("details about bad thing only useful during debugging", {someinfo: "nothing"}); log.warn("here is an error", new error("ouch")); logger levels fatal severe errors that cause premature termination.
PopupNotifications.jsm
"showing" the notification is about to be shown.
SourceMap.jsm
get a reference to the module: let sourcemap = {}; components.utils.import('resource:///modules/devtools/sourcemap.jsm', sourcemap); sourcemapconsumer a sourcemapconsumer instance represents a parsed source map which we can query for information about the original file positions by giving it a file position in the generated source.
Sqlite.jsm
you don't need to worry about caching created statement instances, destroying them when you are done, etc.
source-editor.jsm
need link to text about handling breakpoint conditions here.
Localization: Frequently asked questions
for more detailed documentation about localization in general, see our localization page.
Localizing XLIFF files for iOS
open the file in firefox to have it run a validity check and correct any errors it might yell about.
Patching a Localization
for more information about branches see l10n:branches.
Release phase
for more detailed information about reviews for new localizations and sign-offs for maintenance releases, visit the technical review and sign-off review pages.
SVN for Localizers
you can also run svn status to check the list of modified files (they'll display a m before the name) you're about to commit.
Localization formats
read more about gettext on wikipedia and on mdc.
Web Localizability
why localizability is important there are many reasons why you should start thinking about making your web app localizable as soon as possible.
gettext
read more about plurals in gettext at gnu.org.
Basics
riptlevel="0"> <mrow> <mn>2</mn> <mo>+</mo> <mfrac numalign="left"> <mstyle scriptlevel="0"> <msup><mn>7</mn><mn>2</mn></msup> </mstyle> <mstyle scriptlevel="0"> <mn>2</mn><mo>+</mo><mo mathvariant="bold">...</mo> </mstyle> </mfrac> </mrow> </mstyle> </mfrac> </mrow> </mstyle> </mfrac> </mrow> </mstyle> </mfrac> </mrow> </mstyle> </mfrac> </mrow> </math> </button> </div> for more information about mathml in mozilla, see the mathml project page.
Fonts for Mozilla 2.0's MathML engine
to do this, enter the url "about:config", "filter" for "mathfont", and "reset" to the default value through the context menu on the preference.
Mobile
read about how to develop web sites that look good on mobile devices and take advantage of the new possibilities they offer.
Mozilla Development Strategies
make sure you have the right fix when you go for reviews when tempted to do a first pass fix and fix the fallout later, do it right the first time; don't assume you'll be able to file a "fix it" bug and fix stuff you know about later -- chances are the reviewer will make you do the work anyway.
Mozilla Quirks Mode Behavior
something about the overhanging border (i.e., the half of the border that's outside the border-box) in border-collapse tables differs between quirks mode and standards mode.
Mozilla Style System Documentation
i'm reluctant to write it both since i don't know much about it.] problems:a bunch the code needs to be rewritten to prevent stylesheets from blocking the parser and to reduce string copying (although that partly goes with parsing).] parsing stylesheet representation problems: the stylesheet representation uses way too much memory.
Mozilla
stuff about the mozilla namespace.
Namespace
below, find links to articles about c++ classes mozilla uses within various namespaces, primarily the mozilla namespace.
Are We Slim Yet
it used the same infrastructure as about:memory to measure memory usage on a predefined snapshot of alexa top 100 pages known as tp5.
BloatView
bloatview is a tool that shows information about cumulative memory usage and leaks.
Refcount tracing and balancing
this results in slower code, but at least you get some data about where the leaks might be occurring from.
Reporting a Performance Problem
try to give some context about what you were doing when the performance problem arose such as the url you were viewing and what actions were you doing (ex.
Scroll-linked effects
in order to do so, we need you (yes, you!) to tell us more about the kinds of scroll-linked effects you are trying to implement, so that we can find good ways to support them in the compositor.
TraceMalloc
other documentation some older documentation about tracemalloc is here.
A brief guide to Mozilla preferences
modifying preferences advanced users can set named preferences via the advanced preferences editor, by typing about:config in the location bar.
browser.pagethumbnails.capturing_disabled
the preference browser.pagethumbnails.capturing_disabled controls whether the application creates screenshots of visited pages which will be shown if the web page is shown in the grid of the "new tab page" (about:newtab) which offers the most often visited pages for fast navigation.
Preference reference
if set to true, the data is stored as content preference.browser.pagethumbnails.capturing_disabledthe preference browser.pagethumbnails.capturing_disabled controls whether the application creates screenshots of visited pages which will be shown if the web page is shown in the grid of the "new tab page" (about:newtab) which offers the most often visited pages for fast navigation.browser.search.context.loadinbackgroundbrowser.search.context.loadinbackground controls whether a search from the context menu with "search <search engine> for <selected text>" opening a new tab will give focus to it and load it in the foreground or keep focus on the current tab and open it in the background.browser.urlbar.form...
Preferences system
reference information about them is available below: preferences system documentation: introduction: getting started | examples | troubleshooting reference: prefwindow | prefpane | preferences | preference | xul attributes use code for a typical preferences window may look like this: <prefwindow id="apppreferences" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <prefpane id="pane1" label="&pane1.title;"> <preferences> <preference id="pref1" name="pref.name...
Research and prep
if you have questions about what that means, please contact milos@mozilla.com or milos on irc.
Productization guide
for example, putting one sample news feed on the bookmarks toolbar in new profiles in firefox helps in learning about the live bookmarks.
Crash reporting
type about:crashes into your location bar to get a page listing both submitted and unsubmitted crash reports.
Emscripten techniques
by the time about:memory is loaded in a new tab and you have clicked the "measure" button to diagnose what's happened, the memory usage causing the spike has gone away, making temporary memory spikes difficult to diagnose.
Emscripten
read more about emscripten and try some demos, then get started with using it.
Firefox Sync
general the always prolific richard newman has written a couple of notes about bookmark syncing (first, second) and has a blog where he talks about the various challenges syncing this kind of data.
Installing JSHydra
prerequisites for building spidermonkey spidermonkey is part of the build process, but since jshydra will get the code if required, you do not need to worry about obtaining the right version of spidermonkey.
L20n Javascript API
ctx.localize(['hello', 'about'], function(l10n) { var node = document.queryselector('[data-l10n-id=hello]'); node.textcontent = l10n.entities.hello.value; node.classlist.remove('hidden'); }); the callback becomes bound to the entities on the ids list.
AsyncTestUtils extended framework
if you need to get fancy about having flags set on the folder, we support that, but please check the method documentation.
MailNews automated testing
it allows reviewers to quickly pick up regressions in patches and helps developers to think about different cases.
MailNews
it allows reviewers to quickly pick up regressions in patches and helps developers to think about different cases.
McCoy
if you want to learn about the technical details of mccoy then visit the project wiki.
NSPR Contributor Guide
if we accept it, we are going to have to answer questions about it and/or maintain it.
Optimizing Applications For NSPR
at thread switch time, the stack of the current running thread is copied to other storage associated with that thread and the about-to-be-dispatched thread's stack data is copied back onto the windows stack just before the thread is given control.
Cached Monitors
see monitors for information about uncached monitors.
Condition Variables
for information about prmonitor, see monitors.
I/O Functions
for information about the types most commonly used with the functions described in this chapter, see i/o types.
Named Shared Memory
no assumptions about the persistence of data in the named file should be made.
PRFileDesc
for more details about the use of prfiledesc and related structures, see file descriptor types.
PRFileInfo
description the prfileinfo structure provides information about a file, a directory, or some other kind of file system object, as specified by the type field.
PRFileInfo64
description the prfileinfo64 structure provides information about a file, a directory, or some other kind of file system object, as specified by the type field.
PR_AttachThread
pr_attachthread informs nspr about the new thread by associating a prthread object with the native thread.
PR_GetOpenFileInfo
on output, information about the given file is written into the file information object.
PR_GetOpenFileInfo64
on output, information about the given file is written into the file information object.
NSPR
documentation about nspr this topic describes, in general terms, the goals of nspr and a bit about how it does it.
NSS Certificate Download Specification
the content field is the following asn.1 structure: certificatesequence ::= sequence of certificate see the section below on certificate chains for more information about how multiple certificates are handled.
FIPS Mode - an explanation
what is fips mode all about?
Getting Started With NSS
learn about getting the nss sources, building, and testing.
HTTP delegation
to learn about all the details, please read the documentation contained in the nss c header files.
HTTP delegation
to learn about all the details, please read the documentation contained in the nss c header files.
Introduction to Network Security Services
what you should already know before using nss, you should be familiar with the following topics: concepts and techniques of public-key cryptography the secure sockets layer (ssl) protocol the pkcs #11 standard for cryptographic token interfaces cross-platform development issues and techniques where to find more information for information about pki and ssl that you should understand before using nss, see the following: introduction to public-key cryptography introduction to ssl for links to api documentation, build instructions, and other useful information, see the nss project page.
4.3.1 Release Notes
ssl3 & tls renegotiation vulnerability see cve-2009-3555 and us-cert vu#120541 for more information about this security vulnerability.
JSS
MozillaProjectsNSSJSS
introduces the ssl protocol, including information about cryptographic ciphers supported by ssl and the steps involved in the ssl handshake.
NSS_3.12.2_release_notes.html
nstalled libz.so where available bug 305693: shlibsign generates pqg for every run bug 311483: exposing includecertchain as a parameter to sec_pkcs12addcertandkey bug 390527: get rid of pkixerrormsg variable in pkix_error bug 391560: libpkix does not consistently return pkix_validatenode tree that truly represent failure reasons bug 408260: certutil usage doesn't give enough information about trust arguments bug 412311: replace pr_interval_no_wait with pr_interval_no_timeout in client initialization calls bug 423839: add multiple pkcs#11 token password command line option to nss tools.
NSS 3.12.5 release_notes
new in nss 3.12.5 ssl3 & tls renegotiation vulnerability see cve-2009-3555 and us-cert vu#120541 for more information about this security vulnerability.
NSS_3.12_release_notes.html
bug 330721: remove os/2 vacpp compiler support from nss bug 408260: certutil usage doesn't give enough information about trust arguments bug 410226: leak in create_objects_from_handles bug 415007: pk11_findcertfromdersubjectandnickname is dead code bug 416267: compiler warnings on solaris due to extra semicolon in sec_asn1_mksub bug 419763: logger thread should be joined on exit bug 424471: counter overflow in bltest bug 229335: remove certificates that expired in august 2004 from tree bug 346551: init secitem dert...
NSS 3.14 release notes
for more information about mpl 2.0, please see http://www.mozilla.org/mpl/2.0/faq.html.
NSS 3.18.1 release notes
ou = equifax secure certificate authority sha1 fingerprint: d2:32:09:ad:23:d3:14:23:21:74:e4:0d:7f:9d:62:13:97:86:63:3a the following ca certificate was removed after discussion about it in the mozilla.dev.security.policy forum.
NSS 3.18 release notes
use -c one, two or three times to print information about the certificates received from a server, and information about the locally found and trusted issuer certificates, to diagnose server side configuration issues.
NSS 3.24 release notes
this struct contains supplementary information about a certificate, such as the intended type of the certificate, stapled ocsp responses, or signed certificate timestamps (used for certificate transparency).
Enc Dec MAC Output Public Key as CSR
outfile = null; /* open the certificate request file to write */ outfile = pr_open(certreqfilename, pr_create_file | pr_rdwr | pr_truncate, 00660); if (!outfile) { pr_fprintf(pr_stderr, "unable to open \"%s\" for writing (%ld, %ld).\n", certreqfilename, pr_geterror(), pr_getoserror()); goto cleanup; } /* create info about public key */ spki = seckey_createsubjectpublickeyinfo(pubk); if (!spki) { pr_fprintf(pr_stderr, "unable to create subject public key\n"); rv = secfailure; goto cleanup; } /* generate certificate request */ cr = cert_createcertificaterequest(subject, spki, null); if (!cr) { pr_fprintf(pr_stderr, "unable to make certificate request\n"); ...
Enc Dec MAC Using Key Wrap CertReq PKCS10 CSR
name); } /* open the certificate request file to write */ outfile = pr_open(certreqfilename, pr_create_file | pr_rdwr | pr_truncate, 00660); if (!outfile) { pr_fprintf(pr_stderr, "unable to open \"%s\" for writing (%ld, %ld).\n", certreqfilename, pr_geterror(), pr_getoserror()); goto cleanup; } /* create info about public key */ spki = seckey_createsubjectpublickeyinfo(pubk); if (!spki) { pr_fprintf(pr_stderr, "unable to create subject public key\n"); rv = secfailure; goto cleanup; } /* generate certificate request */ cr = cert_createcertificaterequest(subject, spki, null); if (!cr) { pr_fprintf(pr_stderr, "unable to make certificate request\...
sample2
/ if (pr_access(certreqfilename, pr_access_exists) == pr_success) { pr_delete(certreqfilename); } /* open the certificate request file to write */ outfile = pr_open(certreqfilename, pr_create_file | pr_rdwr | pr_truncate, 00660); if (!outfile) { pr_fprintf(pr_stderr, "unable to open \"%s\" for writing (%ld, %ld).\n", certreqfilename, pr_geterror(), pr_getoserror()); goto cleanup; } /* create info about public key */ spki = seckey_createsubjectpublickeyinfo(pubk); if (!spki) { pr_fprintf(pr_stderr, "unable to create subject public key\n"); rv = secfailure; goto cleanup; } /* generate certificate request */ cr = cert_createcertificaterequest(subject, spki, null); if (!cr) { pr_fprintf(pr_stderr, "unable to make certificate request\n"); rv = secfailure; goto cleanup; } arena = port_newarena(der_de...
NSS sources building testing
in order to learn about the details of test failures, search the file for the uppercase test failed.
nss tech note3
all about certificate extensions nss technical note: 3 09 may 2002 nelson b.
Notes on TLS - SSL 3.0 Intolerant Servers
firefox 2 and later starting with firefox 2, support for ssl 2.0 has been disabled by default; unless it is expressly re-enabled by the user using about:config.
Overview of NSS
for more detailed information about nss, see wiki.mozilla.org and nss faq.
FC_GetMechanismInfo
description fc_getmechanisminfo obtains information about a particular mechanism possibly supported by a token.
NSS tools : crlutil
for information specifically about nss, the nss project wiki is located at [2]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : ssltab
for information specifically about nss, the nss project wiki is located at [3]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : ssltap
for information specifically about nss, the nss project wiki is located at [3]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : vfychain
additional resources for information about nss and other tools related to nss (like jss), check out the nss project wiki at [1]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : vfyserv
name vfyserv — tbd synopsis vfyserv description the vfyserv tool verifies a certificate chain options additional resources for information about nss and other tools related to nss (like jss), check out the nss project wiki at [1]http://www.mozilla.org/projects/security/pki/nss/.
gtstd.html
for complete information about the command-line options used in the examples that follow, see using the certificate database tool.
pkfnc.html
for example, communicator uses the parameter to pass information about which window is associated with the modal dialog box requesting the password from the user.
modutil-tasks.html
a fix was made for "hpux b.11.00," but issues may still arise for platforms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
NSS_3.12.3_release_notes.html
here is a table of the new environment variables introduced in nss 3.12.3 and information about how they affect these new behaviors.
NSS Tools cmsutil
-h num generate email headers with info about cms message (decode only).
NSS Tools dbck-tasks
nss security tools: dbck tasks newsgroup: mozilla.dev.tech.crypto task list in analyze mode, there should be an option to create a file containing a graph of the certificate database without any information about the user's certificates (no common names, email addresses, etc.).
NSS Tools modutil-tasks
a fix was made for "hpux b.11.00," but issues may still arise for platforms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
NSS tools : crlutil
MozillaProjectsNSStoolscrlutil
for information specifically about nss, the nss project wiki is located at [2]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : signver
MozillaProjectsNSStoolssignver
o setting up the shared nss database https://wiki.mozilla.org/nss_shared_db_howto o engineering and technical information about the shared nss database https://wiki.mozilla.org/nss_shared_db additional resources for information about nss and other tools related to nss (like jss), check out the nss project wiki at [1]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : ssltap
MozillaProjectsNSStoolsssltap
for information specifically about nss, the nss project wiki is located at [3]http://www.mozilla.org/projects/security/pki/nss/.
NSS tools : vfychain
additional resources for information about nss and other tools related to nss (like jss), check out the nss project wiki at [1]http://www.mozilla.org/projects/security/pki/nss/.
Multithreading in Necko
file, finger, datetime) do not worry about threading issues.
Necko walkthrough
note: nsconnectionentry has a single nshttpconnectioninfo object attached, a pending queue of nshttptransactions, and 3 arrays for connections: active nshttpconnections idle nshttpconnections nshalfopensockets nshttpconnectionmgr::trydispatchtransaction there is a series of decisions about whether dispatchtransaction is called, along with good code comments: best to read the code for more detail.
Personal Security Manager (PSM)
archived information about psm ...
Pork Tool Development
cppsourceloc wraps sourceloc, providing information about macro expansion.
Rhino community
the mozilla.dev.tech.js-engine newsgroup answers questions about the c implementation of javascript, and was also used for answering questions about rhino until september 27, 2007.
Rhino Debugger
break on function exit selecting debug->break on function return will give control to the debugger whenever the execution is about to return from a function or script.
Rhino documentation
faq answers to frequently asked questions about rhino.
Rhino FAQ
frequently asked questions about rhino how do i create a java array from javascript?
Small Footprint
debug information debug information in rhino classes consumes about 25% of code size and if you can live without that, you can recompile rhino to remove it.
Rhino history
rhino gets its name from the animal on the cover of the o'reilly book about javascript.
Rhino scopes and contexts
contexts the rhino context object is used to store thread-specific information about the execution environment.
Scripting Java
exploratory programming is the process of learning about what a library or api can do by writing quick programs that use it.
Shumway
it is currently available as an extension and as a component in firefox's nightly builds that can be enabled through about:config (you need to find the shumway.disabled preference and set it to false).
Creating JavaScript jstest reftests
if you are contributing directly to test262, you must submit the tests in the test262 format, which you can see in the test262 git repository and read about here.
Creating JavaScript tests
you can read about them here.
Getting SpiderMonkey source code
git clone https://github.com/mozilla/gecko-dev.git cd gecko-dev/js/src if you want a faster (about 5 times as of january 2015) download, try doing a shallow clone (no version control history).
Property cache
the shape of an object does not cover: anything about the object's prototype other than its identity; anything about the object's parent; obj->freeslot, which can be different for same-shaped objects if they have a jsclass.reserveslots hook (bug 535416); anything about the values of the object's own properties, beyond what the method guarantee and the branded object guarantee say about functions.
JIT Optimization Strategies
this page contains only historic information about this feature.
JS::Value
it is rather eager about its job.
JSFunction
the documentation for each affected api contains a warning about the problem.
JSFunctionSpec
this no longer guarantees anything about the vp array.
JS_AddExternalStringFinalizer
the callback may not keep a reference to this jsstring, as its memory is about to be freed.
JS_DefineProperty
for more about javascript getters and setters, see defining getters and setters.
JS_EnterLocalRootScope
there is no need to tell the js engine about each variable that may point to such a value.
JS_MaybeGC
implementation note: spidermonkey 1.8 and earlier determine whether garbage collection is appropriate by analyzing statistics about the gc heap and memory usage since the last garbage collection cycle.
JS_NewContext
for more details about contexts, see jscontext.
JS_ReportOutOfMemory
see js_reporterror and js_seterrorreporter for more information about error handling in the jsapi.
JS_SetContextCallback
this is the context which was just created, or is about to be destroyed.
JS_SetGCCallback
the callback may use js_isabouttobefinalized to clean up weak references to js objects (that is, pointers that are not traced by the gc).
JS_ShutDown
exact details about what this method cleans up will vary depending upon the version of spidermonkey in use.
JS_SuspendRequest
for more information about thread safety and requests, see js_threadsafe.
JS_YieldRequest
description for more information about thread safety and requests, see js_threadsafe.
JSAPI reference
ey 38 enum jsfinalizestatus added in spidermonkey 17 js_removefinalizecallback added in spidermonkey 38 js_setgczeal added in spidermonkey 1.8 js_schedulegc added in spidermonkey 17 js_dumpheap added in spidermonkey 1.8 js_setgccallbackrt obsolete since jsapi 13 js_setfinalizecallback added in spidermonkey 17 obsolete since jsapi 32 js_markgcthing obsolete since jsapi 5 js_isabouttobefinalized obsolete since jsapi 35 js_clearnewbornroots obsolete since jsapi 5 the rest of these apis help protect objects from being destroyed by the garbage collector before the application is done using them.
Parser API
if the parser produced no information about the node's source location, the field is null; otherwise it is an object consisting of a start position (the position of the first character of the parsed source region) and an end position (the position of the first character after the parsed source region): interface sourcelocation { source: string | null; start: position; end: position; } each position object consists of a line ...
SpiderMonkey 1.8.8
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
SpiderMonkey 1.8
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
SpiderMonkey 17
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
SpiderMonkey 24
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
SpiderMonkey 31
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
SpiderMonkey 45
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
SpiderMonkey 52
please let us know about your experiences with this release by posting in the mozilla.dev.tech.js-engine newsgroup.
Split object
...and yet, there is special code in jsobj.h with a comment about fixing some kind of interaction between with an split objects.
SpiderMonkey: The Mozilla JavaScript runtime
how to embed the javascript engine an older tutorial about embedding spidermonkey.
TPS Pref Lists
to find the list of valid preferences, go to about:config on a browser that has weave installed, and search for services.sync.prefs.sync.
WebReplayRoadmap
memory analysis (not yet implemented) analyzing memory usage and leaks in js can be difficult because there is no (or limited) information about where objects were allocated or how the object graph was constructed.
Mozilla Projects
here you'll find links to documentation about these projects.
The Rust programming language
to learn more about rust, you can: watch the videos below for a closer look at the power and benefits rust provides.
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 directly introduction: gaining contro...
Setting up an update server
launch firefox out of its installation directory and navigate to the update section about:preferences.
Signing Mozilla apps for Mac OS X
for more details on using the coderesources file, refer to the code resources section on erick dransch's blog post about code signing.
Animated PNG graphics
MozillaTechAPNG
information for each frame about placement and rendering is stored in 'fctl' chunks.
Gecko object attributes
for more information please read about schema datatypes.
ROLE_ALERT
« gecko roles page represents an alert or a condition that a user should be notified about.
Implementation Details
please refer to pages below for interesting at api: msaa ia2 at-spi differences with other applications this section provides information about implementation differences between gecko based applications and other applications.
AT APIs Support
as well you might find helpful the about:accessibilityenabled firefox extension.
Frecency algorithm
developer notes there are various development notes you can read about places that may offer additional insights: initial algorithm ideas implementation notes history the initial algorithm design was by mike connor and seth spitzer.
Places Expiration
on maintenance when places maintenance runs (about once a week, on daily idle), an orphans expiration step is executed, this ensures database cleanup.
Using the Places annotation service
the annotation service, provided by the nsiannotationservice interface, is designed to store arbitrary data about a web page or about an item in the places database in firefox 3.
Preferences API
many applications including firefox and thunderbird have an additional tool for power users, about:config, which can be used to tweak the preferences without ui.
FUEL
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
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.
extIExtension
you may need to reset this preference in about:config during testing.
Toolkit API
these services include: profile management chrome registration browsing history extension and theme management application update service safe mode printing official references structure of an installable bundle: describes the common structure of installable bundles, including extensions, themes, and xulrunner applications extension packaging: specific information about how to package extensions theme packaging: specific information about how to package themes multiple-item extension packaging: specific information about multiple-item extension xpis xul application packaging: specific information about how to package xulrunner applications chrome registration printing in xul apps see also the following developer pages contain examples and...
Aggregating the In-Memory Datasource
if you're really interested, i'd recommend reading about it in a com book.
XPCOM changes in Gecko 2.0
for more information about the mozilla::module structure, see the module.h header file.
Building the WebLock UI
don't worry for now about where these files are.
Setting up the Gecko SDK
application name description of functionality regxpcom.exe registers or unregisters components with xpcom xpidl.exe generates typelib and c++ headers from xpidl xpt_dump.exe prints out information about a given typelib xpt_link.exe combines multiple typelibs into a single typelib library name description of functionality xpcomglue.lib xpcom glue library to be used by xpcom components.
Using XPCOM Utilities to Make Things Easier
to get an idea about how much can be handled with the macros described in this section, compare the code listing in weblock2.cpp at the end of the chapter with weblock1.cpp in the previous chapter.
XPCOM guide
MozillaTechXPCOMGuide
this document attempts to help them do so, first by explaining the underlying concepts, and second by describing a number of common javascript patterns that cause leaks.creating xpcom componentsthis guide is about gecko, and about creating xpcom components for gecko-based applications.how to build an xpcom component in javascriptif you are looking for add-on sdk solution for xpcom javascript components then check out platform/xpcom module first.inheriting from implementation classesgiven that idl interfaces map to abstract classes in c++, a common problem when dealing with idl is when you have an idl inher...
Components.returnCode
generally, xpconnect does a fine job of making it unnecessary for javascript code to worry about nsresult codes.
Components.utils.Sandbox
sandboxname a string value which identifies the sandbox in about:memory (and possibly other places in the future).
PlXPCOM
the resources here provide information about this language binding and how to use it.
Architecture basics
it lets you get pointers to components inside mozilla, and it lets you talk about their interfaces as well.
XPConnect
xpconnect and xpidl faq a faq about using xpconnect and xpidl.
Language bindings
the resources here provide information about this language binding and how to use it.pyxpcompyxpcom allows for communication between python and xpcom, such that a python application can access xpcom objects, and xpcom can access any python class that implements an xpcom interface.
IAccessibleApplication
servers implementing iaccessible2 should provide access to the iaccessibleapplication interface via queryservice from any object so that ats can easily determine specific information about the application such as its name or version.
IAccessibleEditableText
refer to the @ref _specialoffsets "special offsets for use in the iaccessibletext and iaccessibleeditabletext methods" for information about a special offset constant that can be used in iaccessibleeditabletext methods.
IAccessibleHypertext
other-licenses/ia2/accessiblehypertext.idlnot scriptable this interface exposes information about hypertext in a document.
amIWebInstallInfo
toolkit/mozapps/extensions/amiwebinstalllistener.idlscriptable this interface is used by the default implementation of amiwebinstalllistener to communicate with the running application and allow it to warn the user about blocked installs and start the installs running.
amIWebInstallListener
the registered amiwebinstalllistener is used to notify about new installs triggered by websites.
amIWebInstaller
acallback optional an optional callback to notify about installation success and failure.
imgICache
use the following snippet to obtain a relevant image cache for a given document or channel (where relevantdocument is a document object that contains images you care about, or relevantchannel is an nsichannel that is used for fetching images): var tools = components.classes["@mozilla.org/image/tools;1"].getservice(components.interfaces.imgitools); var cache = tools.getimgcachefordocument(relevantdocument); // alternatively, tools.getimgcacheforchannel(relevantchannel) if there is no relevant document or channel, null may be passed, but this will cause any imag...
imgIDecoderObserver
unfortunately, this is currently the only way to signal decoding errors to consumers, and the only decoding errors that consumers care about (indeed, the only ones that they're prepared to hear about) are failures to instantiate the decoder (<img src="foo.html"> for example).
imgIRequest
imgirequest clone( in imgidecoderobserver aobserver ); parameters aobserver return value decrementanimationconsumers() tell the image it can forget about a request that the image animate.
mozIStoragePendingStatement
note: for read statements, such as select, once you cancel the statement, you will receive no further notifications about results.
mozIStorageStatement
the optional callback routine receives notifications about the progress of the query.
mozIStorageStatementParams
you create a statement like so: var statement = dbconn.createstatement("select * from table_name where id = :item_id"); this object would have one property, item_id, that you can use to bind a value to that named parameter like so: statement.params.item_id = 2; for more details on why you should bind parameters as opposed to hard-coding them into your statement, please see the overview document about binding parameters.
nsIAccessNode
accessible/public/nsiaccessnode.idlscriptable an interface used by in-process accessibility clients to get style, window, markup and other information about a dom node.
nsIAccessibleDocument
accessible/public/nsiaccessibledocument.idlscriptable an interface for in-process accessibility clients that wish to retrieve information about a document.
nsIAccessibleImage
accessible/public/nsiaccessibleimage.idlscriptable this interface allows in-process accessibility clients to retrieve information about an image.
nsIAlertsService
alertlistener optional an object to receive callbacks from the alert; may be null if you don't care about callbacks.
nsIAppShellService
follow this bug - bugzilla - bug 1280028 nsiwebnav createwindowlessbrowser( in bool aischrome ); var webnav = services.appshell.createwindowlessbrowser(true); var docshell = webnav.queryinterface(ci.nsiinterfacerequestor).getinterface(ci.nsidocshell); var systemprincipal = cc["@mozilla.org/systemprincipal;1"].createinstance(ci.nsiprincipal); docshell.createaboutblankcontentviewer(systemprincipal); var contentwindow = docshell.contentviewer.domdocument.defaultview; // when you are done with it, destroy it if (webnav.close) { webnav.close() }; // only available in firefox 46+, and is needed for good measure webnav = null; // in firefox <= 45 setting to null will cause it to get gc'ed which will destroy it registertoplevelwindow() add a window to the ...
nsIAppStartup_MOZILLA_2_0
toolkit/components/startup/public/nsiappstartup.idlscriptable this lets you get information about the times at which key application startup events occurred.
nsIAsyncStreamCopier
aobservercontext the object to receive notifications with information about the progress of the copy operation.
nsIAuthPrompt2
in that case information about the failure has to come through the callback.
nsIBadCertListener2
boolean notifycertproblem( in nsiinterfacerequestor socketinfo, in nsisslstatus status, in autf8string targetsite ); parameters socketinfo a network communication context that can be used to obtain more information about the active connection.
nsIBlocklistPrompt
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void prompt([array, size_is(acount)] in nsivariant aaddons, [optional] in pruint32 acount); methods prompt() prompt the user about newly blocked addons.
nsICacheEntryInfo
netwerk/cache/nsicachevisitor.idlscriptable this interface provides information about a cache entry.
nsICacheService
used to implement the about:cache uri.
nsICachingChannel
the cache token can be queryinterface'd to a nsicacheentryinfo if more detail about the cache entry is needed.
nsIChannel
load_call_content_sniffers 21 if this flag is set, the channel should call the content sniffers as described in netwerk/build/nsnetcid.h about ns_content_sniffer_category.
nsIChromeRegistry
chrome/public/nsichromeregistry.idlscriptable provides access to the chrome registry; you can use this to get information about chrome documents that have been registered.
nsIClassInfo
xpcom/components/nsiclassinfo.idlscriptable provides information about a specific implementation class.
nsIClipboard
hasdatamatchingflavors() this method provides a way to give correct ui feedback about, for instance, whether a paste should be allowed.
nsIClipboardOwner
the nsiclipboardowner interface notifies the clipboard owner about the current status of ownership of the clipboard transferable at given situation and time.
nsIConsoleService
in this example nsiscripterror, which implements nsiconsolemessage, is used to include information about the source file and line number of the error.
nsIContentPrefService2
see nsicontentprefcallback2 for more information about callbacks.
nsIContentSniffer
see netwerk/build/nsnetcid.h about ns_content_sniffer_category.
nsICookie2
the nsicookie2 interface provides information about a cookie, and extends the nsicookie interface.
nsICookiePromptService
cookie the cookie about which permission is being requested.
nsICycleCollectorListener
xpcom/base/nsicyclecollectorlistener.idlscriptable interface to pass to the cycle collector to get information about the cycle collector graph while it is being built.
nsIDOMGlobalPropertyInitializer
dom/interfaces/base/nsidomglobalpropertyinitializer.idlscriptable an initializer for global properties that lets them know about the window they're being attached to.
nsIDOMStorageEventObsolete
dom/interfaces/storage/nsidomstorageeventobsolete.idlscriptable this interface represents an event that occurs to notify interested parties about changes to the contents of a dom storage space; it is used for both session storage and local storage.
nsIDOMWindowInternal
location nsidomlocation readonly: returns a nsidomlocation object, which contains information about the url of the document.
nsIDeviceMotionData
xpcom/system/nsidevicemotion.idlscriptable this interface provides information about device motion.
nsIDirIndex
netwerk/streamconv/public/nsidirindex.idlscriptable a class holding information about a directory index.
nsIExternalProtocolService
if neither the application nor the os knows about a handler for the protocol, the object this method returns will represent a default handler for unknown content.
nsIFTPChannel
the nsiftpchannel is an extension of nsisupports used to determine if a channel is an ftp channel, and offering additional information about the ftp channel.
nsIFeedContainer
see nsifeedresult.registerextensionprefix() for more information about prefixes.
nsIFeedResultListener
if you don't care about doing progress display or the like, this is all you need to implement in order to receive the parsed feed.
nsIGeolocationProvider
the nsigeolocationprovider interface provides information about the current users location to interested parties via nsigeolocationupdate.
nsIGlobalHistory3
docshell/base/nsiglobalhistory3.idlscriptable this interface provides information about global history to gecko.
nsIHttpActivityObserver
activity subtype constants constant value description activity_subtype_request_header 0x5001 the http request is about to be queued for sending.
nsIHttpServer
* @throws ns_error_invalid_arg * if dir is non-null and does not exist or is not a directory, or if path * does not begin with and end with a forward slash */ void registerdirectory(in string path, in nsifile dir); /** * associates files with the given extension with the given content-type when * served by this server, in the absence of any file-specific information * about the desired content-type.
nsIInstallLocation
note: this function makes no promises about whether or not this path is actually maintained by this install location.
nsIJSID
js/src/xpconnect/idl/xpcjsid.idlscriptable this interface provides information about a contract or interface.
nsIMacDockSupport
about dockmenu by default firefox adds two menu items to the dock menu.
nsIMemory
moreover, a mechanism exists by which a client can receive notifications about low-memory situations.
nsIMemoryReporterManager
each code area is identified by a unique path string, which is displayed in about:memory.
nsIMsgDBHdr
don't even think about using orflags and/or andflags.
nsINavHistoryResultTreeViewer
if you use this object and attach it to a result without attaching it to a tree, then forget about it, it will leak.
nsIPlacesView
the nsiplacesview interface provides a view-agnostic way to access information about a places view.
nsIProtocolProxyService
netwerk/base/public/nsiprotocolproxyservice.idlscriptable this interface provides methods to access information about various network proxies.
nsISHistoryListener
docshell/shistory/public/nsishistorylistener.idlscriptable an interface you can implement to receive notifications about activities that occur in session history, and optionally cancel them.
nsISOCKSSocketInfo
netwerk/socket/nsisockssocketinfo.idlscriptable this interface provides information about a socks socket.
nsISSLErrorListener
boolean notifysslerror( in nsiinterfacerequestor socketinfo, in print32 error, in autf8string targetsite ); parameters socketinfo a network communication context that can be used to obtain more information about the active connection.
nsIScreen
widget/nsiscreen.idlscriptable this interface provides information about a display screen.
nsIScreenManager
widget/public/nsiscreenmanager.idlscriptable this interface lets you get information about the display screen (or screens) attached to the user's computer.
nsIScriptError
examples logging a message with additional information in this example nsiscripterror, which implements nsiconsolemessage, is used to log information to the console including information about the source file and line number of the error.
nsIScriptableIO
for more details about how to use this object, see the file and stream guide.
nsISearchEngine
getsubmission() gets a nsisearchsubmission object that contains information about what to send to the search engine, including the uri and postdata, if applicable.
nsISessionStartup
it will either be restored or about:sessionrestore will be displayed.
nsISessionStore
if the preference browser.sessionstate.enabled is false when this method is called, then you will get an exception about "awindows[i] has no properties".
nsISocketTransportService
for more details on communicating information about proxies like socks (which are transparent to upper protocols), see nsiproxiedprotocolhandler , nsiprotocolproxyservice or proxies in necko.
nsITaskbarTabPreview
methods violates the xpcom interface guidelines ensureregistration() used internally to ensure that the taskbar knows about this preview.
nsIThreadPool
a listener will only receive notifications about threads created after the listener is set so it is recommended that the consumer set the listener before dispatching the first event.
nsITransportSecurityInfo
netwerk/socket/nsitransportsecurityinfo.idlscriptable this interface provides information about transport security, including the security state and any error message for the connection.
nsITreeSelection
layout/xul/base/src/tree/public/nsitreeselection.idlscriptable this interface is used by the tree widget to get information about what is selected.
nsIURIFixup
getfixupuriinfo() same as createfixupuri, but returns information about what it corrected (e.g.
nsIUpdateCheckListener
update an nsiupdate object containing details about the error in its statustext attribute.
nsIUpdatePrompt
showupdateerror() displays an error message telling the user about an update failure, such as a failure to successfully apply a patch.
nsIWebContentHandlerRegistrar
can bypass this by opening about:config and setting preference of gecko.handlerservice.allowregisterfromdifferenthost to true.
nsIWifiAccessPoint
netwerk/wifi/nsiwifiaccesspoint.idlscriptable this interface provides information about a single access point.
nsIWorkerGlobalScope
this interface allows a worker to look up information about itself, as well as to control itself.
nsIXMLHttpRequest
and then think twice about it.
nsIXULBrowserWindow
linkuri the uri of the link that is about to be traversed.
nsIXULTemplateBuilder
see the template guide for more information about templates.
nsIZipReader
to create an instance, use: var zipreader = components.classes["@mozilla.org/libjar/zip-reader;1"] .createinstance(components.interfaces.nsizipreader); about character sets and code pages note: nsizipreader has a code page problem; that is, in the zip specification, filenames are supposed to use 7-bit ascii; however, most modern filesystems use 8 bit code pages, such as utf-8.
nsMsgFolderFlagType
defined in comm-central/ mailnews/ base/ public/ nsmsgfolderflags.idl typedef unsigned long nsmsgfolderflagtype; /// flags about a folder or a newsgroup.
XPCOM Interface Reference
ozistoragefunctionmozistoragependingstatementmozistorageprogresshandlermozistorageresultsetmozistoragerowmozistorageservicemozistoragestatementmozistoragestatementcallbackmozistoragestatementparamsmozistoragestatementrowmozistoragestatementwrappermozistoragevacuumparticipantmozistoragevaluearraymozitxttohtmlconvmozithirdpartyutilmozivisitinfomozivisitinfocallbackmozivisitstatuscallbacknsiabcardnsiaboutmodulensiabstractworkernsiaccelerometerupdatensiaccessnodensiaccessibilityservicensiaccessiblensiaccessiblecaretmoveeventnsiaccessiblecoordinatetypensiaccessibledocumentnsiaccessibleeditabletextnsiaccessibleeventnsiaccessiblehyperlinknsiaccessiblehypertextnsiaccessibleimagensiaccessibleprovidernsiaccessiblerelationnsiaccessibleretrievalnsiaccessiblerolensiaccessiblescrolltypensiaccessibleselectabl...
Weak reference
you really want this weak reference scheme to give you a pointer that implements the interface you actually care about, e.g., // note: _not_ the implementation we have...
Working with Multiple Versions of Interfaces
unfortunately we compiled this in the latest sdk, and so this magic number happens to be: "244e4c67-a1d3-44f2-9cab-cdaa31b68046" whereas, inside firefox 2, the iid it happens to know about is: "663ca4a8-d219-4000-925d-d8f66406b626".
wrappedJSObject
calling queryinterface on the wrapper works, because it is defined in the nsisupports interface, and the wrapper knows the underlying object implements nsisupports: > comp.queryinterface(components.interfaces.nsihelloworld); [xpconnect wrapped (nsisupports, nsihelloworld)] as you can see, the queryinterface call also made the wrapper know about the other interface our component supports.
xptcall FAQ
if anyone has credible ideas about how to get the required functionality in a cross platform way and/or without resorting to assembly code i'd love to hear about it.
XUL Overlays
MozillaTechXULOverlays
the chrome registry, which is a special rdf datasource into which user-specific information is persisted, or stored, contains information about the components or additional packages that have been installed with the browser.
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.
Address Book examples
each photo handler must implement the following interface: /* * onload: function(acard, adocument): * called when the editor wants to populate the contact editor * input fields with information about acard's photo.
Buddy icons in mail
(see this document for info about that.) for the addressbook card pane, the icon will show is on disk at: <profile home>/nim/<value of pref aim.session.screenname>/picture/<screenname for card>.gif if aim.session.screenname is not set, the icon will not appear.
Cached compose window FAQ
user_pref("mail.compose.max_recycled_windows", 1); where can i read more about it?
Creating a gloda message query
glodamessage.conversation.getmessagescollection(alistener, adata) returns a collection that should contain all of the messages gloda knows about that belong to the conversation.
Mail composition back end
also, i will talk about some features though they may not be complete as of yet.
Thunderbird Binaries
distinguishing between different nightly builds the main way you can determine if you are using a trunk or branch build is to click the "help" menu and choose "about".
Thunderbird Configuration Files
there are three files you should know about: userchrome.css used to change the appearance of the browser.
Adding items to the Folder Pane
a note about the initial rebuild when thunderbird first starts up, the folder pane does an initial rebuild to get the first data it should display.
Building a Thunderbird extension 1: introduction
the tutorial has the following pages: introduction (this page) the extension filesystem (setting up your local system) install manifest (the install.rdf file that contains meta-information about the extension) chrome manifest (list of packages and overlays) xul (the xml user interface language that is used to modify the thunderbird user interface) adding javascript (explains how to add some simple javascript to your thunderbird extension) installing locally (enabling the extension on your local thunderbird instance) packaging (making a distribution package that contains the extensio...
Building a Thunderbird extension 2: extension file layout
you can find information about the locale/ and defaults/ folders in the more general "building an extension" documentation.
Creating a Custom Column
note that an object that implements this interface can also take control of an existing, built-in column, but more about that later.
Folders and message lists
when using this, be sure that there's only one selected message (or that you only care about the first one).
Tips and Tricks from the newsgroups
d it repeat image display using css sprites messages use reminderfox to open a message in the default thunderbird message window (when messageuri, folderuri and gdbview are unknown) determine whether a message has been flagged as junk imap: getting message key of copied message by nsimsgcopyservice::copyfilemessage access the plain text content of the email body get information about attachment without selecting message repeat image display using css sprites scan for new messages at startup and manually scan a folder initiated by user force listeners to run consecutively to prevent pop messages from getting garbled during message retrieval ...
customDBHeaders Preference
install.rdf superfluous.xpi: ${deps} zip $@ ${deps} chrome.manifest: content superfluous chrome/content/ overlay chrome://messenger/content/messenger.xul chrome://superfluous/content/superfluous_overlay.xul install.rdf: <?xml version='1.0' encoding='utf-8'?> <rdf xmlns='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:em='http://www.mozilla.org/2004/em-rdf#'> <description about='urn:mozilla:install-manifest'> <em:id>superfluous@yoursite.com</em:id> <em:version>0.1.1</em:version> <em:type>2</em:type> <!-- 2 is type 'extension' --> <em:targetapplication> <description> <!-- this next line identifies tbird as target --> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>2*</em:minversion> ...
Using Mozilla code in other projects
mozilla toolkit information about the mozilla toolkit api.
Using the Mozilla source server
now, when you click on a frame in the "calls" window, windbg will prompt you about running cvs to download the associated source code.
Using Objective-C from js-ctypes
reading the apple developer :: programming with objective-c - working with blocks you can learn more about blocks.
Standard OS Libraries
core foundation to learn about all the mac os x apis and which library file you will need to call, go to the mac developer library website and find the function, then scroll down to "declared in" section, and find which framework contains the header file.
Working with ArrayBuffers
so, for the size of 640,000 it takes about 98ms.
CType
these objects have assorted methods and properties that let you create objects of these types, find out information about them, and so forth.
js-ctypes
documentation if you are brand new to js-ctypes, and have no idea about it, the pages you should read first is - ctypes.open followed by standard os libraries.
Blocking By Domain - Plugins
any concerns or questions about the plugin block lists should be directed to plugin-blocking-by-domain@mozilla.com.
Flash Activation: Browser Comparison - Plugins
yes <object> with fallback content triggers ui yes, with exceptions no yes small/hidden flash triggers additional ui yes no no enabling flash automatically reloads the page no yes yes other features related to flash domain blocking plugin power saver peripheral content pause each of the browser vendors has a roadmap about the future of flash and changes to the user experience.
Initialization and Destruction - Plugins
the browser calls the plug-in's np_shutdown function, which informs the plug-in that its library is about to be unloaded, and gives it a chance to cancel any outstanding i/o requests, delete threads it created, free any memory it allocated, and perform any other closing tasks.
URLs - Plugins
url scheme description about locates browser information or "fun" pages.
Preferences System
reference information about them is available below: preferences system documentation: introduction: getting started | examples | troubleshooting reference: prefwindow | prefpane | preferences | preference | xul attributes use code for a typical preferences window may look like this: <prefwindow id="apppreferences" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <prefpane id="pane1" label="&pane1.title;"> <preferences> <preference id="pref1" name="pref.name...
Color vision simulation - Firefox Developer Tools
color vision deficiencies affect about 8% of men, and 0.5% of women.
DOM Inspector FAQ - Firefox Developer Tools
or, if you do not know anything about the node, you can try to select it by clicking on it.
DOM Inspector internals - Firefox Developer Tools
knowing this about the way viewers are written, we should now be at a place where we can look at the way the dom inspector source is organized.
Browser Toolbox - Firefox Developer Tools
altogether you will have access to the following developer tools: debugger (note: if you want to debug a specific add-on that is restartless or sdk-based then try the add-on debugger.) console style editor performance network monitor page inspector accessibility inspector you can debug chrome: and about: pages using the normal debugger, just as if they were ordinary content pages.
Ignore a source - Firefox Developer Tools
we don’t care about the internal implementation of these libraries.
Step through code - Firefox Developer Tools
if you want to turn this feature off, since firefox 71 you can do so by going to about:config in a new tab, setting the devtools.debugger.features.overlay pref to false, and restarting the browser.
Set event listener breakpoints - Firefox Developer Tools
selecting this and then choosing some events to break on will mean that when you step through code, information about events fired will be logged to the console instead of the devtools breaking on each one.
Source map errors - Firefox Developer Tools
note: if you're new to source maps, you can learn more about them in how to use a source map.
UI Tour - Firefox Developer Tools
in the screenshot below there are three breakpoints: line 82 has a normal breakpoint and execution is paused here line 85 has a logpoint which logs the contents of tablerow to the console line 100 has a conditional breakpoint the third column shows more information about the breakpoints.
Debugger.Frame - Firefox Developer Tools
this allows the code using each debugger instance to place whatever properties it likes on its debugger.frame instances, without worrying about interfering with other debuggers.) when the debuggee pops a stack frame (say, because a function call has returned or an exception has been thrown from it), the debugger.frame instance referring to that frame becomes inactive: its live property becomes false, and accessing its other properties or calling its methods throws an exception.
Debugger.Source - Firefox Developer Tools
a debugger may place its own properties on debugger.source instances, to store metadata about particular pieces of source code.
Tutorial: Show Allocations Per Call Path - Firefox Developer Tools
visit the url about:config, and set the devtools.chrome.enabled preference to true: setting the 'devtools.chrome.enabled' preference open a developer scratchpad (menu button > developer > scratchpad), and select "browser" from the "environment" menu.
Dominators - Firefox Developer Tools
with a garbage-collected language, like javascript, the programmer doesn't generally have to worry about deallocating memory.
Inspecting web sockets - Firefox Developer Tools
columns in the response pane in the response pane, you can choose to show the following information about each frame: data size time opcode maskbit finbit the data and time columns are visible by default, but you can customize the interface to see more columns by choosing which ones to show from the context menu that is opened by right-clicking in the table header.
Page inspector 3-pane mode - Firefox Developer Tools
enabling the 3-pane inspector pre-firefox 62 in earlier versions of firefox (since firefox 59/60), you can enable 3 pane mode in release/beta by going to about:config and flipping the following prefs to true: devtools.inspector.split-rule-enabled — this switches 3-pane mode on and off.
CSS Grid Inspector: Examine grid layouts - Firefox Developer Tools
you can find out more about those in the section below.
Use the Inspector API - Firefox Developer Tools
attributes and functions: .selection - information about the inspector's selection: .isnode() - returns true if selection is node.
Animation inspector (Firefox 41 and 42) - Firefox Developer Tools
the animation inspector enables you to: see information about all animations running in the page play/pause all animations play/pause/rewind/fast-forward each animation jump to a specific point in an animation highlight and inspect the animated node adjust the playback rate of each animation see whether an animation is running in the compositor thread (a lightning bolt icon is displayed next to such animations) ...
Page inspector keyboard shortcuts - Firefox Developer Tools
show/hide more information about current property (computed view only, when a property is selected) enter or space return or space enter or space open mdn reference page about current property (computed view only, when a property is selected) f1 f1 f1 open current css file in style editor (computed view only, when more information is shown for a property and a css file reference is focused).
Intensive JavaScript - Firefox Developer Tools
in fact we can be quite precise about how long it takes: there are 50 iterations, and the browser is producing about 60 frames per second.
Responsive Design Mode - Firefox Developer Tools
now when you change such settings for the first time, you are given a warning message that tells you these reloads are no longer automatic, and informed about how you can make them automatic.
Shader Editor - Firefox Developer Tools
for example, you can modify the colors: the editor highlights syntax errors in your code: if you hover over the cross shown next to a line containing an error, you'll see more details about the problem: ...
IndexedDB - Firefox Developer Tools
when an indexeddb database is selected in the storage tree, details about all the object stores are listed in the table.
Console messages - Firefox Developer Tools
click it to view more information about the error, as well as which dom nodes are affected by the error.
Web Console Helpers - Firefox Developer Tools
please refer to the console api for more information about logging from content.
Rich output - Firefox Developer Tools
examining request details similar to examining object details, you can see the details about a network request directly in the console.
The JavaScript input interpreter - Firefox Developer Tools
please refer to the console api for more information about logging from content.
Firefox Developer Tools
about:debugging debug add-ons, content tabs, and workers running in the browser.
AddressErrors.addressLine - Web APIs
the text should also include, when possible, advice about how to go about correcting the error.
AddressErrors.country - Web APIs
the text should also include, when possible, advice about how to go about correcting the error.
Ambient Light Events - Web APIs
when the browser gets such a notification, it fires a devicelightevent event that provides information about the exact light intensity (in lux units).
AnalyserNode.getFloatFrequencyData() - Web APIs
if you need higher performance and don't care about precision, you can use analysernode.getbytefrequencydata() instead, which works on a uint8array.
AnalyserNode.smoothingTimeConstant - Web APIs
if you are curious about the effect the smoothingtimeconstant() has, try cloning the above example and setting analyser.smoothingtimeconstant = 0; instead.
AudioContext() - Web APIs
usage notes the specification doesn't go into a lot of detail about things like how many audio contexts a user agent should support, or minimum or maximum latency requirements (if any), so these details can vary from browser to browser.
AudioContext.createMediaElementSource() - Web APIs
for more details about media element audio source nodes, check out the mediaelementaudiosourcenode reference page.
AudioContext.createMediaStreamDestination() - Web APIs
for more details about media stream destination nodes, check out the mediastreamaudiodestinationnode reference page.
AudioContext.createMediaStreamSource() - Web APIs
for more details about media stream audio source nodes, check out the mediastreamaudiosourcenode reference page.
AudioParam.setTargetAtTime() - Web APIs
you don't have to worry about reaching the target value; once you are close enough, any further changes will be imperceptible to a human listener.
AudioTrackList - Web APIs
var audiotracks = document.queryselector("video").audiotracks; monitoring track count changes in this example, we have an app that displays information about the number of channels available.
BaseAudioContext.createBuffer() - Web APIs
the createbuffer() method of the baseaudiocontext interface is used to create a new, empty audiobuffer object, which can then be populated by data, and played via an audiobuffersourcenode for more details about audio buffers, check out the audiobuffer reference page.
BasicCardRequest.supportedTypes - Web APIs
instead of making the web app or site worry about this, the onus has been transferred to the payment processor.
BatteryManager.level - Web APIs
a value of 0 means the battery, which is a batterymanager object, is empty and the system is about to be suspended.
BatteryManager - Web APIs
the batterymanager interface provides ways to get information about the system's battery charge level.
Battery Status API - Web APIs
the battery status api, more often referred to as the battery api, provides information about the system's battery charge level and lets you be notified by events that are sent when the battery level or charging status change.
BeforeUnloadEvent - Web APIs
the beforeunload event is fired when the window, the document and its resources are about to be unloaded.
BluetoothAdvertisingData - Web APIs
the bluetoothdevice interface of the web bluetooth api provides advertising data about a particular bluetooth device.
BluetoothRemoteGATTCharacteristic - Web APIs
the bluetoothremotegattcharacteristic interface of the web bluetooth api represents a gatt characteristic, which is a basic data element that provides further information about a peripheral’s service.
BluetoothRemoteGATTDescriptor - Web APIs
the bluetoothremotegattdescriptor interface of the web bluetooth api provides a gatt descriptor, which provides further information about a characteristic’s value.
device - Web APIs
the bluetoothgattservice.device read-only property returns information about a bluetooth device through an instance of bluetoothdevice.
BluetoothRemoteGATTService - Web APIs
teristic); promise<sequence<bluetoothgattcharacteristic>> getcharacteristics(optional bluetoothcharacteristicuuid characteristic); promise<bluetoothgattservice> getincludedservice(bluetoothserviceuuid service); promise<sequence<bluetoothgattservice>> getincludedservices(optional bluetoothserviceuuid service); }; properties bluetoothremotegattservice.deviceread only returns information about a bluetooth device through an instance of bluetoothdevice.
CSSStyleSheet.addRule() - Web APIs
note that due to somewhat estoteric rules about where you can legally insert rules, it's possible that an exception may be thrown.
Managing screen orientation - Web APIs
accepted values are: portrait-primary, portrait-secondary, landscape-primary, landscape-secondary, portrait, landscape (see screen.lockorientation to know more about each of those values).
Using the CSS Painting API - Web APIs
another way to think about it is that arguments are set to control what you are actually drawing, whereas properties are set to control styling.
CSS Painting API - Web APIs
to find out more about how this is used, consult using the css painting api.
Using the CSS properties and values API - Web APIs
r(--unregistered)); transition: --unregistered 1s ease-in-out; } .unregistered:hover, .unregistered:focus { --unregistered: #b4d455; } button { height: 40vh; display: block; width: 100%; font-size: 3vw; } window.css.registerproperty({ name: '--registered', syntax: '<color>', inherits: false, initialvalue: 'red', }); while not functionally accurate, a good way to think about the difference between the unregistered property in the above example and the registered property is the difference between a <custom-ident> and a number when trying to animate height.
Cache - Web APIs
WebAPICache
about to fetch ' + 'from network...', event.request.url); // we call .clone() on the request since we might use it in a call to cache.put() later on.
CanvasRenderingContext2D.addHitRegion() - Web APIs
vas(); }); edit.addeventlistener("click", function() { textarea.focus(); }); canvas.addeventlistener("mousemove", function(event){ if(event.region) { alert("ouch, my eye :("); } }); textarea.addeventlistener("input", drawcanvas); window.addeventlistener("load", drawcanvas); specifications canvas hit regions have been removed from the whatwg living standard, although discussions about future standardization are ongoing.
CanvasRenderingContext2D.arcTo() - Web APIs
examples how arcto works one way to think about arcto() is to imagine two straight segments: one from the starting point to a first control point, and another from there to a second control point.
CanvasRenderingContext2D.clearHitRegions() - Web APIs
> javascript const canvas = document.getelementbyid('canvas'); const ctx = canvas.getcontext('2d'); // set some hit regions ctx.addhitregion({id: 'eyes'}); ctx.addhitregion({id: 'nose'}); ctx.addhitregion({id: 'mouth'}); // remove them altogether from the canvas ctx.clearhitregions(); specifications canvas hit regions have been removed from the whatwg living standard, although discussions about future standardization are ongoing.
CanvasRenderingContext2D.getImageData() - Web APIs
you can find more information about getimagedata() and general manipulation of canvas contents in pixel manipulation with canvas.
CanvasRenderingContext2D.lineWidth - Web APIs
html <canvas id="canvas"></canvas> javascript const canvas = document.getelementbyid('canvas'); const ctx = canvas.getcontext('2d'); ctx.linewidth = 15; ctx.beginpath(); ctx.moveto(20, 20); ctx.lineto(130, 130); ctx.rect(40, 40, 70, 70); ctx.stroke(); result more examples for more examples and explanation about this property, see applying styles and color in the canvas tutorial.
CanvasRenderingContext2D.measureText() - Web APIs
the canvasrenderingcontext2d.measuretext() method returns a textmetrics object that contains information about the measured text (such as its width, for example).
CanvasRenderingContext2D.miterLimit - Web APIs
for more info about miters, see applying styles and color in the canvas tutorial.
CanvasRenderingContext2D.putImageData() - Web APIs
you can find more information about putimagedata() and general manipulation of canvas contents in the article pixel manipulation with canvas.
CanvasRenderingContext2D.removeHitRegion() - Web APIs
html <canvas id="canvas"></canvas> javascript const canvas = document.getelementbyid('canvas'); const ctx = canvas.getcontext('2d'); // set a hit region ctx.addhitregion({id: 'eyes'}); // remove it from the canvas ctx.removehitregion('eyes'); specifications canvas hit regions have been removed from the whatwg living standard, although discussions about future standardization are ongoing.
CanvasRenderingContext2D.restore() - Web APIs
fore more information about the drawing state, see canvasrenderingcontext2d.save().
Advanced animations - Web APIs
how about adding a paddle, some bricks, and turn this demo into a breakout game?
Basic animations - Web APIs
for more information about the animation loop, especially for games, see the article anatomy of a video game in our game development zone.
Compositing and clipping - Web APIs
in the chapter about drawing shapes i only mentioned the stroke() and fill() methods, but there's a third method we can use with paths, called clip().
Drawing text - Web APIs
earrect(0, 0, canvas.width, canvas.height); eval(textarea.value); } reset.addeventlistener('click', function() { textarea.value = code; drawcanvas(); }); edit.addeventlistener('click', function() { textarea.focus(); }) textarea.addeventlistener('input', drawcanvas); window.addeventlistener('load', drawcanvas); advanced text measurements in the case you need to obtain more details about the text, the following method allows you to measure it.
Hit regions and accessibility - Web APIs
« previousnext » the <canvas> element on its own is just a bitmap and does not provide information about any drawn objects.
Transformations - Web APIs
« previousnext » earlier in this tutorial we've learned about the canvas grid and the coordinate space.
Using images - Web APIs
because 24-bit png images include a full 8-bit alpha channel, unlike gif and 8-bit png images, it can be placed onto any background without worrying about a matte color.
Canvas tutorial - Web APIs
the examples provided should give you some clear ideas about what you can do with canvas, and will provide code snippets that may get you started in building your own content.
Using channel messaging - Web APIs
you have to think about whether the origins trust one another, and how the messages are passed.
Channel Messaging API - Web APIs
find out more about how to use this api in using channel messaging.
CloseEvent.initCloseEvent() - Web APIs
the page on creating and triggering events gives more information about the way to use these.
console.log() - Web APIs
WebAPIConsolelog
there's more information in the chrome console api reference about this and other functions.
console - Web APIs
WebAPIConsole
clicking the object name opens more information about it in the inspector.
Console API - Web APIs
find out about these at: google chrome devtools implementation safari devtools implementation usage is very simple — the console object — available via window.console, or workerglobalscope.console in workers; accessible using just console — contains many methods that you can call to perform rudimentary debugging tasks, generally focused around logging various values to the browser's web console.
Content Index API - Web APIs
content indexing allows developers to tell the browser about their specific offline content.
Credential - Web APIs
the credential interface of the the credential management api provides information about an entity as a prerequisite to a trust decision.
CustomEvent.initCustomEvent() - Web APIs
the page on creating and triggering events gives more information about the way to use those.
DOMImplementation.createHTMLDocument() - Web APIs
here's the html for this example: <body> <p>click <a href="javascript:makedocument()">here</a> to create a new document and insert it below.</p> <iframe id="theframe" src="about:blank" /> </body> the javascript implementation of makedocument() follows: function makedocument() { let frame = document.getelementbyid("theframe"); let doc = document.implementation.createhtmldocument("new document"); let p = doc.createelement("p"); p.innerhtml = "this is a new paragraph."; try { doc.body.appendchild(p); } catch(e) { console.log(e); } // copy the n...
DOMMatrixReadOnly.translate() - Web APIs
if a translation is applied about the z-axis, the resulting matrix will be a 4x4 3d matrix.
DataTransfer - Web APIs
for more information about drag and drop, see html drag and drop api.
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.
Using light sensors - Web APIs
the event gives information about the light intensity of the device's environment.
DeviceLightEvent - Web APIs
the devicelightevent provides web developers with information from photo sensors or similiar detectors about ambient light levels near the device.
DeviceMotionEvent.acceleration - Web APIs
syntax var acceleration = devicemotionevent.acceleration; value the acceleration property is an object providing information about acceleration on three axis.
DeviceMotionEvent.accelerationIncludingGravity - Web APIs
syntax var acceleration = devicemotionevent.accelerationincludinggravity; value the accelerationincludinggravity property is an object providing information about acceleration on three axis.
DeviceMotionEventAcceleration - Web APIs
a devicemotioneventacceleration object provides information about the amount of acceleration the device is experiencing along all three axes.
DeviceMotionEventRotationRate - Web APIs
a devicemotioneventrotationrate object provides information about the rate at which the device is rotating around all three axes.
DeviceOrientationEvent - Web APIs
take care about this while using them.
DeviceProximityEvent - Web APIs
the deviceproximityevent interface provides information about the distance of a nearby physical object using the proximity sensor of a device.
DirectoryEntrySync - Web APIs
about this document this document was last updated on march 2, 2012 and follows the w3c specifications (working draft) drafted on april 19, 2011.
DirectoryReaderSync - Web APIs
about this document this document was last updated on march 2, 2012 and follows the w3c specifications (working draft) drafted on april 19, 2011.
DisplayMediaStreamConstraints.video - Web APIs
the value may be a single one of the following strings, or an array of them to allow the browser flexibility in deciding what to do about the cursor.
Document.all - Web APIs
WebAPIDocumentall
more information about this can be found in this answer from stackoverflow.
Document.cookie - Web APIs
WebAPIDocumentcookie
read more about cookies and security.
Document.fonts - Web APIs
WebAPIDocumentfonts
to change preferences in firefox, visit about:config.ie no support noopera full support 47safari full support 10webview android full support 60chrome android full support 60firefox android full support ...
Document.lastModified - Web APIs
(see: bug 4363 – document.lastmodified returns date in utc time, but should return it in local time) if you want to know whether an external page has changed, please read this paragraph about the xmlhttprequest() api.
Document.location - Web APIs
WebAPIDocumentlocation
the document.location read-only property returns a location object, which contains information about the url of the document and provides methods for changing that url and loading another url.
Document.onfullscreenchange - Web APIs
otherwise, the specified element is about to take over the screen.
Document.open() - Web APIs
WebAPIDocumentopen
see security check basics for more about principals.
Document.origin - Web APIs
WebAPIDocumentorigin
syntax var origin = document.origin; examples var origin = document.origin; // on this page, returns:'https://developer.mozilla.org' var origin = document.origin; // on "about:blank", returns:'null' var origin = document.origin; // on "data:text/html,<b>foo</b>", returns:'null' ...
Document.querySelector() - Web APIs
see locating dom elements using selectors for more about selectors and how to manage them.
Document.querySelectorAll() - Web APIs
see locating dom elements using selectors for more information about using selectors to identify elements.
Document.readyState - Web APIs
the state indicates that the load event is about to fire.
Document.requestStorageAccess() - Web APIs
to make testing easier, we have added two preferences in about:config that control prompting upon requeststorageaccess() calls: dom.storage_access.auto_grants can be set to false to disable the automatic granting of ephemeral storage access grants.
Document: scroll event - Web APIs
note, however, that input events and animation frames are fired at about the same rate, and therefore the optimization below is often unnecessary.
Using the W3C DOM Level 1 Core - Web APIs
now that you are familiar with the basic concepts of the dom, you may want to learn about the dom level 1 fundamental methods.
Document Object Model (DOM) - Web APIs
to learn more about what the dom is and how it represents documents, see our article introduction to the dom.
EXT_disjoint_timer_query.getQueryEXT() - Web APIs
the ext_disjoint_timer_query.getqueryext() method of the webgl api returns information about a query target.
EXT_disjoint_timer_query - Web APIs
ext.getqueryext() returns information about a query target.
EffectTiming - Web APIs
simply put, these properties describe how the user agent should go about making the transition from keyframe to keyframe, and how to behave when the animation begins and ends.
Element: beforescriptexecute event - Web APIs
the beforescriptexecute event is fired when a script is about to be executed.
Element: focusin event - Web APIs
the focusin event fires when an element is about to receive focus.
Element: focusout event - Web APIs
the focusout event fires when an element is about to lose focus.
Element.innerHTML - Web APIs
WebAPIElementinnerHTML
we add a second method that logs information about mouseevent based events (such as mousedown, click, and mouseenter): function logevent(event) { var msg = "event <strong>" + event.type + "</strong> at <em>" + event.clientx + ", " + event.clienty + "</em>"; log(msg); } then we use this as the event handler for a number of mouse events on the box that contains our log: var boxelem = document.queryselector(".box"); boxelem.addev...
Element.querySelectorAll() - Web APIs
see locating dom elements using selectors for more information about using selectors to identify elements.
Element: scroll event - Web APIs
note, however, that input events and animation frames are fired at about the same rate, and therefore the optimization below is often unnecessary.
ElementCSSInlineStyle.style - Web APIs
examples // set multiple styles in a single statement elt.style.csstext = "color: blue; border: 1px solid black"; // or elt.setattribute("style", "color:red; border: 1px solid blue;"); // set specific style while leaving other inline style values untouched elt.style.color = "blue"; getting style information the style property is not useful for completely learning about the styles applied on the element, since it represents only the css declarations set in the element's inline style attribute, not those that come from style rules elsewhere, such as style rules in the <head> section, or external style sheets.
Encrypted Media Extensions API - Web APIs
mediakeysystemconfiguration provides configuration information about the media key system.
Comparison of Event Targets - Web APIs
event targets it's easy to get confused about which target to examine when writing an event handler.
Event.initEvent() - Web APIs
WebAPIEventinitEvent
the page on creating and triggering events gives more information about the way to use these.
ExtendableEvent.waitUntil() - Web APIs
example using waituntil() within a service worker's install event: addeventlistener('install', event => { const precache = async () => { const cache = await caches.open('static-v1'); return cache.addall([ '/', '/about/', '/static/styles.css' ]); }; event.waituntil(precache()); }); specifications specification status comment service workersthe definition of 'waituntil()' in that specification.
FederatedCredential - Web APIs
the federatedcredential interface of the the credential management api provides information about credentials from a federated identity provider.
FetchEvent.replacesClientId - Web APIs
it can be an empty string when navigating from about:blank to another page, as about:blank's client will be reused, rather than be replaced.
FetchEvent.request - Web APIs
about to fetch from network...'); return fetch(event.request).then(function(response) { console.log('response from network is:', response); return response; }).catch(function(error) { console.error('fetching failed:', error); throw error; }); }) ); }); specifications specification status comment service workersthe defi...
FetchEvent - Web APIs
it contains information about the fetch, including the request and how the receiver will treat the response.
Cross-global fetch usage - Web APIs
so in the case described above, it is resolved against the iframe's location: let absolute = new url(relative, frame.contentwindow.location.href) there is a lot of discussion in progress about getting new specs to align with this behavior change, to mitigate potential problems going forward.
Using Fetch - Web APIs
ders.get('content-type'); if (!contenttype || !contenttype.includes('application/json')) { throw new typeerror("oops, we haven't got json!"); } return response.json(); }) .then(data => { /* process your data further */ }) .catch(error => console.error(error)); guard since headers can be sent in requests and received in responses, and have various limitations about what information can and should be mutable, headers objects have a guard property.
Fetch API - Web APIs
WebAPIFetch API
note: find out more about using the fetch api features in using fetch, and study concepts in fetch basic concepts.
File - Web APIs
WebAPIFile
the file interface provides information about files and allows javascript in a web page to access their content.
FileEntrySync - Web APIs
inherits from: entrysync about this document this document was last updated on march 2, 2012 and follows the w3c specifications (working draft) drafted on april 19, 2011.
FileReader() - Web APIs
for details about how to use filereader, see using files from web applications.
FileSystemSync - Web APIs
about this document this document was last updated on march 2, 2012 and follows the w3c specifications (working draft) drafted on april 19, 2011.
FileHandle API - Web APIs
see file storage below to learn more about this.
Gamepad.id - Web APIs
WebAPIGamepadid
the gamepad.id property of the gamepad interface returns a string containing some information about the controller.
Gamepad - Web APIs
WebAPIGamepad
gamepad.id read only a domstring containing identifying information about the controller.
Gamepad API - Web APIs
it contains three interfaces, two events and one specialist function, to respond to gamepads being connected and disconnected, and to access other information about the gamepads themselves, and what buttons and other controls are currently being pressed.
GeolocationPosition.coords - Web APIs
it also contains accuracy information about these values.
GeometryUtils - Web APIs
the geometryutils interface provides different utility function to retrieve geometry information about dom nodes.
GlobalEventHandlers.onloadstart - Web APIs
see the loadstart event documentation for more information about the event.
GlobalEventHandlers.onanimationiteration - Web APIs
note that there's nothing there about animation.
GlobalEventHandlers.onemptied - Web APIs
see the emptied event documentation for more information about the event.
GlobalEventHandlers.onerror - Web APIs
}) event of type errorevent contains all the information about the event and the error.
GlobalEventHandlers.onmousewheel - Web APIs
see the mousewheel event documentation for more information about the event.
HTMLCanvasElement: webglcontextcreationerror event - Web APIs
this event has a webglcontextevent.statusmessage property, which can contain a platform dependent string with more information about the failure.
HTMLElement: beforeinput event - Web APIs
the dom beforeinput event fires when the value of an <input>, <select>, or <textarea> element is about to be modified.
HTMLElement: pointermove event - Web APIs
bubbles yes cancelable yes interface pointerevent event handler property onpointermove usage notes the event, which is of type pointerevent, provides all the information you need to know about the user's interaction with the pointing device, including the position, movement distance, button states, and much more.
HTMLElement - Web APIs
input events beforeinput fired when the value of an <input>, <select>, or <textarea> element is about to be modified.
HTMLHtmlElement.version - Web APIs
returns version information about the document type definition (dtd) of a document.
HTMLIFrameElement - Web APIs
via element.removeattribute()) causes about:blank to be loaded in the frame in firefox (from version 65), chromium-based browsers, and safari/ios.
HTMLImageElement.alt - Web APIs
in this example, a starburst image with the word "new!" is used to indicate that an article is about something new (and probably supposedly also exciting).
HTMLImageElement.x - Web APIs
html in this example, we see a table showing information about users of a web site, including their user id, their full name, and their avatar image.
HTMLImageElement.y - Web APIs
html in this example, we see a table showing information about users of a web site, including their user id, their full name, and their avatar image.
HTMLMediaElement.error - Web APIs
when an error event is received by the element, you can determine details about what happened by examining this object.
HTMLMediaElement.play() - Web APIs
for even more in-depth information about autoplay and autoplay blocking, see our article autoplay guide for media and web audio apis.
HTMLMediaElement.readyState - Web APIs
possible values are: constant value description have_nothing 0 no information is available about the media resource.
HTMLMediaElement: timeupdate event - Web APIs
the event frequency is dependant on the system load, but will be thrown between about 4hz and 66hz (assuming the event handlers don't take longer than 250ms to run).
HTMLMetaElement - Web APIs
the htmlmetaelement interface contains descriptive metadata about a document.
HTMLSelectElement - Web APIs
example get information about the selected option /* assuming we have the following html <select id='s'> <option>first</option> <option selected>second</option> <option>third</option> </select> */ var select = document.getelementbyid('s'); // return the index of the selected option console.log(select.selectedindex); // 1 // return the value of the selected option console.log(select.options[select.selectedindex...
HTMLTextAreaElement - Web APIs
placeholder string: returns / sets the element's placeholder attribute, containing a hint to the user about what to enter in the control.
HTMLVideoElement.getVideoPlaybackQuality() - Web APIs
syntax videopq = videoelement.getvideoplaybackquality(); return value a videoplaybackquality object providing information about the video element's current playback quality.
Drag Operations - Web APIs
you may also wish to set either the effectallowed, dropeffect property, or both at the same time, if you wish to be more specific about the type of operation that will performed.
Recommended Drag Types - Web APIs
see dragging and dropping multiple items for more details about this.
Headers - Web APIs
WebAPIHeaders
note: you can find more out about the available headers by reading our http headers reference.
IDBDatabase.transaction() - Web APIs
you're storing critical data that cannot be recomputed later) you can force a transaction to flush to disk before delivering the complete event by creating a transaction using the experimental (non-standard) readwriteflush mode (see idbdatabase.transaction.) this is currently experimental, and can only be used if the dom.indexeddb.experimental pref is set to true in about:config.
IDBObjectStore - Web APIs
to change preferences in firefox, visit about:config.ie partial support 10opera full support 15safari full support 7webview android full support yes full support yes no support ?
IDBRequest.onerror - Web APIs
); // when this new request succeeds, run the displaydata() // function again to update the display updatetitlerequest.onsuccess = function() { displaydata(); }; }; objectstoretitlerequest.onerror = function() { // if an error occurs with the request, log what it is console.log("there has been an error with retrieving your data: " + objectstoretitlerequest.error); // todo what about event parameter into onerror()?
IDBRequest - Web APIs
the request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the idbrequest instance.
IDBTransaction.oncomplete - Web APIs
you're storing critical data that cannot be recomputed later) you can force a transaction to flush to disk before delivering the complete event by creating a transaction using the experimental (non-standard) readwriteflush mode (see idbdatabase.transaction.) this is currently experimental, and can only be used if the dom.indexeddb.experimental pref is set to true in about:config.
IdleDeadline.timeRemaining() - Web APIs
the value is ideally accurate to within about 5 microseconds.
IdleDeadline - Web APIs
to learn more about how request callbacks work, see collaborative scheduling of background tasks.
Browser storage limits and eviction criteria - Web APIs
note: in firefox, you can find your profile folder by entering about:support in the url bar, and pressing the show in...
Checking when a deadline is due - Web APIs
it's about to get a bit more complex.
InputDeviceCapabilities - Web APIs
the inputdevicecapabilities() constructor creates a new inputdevicecapabilities object provides information about the physical device responsible for generating a touch event.
InputDeviceCapabilities - Web APIs
the inputdevicecapabilities interface of the input device capabilities api provides information about the physical device or a group of related devices responsible for generating input events.
InputEvent() - Web APIs
datatransfer: (optional) a datatransfer object containing information about richtext or plaintext data being added to or removed from editible content.
InputEvent.dataTransfer - Web APIs
the datatransfer read-only property of the inputevent interface returns a datatransfer object containing information about richtext or plaintext data being added to or removed from editible content.
InputEvent - Web APIs
inputevent.datatransferread only returns a datatransfer object containing information about richtext or plaintext data being added to or removed from editable content.
compareVersion - Web APIs
note that the registry pathname is not the location of the software on the computer; it is the location of information about the software inside the client version registry.
install - Web APIs
to surface detail about the status of the installation, use the optional callback function and its status parameter, as in the example below.
installChrome - Web APIs
note that this return value does not indicate anything about the success of the installation.
Key Values - Web APIs
vk_prev_day "info" toggles the display of information about the currently selected content, program, or media.
KeyboardEvent.key - Web APIs
WebAPIKeyboardEventkey
lear-console'); function logmessage(message) { document.getelementbyid("console-log").innerhtml += message + "<br>"; } textarea.addeventlistener('keydown', (e) => { if (!e.repeat) logmessage(`key "${e.key}" pressed [event: keydown]`); else logmessage(`key "${e.key}" repeating [event: keydown]`); }); textarea.addeventlistener('beforeinput', (e) => { logmessage(`key "${e.data}" about to be input [event: beforeinput]`); }); textarea.addeventlistener('input', (e) => { logmessage(`key "${e.data}" input [event: input]`); }); textarea.addeventlistener('keyup', (e) => { logmessage(`key "${e.key}" released [event: keyup]`); }); btnclearconsole.addeventlistener('click', (e) => { let child = consolelog.firstchild; while (child) { consolelog.removechild(child); chil...
KeyframeEffectOptions - Web APIs
simply put, these properties describe how the user agent should go about making the transition from keyframe to keyframe, and how to behave when the animation begins and ends.
LargestContentfulPaint - Web APIs
the largestcontentfulpaint interface of the largest contentful paint api provides details about the largest image or text paint before user input on a web page.
LayoutShiftAttribution - Web APIs
the layoutshiftattribution interface of the layout instability api provides debugging information about elements which have shifted.
LocalFileSystemSync - Web APIs
about this document this document was last updated on march 2, 2012 and follows the w3c specifications (working draft) drafted on april 19, 2011.
LockManager.query() - Web APIs
WebAPILockManagerquery
the query() method of the lockmanager interface returns a promise which resolves with an object containing information about held and pending locks.
LockManager - Web APIs
lockmanager.query() returns a promise that resolves with a lockmanagersnapshot which contains information about held and pending locks.
LockedFile.getMetadata() - Web APIs
summary the getmetadata method allows to retrieve some metadata about the locked file.
Long Tasks API - Web APIs
taskattributiontiming returns information about the work involved in a long task and its associate frame context.
MIDIAccess - Web APIs
examples navigator.requestmidiaccess() .then(function(access) { // get lists of available midi controllers const inputs = access.inputs.values(); const outputs = access.outputs.values(); access.onstatechange = function(e) { // print information about the (dis)connected midi controller console.log(e.port.name, e.port.manufacturer, e.port.state); }; }); specifications specification status comment web midi api working draft initial definition.
Magnetometer.Magnetometer() - Web APIs
the magnetometer constructor creates a new magnetometer object which returns information about the magnetic field as detected by a device’s primary magnetometer sensor.
Magnetometer - Web APIs
the magnetometer interface of the sensor apis provides information about the magnetic field as detected by the device’s primary magnetometer sensor.
MediaDevices.getDisplayMedia() - Web APIs
browsers are encouraged to provide a warning to users about sharing displays or windows that contain browsers, and to keep a close eye on what other content might be getting captured and shown to other users.
MediaDevices.ondevicechange - Web APIs
there is no information about the change included in the event object; to get the updated list of devices, you'll have to use enumeratedevices().
MediaError - Web APIs
a mediaerror object describes the error in general terms using a numeric code categorizing the kind of error, and a message, which provides specific diagnostics about what went wrong.
MediaKeySystemConfiguration - Web APIs
the mediakeysystemconfiguration dictionary holds configuration information about the media key system in use.
MediaPositionState - Web APIs
its contents can be used by the user agent to provide a user interface displaying information about the playback position and duration of the media currently being performed.
MediaRecorder() - Web APIs
options optional a dictionary object that can contain the following properties: mimetype: a mime type specifying the format for the resulting media; you may simply specify the container format (the browser will select its preferred codecs for audio and/or video), or you may use the codecs parameter and/or the profiles parameter to provide detailed information about which codecs to use and how to configure them.
MediaRecorder.onwarning - Web APIs
properties message contains information about the error that occurred.
MediaRecorderErrorEvent.error - Web APIs
the read-only error property in the mediarecordererrorevent interface is a domexception object providing details about the exception that was thrown by a mediarecorder instance.
MediaRecorderErrorEvent - Web APIs
error read only a domexception containing information about the error that occurred.
MediaSource.isTypeSupported() - Web APIs
this may include the codecs parameter to provide added details about the codecs used within the file.
MediaStreamAudioSourceNode - Web APIs
see track ordering for more information about the order of tracks.
MediaStreamConstraints - Web APIs
to learn more about how constraints work, see capabilities, constraints, and settings.
MediaStream Image Capture API - Web APIs
in addition to capturing data, it also allows you to retrieve information about device capabilities such as image size, red-eye reduction and whether or not there is a flash and what they are currently set to.
MediaStream Recording API - Web APIs
for more information to learn more about using the mediastream recording api, see using the mediastream recording api, which shows how to use the api to record audio clips.
MediaTrackSettings - Web APIs
to learn more about how constraints and settings work, see capabilities, constraints, and settings.
MediaTrackSupportedConstraints - Web APIs
to learn more about how constraints work, see capabilities, constraints, and settings.
Media Session API - Web APIs
mediapositionstate used to contain information about the current playback position, playback speed, and overall media duration when calling the mediasession method setpositionstate() to establish the media's length, playback position, and playback speed.
Transcoding assets for Media Source Extensions - Web APIs
[0] (c) copyright 2008, blender foundation / www.bigbuckbunny.org / https://peach.blender.org/about/ tools required when working with mse, the following tools are a must have: ffmpeg — a command-line utility for transcoding your media into the required formats.
Media Source API - Web APIs
videoplaybackquality contains information about the quality of video being played by a <video> element, such as number of dropped or corrupted frames.
MerchantValidationEvent - Web APIs
to learn more about merchant validation, see merchant validation in payment processing concepts.
Metadata - Web APIs
WebAPIMetadata
the metadata interface is used by the file and directory entries api to contain information about a file system entry.
MimeTypeArray - Web APIs
the mimetypearray interface returns an array of mimetype instances, each of which contains information about a supported browser plugins.
MouseEvent.initMouseEvent() - Web APIs
the page on creating and triggering events gives more information about the way to use these.
MouseEvent.pageX - Web APIs
WebAPIMouseEventpageX
see page in coordinate systems for some additional information about coordinates specified in this fashion.
NDEFReader - Web APIs
ndefreader.onreading an event handler for reading event, that notifies about availability of a new reading.
NDEFRecord.id - Web APIs
WebAPINDEFRecordid
web nfc does not sign the nfc content, thus record consumer should not make any assumptions about integrity or authenticity of the identifier or any other part of the records.
Using Navigation Timing - Web APIs
determining navigation type to put the timing information obtained from performancetiming into the correct perspective, you need to know more about what sort of load operation occurred.
Navigator.battery - Web APIs
WebAPINavigatorbattery
the battery read-only property returns a batterymanager which provides information about the system's battery charge level and whether the device is charging and exposes events that fire when these parameters change.
Navigator.connection - Web APIs
the navigator.connection read-only property returns a networkinformation object containing information about the system's connection, such as the current bandwidth of the user's device or whether the connection is metered.
Navigator.mediaCapabilities - Web APIs
the navigator.mediacapabilities read-only property returns a mediacapabilities object that can expose information about the decoding and encoding capabilities for a given format and output capabilities as defined by the media capabilities api.
Navigator.registerProtocolHandler() - Web APIs
this might happen if: the registered scheme (protocol) is invalid, such as a scheme the browser handles itself (https:, about:, etc.) the handler url’s origin does not match the origin of the page calling this api.
Navigator.requestMediaKeySystemAccess() - Web APIs
as a general rule, this function should be called only when it's about time to create and use a mediakeys object by calling the returned mediakeysystemaccess object's createmediakeys() method.
NavigatorID.userAgent - Web APIs
for example: in firefox, you can change the preference general.useragent.override in about:config.
NavigatorID - Web APIs
navigatorid.appversion read only returns either "4.0" or a string representing version information about the browser.
NetworkInformation - Web APIs
the networkinformation interface provides information about the connection a device is using to communicate with the network and provides a means for scripts to be notified if the connection type changes.
NodeFilter - Web APIs
a nodefilter knows nothing about the document or traversing nodes; it only knows how to evaluate a single node against the provided filter.
Using the Notifications API - Web APIs
most modern browsers dismiss notifications automatically after a few moments (around four seconds) but this isn't something you should generally be concerned about as it's up to the user and user agent.
Notifications API - Web APIs
note: to find out more about using notifications in your own app, read using the notifications api.
PannerNode.coneInnerAngle - Web APIs
he sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calculate the vector for -22.4 degrees // since our coneouterangle is 45, this will just about make the sound audible // if we set it to +/-22.5, the sound volume will be 0, as the threshold is exclusive const [x2, y2, z2] = yrotationtovector(-22.4); panner.orientationx.setvalueattime(x2, context.currenttime + 2); panner.orientationy.setvalueattime(y2, context.currenttime + 2); panner.orientationz.setvalueattime(z2, context.currenttime + 2); finally, let's connect all our nodes and start ...
PannerNode.coneOuterAngle - Web APIs
he sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calculate the vector for -22.4 degrees // since our coneouterangle is 45, this will just about make the sound audible // if we set it to +/-22.5, the sound volume will be 0, as the threshold is exclusive const [x2, y2, z2] = yrotationtovector(-22.4); panner.orientationx.setvalueattime(x2, context.currenttime + 2); panner.orientationy.setvalueattime(y2, context.currenttime + 2); panner.orientationz.setvalueattime(z2, context.currenttime + 2); finally, let's connect all our nodes and start ...
PannerNode.coneOuterGain - Web APIs
he sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calculate the vector for -22.4 degrees // since our coneouterangle is 45, this will just about make the sound audible // if we set it to +/-22.5, the sound volume will be 0, as the threshold is exclusive const [x2, y2, z2] = yrotationtovector(-22.4); panner.orientationx.setvalueattime(x2, context.currenttime + 2); panner.orientationy.setvalueattime(y2, context.currenttime + 2); panner.orientationz.setvalueattime(z2, context.currenttime + 2); finally, let's connect all our nodes and start ...
PannerNode.orientationX - Web APIs
he sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calculate the vector for -22.4 degrees // since our coneouterangle is 45, this will just about make the sound audible // if we set it to +/-22.5, the sound volume will be 0, as the threshold is exclusive const [x2, y2, z2] = yrotationtovector(-22.4); panner.orientationx.setvalueattime(x2, context.currenttime + 2); panner.orientationy.setvalueattime(y2, context.currenttime + 2); panner.orientationz.setvalueattime(z2, context.currenttime + 2); finally, let's connect all our nodes and start ...
PannerNode.orientationY - Web APIs
he sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calculate the vector for -22.4 degrees // since our coneouterangle is 45, this will just about make the sound audible // if we set it to +/-22.5, the sound volume will be 0, as the threshold is exclusive const [x2, y2, z2] = yrotationtovector(-22.4); panner.orientationx.setvalueattime(x2, context.currenttime + 2); panner.orientationy.setvalueattime(y2, context.currenttime + 2); panner.orientationz.setvalueattime(z2, context.currenttime + 2); finally, let's connect all our nodes and start ...
PannerNode.orientationZ - Web APIs
he sound will play at full volume const [x1, y1, z1] = yrotationtovector(0); // schedule the no-rotation vector immediately panner.orientationx.setvalueattime(x1, context.currenttime); panner.orientationy.setvalueattime(y1, context.currenttime); panner.orientationz.setvalueattime(z1, context.currenttime); // calculate the vector for -22.4 degrees // since our coneouterangle is 45, this will just about make the sound audible // if we set it to +/-22.5, the sound volume will be 0, as the threshold is exclusive const [x2, y2, z2] = yrotationtovector(-22.4); panner.orientationx.setvalueattime(x2, context.currenttime + 2); panner.orientationy.setvalueattime(y2, context.currenttime + 2); panner.orientationz.setvalueattime(z2, context.currenttime + 2); finally, let's connect all our nodes and start ...
ParentNode.querySelector() - Web APIs
see locating dom elements using selectors for more information about using selectors to identify elements.
ParentNode.querySelectorAll() - Web APIs
see locating dom elements using selectors for more information about using selectors to identify elements.
PasswordCredential - Web APIs
the interface of the credential management api provides information about a username/password pair.
PaymentAddress - Web APIs
it may be useful to refer to the universal postal union web site's addressing s42 standard materials, which provide information about international standards for postal addresses.
PaymentDetailsUpdate.shippingAddressErrors - Web APIs
in that case, the property in shippingaddresserrors is a string describing the validation error, ideally including suggestions about fixing the error.
PaymentMethodChangeEvent - Web APIs
the paymentmethodchangeevent() constructor creates a new paymentmethodchangeevent object providing details about a paymentmethodchange event.
PaymentRequest.PaymentRequest() - Web APIs
details provides information about the requested transaction.
PaymentRequest.show() - Web APIs
omplete("fail")); } you could even have checkallvalues() be a synchronous function, although that may have performance implications you don't want to deal with: function validateresponse(response) { if (checkallvalues(response) { response.complete("success"); } else { response.complete("fail"); } } see the article using promises for more information if you need more information about working with promises.
PaymentValidationErrors - Web APIs
the paymentvalidationerrors dictionary represents objects providing information about any and all errors that occurred while processing a payment request.
Payment processing concepts - Web APIs
should have an article about this specification and how to use it.
Using the Payment Request API - Web APIs
other useful payment request methods there are some other useful payment request methods worth knowing about.
Payment Request API - Web APIs
consistent error handling: the browser can check the validity of card numbers, and can tell the user if a card has expired (or is about to expire).
Performance - Web APIs
performance.navigation read only a legacy performancenavigation object that provides useful context about the operations included in the times listed in timing, including whether the page was a load or a refresh, how many redirections occurred, and so forth.
PerformanceNavigation - Web APIs
the legacy performancenavigation interface represents information about how the navigation to the current document was done.
PerformancePaintTiming - Web APIs
the performancepainttiming interface of the paint timing provides timing information about "paint" (also called "render") operations during web page construction.
PerformanceResourceTiming - Web APIs
additionally, the interface extends performanceentry with other properties which provide data about the size of the fetched resource as well as the type of resource that initiated the fetch.
Performance API - Web APIs
performanceframetiming provides methods and properties containing frame timing data about the browser's event loop.
Performance Timeline - Web APIs
for more details about the interfaces, see the reference pages and using performance timeline.
Permissions API - Web APIs
read more about how it works in our article using the permissions api.
Plugin - Web APIs
WebAPIPlugin
the plugin interface provides information about a browser plugin.
PluginArray - Web APIs
pluginslength; i++) { let newrow = table.insertrow(); newrow.insertcell().textcontent = navigator.plugins[i].name; newrow.insertcell().textcontent = navigator.plugins[i].filename; newrow.insertcell().textcontent = navigator.plugins[i].description; newrow.insertcell().textcontent = navigator.plugins[i].version?navigator.plugins[i].version:""; } the following example displays information about the installed plugin(s).
PointerEvent.getCoalescedEvents() - Web APIs
to change preferences in firefox, visit about:config.opera android full support 43safari ios no support nosamsung internet android full support 7.0legend full support full support partial support partial supp...
PointerEvent.isPrimary - Web APIs
if there are multiple primary pointers, these pointers will all produce compatibility mouse events (see pointer_events for more information about pointer, mouse and touch interaction).
Pinch zoom gestures - Web APIs
function remove_event(ev) { // remove this event from the target's cache for (var i = 0; i < evcache.length; i++) { if (evcache[i].pointerid == ev.pointerid) { evcache.splice(i, 1); break; } } } event logging these functions are used to send event activity to the application's window (to support debugging and learning about the event flow).
Pointer events - Web APIs
this section contains information about pointer event and mouse event interaction and the ramifications for application developers.
PromiseRejectionEvent() - Web APIs
options an object specifying details about the rejection which occurred: promise the promise that was rejected.
PromiseRejectionEvent.reason - Web APIs
this in theory provides information about why the promise was rejected.
PublicKeyCredential - Web APIs
the publickeycredential interface provides information about a public key / private key pair, which is a credential for logging in to a service using an un-phishable and data-breach resistant asymmetric key pair instead of a password.
PublicKeyCredentialCreationOptions.attestation - Web APIs
the information contained in the attestation may thus disclose some information about the user (e.g.
PublicKeyCredentialCreationOptions.extensions - Web APIs
if true, the client outputs an array of arrays with 3 values containing information about how the user was verified (e.g.
PublicKeyCredentialRequestOptions.extensions - Web APIs
if true, the client outputs an array of arrays with 3 values containing information about how the user was verified (e.g.
PushManager.registrations() - Web APIs
the registrations method is used to ask the system about existing push endpoint registrations.
PushManager.subscribe() - Web APIs
in a production environment it might make sense to // also report information about errors back to the // application server.
PushManager - Web APIs
in a production environment it might make sense to // also report information about errors back to the // application server.
Push API - Web APIs
WebAPIPush API
serviceworkerglobalscope.onpushsubscriptionchange an event handler fired whenever a pushsubscriptionchange event occurs; for example, when a push subscription has been invalidated, or is about to be invalidated (e.g.
RTCConfiguration.certificates - Web APIs
<<<--- add link to information about identity --->>> examples specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcconfiguration.certificates' in that specification.
RTCDataChannel.negotiated - Web APIs
see creating a data channel in using webrtc data channels for further information about this property.
RTCDataChannel.onbufferedamountlow - Web APIs
see buffering in using webrtc data channels to learn more about how to work with the data channel buffer.
RTCDataChannel.onerror - Web APIs
the error handler passes information about the error to a ui library's alert box function to present an error message to the user.
RTCDataChannel.send() - Web APIs
for more information about message size restrictions, see understanding message size limits in using webrtc data channels.
RTCErrorEvent.error - Web APIs
syntax let errorinfo = rtcerrorevent.error; value an rtcerror object whose properties provide details about the error which has occurred in the context of a webrtc operation.
RTCErrorEvent - Web APIs
properties in addition to the standard properties available on the event interface, rtcerrorevent also includes the following: error read only an rtcerror object specifying the error which occurred; this object includes the type of error that occurred, information about where the error occurred (such as which line number in the sdp or what sctp cause code was at issue).
RTCIceCandidate.RTCIceCandidate() - Web APIs
syntax candidate = new rtcicecandidate([candidateinfo]); parameters candidateinfo optional an optional rtcicecandidateinit object providing information about the candidate; if this is provided, the candidate is initialized configured to represent the described candidate.
RTCIceCandidate.protocol - Web APIs
the tcptype property provides additional information about the kind of tcp candidate represented by the object.
RTCIceCandidate.tcpType - Web APIs
the rtcicecandidate interface's read-only tcptype property is included on tcp candidates to provide additional details about the candidate type.
RTCIceCandidate.usernameFragment - Web APIs
there's not typically a need to manually worry about filtering the candidates.
RTCIceCandidateStats.address - Web APIs
the addition of support for fully-qualified domain names to be used for the address brought about the renaming of the property.
RTCIceCandidateStats.protocol - Web APIs
the tcptype property provides additional information about the kind of tcp candidate represented by the object.
RTCIceCandidateStats.transportId - Web APIs
the rtcicecandidatestats dictionary's transportid property is a string that uniquely identifies the transport that produced the rtctransportstats from which information about this candidate was taken.
RTCIceParameters.usernameFragment - Web APIs
see rtcicecandidate.usernamefragment to learn more about username fragments and their role in a connection.
RTCIceProtocol - Web APIs
the tcptype property provides additional information about the kind of tcp candidate represented by the object.
RTCIceRole - Web APIs
you can learn more about ice roles in choosing a candidate pair in webrtc connectivity.
RTCIceTransport.role - Web APIs
you can learn more about ice roles in choosing a candidate pair in webrtc connectivity.
RTCIceTransport: selectedcandidatepairchange event - Web APIs
bubbles no cancelable no interface event event handler property onselectedcandidatepairchange examples this example creates an event handler for selectedcandidatepairchange that updates a display providing the user information about the progress of the ice negotiation for an rtcpeerconnection called pc.
RTCInboundRtpStreamStats.receiverId - Web APIs
syntax var receiverstatsid = rtcinboundrtpstreamstats.receiverid; value a domstring which contains the id of the rtcaudioreceiverstats or rtcvideoreceiverstats object which provides information about the rtcrtpreceiver which is receiving the streamed media.
RTCOutboundRtpStreamStats - Web APIs
senderid the {domxref("rtcstats.id", "id")}} of the rtcaudiosenderstats or rtcvideosenderstats object containing statistics about this stream's rtcrtpsender.
RTCPeerConnection.createAnswer() - Web APIs
the answer contains information about any media already attached to the session, codecs and options supported by the browser, and any ice candidates already gathered.
RTCPeerConnection.createOffer() - Web APIs
the sdp offer includes information about any mediastreamtracks already attached to the webrtc session, codec, and options supported by the browser, and any candidates already gathered by the ice agent, for the purpose of being sent over the signaling channel to a potential peer to request a connection or to update the configuration of an existing connection.
RTCPeerConnection.getConfiguration() - Web APIs
the configuration includes a list of the ice servers used by the connection, information about transport policies, and identity information.
RTCPeerConnection.getStats() - Web APIs
the rtcpeerconnection method getstats() returns a promise which resolves with data providing statistics about either the overall connection or about the specified mediastreamtrack.
RTCPeerConnection.onicecandidate - Web APIs
this lets the ice agent perform negotiation with the remote peer without the browser itself needing to know any specifics about the technology being used for signaling; simply implement this method to use whatever messaging technology you choose to send the ice candidate to the remote peer.
RTCPeerConnection.onsignalingstatechange - Web APIs
this event object doesn't provide details about what changed, but you can examine the signalingstate property to determine what the new state is.
RTCPeerConnection.restartIce() - Web APIs
for details about how ice restart works, see ice restart in lifetime of a webrtc session and rfc 5245, section 9.1.1.1: ice specification.
RTCPeerConnection.setLocalDescription() - Web APIs
pc.addeventlistener("negotiationneeded", async (event) => { await pc.setlocaldescription(); signalremotepeer({ description: pc.localdescription }); }); other than error handling, that's about it!
RTCPeerConnection.signalingState - Web APIs
see signaling in lifetime of a webrtc session for more details about the signaling process.
RTCRtpCodecCapability - Web APIs
see codecs used by webrtc for details about potential codecs that might be referenced here.
RTCRtpContributingSource - Web APIs
the rtcrtpcontributingsource dictionary of the the webrtc api is used by getcontributingsources() to provide information about a given contributing source (csrc), including the most recent time a packet that the source contributed was played out.
RTCRtpReceiver.getStats() - Web APIs
the rtcrtpreceiver method getstats() asynchronously requests an rtcstatsreport object which provides statistics about incoming traffic on the owning rtcpeerconnection, returning a promise whose fulfillment handler will be called once the results are available.
RTCRtpSender.getStats() - Web APIs
the rtcrtpsender method getstats() asynchronously requests an rtcstatsreport object which provides statistics about outgoing traffic on the rtcpeerconnection which owns the sender, returning a promise which is fulfilled when the results are available.
RTCRtpStreamStats.ssrc - Web APIs
see rfc 3550, section 8 for additional information about ssrc.
RTCSctpTransport - Web APIs
this provides information about limitations of the transport, but also provides a way to access the underlying datagram transport layer security (dtls) transport over which sctp packets for all of an rtcpeerconnection's data channels are sent and received.
RTCStats.id - Web APIs
WebAPIRTCStatsid
the format of the id string is not defined by the specification, so you cannot reliably make any assumptions about the contents of the string, or assume that the format of the string will remain unchanged for a given object type.
RTCStatsIceCandidatePairState - Web APIs
see ice check lists in rtcicecandidatepairstats.state for further information about how ice check lsits work.
RTCTrackEvent() - Web APIs
syntax trackevent = new rtctrackevent(eventinfo); parameters eventinfo an object based on the rtctrackeventinit dictionary, providing information about the track which has been added to the rtcpeerconnection.
Reporting API - Web APIs
the report-to http header is used to specify details about the different endpoints that a user-agent has available to it for delivering reports to.
Request() - Web APIs
WebAPIRequestRequest
the default is about:client.
Request.referrer - Web APIs
WebAPIRequestreferrer
example in the following snippet, we create a new request using the request.request() constructor (for an image file in the same directory as the script), then save the request referrer in a variable: var myrequest = new request('flowers.jpg'); var myreferrer = myrequest.referrer; // returns "about:client" by default specifications specification status comment fetchthe definition of 'referrer' in that specification.
ScreenOrientation - Web APIs
the screenorientation interface of the the screen orientation api provides information about the current orientation of the document.
Screen Orientation API - Web APIs
the screen orientation api provides information about the orientation of the screen.
SecurityPolicyViolationEvent.SecurityPolicyViolationEvent() - Web APIs
eventinitdict optional a dictionary object containing information about the properties of the securitypolicyviolationevent to be constructed.
Selection API - Web APIs
when a new range of text is about to be selected by the user).
SensorErrorEvent.SensorErrorEvent() - Web APIs
the sensorerrorevent constructor creates a new sensorerrorevent object which provides information about errors thrown by any of the interfaces based on sensor.
SensorErrorEvent - Web APIs
the sensorerrorevent interface of the sensor apis provides information about errors thrown by a sensor or related interface.
ServiceWorkerContainer - Web APIs
see /docs/web/api/serviceworkerregistration }).catch(function(error) { console.log('service worker registration failed:', error); }); // independent of the registration, let's also display // information about whether the current page is controlled // by an existing service worker, and when that // controller changes.
ServiceWorkerGlobalScope.onfetch - Web APIs
about to fetch from network...'); return fetch(event.request).then(function(response) { console.log('response from network is:', response); return response; }).catch(function(error) { console.error('fetching failed:', error); throw error; }); }) ); }); specifications specification status comment service workersthe defi...
ServiceWorkerGlobalScope.onpushsubscriptionchange - Web APIs
previously, it was defined as the event interface that is fired whenever a push subscription has been invalidated (or is about to become so).
ServiceWorkerMessageEvent - Web APIs
the serviceworkermessageevent interface of the serviceworker api contains information about an event sent to a serviceworkercontainer target.
ServiceWorkerRegistration.pushManager - Web APIs
in a production environment it might make sense to // also report information about errors back to the // application server.
SharedWorker() - Web APIs
note: there is disagreement among browser manufacturers about whether a data uri is of the same origin or not.
SpeechRecognitionError.message - Web APIs
syntax var myerrormsg = event.message; value a domstring containing more details about the error that was raised.
SpeechRecognitionErrorEvent.message - Web APIs
syntax var myerrormsg = event.message; value a domstring containing more details about the error that was raised.
SpeechSynthesis.cancel() - Web APIs
examples var synth = window.speechsynthesis; var utterance1 = new speechsynthesisutterance('how about we say this now?
SpeechSynthesis.pause() - Web APIs
examples var synth = window.speechsynthesis; var utterance1 = new speechsynthesisutterance('how about we say this now?
SpeechSynthesis.pending - Web APIs
examples var synth = window.speechsynthesis; var utterance1 = new speechsynthesisutterance('how about we say this now?
SpeechSynthesis.resume() - Web APIs
examples var synth = window.speechsynthesis; var utterance1 = new speechsynthesisutterance('how about we say this now?
SpeechSynthesis.speaking - Web APIs
examples var synth = window.speechsynthesis; var utterance1 = new speechsynthesisutterance('how about we say this now?
SpeechSynthesis - Web APIs
the speechsynthesis interface of the web speech api is the controller interface for the speech service; this can be used to retrieve information about the synthesis voices available on the device, start and pause speech, and other commands besides.
SpeechSynthesisErrorEvent - Web APIs
the speechsynthesiserrorevent interface of the web speech api contains information about any errors that occur while processing speechsynthesisutterance objects in the speech service.
SpeechSynthesisEvent - Web APIs
the speechsynthesisevent interface of the web speech api contains information about the current state of speechsynthesisutterance objects that have been processed in the speech service.
SpeechSynthesisUtterance - Web APIs
it contains the content the speech service should read and information about how to read it (e.g.
SpeechSynthesisVoice - Web APIs
every speechsynthesisvoice has its own relative speech service including information about language, name and uri.
StorageEstimate.quota - Web APIs
html content <label> you’re currently using about <output id="percent"> </output>% of your available storage.
StorageEstimate.usage - Web APIs
html content <label> you’re currently using about <output id="percent"> </output>% of your available storage.
StorageManager.estimate() - Web APIs
html content <label> you’re currently using about <output id="percent"> </output>% of your available storage.
Storage API - Web APIs
note: see using the permissions api for further details about obtaining and managing permissions.
Using writable streams - Web APIs
note: if you are looking for information about readable streams, try using readable streams instead.
Streams API - Web APIs
note: you can find a lot more details about the theory and practice of streams in our articles — streams api concepts, using readable streams, and using writable streams.
SubtleCrypto.encrypt() - Web APIs
authentication helps protect against chosen-ciphertext attacks, in which an attacker can ask the system to decrypt arbitrary messages, and use the result to deduce information about the secret key.
TaskAttributionTiming - Web APIs
the taskattributiontiming interface of the long tasks api returns information about the work involved in a long task and its associate frame context.
TextTrackList - Web APIs
var texttracks = document.queryselector("video").texttracks; monitoring track count changes in this example, we have an app that displays information about the number of channels available.
TimeEvent - Web APIs
WebAPITimeEvent
"50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="161" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">timeevent</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties timeevent.detail read only is a long that specifies some detail information about the event, depending on the type of the event.
Touch() - Web APIs
WebAPITouchTouch
"rotationangle", optional and defaulting to 0, of type float, that is the angle (in degrees) that the ellipse described by radiusx and radiusy is rotated clockwise about its center; 0 if no value is known.
Touch.radiusX - Web APIs
WebAPITouchradiusX
the touch.rotationangle is the angle (in degrees) that the ellipse described by radiusx and radiusy is rotated clockwise about its center.
Supporting both TouchEvent and MouseEvent - Web APIs
below are some details about the interaction and the ramifications for application developers.
UIEvent() - Web APIs
WebAPIUIEventUIEvent
sourcecapabilities: an instance of the inputdevicecapabilities interface which provides information about the physical device responsible for generating a touch event.
sourceCapabilities - Web APIs
the uievent.sourcecapabilities read-only property returns an instance of the inputdevicecapabilities interface which provides information about the physical device responsible for generating a touch event.
USBConfiguration.USBConfiguration() - Web APIs
the usbconfiguration() constructor creates a new usbconfiguration object which contains information about the configuration on the provided usbdevice with the given configuration value.
USBDevice - Web APIs
WebAPIUSBDevice
the usbdevice interface of the the webusb api provides access to metadata about a paired usb device and methods for controlling it.
VideoTrackList - Web APIs
var videotracks = document.queryselector("video").videotracks; monitoring track count changes in this example, we have an app that displays information about the number of channels available.
Visual Viewport API - Web APIs
a window's visualviewport object provides information about the viewport's position and size, and receives the resize and event:visualviewport:scroll events you can onitor to know when chances occur to the window's viewport.
WEBGL_debug_shaders - Web APIs
this extension is not directly available to web sites as the way of how the shader is translated may uncover personally-identifiable information to the web page about the kind of graphics card in the user's computer.
WebGL2RenderingContext.getActiveUniformBlockParameter() - Web APIs
the webgl2renderingcontext.getactiveuniformblockparameter() method of the webgl 2 api retrieves information about an active uniform block within a webglprogram.
WebGL2RenderingContext.getActiveUniforms() - Web APIs
the webgl2renderingcontext.getactiveuniforms() method of the webgl 2 api retrieves information about active uniforms within a webglprogram.
WebGL2RenderingContext.getIndexedParameter() - Web APIs
the webgl2renderingcontext.getindexedparameter() method of the webgl 2 api returns indexed information about a given target.
WebGL2RenderingContext.getTransformFeedbackVarying() - Web APIs
the webgl2renderingcontext.gettransformfeedbackvarying() method of the webgl 2 api returns information about varying variables from webgltransformfeedback buffers.
WebGLContextEvent - Web APIs
webglcontextevent.statusmessage a read-only property containing additional information about the event.
WebGLRenderingContext.getBufferParameter() - Web APIs
the webglrenderingcontext.getbufferparameter() method of the webgl api returns information about the buffer.
WebGLRenderingContext.getContextAttributes() - Web APIs
ecaveat: false, powerpreference: "default", premultipliedalpha: true, preservedrawingbuffer: false, stencil: false, desynchronized: false } the context attributes can be set when creating the context using the htmlcanvaselement.getcontext() method: canvas.getcontext('webgl', { antialias: false, depth: false }); see getcontext() for more information about the individual attributes.
WebGLRenderingContext.getFramebufferAttachmentParameter() - Web APIs
the webglrenderingcontext.getframebufferattachmentparameter() method of the webgl api returns information about a framebuffer's attachment.
WebGLRenderingContext.getProgramInfoLog() - Web APIs
return value a domstring that contains diagnostic messages, warning messages, and other information about the last linking or validation operation.
WebGLRenderingContext.getProgramParameter() - Web APIs
the webglrenderingcontext.getprogramparameter() method of the webgl api returns information about the given program.
WebGLRenderingContext.getRenderbufferParameter() - Web APIs
the webglrenderingcontext.getrenderbufferparameter() method of the webgl api returns information about the renderbuffer.
WebGLRenderingContext.getShaderInfoLog() - Web APIs
return value a domstring that contains diagnostic messages, warning messages, and other information about the last compile operation.
WebGLRenderingContext.getShaderParameter() - Web APIs
the webglrenderingcontext.getshaderparameter() method of the webgl api returns information about the given shader.
WebGLRenderingContext.getTexParameter() - Web APIs
the webglrenderingcontext.gettexparameter() method of the webgl api returns information about the given texture.
WebGLRenderingContext.getVertexAttrib() - Web APIs
the webglrenderingcontext.getvertexattrib() method of the webgl api returns information about a vertex attribute at a given position.
WebGLRenderingContext.stencilOp() - Web APIs
gl.enable(gl.stencil_test); gl.stencilop(gl.incr, gl.decr, gl.invert); to get the current information about stencil and depth pass or fail, query the following constants with getparameter().
WebGLRenderingContext.stencilOpSeparate() - Web APIs
gl.enable(gl.stencil_test); gl.stencilopseparate(gl.front, gl.incr, gl.decr, gl.invert); to get the current information about stencil and depth pass or fail, query the following constants with getparameter().
A basic 2D WebGL animation example - Web APIs
we won't discuss these here; instead, we'll talk about them as they're used in the code to come.
Basic scissoring - Web APIs
this is a good opportunity to talk about the difference between pixels and fragments.
Adding 2D content to a WebGL context - Web APIs
the shaders a shader is a program, written using the opengl es shading language (glsl), that takes information about the vertices that make up a shape and generates the data needed to render the pixels onto the screen: namely, the positions of the pixels and their colors.
Lighting in WebGL - Web APIs
simulating lighting and shading in 3d although going into detail about the theory behind simulated lighting in 3d graphics is far beyond the scope of this article, it's helpful to know a bit about how it works.
WebGL best practices - Web APIs
in firefox, setting the pref webgl.perf.max-warnings to -1 in about:config will enable performance warnings that include warnings about fb completeness invalidations.
WebGL model view projection - Web APIs
if you want to read a full explanation of the math behind it check out some of the following links: opengl projection matrix perspective projection trying to understand the math behind the perspective projection matrix in webgl one important thing to note about the perspective projection matrix used below is that it flips the z axis.
WebGL: 2D and 3D graphics for the web - Web APIs
WebAPIWebGL API
webgl stats a site with statistics about webgl capabilities in browsers on different platforms.
WebRTC coding guide - Web APIs
if you need to learn more about the fundamentals of how webrtc and its protocols work, check out our high-level guides for webrtc.
Introduction to WebRTC protocols - Web APIs
for example, lines providing media descriptions have the type "m", so those lines are referred to as "m-lines." for more information to learn more about sdp, see the following useful resources: specification: rfc 4566: sdp: session description protocol iana registry of sdp parameters ...
Using WebRTC data channels - Web APIs
<<<write more about using bufferedamount, bufferedamountlowthreshold, onbufferedamountlow, and bufferedamountlow here>>> ...
WebSocket: close event - Web APIs
bubbles no cancelable no interface closeevent event handler property onclose examples you might want to know when the connection has been closed so that you can update the ui or, perhaps, save data about the closed connection.
Writing WebSocket client applications - Web APIs
if you want to open a connection and are flexible about the protocols you support, you can specify an array of protocols: var examplesocket = new websocket("wss://www.example.com/socketserver", ["protocolone", "protocoltwo"]); once the connection is established (that is, readystate is open), examplesocket.protocol will tell you which protocol the server selected.
WebXR application life cycle - Web APIs
each requestanimationframe() callback should use the information provided about the objects located in the 3d world to render the frame using webgl.
WebXR performance guide - Web APIs
talk about general stuff like limiting how many different loops there are during rendering, avoiding unnecessary drawing, etc.
Spaces and reference spaces: Spatial tracking in WebXR - Web APIs
<<<--- more text and example about how to handle rendering during lost tracking --->>> when tracking resumes you can detect when tracking has resumed after being lost when the user position jumps while at the same time the value of emulatedposition changes from true to false.
WebXR Device API - Web APIs
using bounded reference spaces in this article, we examine how to use a bounded-floor reference space to define the boundaries of where the viewer can safely move about without leaving the area tracked by their xr hardware or colliding with a physical obstacle.
Controlling multiple parameters with ConstantSourceNode - Web APIs
you could use a loop and change the value of each affected audioparam one at a time, but there are two drawbacks to doing it that way: first, that's extra code that, as you're about to see, you don't have to write; and second, that loop uses valuable cpu time on your thread (likely the main thread), and there's a way to offload all that work to the audio rendering thread, which is optimized for this kind of work and may run at a more appropriate priority level than your code.
Example and tutorial: Simple synth keyboard - Web APIs
it creates the elements that comprise the key and its label, adds some data attributes to the element for later use, and assigns event handlers for the events we care about.
Web Audio API - Web APIs
you can read about the theory of the web audio api in a lot more detail in our article basic concepts behind web audio api.
Web Locks API - Web APIs
mode) about each, at the time the snapshot was taken.
Web NFC API - Web APIs
low-level operations are currently not supported by the api, however there is a public discussion about api that would add such functuionality.
Using Web Workers - Web APIs
about thread safety the worker interface spawns real os-level threads, and mindful programmers may be concerned that concurrency can cause “interesting” effects in your code if you aren't careful.
Window: beforeprint event - Web APIs
the beforeprint event is fired when the associated document is about to be printed or previewed for printing.
Window: beforeunload event - Web APIs
the beforeunload event is fired when the window, the document and its resources are about to be unloaded.
Window: devicemotion event - Web APIs
it also provides information about the rate of rotation, if available.
Window: deviceorientation event - Web APIs
the deviceorientation event is fired when fresh data is available from an orientation sensor about the current orientation of the device as compared to the earth coordinate frame.
Window.frames - Web APIs
WebAPIWindowframes
for more details about the returned value, refer to this thread on mozilla.dev.platform.
Window.getComputedStyle() - Web APIs
to avoid the “css history leak” security issue, browsers may lie about the computed styles for a visited link, returning values as if the user never visited the linked url.
Window.getDefaultComputedStyle() - Web APIs
in particular, to avoid the so called css history leak security issue, browsers may expressly "lie" about the used value for a link and always return values as if a user has never visited the linked site, and/or limit the styles that can be applied using the :visited pseudo-selector.
window.location - Web APIs
WebAPIWindowlocation
the window.location read-only property returns a location object with information about the current location of the document.
Window.navigator - Web APIs
WebAPIWindownavigator
the window.navigator read-only property returns a reference to the navigator object, which has methods and properties about the application running the script.
Window.onbeforeinstallprompt - Web APIs
the window.onbeforeinstallprompt property is an event handler for processing a beforeinstallprompt, which is dispatched on devices when a user is about to be prompted to "install" a web application.
window.ondeviceorientation - Web APIs
summary an event handler for the deviceorientation event, which contains information about a relative device orientation change.
Window.ondeviceorientationabsolute - Web APIs
summary an event handler for the deviceorientationabsolute event containing information about an absolute device orientation change.
Obsolete features - Web APIs
mozilla and firefox users can force new windows to always render the personal toolbar/bookmarks toolbar by setting dom.disable_window_open_feature.personalbar to true in about:config or in their user.js file.
Window.pageYOffset - Web APIs
there is slightly better support for pageyoffset than for scrolly in older browsers, but if you're not concerned about browsers more than a handful of years old, you can use either one.
Window.performance - Web APIs
the window interface's performance property returns a performance object, which can be used to gather performance information about the current document.
Window.pkcs11 - Web APIs
WebAPIWindowpkcs11
syntax objref = window.pkcs11 example window.pkcs11.addmodule(smod, secpath, 0, 0); notes see nsidompkcs11 for more information about how to manipulate pkcs11 objects.
Window: popstate event - Web APIs
see the html autocomplete attribute for more about the autocomplete field names and how autocomplete works.
Window.requestAnimationFrame() - Web APIs
this is a non-zero value, but you may not make any other assumptions about its value.
Window: unhandledrejection event - Web APIs
basic error logging this example simply logs information about the unhandled promise rejection to the console.
WindowEventHandlers.onbeforeunload - Web APIs
these events fire when a window is about to unload its resources.
WindowOrWorkerGlobalScope.fetch() - Web APIs
this can be a same-origin url, about:client, or an empty string.
WindowOrWorkerGlobalScope.queueMicrotask() - Web APIs
you can learn more about how to use microtasks and why you might choose to do so in our microtask guide.
WindowOrWorkerGlobalScope.setInterval() - Web APIs
one approach to solving this problem is to store information about the state of a timer in an object.
WindowOrWorkerGlobalScope.setTimeout() - Web APIs
this causes an integer overflow when using delays larger than 2,147,483,647 ms (about 24.8 days), resulting in the timeout being executed immediately.
Worker() - Web APIs
WebAPIWorkerWorker
note: that there is a disagreement among browser manufacturers about whether a data uri is of the same origin or not.
WorkerGlobalScope.dump() - Web APIs
for example, on mac os x you'd run it using something like this (assuming you are inside the applications folder): ./firefox.app/contents/macos/firefox-bin -profile /tmp -no-remote now go into about:config and enable the browser.dom.window.dump.enabled pref.
WorkerGlobalScope.location - Web APIs
rkerlocation {hash: "", search: "", pathname: "/worker.js", port: "8000", hostname: "localhost"…} hash: "" host: "localhost:8000" hostname: "localhost" href: "http://localhost:8000/worker.js" origin: "http://localhost:8000" pathname: "/worker.js" port: "8000" protocol: "http:" search: "" __proto__: workerlocation you could use this location object to return more information about the document's location, as you might do with a normal location object.
WorkerGlobalScope.navigator - Web APIs
x 10_10_1) applewebkit/537.36 (khtml, like gecko) chrome/40.0.2214.93 safari/537.36" hardwareconcurrency: 4 online: true platform: "macintel" product: "gecko" useragent: "mozilla/5.0 (macintosh; intel mac os x 10_10_1) applewebkit/537.36 (khtml, like gecko) chrome/40.0.2214.93 safari/537.36" __proto__: object you could use this navigator object to return more information about the runtime envinronment, as you might do with a normal navigator object.
WorkerNavigator.connection - Web APIs
the workernavigator.connection read-only property returns a networkinformation object containing information about the system's connection, such as the current bandwidth of the user's device or whether the connection is metered.
WorkerNavigator - Web APIs
workernavigator.connectionread only provides a networkinformation object containing information about the network connection of a device.
Sending and Receiving Binary Data - Web APIs
add information about other browsers' support here.
XMLHttpRequest() - Web APIs
for details about how to use xmlhttprequest, see using xmlhttprequest.
XMLHttpRequest.response - Web APIs
see html in xmlhttprequest to learn more about using xhr to fetch html content.
XMLHttpRequest.responseType - Web APIs
see html in xmlhttprequest to learn more about using xhr to fetch html content.
XMLHttpRequestEventTarget - Web APIs
xmlhttprequesteventtarget.onprogress contains the function that is called periodically with information about the progress of the request and the progress event is received by this object.
XMLHttpRequestResponseType - Web APIs
see html in xmlhttprequest to learn more about using xhr to fetch html content.
XMLSerializer.serializeToString() - Web APIs
notes on the resulting xml there are some things worth noting about the xml output by serializetostring(): for xml serializations, element and attr nodes are always serialized with their namespaceuri intact.
XRBoundedReferenceSpace.boundsGeometry - Web APIs
the browser, however, should provide appropriate warnings to the user about any risks (such as the risk that they might run into a physical wall if they keep moving).
XRFrame - Web APIs
WebAPIXRFrame
the information about a specific object can be obtained by calling one of the methods on the object.
XRInputSource.profiles - Web APIs
each string: has no spaces; instead, words are 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.
XRInputSourceEventInit.frame - Web APIs
the xrinputsourceeventinit dictionary's property frame specifies an xrframe providing information about the timestamp at which the new input source event took place, as well as access to the xrframe method getpose() which can be used to map the coordinates of any xrreferencespace to the space in which the event took place.
XRPermissionDescriptor.optionalFeatures - Web APIs
reference space descriptors the types of reference space are listed in the table below, with brief information about their use cases and which interface is used to implement them.
XRPermissionDescriptor.requiredFeatures - Web APIs
the permitted values are: the types of reference space are listed in the table below, with brief information about their use cases and which interface is used to implement them.
XRPermissionStatus.granted - Web APIs
the types of reference space are listed in the table below, with brief information about their use cases and which interface is used to implement them.
XRPose.emulatedPosition - Web APIs
no information is available about movement forward, backward, or to the sides.
XRReferenceSpace - Web APIs
reference space descriptors the types of reference space are listed in the table below, with brief information about their use cases and which interface is used to implement them.
XRReferenceSpaceType - Web APIs
reference space descriptors the types of reference space are listed in the table below, with brief information about their use cases and which interface is used to implement them.
XRSession.onselect - Web APIs
to learn more about how webxr actions work, see inputs and input sources.
XRSession.onsqueeze - Web APIs
to learn more about how to use and handle webxr controller inputs, see inputs and input sources.
XRSession.onsqueezeend - Web APIs
to learn more about how the sequence of squeeze events works, see primary squeeze actions in inputs and input sources.
XRSession.onsqueezestart - Web APIs
to learn more about how to use and handle webxr controller inputs, see inputs and input sources.
XRSession.requestReferenceSpace() - Web APIs
reference space descriptors the types of reference space are listed in the table below, with brief information about their use cases and which interface is used to implement them.
XRSession - Web APIs
WebAPIXRSession
with xrsession methods, you can poll the viewer's position and orientation (the xrviewerpose), gather information about the user's environment, and present imagery to the user.
XRSessionEvent.session - Web APIs
the read-only xrsessionevent interface's session property indicates which xrsession the event is about.
Generating HTML - Web APIs
the second example will transform the input document (example2.xml), which again contains information about an article, into an html document.
Using the alertdialog role - Accessibility
<div role="alertdialog" aria-labelledby="dialog1title" aria-describedby="dialog1desc"> <div role="document" tabindex="0"> <h2 id="dialog1title">your login session is about to expire</h2> <p id="dialog1desc">to extend your session, click the ok button</p> <button>ok</button> </div> </div> working examples: tbd notes aria attributes used alertdialog aria-labelledby aria-describedby related aria techniques using the dialog role using the alert role compatibility tbd: add support information for common ua and at product combinations add...
Using the aria-activedescendant attribute - Accessibility
possible effects on user agents and assistive technology the user agent, which is any software that retrieves, renders and facilitates end user interaction with web content, uses the aria-activedescendant property to inform the assistive technology about the active child which has focus.
Using the aria-describedby attribute - Accessibility
the examples section below provides more information about how to use the attribute in these cases.
Using the aria-labelledby attribute - Accessibility
aria-labelledby is very similar to aria-describedby: a label provides essential information about an object, while a description provides extended information that the user might need.
Using the group role - Accessibility
when the role is added to an element, the browser will send out an accessible group event to assistive technology products which can then notify the user about it.
Using the log role - Accessibility
when this role is added to an element, the browser will send out an accessible log event to assistive technology products which can then notify the user about it.
Using the status role - Accessibility
when the role is added to an element, the browser will send out an accessible status event to assistive technology products which can then notify the user about it.
ARIA: tabpanel role - Accessibility
the aria tabpanel role indicates description an element with the tabpanel role associated roles and attributes aria- keyboard interaction key action tab → ← delete required javascript features include note about semantic alternatives to using this role or attribute.
ARIA: alert role - Accessibility
the most important thing to know about the alert role is that it is for dynamic content.
ARIA: Comment role - Accessibility
� simply nest the comments inside one another, like so: <div role="comment" id="thread-1" data-author="chris"> <h3>chris said</h3> <p class="comment-text">i really think this moment could use more cowbell.</p> <p><time datetime="2019-03-30t19:29">march 30 2019, 19:29</time></p> <div role="comment" data-author="marcus"> <h3>marcus replied</h3> <p class="comment-text">i don't know about that.
ARIA: Complementary role - Accessibility
<aside aria-label="note about usage"> <!-- content --> </aside> ...
ARIA: contentinfo role - Accessibility
examples <body> <!-- other page content --> <div role="contentinfo"> <h2>mdn web docs</h2> <ul> <li><a href="#">web technologies</a></li> <li><a href="#">learn web development</a></li> <li><a href="#">about mdn</a></li> <li><a href="#">feedback</a></li> </ul> <p>© 2005-2018 mozilla and individual contributors.
ARIA: figure role - Accessibility
there are no hard and fast rules about how you should write your figure content.
ARIA: gridcell role - Accessibility
aria-colindex="1">debra</div> <div role="gridcell" aria-colindex="2">burks</div> <div role="gridcell" aria-colindex="5">new york</div> <div role="gridcell" aria-colindex="6">14127</div> </div> </div> … </div> describing the position of gridcells when the overall structure is unknown in situations where the table-style grouping of content does not provide information about the columns and rows, gridcells must have their positions programatically described by using aria-describedby.
ARIA: List role - Accessibility
there are no hard and fast rules about which elements you should use to markup the list and list items, but you should make sure that the list items make sense in the context of a list, e.g.
ARIA: Listitem role - Accessibility
there are no hard and fast rules about which elements you should use to markup the list and list items, but you should make sure that the list items make sense in the context of a list, e.g.
ARIA: heading role - Accessibility
<div id="container"> <div role="heading" aria-level="1">the main page heading</div> <p>this article is about showing a page structure.</p> <div role="heading" aria-level="2">introduction</div> <p>an introductory text.</p> <div role="heading" aria-level="2">chapter 1</div> <p>text</p> <div role="heading" aria-level="3">chapter 1.1</div> <p>more text in a sub section.</p> ...</div> however, instead, you should do: <div id="container"> <h1>the main page heading</h1> <p>this article is about showing a pag...
Alerts - Accessibility
the form first, please read about the aria-required technique if you have not done so, as this technique expands upon that.
ARIA - Accessibility
live regions live regions provide suggestions to screen readers about how to handle changes to the contents of a page.
Accessibility FAQ - Accessibility
where can i find more about mozilla's accessibility initiatives?
Accessibility documentation index - Accessibility
when this role is added to an element, the browser will send out an accessible alert event to assistive technology products which can then notify the user about it.
Keyboard-navigable JavaScript widgets - Accessibility
(for more information about aria, see this overview of accessible web applications and widgets.) the aria-activedescendant property identifies the id of the descendent element that currently has the virtual focus.
Mobile accessibility checklist - Accessibility
use alt and title where appropriate (see steve faulkner's post about using the html title attribute for a good guide.) if the above attributes are not applicable, use appropriate aria states and properties such as aria-label, aria-labelledby, or aria-describedby.
Perceivable - Accessibility
the whole of html: a good basis for accessibility is packed with information about this, but you should particularly refer to good semantics, ui controls, and text alternatives.
Accessibility
view all articles about accessibility...
-webkit-touch-callout - CSS: Cascading Style Sheets
when a target is touched and held on ios, safari displays a callout information about the link.
:where() - CSS: Cascading Style Sheets
WebCSS:where
to change preferences in firefox, visit about:config.ie no support noopera no support nosafari no support nowebview android no support nochrome android full support 72disabled full support ...
speak-as - CSS: Cascading Style Sheets
let's talk about speech css | css tricks formal definition related at-rule@counter-styleinitial valueautocomputed valueas specified formal syntax auto | bullets | numbers | words | spell-out | <counter-style-name>where <counter-style-name> = <custom-ident> examples setting the spoken form for a counter html <ul class="list"> <li>one</li> <li>two</li> <li>three</li> <li>four</li> <li>five</li> <...
color - CSS: Cascading Style Sheets
WebCSS@mediacolor
see applying color to html elements using css to learn more about using css to apply color to html.
prefers-reduced-motion - CSS: Cascading Style Sheets
in firefox about:config: add a number preference called ui.prefersreducedmotion and set its value to 1.
@media - CSS: Cascading Style Sheets
WebCSS@media
(please see paged media for information about formatting issues that are specific to these formats.) screen intended primarily for screens.
Coordinate systems - CSS: Cascading Style Sheets
however, we'll only talk about the standard coordinate system for now.
CSS Animations - CSS: Cascading Style Sheets
using css animations step-by-step tutorial about how to create animations using css.
Box alignment in Flexbox - CSS: Cascading Style Sheets
therefore it is easiest to think about the main and cross axis when working in flexbox like so: the main axis = direction set by flex-direction = alignment via justify-content the cross axis = runs across the main axis = alignment via align-content, align-self/align-items main axis alignment justify-content cross axis alignment align-self align-items align-content there is no justify-self in flexbox on the main axis...
CSS Box Alignment - CSS: Cascading Style Sheets
therefore, when working with flexbox it is easier to think about the main and cross axis rather than inline and block.
Controlling Ratios of Flex Items Along the Main Axis - CSS: Cascading Style Sheets
positive and negative free space to talk about these properties we need to understand the concept of positive and negative free space.
Ordering Flex Items - CSS: Cascading Style Sheets
to read more about this disconnect of visual order and logical order and some of the potential problems it raises for accessibility, see the following resources.
Introduction to formatting contexts - CSS: Cascading Style Sheets
each formatting context has specific rules about how layout behaves when in that context.
CSS Flow Layout - CSS: Cascading Style Sheets
the flow is essentially a set of things that are all working together and know about each other in your layout.
CSS Fonts - CSS: Cascading Style Sheets
WebCSSCSS Fonts
this article provides you with all you need to know about using opentype font features in css.
Grid template areas - CSS: Cascading Style Sheets
</div> </div> grid definition shorthands having looked at various ways of placing items on our grids and many of the properties used to define grid, this is a good time to take a look at a couple of shorthands that are available for defining the grid and many things about it all in one line of css.
Layout using named grid lines - CSS: Cascading Style Sheets
in-start; grid-row-end: content-end; } .box3 { grid-column-start: content-start; grid-row-start: main-start; } .box4 { grid-column-start: content-start; grid-column-end: main-end; grid-row-start: content-end; } <div class="wrapper"> <div class="box1">one</div> <div class="box2">two</div> <div class="box3">three</div> <div class="box4">four</div> </div> everything else about line-based placement still works in the same way and you can mix named lines and line numbers.
Realizing common layouts using CSS Grid Layout - CSS: Cascading Style Sheets
i am going to create this layout using the named template areas that we learned about in the guide grid template areas.
Consistent list indentation - CSS: Cascading Style Sheets
conclusion in the end, we can see that none of the browsers mentioned in this article is right or wrong about how they lay out lists.
Basic concepts of Logical Properties and Values - CSS: Cascading Style Sheets
note: the css working group are currently trying to decide what to do about the four-value shorthands for logical properties, for example the equivalents to setting four physical properties at once, like margins with the margin property.
Stacking with floated blocks - CSS: Cascading Style Sheets
this is due to a peculiar part of the specification: applying a opacity value creates a new stacking context (see what no one told you about z-index).
Using the :target pseudo-class in selectors - CSS: Cascading Style Sheets
<h4 id="one">...</h4> <p id="two">...</p> <div id="three">...</div> <a id="four">...</a> <em id="five">...</em> <a href="#one">first</a> <a href="#two">second</a> <a href="#three">third</a> <a href="#four">fourth</a> <a href="#five">fifth</a> conclusion in cases where a fragment identifier points to a portion of the document, readers may become confused about which part of the document they're supposed to be reading.
CSS Transforms - CSS: Cascading Style Sheets
reference properties backface-visibility perspective perspective-origin rotate scale transform transform-box transform-origin transform-style translate data types <transform-function> guides using css transforms step-by-step tutorial about how to transform elements styled with css.
Using CSS transitions - CSS: Cascading Style Sheets
first, we set up the menu using html: <nav> <a href="#">home</a> <a href="#">about</a> <a href="#">contact us</a> <a href="#">links</a> </nav> then we build the css to implement the look and feel of our menu.
CSS Transitions - CSS: Cascading Style Sheets
reference properties transition transition-delay transition-duration transition-property transition-timing-function guides using css transitions step-by-step tutorial about how to create transitions using css.
Inline formatting context - CSS: Cascading Style Sheets
read more about these properties in logical properties and values.
Cookbook template - CSS: Cascading Style Sheets
comment in italics are information about how to use part of the template.
Testing media queries programmatically - CSS: Cascading Style Sheets
ending query notifications to stop receiving notifications about changes to the value of your media query, call removelistener() on the mediaquerylist, passing it the name of the previously-defined callback function: mediaquerylist.removelistener(handleorientationchange); ...
Using media queries - CSS: Cascading Style Sheets
(please see paged media for information about formatting issues that are specific to these formats.) screen intended primarily for screens.
Media queries - CSS: Cascading Style Sheets
you can learn more about programmatically using media queries in testing media queries.
Shorthand properties - CSS: Cascading Style Sheets
see cascade and inheritance or introducing the css cascade for more information about how inheritance works in css.
CSS Tutorials - CSS: Cascading Style Sheets
WebCSSTutorials
in order to help you, we have written numerous tutorials about css.
attr() - CSS: Cascading Style Sheets
WebCSSattr
the url about:invalid that points to a non-existent document with a generic error condition.
background-attachment - CSS: Cascading Style Sheets
however, on the second time round, she came upon a low curtain she had not noticed before, and behind it was a little door about fifteen inches high: she tried the little golden key in the lock, and to her great delight it fitted!
background-size - CSS: Cascading Style Sheets
be careful about relying on the behavior described above, and test in multiple browsers to be sure the results are acceptable.
border-color - CSS: Cascading Style Sheets
you can find more information about border colors in borders in applying color to html elements using css.
box-align - CSS: Cascading Style Sheets
WebCSSbox-align
see flexbox for information about the current standard.
box-flex-group - CSS: Cascading Style Sheets
see flexbox for information about the current standard.
box-flex - CSS: Cascading Style Sheets
WebCSSbox-flex
see flexbox for information about the current standard.
box-lines - CSS: Cascading Style Sheets
WebCSSbox-lines
see flexbox for information about the current standard.
box-ordinal-group - CSS: Cascading Style Sheets
see flexbox for information about the current standard.
box-orient - CSS: Cascading Style Sheets
see flexbox for information about the current standard.
box-pack - CSS: Cascading Style Sheets
WebCSSbox-pack
see flexbox for information about the current standard.
<color> - CSS: Cascading Style Sheets
to learn more about using color in html, see applying color to html elements using css.
content - CSS: Cascading Style Sheets
WebCSScontent
</p> <h1>6</h1> <p>according to the mozilla manifesto, <q cite="http://www.mozilla.org/about/manifesto/">individuals must have the ability to shape the internet and their own experiences on the internet.</q> therefore, we can infer that contributing to the open web can protect our own individual experiences on it.
<frequency-percentage> - CSS: Cascading Style Sheets
syntax the value of a <frequency-percentage> is either a <frequency> or a <percentage>; see their individual reference pages for details about their syntaxes.
<integer> - CSS: Cascading Style Sheets
WebCSSinteger
during the css3 values cycle there was a lot of discussion about setting a minimum range to support: the latest decision, in april 2012 during the lc phase, was [-227-1; 227-1], but other values like 224-1 and 230-1 were also proposed.
justify-items - CSS: Cascading Style Sheets
in table cell layouts, this property is ignored (more about alignment in block, absolute positioned and table layout) in flexbox layouts, this property is ignored (more about alignment in flexbox) in grid layouts, it aligns the items inside their grid areas on the inline axis (more about alignment in grid layouts) syntax /* basic keywords */ justify-items: auto; justify-items: normal; justify-items: stretch; /* positional alignment */ justify-items:...
justify-self - CSS: Cascading Style Sheets
in table cell layouts, this property is ignored (more about alignment in block, absolute positioned and table layout) in flexbox layouts, this property is ignored (more about alignment in flexbox) in grid layouts, it aligns an item inside its grid area on the inline axis (more about alignment in grid layouts) syntax /* basic keywords */ justify-self: auto; justify-self: normal; justify-self: stretch; /* positional alignment */ justify-self: center; ...
Guide to scroll anchoring - CSS: Cascading Style Sheets
you can check whether disabling scroll anchoring fixes the issue in firefox by changing layout.css.scroll-anchoring.enabled to false in about:config.
overflow - CSS: Cascading Style Sheets
WebCSSoverflow
in about:config, set layout.css.overflow.moz-scrollbars.enabled to true description overflow options include clipping, showing scrollbars, or displaying the content flowing out of its container into the surrounding area.
pointer-events - CSS: Cascading Style Sheets
to help us in deciding how pointer-events should be further extended for html, if you have any particular things that you would like to be able to do with this property, then please add them to the use cases section of this wiki page (don't worry about keeping it tidy).
text-decoration-thickness - CSS: Cascading Style Sheets
from-font if the font file includes information about a preferred thickness, use that value.
text-emphasis - CSS: Cascading Style Sheets
the size of the emphasis symbol, like ruby symbols, is about 50% of the size of the font, and text-emphasis may affect line height when the current leading is not enough for the marks.
text-underline-position - CSS: Cascading Style Sheets
from-font if the font file includes information about a preferred position, use that value.
rotate() - CSS: Cascading Style Sheets
a) 0 0] examples basic example html <div>normal</div> <div class="rotated">rotated</div> css div { width: 80px; height: 80px; background-color: skyblue; } .rotated { transform: rotate(45deg); /* equal to rotatez(45deg) */ background-color: pink; } result combining rotation with another transformation if you want apply multiple transformations to an element, be careful about the order in which you specify your transformations.
Index - Event reference
WebEventsIndex
each event is represented by an object which is based on the event interface, and may have additional custom fields and/or functions used to get additional information about what happened.
Adding captions and subtitles to HTML5 video - Developer guides
background:#666; list-style-type:none; margin:0; padding:0; width:100px; padding:10px; } .subtitles-menu li { padding:0; text-align:center; } .subtitles-menu li button { border:none; background:#000; color:#fff; cursor:pointer; width:90%; padding:2px 5px; border-radius:2px; } styling the displayed subtitles one of the less well known about and supported features of webvtt is the ability to style the individual subtitles (something called text cues) via css extensions.
Setting up adaptive streaming media sources - Developer guides
note: you can find more details about these tools at using http live streaming.
Audio and Video Delivery - Developer guides
find more about web audio api basics in using the web audio api.
Mutation events - Developer guides
mutation events provide a mechanism for a web page or an extension to get notified about changes made to the dom.
Overview of events and handlers - Developer guides
note that the handler has access to the ev object since it is passed as an argument; the object has information about the event, notably the time at which the event occurred.
Introduction to HTML5 - Developer guides
for detailed information about multiple browsers' support of html5 features, refer to the caniuse website.
Using HTML sections and outlines - Developer guides
for example, <div class="navigation"> does not suggest any meaning about its content to a browser; only a human reading the html source can divine the meaning of a class like navigation.
The Unicode Bidirectional Text Algorithm - Developer guides
fundamentals (base direction, character types, etc) the algorithm character level directionality directional runs (what they are, how base direction applies) handling neutral characters overriding the algorithm content about using html and css to override the default behavior of the algorithm; include info about isolating ranges etc.
Writing forward-compatible websites - Developer guides
don't ua-sniff this is really a particularly common instance of assuming that one feature (the presence of a particular substring in the user agent (ua) string) implies something about the presence or absence of other features.
Developer guides
this set of guides tells you all you need to know about pwas.
HTML attribute: rel - HTML: Hypertext Markup Language
WebHTMLAttributesrel
with <a> and <area>, it indicates the linked document (or mailto:) provides information about the author of the nearest <article> ancestor if there is one, otherwise the entire document.
DASH Adaptive Streaming for HTML 5 Video - HTML: Hypertext Markup Language
it can be enabled via "about:config" and the "media.dash.enabled" preference.
<aside>: The Aside element - HTML: Hypertext Markup Language
WebHTMLElementaside
</p> </aside> <p> more info about the movie...
<body>: The Document Body element - HTML: Hypertext Markup Language
WebHTMLElementbody
onbeforeunload function to call when the document is about to be unloaded.
<canvas>: The Graphics Canvas element - HTML: Hypertext Markup Language
WebHTMLElementcanvas
the javascript code, call htmlcanvaselement.getcontext() to get a drawing context and start drawing onto the canvas: const canvas = document.queryselector('canvas'); const ctx = canvas.getcontext('2d'); ctx.fillstyle = 'green'; ctx.fillrect(10, 10, 100, 100); result accessibility concerns alternative content the <canvas> element on its own is just a bitmap and does not provide information about any drawn objects.
<em>: The Emphasis element - HTML: Hypertext Markup Language
WebHTMLElementem
an example for <em> could be: "just do it already!", or: "we had to do something about it".
<head>: The Document Metadata (Header) element - HTML: Hypertext Markup Language
WebHTMLElementhead
the html <head> element contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.
<hgroup> - HTML: Hypertext Markup Language
WebHTMLElementhgroup
to produce any (non-abstract) rendered view of such an outline, some choice must be made in the design of the rendering tool about how to render <hgroup> headings in such a way as to convey their multi-level nature.
<i>: The Idiomatic Text element - HTML: Hypertext Markup Language
WebHTMLElementi
ext representing a different quality or mode of text, such as: alternative voice or mood taxonomic designations (such as the genus and species "homo sapiens") idiomatic terms from another language (such as "et cetera"); these should include the lang attribute to identify the language technical terms transliterations thoughts (such as "she wondered,what is this writer talking about, anyway?") ship or vessel names in western writing systems (such as "they searched the docks for the empress of the galaxy, the ship to which they were assigned.") in earlier versions of the html specification, the <i> element was merely a presentational element used to display text in italics, much like the <b> element was used to display text in bold letters.
<input type="datetime-local"> - HTML: Hypertext Markup Language
here is javascript code for programmatically setting the value: function setvalue(element, date) { var isostring = date.toisostring() element.value = isostring.substring(0, (isostring.indexof("t")|0) + 6|0); } why worry about the y10k problem if it is going to happen many centuries after your death?
<input type="email"> - HTML: Hypertext Markup Language
WebHTMLElementinputemail
browsers that implement the specification should be using an algorithm equivalent to the following regular expression: /^[a-za-z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-za-z0-9](?:[a-za-z0-9-]{0,61} [a-za-z0-9])?(?:\.[a-za-z0-9](?:[a-za-z0-9-]{0,61}[a-za-z0-9])?)*$/ to learn more about how form validation works and how to take advantage of the :valid and :invalid css properties to style the input based on whether or not the current value is valid, see form data validation.
<input type="file"> - HTML: Hypertext Markup Language
WebHTMLElementinputfile
if files have been selected, we loop through each one, printing information about it into the preview <div>.
<input type="image"> - HTML: Hypertext Markup Language
WebHTMLElementinputimage
the server-side code then works out what location was clicked on, and returns information about places nearby.
<input type="number"> - HTML: Hypertext Markup Language
WebHTMLElementinputnumber
there seems to be some disagreement about this among browsers; see bug 1398528.
<input type="radio"> - HTML: Hypertext Markup Language
WebHTMLElementinputradio
let's now look at the other common radio-button-related features and techniques you may need to know about.
<input type="search"> - HTML: Hypertext Markup Language
WebHTMLElementinputsearch
note: see signposts/landmarks for more information about such accessibility features.
<input type="tel"> - HTML: Hypertext Markup Language
WebHTMLElementinputtel
each input has a placeholder attribute to show a hint to sighted users about what to enter into it, a pattern to enforce a specific number of characters for the desired section, and an aria-label attribute to contain a hint to be read out to screenreader users about what to enter into it.
<input type="url"> - HTML: Hypertext Markup Language
WebHTMLElementinputurl
examples there's not much else to say about url type inputs; check the pattern validation and using url inputs sections for numerous examples.
<isindex> - HTML: Hypertext Markup Language
WebHTMLElementisindex
the user fills in the fields, clicks ok, and the query results come up in the table of contents window." a thread about isindex in november 1992, kevin hoadley questioned the need for an isindex element and proposed to drop it.
<link>: The External Resource Link element - HTML: Hypertext Markup Language
WebHTMLElementlink
non-standard attributes methods the value of this attribute provides information about the functions that might be performed on an object.
<meta>: The Document-level Metadata element - HTML: Hypertext Markup Language
WebHTMLElementmeta
see standard metadata names for details about the set of standard metadata names defined in the html specification.
<nav>: The Navigation Section element - HTML: Hypertext Markup Language
WebHTMLElementnav
<nav class="menu"> <ul> <li><a href="#">home</a></li> <li><a href="#">about</a></li> <li><a href="#">contact</a></li> </ul> </nav> specifications specification status comment html living standardthe definition of '<nav>' in that specification.
<q>: The Inline Quotation element - HTML: Hypertext Markup Language
WebHTMLElementq
example <p>according to mozilla's website, <q cite="https://www.mozilla.org/about/history/details/">firefox 1.0 was released in 2004 and became a big success.</q></p> specifications specification status comment html living standardthe definition of '<q>' in that specification.
<rb>: The Ruby Base element - HTML: Hypertext Markup Language
WebHTMLElementrb
ents: <ruby> 漢 <rp>(</rp><rt>kan</rt><rp>)</rp> 字 <rp>(</rp><rt>ji</rt><rp>)</rp> </ruby> <ruby> <rb>漢<rb>字 <rp>(</rp><rt>kan<rt>ji<rp>)</rp> </ruby> body { font-size: 22px; } the output looks like so: the html above might look something like this when rendered by a browser without ruby support: 漢字 (kan ji) body { font-size: 22px; } note: see the article about the <ruby> element for further examples.
<rp>: The Ruby Fallback Parenthesis element - HTML: Hypertext Markup Language
WebHTMLElementrp
<ruby> 漢 <rp>(</rp><rt>kan</rt><rp>)</rp> 字 <rp>(</rp><rt>ji</rt><rp>)</rp> </ruby> css body { font-size: 22px; } the result looks like this in your browser: the html above rendered by a browser without ruby support might look like this: 漢 (kan) 字 (ji) body { font-size: 22px; } see the article about the <ruby> element for further examples.
<rt>: The Ruby Text element - HTML: Hypertext Markup Language
WebHTMLElementrt
see the article about the <ruby> element for more examples.
<source>: The Media or Image Source element - HTML: Hypertext Markup Language
WebHTMLElementsource
for information about image formats supported by web browsers and guidance on selecting appropriate formats to use, see our image file type and format guide on the web.
<strong>: The Strong Importance element - HTML: Hypertext Markup Language
WebHTMLElementstrong
communicating meaning is what semantics are all about.
<table>: The Table element - HTML: Hypertext Markup Language
WebHTMLElementtable
in complex tables, scope can be specified so as to provide necessary information about the cells related to a header.
<title>: The Document Title element - HTML: Hypertext Markup Language
WebHTMLElementtitle
search engines typically display about the first 55–60 characters of a page title.
<tr>: The Table Row element - HTML: Hypertext Markup Language
WebHTMLElementtr
basic example this simple example shows a table listing people's names along with various information about membership in a club or service.
accesskey - HTML: Hypertext Markup Language
if the system lacks a method of notifying the user about this feature, the user might accidentally activate accesskeys.
data-* - HTML: Hypertext Markup Language
for example, a space-ship "sprite" in a game could be a simple <img> element with a class attribute and several data-* attributes: <img class="spaceship cruiserx3" src="shipx3.png" data-ship-id="324" data-weapons="laseri laserii" data-shields="72%" data-x="414354" data-y="85160" data-z="31940" onclick="spaceships[this.dataset.shipid].blasted()"> for a more in-depth tutorial about using html data attributes, see using data attributes.
itemscope - HTML: Hypertext Markup Language
note: find more about itemtype attributes at http://schema.org/thing simple example html the following example specifies the itemscope attribute.
itemtype - HTML: Hypertext Markup Language
note: more about itemtype attributes can be found at http://schema.org/thing the itemtype attribute must have a value that is an unordered set of unique tokens which are case-sensitive, each is a valid and absolute url, and all defined to use the same vocabulary.
Global attributes - HTML: Hypertext Markup Language
itemscope itemscope (usually) works along with itemtype to specify that the html contained in a block is about a particular item.
Link types: noopener - HTML: Hypertext Markup Language
this is especially useful when opening untrusted links, in order to ensure they cannot tamper with the originating document via the window.opener property (see about rel=noopener for more details), while still providing the referer http header (unless noreferrer is used as well).
Using the application cache - HTML: Hypertext Markup Language
firefox, the offline cache data is stored separately from the firefox profile—next to the regular disk cache: windows vista/7: c:\users\<username>\appdata\local\mozilla\firefox\profiles\<salt>.<profile name>\offlinecache mac/linux: /users/<username>/library/caches/firefox/profiles/<salt>.<profile name>/offlinecache in firefox the current status of the offline cache can be inspected on the about:cache page (under the "offline cache device" heading).
HTTP authentication - HTTP
in firefox, it is checked if the site actually requires authentication and if not, firefox will warn the user with a prompt "you are about to log in to the site “www.example.com” with the username “username”, but the website does not require authentication.
MIME types (IANA media types) - HTTP
our media container formats guide provides a list of the file types that are commonly supported by web browsers, including information about what their special use cases may be, any drawbacks they have, and compatibility information, along with other details.
CORS errors - HTTP
WebHTTPCORSErrors
note: for security reasons, specifics about what went wrong with a cors request are not available to javascript code.
Cross-Origin Resource Sharing (CORS) - HTTP
WebHTTPCORS
cors failures result in errors, but for security reasons, specifics about the error are not available to javascript.
Content Security Policy (CSP) - HTTP
WebHTTPCSP
in summary, this is done to prevent leaking sensitive information about cross-origin resources.
Feature Policy - HTTP
inferring the policy scripts can programatically query information about the feature policy via the featurepolicy object located at either document.featurepolicy or htmliframeelement.featurepolicy.
Content-Disposition - HTTP
in a multipart/form-data body, the http content-disposition general header is a header that can be used on the subpart of a multipart body to give information about the field it applies to.
Content-Security-Policy-Report-Only - HTTP
this is done to prevent leaking sensitive information about cross-origin resources.
DNT - HTTP
WebHTTPHeadersDNT
null the user has not specified a preference about tracking.
Expect - HTTP
WebHTTPHeadersExpect
expect: 100-continue directives 100-continue informs recipients that the client is about to send a (presumably large) message body in this request and wishes to receive a 100 (continue) interim response.
Feature-Policy: accelerometer - HTTP
the http feature-policy header accelerometer directive controls whether the current document is allowed to gather information about the acceleration of the device through the accelerometer interface.
Feature-Policy: ambient-light-sensor - HTTP
the http feature-policy header ambient-light-sensor directive controls whether the current document is allowed to gather information about the amount of light in the environment around the device through the ambientlightsensor interface.
Feature-Policy: battery - HTTP
the http feature-policy header battery directive controls whether the current document is allowed to gather information about the acceleration of the device through the batterymanager interface obtained via navigator.getbattery().
Feature-Policy: gyroscope - HTTP
the http feature-policy header gyroscope directive controls whether the current document is allowed to gather information about the orientation of the device through the gyroscope interface.
Feature-Policy: magnetometer - HTTP
the http feature-policy header magnetometer directive controls whether the current document is allowed to gather information about the orientation of the device through the magnetometer interface.
Keep-Alive - HTTP
the keep-alive general header allows the sender to hint about how the connection may be used to set a timeout and a maximum amount of requests.
Large-Allocation - HTTP
forceenable" boolean preferece in about:config.
Server - HTTP
WebHTTPHeadersServer
how much detail to include is an interesting balance to strike; exposing the os version is probably a bad idea, as mentioned in the earlier warning about overly-detailed values.
Set-Cookie - HTTP
it does help satisfying the requirements about which characters are allowed for <cookie-value> though.
Firefox user agent string reference - HTTP
the third digit is incremented with regular version tags (about every 6 weeks) for security updates, and the fourth is owned by the oem.
Warning - HTTP
WebHTTPHeadersWarning
the warning general http header contains information about possible problems with the status of the message.
HTTP Messages - HTTP
WebHTTPMessages
response headers, like vary and accept-ranges, give additional information about the server which doesn't fit in the status line.
Protocol upgrade mechanism - HTTP
this means that a typical request that includes upgrade would look something like: get /index.html http/1.1 host: www.example.com connection: upgrade upgrade: example/1, foo/2 other headers may be required depending on the requested protocol; for example, websocket upgrades allow additional headers to configure details about the websocket connection as well as to offer a degree of security in opening the connection.
Proxy Auto-Configuration (PAC) file - HTTP
(in the first example above, netscape will ask user confirmation about making direct connections; in this case, there is no user intervention.) proxy w3proxy.netscape.com:8080; socks socks:1080 use socks if the primary proxy goes down.
Redirections in HTTP - HTTP
in this case, the response is a 303 (see other) redirect that links to a page indicating that the action has been scheduled, and eventually informs about its progress, or allows to cancel it.
HTTP resources and specifications - HTTP
this page lists relevant resources about http.
500 Internal Server Error - HTTP
WebHTTPStatus500
sometimes, server administrators log error responses like the 500 status code with more details about the request to prevent the error from happening again in the future.
Closures - JavaScript
no matter what field you focus on, the message about your age will be displayed.
JavaScript data types and data structures - JavaScript
please have a look at the reference to find out about more objects.
Concurrency model and the event loop - JavaScript
this offers some nice properties when reasoning about your program, including the fact that whenever a function runs, it cannot be pre-empted and will run entirely before any other code runs (and can modify data the function manipulates).
Indexed collections - JavaScript
const arr = [1, 2, 3]; arr.property = "value"; console.log(arr.property); // logs "value" arrays and regular expressions when an array is the result of a match between a regular expression and a string, the array returns properties and elements that provide information about the match.
Meta programming - JavaScript
terminology the following terms are used when talking about the functionality of proxies.
Numbers and dates - JavaScript
numbers in javascript, numbers are implemented in double-precision 64-bit binary format ieee 754 (i.e., a number between ±2−1022 and ±2+1023, or about ±10−308 to ±10+308, with a numeric precision of 53 bits).
Regular expressions - JavaScript
(see different behaviors for further info about the different behaviors.) if you want to construct the regular expression from a string, yet another alternative is this script: var myre = new regexp('d(b+)d', 'g'); var myarray = myre.exec('cdbbdbsbz'); with these scripts, the match succeeds and returns the array and updates the properties shown in the following table.
Working with objects - JavaScript
rn false // two variables, a single object var fruit = {name: 'apple'}; var fruitbear = fruit; // assign fruit object reference to fruitbear // here fruit and fruitbear are pointing to same object fruit == fruitbear; // return true fruit === fruitbear; // return true fruit.name = 'grape'; console.log(fruitbear); // output: { name: "grape" }, instead of { name: "apple" } for more information about comparison operators, see comparison operators.
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.
Warning: String.x is deprecated; use String.prototype.x instead - JavaScript
the javascript warning about string generics occurs in firefox versions prior to 68.
SyntaxError: test for equality (==) mistyped as assignment (=)? - JavaScript
to help debugging, javascript (with strict warnings enabled) warns about this pattern.
ReferenceError: reference to undefined property "x" - JavaScript
there are two ways to access properties; see the property accessors reference page to learn more about them.
TypeError: variable "x" redeclares argument - JavaScript
this might be a naming conflict and thus javascript warns about it.
JavaScript error reference - JavaScript
the pages below will provide additional details about these errors.
Functions - JavaScript
for more examples and explanations, see also the javascript guide about functions.
Array.prototype.indexOf() - JavaScript
} else // all else for (; i !== len; ++i) if (that[i] === member) return i return -1 // if the value was not found, then return -1 } })(object, math.max, math.min) however, if you are more interested in all the little technical bits defined by the ecma standard, and are less concerned about performance or conciseness, then you may find this more descriptive polyfill to be more useful.
Array.prototype.map() - JavaScript
here is a concise example of the iteration steps: // parseint(string, radix) -> map(parseint(value, index)) /* first iteration (index is 0): */ parseint("1", 0) // 1 /* second iteration (index is 1): */ parseint("2", 1) // nan /* third iteration (index is 2): */ parseint("3", 2) // nan then let's talk about solutions.
Array.prototype.values() - JavaScript
todo: please write about why we need it, use cases.
DataView - JavaScript
the dataview view provides a low-level interface for reading and writing multiple number types in a binary arraybuffer, without having to care about the platform's endianness.
Date - JavaScript
read more about it on the igalia blog and fill out the survey.
Error.prototype.stack - JavaScript
ould instead produce the following text: error("myerror")@:0 trace()@file:///c:/example.html:9 b(3,4,"\n\n",(void 0),[object object])@file:///c:/example.html:16 a("first call, firstarg")@file:///c:/example.html:19 @file:///c:/example.html:21 stack of eval'ed code starting with firefox 30, the error stack of code in function() and eval() calls, now produces stacks with more detailed information about the line and column numbers inside these calls.
FinalizationRegistry.prototype.register() - JavaScript
, passing in the held value "some value" and passing the target object itself as the unregistration token: registry.register(target, "some value", target); the following registers the target object referenced by target, passing in another object as the held value, and not passing in any unregistration token (which means target can't be unregistered): registry.register(target, {"useful": "info about target"}); specifications specification weakrefsthe definition of 'finalizationregistry.prototype.register' in that specification.
Function.prototype.apply() - JavaScript
// min/max number in an array const numbers = [5, 6, 2, 3, 7]; // using math.min/math.max apply let max = math.max.apply(null, numbers); // this about equal to math.max(numbers[0], ...) // or math.max(5, 6, ...) let min = math.min.apply(null, numbers); // vs.
Function.prototype.bind() - JavaScript
if you do not understand any of the deviations from the specification above, then it is safe in this particular case to not worry about these noncompliant deviation details.
Intl.Collator() constructor - JavaScript
for information about this option, see the intl page.
Intl.Collator.supportedLocalesOf() - JavaScript
for information about this option, see the intl page.
Intl.DateTimeFormat.supportedLocalesOf() - JavaScript
for information about this option, see the intl page.
Intl.DisplayNames() constructor - JavaScript
for information about this option, see the intl page.
Intl.DisplayNames.supportedLocalesOf() - JavaScript
for information about this option, see the intl page.
Intl.ListFormat() constructor - JavaScript
for information about this option, see the intl page.
Intl.ListFormat.supportedLocalesOf() - JavaScript
for information about this option, see the intl page.
Intl.Locale.prototype.calendar - JavaScript
these keys add additional data about the locale, and are added to locale identifiers by using the -u extension.
Intl.Locale.prototype.caseFirst - JavaScript
these subtags add additional data about the locale, and are added to locale identifiers by using the -u extension key.
Intl.Locale.prototype.collation - JavaScript
these subtags add additional data about the locale, and are added to locale identifiers by using the -u extension.
Intl.Locale.prototype.hourCycle - JavaScript
these subtags add additional data about the locale, and are added to locale identifiers by using the -u extension key.
Intl.Locale.prototype.minimize() - JavaScript
the intl.locale.prototype.minimize() method attempts to remove information about the locale that would be added by calling locale.maximize().
Intl.Locale.prototype.numberingSystem - JavaScript
these subtags add additional data about the locale, and are added to locale identifiers by first adding the -u key.
Intl.Locale.prototype.numeric - JavaScript
these subtags add additional data about the locale, and are added to locale identifiers by using the -u extension key.
Intl.Locale.prototype.toString() - JavaScript
information about a particular locale (language, script, calendar type, etc.) can be encoded in a locale identifier string.
Intl.NumberFormat() constructor - JavaScript
for information about this option, see the intl page.
Intl.NumberFormat.supportedLocalesOf() - JavaScript
for information about this option, see the intl page.
Intl.PluralRules() constructor - JavaScript
for information about this option, see the intl page.
Intl.PluralRules.supportedLocalesOf() - JavaScript
for information about this option, see the intl page.
Intl.RelativeTimeFormat() constructor - JavaScript
for information about this option, see intl.
Intl.RelativeTimeFormat.supportedLocalesOf() - JavaScript
for information about this option, see the intl page.
JSON - JavaScript
examples example json { "browsers": { "firefox": { "name": "firefox", "pref_url": "about:config", "releases": { "1": { "release_date": "2004-11-09", "status": "retired", "engine": "gecko", "engine_version": "1.7" } } } } } specifications specification ecmascript (ecma-262)the definition of 'json' in that specification.
Math.hypot() - JavaScript
if your numbers are larger than about 10154, taking the square of them will result in infinity.
Math.log1p() - JavaScript
the double floats used in js give you about 15 digits of precision.
Number.MIN_SAFE_INTEGER - JavaScript
property attributes of number.min_safe_integer writable no enumerable no configurable no description the min_safe_integer constant has a value of -9007199254740991 (-9,007,199,254,740,991 or about -9 quadrillion).
Number.isSafeInteger() - JavaScript
see what every programmer needs to know about floating point arithmetic for more information on floating point representations of numbers.
Object.getOwnPropertyDescriptor() - JavaScript
further information about property descriptor types and their attributes can be found in object.defineproperty().
Object.getOwnPropertyDescriptors() - JavaScript
further information about property descriptor types and their attributes can be found in object.defineproperty().
Object.prototype.__proto__ - JavaScript
if you care about performance you should avoid setting the [[prototype]] of an object.
Object.setPrototypeOf() - JavaScript
until engine developers address this issue, if you are concerned about performance, you should avoid setting the [[prototype]] of an object.
Object.prototype.toString() - JavaScript
the tostring() method you create can be any value you want, but it will be most useful if it carries information about the object.
Promise.all() - JavaScript
see the example about "asynchronicity or synchronicity of promise.all" below.
Promise.prototype.finally() - JavaScript
this use case is for precisely when you do not care about the rejection reason, or the fulfillment value, and so there's no need to provide it.
Promise.prototype.then() - JavaScript
print helpful messages about how the code in this section will be run // before the string is actually processed by the mocked asynchronous code in the // previous then block.
String.prototype.replace() - JavaScript
note: see this guide for more explanations about regular expressions.
String - JavaScript
ample: let s1 = '2 + 2' // creates a string primitive let s2 = new string('2 + 2') // creates a string object console.log(eval(s1)) // returns the number 4 console.log(eval(s2)) // returns the string "2 + 2" for these reasons, the code may break when it encounters string objects when it expects a primitive string instead, although generally, authors need not worry about the distinction.
Symbol - JavaScript
some further explanation about purpose and usage can be found in the glossary entry for symbol.
WeakMap() constructor - JavaScript
you can learn more about weakmaps in the section weakmap object in keyed collections.
Standard built-in objects - JavaScript
for more information about the distinction between the dom and core javascript, see javascript technologies overview.
Object initializer - JavaScript
} }; for more information and examples about methods, see method definitions.
async function expression - JavaScript
see also the chapter about functions for more information.
function* expression - JavaScript
see also the chapter about functions for more information.
Function expression - JavaScript
see also the chapter about functions for more information.
typeof - JavaScript
for more information about types and primitives, see also the javascript data structure page.
const - JavaScript
all the considerations about the "temporal dead zone" apply to both let and const.
return - JavaScript
function counter() { for (var count = 1; ; count++) { // infinite loop console.log(count + 'a'); // until 5 if (count === 5) { return; } console.log(count + 'b'); // until 4 } console.log(count + 'c'); // never appears } counter(); // output: // 1a // 1b // 2a // 2b // 3a // 3b // 4a // 4b // 5a returning a function see also the article about closures.
try...catch - JavaScript
you can use this identifier to get information about the exception that was thrown.
JavaScript typed arrays - JavaScript
we can confirm that it is indeed 16 bytes long, and that's about it: if (buffer.bytelength === 16) { console.log("yes, it's 16 bytes."); } else { console.log("oh no, it's the wrong size!"); } before we can really work with this buffer, we need to create a view.
dir - Web app manifests
WebManifestdir
the dir member can be set to one of the following values: auto — text direction is determined by the user agent ltr — left to right rtl — right to left the directionality-capable members are: name short_name description note: if the value is omitted or set to auto, the browser will use the unicode bidirectional algorithm to make a best guess about the text's direction.
<mmultiscripts> - MathML
to learn more about the mathematical background of tensors refer to the entry on wikipedia.
MathML element reference - MathML
if you want to learn more about content markup you should consider chapter 4 in the mathml 3 specification.
MathML documentation index - MathML
WebMathMLIndex
to learn more about the mathematical background of tensors refer to the entry on wikipedia.
Image file type and format guide - Web media technologies
an ico file can contain multiple icons, and begins with a directory listing details about each.
Web media technologies
this lets you make real-time decisions about what formats to use and when.
OpenSearch description format
use about:config to set the pref 'browser.search.log' to true.
Critical rendering path - Web Performance
nodes contain all relevant information about the html element.
Performance fundamentals - Web Performance
if your page contains javascript code that is taking a long time to run, the javascript profiler will pinpoint the slowest lines of code: the built-in gecko profiler is a very useful tool that provides even more detailed information about which parts of the browser code are running slowly while the profiler runs.
Populating the page: how browsers work - Web Performance
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>my simple page</title> <link rel="stylesheet" src="styles.css"/> <script src="myscript.js"></script> </head> <body> <h1 class="heading">my page</h1> <p>a paragraph with a <a href="https://example.com/about">link</a></p> <div> <img src="myimage.jpg" alt="image description"/> </div> <script src="anotherscript.js"></script> </body> </html> this response for this initial request contains the first byte of data received.
Recommended Web Performance Timings: How long is too long? - Web Performance
realize a document takes about 6ms to render a frame, leaving about 10ms for the rest.
Navigation and resource timings - Web Performance
the performancenavigationtiming interface also provides information about what type of navigation you are measuring, returning navigate, reload, back_forward or prerender.
Progressive web app structure - Progressive web apps (PWAs)
the folder structure looks like this: the html from the html point of view, the app shell is everything outside the content section: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>js13kgames a-frame entries</title> <meta name="description" content="a list of a-frame entries submitted to the js13kgames 2017 competition, used as an example for the mdn articles about progressive web apps."> <meta name="author" content="end3r"> <meta name="theme-color" content="#b12a34"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta property="og:image" content="icons/icon-512.png"> <link rel="shortcut icon" href="favicon.ico"> <link rel="stylesheet" href="style.css"> <link rel="manifest" href="js13kpwa.webmanifest"> <script src="data/games.
Installing and uninstalling web apps - Progressive web apps (PWAs)
note: you can find out a lot more about chrome install banners from the article web app install banners.
Making PWAs work offline with Service workers - Progressive web apps (PWAs)
be sure to check out our further documentation if you want to learn more about the concepts behind the service worker api and how to use it in more detail.
Media - Progressive web apps (PWAs)
more details for more information about user interfaces in css, see user interface in the css specification.
Web technology reference
some introduce content into the page directly, others provide information about document text and may include other tags as sub-elements.
Applying SVG effects to HTML content - SVG: Scalable Vector Graphics
everything else specifies details about the gradient mask itself.
color-rendering - SVG: Scalable Vector Graphics
the color-rendering attribute provides a hint to the svg user agent about how to optimize its color interpolation and compositing operations.
image-rendering - SVG: Scalable Vector Graphics
the image-rendering attribute provides a hint to the browser about how to make speed vs.
patternTransform - SVG: Scalable Vector Graphics
value <transform-list> default value identity transform animatable yes transform functions to know more about the definition of transform functions, see the transform attribute definition.
shape-rendering - SVG: Scalable Vector Graphics
the shape-rendering attribute provides hints to the renderer about what tradeoffs to make when rendering shapes like paths, circles, or rectangles.
text-rendering - SVG: Scalable Vector Graphics
the text-rendering attribute provides hints to the renderer about what tradeoffs to make when rendering text.
SVG Attribute reference - SVG: Scalable Vector Graphics
WebSVGAttribute
svg elements can be modified using attributes that specify details about exactly how the element should be handled or rendered.
<mpath> - SVG: Scalable Vector Graphics
WebSVGElementmpath
--> <path id="path1" d="m100,250 c 100,50 400,50 400,250" fill="none" stroke="blue" stroke-width="7.06" /> <circle cx="100" cy="250" r="17.64" fill="blue" /> <circle cx="250" cy="100" r="17.64" fill="blue" /> <circle cx="400" cy="250" r="17.64" fill="blue" /> <!-- here is a triangle which will be moved about the motion path.
Basic shapes - SVG: Scalable Vector Graphics
<path d="m20,230 q40,205 50,230 t90,230" fill="none" stroke="blue" stroke-width="5"/> d a list of points and other information about how to draw the path.
Basic Transformations - SVG: Scalable Vector Graphics
detailed information about this property can be found in the svg recommendation.
Gradients in SVG - SVG: Scalable Vector Graphics
more on that when we talk about images.
Introduction - SVG: Scalable Vector Graphics
svg came about in 1999 after several competing formats had been submitted to the w3c and failed to be fully ratified.
Texts - SVG: Scalable Vector Graphics
WebSVGTutorialTexts
« previousnext » when talking about text in svg we have to differentiate two almost completely separate topics.
mimeTypes.rdf corruption - SVG: Scalable Vector Graphics
if svg works with the new profile, then simply delete the new profile and go about cleaning your old profile using the steps in the section below.
Certificate Transparency - Web security
certificate transparency initially came about in 2013 against a backdrop of ca compromises (diginotar breach in 2011), questionable decisions (trustwave subordinate root incident in 2012) and technical issuance issues (weak, 512 bit certificate issuance by digicert sdn bhd of malaysia).
Insecure passwords - Web security
for example, a news site may save which news articles a user wants to go back to and read, but not save any other data about a user.
How to fix a website with blocked mixed content - Web security
if nothing is said about mixed content, your website is in good shape: keep making excellent websites!
Weak signature algorithms - Web security
this article provides some information about signature algorithms known to be weak, so you can avoid them when appropriate.
Tutorials
html5 doctor articles about using html5 right now.
Using custom elements - Web Components
you'll learn more about these in the using the lifecycle callbacks section below.
XML introduction - XML: Extensible Markup Language
for more details about xml, you should look around on the web for more in-depth articles.
Index - XSLT: Extensible Stylesheet Language Transformations
WebXSLTIndex
the structure of an xml document is designed to reflect and clarify important relationships among the individual aspects of the content itself, unhindered by a need to provide any indication about how this data should eventually be presented.
PI Parameters - XSLT: Extensible Stylesheet Language Transformations
what about querying url parameters in the xslt stylesheet?
An Overview - XSLT: Extensible Stylesheet Language Transformations
to learn more about xslt and xpath, see the for further reading section at the end of this article.
Compiling a New C/C++ Module to WebAssembly - WebAssembly
it is enabled by default in firefox 52+ and chrome 57+/latest opera (you can also run wasm code in firefox 47+ by enabling the javascript.options.wasm flag in about:config, or chrome (51+) and opera (38+) by going to chrome://flags and enabling the experimental webassembly flag.) note: if you try to open generated html file (hello.html) directly from your local hard drive (e.g.
Exported WebAssembly functions - WebAssembly
they are real functions in the previous example, the return value of each table.prototype.get() call is an exported webassembly function — exactly what we have been talking about.
Index - WebAssembly
this article explains a little bit about how it works, and how to use available tools to covert text format files to the .wasm assembly format.
Loading and running WebAssembly code - WebAssembly
the object looks like this: { module : module // the newly compiled webassembly.module object, instance : instance // a new webassembly.instance of the module object } note: usually we only care about the instance, but it’s useful to have the module in case we want to cache it, share it with another worker or window via postmessage(), or simply create more instances.
Converting WebAssembly text format to wasm - WebAssembly
this article explains a little bit about how it works, and how to use available tools to convert text format files to the .wasm assembly format.
Using the WebAssembly JavaScript API - WebAssembly
if you have already compiled a module from another language using tools like emscripten, or loaded and run the code yourself, the next step is to learn more about using the other features of the webassembly javascript api.